@webiny/app-admin 5.36.2 → 5.37.0-beta.1

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 (196) hide show
  1. package/base/Admin.js +3 -2
  2. package/base/Admin.js.map +1 -1
  3. package/base/Base.js +9 -6
  4. package/base/Base.js.map +1 -1
  5. package/base/plugins/AddGraphQLQuerySelection.js.map +1 -1
  6. package/base/providers/ApolloProvider.js.map +1 -1
  7. package/base/providers/TelemetryProvider.js +1 -3
  8. package/base/providers/TelemetryProvider.js.map +1 -1
  9. package/base/providers/UiStateProvider.js.map +1 -1
  10. package/base/providers/ViewCompositionProvider.js.map +1 -1
  11. package/base/ui/Brand.js.map +1 -1
  12. package/base/ui/CenteredView.js.map +1 -1
  13. package/base/ui/Dashboard.js.map +1 -1
  14. package/base/ui/FileManager.d.ts +1 -0
  15. package/base/ui/FileManager.js +10 -1
  16. package/base/ui/FileManager.js.map +1 -1
  17. package/base/ui/Layout.js.map +1 -1
  18. package/base/ui/LocaleSelector.js.map +1 -1
  19. package/base/ui/LoginScreen.js.map +1 -1
  20. package/base/ui/Logo.js.map +1 -1
  21. package/base/ui/Menu.js.map +1 -1
  22. package/base/ui/Navigation.js.map +1 -1
  23. package/base/ui/NotFound.js.map +1 -1
  24. package/base/ui/Search.js.map +1 -1
  25. package/base/ui/Tags.js.map +1 -1
  26. package/base/ui/UserMenu.js.map +1 -1
  27. package/components/AdminLayout.js.map +1 -1
  28. package/components/AppInstaller/AppInstaller.js.map +1 -1
  29. package/components/AppInstaller/Sidebar.js.map +1 -1
  30. package/components/AppInstaller/index.js.map +1 -1
  31. package/components/AppInstaller/styled.js.map +1 -1
  32. package/components/AppInstaller/useInstaller.js.map +1 -1
  33. package/components/Buttons/Buttons.d.ts +20 -0
  34. package/components/Buttons/Buttons.js +59 -0
  35. package/components/Buttons/Buttons.js.map +1 -0
  36. package/components/Buttons/Buttons.styles.d.ts +7 -0
  37. package/components/Buttons/Buttons.styles.js +13 -0
  38. package/components/Buttons/Buttons.styles.js.map +1 -0
  39. package/components/Buttons/index.d.ts +2 -0
  40. package/components/Buttons/index.js +19 -0
  41. package/components/Buttons/index.js.map +1 -0
  42. package/components/Buttons/useButtons.d.ts +14 -0
  43. package/components/Buttons/useButtons.js +30 -0
  44. package/components/Buttons/useButtons.js.map +1 -0
  45. package/components/EmptyView.js.map +1 -1
  46. package/components/Filters/Filters.d.ts +15 -0
  47. package/components/Filters/Filters.js +28 -0
  48. package/components/Filters/Filters.js.map +1 -0
  49. package/components/Filters/Filters.styles.d.ts +15 -0
  50. package/components/Filters/Filters.styles.js +23 -0
  51. package/components/Filters/Filters.styles.js.map +1 -0
  52. package/components/Filters/index.d.ts +1 -0
  53. package/components/Filters/index.js +16 -0
  54. package/components/Filters/index.js.map +1 -0
  55. package/components/FloatingActionButton.js.map +1 -1
  56. package/components/LexicalEditor/LexicalEditor.d.ts +8 -0
  57. package/components/LexicalEditor/LexicalEditor.js +28 -0
  58. package/components/LexicalEditor/LexicalEditor.js.map +1 -0
  59. package/components/LexicalEditor/index.d.ts +1 -0
  60. package/components/LexicalEditor/index.js +12 -0
  61. package/components/LexicalEditor/index.js.map +1 -0
  62. package/components/MultiImageUpload.js +4 -0
  63. package/components/MultiImageUpload.js.map +1 -1
  64. package/components/OptionsMenu/OptionsMenu.d.ts +9 -0
  65. package/components/OptionsMenu/OptionsMenu.js +28 -0
  66. package/components/OptionsMenu/OptionsMenu.js.map +1 -0
  67. package/components/OptionsMenu/OptionsMenu.styles.d.ts +31 -0
  68. package/components/OptionsMenu/OptionsMenu.styles.js +14 -0
  69. package/components/OptionsMenu/OptionsMenu.styles.js.map +1 -0
  70. package/components/OptionsMenu/OptionsMenuItem.d.ts +10 -0
  71. package/components/OptionsMenu/OptionsMenuItem.js +22 -0
  72. package/components/OptionsMenu/OptionsMenuItem.js.map +1 -0
  73. package/components/OptionsMenu/index.d.ts +3 -0
  74. package/components/OptionsMenu/index.js +39 -0
  75. package/components/OptionsMenu/index.js.map +1 -0
  76. package/components/OptionsMenu/useOptionsMenuItem.d.ts +11 -0
  77. package/components/OptionsMenu/useOptionsMenuItem.js +27 -0
  78. package/components/OptionsMenu/useOptionsMenuItem.js.map +1 -0
  79. package/components/OverlayLayout/OverlayLayout.js.map +1 -1
  80. package/components/OverlayLayout/index.js.map +1 -1
  81. package/components/Permissions/CannotUseAaclAlert.d.ts +2 -0
  82. package/components/Permissions/CannotUseAaclAlert.js +20 -0
  83. package/components/Permissions/CannotUseAaclAlert.js.map +1 -0
  84. package/components/Permissions/Permissions.js.map +1 -1
  85. package/components/Permissions/StyledComponents.js.map +1 -1
  86. package/components/Permissions/index.d.ts +1 -0
  87. package/components/Permissions/index.js +10 -2
  88. package/components/Permissions/index.js.map +1 -1
  89. package/components/RichTextEditor/RichTextEditor.js.map +1 -1
  90. package/components/RichTextEditor/index.js.map +1 -1
  91. package/components/RichTextEditor/tools/header/index.js +0 -10
  92. package/components/RichTextEditor/tools/header/index.js.map +1 -1
  93. package/components/RichTextEditor/tools/image/index.js +0 -7
  94. package/components/RichTextEditor/tools/image/index.js.map +1 -1
  95. package/components/RichTextEditor/tools/image/svgs.js.map +1 -1
  96. package/components/RichTextEditor/tools/image/tunes.js +0 -5
  97. package/components/RichTextEditor/tools/image/tunes.js.map +1 -1
  98. package/components/RichTextEditor/tools/image/ui.js +0 -6
  99. package/components/RichTextEditor/tools/image/ui.js.map +1 -1
  100. package/components/RichTextEditor/tools/paragraph/index.js +10 -11
  101. package/components/RichTextEditor/tools/paragraph/index.js.map +1 -1
  102. package/components/RichTextEditor/tools/textColor/index.js +0 -10
  103. package/components/RichTextEditor/tools/textColor/index.js.map +1 -1
  104. package/components/RichTextEditor/tools/utils.js +4 -4
  105. package/components/RichTextEditor/tools/utils.js.map +1 -1
  106. package/components/Routes.js.map +1 -1
  107. package/components/SearchUI.js.map +1 -1
  108. package/components/SimpleForm/SimpleForm.js.map +1 -1
  109. package/components/SimpleForm/index.js.map +1 -1
  110. package/components/SimpleUI/InputField.js.map +1 -1
  111. package/components/SingleImageUpload.js.map +1 -1
  112. package/components/SplitView/SplitView.js +4 -4
  113. package/components/SplitView/SplitView.js.map +1 -1
  114. package/components/SplitView/index.js.map +1 -1
  115. package/components/index.js.map +1 -1
  116. package/hooks/useConfirmationDialog.d.ts +5 -3
  117. package/hooks/useConfirmationDialog.js +12 -6
  118. package/hooks/useConfirmationDialog.js.map +1 -1
  119. package/hooks/useDialog.js +2 -0
  120. package/hooks/useDialog.js.map +1 -1
  121. package/hooks/useSnackbar.js.map +1 -1
  122. package/index.d.ts +6 -0
  123. package/index.js +69 -2
  124. package/index.js.map +1 -1
  125. package/package.json +23 -22
  126. package/plugins/MenuPlugin.js +0 -2
  127. package/plugins/MenuPlugin.js.map +1 -1
  128. package/plugins/PermissionRendererPlugin.js +0 -2
  129. package/plugins/PermissionRendererPlugin.js.map +1 -1
  130. package/plugins/globalSearch/SearchBar.js +11 -8
  131. package/plugins/globalSearch/SearchBar.js.map +1 -1
  132. package/plugins/globalSearch/SearchBarDropdown.js.map +1 -1
  133. package/plugins/globalSearch/index.js.map +1 -1
  134. package/plugins/globalSearch/styled.js.map +1 -1
  135. package/plugins/uiLayoutRenderer/index.js.map +1 -1
  136. package/types.d.ts +10 -1
  137. package/types.js.map +1 -1
  138. package/ui/UIElement.js.map +1 -1
  139. package/ui/UILayout.js.map +1 -1
  140. package/ui/UIRenderer.js.map +1 -1
  141. package/ui/UIView.js.map +1 -1
  142. package/ui/elements/AccordionElement.js.map +1 -1
  143. package/ui/elements/ButtonElement.js +2 -2
  144. package/ui/elements/ButtonElement.js.map +1 -1
  145. package/ui/elements/ButtonGroupElement.js.map +1 -1
  146. package/ui/elements/GenericElement.js.map +1 -1
  147. package/ui/elements/LabelElement.js.map +1 -1
  148. package/ui/elements/NavigationMenuElement.js +4 -4
  149. package/ui/elements/NavigationMenuElement.js.map +1 -1
  150. package/ui/elements/PanelElement.js.map +1 -1
  151. package/ui/elements/PlaceholderElement.js.map +1 -1
  152. package/ui/elements/SmallButtonElement.js.map +1 -1
  153. package/ui/elements/TypographyElement.js.map +1 -1
  154. package/ui/elements/ViewElement.js.map +1 -1
  155. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js.map +1 -1
  156. package/ui/elements/form/DynamicFieldsetElement.js.map +1 -1
  157. package/ui/elements/form/FileManagerElement/EmptyStateElement.js.map +1 -1
  158. package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js.map +1 -1
  159. package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js.map +1 -1
  160. package/ui/elements/form/FileManagerElement/styled.js +1 -1
  161. package/ui/elements/form/FileManagerElement/styled.js.map +1 -1
  162. package/ui/elements/form/FileManagerElement.js +0 -3
  163. package/ui/elements/form/FileManagerElement.js.map +1 -1
  164. package/ui/elements/form/FormElement.js.map +1 -1
  165. package/ui/elements/form/FormFieldElement.js.map +1 -1
  166. package/ui/elements/form/HiddenElement.js.map +1 -1
  167. package/ui/elements/form/InputElement.js.map +1 -1
  168. package/ui/elements/form/PasswordElement.js.map +1 -1
  169. package/ui/elements/form/SelectElement.js.map +1 -1
  170. package/ui/elements/form/TextareaElement.js.map +1 -1
  171. package/ui/views/AdminView/ContentElement.js.map +1 -1
  172. package/ui/views/AdminView/HeaderElement.js +3 -3
  173. package/ui/views/AdminView/HeaderElement.js.map +1 -1
  174. package/ui/views/AdminView/HeaderSectionCenterElement.js.map +1 -1
  175. package/ui/views/AdminView/HeaderSectionLeftElement.js.map +1 -1
  176. package/ui/views/AdminView/HeaderSectionRightElement.js.map +1 -1
  177. package/ui/views/AdminView/components/Dialog.js +9 -9
  178. package/ui/views/AdminView/components/Dialog.js.map +1 -1
  179. package/ui/views/AdminView/components/Hamburger.js.map +1 -1
  180. package/ui/views/AdminView/components/Snackbar.js +3 -3
  181. package/ui/views/AdminView/components/Snackbar.js.map +1 -1
  182. package/ui/views/FormView/FormContainerElement.js.map +1 -1
  183. package/ui/views/FormView/FormContentElement.js.map +1 -1
  184. package/ui/views/FormView/FormFooterElement.js.map +1 -1
  185. package/ui/views/FormView/FormHeaderElement.js.map +1 -1
  186. package/ui/views/FormView.js.map +1 -1
  187. package/ui/views/OverlayView/ContentElement.js.map +1 -1
  188. package/ui/views/OverlayView/HeaderElement.js +0 -1
  189. package/ui/views/OverlayView/HeaderElement.js.map +1 -1
  190. package/ui/views/OverlayView/HeaderTitleElement.js.map +1 -1
  191. package/ui/views/OverlayView/useOverlayView.js.map +1 -1
  192. package/ui/views/OverlayView.js +4 -6
  193. package/ui/views/OverlayView.js.map +1 -1
  194. package/ui/views/SplitView/SplitViewPanelElement.js.map +1 -1
  195. package/ui/views/SplitView.js +0 -2
  196. package/ui/views/SplitView.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["FormView","id","config","setupForm","addElements","useGrid","applyPlugins","element","getFormContainer","addElement","title","getTitle","onSubmit","getter","getFormData","getElement","getFormFooterElement","formContainer","FormContainerElement","testId","className","noElevation","form","FormElement","data","getData","GenericElement","isLoading","FormHeaderElement","props","FormContentElement","footer","FormFooterElement","submitButton","ButtonElement","type","label","onClick","formProps","submit","moveToTheEndOf","cancelButton","onCancel","shouldRender","moveToTheBeginningOf","UIView"],"sources":["FormView.tsx"],"sourcesContent":["import React from \"react\";\nimport { FormOnSubmit } from \"@webiny/form\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { UIElement, UIElementConfig } from \"~/ui/UIElement\";\nimport { FormElement, FormElementRenderProps } from \"~/ui/elements/form/FormElement\";\nimport { ButtonElement } from \"~/ui/elements/ButtonElement\";\nimport { GenericElement } from \"~/ui/elements/GenericElement\";\nimport { FormContentElement } from \"./FormView/FormContentElement\";\nimport { FormHeaderElement } from \"./FormView/FormHeaderElement\";\nimport { FormFooterElement } from \"./FormView/FormFooterElement\";\nimport { FormContainerElement } from \"./FormView/FormContainerElement\";\nimport { UIView } from \"~/ui/UIView\";\n\nexport interface FormViewConfig extends UIElementConfig {\n setupForm?: boolean;\n onSubmit?: FormOnSubmit;\n getTitle?: (props: FormElementRenderProps) => string;\n getFormData?: () => Record<string, any>;\n isLoading?: () => boolean;\n onCancel?: () => void;\n testId?: string;\n noElevation?: boolean;\n className?: string;\n}\n\ninterface GetterWithProps<T> {\n (props: FormElementRenderProps): T;\n}\n\ninterface GetterWithoutProps<T> {\n (): T;\n}\n\nexport class FormView extends UIView<FormViewConfig> {\n public constructor(id: string, config?: FormViewConfig) {\n if (!config) {\n config = {};\n }\n if (!(\"setupForm\" in config)) {\n config.setupForm = true;\n }\n\n super(id, config);\n\n this.addElements();\n this.useGrid(false);\n\n this.applyPlugins(FormView);\n }\n\n public override addElement<TElement extends UIElement = UIElement>(\n element: TElement\n ): TElement {\n if (element.id === \"form\" || element.id === \"formContainer\") {\n return super.addElement(element);\n }\n\n return this.getFormContainer().addElement(element);\n }\n\n public setTitle(title: string | GetterWithProps<string>): void {\n if (typeof title === \"string\") {\n this.config.getTitle = () => title;\n return;\n }\n this.config.getTitle = title;\n }\n\n public setOnSubmit(onSubmit: FormOnSubmit): void {\n this.config.onSubmit = onSubmit;\n }\n\n public setFormData(getter: GetterWithoutProps<Record<string, any>>): void {\n this.config.getFormData = getter;\n }\n\n public getFormContainer(): FormContainerElement {\n return this.getElement(\"formContainer\") as FormContainerElement;\n }\n\n public getFormContentElement(): FormContentElement {\n return this.getElement(\"formContent\") as FormContentElement;\n }\n\n public getFormHeaderElement(): FormHeaderElement {\n return this.getElement(\"formHeader\") as FormHeaderElement;\n }\n\n public getFormFooterElement(): FormFooterElement {\n return this.getElement(\"formFooter\") as FormFooterElement;\n }\n\n public getSubmitButtonElement(): ButtonElement {\n return this.getFormFooterElement().getElement(\"submit\") as ButtonElement;\n }\n\n private addElements(): void {\n const formContainer = new FormContainerElement(\"formContainer\", {\n testId: this.config.testId,\n className: this.config.className,\n noElevation: this.config.noElevation\n });\n\n if (this.config.setupForm) {\n const form = this.addElement(\n new FormElement(\"form\", {\n onSubmit: (data, form) => {\n if (!this.config.onSubmit) {\n return;\n }\n return this.config.onSubmit(data, form);\n },\n getData: () => {\n if (!this.config.getFormData) {\n return {};\n }\n return this.config.getFormData();\n }\n })\n ) as FormElement;\n\n form.addElement(formContainer);\n } else {\n this.addElement(formContainer);\n }\n\n this.addElement(\n new GenericElement(\"loading\", () => {\n if (typeof this.config.isLoading !== \"function\") {\n return null;\n }\n\n return this.config.isLoading() ? <CircularProgress /> : null;\n })\n );\n\n this.addElement(\n new FormHeaderElement(\"formHeader\", {\n getTitle: props => {\n if (!this.config.getTitle) {\n return \"\";\n }\n return this.config.getTitle(props);\n }\n })\n );\n\n this.addElement(new FormContentElement(\"formContent\"));\n\n const footer = new FormFooterElement(\"formFooter\");\n this.addElement(footer);\n\n const submitButton = new ButtonElement<FormElementRenderProps>(\"submit\", {\n type: \"primary\",\n label: \"Save\",\n onClick: props => props.formProps.submit()\n });\n\n submitButton.moveToTheEndOf(footer);\n\n const cancelButton = footer.addElement(\n new ButtonElement(\"cancel\", {\n type: \"default\",\n label: \"Cancel\",\n onClick: () => {\n if (!this.config.onCancel) {\n return;\n }\n this.config.onCancel();\n },\n shouldRender: () => typeof this.config.onCancel === \"function\"\n })\n );\n\n cancelButton.moveToTheBeginningOf(footer);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_Progress","_FormElement","_ButtonElement","_GenericElement","_FormContentElement","_FormHeaderElement","_FormFooterElement","_FormContainerElement","_UIView2","FormView","_UIView","_inherits2","default","_super","_createSuper2","id","config","_this","_classCallCheck2","setupForm","call","addElements","useGrid","applyPlugins","_createClass2","key","value","addElement","element","_get2","_getPrototypeOf2","prototype","getFormContainer","setTitle","title","getTitle","setOnSubmit","onSubmit","setFormData","getter","getFormData","getElement","getFormContentElement","getFormHeaderElement","getFormFooterElement","getSubmitButtonElement","_this2","formContainer","FormContainerElement","testId","className","noElevation","form","FormElement","data","getData","GenericElement","isLoading","createElement","CircularProgress","FormHeaderElement","props","FormContentElement","footer","FormFooterElement","submitButton","ButtonElement","type","label","onClick","formProps","submit","moveToTheEndOf","cancelButton","onCancel","shouldRender","moveToTheBeginningOf","UIView","exports"],"sources":["FormView.tsx"],"sourcesContent":["import React from \"react\";\nimport { FormOnSubmit } from \"@webiny/form\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { UIElement, UIElementConfig } from \"~/ui/UIElement\";\nimport { FormElement, FormElementRenderProps } from \"~/ui/elements/form/FormElement\";\nimport { ButtonElement } from \"~/ui/elements/ButtonElement\";\nimport { GenericElement } from \"~/ui/elements/GenericElement\";\nimport { FormContentElement } from \"./FormView/FormContentElement\";\nimport { FormHeaderElement } from \"./FormView/FormHeaderElement\";\nimport { FormFooterElement } from \"./FormView/FormFooterElement\";\nimport { FormContainerElement } from \"./FormView/FormContainerElement\";\nimport { UIView } from \"~/ui/UIView\";\n\nexport interface FormViewConfig extends UIElementConfig {\n setupForm?: boolean;\n onSubmit?: FormOnSubmit;\n getTitle?: (props: FormElementRenderProps) => string;\n getFormData?: () => Record<string, any>;\n isLoading?: () => boolean;\n onCancel?: () => void;\n testId?: string;\n noElevation?: boolean;\n className?: string;\n}\n\ninterface GetterWithProps<T> {\n (props: FormElementRenderProps): T;\n}\n\ninterface GetterWithoutProps<T> {\n (): T;\n}\n\nexport class FormView extends UIView<FormViewConfig> {\n public constructor(id: string, config?: FormViewConfig) {\n if (!config) {\n config = {};\n }\n if (!(\"setupForm\" in config)) {\n config.setupForm = true;\n }\n\n super(id, config);\n\n this.addElements();\n this.useGrid(false);\n\n this.applyPlugins(FormView);\n }\n\n public override addElement<TElement extends UIElement = UIElement>(\n element: TElement\n ): TElement {\n if (element.id === \"form\" || element.id === \"formContainer\") {\n return super.addElement(element);\n }\n\n return this.getFormContainer().addElement(element);\n }\n\n public setTitle(title: string | GetterWithProps<string>): void {\n if (typeof title === \"string\") {\n this.config.getTitle = () => title;\n return;\n }\n this.config.getTitle = title;\n }\n\n public setOnSubmit(onSubmit: FormOnSubmit): void {\n this.config.onSubmit = onSubmit;\n }\n\n public setFormData(getter: GetterWithoutProps<Record<string, any>>): void {\n this.config.getFormData = getter;\n }\n\n public getFormContainer(): FormContainerElement {\n return this.getElement(\"formContainer\") as FormContainerElement;\n }\n\n public getFormContentElement(): FormContentElement {\n return this.getElement(\"formContent\") as FormContentElement;\n }\n\n public getFormHeaderElement(): FormHeaderElement {\n return this.getElement(\"formHeader\") as FormHeaderElement;\n }\n\n public getFormFooterElement(): FormFooterElement {\n return this.getElement(\"formFooter\") as FormFooterElement;\n }\n\n public getSubmitButtonElement(): ButtonElement {\n return this.getFormFooterElement().getElement(\"submit\") as ButtonElement;\n }\n\n private addElements(): void {\n const formContainer = new FormContainerElement(\"formContainer\", {\n testId: this.config.testId,\n className: this.config.className,\n noElevation: this.config.noElevation\n });\n\n if (this.config.setupForm) {\n const form = this.addElement(\n new FormElement(\"form\", {\n onSubmit: (data, form) => {\n if (!this.config.onSubmit) {\n return;\n }\n return this.config.onSubmit(data, form);\n },\n getData: () => {\n if (!this.config.getFormData) {\n return {};\n }\n return this.config.getFormData();\n }\n })\n ) as FormElement;\n\n form.addElement(formContainer);\n } else {\n this.addElement(formContainer);\n }\n\n this.addElement(\n new GenericElement(\"loading\", () => {\n if (typeof this.config.isLoading !== \"function\") {\n return null;\n }\n\n return this.config.isLoading() ? <CircularProgress /> : null;\n })\n );\n\n this.addElement(\n new FormHeaderElement(\"formHeader\", {\n getTitle: props => {\n if (!this.config.getTitle) {\n return \"\";\n }\n return this.config.getTitle(props);\n }\n })\n );\n\n this.addElement(new FormContentElement(\"formContent\"));\n\n const footer = new FormFooterElement(\"formFooter\");\n this.addElement(footer);\n\n const submitButton = new ButtonElement<FormElementRenderProps>(\"submit\", {\n type: \"primary\",\n label: \"Save\",\n onClick: props => props.formProps.submit()\n });\n\n submitButton.moveToTheEndOf(footer);\n\n const cancelButton = footer.addElement(\n new ButtonElement(\"cancel\", {\n type: \"default\",\n label: \"Cancel\",\n onClick: () => {\n if (!this.config.onCancel) {\n return;\n }\n this.config.onCancel();\n },\n shouldRender: () => typeof this.config.onCancel === \"function\"\n })\n );\n\n cancelButton.moveToTheBeginningOf(footer);\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["ContentWrapper","styled","width","paddingTop","ContentElement","id","useGrid","props","UIElement"],"sources":["ContentElement.tsx"],"sourcesContent":["import React from \"react\";\nimport styled from \"@emotion/styled\";\nimport { UIElement, UiElementRenderProps } from \"~/ui/UIElement\";\n\nconst ContentWrapper = styled(\"div\")({\n width: \"100%\",\n paddingTop: 65\n});\n\nexport class ContentElement extends UIElement {\n constructor(id: string) {\n super(id);\n this.useGrid(false);\n }\n\n public override render(props: UiElementRenderProps): React.ReactNode {\n return <ContentWrapper>{super.render(props)}</ContentWrapper>;\n }\n}\n"],"mappings":";;;;;;;;;;;;;AAAA;AACA;AACA;AAEA,IAAMA,cAAc,oBAAGC,eAAM,EAAC,KAAK;EAAA;EAAA;AAAA,GAAE;EACjCC,KAAK,EAAE,MAAM;EACbC,UAAU,EAAE;AAChB,CAAC,CAAC;AAAC,IAEUC,cAAc;EAAA;EAAA;EACvB,wBAAYC,EAAU,EAAE;IAAA;IAAA;IACpB,0BAAMA,EAAE;IACR,MAAKC,OAAO,CAAC,KAAK,CAAC;IAAC;EACxB;EAAC;IAAA;IAAA,OAED,gBAAuBC,KAA2B,EAAmB;MACjE,oBAAO,6BAAC,cAAc,+GAAeA,KAAK,EAAmB;IACjE;EAAC;EAAA;AAAA,EAR+BC,qBAAS;AAAA"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_styled","_UIElement2","ContentWrapper","styled","target","label","width","paddingTop","ContentElement","_UIElement","_inherits2","default","_super","_createSuper2","id","_this","_classCallCheck2","call","useGrid","_createClass2","key","value","render","props","createElement","_get2","_getPrototypeOf2","prototype","UIElement","exports"],"sources":["ContentElement.tsx"],"sourcesContent":["import React from \"react\";\nimport styled from \"@emotion/styled\";\nimport { UIElement, UiElementRenderProps } from \"~/ui/UIElement\";\n\nconst ContentWrapper = styled(\"div\")({\n width: \"100%\",\n paddingTop: 65\n});\n\nexport class ContentElement extends UIElement {\n constructor(id: string) {\n super(id);\n this.useGrid(false);\n }\n\n public override render(props: UiElementRenderProps): React.ReactNode {\n return <ContentWrapper>{super.render(props)}</ContentWrapper>;\n }\n}\n"],"mappings":";;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAEA,IAAMG,cAAc,oBAAGC,eAAM,EAAC,KAAK;EAAAC,MAAA;EAAAC,KAAA;AAAA,GAAE;EACjCC,KAAK,EAAE,MAAM;EACbC,UAAU,EAAE;AAChB,CAAC,CAAC;AAAC,IAEUC,cAAc,0BAAAC,UAAA;EAAA,IAAAC,UAAA,CAAAC,OAAA,EAAAH,cAAA,EAAAC,UAAA;EAAA,IAAAG,MAAA,OAAAC,aAAA,CAAAF,OAAA,EAAAH,cAAA;EACvB,SAAAA,eAAYM,EAAU,EAAE;IAAA,IAAAC,KAAA;IAAA,IAAAC,gBAAA,CAAAL,OAAA,QAAAH,cAAA;IACpBO,KAAA,GAAAH,MAAA,CAAAK,IAAA,OAAMH,EAAE;IACRC,KAAA,CAAKG,OAAO,CAAC,KAAK,CAAC;IAAC,OAAAH,KAAA;EACxB;EAAC,IAAAI,aAAA,CAAAR,OAAA,EAAAH,cAAA;IAAAY,GAAA;IAAAC,KAAA,EAED,SAAAC,OAAuBC,KAA2B,EAAmB;MACjE,oBAAO1B,MAAA,CAAAc,OAAA,CAAAa,aAAA,CAACtB,cAAc,YAAAuB,KAAA,CAAAd,OAAA,MAAAe,gBAAA,CAAAf,OAAA,EAAAH,cAAA,CAAAmB,SAAA,mBAAAV,IAAA,OAAeM,KAAK,CAAkB,CAAC;IACjE;EAAC;EAAA,OAAAf,cAAA;AAAA,EAR+BoB,qBAAS;AAAAC,OAAA,CAAArB,cAAA,GAAAA,cAAA"}
@@ -33,7 +33,6 @@ var HeaderElement = /*#__PURE__*/function (_UIElement) {
33
33
  (0, _classCallCheck2.default)(this, HeaderElement);
34
34
  _this = _super.call(this, id, config);
35
35
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "_leftSection", new _PlaceholderElement.PlaceholderElement("leftSection"));
36
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "_centerSection", void 0);
37
36
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "_rightSection", new _PlaceholderElement.PlaceholderElement("rightSection"));
38
37
  _this._centerSection = new _HeaderTitleElement.HeaderTitleElement("title", {
39
38
  title: function title() {
@@ -1 +1 @@
1
- {"version":3,"names":["width","css","HeaderElement","id","config","PlaceholderElement","_centerSection","HeaderTitleElement","title","getTitle","useGrid","element","_leftSection","_rightSection","props","top","getLeftSectionElement","render","getCenterSectionElement","getRightSectionElement","onClose","height","UIElement"],"sources":["HeaderElement.tsx"],"sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport { UIElement, UIElementConfig, UiElementRenderProps } from \"~/ui/UIElement\";\nimport { TopAppBarSecondary, TopAppBarSection } from \"@webiny/ui/TopAppBar\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { ReactComponent as CloseIcon } from \"@material-design-icons/svg/outlined/close.svg\";\nimport { PlaceholderElement } from \"~/ui/elements/PlaceholderElement\";\nimport { HeaderTitleElement } from \"./HeaderTitleElement\";\n\ninterface HeaderElementConfig extends UIElementConfig {\n onClose: (event: React.MouseEvent) => void;\n getTitle?: GetterWithoutProps<string>;\n}\n\nconst width = css({\n width: \"33%\"\n});\n\n// !GOOD FIRST ISSUE!\n// Extract rendering and styling into a HeaderElementRenderer class.\n\ninterface GetterWithoutProps<T> {\n (): T;\n}\n\nexport class HeaderElement extends UIElement<HeaderElementConfig> {\n private _leftSection: UIElement = new PlaceholderElement(\"leftSection\");\n private _centerSection: UIElement;\n private _rightSection: UIElement = new PlaceholderElement(\"rightSection\");\n\n public constructor(id: string, config: HeaderElementConfig) {\n super(id, config);\n\n this._centerSection = new HeaderTitleElement(\"title\", {\n title: () => {\n return typeof this.config.getTitle === \"function\" ? this.config.getTitle() : null;\n }\n });\n\n this.useGrid(false);\n }\n\n public setTitle(title: GetterWithoutProps<string>): void {\n this.config.getTitle = title;\n }\n\n public setLeftSectionElement(element: UIElement): void {\n this._leftSection = element;\n }\n\n public setCenterSectionElement(element: UIElement): void {\n this._centerSection = element;\n }\n\n public setRightSectionElement(element: UIElement): void {\n this._rightSection = element;\n }\n\n public getLeftSectionElement(): UIElement {\n return this._leftSection;\n }\n\n public getCenterSectionElement(): UIElement {\n return this._centerSection;\n }\n\n public getRightSectionElement(): UIElement {\n return this._rightSection;\n }\n\n public override render(props: UiElementRenderProps): React.ReactNode {\n return (\n <TopAppBarSecondary fixed style={{ top: 0 }}>\n <TopAppBarSection className={width} alignStart>\n {this.getLeftSectionElement().render(props)}\n </TopAppBarSection>\n <TopAppBarSection className={width} alignEnd>\n {this.getCenterSectionElement().render(props)}\n </TopAppBarSection>\n <TopAppBarSection className={width} alignEnd>\n {this.getRightSectionElement().render(props)}\n <IconButton\n ripple={false}\n onClick={this.config.onClose}\n icon={<CloseIcon style={{ width: 24, height: 24 }} />}\n />\n </TopAppBarSection>\n </TopAppBarSecondary>\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAOA,IAAMA,KAAK,gBAAG,IAAAC,YAAG,EAAC;EACdD,KAAK,EAAE;AACX,CAAC,iBAAC;;AAEF;AACA;AAAA,IAMaE,aAAa;EAAA;EAAA;EAKtB,uBAAmBC,EAAU,EAAEC,MAA2B,EAAE;IAAA;IAAA;IACxD,0BAAMD,EAAE,EAAEC,MAAM;IAAE,2FALY,IAAIC,sCAAkB,CAAC,aAAa,CAAC;IAAA;IAAA,4FAEpC,IAAIA,sCAAkB,CAAC,cAAc,CAAC;IAKrE,MAAKC,cAAc,GAAG,IAAIC,sCAAkB,CAAC,OAAO,EAAE;MAClDC,KAAK,EAAE,iBAAM;QACT,OAAO,OAAO,MAAKJ,MAAM,CAACK,QAAQ,KAAK,UAAU,GAAG,MAAKL,MAAM,CAACK,QAAQ,EAAE,GAAG,IAAI;MACrF;IACJ,CAAC,CAAC;IAEF,MAAKC,OAAO,CAAC,KAAK,CAAC;IAAC;EACxB;EAAC;IAAA;IAAA,OAED,kBAAgBF,KAAiC,EAAQ;MACrD,IAAI,CAACJ,MAAM,CAACK,QAAQ,GAAGD,KAAK;IAChC;EAAC;IAAA;IAAA,OAED,+BAA6BG,OAAkB,EAAQ;MACnD,IAAI,CAACC,YAAY,GAAGD,OAAO;IAC/B;EAAC;IAAA;IAAA,OAED,iCAA+BA,OAAkB,EAAQ;MACrD,IAAI,CAACL,cAAc,GAAGK,OAAO;IACjC;EAAC;IAAA;IAAA,OAED,gCAA8BA,OAAkB,EAAQ;MACpD,IAAI,CAACE,aAAa,GAAGF,OAAO;IAChC;EAAC;IAAA;IAAA,OAED,iCAA0C;MACtC,OAAO,IAAI,CAACC,YAAY;IAC5B;EAAC;IAAA;IAAA,OAED,mCAA4C;MACxC,OAAO,IAAI,CAACN,cAAc;IAC9B;EAAC;IAAA;IAAA,OAED,kCAA2C;MACvC,OAAO,IAAI,CAACO,aAAa;IAC7B;EAAC;IAAA;IAAA,OAED,gBAAuBC,KAA2B,EAAmB;MACjE,oBACI,6BAAC,6BAAkB;QAAC,KAAK;QAAC,KAAK,EAAE;UAAEC,GAAG,EAAE;QAAE;MAAE,gBACxC,6BAAC,2BAAgB;QAAC,SAAS,EAAEf,KAAM;QAAC,UAAU;MAAA,GACzC,IAAI,CAACgB,qBAAqB,EAAE,CAACC,MAAM,CAACH,KAAK,CAAC,CAC5B,eACnB,6BAAC,2BAAgB;QAAC,SAAS,EAAEd,KAAM;QAAC,QAAQ;MAAA,GACvC,IAAI,CAACkB,uBAAuB,EAAE,CAACD,MAAM,CAACH,KAAK,CAAC,CAC9B,eACnB,6BAAC,2BAAgB;QAAC,SAAS,EAAEd,KAAM;QAAC,QAAQ;MAAA,GACvC,IAAI,CAACmB,sBAAsB,EAAE,CAACF,MAAM,CAACH,KAAK,CAAC,eAC5C,6BAAC,kBAAU;QACP,MAAM,EAAE,KAAM;QACd,OAAO,EAAE,IAAI,CAACV,MAAM,CAACgB,OAAQ;QAC7B,IAAI,eAAE,6BAAC,qBAAS;UAAC,KAAK,EAAE;YAAEpB,KAAK,EAAE,EAAE;YAAEqB,MAAM,EAAE;UAAG;QAAE;MAAI,EACxD,CACa,CACF;IAE7B;EAAC;EAAA;AAAA,EAhE8BC,qBAAS;AAAA"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_emotion","_UIElement2","_TopAppBar","_Button","_close","_PlaceholderElement","_HeaderTitleElement","width","css","HeaderElement","_UIElement","_inherits2","default","_super","_createSuper2","id","config","_this","_classCallCheck2","call","_defineProperty2","_assertThisInitialized2","PlaceholderElement","_centerSection","HeaderTitleElement","title","getTitle","useGrid","_createClass2","key","value","setTitle","setLeftSectionElement","element","_leftSection","setCenterSectionElement","setRightSectionElement","_rightSection","getLeftSectionElement","getCenterSectionElement","getRightSectionElement","render","props","createElement","TopAppBarSecondary","fixed","style","top","TopAppBarSection","className","alignStart","alignEnd","IconButton","ripple","onClick","onClose","icon","ReactComponent","height","UIElement","exports"],"sources":["HeaderElement.tsx"],"sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport { UIElement, UIElementConfig, UiElementRenderProps } from \"~/ui/UIElement\";\nimport { TopAppBarSecondary, TopAppBarSection } from \"@webiny/ui/TopAppBar\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { ReactComponent as CloseIcon } from \"@material-design-icons/svg/outlined/close.svg\";\nimport { PlaceholderElement } from \"~/ui/elements/PlaceholderElement\";\nimport { HeaderTitleElement } from \"./HeaderTitleElement\";\n\ninterface HeaderElementConfig extends UIElementConfig {\n onClose: (event: React.MouseEvent) => void;\n getTitle?: GetterWithoutProps<string>;\n}\n\nconst width = css({\n width: \"33%\"\n});\n\n// !GOOD FIRST ISSUE!\n// Extract rendering and styling into a HeaderElementRenderer class.\n\ninterface GetterWithoutProps<T> {\n (): T;\n}\n\nexport class HeaderElement extends UIElement<HeaderElementConfig> {\n private _leftSection: UIElement = new PlaceholderElement(\"leftSection\");\n private _centerSection: UIElement;\n private _rightSection: UIElement = new PlaceholderElement(\"rightSection\");\n\n public constructor(id: string, config: HeaderElementConfig) {\n super(id, config);\n\n this._centerSection = new HeaderTitleElement(\"title\", {\n title: () => {\n return typeof this.config.getTitle === \"function\" ? this.config.getTitle() : null;\n }\n });\n\n this.useGrid(false);\n }\n\n public setTitle(title: GetterWithoutProps<string>): void {\n this.config.getTitle = title;\n }\n\n public setLeftSectionElement(element: UIElement): void {\n this._leftSection = element;\n }\n\n public setCenterSectionElement(element: UIElement): void {\n this._centerSection = element;\n }\n\n public setRightSectionElement(element: UIElement): void {\n this._rightSection = element;\n }\n\n public getLeftSectionElement(): UIElement {\n return this._leftSection;\n }\n\n public getCenterSectionElement(): UIElement {\n return this._centerSection;\n }\n\n public getRightSectionElement(): UIElement {\n return this._rightSection;\n }\n\n public override render(props: UiElementRenderProps): React.ReactNode {\n return (\n <TopAppBarSecondary fixed style={{ top: 0 }}>\n <TopAppBarSection className={width} alignStart>\n {this.getLeftSectionElement().render(props)}\n </TopAppBarSection>\n <TopAppBarSection className={width} alignEnd>\n {this.getCenterSectionElement().render(props)}\n </TopAppBarSection>\n <TopAppBarSection className={width} alignEnd>\n {this.getRightSectionElement().render(props)}\n <IconButton\n ripple={false}\n onClick={this.config.onClose}\n icon={<CloseIcon style={{ width: 24, height: 24 }} />}\n />\n </TopAppBarSection>\n </TopAppBarSecondary>\n );\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["HeaderTitleElementRenderer","element","margin","color","config","title","UIRenderer","HeaderTitleElement","id","addRenderer","UIElement"],"sources":["HeaderTitleElement.tsx"],"sourcesContent":["import React from \"react\";\nimport { UIElement, UIElementConfig } from \"~/ui/UIElement\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { UIRenderer, UIRenderParams } from \"~/ui/UIRenderer\";\n\ninterface HeaderTitleElementConfig extends UIElementConfig {\n title: () => string | null;\n}\n\nexport class HeaderTitleElementRenderer extends UIRenderer<HeaderTitleElement> {\n public override render({ element }: UIRenderParams<HeaderTitleElement>): React.ReactNode {\n return (\n <Typography\n style={{ margin: \"0 auto\", color: \"var(--mdc-theme-on-surface)\" }}\n use={\"headline6\"}\n >\n {element.config.title()}\n </Typography>\n );\n }\n}\n\nexport class HeaderTitleElement extends UIElement<HeaderTitleElementConfig> {\n public constructor(id: string, config: HeaderTitleElementConfig) {\n super(id, config);\n\n this.addRenderer(new HeaderTitleElementRenderer());\n }\n}\n"],"mappings":";;;;;;;;;;;AAAA;AACA;AACA;AACA;AAA6D,IAMhDA,0BAA0B;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA,OACnC,sBAAyF;MAAA,IAAhEC,OAAO,QAAPA,OAAO;MAC5B,oBACI,6BAAC,sBAAU;QACP,KAAK,EAAE;UAAEC,MAAM,EAAE,QAAQ;UAAEC,KAAK,EAAE;QAA8B,CAAE;QAClE,GAAG,EAAE;MAAY,GAEhBF,OAAO,CAACG,MAAM,CAACC,KAAK,EAAE,CACd;IAErB;EAAC;EAAA;AAAA,EAV2CC,uBAAU;AAAA;AAAA,IAa7CC,kBAAkB;EAAA;EAAA;EAC3B,4BAAmBC,EAAU,EAAEJ,MAAgC,EAAE;IAAA;IAAA;IAC7D,2BAAMI,EAAE,EAAEJ,MAAM;IAEhB,MAAKK,WAAW,CAAC,IAAIT,0BAA0B,EAAE,CAAC;IAAC;EACvD;EAAC;AAAA,EALmCU,qBAAS;AAAA"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_UIElement2","_Typography","_UIRenderer2","HeaderTitleElementRenderer","_UIRenderer","_inherits2","default","_super","_createSuper2","_classCallCheck2","apply","arguments","_createClass2","key","value","render","_ref","element","createElement","Typography","style","margin","color","use","config","title","UIRenderer","exports","HeaderTitleElement","_UIElement","_super2","id","_this","call","addRenderer","UIElement"],"sources":["HeaderTitleElement.tsx"],"sourcesContent":["import React from \"react\";\nimport { UIElement, UIElementConfig } from \"~/ui/UIElement\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { UIRenderer, UIRenderParams } from \"~/ui/UIRenderer\";\n\ninterface HeaderTitleElementConfig extends UIElementConfig {\n title: () => string | null;\n}\n\nexport class HeaderTitleElementRenderer extends UIRenderer<HeaderTitleElement> {\n public override render({ element }: UIRenderParams<HeaderTitleElement>): React.ReactNode {\n return (\n <Typography\n style={{ margin: \"0 auto\", color: \"var(--mdc-theme-on-surface)\" }}\n use={\"headline6\"}\n >\n {element.config.title()}\n </Typography>\n );\n }\n}\n\nexport class HeaderTitleElement extends UIElement<HeaderTitleElementConfig> {\n public constructor(id: string, config: HeaderTitleElementConfig) {\n super(id, config);\n\n this.addRenderer(new HeaderTitleElementRenderer());\n }\n}\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAA6D,IAMhDI,0BAA0B,0BAAAC,WAAA;EAAA,IAAAC,UAAA,CAAAC,OAAA,EAAAH,0BAAA,EAAAC,WAAA;EAAA,IAAAG,MAAA,OAAAC,aAAA,CAAAF,OAAA,EAAAH,0BAAA;EAAA,SAAAA,2BAAA;IAAA,IAAAM,gBAAA,CAAAH,OAAA,QAAAH,0BAAA;IAAA,OAAAI,MAAA,CAAAG,KAAA,OAAAC,SAAA;EAAA;EAAA,IAAAC,aAAA,CAAAN,OAAA,EAAAH,0BAAA;IAAAU,GAAA;IAAAC,KAAA,EACnC,SAAAC,OAAAC,IAAA,EAAyF;MAAA,IAAhEC,OAAO,GAAAD,IAAA,CAAPC,OAAO;MAC5B,oBACIpB,MAAA,CAAAS,OAAA,CAAAY,aAAA,CAACjB,WAAA,CAAAkB,UAAU;QACPC,KAAK,EAAE;UAAEC,MAAM,EAAE,QAAQ;UAAEC,KAAK,EAAE;QAA8B,CAAE;QAClEC,GAAG,EAAE;MAAY,GAEhBN,OAAO,CAACO,MAAM,CAACC,KAAK,CAAC,CACd,CAAC;IAErB;EAAC;EAAA,OAAAtB,0BAAA;AAAA,EAV2CuB,uBAAU;AAAAC,OAAA,CAAAxB,0BAAA,GAAAA,0BAAA;AAAA,IAa7CyB,kBAAkB,0BAAAC,UAAA;EAAA,IAAAxB,UAAA,CAAAC,OAAA,EAAAsB,kBAAA,EAAAC,UAAA;EAAA,IAAAC,OAAA,OAAAtB,aAAA,CAAAF,OAAA,EAAAsB,kBAAA;EAC3B,SAAAA,mBAAmBG,EAAU,EAAEP,MAAgC,EAAE;IAAA,IAAAQ,KAAA;IAAA,IAAAvB,gBAAA,CAAAH,OAAA,QAAAsB,kBAAA;IAC7DI,KAAA,GAAAF,OAAA,CAAAG,IAAA,OAAMF,EAAE,EAAEP,MAAM;IAEhBQ,KAAA,CAAKE,WAAW,CAAC,IAAI/B,0BAA0B,CAAC,CAAC,CAAC;IAAC,OAAA6B,KAAA;EACvD;EAAC,WAAApB,aAAA,CAAAN,OAAA,EAAAsB,kBAAA;AAAA,EALmCO,qBAAS;AAAAR,OAAA,CAAAC,kBAAA,GAAAA,kBAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["noScroll","css","overflow","height","useOverlayView","useState","isVisible","setIsVisible","useEffect","OverlayView","openedViews","document","body","classList","add","remove"],"sources":["useOverlayView.ts"],"sourcesContent":["import { useEffect, useState } from \"react\";\nimport { css } from \"emotion\";\nimport { OverlayView } from \"../OverlayView\";\n\nconst noScroll = css({\n overflow: \"hidden\",\n height: \"100vh\"\n});\n\nexport interface UseOverlayView {\n isVisible: boolean;\n setIsVisible: (value: boolean) => void;\n}\n\nexport const useOverlayView = (): UseOverlayView => {\n const [isVisible, setIsVisible] = useState<boolean>(false);\n\n useEffect(() => {\n if (isVisible) {\n OverlayView.openedViews++;\n document.body.classList.add(noScroll);\n } else if (!OverlayView.openedViews) {\n document.body.classList.remove(noScroll);\n }\n }, [isVisible]);\n\n useEffect(() => {\n return () => {\n if (OverlayView.openedViews > 0) {\n OverlayView.openedViews--;\n }\n if (!OverlayView.openedViews) {\n document.body.classList.remove(noScroll);\n }\n };\n }, []);\n\n return { isVisible, setIsVisible };\n};\n"],"mappings":";;;;;;;;AAAA;AACA;AACA;AAEA,IAAMA,QAAQ,gBAAG,IAAAC,YAAG,EAAC;EACjBC,QAAQ,EAAE,QAAQ;EAClBC,MAAM,EAAE;AACZ,CAAC,oBAAC;AAOK,IAAMC,cAAc,GAAG,SAAjBA,cAAc,GAAyB;EAChD,gBAAkC,IAAAC,eAAQ,EAAU,KAAK,CAAC;IAAA;IAAnDC,SAAS;IAAEC,YAAY;EAE9B,IAAAC,gBAAS,EAAC,YAAM;IACZ,IAAIF,SAAS,EAAE;MACXG,wBAAW,CAACC,WAAW,EAAE;MACzBC,QAAQ,CAACC,IAAI,CAACC,SAAS,CAACC,GAAG,CAACd,QAAQ,CAAC;IACzC,CAAC,MAAM,IAAI,CAACS,wBAAW,CAACC,WAAW,EAAE;MACjCC,QAAQ,CAACC,IAAI,CAACC,SAAS,CAACE,MAAM,CAACf,QAAQ,CAAC;IAC5C;EACJ,CAAC,EAAE,CAACM,SAAS,CAAC,CAAC;EAEf,IAAAE,gBAAS,EAAC,YAAM;IACZ,OAAO,YAAM;MACT,IAAIC,wBAAW,CAACC,WAAW,GAAG,CAAC,EAAE;QAC7BD,wBAAW,CAACC,WAAW,EAAE;MAC7B;MACA,IAAI,CAACD,wBAAW,CAACC,WAAW,EAAE;QAC1BC,QAAQ,CAACC,IAAI,CAACC,SAAS,CAACE,MAAM,CAACf,QAAQ,CAAC;MAC5C;IACJ,CAAC;EACL,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO;IAAEM,SAAS,EAATA,SAAS;IAAEC,YAAY,EAAZA;EAAa,CAAC;AACtC,CAAC;AAAC"}
1
+ {"version":3,"names":["_react","require","_emotion","_OverlayView","noScroll","css","overflow","height","useOverlayView","_useState","useState","_useState2","_slicedToArray2","default","isVisible","setIsVisible","useEffect","OverlayView","openedViews","document","body","classList","add","remove","exports"],"sources":["useOverlayView.ts"],"sourcesContent":["import { useEffect, useState } from \"react\";\nimport { css } from \"emotion\";\nimport { OverlayView } from \"../OverlayView\";\n\nconst noScroll = css({\n overflow: \"hidden\",\n height: \"100vh\"\n});\n\nexport interface UseOverlayView {\n isVisible: boolean;\n setIsVisible: (value: boolean) => void;\n}\n\nexport const useOverlayView = (): UseOverlayView => {\n const [isVisible, setIsVisible] = useState<boolean>(false);\n\n useEffect(() => {\n if (isVisible) {\n OverlayView.openedViews++;\n document.body.classList.add(noScroll);\n } else if (!OverlayView.openedViews) {\n document.body.classList.remove(noScroll);\n }\n }, [isVisible]);\n\n useEffect(() => {\n return () => {\n if (OverlayView.openedViews > 0) {\n OverlayView.openedViews--;\n }\n if (!OverlayView.openedViews) {\n document.body.classList.remove(noScroll);\n }\n };\n }, []);\n\n return { isVisible, setIsVisible };\n};\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAEA,IAAMG,QAAQ,gBAAG,IAAAC,YAAG,EAAC;EACjBC,QAAQ,EAAE,QAAQ;EAClBC,MAAM,EAAE;AACZ,CAAC,oBAAC;AAOK,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAA,EAAyB;EAChD,IAAAC,SAAA,GAAkC,IAAAC,eAAQ,EAAU,KAAK,CAAC;IAAAC,UAAA,OAAAC,eAAA,CAAAC,OAAA,EAAAJ,SAAA;IAAnDK,SAAS,GAAAH,UAAA;IAAEI,YAAY,GAAAJ,UAAA;EAE9B,IAAAK,gBAAS,EAAC,YAAM;IACZ,IAAIF,SAAS,EAAE;MACXG,wBAAW,CAACC,WAAW,EAAE;MACzBC,QAAQ,CAACC,IAAI,CAACC,SAAS,CAACC,GAAG,CAAClB,QAAQ,CAAC;IACzC,CAAC,MAAM,IAAI,CAACa,wBAAW,CAACC,WAAW,EAAE;MACjCC,QAAQ,CAACC,IAAI,CAACC,SAAS,CAACE,MAAM,CAACnB,QAAQ,CAAC;IAC5C;EACJ,CAAC,EAAE,CAACU,SAAS,CAAC,CAAC;EAEf,IAAAE,gBAAS,EAAC,YAAM;IACZ,OAAO,YAAM;MACT,IAAIC,wBAAW,CAACC,WAAW,GAAG,CAAC,EAAE;QAC7BD,wBAAW,CAACC,WAAW,EAAE;MAC7B;MACA,IAAI,CAACD,wBAAW,CAACC,WAAW,EAAE;QAC1BC,QAAQ,CAACC,IAAI,CAACC,SAAS,CAACE,MAAM,CAACnB,QAAQ,CAAC;MAC5C;IACJ,CAAC;EACL,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO;IAAEU,SAAS,EAATA,SAAS;IAAEC,YAAY,EAAZA;EAAa,CAAC;AACtC,CAAC;AAACS,OAAA,CAAAhB,cAAA,GAAAA,cAAA"}
@@ -24,7 +24,6 @@ var _HeaderElement = require("./OverlayView/HeaderElement");
24
24
  var _ContentElement = require("./OverlayView/ContentElement");
25
25
  // !GOOD FIRST ISSUE!
26
26
  // Extract rendering and styling into an OverlayViewRenderer class.
27
-
28
27
  var OverlayLayoutWrapper = /*#__PURE__*/(0, _styled.default)("div", {
29
28
  target: "e1xrojct0",
30
29
  label: "OverlayLayoutWrapper"
@@ -62,11 +61,6 @@ var transitionStyles = {
62
61
  var OverlayView = /*#__PURE__*/function (_UIView) {
63
62
  (0, _inherits2.default)(OverlayView, _UIView);
64
63
  var _super = (0, _createSuper2.default)(OverlayView);
65
- /**
66
- * This property is used to track the amount of opened overlays. Since we're applying a CSS class to disable
67
- * window scroll, we must make sure we don't remove that CSS class until all the overlays are closed.
68
- */
69
-
70
64
  function OverlayView() {
71
65
  var _this;
72
66
  var id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "OverlayView";
@@ -162,4 +156,8 @@ var OverlayView = /*#__PURE__*/function (_UIView) {
162
156
  return OverlayView;
163
157
  }(_UIView2.UIView);
164
158
  exports.OverlayView = OverlayView;
159
+ /**
160
+ * This property is used to track the amount of opened overlays. Since we're applying a CSS class to disable
161
+ * window scroll, we must make sure we don't remove that CSS class until all the overlays are closed.
162
+ */
165
163
  (0, _defineProperty2.default)(OverlayView, "openedViews", 0);
@@ -1 +1 @@
1
- {"version":3,"names":["OverlayLayoutWrapper","styled","position","width","height","backgroundColor","zIndex","top","left","defaultStyle","transform","opacity","transitionProperty","transitionTimingFunction","transitionDuration","willChange","transitionStyles","entering","entered","OverlayView","id","useGrid","addHookDefinition","useOverlayView","addElement","HeaderElement","onClose","setIsVisible","ContentElement","applyPlugins","title","getHeaderElement","setTitle","_onEntered","reverse","forEach","cb","_onExited","push","getHook","visible","getOverlayHook","getElement","props","isVisible","onExited","onEntered","state","UIView"],"sources":["OverlayView.tsx"],"sourcesContent":["import React from \"react\";\nimport { Transition } from \"react-transition-group\";\nimport styled from \"@emotion/styled\";\nimport { UIView, UIViewProps } from \"~/ui/UIView\";\nimport { UseOverlayView, useOverlayView } from \"./OverlayView/useOverlayView\";\nimport { HeaderElement } from \"./OverlayView/HeaderElement\";\nimport { ContentElement } from \"./OverlayView/ContentElement\";\n\n// !GOOD FIRST ISSUE!\n// Extract rendering and styling into an OverlayViewRenderer class.\n\nconst OverlayLayoutWrapper = styled(\"div\")({\n position: \"fixed\",\n width: \"100%\",\n height: \"100vh\",\n backgroundColor: \"var(--mdc-theme-background)\",\n /**\n * Has to be higher than 5 so it's above advanced settings dialog,\n * and below 20, so the image editor & Dialogs can be displayed above.\n */\n zIndex: 21,\n top: 0,\n left: 0\n});\n\nconst defaultStyle: Record<string, string | number> = {\n transform: \"translateY(75vh)\",\n opacity: 0,\n transitionProperty: \"transform, opacity\",\n transitionTimingFunction: \"cubic-bezier(0, 0, .2, 1)\",\n transitionDuration: \"225ms\",\n willChange: \"opacity, transform\"\n};\n\nconst transitionStyles: Record<string, any> = {\n entering: {\n transform: \"translateY(75vh)\",\n opacity: 0\n },\n entered: {\n transform: \"translateY(0px)\",\n opacity: 1\n }\n};\n\ninterface OnExited {\n (view: OverlayView): void;\n}\n\ninterface OnEntered {\n (view: OverlayView): void;\n}\n\nexport class OverlayView extends UIView {\n /**\n * This property is used to track the amount of opened overlays. Since we're applying a CSS class to disable\n * window scroll, we must make sure we don't remove that CSS class until all the overlays are closed.\n */\n static openedViews = 0;\n private _onEntered: OnEntered[] = [];\n private _onExited: OnExited[] = [];\n\n public constructor(id = \"OverlayView\") {\n super(id);\n this.useGrid(false);\n\n this.addHookDefinition(\"overlay\", useOverlayView);\n\n this.addElement(\n new HeaderElement(\"overlayHeader\", {\n onClose: () => this.setIsVisible(false)\n })\n );\n\n this.addElement(new ContentElement(\"overlayContent\"));\n\n this.applyPlugins(OverlayView);\n }\n\n public setTitle(title: () => string): void {\n this.getHeaderElement().setTitle(title);\n }\n\n public onEntered(): void {\n [...this._onEntered].reverse().forEach(cb => cb(this));\n }\n\n public onExited(): void {\n [...this._onExited].reverse().forEach(cb => cb(this));\n }\n\n public addOnEntered(cb: OnExited): void {\n this._onEntered.push(cb);\n }\n\n public addOnExited(cb: OnExited): void {\n this._onExited.push(cb);\n }\n\n public getOverlayHook(): UseOverlayView {\n return this.getHook<UseOverlayView>(\"overlay\");\n }\n\n public setIsVisible(visible: boolean): void {\n this.getOverlayHook().setIsVisible(visible);\n }\n\n public getHeaderElement(): HeaderElement {\n return this.getElement(\"overlayHeader\") as HeaderElement;\n }\n\n public getContentElement(): ContentElement {\n return this.getElement(\"overlayContent\") as HeaderElement;\n }\n\n public override render(props: UIViewProps): React.ReactNode {\n const { isVisible } = this.getOverlayHook();\n return (\n <Transition\n in={isVisible}\n timeout={100}\n appear\n onExited={() => this.onExited()}\n onEntered={() => this.onEntered()}\n >\n {state => (\n <OverlayLayoutWrapper style={{ ...defaultStyle, ...transitionStyles[state] }}>\n {super.render(props)}\n </OverlayLayoutWrapper>\n )}\n </Transition>\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactTransitionGroup","_styled","_UIView2","_useOverlayView","_HeaderElement","_ContentElement","OverlayLayoutWrapper","styled","target","label","position","width","height","backgroundColor","zIndex","top","left","defaultStyle","transform","opacity","transitionProperty","transitionTimingFunction","transitionDuration","willChange","transitionStyles","entering","entered","OverlayView","_UIView","_inherits2","default","_super","_createSuper2","_this","id","arguments","length","undefined","_classCallCheck2","call","_defineProperty2","_assertThisInitialized2","useGrid","addHookDefinition","useOverlayView","addElement","HeaderElement","onClose","setIsVisible","ContentElement","applyPlugins","_createClass2","key","value","setTitle","title","getHeaderElement","onEntered","_this2","_toConsumableArray2","_onEntered","reverse","forEach","cb","onExited","_this3","_onExited","addOnEntered","push","addOnExited","getOverlayHook","getHook","visible","getElement","getContentElement","render","props","_this4","_this$getOverlayHook","isVisible","createElement","Transition","in","timeout","appear","state","style","_objectSpread2","_get2","_getPrototypeOf2","prototype","UIView","exports"],"sources":["OverlayView.tsx"],"sourcesContent":["import React from \"react\";\nimport { Transition } from \"react-transition-group\";\nimport styled from \"@emotion/styled\";\nimport { UIView, UIViewProps } from \"~/ui/UIView\";\nimport { UseOverlayView, useOverlayView } from \"./OverlayView/useOverlayView\";\nimport { HeaderElement } from \"./OverlayView/HeaderElement\";\nimport { ContentElement } from \"./OverlayView/ContentElement\";\n\n// !GOOD FIRST ISSUE!\n// Extract rendering and styling into an OverlayViewRenderer class.\n\nconst OverlayLayoutWrapper = styled(\"div\")({\n position: \"fixed\",\n width: \"100%\",\n height: \"100vh\",\n backgroundColor: \"var(--mdc-theme-background)\",\n /**\n * Has to be higher than 5 so it's above advanced settings dialog,\n * and below 20, so the image editor & Dialogs can be displayed above.\n */\n zIndex: 21,\n top: 0,\n left: 0\n});\n\nconst defaultStyle: Record<string, string | number> = {\n transform: \"translateY(75vh)\",\n opacity: 0,\n transitionProperty: \"transform, opacity\",\n transitionTimingFunction: \"cubic-bezier(0, 0, .2, 1)\",\n transitionDuration: \"225ms\",\n willChange: \"opacity, transform\"\n};\n\nconst transitionStyles: Record<string, any> = {\n entering: {\n transform: \"translateY(75vh)\",\n opacity: 0\n },\n entered: {\n transform: \"translateY(0px)\",\n opacity: 1\n }\n};\n\ninterface OnExited {\n (view: OverlayView): void;\n}\n\ninterface OnEntered {\n (view: OverlayView): void;\n}\n\nexport class OverlayView extends UIView {\n /**\n * This property is used to track the amount of opened overlays. Since we're applying a CSS class to disable\n * window scroll, we must make sure we don't remove that CSS class until all the overlays are closed.\n */\n static openedViews = 0;\n private _onEntered: OnEntered[] = [];\n private _onExited: OnExited[] = [];\n\n public constructor(id = \"OverlayView\") {\n super(id);\n this.useGrid(false);\n\n this.addHookDefinition(\"overlay\", useOverlayView);\n\n this.addElement(\n new HeaderElement(\"overlayHeader\", {\n onClose: () => this.setIsVisible(false)\n })\n );\n\n this.addElement(new ContentElement(\"overlayContent\"));\n\n this.applyPlugins(OverlayView);\n }\n\n public setTitle(title: () => string): void {\n this.getHeaderElement().setTitle(title);\n }\n\n public onEntered(): void {\n [...this._onEntered].reverse().forEach(cb => cb(this));\n }\n\n public onExited(): void {\n [...this._onExited].reverse().forEach(cb => cb(this));\n }\n\n public addOnEntered(cb: OnExited): void {\n this._onEntered.push(cb);\n }\n\n public addOnExited(cb: OnExited): void {\n this._onExited.push(cb);\n }\n\n public getOverlayHook(): UseOverlayView {\n return this.getHook<UseOverlayView>(\"overlay\");\n }\n\n public setIsVisible(visible: boolean): void {\n this.getOverlayHook().setIsVisible(visible);\n }\n\n public getHeaderElement(): HeaderElement {\n return this.getElement(\"overlayHeader\") as HeaderElement;\n }\n\n public getContentElement(): ContentElement {\n return this.getElement(\"overlayContent\") as HeaderElement;\n }\n\n public override render(props: UIViewProps): React.ReactNode {\n const { isVisible } = this.getOverlayHook();\n return (\n <Transition\n in={isVisible}\n timeout={100}\n appear\n onExited={() => this.onExited()}\n onEntered={() => this.onEntered()}\n >\n {state => (\n <OverlayLayoutWrapper style={{ ...defaultStyle, ...transitionStyles[state] }}>\n {super.render(props)}\n </OverlayLayoutWrapper>\n )}\n </Transition>\n );\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["SplitViewPanelElement","Set","width","_width","className","_classNames","add","delete","element","getChildren","forEach","el","remove","addElement","props","classNames","Array","from","values","UIElement"],"sources":["SplitViewPanelElement.tsx"],"sourcesContent":["import React from \"react\";\nimport classNames from \"classnames\";\nimport { UIElement, UiElementRenderProps } from \"~/ui/UIElement\";\nimport { Cell } from \"@webiny/ui/Grid\";\n\nexport class SplitViewPanelElement extends UIElement<any> {\n private _width = 12;\n private _classNames: Set<string> = new Set();\n\n public setWidth(width: number): void {\n this._width = width;\n }\n\n public addClassName(className: string): void {\n this._classNames.add(className);\n }\n\n public removeClassName(className: string): void {\n this._classNames.delete(className);\n }\n\n public setContentElement(element: UIElement): void {\n // Remove previous content\n this.getChildren().forEach(el => el.remove());\n\n // Add new content\n this.addElement(element);\n }\n\n public override render(props: UiElementRenderProps): React.ReactNode {\n return (\n <Cell span={this._width} className={classNames(Array.from(this._classNames.values()))}>\n {super.render(props)}\n </Cell>\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AAAuC,IAE1BA,qBAAqB;EAAA;EAAA;EAAA;IAAA;IAAA;IAAA;MAAA;IAAA;IAAA;IAAA,qFACb,EAAE;IAAA,0FACgB,IAAIC,GAAG,EAAE;IAAA;EAAA;EAAA;IAAA;IAAA,OAE5C,kBAAgBC,KAAa,EAAQ;MACjC,IAAI,CAACC,MAAM,GAAGD,KAAK;IACvB;EAAC;IAAA;IAAA,OAED,sBAAoBE,SAAiB,EAAQ;MACzC,IAAI,CAACC,WAAW,CAACC,GAAG,CAACF,SAAS,CAAC;IACnC;EAAC;IAAA;IAAA,OAED,yBAAuBA,SAAiB,EAAQ;MAC5C,IAAI,CAACC,WAAW,CAACE,MAAM,CAACH,SAAS,CAAC;IACtC;EAAC;IAAA;IAAA,OAED,2BAAyBI,OAAkB,EAAQ;MAC/C;MACA,IAAI,CAACC,WAAW,EAAE,CAACC,OAAO,CAAC,UAAAC,EAAE;QAAA,OAAIA,EAAE,CAACC,MAAM,EAAE;MAAA,EAAC;;MAE7C;MACA,IAAI,CAACC,UAAU,CAACL,OAAO,CAAC;IAC5B;EAAC;IAAA;IAAA,OAED,gBAAuBM,KAA2B,EAAmB;MACjE,oBACI,6BAAC,UAAI;QAAC,IAAI,EAAE,IAAI,CAACX,MAAO;QAAC,SAAS,EAAE,IAAAY,mBAAU,EAACC,KAAK,CAACC,IAAI,CAAC,IAAI,CAACZ,WAAW,CAACa,MAAM,EAAE,CAAC;MAAE,iHACpEJ,KAAK,EAChB;IAEf;EAAC;EAAA;AAAA,EA9BsCK,qBAAS;AAAA"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_classnames","_UIElement2","_Grid","SplitViewPanelElement","_UIElement","_inherits2","default","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","Set","_createClass2","key","value","setWidth","width","_width","addClassName","className","_classNames","add","removeClassName","delete","setContentElement","element","getChildren","forEach","el","remove","addElement","render","props","createElement","Cell","span","classNames","from","values","_get2","_getPrototypeOf2","prototype","UIElement","exports"],"sources":["SplitViewPanelElement.tsx"],"sourcesContent":["import React from \"react\";\nimport classNames from \"classnames\";\nimport { UIElement, UiElementRenderProps } from \"~/ui/UIElement\";\nimport { Cell } from \"@webiny/ui/Grid\";\n\nexport class SplitViewPanelElement extends UIElement<any> {\n private _width = 12;\n private _classNames: Set<string> = new Set();\n\n public setWidth(width: number): void {\n this._width = width;\n }\n\n public addClassName(className: string): void {\n this._classNames.add(className);\n }\n\n public removeClassName(className: string): void {\n this._classNames.delete(className);\n }\n\n public setContentElement(element: UIElement): void {\n // Remove previous content\n this.getChildren().forEach(el => el.remove());\n\n // Add new content\n this.addElement(element);\n }\n\n public override render(props: UiElementRenderProps): React.ReactNode {\n return (\n <Cell span={this._width} className={classNames(Array.from(this._classNames.values()))}>\n {super.render(props)}\n </Cell>\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AAAuC,IAE1BI,qBAAqB,0BAAAC,UAAA;EAAA,IAAAC,UAAA,CAAAC,OAAA,EAAAH,qBAAA,EAAAC,UAAA;EAAA,IAAAG,MAAA,OAAAC,aAAA,CAAAF,OAAA,EAAAH,qBAAA;EAAA,SAAAA,sBAAA;IAAA,IAAAM,KAAA;IAAA,IAAAC,gBAAA,CAAAJ,OAAA,QAAAH,qBAAA;IAAA,SAAAQ,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAAA;IAAAP,KAAA,GAAAF,MAAA,CAAAU,IAAA,CAAAC,KAAA,CAAAX,MAAA,SAAAY,MAAA,CAAAL,IAAA;IAAA,IAAAM,gBAAA,CAAAd,OAAA,MAAAe,uBAAA,CAAAf,OAAA,EAAAG,KAAA,aACb,EAAE;IAAA,IAAAW,gBAAA,CAAAd,OAAA,MAAAe,uBAAA,CAAAf,OAAA,EAAAG,KAAA,kBACgB,IAAIa,GAAG,CAAC,CAAC;IAAA,OAAAb,KAAA;EAAA;EAAA,IAAAc,aAAA,CAAAjB,OAAA,EAAAH,qBAAA;IAAAqB,GAAA;IAAAC,KAAA,EAE5C,SAAAC,SAAgBC,KAAa,EAAQ;MACjC,IAAI,CAACC,MAAM,GAAGD,KAAK;IACvB;EAAC;IAAAH,GAAA;IAAAC,KAAA,EAED,SAAAI,aAAoBC,SAAiB,EAAQ;MACzC,IAAI,CAACC,WAAW,CAACC,GAAG,CAACF,SAAS,CAAC;IACnC;EAAC;IAAAN,GAAA;IAAAC,KAAA,EAED,SAAAQ,gBAAuBH,SAAiB,EAAQ;MAC5C,IAAI,CAACC,WAAW,CAACG,MAAM,CAACJ,SAAS,CAAC;IACtC;EAAC;IAAAN,GAAA;IAAAC,KAAA,EAED,SAAAU,kBAAyBC,OAAkB,EAAQ;MAC/C;MACA,IAAI,CAACC,WAAW,CAAC,CAAC,CAACC,OAAO,CAAC,UAAAC,EAAE;QAAA,OAAIA,EAAE,CAACC,MAAM,CAAC,CAAC;MAAA,EAAC;;MAE7C;MACA,IAAI,CAACC,UAAU,CAACL,OAAO,CAAC;IAC5B;EAAC;IAAAZ,GAAA;IAAAC,KAAA,EAED,SAAAiB,OAAuBC,KAA2B,EAAmB;MACjE,oBACI9C,MAAA,CAAAS,OAAA,CAAAsC,aAAA,CAAC1C,KAAA,CAAA2C,IAAI;QAACC,IAAI,EAAE,IAAI,CAAClB,MAAO;QAACE,SAAS,EAAE,IAAAiB,mBAAU,EAAChC,KAAK,CAACiC,IAAI,CAAC,IAAI,CAACjB,WAAW,CAACkB,MAAM,CAAC,CAAC,CAAC;MAAE,OAAAC,KAAA,CAAA5C,OAAA,MAAA6C,gBAAA,CAAA7C,OAAA,EAAAH,qBAAA,CAAAiD,SAAA,mBAAAnC,IAAA,OACpE0B,KAAK,CACjB,CAAC;IAEf;EAAC;EAAA,OAAAxC,qBAAA;AAAA,EA9BsCkD,qBAAS;AAAAC,OAAA,CAAAnD,qBAAA,GAAAA,qBAAA"}
@@ -59,8 +59,6 @@ var SplitView = /*#__PURE__*/function (_UIView) {
59
59
  (0, _classCallCheck2.default)(this, SplitView);
60
60
  _this = _super.call(this, "SplitView.".concat(id));
61
61
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "_classNames", new Set());
62
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "_leftPanel", void 0);
63
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "_rightPanel", void 0);
64
62
  _this.useGrid(false);
65
63
  _this.addClassName(grid);
66
64
  _this.addClassName("webiny-split-view");
@@ -1 +1 @@
1
- {"version":3,"names":["grid","css","padding","backgroundColor","gridGap","leftPanel","display","flexDirection","height","overflow","maxHeight","rightPanel","SplitView","id","config","Set","useGrid","addClassName","addElements","getLeftPanel","addElement","getRightPanel","className","_classNames","add","delete","getElement","props","classNames","Array","from","values","_leftPanel","SplitViewPanelElement","setWidth","_rightPanel","moveAfter","UIView"],"sources":["SplitView.tsx"],"sourcesContent":["import React from \"react\";\nimport classNames from \"classnames\";\nimport { css } from \"emotion\";\nimport { Grid } from \"@webiny/ui/Grid\";\nimport { UIElement } from \"~/ui/UIElement\";\nimport { SplitViewPanelElement } from \"./SplitView/SplitViewPanelElement\";\nimport { UIView } from \"../UIView\";\n\nconst grid = css({\n \"&.mdc-layout-grid\": {\n padding: 0,\n backgroundColor: \"var(--mdc-theme-background)\",\n \">.mdc-layout-grid__inner\": {\n gridGap: 0\n }\n }\n});\n\nconst leftPanel = css({\n backgroundColor: \"var(--mdc-theme-surface)\",\n \">.webiny-data-list\": {\n display: \"flex\",\n flexDirection: \"column\",\n height: \"calc(100vh - 70px)\",\n \".mdc-list\": {\n overflow: \"auto\"\n }\n },\n \">.mdc-list\": {\n display: \"flex\",\n flexDirection: \"column\",\n maxHeight: \"calc(100vh - 70px)\",\n overflow: \"auto\"\n }\n});\n\nconst rightPanel = css({\n backgroundColor: \"var(--mdc-theme-background)\",\n overflow: \"auto\",\n height: \"calc(100vh - 70px)\"\n});\n\ninterface SplitViewConfig {\n leftPanel?: UIElement;\n rightPanel?: UIElement;\n}\n\nexport class SplitView extends UIView {\n private _classNames = new Set<string>();\n private _leftPanel?: SplitViewPanelElement;\n private _rightPanel?: SplitViewPanelElement;\n\n public constructor(id: string, config: SplitViewConfig = {}) {\n super(`SplitView.${id}`);\n\n this.useGrid(false);\n this.addClassName(grid);\n this.addClassName(\"webiny-split-view\");\n this.addElements();\n\n if (config.leftPanel) {\n this.getLeftPanel().addElement(config.leftPanel);\n }\n\n if (config.rightPanel) {\n this.getRightPanel().addElement(config.rightPanel);\n }\n }\n\n public addClassName(className: string): void {\n this._classNames.add(className);\n }\n\n public removeClassName(className: string): void {\n this._classNames.delete(className);\n }\n\n public getLeftPanel(): SplitViewPanelElement {\n return this.getElement(\"leftPanel\") as SplitViewPanelElement;\n }\n\n public getRightPanel(): SplitViewPanelElement {\n return this.getElement(\"rightPanel\") as SplitViewPanelElement;\n }\n\n public override render(props?: any): React.ReactNode {\n return (\n <Grid className={classNames(Array.from(this._classNames.values()))}>\n {super.render(props)}\n </Grid>\n );\n }\n\n private addElements(): void {\n this._leftPanel = new SplitViewPanelElement(\"leftPanel\");\n this._leftPanel.useGrid(false);\n this._leftPanel.setWidth(5);\n this._leftPanel.addClassName(leftPanel);\n this._leftPanel.addClassName(\"webiny-split-view__left-panel\");\n\n this._rightPanel = new SplitViewPanelElement(\"rightPanel\");\n this._rightPanel.useGrid(false);\n this._rightPanel.setWidth(7);\n this._rightPanel.addClassName(rightPanel);\n this._rightPanel.addClassName(\"webiny-split-view__right-panel\");\n\n this.addElement(this._leftPanel);\n this._rightPanel.moveAfter(this._leftPanel);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_classnames","_emotion","_Grid","_SplitViewPanelElement","_UIView2","grid","css","padding","backgroundColor","gridGap","leftPanel","display","flexDirection","height","overflow","maxHeight","rightPanel","SplitView","_UIView","_inherits2","default","_super","_createSuper2","id","_this","config","arguments","length","undefined","_classCallCheck2","call","concat","_defineProperty2","_assertThisInitialized2","Set","useGrid","addClassName","addElements","getLeftPanel","addElement","getRightPanel","_createClass2","key","value","className","_classNames","add","removeClassName","delete","getElement","render","props","createElement","Grid","classNames","Array","from","values","_get2","_getPrototypeOf2","prototype","_leftPanel","SplitViewPanelElement","setWidth","_rightPanel","moveAfter","UIView","exports"],"sources":["SplitView.tsx"],"sourcesContent":["import React from \"react\";\nimport classNames from \"classnames\";\nimport { css } from \"emotion\";\nimport { Grid } from \"@webiny/ui/Grid\";\nimport { UIElement } from \"~/ui/UIElement\";\nimport { SplitViewPanelElement } from \"./SplitView/SplitViewPanelElement\";\nimport { UIView } from \"../UIView\";\n\nconst grid = css({\n \"&.mdc-layout-grid\": {\n padding: 0,\n backgroundColor: \"var(--mdc-theme-background)\",\n \">.mdc-layout-grid__inner\": {\n gridGap: 0\n }\n }\n});\n\nconst leftPanel = css({\n backgroundColor: \"var(--mdc-theme-surface)\",\n \">.webiny-data-list\": {\n display: \"flex\",\n flexDirection: \"column\",\n height: \"calc(100vh - 70px)\",\n \".mdc-list\": {\n overflow: \"auto\"\n }\n },\n \">.mdc-list\": {\n display: \"flex\",\n flexDirection: \"column\",\n maxHeight: \"calc(100vh - 70px)\",\n overflow: \"auto\"\n }\n});\n\nconst rightPanel = css({\n backgroundColor: \"var(--mdc-theme-background)\",\n overflow: \"auto\",\n height: \"calc(100vh - 70px)\"\n});\n\ninterface SplitViewConfig {\n leftPanel?: UIElement;\n rightPanel?: UIElement;\n}\n\nexport class SplitView extends UIView {\n private _classNames = new Set<string>();\n private _leftPanel?: SplitViewPanelElement;\n private _rightPanel?: SplitViewPanelElement;\n\n public constructor(id: string, config: SplitViewConfig = {}) {\n super(`SplitView.${id}`);\n\n this.useGrid(false);\n this.addClassName(grid);\n this.addClassName(\"webiny-split-view\");\n this.addElements();\n\n if (config.leftPanel) {\n this.getLeftPanel().addElement(config.leftPanel);\n }\n\n if (config.rightPanel) {\n this.getRightPanel().addElement(config.rightPanel);\n }\n }\n\n public addClassName(className: string): void {\n this._classNames.add(className);\n }\n\n public removeClassName(className: string): void {\n this._classNames.delete(className);\n }\n\n public getLeftPanel(): SplitViewPanelElement {\n return this.getElement(\"leftPanel\") as SplitViewPanelElement;\n }\n\n public getRightPanel(): SplitViewPanelElement {\n return this.getElement(\"rightPanel\") as SplitViewPanelElement;\n }\n\n public override render(props?: any): React.ReactNode {\n return (\n <Grid className={classNames(Array.from(this._classNames.values()))}>\n {super.render(props)}\n </Grid>\n );\n }\n\n private addElements(): void {\n this._leftPanel = new SplitViewPanelElement(\"leftPanel\");\n this._leftPanel.useGrid(false);\n this._leftPanel.setWidth(5);\n this._leftPanel.addClassName(leftPanel);\n this._leftPanel.addClassName(\"webiny-split-view__left-panel\");\n\n this._rightPanel = new SplitViewPanelElement(\"rightPanel\");\n this._rightPanel.useGrid(false);\n this._rightPanel.setWidth(7);\n this._rightPanel.addClassName(rightPanel);\n this._rightPanel.addClassName(\"webiny-split-view__right-panel\");\n\n this.addElement(this._leftPanel);\n this._rightPanel.moveAfter(this._leftPanel);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AAEA,IAAAI,sBAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AAEA,IAAMM,IAAI,gBAAG,IAAAC,YAAG,EAAC;EACb,mBAAmB,EAAE;IACjBC,OAAO,EAAE,CAAC;IACVC,eAAe,EAAE,6BAA6B;IAC9C,0BAA0B,EAAE;MACxBC,OAAO,EAAE;IACb;EACJ;AACJ,CAAC,gBAAC;AAEF,IAAMC,SAAS,gBAAG,IAAAJ,YAAG,EAAC;EAClBE,eAAe,EAAE,0BAA0B;EAC3C,oBAAoB,EAAE;IAClBG,OAAO,EAAE,MAAM;IACfC,aAAa,EAAE,QAAQ;IACvBC,MAAM,EAAE,oBAAoB;IAC5B,WAAW,EAAE;MACTC,QAAQ,EAAE;IACd;EACJ,CAAC;EACD,YAAY,EAAE;IACVH,OAAO,EAAE,MAAM;IACfC,aAAa,EAAE,QAAQ;IACvBG,SAAS,EAAE,oBAAoB;IAC/BD,QAAQ,EAAE;EACd;AACJ,CAAC,qBAAC;AAEF,IAAME,UAAU,gBAAG,IAAAV,YAAG,EAAC;EACnBE,eAAe,EAAE,6BAA6B;EAC9CM,QAAQ,EAAE,MAAM;EAChBD,MAAM,EAAE;AACZ,CAAC,sBAAC;AAAC,IAOUI,SAAS,0BAAAC,OAAA;EAAA,IAAAC,UAAA,CAAAC,OAAA,EAAAH,SAAA,EAAAC,OAAA;EAAA,IAAAG,MAAA,OAAAC,aAAA,CAAAF,OAAA,EAAAH,SAAA;EAKlB,SAAAA,UAAmBM,EAAU,EAAgC;IAAA,IAAAC,KAAA;IAAA,IAA9BC,MAAuB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAAA,IAAAG,gBAAA,CAAAT,OAAA,QAAAH,SAAA;IACvDO,KAAA,GAAAH,MAAA,CAAAS,IAAA,oBAAAC,MAAA,CAAmBR,EAAE;IAAI,IAAAS,gBAAA,CAAAZ,OAAA,MAAAa,uBAAA,CAAAb,OAAA,EAAAI,KAAA,kBALP,IAAIU,GAAG,CAAS,CAAC;IAOnCV,KAAA,CAAKW,OAAO,CAAC,KAAK,CAAC;IACnBX,KAAA,CAAKY,YAAY,CAAC/B,IAAI,CAAC;IACvBmB,KAAA,CAAKY,YAAY,CAAC,mBAAmB,CAAC;IACtCZ,KAAA,CAAKa,WAAW,CAAC,CAAC;IAElB,IAAIZ,MAAM,CAACf,SAAS,EAAE;MAClBc,KAAA,CAAKc,YAAY,CAAC,CAAC,CAACC,UAAU,CAACd,MAAM,CAACf,SAAS,CAAC;IACpD;IAEA,IAAIe,MAAM,CAACT,UAAU,EAAE;MACnBQ,KAAA,CAAKgB,aAAa,CAAC,CAAC,CAACD,UAAU,CAACd,MAAM,CAACT,UAAU,CAAC;IACtD;IAAC,OAAAQ,KAAA;EACL;EAAC,IAAAiB,aAAA,CAAArB,OAAA,EAAAH,SAAA;IAAAyB,GAAA;IAAAC,KAAA,EAED,SAAAP,aAAoBQ,SAAiB,EAAQ;MACzC,IAAI,CAACC,WAAW,CAACC,GAAG,CAACF,SAAS,CAAC;IACnC;EAAC;IAAAF,GAAA;IAAAC,KAAA,EAED,SAAAI,gBAAuBH,SAAiB,EAAQ;MAC5C,IAAI,CAACC,WAAW,CAACG,MAAM,CAACJ,SAAS,CAAC;IACtC;EAAC;IAAAF,GAAA;IAAAC,KAAA,EAED,SAAAL,aAAA,EAA6C;MACzC,OAAO,IAAI,CAACW,UAAU,CAAC,WAAW,CAAC;IACvC;EAAC;IAAAP,GAAA;IAAAC,KAAA,EAED,SAAAH,cAAA,EAA8C;MAC1C,OAAO,IAAI,CAACS,UAAU,CAAC,YAAY,CAAC;IACxC;EAAC;IAAAP,GAAA;IAAAC,KAAA,EAED,SAAAO,OAAuBC,KAAW,EAAmB;MACjD,oBACItD,MAAA,CAAAuB,OAAA,CAAAgC,aAAA,CAAClD,KAAA,CAAAmD,IAAI;QAACT,SAAS,EAAE,IAAAU,mBAAU,EAACC,KAAK,CAACC,IAAI,CAAC,IAAI,CAACX,WAAW,CAACY,MAAM,CAAC,CAAC,CAAC;MAAE,OAAAC,KAAA,CAAAtC,OAAA,MAAAuC,gBAAA,CAAAvC,OAAA,EAAAH,SAAA,CAAA2C,SAAA,mBAAA9B,IAAA,OACjDqB,KAAK,CACjB,CAAC;IAEf;EAAC;IAAAT,GAAA;IAAAC,KAAA,EAED,SAAAN,YAAA,EAA4B;MACxB,IAAI,CAACwB,UAAU,GAAG,IAAIC,4CAAqB,CAAC,WAAW,CAAC;MACxD,IAAI,CAACD,UAAU,CAAC1B,OAAO,CAAC,KAAK,CAAC;MAC9B,IAAI,CAAC0B,UAAU,CAACE,QAAQ,CAAC,CAAC,CAAC;MAC3B,IAAI,CAACF,UAAU,CAACzB,YAAY,CAAC1B,SAAS,CAAC;MACvC,IAAI,CAACmD,UAAU,CAACzB,YAAY,CAAC,+BAA+B,CAAC;MAE7D,IAAI,CAAC4B,WAAW,GAAG,IAAIF,4CAAqB,CAAC,YAAY,CAAC;MAC1D,IAAI,CAACE,WAAW,CAAC7B,OAAO,CAAC,KAAK,CAAC;MAC/B,IAAI,CAAC6B,WAAW,CAACD,QAAQ,CAAC,CAAC,CAAC;MAC5B,IAAI,CAACC,WAAW,CAAC5B,YAAY,CAACpB,UAAU,CAAC;MACzC,IAAI,CAACgD,WAAW,CAAC5B,YAAY,CAAC,gCAAgC,CAAC;MAE/D,IAAI,CAACG,UAAU,CAAC,IAAI,CAACsB,UAAU,CAAC;MAChC,IAAI,CAACG,WAAW,CAACC,SAAS,CAAC,IAAI,CAACJ,UAAU,CAAC;IAC/C;EAAC;EAAA,OAAA5C,SAAA;AAAA,EA7D0BiD,eAAM;AAAAC,OAAA,CAAAlD,SAAA,GAAAA,SAAA"}