@webiny/app-admin 5.23.1 → 5.25.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/base/Admin.d.ts +3 -10
- package/base/Admin.js +4 -0
- package/base/Admin.js.map +1 -0
- package/base/Base.d.ts +1 -1
- package/base/Base.js.map +1 -0
- package/base/plugins/AddGraphQLQuerySelection.d.ts +2 -2
- package/base/plugins/AddGraphQLQuerySelection.js +3 -2
- package/base/plugins/AddGraphQLQuerySelection.js.map +1 -0
- package/base/providers/ApolloProvider.d.ts +9 -3
- package/base/providers/ApolloProvider.js +2 -1
- package/base/providers/ApolloProvider.js.map +1 -0
- package/base/providers/TelemetryProvider.d.ts +2 -4
- package/base/providers/TelemetryProvider.js +5 -0
- package/base/providers/TelemetryProvider.js.map +1 -0
- package/base/providers/UiStateProvider.d.ts +1 -3
- package/base/providers/UiStateProvider.js.map +1 -0
- package/base/providers/ViewCompositionProvider.d.ts +4 -5
- package/base/providers/ViewCompositionProvider.js +8 -1
- package/base/providers/ViewCompositionProvider.js.map +1 -0
- package/base/ui/Brand.d.ts +2 -9
- package/base/ui/Brand.js.map +1 -0
- package/base/ui/CenteredView.d.ts +1 -5
- package/base/ui/CenteredView.js.map +1 -0
- package/base/ui/Dashboard.d.ts +2 -9
- package/base/ui/Dashboard.js.map +1 -0
- package/base/ui/Layout.d.ts +2 -8
- package/base/ui/Layout.js.map +1 -0
- package/base/ui/LocaleSelector.d.ts +2 -9
- package/base/ui/LocaleSelector.js.map +1 -0
- package/base/ui/LoginScreen.d.ts +2 -5
- package/base/ui/LoginScreen.js.map +1 -0
- package/base/ui/Logo.d.ts +3 -9
- package/base/ui/Logo.js.map +1 -0
- package/base/ui/Menu.d.ts +8 -12
- package/base/ui/Menu.js +96 -30
- package/base/ui/Menu.js.map +1 -0
- package/base/ui/Navigation.d.ts +9 -20
- package/base/ui/Navigation.js +29 -29
- package/base/ui/Navigation.js.map +1 -0
- package/base/ui/NotFound.d.ts +2 -9
- package/base/ui/NotFound.js.map +1 -0
- package/base/ui/Search.d.ts +4 -13
- package/base/ui/Search.js +6 -1
- package/base/ui/Search.js.map +1 -0
- package/base/ui/Tags.d.ts +4 -2
- package/base/ui/Tags.js.map +1 -0
- package/base/ui/UserMenu.d.ts +9 -33
- package/base/ui/UserMenu.js +15 -2
- package/base/ui/UserMenu.js.map +1 -0
- package/components/AdminLayout.d.ts +1 -2
- package/components/AdminLayout.js.map +1 -0
- package/components/AppInstaller/AppInstaller.d.ts +2 -4
- package/components/AppInstaller/AppInstaller.js.map +1 -0
- package/components/AppInstaller/Sidebar.d.ts +8 -6
- package/components/AppInstaller/Sidebar.js +11 -10
- package/components/AppInstaller/Sidebar.js.map +1 -0
- package/components/AppInstaller/index.js.map +1 -0
- package/components/AppInstaller/styled.d.ts +4 -4
- package/components/AppInstaller/styled.js.map +1 -0
- package/components/AppInstaller/useInstaller.d.ts +28 -9
- package/components/AppInstaller/useInstaller.js +44 -36
- package/components/AppInstaller/useInstaller.js.map +1 -0
- package/components/EmptyView.d.ts +5 -5
- package/components/EmptyView.js.map +1 -0
- package/components/FileManager/BottomInfoBar/SupportedFileTypes.d.ts +5 -4
- package/components/FileManager/BottomInfoBar/SupportedFileTypes.js +7 -1
- package/components/FileManager/BottomInfoBar/SupportedFileTypes.js.map +1 -0
- package/components/FileManager/BottomInfoBar/UploadStatus.d.ts +5 -4
- package/components/FileManager/BottomInfoBar/UploadStatus.js.map +1 -0
- package/components/FileManager/BottomInfoBar.d.ts +4 -2
- package/components/FileManager/BottomInfoBar.js.map +1 -0
- package/components/FileManager/DropFilesHere.d.ts +4 -3
- package/components/FileManager/DropFilesHere.js +5 -2
- package/components/FileManager/DropFilesHere.js.map +1 -0
- package/components/FileManager/File.d.ts +7 -8
- package/components/FileManager/File.js +11 -5
- package/components/FileManager/File.js.map +1 -0
- package/components/FileManager/FileDetails/Name.d.ts +7 -5
- package/components/FileManager/FileDetails/Name.js +10 -7
- package/components/FileManager/FileDetails/Name.js.map +1 -0
- package/components/FileManager/FileDetails/Tags.d.ts +7 -5
- package/components/FileManager/FileDetails/Tags.js +22 -9
- package/components/FileManager/FileDetails/Tags.js.map +1 -0
- package/components/FileManager/FileDetails.d.ts +9 -8
- package/components/FileManager/FileDetails.js +80 -41
- package/components/FileManager/FileDetails.js.map +1 -0
- package/components/FileManager/FileManagerContext.d.ts +12 -9
- package/components/FileManager/FileManagerContext.js +14 -7
- package/components/FileManager/FileManagerContext.js.map +1 -0
- package/components/FileManager/FileManagerView.d.ts +3 -11
- package/components/FileManager/FileManagerView.js +79 -51
- package/components/FileManager/FileManagerView.js.map +1 -0
- package/components/FileManager/LeftSidebar.d.ts +6 -5
- package/components/FileManager/LeftSidebar.js +6 -5
- package/components/FileManager/LeftSidebar.js.map +1 -0
- package/components/FileManager/NoPermissionView.d.ts +2 -2
- package/components/FileManager/NoPermissionView.js.map +1 -0
- package/components/FileManager/NoResults.d.ts +3 -2
- package/components/FileManager/NoResults.js +5 -2
- package/components/FileManager/NoResults.js.map +1 -0
- package/components/FileManager/getFileTypePlugin.d.ts +4 -1
- package/components/FileManager/getFileTypePlugin.js +9 -0
- package/components/FileManager/getFileTypePlugin.js.map +1 -0
- package/components/FileManager/getFileUploader.d.ts +2 -1
- package/components/FileManager/getFileUploader.js.map +1 -0
- package/components/FileManager/graphql.d.ts +90 -0
- package/components/FileManager/graphql.js +25 -0
- package/components/FileManager/graphql.js.map +1 -0
- package/components/FileManager/outputFileSelectionError.d.ts +6 -1
- package/components/FileManager/outputFileSelectionError.js +3 -2
- package/components/FileManager/outputFileSelectionError.js.map +1 -0
- package/components/FileManager/types.d.ts +19 -0
- package/components/FileManager/types.js +1 -0
- package/components/FileManager/types.js.map +1 -0
- package/components/FileManager.d.ts +15 -10
- package/components/FileManager.js +27 -16
- package/components/FileManager.js.map +1 -0
- package/components/FloatingActionButton.d.ts +2 -2
- package/components/FloatingActionButton.js.map +1 -0
- package/components/MultiImageUpload.d.ts +13 -4
- package/components/MultiImageUpload.js +15 -4
- package/components/MultiImageUpload.js.map +1 -0
- package/components/OverlayLayout/OverlayLayout.d.ts +10 -13
- package/components/OverlayLayout/OverlayLayout.js.map +1 -0
- package/components/OverlayLayout/index.js.map +1 -0
- package/components/Permissions/Permissions.d.ts +4 -4
- package/components/Permissions/Permissions.js.map +1 -0
- package/components/Permissions/StyledComponents.d.ts +6 -4
- package/components/Permissions/StyledComponents.js.map +1 -0
- package/components/Permissions/index.js.map +1 -0
- package/components/RichTextEditor/RichTextEditor.d.ts +2 -2
- package/components/RichTextEditor/RichTextEditor.js.map +1 -0
- package/components/RichTextEditor/index.js.map +1 -0
- package/components/RichTextEditor/tools/header/index.d.ts +33 -34
- package/components/RichTextEditor/tools/header/index.js +5 -6
- package/components/RichTextEditor/tools/header/index.js.map +1 -0
- package/components/RichTextEditor/tools/image/index.d.ts +38 -13
- package/components/RichTextEditor/tools/image/index.js +4 -2
- package/components/RichTextEditor/tools/image/index.js.map +1 -0
- package/components/RichTextEditor/tools/image/svgs.js.map +1 -0
- package/components/RichTextEditor/tools/image/tunes.d.ts +12 -15
- package/components/RichTextEditor/tools/image/tunes.js +9 -4
- package/components/RichTextEditor/tools/image/tunes.js.map +1 -0
- package/components/RichTextEditor/tools/image/types.d.ts +29 -0
- package/components/RichTextEditor/tools/image/types.js +1 -0
- package/components/RichTextEditor/tools/image/types.js.map +1 -0
- package/components/RichTextEditor/tools/image/ui.d.ts +36 -27
- package/components/RichTextEditor/tools/image/ui.js +25 -12
- package/components/RichTextEditor/tools/image/ui.js.map +1 -0
- package/components/RichTextEditor/tools/paragraph/index.d.ts +32 -36
- package/components/RichTextEditor/tools/paragraph/index.js +17 -25
- package/components/RichTextEditor/tools/paragraph/index.js.map +1 -0
- package/components/RichTextEditor/tools/textColor/index.d.ts +30 -22
- package/components/RichTextEditor/tools/textColor/index.js +46 -10
- package/components/RichTextEditor/tools/textColor/index.js.map +1 -0
- package/components/RichTextEditor/tools/utils.js.map +1 -0
- package/components/Routes.d.ts +2 -2
- package/components/Routes.js.map +1 -0
- package/components/SearchUI.d.ts +4 -4
- package/components/SearchUI.js.map +1 -0
- package/components/SimpleForm/SimpleForm.d.ts +10 -11
- package/components/SimpleForm/SimpleForm.js.map +1 -0
- package/components/SimpleForm/index.js.map +1 -0
- package/components/SimpleUI/InputField.d.ts +4 -3
- package/components/SimpleUI/InputField.js +22 -20
- package/components/SimpleUI/InputField.js.map +1 -0
- package/components/SingleImageUpload.d.ts +3 -9
- package/components/SingleImageUpload.js +9 -11
- package/components/SingleImageUpload.js.map +1 -0
- package/components/SplitView/SplitView.d.ts +5 -5
- package/components/SplitView/SplitView.js.map +1 -0
- package/components/SplitView/index.js.map +1 -0
- package/components/index.js.map +1 -0
- package/hooks/useConfirmationDialog.d.ts +6 -5
- package/hooks/useConfirmationDialog.js +1 -2
- package/hooks/useConfirmationDialog.js.map +1 -0
- package/hooks/useDialog.d.ts +8 -3
- package/hooks/useDialog.js +1 -1
- package/hooks/useDialog.js.map +1 -0
- package/hooks/useSnackbar.d.ts +6 -3
- package/hooks/useSnackbar.js.map +1 -0
- package/index.js.map +1 -0
- package/package.json +24 -20
- package/plugins/FileManagerFileTypePlugin.d.ts +3 -3
- package/plugins/FileManagerFileTypePlugin.js +4 -0
- package/plugins/FileManagerFileTypePlugin.js.map +1 -0
- package/plugins/MenuPlugin.d.ts +6 -6
- package/plugins/MenuPlugin.js +4 -0
- package/plugins/MenuPlugin.js.map +1 -0
- package/plugins/PermissionRendererPlugin.d.ts +4 -4
- package/plugins/PermissionRendererPlugin.js +4 -0
- package/plugins/PermissionRendererPlugin.js.map +1 -0
- package/plugins/fileManager/fileDefault.js.map +1 -0
- package/plugins/fileManager/fileImage/DeleteAction.d.ts +6 -2
- package/plugins/fileManager/fileImage/DeleteAction.js.map +1 -0
- package/plugins/fileManager/fileImage/EditAction.d.ts +7 -6
- package/plugins/fileManager/fileImage/EditAction.js +24 -11
- package/plugins/fileManager/fileImage/EditAction.js.map +1 -0
- package/plugins/fileManager/fileImage/index.js.map +1 -0
- package/plugins/fileManager/index.js.map +1 -0
- package/plugins/globalSearch/SearchBar.d.ts +14 -5
- package/plugins/globalSearch/SearchBar.js +9 -0
- package/plugins/globalSearch/SearchBar.js.map +1 -0
- package/plugins/globalSearch/SearchBarDropdown.d.ts +19 -1
- package/plugins/globalSearch/SearchBarDropdown.js.map +1 -0
- package/plugins/globalSearch/index.d.ts +2 -1
- package/plugins/globalSearch/index.js.map +1 -0
- package/plugins/globalSearch/styled.d.ts +3 -3
- package/plugins/globalSearch/styled.js.map +1 -0
- package/plugins/index.d.ts +2 -1
- package/plugins/index.js.map +1 -0
- package/plugins/uiLayoutRenderer/index.js.map +1 -0
- package/types.d.ts +10 -8
- package/types.js.map +1 -0
- package/ui/UIElement.d.ts +1 -1
- package/ui/UIElement.js.map +1 -0
- package/ui/UILayout.js.map +1 -0
- package/ui/UIRenderer.js.map +1 -0
- package/ui/UIView.d.ts +1 -1
- package/ui/UIView.js.map +1 -0
- package/ui/elements/AccordionElement.d.ts +5 -5
- package/ui/elements/AccordionElement.js +4 -0
- package/ui/elements/AccordionElement.js.map +1 -0
- package/ui/elements/ButtonElement.d.ts +3 -3
- package/ui/elements/ButtonElement.js +7 -0
- package/ui/elements/ButtonElement.js.map +1 -0
- package/ui/elements/ButtonGroupElement.d.ts +2 -2
- package/ui/elements/ButtonGroupElement.js.map +1 -0
- package/ui/elements/GenericElement.js.map +1 -0
- package/ui/elements/LabelElement.js.map +1 -0
- package/ui/elements/NavigationMenuElement.d.ts +2 -1
- package/ui/elements/NavigationMenuElement.js +3 -2
- package/ui/elements/NavigationMenuElement.js.map +1 -0
- package/ui/elements/PanelElement.js.map +1 -0
- package/ui/elements/PlaceholderElement.d.ts +2 -1
- package/ui/elements/PlaceholderElement.js.map +1 -0
- package/ui/elements/SmallButtonElement.d.ts +1 -1
- package/ui/elements/SmallButtonElement.js.map +1 -0
- package/ui/elements/TypographyElement.d.ts +1 -1
- package/ui/elements/TypographyElement.js.map +1 -0
- package/ui/elements/ViewElement.js.map +1 -0
- package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.d.ts +2 -2
- package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js +10 -10
- package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js.map +1 -0
- package/ui/elements/form/DynamicFieldsetElement.d.ts +19 -18
- package/ui/elements/form/DynamicFieldsetElement.js +13 -0
- package/ui/elements/form/DynamicFieldsetElement.js.map +1 -0
- package/ui/elements/form/FileManagerElement/EmptyStateElement.js.map +1 -0
- package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js.map +1 -0
- package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js.map +1 -0
- package/ui/elements/form/FileManagerElement/styled.d.ts +17 -13
- package/ui/elements/form/FileManagerElement/styled.js.map +1 -0
- package/ui/elements/form/FileManagerElement.d.ts +6 -6
- package/ui/elements/form/FileManagerElement.js.map +1 -0
- package/ui/elements/form/FormElement.d.ts +5 -5
- package/ui/elements/form/FormElement.js.map +1 -0
- package/ui/elements/form/FormFieldElement.d.ts +9 -8
- package/ui/elements/form/FormFieldElement.js +15 -7
- package/ui/elements/form/FormFieldElement.js.map +1 -0
- package/ui/elements/form/HiddenElement.js.map +1 -0
- package/ui/elements/form/InputElement.d.ts +1 -0
- package/ui/elements/form/InputElement.js.map +1 -0
- package/ui/elements/form/PasswordElement.js.map +1 -0
- package/ui/elements/form/SelectElement.d.ts +1 -1
- package/ui/elements/form/SelectElement.js +1 -1
- package/ui/elements/form/SelectElement.js.map +1 -0
- package/ui/elements/form/TextareaElement.js.map +1 -0
- package/ui/views/AdminView/ContentElement.js.map +1 -0
- package/ui/views/AdminView/HeaderElement.js +14 -2
- package/ui/views/AdminView/HeaderElement.js.map +1 -0
- package/ui/views/AdminView/HeaderSectionCenterElement.d.ts +2 -2
- package/ui/views/AdminView/HeaderSectionCenterElement.js.map +1 -0
- package/ui/views/AdminView/HeaderSectionLeftElement.d.ts +2 -2
- package/ui/views/AdminView/HeaderSectionLeftElement.js.map +1 -0
- package/ui/views/AdminView/HeaderSectionRightElement.d.ts +2 -2
- package/ui/views/AdminView/HeaderSectionRightElement.js.map +1 -0
- package/ui/views/AdminView/components/Dialog.js.map +1 -0
- package/ui/views/AdminView/components/Hamburger.d.ts +2 -2
- package/ui/views/AdminView/components/Hamburger.js.map +1 -0
- package/ui/views/AdminView/components/Snackbar.d.ts +2 -2
- package/ui/views/AdminView/components/Snackbar.js.map +1 -0
- package/ui/views/FormView/FormContainerElement.d.ts +2 -2
- package/ui/views/FormView/FormContainerElement.js.map +1 -0
- package/ui/views/FormView/FormContentElement.js.map +1 -0
- package/ui/views/FormView/FormFooterElement.d.ts +3 -3
- package/ui/views/FormView/FormFooterElement.js.map +1 -0
- package/ui/views/FormView/FormHeaderElement.d.ts +2 -2
- package/ui/views/FormView/FormHeaderElement.js.map +1 -0
- package/ui/views/FormView.d.ts +1 -1
- package/ui/views/FormView.js +25 -3
- package/ui/views/FormView.js.map +1 -0
- package/ui/views/OverlayView/ContentElement.d.ts +2 -2
- package/ui/views/OverlayView/ContentElement.js.map +1 -0
- package/ui/views/OverlayView/HeaderElement.d.ts +5 -5
- package/ui/views/OverlayView/HeaderElement.js.map +1 -0
- package/ui/views/OverlayView/HeaderTitleElement.d.ts +1 -1
- package/ui/views/OverlayView/HeaderTitleElement.js.map +1 -0
- package/ui/views/OverlayView/useOverlayView.d.ts +4 -5
- package/ui/views/OverlayView/useOverlayView.js +2 -2
- package/ui/views/OverlayView/useOverlayView.js.map +1 -0
- package/ui/views/OverlayView.d.ts +4 -6
- package/ui/views/OverlayView.js.map +1 -0
- package/ui/views/SplitView/SplitViewPanelElement.d.ts +3 -3
- package/ui/views/SplitView/SplitViewPanelElement.js.map +1 -0
- package/ui/views/SplitView.d.ts +3 -3
- package/ui/views/SplitView.js.map +1 -0
|
@@ -24,12 +24,18 @@ export var ButtonElement = /*#__PURE__*/function (_UIElement) {
|
|
|
24
24
|
_createClass(ButtonElement, [{
|
|
25
25
|
key: "setLabel",
|
|
26
26
|
value: function setLabel(label) {
|
|
27
|
+
/**
|
|
28
|
+
* TODO @ts-refactor
|
|
29
|
+
* 'TProps' could be instantiated with an arbitrary type which could be unrelated to 'TRenderProps'
|
|
30
|
+
*/
|
|
31
|
+
// @ts-ignore
|
|
27
32
|
this.config.label = label;
|
|
28
33
|
}
|
|
29
34
|
}, {
|
|
30
35
|
key: "getLabel",
|
|
31
36
|
value: function getLabel(props) {
|
|
32
37
|
if (typeof this.config.label === "function") {
|
|
38
|
+
// TODO @ts-refactor find out correct types to pass
|
|
33
39
|
return this.config.label(props);
|
|
34
40
|
}
|
|
35
41
|
|
|
@@ -44,6 +50,7 @@ export var ButtonElement = /*#__PURE__*/function (_UIElement) {
|
|
|
44
50
|
key: "getType",
|
|
45
51
|
value: function getType(props) {
|
|
46
52
|
if (typeof this.config.type === "function") {
|
|
53
|
+
// TODO @ts-refactor find out correct types to pass
|
|
47
54
|
return this.config.type(props);
|
|
48
55
|
}
|
|
49
56
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["ButtonElement.tsx"],"names":["React","ButtonDefault","ButtonPrimary","ButtonSecondary","UIElement","BUTTONS","default","primary","secondary","ButtonElement","label","config","props","type","onClick","Component","getType","getOnClick","getLabel"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,aAAT,EAAwBC,aAAxB,EAAuCC,eAAvC,QAA8D,mBAA9D;AACA,SAASC,SAAT;AAkBA,IAAMC,OAAO,GAAG;AACZC,EAAAA,OAAO,EAAEL,aADG;AAEZM,EAAAA,OAAO,EAAEL,aAFG;AAGZM,EAAAA,SAAS,EAAEL;AAHC,CAAhB;AAMA,WAAaM,aAAb;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA,WAGI,kBACIC,KADJ,EAEQ;AACJ;AACR;AACA;AACA;AACQ;AACA,WAAKC,MAAL,CAAYD,KAAZ,GAAoBA,KAApB;AACH;AAZL;AAAA;AAAA,WAcI,kBAAgBE,KAAhB,EAA8C;AAC1C,UAAI,OAAO,KAAKD,MAAL,CAAYD,KAAnB,KAA6B,UAAjC,EAA6C;AACzC;AACA,eAAO,KAAKC,MAAL,CAAYD,KAAZ,CAAkBE,KAAlB,CAAP;AACH;;AACD,aAAO,KAAKD,MAAL,CAAYD,KAAnB;AACH;AApBL;AAAA;AAAA,WAsBI,iBAAeG,IAAf,EAA8C;AAC1C,WAAKF,MAAL,CAAYE,IAAZ,GAAmBA,IAAnB;AACH;AAxBL;AAAA;AAAA,WA0BI,iBAAeD,KAAf,EAAwD;AACpD,UAAI,OAAO,KAAKD,MAAL,CAAYE,IAAnB,KAA4B,UAAhC,EAA4C;AACxC;AACA,eAAO,KAAKF,MAAL,CAAYE,IAAZ,CAAiBD,KAAjB,CAAP;AACH;;AACD,aAAO,KAAKD,MAAL,CAAYE,IAAnB;AACH;AAhCL;AAAA;AAAA,WAkCI,oBAAkBC,OAAlB,EAA8D;AAC1D,WAAKH,MAAL,CAAYG,OAAZ,GAAsBA,OAAtB;AACH;AApCL;AAAA;AAAA,WAsCI,sBAAoB;AAChB,aAAO,KAAKH,MAAL,CAAYG,OAAnB;AACH;AAxCL;AAAA;AAAA,WA0CI,gBAAuBF,KAAvB,EAAgE;AAC5D,UAAMG,SAAS,GAAGV,OAAO,CAAC,KAAKW,OAAL,CAAaJ,KAAb,CAAD,CAAzB;;AACA,UAAME,QAAO,GAAG,KAAKG,UAAL,EAAhB;;AAEA,0BAAO,oBAAC,SAAD;AAAW,QAAA,OAAO,EAAE;AAAA,iBAAMH,QAAO,CAACF,KAAD,CAAb;AAAA;AAApB,SAA2C,KAAKM,QAAL,CAAcN,KAAd,CAA3C,CAAP;AACH;AA/CL;;AAAA;AAAA,EAAuDR,SAAvD","sourcesContent":["import React from \"react\";\nimport { ButtonDefault, ButtonPrimary, ButtonSecondary } from \"@webiny/ui/Button\";\nimport { UIElement, UIElementConfig } from \"../UIElement\";\n\nexport type ButtonElementType = \"default\" | \"primary\" | \"secondary\";\n\nexport interface ButtonOnClick<TRenderProps = any> {\n (props: TRenderProps): void;\n}\n\ninterface GetterWithProps<TProps, TReturn> {\n (props: TProps): TReturn;\n}\n\nexport interface ButtonElementConfig<TRenderProps> extends UIElementConfig {\n type: ButtonElementType | GetterWithProps<TRenderProps, ButtonElementType>;\n label: string | GetterWithProps<TRenderProps, string>;\n onClick: ButtonOnClick<TRenderProps>;\n}\n\nconst BUTTONS = {\n default: ButtonDefault,\n primary: ButtonPrimary,\n secondary: ButtonSecondary\n};\n\nexport class ButtonElement<TRenderProps = any> extends UIElement<\n ButtonElementConfig<TRenderProps>\n> {\n public setLabel<TProps extends TRenderProps = TRenderProps>(\n label: string | GetterWithProps<TProps, string>\n ): void {\n /**\n * TODO @ts-refactor\n * 'TProps' could be instantiated with an arbitrary type which could be unrelated to 'TRenderProps'\n */\n // @ts-ignore\n this.config.label = label;\n }\n\n public getLabel(props?: TRenderProps): string {\n if (typeof this.config.label === \"function\") {\n // TODO @ts-refactor find out correct types to pass\n return this.config.label(props as TRenderProps);\n }\n return this.config.label;\n }\n\n public setType(type: ButtonElementType): void {\n this.config.type = type;\n }\n\n public getType(props?: TRenderProps): ButtonElementType {\n if (typeof this.config.type === \"function\") {\n // TODO @ts-refactor find out correct types to pass\n return this.config.type(props as TRenderProps);\n }\n return this.config.type;\n }\n\n public setOnClick(onClick: ButtonOnClick<TRenderProps>): void {\n this.config.onClick = onClick;\n }\n\n public getOnClick() {\n return this.config.onClick;\n }\n\n public override render(props: TRenderProps): React.ReactElement {\n const Component = BUTTONS[this.getType(props)];\n const onClick = this.getOnClick();\n\n return <Component onClick={() => onClick(props)}>{this.getLabel(props)}</Component>;\n }\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { UIElement } from "../UIElement";
|
|
2
|
+
import { UIElement, UiElementRenderProps } from "../UIElement";
|
|
3
3
|
export declare class ButtonGroupElement extends UIElement<any> {
|
|
4
4
|
constructor(id: string);
|
|
5
|
-
render(props?:
|
|
5
|
+
render(props?: UiElementRenderProps): React.ReactNode;
|
|
6
6
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["ButtonGroupElement.tsx"],"names":["React","UIElement","styled","ButtonGroup","display","height","width","alignItems","justifyContent","marginRight","ButtonGroupElement","id","useGrid","props"],"mappings":";;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AAEA,SAASC,SAAT;AACA,OAAOC,MAAP,MAAmB,iBAAnB;AAEA,IAAMC,WAAW,gBAAGD,MAAH,CAAU,KAAV;AAAA;AAAA;AAAA,GAAiB;AAC9BE,EAAAA,OAAO,EAAE,MADqB;AAE9BC,EAAAA,MAAM,EAAE,MAFsB;AAG9BC,EAAAA,KAAK,EAAE,MAHuB;AAI9BC,EAAAA,UAAU,EAAE,QAJkB;AAK9BC,EAAAA,cAAc,EAAE,QALc;AAM9B,cAAY;AACRC,IAAAA,WAAW,EAAE;AADL;AANkB,CAAjB,CAAjB;AAWA,WAAaC,kBAAb;AAAA;;AAAA;;AACI,8BAAmBC,EAAnB,EAA+B;AAAA;;AAAA;;AAC3B,8BAAMA,EAAN;;AAEA,UAAKC,OAAL,CAAa,KAAb;;AAH2B;AAI9B;;AALL;AAAA;AAAA,WAOI,gBAAuBC,KAAvB,EAAsE;AAClE,0BAAO,oBAAC,WAAD,uFAA2BA,KAA3B,EAAP;AACH;AATL;;AAAA;AAAA,EAAwCZ,SAAxC","sourcesContent":["import React from \"react\";\n\nimport { UIElement, UiElementRenderProps } from \"~/ui/UIElement\";\nimport styled from \"@emotion/styled\";\n\nconst ButtonGroup = styled(\"div\")({\n display: \"flex\",\n height: \"100%\",\n width: \"100%\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"> button\": {\n marginRight: 15\n }\n});\n\nexport class ButtonGroupElement extends UIElement<any> {\n public constructor(id: string) {\n super(id);\n\n this.useGrid(false);\n }\n\n public override render(props?: UiElementRenderProps): React.ReactNode {\n return <ButtonGroup>{super.render(props)}</ButtonGroup>;\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["GenericElement.tsx"],"names":[],"mappings":"AAAA,cAAc,6CAAd","sourcesContent":["export * from \"@webiny/ui-composer/elements/GenericElement\";\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["LabelElement.tsx"],"names":["UIElement","LabelElement","id","config","applyPlugins","text"],"mappings":";;;;AACA,SAASA,SAAT;;AAMA;AACA;AACA;AACA;AACA;AACA,WAAaC,YAAb;AAAA;;AAAA;;AACI,wBAAmBC,EAAnB,EAA+BC,MAA/B,EAA2D;AAAA;;AAAA;;AACvD,8BAAMD,EAAN,EAAUC,MAAV;;AAEA,UAAKC,YAAL,CAAkBH,YAAlB;;AAHuD;AAI1D;;AALL;AAAA;AAAA,WAOI,mBAAyB;AACrB,aAAO,KAAKE,MAAL,CAAYE,IAAnB;AACH;AATL;AAAA;AAAA,WAWI,iBAAeA,IAAf,EAAmC;AAC/B,WAAKF,MAAL,CAAYE,IAAZ,GAAmBA,IAAnB;AACH;AAbL;AAAA;AAAA,WAeI,kBAA0C;AACtC,aAAO,KAAKF,MAAL,CAAYE,IAAnB;AACH;AAjBL;;AAAA;AAAA,EAAkCL,SAAlC","sourcesContent":["import React from \"react\";\nimport { UIElement, UIElementConfig } from \"~/ui/UIElement\";\n\nexport interface LabelElementConfig extends UIElementConfig {\n text: string;\n}\n\n/**\n * !GOOD FIRST ISSUE!\n * Add support for `text` config and `setText` setter to accept functions.\n * See example in ButtonElement: packages/app-admin/src/ui/elements/ButtonElement.tsx\n */\nexport class LabelElement extends UIElement<LabelElementConfig> {\n public constructor(id: string, config: LabelElementConfig) {\n super(id, config);\n\n this.applyPlugins(LabelElement);\n }\n\n public getText(): string {\n return this.config.text;\n }\n\n public setText(text: string): void {\n this.config.text = text;\n }\n\n public override render(): React.ReactNode {\n return this.config.text;\n }\n}\n"]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { UIElement, UIElementConfig } from "../UIElement";
|
|
3
|
+
import { UILayoutSorter } from "@webiny/ui-composer/UILayout";
|
|
3
4
|
export interface NavigationMenuElementConfig extends UIElementConfig {
|
|
4
5
|
label: React.ReactNode;
|
|
5
6
|
icon?: React.ReactElement;
|
|
@@ -18,7 +19,7 @@ export declare class NavigationMenuElement<TConfig extends NavigationMenuElement
|
|
|
18
19
|
private _sorters;
|
|
19
20
|
constructor(id: string, config: TConfig);
|
|
20
21
|
addElement<TElement extends UIElement = UIElement>(element: TElement): TElement;
|
|
21
|
-
addSorter(sorter:
|
|
22
|
+
addSorter(sorter: UILayoutSorter<NavigationMenuElementConfig>): void;
|
|
22
23
|
get isExpanded(): boolean;
|
|
23
24
|
setIcon(icon: React.ReactElement): void;
|
|
24
25
|
setLabel(label: string): void;
|
|
@@ -121,9 +121,10 @@ export var NavigationMenuElement = /*#__PURE__*/function (_UIElement) {
|
|
|
121
121
|
value: function toggleElement() {
|
|
122
122
|
if (this._isExpanded) {
|
|
123
123
|
this.collapseElement();
|
|
124
|
-
|
|
125
|
-
this.expandElement();
|
|
124
|
+
return;
|
|
126
125
|
}
|
|
126
|
+
|
|
127
|
+
this.expandElement();
|
|
127
128
|
}
|
|
128
129
|
}, {
|
|
129
130
|
key: "loadState",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["NavigationMenuElement.tsx"],"names":["default","localStorage","UIElement","LOCAL_STORAGE_KEY","TAGS","NavigationMenuElement","id","config","useGrid","state","loadState","_isExpanded","includes","addSorter","a","b","hasTag","APP","UTILS","label","localeCompare","applyPlugins","element","runSorters","sorter","_sorters","push","icon","path","storeState","getView","refresh","splice","indexOf","collapseElement","expandElement","get","split","filter","Boolean","set","join","getLayout","sort"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { default as localStorage } from \"store\";\nimport { UIElement, UIElementConfig } from \"~/ui/UIElement\";\nimport { UILayoutSorter } from \"@webiny/ui-composer/UILayout\";\n\nexport interface NavigationMenuElementConfig extends UIElementConfig {\n label: React.ReactNode;\n icon?: React.ReactElement;\n path?: string;\n onClick?: Function;\n testId?: string;\n rel?: string;\n target?: string;\n}\n\nconst LOCAL_STORAGE_KEY = \"webiny_apps_menu_sections\";\n\nexport enum TAGS {\n UTILS = \"utils\",\n APP = \"app\"\n}\n\nexport class NavigationMenuElement<\n TConfig extends NavigationMenuElementConfig = NavigationMenuElementConfig\n> extends UIElement<TConfig> {\n private _isExpanded = false;\n private _sorters: UILayoutSorter<NavigationMenuElementConfig>[] = [];\n\n public constructor(id: string, config: TConfig) {\n super(id, config);\n\n this.useGrid(false);\n\n const state = this.loadState();\n this._isExpanded = state.includes(this.id);\n\n this.addSorter((a, b) => {\n if (a.hasTag(TAGS.APP) && b.hasTag(TAGS.UTILS)) {\n return -1;\n }\n\n if (a.hasTag(TAGS.UTILS) && b.hasTag(TAGS.APP)) {\n return 1;\n }\n\n return (a.config.label as string).localeCompare(b.config.label as string);\n });\n\n // Apply plugins\n this.applyPlugins(NavigationMenuElement);\n }\n\n public override addElement<TElement extends UIElement = UIElement>(\n element: TElement\n ): TElement {\n super.addElement(element);\n this.runSorters();\n return element;\n }\n\n public addSorter(sorter: UILayoutSorter<NavigationMenuElementConfig>): void {\n this._sorters.push(sorter);\n }\n\n get isExpanded(): boolean {\n return this._isExpanded;\n }\n\n public setIcon(icon: React.ReactElement): void {\n this.config.icon = icon;\n }\n\n public setLabel(label: string): void {\n this.config.label = label;\n }\n\n public setPath(path: string): void {\n this.config.path = path;\n }\n\n public expandElement(): void {\n this._isExpanded = true;\n const state = this.loadState();\n if (!state.includes(this.id)) {\n state.push(this.id);\n }\n this.storeState(state);\n this.getView().refresh();\n }\n\n public collapseElement(): void {\n this._isExpanded = false;\n const state = this.loadState();\n if (state.includes(this.id)) {\n state.splice(state.indexOf(this.id), 1);\n }\n this.storeState(state);\n this.getView().refresh();\n }\n\n public toggleElement(): void {\n if (this._isExpanded) {\n this.collapseElement();\n return;\n }\n this.expandElement();\n }\n\n private loadState(): string[] {\n return (localStorage.get(LOCAL_STORAGE_KEY) || \"\").split(\",\").filter(Boolean);\n }\n\n private storeState(state: string[]): void {\n localStorage.set(LOCAL_STORAGE_KEY, state.join(\",\"));\n }\n\n private runSorters(): void {\n for (const sorter of this._sorters) {\n this.getLayout().sort(sorter);\n }\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["PanelElement.tsx"],"names":["UIElement","PanelElement"],"mappings":";;;;AAAA,SAASA,SAAT;AAEA,WAAaC,YAAb;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA,EAAkCD,SAAlC","sourcesContent":["import { UIElement } from \"~/ui/UIElement\";\n\nexport class PanelElement extends UIElement<any> {}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["PlaceholderElement.tsx"],"names":["UIElement","PlaceholderElement"],"mappings":";;;;AAAA,SAASA,SAAT;AAEA,WAAaC,kBAAb;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA,WACI,kBAA0C;AACtC,aAAO,IAAP;AACH;AAHL;AAAA;AAAA,WAKI,kBAA+B;AAC3B;AACH;AAPL;;AAAA;AAAA,EAAwCD,SAAxC","sourcesContent":["import { UIElement } from \"../UIElement\";\n\nexport class PlaceholderElement extends UIElement {\n public override render(): React.ReactNode {\n return null;\n }\n\n public override remove(): void {\n return;\n }\n}\n"]}
|
|
@@ -2,5 +2,5 @@ import React from "react";
|
|
|
2
2
|
import { ButtonElement, ButtonElementConfig } from "./ButtonElement";
|
|
3
3
|
export declare class SmallButtonElement<TRenderProps = any> extends ButtonElement<TRenderProps> {
|
|
4
4
|
constructor(id: string, config: ButtonElementConfig<TRenderProps>);
|
|
5
|
-
render(props:
|
|
5
|
+
render(props: TRenderProps): React.ReactElement;
|
|
6
6
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["SmallButtonElement.tsx"],"names":["React","ButtonDefault","ButtonPrimary","ButtonSecondary","ButtonElement","BUTTONS","default","primary","secondary","SmallButtonElement","id","config","applyPlugins","props","Component","getType","onClick","getOnClick","getLabel"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,aAAT,EAAwBC,aAAxB,EAAuCC,eAAvC,QAA8D,mBAA9D;AACA,SAASC,aAAT;AAEA,IAAMC,OAAO,GAAG;AACZC,EAAAA,OAAO,EAAEL,aADG;AAEZM,EAAAA,OAAO,EAAEL,aAFG;AAGZM,EAAAA,SAAS,EAAEL;AAHC,CAAhB;AAMA,WAAaM,kBAAb;AAAA;;AAAA;;AACI,8BAAmBC,EAAnB,EAA+BC,MAA/B,EAA0E;AAAA;;AAAA;;AACtE,8BAAMD,EAAN,EAAUC,MAAV;;AAEA,UAAKC,YAAL,CAAkBH,kBAAlB;;AAHsE;AAIzE;;AALL;AAAA;AAAA,WAOI,gBAAuBI,KAAvB,EAAgE;AAC5D,UAAMC,SAAS,GAAGT,OAAO,CAAC,KAAKU,OAAL,EAAD,CAAzB;;AACA,UAAMC,QAAO,GAAG,KAAKC,UAAL,EAAhB;;AAEA,0BACI,oBAAC,SAAD;AAAW,QAAA,KAAK,MAAhB;AAAiB,QAAA,OAAO,EAAE;AAAA,iBAAMD,QAAO,CAACH,KAAD,CAAb;AAAA;AAA1B,SACK,KAAKK,QAAL,EADL,CADJ;AAKH;AAhBL;;AAAA;AAAA,EAA4Dd,aAA5D","sourcesContent":["import React from \"react\";\nimport { ButtonDefault, ButtonPrimary, ButtonSecondary } from \"@webiny/ui/Button\";\nimport { ButtonElement, ButtonElementConfig } from \"~/ui/elements/ButtonElement\";\n\nconst BUTTONS = {\n default: ButtonDefault,\n primary: ButtonPrimary,\n secondary: ButtonSecondary\n};\n\nexport class SmallButtonElement<TRenderProps = any> extends ButtonElement<TRenderProps> {\n public constructor(id: string, config: ButtonElementConfig<TRenderProps>) {\n super(id, config);\n\n this.applyPlugins(SmallButtonElement);\n }\n\n public override render(props: TRenderProps): React.ReactElement {\n const Component = BUTTONS[this.getType()];\n const onClick = this.getOnClick();\n\n return (\n <Component small onClick={() => onClick(props)}>\n {this.getLabel()}\n </Component>\n );\n }\n}\n"]}
|
|
@@ -6,7 +6,7 @@ interface TypographyElementConfig extends UIElementConfig {
|
|
|
6
6
|
}
|
|
7
7
|
export declare class TypographyElement extends UIElement<TypographyElementConfig> {
|
|
8
8
|
constructor(id: string, config: TypographyElementConfig);
|
|
9
|
-
getTypography():
|
|
9
|
+
getTypography(): TypographyT;
|
|
10
10
|
setTypography(typography: TypographyT): void;
|
|
11
11
|
render(props: any): React.ReactNode;
|
|
12
12
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["TypographyElement.tsx"],"names":["React","UIElement","Typography","TypographyElement","id","config","useGrid","applyPlugins","typography","props","getTypography"],"mappings":";;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,SAAT;AACA,SAASC,UAAT,QAA2B,uBAA3B;AAqBA,WAAaC,iBAAb;AAAA;;AAAA;;AACI,6BAAYC,EAAZ,EAAwBC,MAAxB,EAAyD;AAAA;;AAAA;;AACrD,8BAAMD,EAAN,EAAUC,MAAV;;AACA,UAAKC,OAAL,CAAa,KAAb;;AAEA,UAAKC,YAAL,CAAkBJ,iBAAlB;;AAJqD;AAKxD;;AANL;AAAA;AAAA,WAQI,yBAAoC;AAChC,aAAO,KAAKE,MAAL,CAAYG,UAAnB;AACH;AAVL;AAAA;AAAA,WAYI,uBAAqBA,UAArB,EAAoD;AAChD,WAAKH,MAAL,CAAYG,UAAZ,GAAyBA,UAAzB;AACH;AAdL;AAAA;AAAA,WAgBI,gBAAuBC,KAAvB,EAAoD;AAChD,0BAAO,oBAAC,UAAD;AAAY,QAAA,GAAG,EAAE,KAAKC,aAAL;AAAjB,uFAAqDD,KAArD,EAAP;AACH;AAlBL;;AAAA;AAAA,EAAuCR,SAAvC","sourcesContent":["import React from \"react\";\nimport { UIElement, UIElementConfig } from \"../UIElement\";\nimport { Typography } from \"@webiny/ui/Typography\";\n\nexport type TypographyT =\n | \"headline1\"\n | \"headline2\"\n | \"headline3\"\n | \"headline4\"\n | \"headline5\"\n | \"headline6\"\n | \"subtitle1\"\n | \"subtitle2\"\n | \"body1\"\n | \"body2\"\n | \"caption\"\n | \"button\"\n | \"overline\";\n\ninterface TypographyElementConfig extends UIElementConfig {\n typography: TypographyT;\n}\n\nexport class TypographyElement extends UIElement<TypographyElementConfig> {\n constructor(id: string, config: TypographyElementConfig) {\n super(id, config);\n this.useGrid(false);\n\n this.applyPlugins(TypographyElement);\n }\n\n public getTypography(): TypographyT {\n return this.config.typography;\n }\n\n public setTypography(typography: TypographyT): void {\n this.config.typography = typography;\n }\n\n public override render(props: any): React.ReactNode {\n return <Typography use={this.getTypography()}>{super.render(props)}</Typography>;\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["ViewElement.tsx"],"names":[],"mappings":"AAAA,cAAc,0CAAd","sourcesContent":["export * from \"@webiny/ui-composer/elements/ViewElement\";\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { UIElement } from "../../../UIElement";
|
|
2
|
+
import { UIElement, UiElementRenderProps } from "../../../UIElement";
|
|
3
3
|
export declare class DynamicFieldsetRowElement extends UIElement<any> {
|
|
4
4
|
constructor(id: string);
|
|
5
|
-
render(props?:
|
|
5
|
+
render(props?: UiElementRenderProps): React.ReactNode;
|
|
6
6
|
}
|
|
@@ -4,15 +4,11 @@ import _get from "@babel/runtime/helpers/get";
|
|
|
4
4
|
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
5
5
|
import _inherits from "@babel/runtime/helpers/inherits";
|
|
6
6
|
import _createSuper from "@babel/runtime/helpers/createSuper";
|
|
7
|
-
import
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
label: "DynamicFieldsetRow"
|
|
13
|
-
})({
|
|
14
|
-
paddingBottom: 10
|
|
15
|
-
}); // !GOOD FIRST ISSUE!
|
|
7
|
+
import { UIElement } from "../../../UIElement"; // import styled from "@emotion/styled";
|
|
8
|
+
// const DynamicFieldsetRow = styled("div")({
|
|
9
|
+
// paddingBottom: 10
|
|
10
|
+
// });
|
|
11
|
+
// !GOOD FIRST ISSUE!
|
|
16
12
|
// Extract rendering and styling into a DynamicFieldsetRowElementRenderer class.
|
|
17
13
|
|
|
18
14
|
export var DynamicFieldsetRowElement = /*#__PURE__*/function (_UIElement) {
|
|
@@ -36,7 +32,11 @@ export var DynamicFieldsetRowElement = /*#__PURE__*/function (_UIElement) {
|
|
|
36
32
|
key: "render",
|
|
37
33
|
value: function render(props) {
|
|
38
34
|
return _get(_getPrototypeOf(DynamicFieldsetRowElement.prototype), "render", this).call(this, props);
|
|
39
|
-
|
|
35
|
+
/**
|
|
36
|
+
* TODO @ts-refactor @pavel
|
|
37
|
+
* Why was this left here?
|
|
38
|
+
*/
|
|
39
|
+
// return <DynamicFieldsetRow>{}</DynamicFieldsetRow>;
|
|
40
40
|
}
|
|
41
41
|
}]);
|
|
42
42
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["DynamicFieldsetRowElement.tsx"],"names":["UIElement","DynamicFieldsetRowElement","id","applyPlugins","props"],"mappings":";;;;;;AACA,SAASA,SAAT,6B,CACA;AAEA;AACA;AACA;AAEA;AACA;;AAEA,WAAaC,yBAAb;AAAA;;AAAA;;AACI,qCAAmBC,EAAnB,EAA+B;AAAA;;AAAA;;AAC3B,8BAAMA,EAAN;;AAEA,UAAKC,YAAL,CAAkBF,yBAAlB;;AAH2B;AAI9B;;AALL;AAAA;AAAA,WAOI,gBAAuBG,KAAvB,EAAsE;AAClE,mGAAoBA,KAApB;AACA;AACR;AACA;AACA;AACQ;AACH;AAdL;;AAAA;AAAA,EAA+CJ,SAA/C","sourcesContent":["import React from \"react\";\nimport { UIElement, UiElementRenderProps } from \"~/ui/UIElement\";\n// import styled from \"@emotion/styled\";\n\n// const DynamicFieldsetRow = styled(\"div\")({\n// paddingBottom: 10\n// });\n\n// !GOOD FIRST ISSUE!\n// Extract rendering and styling into a DynamicFieldsetRowElementRenderer class.\n\nexport class DynamicFieldsetRowElement extends UIElement<any> {\n public constructor(id: string) {\n super(id);\n\n this.applyPlugins(DynamicFieldsetRowElement);\n }\n\n public override render(props?: UiElementRenderProps): React.ReactNode {\n return super.render(props);\n /**\n * TODO @ts-refactor @pavel\n * Why was this left here?\n */\n // return <DynamicFieldsetRow>{}</DynamicFieldsetRow>;\n }\n}\n"]}
|
|
@@ -6,35 +6,36 @@ interface DynamicFieldsetActions {
|
|
|
6
6
|
add: (index?: number) => () => void;
|
|
7
7
|
remove: (index: number) => () => void;
|
|
8
8
|
}
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
interface CreateHeaderCallable {
|
|
10
|
+
(params: {
|
|
11
11
|
actions: DynamicFieldsetActions;
|
|
12
|
-
})
|
|
13
|
-
|
|
12
|
+
}): UIElement;
|
|
13
|
+
}
|
|
14
|
+
interface CreateRowCallable {
|
|
15
|
+
(params: {
|
|
14
16
|
actions: DynamicFieldsetActions;
|
|
15
17
|
index: number;
|
|
16
18
|
row: DynamicFieldsetRowElement;
|
|
17
|
-
})
|
|
18
|
-
|
|
19
|
+
}): UIElement;
|
|
20
|
+
}
|
|
21
|
+
interface CreateEmptyCallable {
|
|
22
|
+
(params: {
|
|
19
23
|
actions: DynamicFieldsetActions;
|
|
20
|
-
})
|
|
24
|
+
}): UIElement;
|
|
25
|
+
}
|
|
26
|
+
export interface DynamicFieldsetElementConfig extends FormFieldElementConfig {
|
|
27
|
+
createHeader?: CreateHeaderCallable;
|
|
28
|
+
createRow?: CreateRowCallable;
|
|
29
|
+
createEmpty?: CreateEmptyCallable;
|
|
21
30
|
}
|
|
22
31
|
export declare class DynamicFieldsetElement extends FormFieldElement<DynamicFieldsetElementConfig> {
|
|
23
32
|
constructor(id: string, config: DynamicFieldsetElementConfig);
|
|
24
|
-
getCreateHeaderElement():
|
|
25
|
-
actions: DynamicFieldsetActions;
|
|
26
|
-
}) => UIElement<import("@webiny/ui-composer/UIElement").UIElementConfig<any>>;
|
|
33
|
+
getCreateHeaderElement(): CreateHeaderCallable | undefined;
|
|
27
34
|
setHeaderElement(element: UIElement): void;
|
|
28
35
|
setCreateHeaderElement(cb: DynamicFieldsetElementConfig["createHeader"]): void;
|
|
29
|
-
getCreateRowElement():
|
|
30
|
-
actions: DynamicFieldsetActions;
|
|
31
|
-
index: number;
|
|
32
|
-
row: DynamicFieldsetRowElement;
|
|
33
|
-
}) => UIElement<import("@webiny/ui-composer/UIElement").UIElementConfig<any>>;
|
|
36
|
+
getCreateRowElement(): CreateRowCallable | undefined;
|
|
34
37
|
setCreateRowElement(cb: DynamicFieldsetElementConfig["createRow"]): void;
|
|
35
|
-
getCreateEmptyElement():
|
|
36
|
-
actions: DynamicFieldsetActions;
|
|
37
|
-
}) => UIElement<import("@webiny/ui-composer/UIElement").UIElementConfig<any>>;
|
|
38
|
+
getCreateEmptyElement(): CreateEmptyCallable | undefined;
|
|
38
39
|
setEmptyElement(element: UIElement): void;
|
|
39
40
|
setCreateEmptyElement(cb: DynamicFieldsetElementConfig["createEmpty"]): void;
|
|
40
41
|
render(props: FormFieldElementRenderProps): React.ReactNode;
|
|
@@ -92,6 +92,10 @@ export var DynamicFieldsetElement = /*#__PURE__*/function (_FormFieldElement) {
|
|
|
92
92
|
row = _ref.row,
|
|
93
93
|
empty = _ref.empty;
|
|
94
94
|
return /*#__PURE__*/React.createElement(React.Fragment, null, header(function () {
|
|
95
|
+
if (!createHeader) {
|
|
96
|
+
return null;
|
|
97
|
+
}
|
|
98
|
+
|
|
95
99
|
var headerElement = createHeader({
|
|
96
100
|
actions: actions
|
|
97
101
|
}); // This element is not created via `this.addElement()` API.
|
|
@@ -101,6 +105,11 @@ export var DynamicFieldsetElement = /*#__PURE__*/function (_FormFieldElement) {
|
|
|
101
105
|
return headerElement ? headerElement.render(props) : null;
|
|
102
106
|
}), row(function (_ref2) {
|
|
103
107
|
var index = _ref2.index;
|
|
108
|
+
|
|
109
|
+
if (!createRow) {
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
|
|
104
113
|
var rowElement = createRow({
|
|
105
114
|
actions: actions,
|
|
106
115
|
index: index,
|
|
@@ -111,6 +120,10 @@ export var DynamicFieldsetElement = /*#__PURE__*/function (_FormFieldElement) {
|
|
|
111
120
|
rowElement && rowElement.setParent(_this2);
|
|
112
121
|
return rowElement ? /*#__PURE__*/React.createElement(Grid, null, rowElement.render(props)) : null;
|
|
113
122
|
}), empty(function () {
|
|
123
|
+
if (!createEmpty) {
|
|
124
|
+
return null;
|
|
125
|
+
}
|
|
126
|
+
|
|
114
127
|
var emptyElement = createEmpty({
|
|
115
128
|
actions: actions
|
|
116
129
|
}); // This element is not created via `this.addElement()` API.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["DynamicFieldsetElement.tsx"],"names":["React","FormFieldElement","DynamicFieldset","Grid","DynamicFieldsetRowElement","DynamicFieldsetElement","id","config","useGrid","applyPlugins","createHeader","element","cb","createRow","createEmpty","props","formProps","Error","Bind","getCreateHeaderElement","getCreateRowElement","getCreateEmptyElement","getName","getDefaultValue","actions","header","row","empty","headerElement","setParent","render","index","rowElement","emptyElement"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport {\n FormFieldElement,\n FormFieldElementConfig,\n FormFieldElementRenderProps\n} from \"~/ui/elements/form/FormFieldElement\";\nimport { UIElement } from \"~/ui/UIElement\";\nimport { DynamicFieldset } from \"@webiny/ui/DynamicFieldset\";\nimport { Grid } from \"@webiny/ui/Grid\";\nimport { DynamicFieldsetRowElement } from \"./DynamicFieldsetElement/DynamicFieldsetRowElement\";\n\ninterface DynamicFieldsetActions {\n add: (index?: number) => () => void;\n remove: (index: number) => () => void;\n}\n\ninterface CreateHeaderCallable {\n (params: { actions: DynamicFieldsetActions }): UIElement;\n}\n\ninterface CreateRowCallable {\n (params: {\n actions: DynamicFieldsetActions;\n index: number;\n row: DynamicFieldsetRowElement;\n }): UIElement;\n}\n\ninterface CreateEmptyCallable {\n (params: { actions: DynamicFieldsetActions }): UIElement;\n}\n\nexport interface DynamicFieldsetElementConfig extends FormFieldElementConfig {\n createHeader?: CreateHeaderCallable;\n createRow?: CreateRowCallable;\n createEmpty?: CreateEmptyCallable;\n}\n\nexport class DynamicFieldsetElement extends FormFieldElement<DynamicFieldsetElementConfig> {\n public constructor(id: string, config: DynamicFieldsetElementConfig) {\n super(id, config);\n\n this.useGrid(false);\n\n this.applyPlugins(DynamicFieldsetElement);\n }\n\n public getCreateHeaderElement() {\n return this.config.createHeader;\n }\n\n public setHeaderElement(element: UIElement): void {\n this.config.createHeader = () => element;\n }\n\n public setCreateHeaderElement(cb: DynamicFieldsetElementConfig[\"createHeader\"]): void {\n this.config.createHeader = cb;\n }\n\n public getCreateRowElement() {\n return this.config.createRow;\n }\n\n public setCreateRowElement(cb: DynamicFieldsetElementConfig[\"createRow\"]): void {\n this.config.createRow = cb;\n }\n\n public getCreateEmptyElement() {\n return this.config.createEmpty;\n }\n\n public setEmptyElement(element: UIElement): void {\n this.config.createEmpty = () => element;\n }\n\n public setCreateEmptyElement(cb: DynamicFieldsetElementConfig[\"createEmpty\"]): void {\n this.config.createEmpty = cb;\n }\n\n public override render(props: FormFieldElementRenderProps): React.ReactNode {\n if (!props.formProps) {\n throw Error(`DynamicFieldsetElement must be placed inside of a FormElement.`);\n }\n\n const { Bind } = props.formProps;\n const createHeader = this.getCreateHeaderElement();\n const createRow = this.getCreateRowElement();\n const createEmpty = this.getCreateEmptyElement();\n\n return (\n <Bind name={this.getName()} defaultValue={this.getDefaultValue(props)}>\n <DynamicFieldset>\n {({ actions, header, row, empty }) => (\n <React.Fragment>\n {header(() => {\n if (!createHeader) {\n return null;\n }\n const headerElement = createHeader({\n actions: actions as DynamicFieldsetActions\n });\n // This element is not created via `this.addElement()` API.\n // We need to manually give it a parent to enable proper grid rendering.\n headerElement && headerElement.setParent(this);\n\n return headerElement ? headerElement.render(props) : null;\n })}\n {row(({ index }) => {\n if (!createRow) {\n return null;\n }\n const rowElement = createRow({\n actions: actions as DynamicFieldsetActions,\n index,\n row: new DynamicFieldsetRowElement(`${this.id}.row.${index}`)\n });\n\n // This element is not created via `this.addElement()` API.\n // We need to manually give it a parent to enable proper grid rendering.\n rowElement && rowElement.setParent(this);\n\n return rowElement ? <Grid>{rowElement.render(props)}</Grid> : null;\n })}\n {empty(() => {\n if (!createEmpty) {\n return null;\n }\n const emptyElement = createEmpty({\n actions: actions as DynamicFieldsetActions\n });\n\n // This element is not created via `this.addElement()` API.\n // We need to manually give it a parent to enable proper grid rendering.\n emptyElement && emptyElement.setParent(this);\n\n return emptyElement ? emptyElement.render(props) : null;\n })}\n </React.Fragment>\n )}\n </DynamicFieldset>\n </Bind>\n );\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["EmptyStateElement.tsx"],"names":["UIElement","EmptyStateElementRenderer","EmptyStateElement","id","addRenderer"],"mappings":";;;;AAAA,SAASA,SAAT;AACA,SAASC,yBAAT;AAEA,WAAaC,iBAAb;AAAA;;AAAA;;AACI,6BAAmBC,EAAnB,EAA+B;AAAA;;AAAA;;AAC3B,8BAAMA,EAAN;;AAEA,UAAKC,WAAL,CAAiB,IAAIH,yBAAJ,EAAjB;;AAH2B;AAI9B;;AALL;AAAA,EAAuCD,SAAvC","sourcesContent":["import { UIElement } from \"~/ui/UIElement\";\nimport { EmptyStateElementRenderer } from \"./EmptyStateElementRenderer\";\n\nexport class EmptyStateElement extends UIElement<any> {\n public constructor(id: string) {\n super(id);\n\n this.addRenderer(new EmptyStateElementRenderer());\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["EmptyStateElementRenderer.tsx"],"names":["React","UIRenderer","Ui","Image","AddImageIconWrapper","AddImageWrapper","FilePreviewWrapper","RemoveImage","ReactComponent","AddFileIcon","Typography","RemoveImageIcon","EmptyStateElementRenderer","props","accept","fileManagerElement","getAccept","acceptsOnlyImages","every","el","startsWith","renderImageProps","width","height","value","showFileManager","onChange","src","split","pop"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AAEA,SAASC,UAAT;AACA,OAAO,KAAKC,EAAZ,MAAoB,wBAApB;AACA,SAASC,KAAT,QAAsB,wBAAtB;AAEA,SAASC,mBAAT,EAA8BC,eAA9B,EAA+CC,kBAA/C,EAAmEC,WAAnE;AACA,SAASC,cAAc,IAAIC,WAA3B;AACA,SAASC,UAAT,QAA2B,uBAA3B;AACA,SAASF,cAAc,IAAIG,eAA3B,QAAkD,mDAAlD;AAEA,WAAaC,yBAAb;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA,WAII,sBAEsF;AAAA,UADlFC,KACkF,QADlFA,KACkF;AAClF,UAAMC,MAAM,GAAGD,KAAK,CAACE,kBAAN,CAAyBC,SAAzB,EAAf;AACA,UAAMC,iBAAiB,GAAG,CAACH,MAAD,IAAWA,MAAM,CAACI,KAAP,CAAa,UAAAC,EAAE;AAAA,eAAIA,EAAE,CAACC,UAAH,CAAc,QAAd,CAAJ;AAAA,OAAf,CAArC;;AAEA,UAAIH,iBAAJ,EAAuB;AACnB,4BACI,oBAAC,EAAD,CAAI,KAAJ;AACI,UAAA,WAAW,EAAE,iBADjB;AAEI,UAAA,kBAAkB,EAAE,4BAAAI,gBAAgB;AAAA,gCAAI,oBAAC,KAAD,EAAWA,gBAAX,CAAJ;AAAA,WAFxC;AAGI,UAAA,KAAK,EAAE;AAAEC,YAAAA,KAAK,EAAE,MAAT;AAAiBC,YAAAA,MAAM,EAAE;AAAzB,WAHX;AAII,UAAA,KAAK,EAAEV,KAAK,CAACW,KAJjB;AAKI,UAAA,WAAW,EAAEX,KAAK,CAACY,eALvB;AAMI,UAAA,WAAW,EAAEZ,KAAK,CAACa;AANvB,UADJ;AAUH;;AAED,UAAIb,KAAK,CAACW,KAAV,EAAiB;AACb,4BACI,oBAAC,kBAAD,qBACI,kEACmB,oCAASX,KAAK,CAACW,KAAN,CAAYG,GAAZ,CAAgBC,KAAhB,CAAsB,GAAtB,EAA2BC,GAA3B,EAAT,CADnB,CADJ,eAKI,oBAAC,WAAD;AAAa,UAAA,OAAO,EAAE;AAAA,mBAAMhB,KAAK,CAACa,QAAN,CAAe,IAAf,CAAN;AAAA;AAAtB,wBACI,oBAAC,eAAD,OADJ,CALJ,eASI,oBAAC,eAAD;AAAiB,uBAAW,aAA5B;AAA2C,UAAA,OAAO,EAAEb,KAAK,CAACY;AAA1D,wBACI,oBAAC,mBAAD,qBACI,oBAAC,WAAD,OADJ,eAEI,oBAAC,UAAD;AAAY,UAAA,GAAG,EAAE;AAAjB,2BAFJ,CADJ,CATJ,CADJ;AAkBH;;AAED,0BACI,oBAAC,eAAD;AAAiB,qBAAW,aAA5B;AAA2C,QAAA,OAAO,EAAEZ,KAAK,CAACY;AAA1D,sBACI,oBAAC,mBAAD,qBACI,oBAAC,WAAD,OADJ,eAEI,oBAAC,UAAD;AAAY,QAAA,GAAG,EAAE;AAAjB,yBAFJ,CADJ,CADJ;AAQH;AApDL;;AAAA;AAAA,EAA+CxB,UAA/C","sourcesContent":["import React from \"react\";\nimport { EmptyStateElement } from \"./EmptyStateElement\";\nimport { UIRenderer, UIRenderParams } from \"~/ui/UIRenderer\";\nimport * as Ui from \"@webiny/ui/ImageUpload\";\nimport { Image } from \"@webiny/app/components\";\nimport { FileManagerElementRenderProps } from \"~/ui/elements/form/FileManagerElement/FileManagerElementRenderer\";\nimport { AddImageIconWrapper, AddImageWrapper, FilePreviewWrapper, RemoveImage } from \"./styled\";\nimport { ReactComponent as AddFileIcon } from \"~/assets/icons/attach_file_black_24dp.svg\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { ReactComponent as RemoveImageIcon } from \"@webiny/ui/ImageUpload/icons/round-close-24px.svg\";\n\nexport class EmptyStateElementRenderer extends UIRenderer<\n EmptyStateElement,\n FileManagerElementRenderProps\n> {\n public override render({\n props\n }: UIRenderParams<EmptyStateElement, FileManagerElementRenderProps>): React.ReactNode {\n const accept = props.fileManagerElement.getAccept();\n const acceptsOnlyImages = !accept || accept.every(el => el.startsWith(\"image/\"));\n\n if (acceptsOnlyImages) {\n return (\n <Ui.Image\n placeholder={\"Select an image\"}\n renderImagePreview={renderImageProps => <Image {...renderImageProps} />}\n style={{ width: \"100%\", height: \"auto\" }}\n value={props.value}\n uploadImage={props.showFileManager}\n removeImage={props.onChange}\n />\n );\n }\n\n if (props.value) {\n return (\n <FilePreviewWrapper>\n <span>\n Attached file: <strong>{props.value.src.split(\"/\").pop()}</strong>\n </span>\n\n <RemoveImage onClick={() => props.onChange(null)}>\n <RemoveImageIcon />\n </RemoveImage>\n\n <AddImageWrapper data-role={\"select-file\"} onClick={props.showFileManager}>\n <AddImageIconWrapper>\n <AddFileIcon />\n <Typography use={\"caption\"}>Select a file</Typography>\n </AddImageIconWrapper>\n </AddImageWrapper>\n </FilePreviewWrapper>\n );\n }\n\n return (\n <AddImageWrapper data-role={\"select-file\"} onClick={props.showFileManager}>\n <AddImageIconWrapper>\n <AddFileIcon />\n <Typography use={\"caption\"}>Select a file</Typography>\n </AddImageIconWrapper>\n </AddImageWrapper>\n );\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["FileManagerElementRenderer.tsx"],"names":["React","styled","UIRenderer","FormElementMessage","FileManager","ImageUploadWrapper","position","opacity","pointerEvents","transform","top","left","color","FileManagerElementRenderer","element","props","formProps","Error","Bind","accept","getAccept","label","getLabel","description","getDescription","getName","getValidators","getDefaultValue","value","cb","onBeforeChange","form","onAfterChange","onChange","validation","getOnChangePickAttributes","getMaxSize","getMultipleMaxCount","getMultipleMaxSize","showFileManager","getEmptyStateElement","render","fileManagerElement","isValid","message"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport styled from \"@emotion/styled\";\nimport { UIRenderer, UIRenderParams } from \"~/ui/UIRenderer\";\nimport { FormElementMessage } from \"@webiny/ui/FormElementMessage\";\nimport { FileManagerElement } from \"~/ui/elements/form/FileManagerElement\";\nimport { FileManager } from \"~/components\";\nimport { FormFieldElementRenderProps } from \"~/ui/elements/form/FormFieldElement\";\n\nconst ImageUploadWrapper = styled(\"div\")({\n position: \"relative\",\n \".disabled\": {\n opacity: 0.75,\n pointerEvents: \"none\"\n },\n \".mdc-floating-label--float-above\": {\n transform: \"scale(0.75)\",\n top: 10,\n left: 10,\n color: \"var(--mdc-theme-text-secondary-on-background)\"\n },\n \".mdc-text-field-helper-text\": {\n color: \"var(--mdc-theme-text-secondary-on-background)\"\n }\n});\n\nexport interface FileManagerElementRenderProps extends FormFieldElementRenderProps {\n fileManagerElement: FileManagerElement;\n value: any;\n showFileManager: () => void;\n onChange: (value: any) => void;\n}\n\nexport class FileManagerElementRenderer extends UIRenderer<\n FileManagerElement,\n FormFieldElementRenderProps\n> {\n public override render({\n element,\n props\n }: UIRenderParams<FileManagerElement, FormFieldElementRenderProps>): React.ReactNode {\n if (!props.formProps) {\n throw Error(`FileManagerElement must be placed inside of a FormElement.`);\n }\n\n const { Bind } = props.formProps;\n\n const accept = element.getAccept();\n const label = element.getLabel(props);\n const description = element.getDescription(props);\n\n return (\n <Bind\n name={element.getName()}\n validators={element.getValidators(props)}\n defaultValue={element.getDefaultValue(props)}\n beforeChange={(value: string, cb) => element.onBeforeChange(value, cb)}\n afterChange={(value: string, form) => element.onAfterChange(value, form)}\n >\n {({ value, onChange, validation }) => (\n <ImageUploadWrapper>\n {label && (\n <div className=\"mdc-floating-label mdc-floating-label--float-above\">\n {label}\n </div>\n )}\n\n <FileManager\n onChange={onChange}\n onChangePick={element.getOnChangePickAttributes()}\n accept={accept}\n images={!accept}\n maxSize={element.getMaxSize()}\n multipleMaxCount={element.getMultipleMaxCount()}\n multipleMaxSize={element.getMultipleMaxSize()}\n >\n {({ showFileManager }) =>\n element.getEmptyStateElement().render({\n ...props,\n fileManagerElement: element,\n showFileManager,\n value,\n onChange\n })\n }\n </FileManager>\n\n {validation.isValid === false && (\n <FormElementMessage error>{validation.message}</FormElementMessage>\n )}\n {validation.isValid !== false && description && (\n <FormElementMessage>{description}</FormElementMessage>\n )}\n </ImageUploadWrapper>\n )}\n </Bind>\n );\n }\n}\n"]}
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
export declare const AddImageIconWrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<import("react").
|
|
3
|
-
export declare const AddImageWrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<import("react").
|
|
4
|
-
export declare const AddImageWrapperRound: import("@emotion/styled-base").StyledComponent<Pick<import("react").
|
|
5
|
-
theme?: object;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
},
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
|
|
2
|
+
export declare const AddImageIconWrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement>, keyof import("react").HTMLAttributes<HTMLDivElement>>, object>;
|
|
3
|
+
export declare const AddImageWrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement>, keyof import("react").HTMLAttributes<HTMLDivElement>>, object>;
|
|
4
|
+
export declare const AddImageWrapperRound: import("@emotion/styled-base").StyledComponent<Pick<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & Pick<Pick<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement>, keyof import("react").HTMLAttributes<HTMLDivElement>>, keyof import("react").HTMLAttributes<HTMLDivElement>> & {
|
|
5
|
+
theme?: object | undefined;
|
|
6
|
+
} & {
|
|
7
|
+
children?: import("react").ReactNode;
|
|
8
|
+
}, "key" | keyof import("react").HTMLAttributes<HTMLDivElement> | "theme"> & {
|
|
9
|
+
ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
|
|
10
|
+
}, Pick<Pick<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & Pick<Pick<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement>, keyof import("react").HTMLAttributes<HTMLDivElement>>, keyof import("react").HTMLAttributes<HTMLDivElement>> & {
|
|
11
|
+
theme?: object | undefined;
|
|
12
|
+
} & {
|
|
13
|
+
children?: import("react").ReactNode;
|
|
14
|
+
}, "key" | keyof import("react").HTMLAttributes<HTMLDivElement> | "theme"> & {
|
|
15
|
+
ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
|
|
16
|
+
}, keyof import("react").HTMLAttributes<HTMLDivElement> | "theme">, object>;
|
|
17
|
+
export declare const RemoveImage: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement>, keyof import("react").HTMLAttributes<HTMLDivElement>>, object>;
|
|
18
|
+
export declare const FilePreviewWrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement>, keyof import("react").HTMLAttributes<HTMLDivElement>>, object>;
|