@webiny/app-admin-ui 0.0.0-unstable.0156a4c312

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 (270) hide show
  1. package/Breadcrumbs/Breadcrumbs.d.ts +14 -0
  2. package/Breadcrumbs/Breadcrumbs.js +74 -0
  3. package/Breadcrumbs/Breadcrumbs.js.map +1 -0
  4. package/CommandPalette/CommandPalette.d.ts +6 -0
  5. package/CommandPalette/CommandPalette.js +202 -0
  6. package/CommandPalette/CommandPalette.js.map +1 -0
  7. package/CommandPalette/components/AiModeBadge.d.ts +3 -0
  8. package/CommandPalette/components/AiModeBadge.js +11 -0
  9. package/CommandPalette/components/AiModeBadge.js.map +1 -0
  10. package/CommandPalette/components/AiSuggestions.d.ts +9 -0
  11. package/CommandPalette/components/AiSuggestions.js +32 -0
  12. package/CommandPalette/components/AiSuggestions.js.map +1 -0
  13. package/CommandPalette/components/AiTurn.d.ts +11 -0
  14. package/CommandPalette/components/AiTurn.js +61 -0
  15. package/CommandPalette/components/AiTurn.js.map +1 -0
  16. package/CommandPalette/components/AnswerSkeleton.d.ts +6 -0
  17. package/CommandPalette/components/AnswerSkeleton.js +20 -0
  18. package/CommandPalette/components/AnswerSkeleton.js.map +1 -0
  19. package/CommandPalette/components/ApprovalPlan.d.ts +16 -0
  20. package/CommandPalette/components/ApprovalPlan.js +56 -0
  21. package/CommandPalette/components/ApprovalPlan.js.map +1 -0
  22. package/CommandPalette/components/CommandDetail.d.ts +13 -0
  23. package/CommandPalette/components/CommandDetail.js +39 -0
  24. package/CommandPalette/components/CommandDetail.js.map +1 -0
  25. package/CommandPalette/components/CommandItemRow.d.ts +5 -0
  26. package/CommandPalette/components/CommandItemRow.js +41 -0
  27. package/CommandPalette/components/CommandItemRow.js.map +1 -0
  28. package/CommandPalette/components/GroupHeading.d.ts +4 -0
  29. package/CommandPalette/components/GroupHeading.js +10 -0
  30. package/CommandPalette/components/GroupHeading.js.map +1 -0
  31. package/CommandPalette/components/HintIcon.d.ts +4 -0
  32. package/CommandPalette/components/HintIcon.js +11 -0
  33. package/CommandPalette/components/HintIcon.js.map +1 -0
  34. package/CommandPalette/components/Kbd.d.ts +4 -0
  35. package/CommandPalette/components/Kbd.js +14 -0
  36. package/CommandPalette/components/Kbd.js.map +1 -0
  37. package/CommandPalette/components/NoResults.d.ts +13 -0
  38. package/CommandPalette/components/NoResults.js +33 -0
  39. package/CommandPalette/components/NoResults.js.map +1 -0
  40. package/CommandPalette/components/PaletteFooter.d.ts +13 -0
  41. package/CommandPalette/components/PaletteFooter.js +18 -0
  42. package/CommandPalette/components/PaletteFooter.js.map +1 -0
  43. package/CommandPalette/components/ToolChip.d.ts +7 -0
  44. package/CommandPalette/components/ToolChip.js +32 -0
  45. package/CommandPalette/components/ToolChip.js.map +1 -0
  46. package/CommandPalette/components/index.d.ts +13 -0
  47. package/CommandPalette/components/index.js +13 -0
  48. package/CommandPalette/constants.d.ts +8 -0
  49. package/CommandPalette/constants.js +5 -0
  50. package/CommandPalette/constants.js.map +1 -0
  51. package/CommandPalette/deriveRows.d.ts +19 -0
  52. package/CommandPalette/deriveRows.js +100 -0
  53. package/CommandPalette/deriveRows.js.map +1 -0
  54. package/CommandPalette/modes/PaletteMode.d.ts +73 -0
  55. package/CommandPalette/modes/PaletteMode.js +0 -0
  56. package/CommandPalette/modes/createAiMode.d.ts +13 -0
  57. package/CommandPalette/modes/createAiMode.js +80 -0
  58. package/CommandPalette/modes/createAiMode.js.map +1 -0
  59. package/CommandPalette/modes/index.d.ts +2 -0
  60. package/CommandPalette/modes/index.js +1 -0
  61. package/CommandPalette/types.d.ts +15 -0
  62. package/CommandPalette/types.js +0 -0
  63. package/CommandPalette/usePaletteHotkeys.d.ts +16 -0
  64. package/CommandPalette/usePaletteHotkeys.js +38 -0
  65. package/CommandPalette/usePaletteHotkeys.js.map +1 -0
  66. package/Dashboard/Welcome.d.ts +6 -0
  67. package/Dashboard/Welcome.js +120 -0
  68. package/Dashboard/Welcome.js.map +1 -0
  69. package/Dashboard/components/AssistanceWidget.d.ts +2 -0
  70. package/Dashboard/components/AssistanceWidget.js +54 -0
  71. package/Dashboard/components/AssistanceWidget.js.map +1 -0
  72. package/Dashboard/components/CommunityWidget.d.ts +2 -0
  73. package/Dashboard/components/CommunityWidget.js +58 -0
  74. package/Dashboard/components/CommunityWidget.js.map +1 -0
  75. package/Dashboard/components/DashboardToolbar.d.ts +11 -0
  76. package/Dashboard/components/DashboardToolbar.js +48 -0
  77. package/Dashboard/components/DashboardToolbar.js.map +1 -0
  78. package/Dashboard/components/MissingPermissionsWidget.d.ts +2 -0
  79. package/Dashboard/components/MissingPermissionsWidget.js +16 -0
  80. package/Dashboard/components/MissingPermissionsWidget.js.map +1 -0
  81. package/Dashboard/components/addWidgetDrawer/AddToColumnMenu.d.ts +10 -0
  82. package/Dashboard/components/addWidgetDrawer/AddToColumnMenu.js +30 -0
  83. package/Dashboard/components/addWidgetDrawer/AddToColumnMenu.js.map +1 -0
  84. package/Dashboard/components/addWidgetDrawer/AddWidgetDrawer.d.ts +12 -0
  85. package/Dashboard/components/addWidgetDrawer/AddWidgetDrawer.js +61 -0
  86. package/Dashboard/components/addWidgetDrawer/AddWidgetDrawer.js.map +1 -0
  87. package/Dashboard/components/addWidgetDrawer/DrawerWidgetRow.d.ts +10 -0
  88. package/Dashboard/components/addWidgetDrawer/DrawerWidgetRow.js +38 -0
  89. package/Dashboard/components/addWidgetDrawer/DrawerWidgetRow.js.map +1 -0
  90. package/Dashboard/components/addWidgetDrawer/WidgetPreviewFrame.d.ts +7 -0
  91. package/Dashboard/components/addWidgetDrawer/WidgetPreviewFrame.js +44 -0
  92. package/Dashboard/components/addWidgetDrawer/WidgetPreviewFrame.js.map +1 -0
  93. package/Dashboard/components/addWidgetDrawer/WidgetSketch.d.ts +4 -0
  94. package/Dashboard/components/addWidgetDrawer/WidgetSketch.js +20 -0
  95. package/Dashboard/components/addWidgetDrawer/WidgetSketch.js.map +1 -0
  96. package/Dashboard/components/addWidgetDrawer/WidgetTabContent.d.ts +14 -0
  97. package/Dashboard/components/addWidgetDrawer/WidgetTabContent.js +76 -0
  98. package/Dashboard/components/addWidgetDrawer/WidgetTabContent.js.map +1 -0
  99. package/Dashboard/components/addWidgetDrawer/types.d.ts +10 -0
  100. package/Dashboard/components/addWidgetDrawer/types.js +0 -0
  101. package/Dashboard/components/assets/github.js +14 -0
  102. package/Dashboard/components/assets/github.js.map +1 -0
  103. package/Dashboard/components/assets/github.svg +1 -0
  104. package/Dashboard/components/assets/slack.js +27 -0
  105. package/Dashboard/components/assets/slack.js.map +1 -0
  106. package/Dashboard/components/assets/slack.svg +8 -0
  107. package/Dashboard/components/assets/x-twitter.js +18 -0
  108. package/Dashboard/components/assets/x-twitter.js.map +1 -0
  109. package/Dashboard/components/assets/x-twitter.svg +5 -0
  110. package/Dashboard/components/assets/youtube.js +28 -0
  111. package/Dashboard/components/assets/youtube.js.map +1 -0
  112. package/Dashboard/components/assets/youtube.svg +11 -0
  113. package/Dashboard/components/dnd/ColumnCountControl.d.ts +9 -0
  114. package/Dashboard/components/dnd/ColumnCountControl.js +52 -0
  115. package/Dashboard/components/dnd/ColumnCountControl.js.map +1 -0
  116. package/Dashboard/components/dnd/ColumnEmptyState.d.ts +10 -0
  117. package/Dashboard/components/dnd/ColumnEmptyState.js +52 -0
  118. package/Dashboard/components/dnd/ColumnEmptyState.js.map +1 -0
  119. package/Dashboard/components/dnd/DashboardDragLayer.d.ts +6 -0
  120. package/Dashboard/components/dnd/DashboardDragLayer.js +28 -0
  121. package/Dashboard/components/dnd/DashboardDragLayer.js.map +1 -0
  122. package/Dashboard/components/dnd/DashboardWidgetCard.d.ts +13 -0
  123. package/Dashboard/components/dnd/DashboardWidgetCard.js +59 -0
  124. package/Dashboard/components/dnd/DashboardWidgetCard.js.map +1 -0
  125. package/Dashboard/components/dnd/DashboardWidgetColumn.d.ts +19 -0
  126. package/Dashboard/components/dnd/DashboardWidgetColumn.js +72 -0
  127. package/Dashboard/components/dnd/DashboardWidgetColumn.js.map +1 -0
  128. package/Dashboard/components/dnd/WidgetDropIndicator.d.ts +11 -0
  129. package/Dashboard/components/dnd/WidgetDropIndicator.js +29 -0
  130. package/Dashboard/components/dnd/WidgetDropIndicator.js.map +1 -0
  131. package/Dashboard/components/dnd/WidgetSlot.d.ts +6 -0
  132. package/Dashboard/components/dnd/WidgetSlot.js +9 -0
  133. package/Dashboard/components/dnd/WidgetSlot.js.map +1 -0
  134. package/Dashboard/components/dnd/dragItem.d.ts +6 -0
  135. package/Dashboard/components/dnd/dragItem.js +4 -0
  136. package/Dashboard/components/dnd/dragItem.js.map +1 -0
  137. package/Dashboard/components/dnd/useWidgetHosts.d.ts +1 -0
  138. package/Dashboard/components/dnd/useWidgetHosts.js +16 -0
  139. package/Dashboard/components/dnd/useWidgetHosts.js.map +1 -0
  140. package/Dashboard/components/index.d.ts +3 -0
  141. package/Dashboard/components/index.js +3 -0
  142. package/Dashboard/components/layout/EditableColumns.d.ts +13 -0
  143. package/Dashboard/components/layout/EditableColumns.js +25 -0
  144. package/Dashboard/components/layout/EditableColumns.js.map +1 -0
  145. package/Dashboard/components/layout/StaticColumns.d.ts +8 -0
  146. package/Dashboard/components/layout/StaticColumns.js +20 -0
  147. package/Dashboard/components/layout/StaticColumns.js.map +1 -0
  148. package/Dashboard/components/layout/collapseColumns.d.ts +1 -0
  149. package/Dashboard/components/layout/collapseColumns.js +16 -0
  150. package/Dashboard/components/layout/collapseColumns.js.map +1 -0
  151. package/Dashboard/components/layout/layoutConstants.d.ts +2 -0
  152. package/Dashboard/components/layout/layoutConstants.js +5 -0
  153. package/Dashboard/components/layout/layoutConstants.js.map +1 -0
  154. package/Dashboard/components/layout/useColumnsThatFit.d.ts +6 -0
  155. package/Dashboard/components/layout/useColumnsThatFit.js +30 -0
  156. package/Dashboard/components/layout/useColumnsThatFit.js.map +1 -0
  157. package/Dashboard/components/layout/useWidgetPortals.d.ts +5 -0
  158. package/Dashboard/components/layout/useWidgetPortals.js +26 -0
  159. package/Dashboard/components/layout/useWidgetPortals.js.map +1 -0
  160. package/Dashboard/dashboardLayout/loadLayout/FetchDashboardLayoutUseCase.d.ts +12 -0
  161. package/Dashboard/dashboardLayout/loadLayout/FetchDashboardLayoutUseCase.js +19 -0
  162. package/Dashboard/dashboardLayout/loadLayout/FetchDashboardLayoutUseCase.js.map +1 -0
  163. package/Dashboard/dashboardLayout/loadLayout/GetCachedDashboardLayoutUseCase.d.ts +12 -0
  164. package/Dashboard/dashboardLayout/loadLayout/GetCachedDashboardLayoutUseCase.js +19 -0
  165. package/Dashboard/dashboardLayout/loadLayout/GetCachedDashboardLayoutUseCase.js.map +1 -0
  166. package/Dashboard/dashboardLayout/loadLayout/abstractions.d.ts +15 -0
  167. package/Dashboard/dashboardLayout/loadLayout/abstractions.js +6 -0
  168. package/Dashboard/dashboardLayout/loadLayout/abstractions.js.map +1 -0
  169. package/Dashboard/dashboardLayout/loadLayout/feature.d.ts +1 -0
  170. package/Dashboard/dashboardLayout/loadLayout/feature.js +13 -0
  171. package/Dashboard/dashboardLayout/loadLayout/feature.js.map +1 -0
  172. package/Dashboard/dashboardLayout/presenter/DashboardLayoutPresenter.d.ts +56 -0
  173. package/Dashboard/dashboardLayout/presenter/DashboardLayoutPresenter.js +308 -0
  174. package/Dashboard/dashboardLayout/presenter/DashboardLayoutPresenter.js.map +1 -0
  175. package/Dashboard/dashboardLayout/presenter/abstractions.d.ts +46 -0
  176. package/Dashboard/dashboardLayout/presenter/abstractions.js +5 -0
  177. package/Dashboard/dashboardLayout/presenter/abstractions.js.map +1 -0
  178. package/Dashboard/dashboardLayout/presenter/feature.d.ts +3 -0
  179. package/Dashboard/dashboardLayout/presenter/feature.js +23 -0
  180. package/Dashboard/dashboardLayout/presenter/feature.js.map +1 -0
  181. package/Dashboard/dashboardLayout/presenter/useDashboardLayoutPresenter.d.ts +1 -0
  182. package/Dashboard/dashboardLayout/presenter/useDashboardLayoutPresenter.js +6 -0
  183. package/Dashboard/dashboardLayout/presenter/useDashboardLayoutPresenter.js.map +1 -0
  184. package/Dashboard/dashboardLayout/repository/DashboardLayoutGateway.d.ts +13 -0
  185. package/Dashboard/dashboardLayout/repository/DashboardLayoutGateway.js +67 -0
  186. package/Dashboard/dashboardLayout/repository/DashboardLayoutGateway.js.map +1 -0
  187. package/Dashboard/dashboardLayout/repository/DashboardLayoutRepository.d.ts +20 -0
  188. package/Dashboard/dashboardLayout/repository/DashboardLayoutRepository.js +49 -0
  189. package/Dashboard/dashboardLayout/repository/DashboardLayoutRepository.js.map +1 -0
  190. package/Dashboard/dashboardLayout/repository/abstractions.d.ts +25 -0
  191. package/Dashboard/dashboardLayout/repository/abstractions.js +6 -0
  192. package/Dashboard/dashboardLayout/repository/abstractions.js.map +1 -0
  193. package/Dashboard/dashboardLayout/repository/feature.d.ts +1 -0
  194. package/Dashboard/dashboardLayout/repository/feature.js +13 -0
  195. package/Dashboard/dashboardLayout/repository/feature.js.map +1 -0
  196. package/Dashboard/dashboardLayout/saveLayout/SaveDashboardLayoutUseCase.d.ts +12 -0
  197. package/Dashboard/dashboardLayout/saveLayout/SaveDashboardLayoutUseCase.js +19 -0
  198. package/Dashboard/dashboardLayout/saveLayout/SaveDashboardLayoutUseCase.js.map +1 -0
  199. package/Dashboard/dashboardLayout/saveLayout/abstractions.d.ts +8 -0
  200. package/Dashboard/dashboardLayout/saveLayout/abstractions.js +5 -0
  201. package/Dashboard/dashboardLayout/saveLayout/abstractions.js.map +1 -0
  202. package/Dashboard/dashboardLayout/saveLayout/feature.d.ts +1 -0
  203. package/Dashboard/dashboardLayout/saveLayout/feature.js +11 -0
  204. package/Dashboard/dashboardLayout/saveLayout/feature.js.map +1 -0
  205. package/Dashboard/dashboardLayout/toColumnIndex.d.ts +1 -0
  206. package/Dashboard/dashboardLayout/toColumnIndex.js +7 -0
  207. package/Dashboard/dashboardLayout/toColumnIndex.js.map +1 -0
  208. package/Dashboard/dashboardLayout/types.d.ts +15 -0
  209. package/Dashboard/dashboardLayout/types.js +6 -0
  210. package/Dashboard/dashboardLayout/types.js.map +1 -0
  211. package/Dashboard.d.ts +2 -0
  212. package/Dashboard.js +9 -0
  213. package/Dashboard.js.map +1 -0
  214. package/Dialog/DialogContainer.d.ts +2 -0
  215. package/Dialog/DialogContainer.js +59 -0
  216. package/Dialog/DialogContainer.js.map +1 -0
  217. package/Dialog/DialogProvider.d.ts +5 -0
  218. package/Dialog/DialogProvider.js +8 -0
  219. package/Dialog/DialogProvider.js.map +1 -0
  220. package/Dialog.d.ts +2 -0
  221. package/Dialog.js +9 -0
  222. package/Dialog.js.map +1 -0
  223. package/LICENSE +21 -0
  224. package/Layout.d.ts +2 -0
  225. package/Layout.js +55 -0
  226. package/Layout.js.map +1 -0
  227. package/Logo.d.ts +2 -0
  228. package/Logo.js +16 -0
  229. package/Logo.js.map +1 -0
  230. package/Navigation/Navigation.d.ts +2 -0
  231. package/Navigation/Navigation.js +34 -0
  232. package/Navigation/Navigation.js.map +1 -0
  233. package/Navigation/SidebarMenuItems.d.ts +10 -0
  234. package/Navigation/SidebarMenuItems.js +36 -0
  235. package/Navigation/SidebarMenuItems.js.map +1 -0
  236. package/NotFound/notFound.js +297 -0
  237. package/NotFound/notFound.js.map +1 -0
  238. package/NotFound/notFound.svg +1 -0
  239. package/NotFound.d.ts +2 -0
  240. package/NotFound.js +20 -0
  241. package/NotFound.js.map +1 -0
  242. package/README.md +11 -0
  243. package/UserMenu/UserMenu.d.ts +2 -0
  244. package/UserMenu/UserMenu.js +22 -0
  245. package/UserMenu/UserMenu.js.map +1 -0
  246. package/UserMenu/UserMenuHandle.d.ts +2 -0
  247. package/UserMenu/UserMenuHandle.js +36 -0
  248. package/UserMenu/UserMenuHandle.js.map +1 -0
  249. package/UserMenu/UserMenuItem.d.ts +3 -0
  250. package/UserMenu/UserMenuItem.js +12 -0
  251. package/UserMenu/UserMenuItem.js.map +1 -0
  252. package/UserMenu/UserMenuLink.d.ts +3 -0
  253. package/UserMenu/UserMenuLink.js +12 -0
  254. package/UserMenu/UserMenuLink.js.map +1 -0
  255. package/UserMenu/UserMenuSeparator.d.ts +2 -0
  256. package/UserMenu/UserMenuSeparator.js +12 -0
  257. package/UserMenu/UserMenuSeparator.js.map +1 -0
  258. package/UserMenu.d.ts +2 -0
  259. package/UserMenu.js +10 -0
  260. package/UserMenu.js.map +1 -0
  261. package/index.d.ts +2 -0
  262. package/index.js +35 -0
  263. package/index.js.map +1 -0
  264. package/package.json +49 -0
  265. package/static/svg/github.08a73b00.svg +1 -0
  266. package/static/svg/notFound.e8b15981.svg +1 -0
  267. package/static/svg/slack.1b2ba162.svg +8 -0
  268. package/static/svg/x-twitter.46e7218c.svg +5 -0
  269. package/static/svg/youtube.3c232651.svg +11 -0
  270. package/styles.scss +2 -0
@@ -0,0 +1,59 @@
1
+ import react, { useCallback, useEffect, useState } from "react";
2
+ import { useUi } from "@webiny/app/hooks/useUi.js";
3
+ import { Dialog } from "@webiny/admin-ui";
4
+ const DialogContainer = ()=>{
5
+ const ui = useUi();
6
+ const [isLoading, setIsLoading] = useState(false);
7
+ const message = ui.dialog?.message;
8
+ const { dataTestId, title, loading, actions = {
9
+ cancel: null,
10
+ accept: {
11
+ label: "OK"
12
+ }
13
+ }, style, onClose, showCloseButton } = ui.dialog?.options || {};
14
+ const hideDialog = useCallback(()=>{
15
+ ui.setState((ui)=>({
16
+ ...ui,
17
+ dialog: null
18
+ }));
19
+ if ("function" == typeof onClose) onClose();
20
+ }, [
21
+ ui
22
+ ]);
23
+ useEffect(()=>{
24
+ setIsLoading(false);
25
+ }, [
26
+ ui.dialog?.message
27
+ ]);
28
+ const handleConfirm = async ()=>{
29
+ if (!actions.accept.onClick) {
30
+ console.info("There is no actions.accept.onClick callback defined.");
31
+ hideDialog();
32
+ return;
33
+ }
34
+ setIsLoading(true);
35
+ await actions.accept.onClick();
36
+ setIsLoading(false);
37
+ hideDialog();
38
+ };
39
+ return /*#__PURE__*/ react.createElement(Dialog, {
40
+ open: !!message,
41
+ onClose: hideDialog,
42
+ "data-testid": dataTestId,
43
+ style: style,
44
+ showCloseButton: showCloseButton,
45
+ title: title,
46
+ loading: isLoading ? loading : false,
47
+ actions: actions.cancel || actions.accept ? /*#__PURE__*/ react.createElement(react.Fragment, null, actions.cancel && /*#__PURE__*/ react.createElement(Dialog.CancelAction, {
48
+ onClick: actions.cancel.onClick,
49
+ text: actions.cancel.label
50
+ }), actions.accept && /*#__PURE__*/ react.createElement(Dialog.ConfirmAction, {
51
+ onClick: handleConfirm,
52
+ text: actions.accept.label,
53
+ "data-testid": "confirmationdialog-confirm-action"
54
+ })) : null
55
+ }, message);
56
+ };
57
+ export { DialogContainer };
58
+
59
+ //# sourceMappingURL=DialogContainer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dialog/DialogContainer.js","sources":["../../src/Dialog/DialogContainer.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from \"react\";\nimport { useUi } from \"@webiny/app/hooks/useUi.js\";\nimport { Dialog } from \"@webiny/admin-ui\";\n\nexport const DialogContainer = () => {\n const ui = useUi();\n const [isLoading, setIsLoading] = useState(false);\n const message: React.ReactNode = ui.dialog?.message;\n\n const {\n dataTestId,\n title,\n loading,\n actions = { cancel: null, accept: { label: \"OK\" } },\n style,\n onClose,\n showCloseButton\n } = ui.dialog?.options || {};\n\n const hideDialog = useCallback(() => {\n ui.setState(ui => ({ ...ui, dialog: null }));\n if (typeof onClose === \"function\") {\n onClose();\n }\n }, [ui]);\n\n /**\n * We need this part because message can change while the dialog is opened and in loading state.\n */\n useEffect(() => {\n setIsLoading(false);\n }, [ui.dialog?.message]);\n\n const handleConfirm = async () => {\n if (!actions.accept.onClick) {\n /**\n * Should not happen as users should define \"accept.onClick\" function, but just in case lets show the information.\n * Possible to happen in development process.\n */\n console.info(\"There is no actions.accept.onClick callback defined.\");\n hideDialog();\n return;\n }\n setIsLoading(true);\n await actions.accept.onClick();\n setIsLoading(false);\n hideDialog();\n };\n\n return (\n <Dialog\n open={!!message}\n onClose={hideDialog}\n data-testid={dataTestId}\n style={style}\n showCloseButton={showCloseButton}\n title={title}\n loading={isLoading ? loading : false}\n actions={\n !actions.cancel && !actions.accept ? null : (\n <>\n {actions.cancel && (\n <Dialog.CancelAction\n onClick={actions.cancel.onClick}\n text={actions.cancel.label}\n />\n )}\n {actions.accept && (\n <Dialog.ConfirmAction\n onClick={handleConfirm}\n text={actions.accept.label}\n data-testid={\"confirmationdialog-confirm-action\"}\n />\n )}\n </>\n )\n }\n >\n {message}\n </Dialog>\n );\n};\n"],"names":["DialogContainer","ui","useUi","isLoading","setIsLoading","useState","message","dataTestId","title","loading","actions","style","onClose","showCloseButton","hideDialog","useCallback","useEffect","handleConfirm","console","Dialog"],"mappings":";;;AAIO,MAAMA,kBAAkB;IAC3B,MAAMC,KAAKC;IACX,MAAM,CAACC,WAAWC,aAAa,GAAGC,SAAS;IAC3C,MAAMC,UAA2BL,GAAG,MAAM,EAAE;IAE5C,MAAM,EACFM,UAAU,EACVC,KAAK,EACLC,OAAO,EACPC,UAAU;QAAE,QAAQ;QAAM,QAAQ;YAAE,OAAO;QAAK;IAAE,CAAC,EACnDC,KAAK,EACLC,OAAO,EACPC,eAAe,EAClB,GAAGZ,GAAG,MAAM,EAAE,WAAW,CAAC;IAE3B,MAAMa,aAAaC,YAAY;QAC3Bd,GAAG,QAAQ,CAACA,CAAAA,KAAO;gBAAE,GAAGA,EAAE;gBAAE,QAAQ;YAAK;QACzC,IAAI,AAAmB,cAAnB,OAAOW,SACPA;IAER,GAAG;QAACX;KAAG;IAKPe,UAAU;QACNZ,aAAa;IACjB,GAAG;QAACH,GAAG,MAAM,EAAE;KAAQ;IAEvB,MAAMgB,gBAAgB;QAClB,IAAI,CAACP,QAAQ,MAAM,CAAC,OAAO,EAAE;YAKzBQ,QAAQ,IAAI,CAAC;YACbJ;YACA;QACJ;QACAV,aAAa;QACb,MAAMM,QAAQ,MAAM,CAAC,OAAO;QAC5BN,aAAa;QACbU;IACJ;IAEA,OAAO,WAAP,GACI,oBAACK,QAAMA;QACH,MAAM,CAAC,CAACb;QACR,SAASQ;QACT,eAAaP;QACb,OAAOI;QACP,iBAAiBE;QACjB,OAAOL;QACP,SAASL,YAAYM,UAAU;QAC/B,SACI,AAACC,QAAQ,MAAM,IAAKA,QAAQ,MAAM,GAAU,WAAP,GACjC,0CACKA,QAAQ,MAAM,IAAI,WAAJ,GACX,oBAACS,OAAO,YAAY;YAChB,SAAST,QAAQ,MAAM,CAAC,OAAO;YAC/B,MAAMA,QAAQ,MAAM,CAAC,KAAK;YAGjCA,QAAQ,MAAM,IAAI,WAAJ,GACX,oBAACS,OAAO,aAAa;YACjB,SAASF;YACT,MAAMP,QAAQ,MAAM,CAAC,KAAK;YAC1B,eAAa;cAZQ;OAmBxCJ;AAGb"}
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ export interface DialogProviderProps {
3
+ children?: React.ReactNode;
4
+ }
5
+ export declare const DialogProvider: (Component: React.ComponentType<DialogProviderProps>) => ({ children }: DialogProviderProps) => React.JSX.Element;
@@ -0,0 +1,8 @@
1
+ import react from "react";
2
+ import { DialogContainer } from "./DialogContainer.js";
3
+ const DialogProvider = (Component)=>function({ children }) {
4
+ return /*#__PURE__*/ react.createElement(Component, null, children, /*#__PURE__*/ react.createElement(DialogContainer, null));
5
+ };
6
+ export { DialogProvider };
7
+
8
+ //# sourceMappingURL=DialogProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dialog/DialogProvider.js","sources":["../../src/Dialog/DialogProvider.tsx"],"sourcesContent":["import React from \"react\";\nimport { DialogContainer } from \"./DialogContainer.js\";\n\nexport interface DialogProviderProps {\n children?: React.ReactNode;\n}\n\nexport const DialogProvider = (Component: React.ComponentType<DialogProviderProps>) => {\n return function DialogProviderProps({ children }: DialogProviderProps) {\n return (\n <Component>\n {children}\n <DialogContainer />\n </Component>\n );\n };\n};\n"],"names":["DialogProvider","Component","children","DialogContainer"],"mappings":";;AAOO,MAAMA,iBAAiB,CAACC,YACpB,SAA6B,EAAEC,QAAQ,EAAuB;QACjE,OAAO,WAAP,GACI,oBAACD,WAAAA,MACIC,UAAAA,WAAAA,GACD,oBAACC,iBAAeA;IAG5B"}
package/Dialog.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const Dialog: () => React.JSX.Element;
package/Dialog.js ADDED
@@ -0,0 +1,9 @@
1
+ import react from "react";
2
+ import { Provider } from "@webiny/app-admin";
3
+ import { DialogProvider } from "./Dialog/DialogProvider.js";
4
+ const Dialog = ()=>/*#__PURE__*/ react.createElement(Provider, {
5
+ hoc: DialogProvider
6
+ });
7
+ export { Dialog };
8
+
9
+ //# sourceMappingURL=Dialog.js.map
package/Dialog.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dialog.js","sources":["../src/Dialog.tsx"],"sourcesContent":["import React from \"react\";\nimport { Provider } from \"@webiny/app-admin\";\nimport { DialogProvider } from \"./Dialog/DialogProvider.js\";\n\n// This implements the global dialog, which is controlled via the\n// `useDialog` hook (`packages/app-admin/src/hooks/useDialog.ts`).\nexport const Dialog = () => {\n return <Provider hoc={DialogProvider} />;\n};\n"],"names":["Dialog","Provider","DialogProvider"],"mappings":";;;AAMO,MAAMA,SAAS,IACX,WAAP,GAAO,oBAACC,UAAQA;QAAC,KAAKC"}
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) Webiny
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/Layout.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const Layout: (props: unknown) => React.JSX.Element;
package/Layout.js ADDED
@@ -0,0 +1,55 @@
1
+ import react, { useCallback, useMemo, useRef } from "react";
2
+ import react_helmet from "react-helmet";
3
+ import { AssumedPermissionsSelector, BannerBar, DebuggerIndicator, LayoutRenderer, Navigation, TenantSelector, UserMenu } from "@webiny/app-admin";
4
+ import { HeaderBar, SidebarProvider, cn, useSidebar } from "@webiny/admin-ui";
5
+ import { useLocalStorage, useLocalStorageValue } from "@webiny/app";
6
+ import { CommandPalette } from "./CommandPalette/CommandPalette.js";
7
+ import { Breadcrumbs } from "./Breadcrumbs/Breadcrumbs.js";
8
+ const SIDEBAR_STATE_KEY = "navigation/state";
9
+ const parseSidebarState = (raw)=>{
10
+ try {
11
+ if ("object" == typeof raw && null !== raw) return raw;
12
+ if ("string" == typeof raw) return JSON.parse(raw);
13
+ } catch {}
14
+ };
15
+ const MAKE_ROOM_FOR_BANNER = "has-[>[data-admin-banner]]:[--spacing-main-content:calc(100vh_-_var(--spacing-header)_-_var(--spacing-banner))]";
16
+ const LayoutContent = ({ title, startElement = null, hideNavigation = false, children })=>{
17
+ const { pinned } = useSidebar();
18
+ const widthClassNames = {
19
+ "max-w-[calc(100%-(var(--spacing-sidebar-expanded)))] ": pinned,
20
+ "max-w-[calc(100%-(var(--spacing-sidebar-collapsed)))] ": !pinned
21
+ };
22
+ return /*#__PURE__*/ react.createElement(react.Fragment, null, title ? /*#__PURE__*/ react.createElement(react_helmet, {
23
+ title: title
24
+ }) : null, /*#__PURE__*/ react.createElement(CommandPalette, null), hideNavigation ? null : /*#__PURE__*/ react.createElement(Navigation, null), /*#__PURE__*/ react.createElement("div", {
25
+ className: cn("ml-auto bg-neutral-base transition-[max-width,min-width] ease-linear w-full", MAKE_ROOM_FOR_BANNER, hideNavigation ? void 0 : widthClassNames)
26
+ }, /*#__PURE__*/ react.createElement(BannerBar, null), /*#__PURE__*/ react.createElement(HeaderBar, {
27
+ start: /*#__PURE__*/ react.createElement("div", {
28
+ className: "flex items-center gap-sm"
29
+ }, /*#__PURE__*/ react.createElement(Breadcrumbs, null), startElement),
30
+ end: /*#__PURE__*/ react.createElement("div", {
31
+ className: "flex gap-x-sm items-center justify-end"
32
+ }, /*#__PURE__*/ react.createElement(DebuggerIndicator, null), /*#__PURE__*/ react.createElement(TenantSelector, null), /*#__PURE__*/ react.createElement(AssumedPermissionsSelector, null), /*#__PURE__*/ react.createElement(UserMenu, null))
33
+ }), /*#__PURE__*/ react.createElement("main", {
34
+ className: "relative overflow-y-auto h-main-content"
35
+ }, children)));
36
+ };
37
+ const Layout_Layout = LayoutRenderer.createDecorator(()=>function(props) {
38
+ const localStorage = useLocalStorage();
39
+ const localStorageRef = useRef(localStorage);
40
+ localStorageRef.current = localStorage;
41
+ const rawState = useLocalStorageValue(SIDEBAR_STATE_KEY);
42
+ const cachedState = useMemo(()=>parseSidebarState(rawState), [
43
+ rawState
44
+ ]);
45
+ const onChangeState = useCallback((newState)=>{
46
+ localStorageRef.current.set(SIDEBAR_STATE_KEY, JSON.stringify(newState));
47
+ }, []);
48
+ return /*#__PURE__*/ react.createElement(SidebarProvider, {
49
+ state: cachedState,
50
+ onChangeState: onChangeState
51
+ }, /*#__PURE__*/ react.createElement(LayoutContent, props));
52
+ });
53
+ export { Layout_Layout as Layout };
54
+
55
+ //# sourceMappingURL=Layout.js.map
package/Layout.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Layout.js","sources":["../src/Layout.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useRef } from \"react\";\nimport Helmet from \"react-helmet\";\nimport type { LayoutProps } from \"@webiny/app-admin\";\nimport { AssumedPermissionsSelector } from \"@webiny/app-admin\";\nimport { BannerBar } from \"@webiny/app-admin\";\nimport { DebuggerIndicator } from \"@webiny/app-admin\";\nimport { LayoutRenderer } from \"@webiny/app-admin\";\nimport { Navigation } from \"@webiny/app-admin\";\nimport { TenantSelector } from \"@webiny/app-admin\";\nimport { UserMenu } from \"@webiny/app-admin\";\nimport { HeaderBar, SidebarProvider, cn, useSidebar } from \"@webiny/admin-ui\";\nimport { useLocalStorage, useLocalStorageValue } from \"@webiny/app\";\nimport { CommandPalette } from \"./CommandPalette/CommandPalette.js\";\nimport { Breadcrumbs } from \"./Breadcrumbs/Breadcrumbs.js\";\n\nconst SIDEBAR_STATE_KEY = \"navigation/state\";\n\ntype SidebarCachedState = {\n pinned: boolean;\n expandedSections: string[];\n pinnedItems: string[];\n};\n\nconst parseSidebarState = (raw: unknown): SidebarCachedState | undefined => {\n try {\n if (typeof raw === \"object\" && raw !== null) {\n return raw as SidebarCachedState;\n }\n if (typeof raw === \"string\") {\n return JSON.parse(raw) as SidebarCachedState;\n }\n } catch {\n // Ignore parse errors\n }\n return undefined;\n};\n\n/*\n * Views size themselves with `h-main-content`, which is the window minus the header. While the\n * banner bar shows, they have to lose its height too, or every page scrolls by exactly that much.\n * The bar is always `--spacing-banner` tall, so plain CSS can do it. Scoped to the wrapper below,\n * which holds both the bar and the views.\n *\n * TODO: Temporary. The real fix is for views to fill `main` instead of computing their own height\n * from the window: make this wrapper a full-height column and `main` `flex-1 min-h-0`, then move\n * the ~13 views that use `h-main-content` to `h-full`. That also lets the bar wrap its text.\n */\nconst MAKE_ROOM_FOR_BANNER =\n \"has-[>[data-admin-banner]]:[--spacing-main-content:calc(100vh_-_var(--spacing-header)_-_var(--spacing-banner))]\";\n\nconst LayoutContent = ({\n title,\n startElement = null,\n hideNavigation = false,\n children\n}: LayoutProps) => {\n const { pinned } = useSidebar();\n\n const widthClassNames = {\n \"max-w-[calc(100%-(var(--spacing-sidebar-expanded)))] \": pinned,\n \"max-w-[calc(100%-(var(--spacing-sidebar-collapsed)))] \": !pinned\n };\n\n return (\n <>\n {title ? <Helmet title={title} /> : null}\n <CommandPalette />\n {hideNavigation ? null : <Navigation />}\n <div\n className={cn(\n \"ml-auto bg-neutral-base transition-[max-width,min-width] ease-linear w-full\",\n MAKE_ROOM_FOR_BANNER,\n hideNavigation ? undefined : widthClassNames\n )}\n >\n <BannerBar />\n <HeaderBar\n start={\n <div className=\"flex items-center gap-sm\">\n <Breadcrumbs />\n {startElement}\n </div>\n }\n end={\n <div className={\"flex gap-x-sm items-center justify-end\"}>\n <DebuggerIndicator />\n <TenantSelector />\n <AssumedPermissionsSelector />\n <UserMenu />\n </div>\n }\n />\n <main className={\"relative overflow-y-auto h-main-content\"}>{children}</main>\n </div>\n </>\n );\n};\n\nexport const Layout = LayoutRenderer.createDecorator(() => {\n return function Layout(props: LayoutProps) {\n const localStorage = useLocalStorage();\n const localStorageRef = useRef(localStorage);\n localStorageRef.current = localStorage;\n\n const rawState = useLocalStorageValue(SIDEBAR_STATE_KEY);\n const cachedState = useMemo(() => parseSidebarState(rawState), [rawState]);\n\n const onChangeState = useCallback((newState: SidebarCachedState) => {\n localStorageRef.current.set(SIDEBAR_STATE_KEY, JSON.stringify(newState));\n }, []);\n\n return (\n <SidebarProvider state={cachedState} onChangeState={onChangeState}>\n <LayoutContent {...props} />\n </SidebarProvider>\n );\n };\n});\n"],"names":["SIDEBAR_STATE_KEY","parseSidebarState","raw","JSON","MAKE_ROOM_FOR_BANNER","LayoutContent","title","startElement","hideNavigation","children","pinned","useSidebar","widthClassNames","Helmet","CommandPalette","Navigation","cn","undefined","BannerBar","HeaderBar","Breadcrumbs","DebuggerIndicator","TenantSelector","AssumedPermissionsSelector","UserMenu","Layout","LayoutRenderer","props","localStorage","useLocalStorage","localStorageRef","useRef","rawState","useLocalStorageValue","cachedState","useMemo","onChangeState","useCallback","newState","SidebarProvider"],"mappings":";;;;;;;AAeA,MAAMA,oBAAoB;AAQ1B,MAAMC,oBAAoB,CAACC;IACvB,IAAI;QACA,IAAI,AAAe,YAAf,OAAOA,OAAoBA,AAAQ,SAARA,KAC3B,OAAOA;QAEX,IAAI,AAAe,YAAf,OAAOA,KACP,OAAOC,KAAK,KAAK,CAACD;IAE1B,EAAE,OAAM,CAER;AAEJ;AAYA,MAAME,uBACF;AAEJ,MAAMC,gBAAgB,CAAC,EACnBC,KAAK,EACLC,eAAe,IAAI,EACnBC,iBAAiB,KAAK,EACtBC,QAAQ,EACE;IACV,MAAM,EAAEC,MAAM,EAAE,GAAGC;IAEnB,MAAMC,kBAAkB;QACpB,yDAAyDF;QACzD,0DAA0D,CAACA;IAC/D;IAEA,OAAO,WAAP,GACI,0CACKJ,QAAQ,WAARA,GAAQ,oBAACO,cAAMA;QAAC,OAAOP;SAAY,oBACpC,oBAACQ,gBAAcA,OACdN,iBAAiB,OAAO,WAAP,GAAO,oBAACO,YAAUA,OAAAA,WAAAA,GACpC,oBAAC;QACG,WAAWC,GACP,+EACAZ,sBACAI,iBAAiBS,SAAYL;qBAGjC,oBAACM,WAASA,OAAAA,WAAAA,GACV,oBAACC,WAASA;QACN,qBACI,oBAAC;YAAI,WAAU;yBACX,oBAACC,aAAWA,OACXb;QAGT,mBACI,oBAAC;YAAI,WAAW;yBACZ,oBAACc,mBAAiBA,OAAAA,WAAAA,GAClB,oBAACC,gBAAcA,OAAAA,WAAAA,GACf,oBAACC,4BAA0BA,OAAAA,WAAAA,GAC3B,oBAACC,UAAQA;sBAIrB,oBAAC;QAAK,WAAW;OAA4Cf;AAI7E;AAEO,MAAMgB,gBAASC,eAAe,eAAe,CAAC,IAC1C,SAAgBC,KAAkB;QACrC,MAAMC,eAAeC;QACrB,MAAMC,kBAAkBC,OAAOH;QAC/BE,gBAAgB,OAAO,GAAGF;QAE1B,MAAMI,WAAWC,qBAAqBjC;QACtC,MAAMkC,cAAcC,QAAQ,IAAMlC,kBAAkB+B,WAAW;YAACA;SAAS;QAEzE,MAAMI,gBAAgBC,YAAY,CAACC;YAC/BR,gBAAgB,OAAO,CAAC,GAAG,CAAC9B,mBAAmBG,KAAK,SAAS,CAACmC;QAClE,GAAG,EAAE;QAEL,OAAO,WAAP,GACI,oBAACC,iBAAeA;YAAC,OAAOL;YAAa,eAAeE;yBAChD,oBAAC/B,eAAkBsB;IAG/B"}
package/Logo.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const Logo: (props: unknown) => React.JSX.Element;
package/Logo.js ADDED
@@ -0,0 +1,16 @@
1
+ import react from "react";
2
+ import { LogoRenderer, useAdminConfig, useIsInNavigation } from "@webiny/app-admin";
3
+ const minHeight = {
4
+ minHeight: 48
5
+ };
6
+ const Logo_Logo = LogoRenderer.createDecorator(()=>function() {
7
+ const { logo } = useAdminConfig();
8
+ const isInNavigation = useIsInNavigation();
9
+ const logoElement = isInNavigation ? logo.squareLogo : logo.horizontalLogo;
10
+ return /*#__PURE__*/ react.createElement("div", {
11
+ style: minHeight
12
+ }, logoElement || null);
13
+ });
14
+ export { Logo_Logo as Logo };
15
+
16
+ //# sourceMappingURL=Logo.js.map
package/Logo.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Logo.js","sources":["../src/Logo.tsx"],"sourcesContent":["import React from \"react\";\nimport { LogoRenderer, useAdminConfig } from \"@webiny/app-admin\";\nimport { useIsInNavigation } from \"@webiny/app-admin\";\n\nconst minHeight = { minHeight: 48 };\n\nexport const Logo = LogoRenderer.createDecorator(() => {\n return function Logo() {\n const { logo } = useAdminConfig();\n const isInNavigation = useIsInNavigation();\n\n const logoElement = isInNavigation ? logo.squareLogo : logo.horizontalLogo;\n\n return <div style={minHeight}>{logoElement || null}</div>;\n };\n});\n"],"names":["minHeight","Logo","LogoRenderer","logo","useAdminConfig","isInNavigation","useIsInNavigation","logoElement"],"mappings":";;AAIA,MAAMA,YAAY;IAAE,WAAW;AAAG;AAE3B,MAAMC,YAAOC,aAAa,eAAe,CAAC,IACtC;QACH,MAAM,EAAEC,IAAI,EAAE,GAAGC;QACjB,MAAMC,iBAAiBC;QAEvB,MAAMC,cAAcF,iBAAiBF,KAAK,UAAU,GAAGA,KAAK,cAAc;QAE1E,OAAO,WAAP,GAAO,oBAAC;YAAI,OAAOH;WAAYO,eAAe;IAClD"}
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const Navigation: (props: unknown) => React.JSX.Element;
@@ -0,0 +1,34 @@
1
+ import react from "react";
2
+ import { NavigationRenderer, SimpleLink, useAdminConfig } from "@webiny/app-admin";
3
+ import { Sidebar } from "@webiny/admin-ui";
4
+ import { SidebarMenuItems } from "./SidebarMenuItems.js";
5
+ const Navigation_Navigation = NavigationRenderer.createDecorator(()=>function() {
6
+ const { menus, title, logo } = useAdminConfig();
7
+ const titleElement = /*#__PURE__*/ react.createElement(SimpleLink, {
8
+ to: "/"
9
+ }, title);
10
+ const icon = /*#__PURE__*/ react.createElement(SimpleLink, {
11
+ to: "/"
12
+ }, /*#__PURE__*/ react.createElement(Sidebar.Icon, {
13
+ element: logo.squareLogo,
14
+ label: "Webiny"
15
+ }));
16
+ const hasFooterMenus = menus.some((m)=>(m.tags || []).includes("footer"));
17
+ return /*#__PURE__*/ react.createElement(Sidebar, {
18
+ title: titleElement,
19
+ icon: icon,
20
+ footer: hasFooterMenus ? /*#__PURE__*/ react.createElement(SidebarMenuItems, {
21
+ menus: menus,
22
+ where: {
23
+ tags: [
24
+ "footer"
25
+ ]
26
+ }
27
+ }) : void 0
28
+ }, /*#__PURE__*/ react.createElement(SidebarMenuItems, {
29
+ menus: menus
30
+ }));
31
+ });
32
+ export { Navigation_Navigation as Navigation };
33
+
34
+ //# sourceMappingURL=Navigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Navigation/Navigation.js","sources":["../../src/Navigation/Navigation.tsx"],"sourcesContent":["import React from \"react\";\nimport { NavigationRenderer, useAdminConfig } from \"@webiny/app-admin\";\nimport { Sidebar } from \"@webiny/admin-ui\";\nimport { SidebarMenuItems } from \"./SidebarMenuItems.js\";\nimport { SimpleLink } from \"@webiny/app-admin\";\n\nexport const Navigation = NavigationRenderer.createDecorator(() => {\n return function Navigation() {\n const { menus, title, logo } = useAdminConfig();\n\n const titleElement = <SimpleLink to={\"/\"}>{title}</SimpleLink>;\n const icon = (\n <SimpleLink to={\"/\"}>\n <Sidebar.Icon element={logo.squareLogo} label={\"Webiny\"} />\n </SimpleLink>\n );\n\n const hasFooterMenus = menus.some(m => (m.tags || []).includes(\"footer\"));\n\n return (\n <Sidebar\n title={titleElement}\n icon={icon}\n footer={\n hasFooterMenus ? (\n <SidebarMenuItems menus={menus} where={{ tags: [\"footer\"] }} />\n ) : undefined\n }\n >\n <SidebarMenuItems menus={menus} />\n </Sidebar>\n );\n };\n});\n"],"names":["Navigation","NavigationRenderer","menus","title","logo","useAdminConfig","titleElement","SimpleLink","icon","Sidebar","hasFooterMenus","m","SidebarMenuItems","undefined"],"mappings":";;;;AAMO,MAAMA,wBAAaC,mBAAmB,eAAe,CAAC,IAClD;QACH,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAEC,IAAI,EAAE,GAAGC;QAE/B,MAAMC,eAAe,WAAfA,GAAe,oBAACC,YAAUA;YAAC,IAAI;WAAMJ;QAC3C,MAAMK,OAAO,WAAPA,GACF,oBAACD,YAAUA;YAAC,IAAI;yBACZ,oBAACE,QAAQ,IAAI;YAAC,SAASL,KAAK,UAAU;YAAE,OAAO;;QAIvD,MAAMM,iBAAiBR,MAAM,IAAI,CAACS,CAAAA,IAAMA,AAAAA,CAAAA,EAAE,IAAI,IAAI,EAAC,EAAG,QAAQ,CAAC;QAE/D,OAAO,WAAP,GACI,oBAACF,SAAOA;YACJ,OAAOH;YACP,MAAME;YACN,QACIE,iBAAiB,WAAjBA,GACI,oBAACE,kBAAgBA;gBAAC,OAAOV;gBAAO,OAAO;oBAAE,MAAM;wBAAC;qBAAS;gBAAC;iBAC1DW;yBAGR,oBAACD,kBAAgBA;YAAC,OAAOV;;IAGrC"}
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ import type { MenuConfig } from "@webiny/app-admin/config/AdminConfig/Menu.js";
3
+ export interface MenusProps {
4
+ menus: MenuConfig[];
5
+ where?: {
6
+ tags?: string[];
7
+ parent?: string;
8
+ };
9
+ }
10
+ export declare const SidebarMenuItems: (props: MenusProps) => (React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | null)[];
@@ -0,0 +1,36 @@
1
+ import react from "react";
2
+ const SidebarMenuItems = (props)=>{
3
+ const { menus: allMenus, where = {} } = props;
4
+ const filteredMenus = allMenus.filter((menu)=>{
5
+ const whereParent = where.parent || null;
6
+ const menuParent = menu.parent;
7
+ if (whereParent !== menuParent) return false;
8
+ const whereTags = where.tags || [];
9
+ const menuTags = menu.tags || [];
10
+ if (whereTags.length > 0) return whereTags.every((tag)=>menuTags.includes(tag));
11
+ return 0 === menuTags.length;
12
+ });
13
+ return filteredMenus.map((m)=>{
14
+ if (!/*#__PURE__*/ react.isValidElement(m.element)) return null;
15
+ const key = [
16
+ m.parent,
17
+ m.name
18
+ ].join("-");
19
+ const hasChildMenus = allMenus.some((menu)=>menu.parent === m.name);
20
+ if (hasChildMenus) return /*#__PURE__*/ react.cloneElement(m.element, {
21
+ key
22
+ }, /*#__PURE__*/ react.createElement(SidebarMenuItems, {
23
+ menus: allMenus,
24
+ where: {
25
+ parent: m.name
26
+ }
27
+ }));
28
+ if (m.hideIfEmpty) return null;
29
+ return /*#__PURE__*/ react.cloneElement(m.element, {
30
+ key
31
+ });
32
+ });
33
+ };
34
+ export { SidebarMenuItems };
35
+
36
+ //# sourceMappingURL=SidebarMenuItems.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Navigation/SidebarMenuItems.js","sources":["../../src/Navigation/SidebarMenuItems.tsx"],"sourcesContent":["import React from \"react\";\nimport type { MenuConfig } from \"@webiny/app-admin/config/AdminConfig/Menu.js\";\n\nexport interface MenusProps {\n menus: MenuConfig[];\n where?: { tags?: string[]; parent?: string };\n}\n\n// This component is called recursively to render root and nested menu items.\n// The menu items are defined via AdminConfig.\nexport const SidebarMenuItems = (props: MenusProps) => {\n const { menus: allMenus, where = {} } = props;\n const filteredMenus = allMenus.filter(menu => {\n const whereParent = where.parent || null;\n const menuParent = menu.parent;\n if (whereParent !== menuParent) {\n return false;\n }\n\n const whereTags = where.tags || [];\n const menuTags = menu.tags || [];\n\n if (whereTags.length > 0) {\n // If not all tags are present, return false.\n return whereTags.every(tag => menuTags.includes(tag));\n }\n\n return menuTags.length === 0;\n });\n\n return filteredMenus.map(m => {\n if (!React.isValidElement(m.element)) {\n return null;\n }\n\n const key = [m.parent, m.name].join(\"-\");\n\n const hasChildMenus = allMenus.some(menu => menu.parent === m.name);\n if (hasChildMenus) {\n return React.cloneElement(\n m.element,\n { key },\n <SidebarMenuItems menus={allMenus} where={{ parent: m.name }} />\n );\n }\n\n if (m.hideIfEmpty) {\n return null;\n }\n\n return React.cloneElement(m.element, { key });\n });\n};\n"],"names":["SidebarMenuItems","props","allMenus","where","filteredMenus","menu","whereParent","menuParent","whereTags","menuTags","tag","m","React","key","hasChildMenus"],"mappings":";AAUO,MAAMA,mBAAmB,CAACC;IAC7B,MAAM,EAAE,OAAOC,QAAQ,EAAEC,QAAQ,CAAC,CAAC,EAAE,GAAGF;IACxC,MAAMG,gBAAgBF,SAAS,MAAM,CAACG,CAAAA;QAClC,MAAMC,cAAcH,MAAM,MAAM,IAAI;QACpC,MAAMI,aAAaF,KAAK,MAAM;QAC9B,IAAIC,gBAAgBC,YAChB,OAAO;QAGX,MAAMC,YAAYL,MAAM,IAAI,IAAI,EAAE;QAClC,MAAMM,WAAWJ,KAAK,IAAI,IAAI,EAAE;QAEhC,IAAIG,UAAU,MAAM,GAAG,GAEnB,OAAOA,UAAU,KAAK,CAACE,CAAAA,MAAOD,SAAS,QAAQ,CAACC;QAGpD,OAAOD,AAAoB,MAApBA,SAAS,MAAM;IAC1B;IAEA,OAAOL,cAAc,GAAG,CAACO,CAAAA;QACrB,IAAI,CAAC,WAAD,GAACC,MAAAA,cAAoB,CAACD,EAAE,OAAO,GAC/B,OAAO;QAGX,MAAME,MAAM;YAACF,EAAE,MAAM;YAAEA,EAAE,IAAI;SAAC,CAAC,IAAI,CAAC;QAEpC,MAAMG,gBAAgBZ,SAAS,IAAI,CAACG,CAAAA,OAAQA,KAAK,MAAM,KAAKM,EAAE,IAAI;QAClE,IAAIG,eACA,OAAO,WAAP,GAAOF,MAAAA,YAAkB,CACrBD,EAAE,OAAO,EACT;YAAEE;QAAI,iBACN,oBAACb,kBAAgBA;YAAC,OAAOE;YAAU,OAAO;gBAAE,QAAQS,EAAE,IAAI;YAAC;;QAInE,IAAIA,EAAE,WAAW,EACb,OAAO;QAGX,OAAO,WAAP,GAAOC,MAAAA,YAAkB,CAACD,EAAE,OAAO,EAAE;YAAEE;QAAI;IAC/C;AACJ"}
@@ -0,0 +1,297 @@
1
+ import __rslib_svgr_url__0__ from "../static/svg/notFound.e8b15981.svg";
2
+ import * as __rspack_external_react from "react";
3
+ const SvgNotFound = (props)=>/*#__PURE__*/ __rspack_external_react.createElement("svg", {
4
+ xmlns: "http://www.w3.org/2000/svg",
5
+ xmlnsXlink: "http://www.w3.org/1999/xlink",
6
+ width: 895.68,
7
+ height: 517.48,
8
+ "data-name": "Layer 1",
9
+ viewBox: "0 0 895.68 517.48",
10
+ ...props
11
+ }, /*#__PURE__*/ __rspack_external_react.createElement("defs", null, /*#__PURE__*/ __rspack_external_react.createElement("linearGradient", {
12
+ id: "notFound_svg__a",
13
+ x1: 790.94,
14
+ x2: 790.94,
15
+ y1: 640.76,
16
+ y2: 264.76,
17
+ gradientTransform: "rotate(90 783.095 446.895)",
18
+ gradientUnits: "userSpaceOnUse"
19
+ }, /*#__PURE__*/ __rspack_external_react.createElement("stop", {
20
+ offset: 0,
21
+ stopColor: "gray",
22
+ stopOpacity: 0.25
23
+ }), /*#__PURE__*/ __rspack_external_react.createElement("stop", {
24
+ offset: 0.54,
25
+ stopColor: "gray",
26
+ stopOpacity: 0.12
27
+ }), /*#__PURE__*/ __rspack_external_react.createElement("stop", {
28
+ offset: 1,
29
+ stopColor: "gray",
30
+ stopOpacity: 0.1
31
+ })), /*#__PURE__*/ __rspack_external_react.createElement("linearGradient", {
32
+ xlinkHref: "#notFound_svg__a",
33
+ id: "notFound_svg__b",
34
+ x1: 785.97,
35
+ x2: 785.97,
36
+ y1: 446.14,
37
+ y2: 321.91,
38
+ gradientTransform: "rotate(90 783.305 383.365)"
39
+ }), /*#__PURE__*/ __rspack_external_react.createElement("linearGradient", {
40
+ xlinkHref: "#notFound_svg__a",
41
+ id: "notFound_svg__c",
42
+ x1: 660.92,
43
+ x2: 660.92,
44
+ y1: 518.19,
45
+ y2: 494.17,
46
+ gradientTransform: "rotate(90 659.87 486.97)"
47
+ }), /*#__PURE__*/ __rspack_external_react.createElement("linearGradient", {
48
+ xlinkHref: "#notFound_svg__a",
49
+ id: "notFound_svg__d",
50
+ x1: 433.66,
51
+ x2: 433.66,
52
+ y1: 605.23,
53
+ y2: 235.23,
54
+ gradientTransform: "translate(13.58 8.51)"
55
+ }), /*#__PURE__*/ __rspack_external_react.createElement("linearGradient", {
56
+ xlinkHref: "#notFound_svg__a",
57
+ id: "notFound_svg__e",
58
+ x1: 428.36,
59
+ x2: 428.36,
60
+ y1: 413.71,
61
+ y2: 291.46,
62
+ gradientTransform: "translate(-1.05 11.3)"
63
+ }), /*#__PURE__*/ __rspack_external_react.createElement("linearGradient", {
64
+ xlinkHref: "#notFound_svg__a",
65
+ id: "notFound_svg__f",
66
+ x1: 295.22,
67
+ x2: 295.22,
68
+ y1: 484.61,
69
+ y2: 460.98,
70
+ gradientTransform: "translate(28.38 37.45)"
71
+ }), /*#__PURE__*/ __rspack_external_react.createElement("linearGradient", {
72
+ xlinkHref: "#notFound_svg__a",
73
+ id: "notFound_svg__g",
74
+ x1: 455.07,
75
+ x2: 455.07,
76
+ y1: 464.48,
77
+ y2: 10.48
78
+ }), /*#__PURE__*/ __rspack_external_react.createElement("linearGradient", {
79
+ xlinkHref: "#notFound_svg__a",
80
+ id: "notFound_svg__h",
81
+ x1: 449.07,
82
+ x2: 449.07,
83
+ y1: 229.48,
84
+ y2: 79.48
85
+ }), /*#__PURE__*/ __rspack_external_react.createElement("linearGradient", {
86
+ xlinkHref: "#notFound_svg__a",
87
+ id: "notFound_svg__i",
88
+ x1: 298.07,
89
+ x2: 298.07,
90
+ y1: 316.48,
91
+ y2: 287.48
92
+ }), /*#__PURE__*/ __rspack_external_react.createElement("linearGradient", {
93
+ xlinkHref: "#notFound_svg__a",
94
+ id: "notFound_svg__j",
95
+ x1: 457.07,
96
+ x2: 457.07,
97
+ y1: 517.48,
98
+ y2: 364.48
99
+ }), /*#__PURE__*/ __rspack_external_react.createElement("linearGradient", {
100
+ xlinkHref: "#notFound_svg__a",
101
+ id: "notFound_svg__k",
102
+ x1: 611.23,
103
+ x2: 611.23,
104
+ y1: 564.74,
105
+ y2: 464.74
106
+ }), /*#__PURE__*/ __rspack_external_react.createElement("linearGradient", {
107
+ xlinkHref: "#notFound_svg__a",
108
+ id: "notFound_svg__l",
109
+ x1: 611.23,
110
+ x2: 611.23,
111
+ y1: 660.74,
112
+ y2: 602.74
113
+ })), /*#__PURE__*/ __rspack_external_react.createElement("path", {
114
+ fill: "#f5f5f5",
115
+ d: "m415.967 68.35 2.986-19.655 465.072 70.668-2.987 19.654z"
116
+ }), /*#__PURE__*/ __rspack_external_react.createElement("path", {
117
+ fill: "url(#notFound_svg__a)",
118
+ d: "M589.23 209.59h376v490.29h-376z",
119
+ transform: "rotate(-81.36 589.882 447.627)"
120
+ }), /*#__PURE__*/ __rspack_external_react.createElement("path", {
121
+ fill: "#f5f5f5",
122
+ d: "m364.447 407.325 51.508-338.98 465.071 70.668-51.508 338.98z"
123
+ }), /*#__PURE__*/ __rspack_external_react.createElement("circle", {
124
+ cx: 580.99,
125
+ cy: 251.51,
126
+ r: 4.86,
127
+ fill: "#ff5252",
128
+ transform: "rotate(-81.36 393.642 244.4)"
129
+ }), /*#__PURE__*/ __rspack_external_react.createElement("circle", {
130
+ cx: 594.2,
131
+ cy: 253.52,
132
+ r: 4.86,
133
+ fill: "#ff0",
134
+ transform: "rotate(-81.36 406.848 246.405)"
135
+ }), /*#__PURE__*/ __rspack_external_react.createElement("circle", {
136
+ cx: 607.41,
137
+ cy: 255.53,
138
+ r: 4.86,
139
+ fill: "#69f0ae",
140
+ transform: "rotate(-81.36 420.06 248.415)"
141
+ }), /*#__PURE__*/ __rspack_external_react.createElement("path", {
142
+ fill: "url(#notFound_svg__b)",
143
+ d: "M720.53 174.84h124.23v422.38H720.53z",
144
+ transform: "rotate(-81.36 595.3 378.92)"
145
+ }), /*#__PURE__*/ __rspack_external_react.createElement("path", {
146
+ fill: "#fa5a28",
147
+ d: "m435.203 107.291 408.58 62.084-17.294 113.813-408.58-62.083z"
148
+ }), /*#__PURE__*/ __rspack_external_react.createElement("path", {
149
+ fill: "url(#notFound_svg__c)",
150
+ d: "M628.65 473.94h24.02v28.16h-24.02z",
151
+ transform: "rotate(-81.36 453.304 480.904)"
152
+ }), /*#__PURE__*/ __rspack_external_react.createElement("path", {
153
+ fill: "#fa5a28",
154
+ d: "m477.377 284.582 26.2 3.981-2.987 19.655-26.2-3.981z"
155
+ }), /*#__PURE__*/ __rspack_external_react.createElement("path", {
156
+ fill: "#ff5252",
157
+ d: "m472.262 318.154 26.2 3.98-2.987 19.655-26.2-3.981z"
158
+ }), /*#__PURE__*/ __rspack_external_react.createElement("path", {
159
+ fill: "#ff9800",
160
+ d: "m467.167 351.727 26.2 3.98-2.987 19.655-26.2-3.981z"
161
+ }), /*#__PURE__*/ __rspack_external_react.createElement("path", {
162
+ fill: "#fa5a28",
163
+ d: "m546.346 299.25 211.245 32.1-1.74 11.458-211.246-32.099zM541.241 332.823l211.245 32.1-1.74 11.458L539.5 344.282zM536.146 366.396l211.245 32.1-1.741 11.458-211.245-32.1z",
164
+ opacity: 0.4
165
+ }), /*#__PURE__*/ __rspack_external_react.createElement("path", {
166
+ fill: "#f5f5f5",
167
+ d: "M10.887 118.113 499.665 8.858l4.267 19.09L15.154 137.201z"
168
+ }), /*#__PURE__*/ __rspack_external_react.createElement("path", {
169
+ fill: "url(#notFound_svg__d)",
170
+ d: "M186.23 243.74h522v370h-522z",
171
+ transform: "rotate(-12.6 -495.083 1022.25)"
172
+ }), /*#__PURE__*/ __rspack_external_react.createElement("path", {
173
+ fill: "#f5f5f5",
174
+ d: "M15.15 137.213 503.928 27.958l73.602 329.274L88.752 466.487z"
175
+ }), /*#__PURE__*/ __rspack_external_react.createElement("ellipse", {
176
+ cx: 177.11,
177
+ cy: 316.25,
178
+ fill: "#ff5252",
179
+ rx: 5.17,
180
+ ry: 4.78,
181
+ transform: "rotate(-12.6 -765.182 909.732)"
182
+ }), /*#__PURE__*/ __rspack_external_react.createElement("ellipse", {
183
+ cx: 191,
184
+ cy: 313.15,
185
+ fill: "#ff0",
186
+ rx: 5.17,
187
+ ry: 4.78,
188
+ transform: "rotate(-12.6 -751.271 906.638)"
189
+ }), /*#__PURE__*/ __rspack_external_react.createElement("ellipse", {
190
+ cx: 204.88,
191
+ cy: 310.05,
192
+ fill: "#69f0ae",
193
+ rx: 5.17,
194
+ ry: 4.78,
195
+ transform: "rotate(-12.6 -737.406 903.539)"
196
+ }), /*#__PURE__*/ __rspack_external_react.createElement("path", {
197
+ fill: "url(#notFound_svg__e)",
198
+ d: "M202.46 302.76h449.7v122.25h-449.7z",
199
+ transform: "rotate(-12.6 -514.97 957.389)"
200
+ }), /*#__PURE__*/ __rspack_external_react.createElement("path", {
201
+ fill: "#fa5a28",
202
+ d: "m48.613 165.637 429.403-95.983 24.711 110.552-429.403 95.983z"
203
+ }), /*#__PURE__*/ __rspack_external_react.createElement("path", {
204
+ fill: "url(#notFound_svg__f)",
205
+ d: "M308.61 498.42h29.98v23.63h-29.98z",
206
+ transform: "rotate(-12.6 -618.682 1103.725)"
207
+ }), /*#__PURE__*/ __rspack_external_react.createElement("path", {
208
+ fill: "#fa5a28",
209
+ d: "m158.065 313.478 27.655-6.208 4.303 19.169-27.655 6.208z"
210
+ }), /*#__PURE__*/ __rspack_external_react.createElement("path", {
211
+ fill: "#ff5252",
212
+ d: "m163.17 344.626 27.54-6.156 4.267 19.09-27.54 6.155z"
213
+ }), /*#__PURE__*/ __rspack_external_react.createElement("path", {
214
+ fill: "#ff9800",
215
+ d: "m172.831 378.936 27.656-6.208 4.303 19.169-27.655 6.208z"
216
+ }), /*#__PURE__*/ __rspack_external_react.createElement("path", {
217
+ fill: "#fa5a28",
218
+ d: "m229.908 299.64 222.012-49.626 2.489 11.135-222.012 49.626zM237.197 332.254l222.01-49.625 2.49 11.135-222.011 49.625zM244.485 364.858l222.011-49.625 2.489 11.135-222.011 49.626z",
219
+ opacity: 0.4
220
+ }), /*#__PURE__*/ __rspack_external_react.createElement("path", {
221
+ fill: "#f5f5f5",
222
+ d: "M170.07 18.48h568v24h-568z"
223
+ }), /*#__PURE__*/ __rspack_external_react.createElement("path", {
224
+ fill: "url(#notFound_svg__g)",
225
+ d: "M159.07 10.48h592v454h-592z"
226
+ }), /*#__PURE__*/ __rspack_external_react.createElement("path", {
227
+ fill: "#fff",
228
+ d: "M170.07 42.48h568v414h-568z"
229
+ }), /*#__PURE__*/ __rspack_external_react.createElement("circle", {
230
+ cx: 183.94,
231
+ cy: 30.48,
232
+ r: 5.87,
233
+ fill: "#ff5252"
234
+ }), /*#__PURE__*/ __rspack_external_react.createElement("circle", {
235
+ cx: 200.07,
236
+ cy: 30.48,
237
+ r: 5.87,
238
+ fill: "#ff0"
239
+ }), /*#__PURE__*/ __rspack_external_react.createElement("circle", {
240
+ cx: 216.2,
241
+ cy: 30.48,
242
+ r: 5.87,
243
+ fill: "#69f0ae"
244
+ }), /*#__PURE__*/ __rspack_external_react.createElement("path", {
245
+ fill: "url(#notFound_svg__h)",
246
+ d: "M194.07 79.48h510v150h-510z"
247
+ }), /*#__PURE__*/ __rspack_external_react.createElement("path", {
248
+ fill: "#fa5a28",
249
+ d: "M200.07 85.48h499v139h-499z"
250
+ }), /*#__PURE__*/ __rspack_external_react.createElement("path", {
251
+ fill: "url(#notFound_svg__i)",
252
+ d: "M281.07 287.48h34v29h-34z"
253
+ }), /*#__PURE__*/ __rspack_external_react.createElement("path", {
254
+ fill: "#fa5a28",
255
+ d: "M282.57 289.48h32v24h-32z"
256
+ }), /*#__PURE__*/ __rspack_external_react.createElement("path", {
257
+ fill: "#ff5252",
258
+ d: "M282.57 330.48h32v24h-32z"
259
+ }), /*#__PURE__*/ __rspack_external_react.createElement("path", {
260
+ fill: "#ff9800",
261
+ d: "M282.57 371.48h32v24h-32z"
262
+ }), /*#__PURE__*/ __rspack_external_react.createElement("path", {
263
+ fill: "#fa5a28",
264
+ d: "M367.57 294.48h258v14h-258zM367.57 335.48h258v14h-258zM367.57 376.48h258v14h-258z",
265
+ opacity: 0.4
266
+ }), /*#__PURE__*/ __rspack_external_react.createElement("path", {
267
+ fill: "url(#notFound_svg__j)",
268
+ d: "M364.07 364.48h186v153h-186z"
269
+ }), /*#__PURE__*/ __rspack_external_react.createElement("path", {
270
+ fill: "url(#notFound_svg__k)",
271
+ d: "M559.15 531.41a52.08 52.08 0 0 1 104.17 0v33.33h14.58v-33.33a66.67 66.67 0 1 0-133.33 0v33.33h14.58Z",
272
+ transform: "translate(-152.16 -191.26)"
273
+ }), /*#__PURE__*/ __rspack_external_react.createElement("path", {
274
+ fill: "#fff",
275
+ d: "M409.07 339.48a50 50 0 0 1 100 0v32h14v-32a64 64 0 0 0-128 0v32h14Z"
276
+ }), /*#__PURE__*/ __rspack_external_react.createElement("path", {
277
+ fill: "#fa5a28",
278
+ d: "M372.07 369.48h174v142h-174z"
279
+ }), /*#__PURE__*/ __rspack_external_react.createElement("path", {
280
+ fill: "#fff",
281
+ d: "M372.07 369.48h174v142h-174z"
282
+ }), /*#__PURE__*/ __rspack_external_react.createElement("path", {
283
+ fill: "#fa5a28",
284
+ d: "M372.07 397.48h174v86h-174z"
285
+ }), /*#__PURE__*/ __rspack_external_react.createElement("path", {
286
+ fill: "url(#notFound_svg__l)",
287
+ d: "M624 615.5a12.76 12.76 0 1 0-22 8.74v27.22a9.28 9.28 0 0 0 18.56 0v-27.22a12.7 12.7 0 0 0 3.44-8.74",
288
+ transform: "translate(-152.16 -191.26)"
289
+ }), /*#__PURE__*/ __rspack_external_react.createElement("path", {
290
+ d: "M470.07 426.48a11 11 0 1 0-19 7.53v23.47a8 8 0 1 0 16 0v-23.47a11 11 0 0 0 3-7.53",
291
+ opacity: 0.2
292
+ }));
293
+ const notFound = __rslib_svgr_url__0__;
294
+ export default notFound;
295
+ export { SvgNotFound as ReactComponent };
296
+
297
+ //# sourceMappingURL=notFound.js.map