@webiny/app-admin 0.0.0-mt-3 → 0.0.0-unstable.1e66d121db

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 (450) hide show
  1. package/assets/icons/slack-logo.svg +1 -1
  2. package/base/Admin.d.ts +7 -0
  3. package/base/Admin.js +55 -0
  4. package/base/Admin.js.map +1 -0
  5. package/base/Base.d.ts +2 -0
  6. package/base/Base.js +110 -0
  7. package/base/Base.js.map +1 -0
  8. package/base/plugins/AddGraphQLQuerySelection.d.ts +9 -0
  9. package/base/plugins/AddGraphQLQuerySelection.js +31 -0
  10. package/base/plugins/AddGraphQLQuerySelection.js.map +1 -0
  11. package/base/providers/ApolloProvider.d.ts +10 -0
  12. package/base/providers/ApolloProvider.js +26 -0
  13. package/base/providers/ApolloProvider.js.map +1 -0
  14. package/base/providers/TelemetryProvider.d.ts +2 -0
  15. package/base/providers/TelemetryProvider.js +37 -0
  16. package/base/providers/TelemetryProvider.js.map +1 -0
  17. package/base/providers/UiStateProvider.d.ts +2 -0
  18. package/base/providers/UiStateProvider.js +23 -0
  19. package/base/providers/UiStateProvider.js.map +1 -0
  20. package/base/providers/ViewCompositionProvider.d.ts +17 -0
  21. package/base/providers/ViewCompositionProvider.js +70 -0
  22. package/base/providers/ViewCompositionProvider.js.map +1 -0
  23. package/base/ui/Brand.d.ts +2 -0
  24. package/base/ui/Brand.js +19 -0
  25. package/base/ui/Brand.js.map +1 -0
  26. package/base/ui/CenteredView.d.ts +4 -0
  27. package/base/ui/CenteredView.js +40 -0
  28. package/base/ui/CenteredView.js.map +1 -0
  29. package/base/ui/Dashboard.d.ts +2 -0
  30. package/base/ui/Dashboard.js +19 -0
  31. package/base/ui/Dashboard.js.map +1 -0
  32. package/base/ui/Layout.d.ts +7 -0
  33. package/base/ui/Layout.js +24 -0
  34. package/base/ui/Layout.js.map +1 -0
  35. package/base/ui/LocaleSelector.d.ts +2 -0
  36. package/base/ui/LocaleSelector.js +19 -0
  37. package/base/ui/LocaleSelector.js.map +1 -0
  38. package/base/ui/LoginScreen.d.ts +6 -0
  39. package/base/ui/LoginScreen.js +27 -0
  40. package/base/ui/LoginScreen.js.map +1 -0
  41. package/base/ui/Logo.d.ts +8 -0
  42. package/base/ui/Logo.js +36 -0
  43. package/base/ui/Logo.js.map +1 -0
  44. package/base/ui/Menu.d.ts +31 -0
  45. package/base/ui/Menu.js +166 -0
  46. package/base/ui/Menu.js.map +1 -0
  47. package/base/ui/Navigation.d.ts +24 -0
  48. package/base/ui/Navigation.js +184 -0
  49. package/base/ui/Navigation.js.map +1 -0
  50. package/base/ui/NotFound.d.ts +2 -0
  51. package/base/ui/NotFound.js +19 -0
  52. package/base/ui/NotFound.js.map +1 -0
  53. package/base/ui/Search.d.ts +19 -0
  54. package/base/ui/Search.js +81 -0
  55. package/base/ui/Search.js.map +1 -0
  56. package/base/ui/Tags.d.ts +10 -0
  57. package/base/ui/Tags.js +29 -0
  58. package/base/ui/Tags.js.map +1 -0
  59. package/base/ui/UserMenu.d.ts +30 -0
  60. package/base/ui/UserMenu.js +137 -0
  61. package/base/ui/UserMenu.js.map +1 -0
  62. package/components/AdminLayout.d.ts +1 -2
  63. package/components/AdminLayout.js +16 -29
  64. package/components/AdminLayout.js.map +1 -0
  65. package/components/AppInstaller/AppInstaller.d.ts +7 -0
  66. package/components/AppInstaller/AppInstaller.js +183 -0
  67. package/components/AppInstaller/AppInstaller.js.map +1 -0
  68. package/components/AppInstaller/Sidebar.d.ts +8 -6
  69. package/components/AppInstaller/Sidebar.js +66 -46
  70. package/components/AppInstaller/Sidebar.js.map +1 -0
  71. package/components/AppInstaller/index.d.ts +1 -4
  72. package/components/AppInstaller/index.js +20 -125
  73. package/components/AppInstaller/index.js.map +1 -0
  74. package/components/AppInstaller/styled.d.ts +6 -4
  75. package/components/AppInstaller/styled.js +31 -13
  76. package/components/AppInstaller/styled.js.map +1 -0
  77. package/components/AppInstaller/useInstaller.d.ts +29 -9
  78. package/components/AppInstaller/useInstaller.js +112 -70
  79. package/components/AppInstaller/useInstaller.js.map +1 -0
  80. package/components/EmptyView.d.ts +5 -5
  81. package/components/EmptyView.js +25 -11
  82. package/components/EmptyView.js.map +1 -0
  83. package/components/FileManager/BottomInfoBar/SupportedFileTypes.d.ts +5 -4
  84. package/components/FileManager/BottomInfoBar/SupportedFileTypes.js +30 -10
  85. package/components/FileManager/BottomInfoBar/SupportedFileTypes.js.map +1 -0
  86. package/components/FileManager/BottomInfoBar/UploadStatus.d.ts +5 -4
  87. package/components/FileManager/BottomInfoBar/UploadStatus.js +21 -8
  88. package/components/FileManager/BottomInfoBar/UploadStatus.js.map +1 -0
  89. package/components/FileManager/BottomInfoBar.d.ts +4 -2
  90. package/components/FileManager/BottomInfoBar.js +29 -11
  91. package/components/FileManager/BottomInfoBar.js.map +1 -0
  92. package/components/FileManager/DropFilesHere.d.ts +5 -3
  93. package/components/FileManager/DropFilesHere.js +31 -13
  94. package/components/FileManager/DropFilesHere.js.map +1 -0
  95. package/components/FileManager/File.d.ts +8 -9
  96. package/components/FileManager/File.js +53 -27
  97. package/components/FileManager/File.js.map +1 -0
  98. package/components/FileManager/FileDetails/Name.d.ts +7 -5
  99. package/components/FileManager/FileDetails/Name.js +63 -38
  100. package/components/FileManager/FileDetails/Name.js.map +1 -0
  101. package/components/FileManager/FileDetails/Tags.d.ts +9 -5
  102. package/components/FileManager/FileDetails/Tags.js +183 -85
  103. package/components/FileManager/FileDetails/Tags.js.map +1 -0
  104. package/components/FileManager/FileDetails.d.ts +9 -8
  105. package/components/FileManager/FileDetails.js +226 -144
  106. package/components/FileManager/FileDetails.js.map +1 -0
  107. package/components/FileManager/FileManagerContext.d.ts +28 -9
  108. package/components/FileManager/FileManagerContext.js +76 -26
  109. package/components/FileManager/FileManagerContext.js.map +1 -0
  110. package/components/FileManager/FileManagerView.d.ts +12 -17
  111. package/components/FileManager/FileManagerView.js +291 -195
  112. package/components/FileManager/FileManagerView.js.map +1 -0
  113. package/components/FileManager/LeftSidebar.d.ts +7 -5
  114. package/components/FileManager/LeftSidebar.js +63 -31
  115. package/components/FileManager/LeftSidebar.js.map +1 -0
  116. package/components/FileManager/NoPermissionView.d.ts +2 -2
  117. package/components/FileManager/NoPermissionView.js +35 -18
  118. package/components/FileManager/NoPermissionView.js.map +1 -0
  119. package/components/FileManager/NoResults.d.ts +3 -2
  120. package/components/FileManager/NoResults.js +22 -7
  121. package/components/FileManager/NoResults.js.map +1 -0
  122. package/components/FileManager/getFileTypePlugin.d.ts +4 -1
  123. package/components/FileManager/getFileTypePlugin.js +48 -18
  124. package/components/FileManager/getFileTypePlugin.js.map +1 -0
  125. package/components/FileManager/getFileUploader.d.ts +2 -1
  126. package/components/FileManager/getFileUploader.js +14 -4
  127. package/components/FileManager/getFileUploader.js.map +1 -0
  128. package/components/FileManager/graphql.d.ts +90 -0
  129. package/components/FileManager/graphql.js +49 -8
  130. package/components/FileManager/graphql.js.map +1 -0
  131. package/components/FileManager/outputFileSelectionError.d.ts +7 -2
  132. package/components/FileManager/outputFileSelectionError.js +19 -4
  133. package/components/FileManager/outputFileSelectionError.js.map +1 -0
  134. package/components/FileManager/types.d.ts +21 -0
  135. package/components/FileManager/types.js +5 -0
  136. package/components/FileManager/types.js.map +1 -0
  137. package/components/FileManager.d.ts +63 -14
  138. package/components/FileManager.js +119 -108
  139. package/components/FileManager.js.map +1 -0
  140. package/components/FloatingActionButton.d.ts +2 -2
  141. package/components/FloatingActionButton.js +18 -6
  142. package/components/FloatingActionButton.js.map +1 -0
  143. package/components/MultiImageUpload.d.ts +13 -4
  144. package/components/MultiImageUpload.js +33 -10
  145. package/components/MultiImageUpload.js.map +1 -0
  146. package/components/OverlayLayout/OverlayLayout.d.ts +11 -13
  147. package/components/OverlayLayout/OverlayLayout.js +68 -43
  148. package/components/OverlayLayout/OverlayLayout.js.map +1 -0
  149. package/components/OverlayLayout/index.d.ts +1 -1
  150. package/components/OverlayLayout/index.js +18 -1
  151. package/components/OverlayLayout/index.js.map +1 -0
  152. package/components/Permissions/Permissions.d.ts +4 -4
  153. package/components/Permissions/Permissions.js +28 -11
  154. package/components/Permissions/Permissions.js.map +1 -0
  155. package/components/Permissions/StyledComponents.d.ts +6 -4
  156. package/components/Permissions/StyledComponents.js +26 -9
  157. package/components/Permissions/StyledComponents.js.map +1 -0
  158. package/components/Permissions/index.js +30 -2
  159. package/components/Permissions/index.js.map +1 -0
  160. package/components/RichTextEditor/RichTextEditor.d.ts +2 -2
  161. package/components/RichTextEditor/RichTextEditor.js +24 -9
  162. package/components/RichTextEditor/RichTextEditor.js.map +1 -0
  163. package/components/RichTextEditor/index.js +21 -2
  164. package/components/RichTextEditor/index.js.map +1 -0
  165. package/components/RichTextEditor/styles.scss +39 -7
  166. package/components/RichTextEditor/tools/header/index.d.ts +35 -34
  167. package/components/RichTextEditor/tools/header/index.js +39 -39
  168. package/components/RichTextEditor/tools/header/index.js.map +1 -0
  169. package/components/RichTextEditor/tools/image/index.d.ts +40 -13
  170. package/components/RichTextEditor/tools/image/index.js +38 -30
  171. package/components/RichTextEditor/tools/image/index.js.map +1 -0
  172. package/components/RichTextEditor/tools/image/svgs.js +9 -2
  173. package/components/RichTextEditor/tools/image/svgs.js.map +1 -0
  174. package/components/RichTextEditor/tools/image/tunes.d.ts +14 -15
  175. package/components/RichTextEditor/tools/image/tunes.js +38 -26
  176. package/components/RichTextEditor/tools/image/tunes.js.map +1 -0
  177. package/components/RichTextEditor/tools/image/types.d.ts +29 -0
  178. package/components/RichTextEditor/tools/image/types.js +5 -0
  179. package/components/RichTextEditor/tools/image/types.js.map +1 -0
  180. package/components/RichTextEditor/tools/image/ui.d.ts +38 -27
  181. package/components/RichTextEditor/tools/image/ui.js +55 -35
  182. package/components/RichTextEditor/tools/image/ui.js.map +1 -0
  183. package/components/RichTextEditor/tools/paragraph/index.d.ts +34 -36
  184. package/components/RichTextEditor/tools/paragraph/index.js +57 -63
  185. package/components/RichTextEditor/tools/paragraph/index.js.map +1 -0
  186. package/components/RichTextEditor/tools/textColor/index.d.ts +33 -27
  187. package/components/RichTextEditor/tools/textColor/index.js +75 -36
  188. package/components/RichTextEditor/tools/textColor/index.js.map +1 -0
  189. package/components/RichTextEditor/tools/utils.js +14 -5
  190. package/components/RichTextEditor/tools/utils.js.map +1 -0
  191. package/components/Routes.d.ts +6 -0
  192. package/components/Routes.js +49 -0
  193. package/components/Routes.js.map +1 -0
  194. package/components/SearchUI.d.ts +4 -4
  195. package/components/SearchUI.js +23 -9
  196. package/components/SearchUI.js.map +1 -0
  197. package/components/SimpleForm/SimpleForm.d.ts +11 -11
  198. package/components/SimpleForm/SimpleForm.js +60 -29
  199. package/components/SimpleForm/SimpleForm.js.map +1 -0
  200. package/components/SimpleForm/index.js +31 -1
  201. package/components/SimpleForm/index.js.map +1 -0
  202. package/components/SimpleUI/InputField.d.ts +4 -3
  203. package/components/SimpleUI/InputField.js +56 -37
  204. package/components/SimpleUI/InputField.js.map +1 -0
  205. package/components/SingleImageUpload.d.ts +43 -13
  206. package/components/SingleImageUpload.js +88 -76
  207. package/components/SingleImageUpload.js.map +1 -0
  208. package/components/SplitView/SplitView.d.ts +6 -5
  209. package/components/SplitView/SplitView.js +45 -26
  210. package/components/SplitView/SplitView.js.map +1 -0
  211. package/components/SplitView/index.js +25 -1
  212. package/components/SplitView/index.js.map +1 -0
  213. package/components/index.js +13 -1
  214. package/components/index.js.map +1 -0
  215. package/hooks/useConfirmationDialog.d.ts +6 -5
  216. package/hooks/useConfirmationDialog.js +30 -18
  217. package/hooks/useConfirmationDialog.js.map +1 -0
  218. package/hooks/useDialog.d.ts +8 -3
  219. package/hooks/useDialog.js +16 -6
  220. package/hooks/useDialog.js.map +1 -0
  221. package/hooks/useSnackbar.d.ts +6 -3
  222. package/hooks/useSnackbar.js +20 -7
  223. package/hooks/useSnackbar.js.map +1 -0
  224. package/index.d.ts +35 -0
  225. package/index.js +373 -0
  226. package/index.js.map +1 -0
  227. package/package.json +48 -46
  228. package/plugins/FileManagerFileTypePlugin.d.ts +3 -3
  229. package/plugins/FileManagerFileTypePlugin.js +37 -20
  230. package/plugins/FileManagerFileTypePlugin.js.map +1 -0
  231. package/plugins/MenuPlugin.d.ts +22 -5
  232. package/plugins/MenuPlugin.js +37 -20
  233. package/plugins/MenuPlugin.js.map +1 -0
  234. package/plugins/PermissionRendererPlugin.d.ts +4 -4
  235. package/plugins/PermissionRendererPlugin.js +37 -20
  236. package/plugins/PermissionRendererPlugin.js.map +1 -0
  237. package/plugins/fileManager/fileDefault.d.ts +1 -2
  238. package/plugins/fileManager/fileDefault.js +22 -8
  239. package/plugins/fileManager/fileDefault.js.map +1 -0
  240. package/plugins/fileManager/fileImage/DeleteAction.d.ts +6 -2
  241. package/plugins/fileManager/fileImage/DeleteAction.js +45 -24
  242. package/plugins/fileManager/fileImage/DeleteAction.js.map +1 -0
  243. package/plugins/fileManager/fileImage/EditAction.d.ts +7 -6
  244. package/plugins/fileManager/fileImage/EditAction.js +73 -37
  245. package/plugins/fileManager/fileImage/EditAction.js.map +1 -0
  246. package/plugins/fileManager/fileImage/index.d.ts +1 -2
  247. package/plugins/fileManager/fileImage/index.js +27 -10
  248. package/plugins/fileManager/fileImage/index.js.map +1 -0
  249. package/plugins/fileManager/index.d.ts +2 -2
  250. package/plugins/fileManager/index.js +21 -3
  251. package/plugins/fileManager/index.js.map +1 -0
  252. package/plugins/globalSearch/SearchBar.d.ts +15 -3
  253. package/plugins/globalSearch/SearchBar.js +90 -58
  254. package/plugins/globalSearch/SearchBar.js.map +1 -0
  255. package/plugins/globalSearch/SearchBarDropdown.d.ts +19 -1
  256. package/plugins/globalSearch/SearchBarDropdown.js +46 -27
  257. package/plugins/globalSearch/SearchBarDropdown.js.map +1 -0
  258. package/plugins/globalSearch/index.d.ts +3 -4
  259. package/plugins/globalSearch/index.js +8 -22
  260. package/plugins/globalSearch/index.js.map +1 -0
  261. package/plugins/globalSearch/styled.d.ts +5 -3
  262. package/plugins/globalSearch/styled.js +33 -13
  263. package/plugins/globalSearch/styled.js.map +1 -0
  264. package/plugins/uiLayoutRenderer/index.d.ts +1 -2
  265. package/plugins/uiLayoutRenderer/index.js +25 -13
  266. package/plugins/uiLayoutRenderer/index.js.map +1 -0
  267. package/styles/material-theme-assignments.scss +79 -66
  268. package/styles/material.scss +2 -35
  269. package/types.d.ts +12 -19
  270. package/types.js +5 -1
  271. package/types.js.map +1 -0
  272. package/ui/UIElement.d.ts +1 -1
  273. package/ui/UIElement.js +19 -1
  274. package/ui/UIElement.js.map +1 -0
  275. package/ui/UILayout.js +19 -1
  276. package/ui/UILayout.js.map +1 -0
  277. package/ui/UIRenderer.js +13 -1
  278. package/ui/UIRenderer.js.map +1 -0
  279. package/ui/UIView.d.ts +1 -1
  280. package/ui/UIView.js +25 -1
  281. package/ui/UIView.js.map +1 -0
  282. package/ui/elements/AccordionElement.d.ts +5 -5
  283. package/ui/elements/AccordionElement.js +56 -32
  284. package/ui/elements/AccordionElement.js.map +1 -0
  285. package/ui/elements/ButtonElement.d.ts +3 -3
  286. package/ui/elements/ButtonElement.js +47 -20
  287. package/ui/elements/ButtonElement.js.map +1 -0
  288. package/ui/elements/ButtonGroupElement.d.ts +2 -2
  289. package/ui/elements/ButtonGroupElement.js +38 -19
  290. package/ui/elements/ButtonGroupElement.js.map +1 -0
  291. package/ui/elements/GenericElement.js +18 -1
  292. package/ui/elements/GenericElement.js.map +1 -0
  293. package/ui/elements/LabelElement.js +26 -13
  294. package/ui/elements/LabelElement.js.map +1 -0
  295. package/ui/elements/NavigationMenuElement.d.ts +2 -1
  296. package/ui/elements/NavigationMenuElement.js +51 -32
  297. package/ui/elements/NavigationMenuElement.js.map +1 -0
  298. package/ui/elements/PanelElement.js +27 -11
  299. package/ui/elements/PanelElement.js.map +1 -0
  300. package/ui/elements/PlaceholderElement.d.ts +2 -1
  301. package/ui/elements/PlaceholderElement.js +27 -13
  302. package/ui/elements/PlaceholderElement.js.map +1 -0
  303. package/ui/elements/SmallButtonElement.d.ts +1 -1
  304. package/ui/elements/SmallButtonElement.js +36 -19
  305. package/ui/elements/SmallButtonElement.js.map +1 -0
  306. package/ui/elements/TypographyElement.d.ts +1 -1
  307. package/ui/elements/TypographyElement.js +38 -20
  308. package/ui/elements/TypographyElement.js.map +1 -0
  309. package/ui/elements/ViewElement.js +18 -1
  310. package/ui/elements/ViewElement.js.map +1 -0
  311. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.d.ts +2 -2
  312. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js +42 -26
  313. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js.map +1 -0
  314. package/ui/elements/form/DynamicFieldsetElement.d.ts +19 -18
  315. package/ui/elements/form/DynamicFieldsetElement.js +54 -23
  316. package/ui/elements/form/DynamicFieldsetElement.js.map +1 -0
  317. package/ui/elements/form/FileManagerElement/EmptyStateElement.js +30 -13
  318. package/ui/elements/form/FileManagerElement/EmptyStateElement.js.map +1 -0
  319. package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js +51 -28
  320. package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js.map +1 -0
  321. package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js +53 -35
  322. package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js.map +1 -0
  323. package/ui/elements/form/FileManagerElement/styled.d.ts +19 -13
  324. package/ui/elements/form/FileManagerElement/styled.js +26 -12
  325. package/ui/elements/form/FileManagerElement/styled.js.map +1 -0
  326. package/ui/elements/form/FileManagerElement.d.ts +6 -6
  327. package/ui/elements/form/FileManagerElement.js +39 -22
  328. package/ui/elements/form/FileManagerElement.js.map +1 -0
  329. package/ui/elements/form/FormElement.d.ts +5 -5
  330. package/ui/elements/form/FormElement.js +42 -21
  331. package/ui/elements/form/FormElement.js.map +1 -0
  332. package/ui/elements/form/FormFieldElement.d.ts +9 -8
  333. package/ui/elements/form/FormFieldElement.js +53 -30
  334. package/ui/elements/form/FormFieldElement.js.map +1 -0
  335. package/ui/elements/form/HiddenElement.js +30 -15
  336. package/ui/elements/form/HiddenElement.js.map +1 -0
  337. package/ui/elements/form/InputElement.d.ts +1 -0
  338. package/ui/elements/form/InputElement.js +35 -18
  339. package/ui/elements/form/InputElement.js.map +1 -0
  340. package/ui/elements/form/PasswordElement.js +34 -18
  341. package/ui/elements/form/PasswordElement.js.map +1 -0
  342. package/ui/elements/form/SelectElement.d.ts +1 -1
  343. package/ui/elements/form/SelectElement.js +36 -20
  344. package/ui/elements/form/SelectElement.js.map +1 -0
  345. package/ui/elements/form/TextareaElement.js +34 -18
  346. package/ui/elements/form/TextareaElement.js.map +1 -0
  347. package/ui/views/AdminView/ContentElement.js +40 -24
  348. package/ui/views/AdminView/ContentElement.js.map +1 -0
  349. package/ui/views/AdminView/HeaderElement.js +72 -39
  350. package/ui/views/AdminView/HeaderElement.js.map +1 -0
  351. package/ui/views/AdminView/HeaderSectionCenterElement.d.ts +2 -2
  352. package/ui/views/AdminView/HeaderSectionCenterElement.js +41 -21
  353. package/ui/views/AdminView/HeaderSectionCenterElement.js.map +1 -0
  354. package/ui/views/AdminView/HeaderSectionLeftElement.d.ts +2 -2
  355. package/ui/views/AdminView/HeaderSectionLeftElement.js +41 -21
  356. package/ui/views/AdminView/HeaderSectionLeftElement.js.map +1 -0
  357. package/ui/views/AdminView/HeaderSectionRightElement.d.ts +2 -2
  358. package/ui/views/AdminView/HeaderSectionRightElement.js +41 -21
  359. package/ui/views/AdminView/HeaderSectionRightElement.js.map +1 -0
  360. package/ui/views/AdminView/components/Dialog.js +32 -15
  361. package/ui/views/AdminView/components/Dialog.js.map +1 -0
  362. package/ui/views/AdminView/components/Hamburger.d.ts +2 -2
  363. package/ui/views/AdminView/components/Hamburger.js +25 -11
  364. package/ui/views/AdminView/components/Hamburger.js.map +1 -0
  365. package/ui/views/AdminView/components/Snackbar.d.ts +2 -2
  366. package/ui/views/AdminView/components/Snackbar.js +26 -13
  367. package/ui/views/AdminView/components/Snackbar.js.map +1 -0
  368. package/ui/views/FormView/FormContainerElement.d.ts +2 -2
  369. package/ui/views/FormView/FormContainerElement.js +45 -25
  370. package/ui/views/FormView/FormContainerElement.js.map +1 -0
  371. package/ui/views/FormView/FormContentElement.js +27 -11
  372. package/ui/views/FormView/FormContentElement.js.map +1 -0
  373. package/ui/views/FormView/FormFooterElement.d.ts +3 -3
  374. package/ui/views/FormView/FormFooterElement.js +38 -19
  375. package/ui/views/FormView/FormFooterElement.js.map +1 -0
  376. package/ui/views/FormView/FormHeaderElement.d.ts +2 -2
  377. package/ui/views/FormView/FormHeaderElement.js +52 -30
  378. package/ui/views/FormView/FormHeaderElement.js.map +1 -0
  379. package/ui/views/FormView.d.ts +1 -1
  380. package/ui/views/FormView.js +85 -37
  381. package/ui/views/FormView.js.map +1 -0
  382. package/ui/views/OverlayView/ContentElement.d.ts +2 -2
  383. package/ui/views/OverlayView/ContentElement.js +38 -19
  384. package/ui/views/OverlayView/ContentElement.js.map +1 -0
  385. package/ui/views/OverlayView/HeaderElement.d.ts +5 -5
  386. package/ui/views/OverlayView/HeaderElement.js +56 -37
  387. package/ui/views/OverlayView/HeaderElement.js.map +1 -0
  388. package/ui/views/OverlayView/HeaderTitleElement.d.ts +1 -1
  389. package/ui/views/OverlayView/HeaderTitleElement.js +44 -25
  390. package/ui/views/OverlayView/HeaderTitleElement.js.map +1 -0
  391. package/ui/views/OverlayView/useOverlayView.d.ts +4 -5
  392. package/ui/views/OverlayView/useOverlayView.js +32 -16
  393. package/ui/views/OverlayView/useOverlayView.js.map +1 -0
  394. package/ui/views/OverlayView.d.ts +4 -6
  395. package/ui/views/OverlayView.js +65 -42
  396. package/ui/views/OverlayView.js.map +1 -0
  397. package/ui/views/SplitView/SplitViewPanelElement.d.ts +3 -3
  398. package/ui/views/SplitView/SplitViewPanelElement.js +47 -28
  399. package/ui/views/SplitView/SplitViewPanelElement.js.map +1 -0
  400. package/ui/views/SplitView.d.ts +3 -3
  401. package/ui/views/SplitView.js +57 -37
  402. package/ui/views/SplitView.js.map +1 -0
  403. package/plugins/index.d.ts +0 -6
  404. package/plugins/index.js +0 -8
  405. package/plugins/logo/Logo.d.ts +0 -22
  406. package/plugins/logo/Logo.js +0 -108
  407. package/plugins/logo/index.d.ts +0 -5
  408. package/plugins/logo/index.js +0 -32
  409. package/plugins/menu/documentation.d.ts +0 -4
  410. package/plugins/menu/documentation.js +0 -16
  411. package/plugins/menu/fileManager.d.ts +0 -4
  412. package/plugins/menu/fileManager.js +0 -64
  413. package/plugins/menu/index.d.ts +0 -6
  414. package/plugins/menu/index.js +0 -24
  415. package/plugins/menu/renderers/MenuGroupRenderer.d.ts +0 -7
  416. package/plugins/menu/renderers/MenuGroupRenderer.js +0 -126
  417. package/plugins/menu/renderers/MenuLinkRenderer.d.ts +0 -7
  418. package/plugins/menu/renderers/MenuLinkRenderer.js +0 -52
  419. package/plugins/menu/renderers/MenuSectionItemRenderer.d.ts +0 -7
  420. package/plugins/menu/renderers/MenuSectionItemRenderer.js +0 -77
  421. package/plugins/menu/renderers/MenuSectionRenderer.d.ts +0 -7
  422. package/plugins/menu/renderers/MenuSectionRenderer.js +0 -51
  423. package/plugins/menu/slack.d.ts +0 -4
  424. package/plugins/menu/slack.js +0 -16
  425. package/plugins/menu/source.d.ts +0 -4
  426. package/plugins/menu/source.js +0 -16
  427. package/plugins/userMenu/UserMenuElement.d.ts +0 -7
  428. package/plugins/userMenu/UserMenuElement.js +0 -43
  429. package/plugins/userMenu/UserMenuRenderer.d.ts +0 -6
  430. package/plugins/userMenu/UserMenuRenderer.js +0 -47
  431. package/plugins/userMenu/index.d.ts +0 -4
  432. package/plugins/userMenu/index.js +0 -16
  433. package/ui/views/AdminView.d.ts +0 -12
  434. package/ui/views/AdminView.js +0 -90
  435. package/ui/views/NavigationView/ContentElement.d.ts +0 -10
  436. package/ui/views/NavigationView/ContentElement.js +0 -86
  437. package/ui/views/NavigationView/FooterElement.d.ts +0 -13
  438. package/ui/views/NavigationView/FooterElement.js +0 -57
  439. package/ui/views/NavigationView/HeaderElement.d.ts +0 -16
  440. package/ui/views/NavigationView/HeaderElement.js +0 -66
  441. package/ui/views/NavigationView/NavigationViewRenderer.d.ts +0 -6
  442. package/ui/views/NavigationView/NavigationViewRenderer.js +0 -38
  443. package/ui/views/NavigationView/Styled.d.ts +0 -7
  444. package/ui/views/NavigationView/Styled.js +0 -47
  445. package/ui/views/NavigationView/legacyMenu.d.ts +0 -22
  446. package/ui/views/NavigationView/legacyMenu.js +0 -1
  447. package/ui/views/NavigationView/useNavigation.d.ts +0 -6
  448. package/ui/views/NavigationView/useNavigation.js +0 -22
  449. package/ui/views/NavigationView.d.ts +0 -26
  450. package/ui/views/NavigationView.js +0 -204
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Paragraph","data","config","api","readOnly","typography","_CSS","block","styles","settingsButton","settingsButtonActive","wrapper","onKeyUp","bind","_placeholder","placeholder","DEFAULT_PLACEHOLDER","_data","normalizeData","_element","drawView","_preserveBlank","preserveBlank","undefined","settingsButtons","alignments","ALIGNMENTS","text","innerHTML","forEach","alignment","name","textAlign","classList","add","remove","className","split","find","TextAlign","START","svg","ALIGNMENT_ICONS","start","e","code","textContent","div","document","createElement","contentEditable","dataset","i18n","t","addEventListener","holder","selectTypeButton","currentAlignment","setAlignment","appendChild","push","typographyForParagraph","Object","values","filter","item","component","input","option","Option","label","onclick","event","target","value","setTypographyClass","savedData","trim","toolsContent","getTextAlign","includes","detail","button","toggle","newData","export","import","br","tags","icon","title"],"sources":["index.ts"],"sourcesContent":["import { API, PasteEvent } from \"@editorjs/editorjs\";\nimport { Alignment, ALIGNMENTS, TextAlign, ALIGNMENT_ICONS } from \"../utils\";\nimport { HTMLPasteEventDetail } from \"@editorjs/editorjs/types/tools/paste-events\";\n\n/**\n * @typedef {object} ParagraphConfig\n * @property {string} placeholder - placeholder for the empty paragraph\n * @property {boolean} preserveBlank - Whether or not to keep blank paragraphs when saving editor data`\n */\ninterface ParagraphConfig {\n placeholder: string;\n preserveBlank: boolean;\n typography?: Typography;\n}\n/**\n * @typedef {Object} ParagraphData\n * @description Tool's input and output data format\n * @property {String} text — Paragraph's content. Can include HTML tags: <a><b><i>\n */\ninterface ParagraphData {\n text: string;\n textAlign: TextAlign;\n className?: string;\n}\n\ninterface Typography {\n [key: string]: {\n label: string;\n component: string;\n className: string;\n };\n}\n\ninterface ParagraphArgs {\n data: ParagraphData;\n config: ParagraphConfig;\n api: any;\n readOnly: boolean;\n}\nclass Paragraph {\n private readonly api: API;\n private readonly readOnly: boolean;\n private readonly _CSS: any;\n // private readonly _settings: any;\n private _data: ParagraphData;\n private readonly _element: any;\n private readonly _placeholder: string;\n private readonly _preserveBlank: boolean;\n private readonly alignments: Alignment[];\n private readonly settingsButtons: HTMLElement[];\n private readonly typography: Typography | null;\n\n /**\n * Render plugin`s main Element and fill it with saved data\n *\n * @param {object} params - constructor params\n * @param {ParagraphData} params.data - previously saved data\n * @param {ParagraphConfig} params.config - user config for Tool\n * @param {object} params.api - editor.js api\n * @param {boolean} readOnly - read only mode flag\n */\n public constructor({ data, config, api, readOnly }: ParagraphArgs) {\n this.api = api;\n this.readOnly = readOnly;\n this.typography = config.typography || null;\n this._CSS = {\n block: this.api.styles.block,\n settingsButton: this.api.styles.settingsButton,\n settingsButtonActive: this.api.styles.settingsButtonActive,\n wrapper: \"ce-paragraph\"\n };\n\n if (!this.readOnly) {\n this.onKeyUp = this.onKeyUp.bind(this);\n }\n\n /**\n * Placeholder for paragraph if it is first Block\n * @type {string}\n */\n this._placeholder = config.placeholder ? config.placeholder : Paragraph.DEFAULT_PLACEHOLDER;\n this._data = this.normalizeData(data);\n this._element = this.drawView();\n this._preserveBlank = config.preserveBlank !== undefined ? config.preserveBlank : false;\n this.settingsButtons = [];\n this.alignments = ALIGNMENTS;\n\n // Call the `data` setter, to properly render the view element.\n this.data = this._data;\n }\n\n /**\n * Default placeholder for Paragraph Tool\n *\n * @return {string}\n * @constructor\n */\n public static get DEFAULT_PLACEHOLDER(): string {\n return \"\";\n }\n\n /**\n * Enable Conversion Toolbar. Paragraph can be converted to/from other tools\n */\n public static get conversionConfig() {\n return {\n export: \"text\", // to convert Paragraph to other block, use 'text' property of saved data\n import: \"text\" // to covert other block's exported string to Paragraph, fill 'text' property of tool data\n };\n }\n\n /**\n * Sanitizer rules\n */\n public static get sanitize() {\n return {\n text: {\n br: true\n }\n };\n }\n\n /**\n * Returns true to notify the core that read-only mode is supported\n *\n * @return {boolean}\n */\n public static get isReadOnlySupported(): boolean {\n return true;\n }\n\n /**\n * Get current Tools`s data\n * @returns {ParagraphData} Current data\n * @private\n */\n public get data(): ParagraphData {\n const text = this._element.innerHTML;\n\n // this._data.text = text;\n\n return {\n ...this._data,\n text\n };\n }\n\n /**\n * Store data in plugin:\n * - at the this._data property\n * - at the HTML\n *\n * @param {ParagraphData} data — data to set\n * @private\n */\n public set data(data: ParagraphData) {\n this._data = data || ({} as ParagraphData);\n\n this._element.innerHTML = this._data.text || \"\";\n\n /**\n * Add Alignment class\n */\n this.alignments.forEach(alignment => {\n if (alignment.name === this._data.textAlign) {\n this._element.classList.add(`ce-header-text--${alignment.name}`);\n } else {\n this._element.classList.remove(`ce-header-text--${alignment.name}`);\n }\n });\n\n /**\n * Add Typography class\n */\n if (this._data.className) {\n this._element.classList.add(...this._data.className.split(\" \"));\n }\n }\n\n /**\n * Used by Editor paste handling API.\n * Provides configuration to handle P tags.\n *\n * @returns {{tags: string[]}}\n */\n public static get pasteConfig() {\n return {\n tags: [\"P\"]\n };\n }\n\n /**\n * Icon and title for displaying at the Toolbox\n *\n * @return {{icon: string, title: string}}\n */\n public static get toolbox() {\n return {\n icon:\n '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0.2 -0.3 9 11.4\" width=\"12\" height=\"14\">\\n' +\n ' <path d=\"M0 2.77V.92A1 1 0 01.2.28C.35.1.56 0 .83 0h7.66c.28.01.48.1.63.28.14.17.21.38.21.64v1.85c0 .26-.08.48-.23.66-.15.17-.37.26-.66.26-.28 0-.5-.09-.64-.26a1 1 0 01-.21-.66V1.69H5.6v7.58h.5c.25 0 .45.08.6.23.17.16.25.35.25.6s-.08.45-.24.6a.87.87 0 01-.62.22H3.21a.87.87 0 01-.61-.22.78.78 0 01-.24-.6c0-.25.08-.44.24-.6a.85.85 0 01.61-.23h.5V1.7H1.73v1.08c0 .26-.08.48-.23.66-.15.17-.37.26-.66.26-.28 0-.5-.09-.64-.26A1 1 0 010 2.77z\"/>\\n' +\n \"</svg>\",\n title: \"Text\"\n };\n }\n\n /**\n * Get current alignment\n *\n * @returns {alignment}\n */\n public get currentAlignment(): Alignment {\n let alignment = this.alignments.find(alignment => alignment.name === this._data.textAlign);\n\n if (!alignment) {\n alignment = { name: TextAlign.START, svg: ALIGNMENT_ICONS.start };\n }\n\n return alignment;\n }\n\n /**\n * Check if text content is empty and set empty string to inner html.\n * We need this because some browsers (e.g. Safari) insert <br> into empty contentEditable elements\n *\n * @param {KeyboardEvent} e - key up event\n */\n public onKeyUp(e: KeyboardEvent): void {\n if (e.code !== \"Backspace\" && e.code !== \"Delete\") {\n return;\n }\n\n const { textContent } = this._element;\n\n if (textContent === \"\") {\n this._element.innerHTML = \"\";\n }\n }\n\n /**\n * Create Tool's view\n * @return {HTMLElement}\n * @private\n */\n public drawView(): HTMLElement {\n const div: HTMLDivElement = document.createElement(\"div\");\n div.classList.add(this._CSS.wrapper, this._CSS.block);\n // Add custom className to view.\n if (this._data.className) {\n div.classList.add(this._data.className);\n }\n div.contentEditable = \"false\";\n div.dataset[\"placeholder\"] = this.api.i18n.t(this._placeholder);\n\n if (!this.readOnly) {\n div.contentEditable = \"true\";\n div.addEventListener(\"keyup\", this.onKeyUp);\n }\n\n return div;\n }\n\n /**\n * Return Tool's view\n */\n public render(): HTMLDivElement {\n return this._element;\n }\n\n /**\n * Create Block's settings block\n */\n public renderSettings(): HTMLElement {\n const holder: HTMLDivElement = document.createElement(\"div\");\n\n // Add alignment selectors\n this.alignments.forEach(alignment => {\n const selectTypeButton: HTMLSpanElement = document.createElement(\"span\");\n\n selectTypeButton.classList.add(this._CSS.settingsButton);\n\n /**\n * Highlight current level button\n */\n if (this.currentAlignment.name === alignment.name) {\n selectTypeButton.classList.add(this._CSS.settingsButtonActive);\n }\n\n /**\n * Add SVG icon\n */\n selectTypeButton.innerHTML = alignment.svg;\n\n /**\n * Save alignment to its button\n */\n selectTypeButton.dataset[\"textAlign\"] = alignment.name;\n\n /**\n * Set up click handler\n */\n selectTypeButton.addEventListener(\"click\", () => {\n this.setAlignment(alignment);\n });\n\n /**\n * Append settings button to holder\n */\n holder.appendChild(selectTypeButton);\n\n /**\n * Save settings buttons\n */\n this.settingsButtons.push(selectTypeButton);\n });\n\n // Add `Typography` selector\n if (this.typography) {\n const typographyForParagraph = Object.values(this.typography).filter(\n item => item.component === \"p\"\n );\n\n const selectTypeButton = document.createElement(\"SELECT\") as HTMLSelectElement;\n // Add editor's default input style\n selectTypeButton.classList.add(this.api.styles.input);\n // Add typography options\n typographyForParagraph.forEach(item => {\n const option = new Option(item.label, item.className);\n\n selectTypeButton.appendChild(option);\n });\n // Add \"onclick\" handler\n selectTypeButton.onclick = event => {\n const { value } = event.target as HTMLSelectElement;\n this.setTypographyClass(value);\n };\n\n /**\n * Append settings button to holder\n */\n holder.appendChild(selectTypeButton);\n\n /**\n * Save settings buttons\n */\n this.settingsButtons.push(selectTypeButton);\n }\n\n return holder;\n }\n\n /**\n * Method that specified how to merge two Text blocks.\n * Called by Editor.js by backspace at the beginning of the Block\n * @param {ParagraphData} data\n * @public\n */\n public merge(data: ParagraphData): void {\n this.data = {\n ...this.data,\n text: this.data.text + data.text\n };\n }\n\n /**\n * Validate Paragraph block data:\n * - check for emptiness\n *\n * @param {ParagraphData} savedData — data received after saving\n * @returns {boolean} false if saved data is not correct, otherwise true\n * @public\n */\n public validate(savedData: ParagraphData): boolean {\n return !(savedData.text.trim() === \"\" && !this._preserveBlank);\n }\n\n /**\n * Extract Tool's data from the view\n * @param {HTMLDivElement} toolsContent - Paragraph tools rendered view\n * @returns {ParagraphData} - saved data\n * @public\n */\n public save(toolsContent: HTMLElement) {\n return {\n text: toolsContent.innerHTML,\n textAlign: this.getTextAlign(toolsContent.className),\n className: this.data.className\n };\n }\n\n /**\n * Extract textAlign from className\n *\n * @param {string} className - heading element className\n * @returns {TextAlign} textAlign\n */\n public getTextAlign(className: string): TextAlign {\n let textAlign = TextAlign.START;\n // Match className with alignment\n this.alignments.forEach(alignment => {\n if (className.includes(`ce-header-text--${alignment.name}`)) {\n textAlign = alignment.name;\n }\n });\n return textAlign;\n }\n\n /**\n * On paste callback fired from Editor.\n *\n * @param {PasteEvent} event - event with pasted data\n */\n public onPaste(event: PasteEvent): void {\n const detail = event.detail as HTMLPasteEventDetail;\n this.data = {\n ...this.data,\n text: detail.data.innerHTML\n };\n }\n\n /**\n * Callback for Block's settings buttons\n *\n * @param {number} alignment - level to set\n */\n public setAlignment(alignment: Alignment): void {\n this.data = {\n textAlign: alignment.name,\n text: this.data.text\n };\n\n /**\n * Highlight button by selected level\n */\n this.settingsButtons.forEach(button => {\n button.classList.toggle(\n this._CSS.settingsButtonActive,\n button.dataset[\"textAlign\"] === alignment.name\n );\n });\n }\n\n /**\n * Callback for Block's settings buttons\n *\n * @param {string} className - name of typography class\n */\n public setTypographyClass(className: string): void {\n this.data = {\n textAlign: this.data.textAlign,\n text: this.data.text,\n className: className\n };\n }\n\n /**\n * Normalize input data\n *\n * @param {HeaderData} data - saved data to process\n *\n * @returns {HeaderData}\n * @private\n */\n public normalizeData(data?: Partial<ParagraphData>): ParagraphData {\n const newData: Partial<ParagraphData> = {};\n\n if (typeof data !== \"object\") {\n data = {};\n }\n\n newData.text = data.text || \"\";\n newData.textAlign = data.textAlign || TextAlign.START;\n newData.className = data.className || \"\";\n\n return newData as ParagraphData;\n }\n}\n\nexport default Paragraph;\n"],"mappings":"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"}
@@ -1,32 +1,39 @@
1
+ /// <reference types="react" />
2
+ /// <reference types="web" />
3
+ /// <reference types="web" />
1
4
  import { API } from "@editorjs/editorjs";
2
- declare class TextColorTool {
3
- _state: boolean;
4
- color: string;
5
+ interface Config {
6
+ themeColors: string[];
7
+ }
8
+ interface TextColorToolParams {
5
9
  api: API;
6
- tag: string;
7
- class: string;
8
- colorPicker: HTMLDivElement;
9
- button: HTMLButtonElement;
10
- config: {
11
- themeColors: string[];
12
- };
13
- _CSS: any;
14
- constructor({ api, config }: {
15
- api: any;
16
- config: any;
17
- });
10
+ config: Config;
11
+ }
12
+ interface SanitizeResultSpanResult {
13
+ class?: string;
14
+ style?: CSSStyleDeclaration;
15
+ }
16
+ interface SanitizeResult {
17
+ span: (element: HTMLElement) => SanitizeResultSpanResult;
18
+ }
19
+ declare class TextColorTool {
20
+ private _state;
21
+ private color;
22
+ private readonly api;
23
+ private readonly tag;
24
+ private readonly class;
25
+ private colorPicker;
26
+ private button;
27
+ private readonly config;
28
+ private readonly _CSS;
29
+ constructor({ api, config }: TextColorToolParams);
18
30
  static get isInline(): boolean;
19
31
  /**
20
32
  * Sanitize method returns rules to let Editor know which HTML tags it should respect.
21
33
  * @returns {object} sanitizer configuration.
22
34
  * https://editorjs.io/sanitizer
23
35
  */
24
- static get sanitize(): {
25
- span: (el: any) => {
26
- class: string;
27
- style: any;
28
- };
29
- };
36
+ static get sanitize(): SanitizeResult;
30
37
  get state(): boolean;
31
38
  set state(state: boolean);
32
39
  /**
@@ -40,19 +47,18 @@ declare class TextColorTool {
40
47
  /**
41
48
  * Finally, when button is pressed Editor calls
42
49
  * surround method of the tool with Range object as an argument.
43
- * @param range
44
50
  */
45
- surround(range: any): void;
46
- wrap(range: any): void;
47
- unwrap(range: any): void;
48
- showActions(mark: any): void;
51
+ surround(range: Range): void;
52
+ wrap(range: Range): void;
53
+ unwrap(range: Range): void;
54
+ showActions(mark: HTMLElement): void;
49
55
  hideActions(): void;
50
56
  /**
51
57
  * CheckState method of each Inline Tool is called by Editor with current `Selection`
52
58
  * when user selects some text
53
59
  */
54
60
  checkState(): void;
55
- convertToHex(color: any): string;
61
+ convertToHex(color: string): string;
56
62
  clear(): void;
57
63
  }
58
64
  export default TextColorTool;
@@ -1,35 +1,37 @@
1
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
- import _createClass from "@babel/runtime/helpers/createClass";
3
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
- var COLOR_TOOL_CLASS = "cdx-text-color";
5
-
6
- var TextColorTool = /*#__PURE__*/function () {
7
- function TextColorTool(_ref) {
8
- var api = _ref.api,
9
- config = _ref.config;
10
-
11
- _classCallCheck(this, TextColorTool);
12
-
13
- _defineProperty(this, "_state", void 0);
14
-
15
- _defineProperty(this, "color", void 0);
1
+ "use strict";
16
2
 
17
- _defineProperty(this, "api", void 0);
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
18
4
 
19
- _defineProperty(this, "tag", void 0);
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
20
9
 
21
- _defineProperty(this, "class", void 0);
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
22
11
 
23
- _defineProperty(this, "colorPicker", void 0);
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
24
13
 
25
- _defineProperty(this, "button", void 0);
14
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
26
15
 
27
- _defineProperty(this, "config", void 0);
28
-
29
- _defineProperty(this, "_CSS", void 0);
16
+ var COLOR_TOOL_CLASS = "cdx-text-color";
30
17
 
18
+ var TextColorTool = /*#__PURE__*/function () {
19
+ function TextColorTool(_ref) {
20
+ var api = _ref.api,
21
+ config = _ref.config;
22
+ (0, _classCallCheck2.default)(this, TextColorTool);
23
+ (0, _defineProperty2.default)(this, "_state", void 0);
24
+ (0, _defineProperty2.default)(this, "color", void 0);
25
+ (0, _defineProperty2.default)(this, "api", void 0);
26
+ (0, _defineProperty2.default)(this, "tag", void 0);
27
+ (0, _defineProperty2.default)(this, "class", void 0);
28
+ (0, _defineProperty2.default)(this, "colorPicker", void 0);
29
+ (0, _defineProperty2.default)(this, "button", void 0);
30
+ (0, _defineProperty2.default)(this, "config", void 0);
31
+ (0, _defineProperty2.default)(this, "_CSS", void 0);
31
32
  this.api = api;
32
33
  this.button = null;
34
+ this.colorPicker = null;
33
35
  this._state = false;
34
36
  this.tag = "SPAN";
35
37
  this.color = "red";
@@ -44,13 +46,18 @@ var TextColorTool = /*#__PURE__*/function () {
44
46
  };
45
47
  }
46
48
 
47
- _createClass(TextColorTool, [{
49
+ (0, _createClass2.default)(TextColorTool, [{
48
50
  key: "state",
49
51
  get: function get() {
50
52
  return this._state;
51
53
  },
52
54
  set: function set(state) {
53
55
  this._state = state;
56
+
57
+ if (!this.button) {
58
+ return;
59
+ }
60
+
54
61
  this.button.classList.toggle(this.api.styles.inlineToolButtonActive, state);
55
62
  }
56
63
  /**
@@ -94,16 +101,27 @@ var TextColorTool = /*#__PURE__*/function () {
94
101
  _this.color = color;
95
102
  }
96
103
 
97
- _this.colorPicker.childNodes.forEach(function (node) {
98
- if (node.classList.contains(_this._CSS.colorBoxActive)) {
99
- // remove active class
100
- node.classList.remove(_this._CSS.colorBoxActive);
101
- }
102
- }); // add active class
104
+ if (_this.colorPicker) {
105
+ /**
106
+ * TODO @ts-refactor
107
+ * TS Complains there is no classList on child node.
108
+ */
109
+ _this.colorPicker.childNodes.forEach(function (node) {
110
+ if (node.classList.contains(_this._CSS.colorBoxActive)) {
111
+ // remove active class
112
+ node.classList.remove(_this._CSS.colorBoxActive);
113
+ }
114
+ });
115
+ } // add active class
103
116
 
104
117
 
105
118
  colorBox.classList.add(_this._CSS.colorBoxActive);
106
- }); // save element
119
+ });
120
+
121
+ if (!_this.colorPicker) {
122
+ return;
123
+ } // save element
124
+
107
125
 
108
126
  _this.colorPicker.appendChild(colorBox);
109
127
  }); // Return element
@@ -113,7 +131,6 @@ var TextColorTool = /*#__PURE__*/function () {
113
131
  /**
114
132
  * Finally, when button is pressed Editor calls
115
133
  * surround method of the tool with Range object as an argument.
116
- * @param range
117
134
  */
118
135
 
119
136
  }, {
@@ -141,7 +158,11 @@ var TextColorTool = /*#__PURE__*/function () {
141
158
  value: function unwrap(range) {
142
159
  var mark = this.api.selection.findParentTag(this.tag, this.class);
143
160
  var text = range.extractContents();
144
- mark.remove();
161
+
162
+ if (mark) {
163
+ mark.remove();
164
+ }
165
+
145
166
  range.insertNode(text);
146
167
  }
147
168
  }, {
@@ -149,6 +170,10 @@ var TextColorTool = /*#__PURE__*/function () {
149
170
  value: function showActions(mark) {
150
171
  var _this2 = this;
151
172
 
173
+ if (!this.colorPicker) {
174
+ return;
175
+ }
176
+
152
177
  this.colorPicker.onclick = function () {
153
178
  mark.style.color = _this2.color;
154
179
  };
@@ -158,6 +183,10 @@ var TextColorTool = /*#__PURE__*/function () {
158
183
  }, {
159
184
  key: "hideActions",
160
185
  value: function hideActions() {
186
+ if (!this.colorPicker) {
187
+ return;
188
+ }
189
+
161
190
  this.colorPicker.onchange = null;
162
191
  this.colorPicker.hidden = true;
163
192
  }
@@ -172,7 +201,7 @@ var TextColorTool = /*#__PURE__*/function () {
172
201
  var mark = this.api.selection.findParentTag(this.tag);
173
202
  this.state = !!mark;
174
203
 
175
- if (this.state) {
204
+ if (!!mark) {
176
205
  this.showActions(mark);
177
206
  } else {
178
207
  this.hideActions();
@@ -182,6 +211,11 @@ var TextColorTool = /*#__PURE__*/function () {
182
211
  key: "convertToHex",
183
212
  value: function convertToHex(color) {
184
213
  var rgb = color.match(/(\d+)/g);
214
+
215
+ if (!rgb) {
216
+ return "";
217
+ }
218
+
185
219
  var hexR = parseInt(rgb[0]).toString(16);
186
220
  var hexG = parseInt(rgb[1]).toString(16);
187
221
  var hexB = parseInt(rgb[2]).toString(16);
@@ -213,6 +247,9 @@ var TextColorTool = /*#__PURE__*/function () {
213
247
  // so markup added by Inline Tool will be removed on pasting or on saving.
214
248
  // We need this config so that `class` & `style` attributes will remain intact for "span".
215
249
  return {
250
+ /**
251
+ * TODO: figure out the element type
252
+ */
216
253
  span: function span(el) {
217
254
  // Respect `class` and `style` attributes if this condition is meet.
218
255
  if (el.classList.contains(COLOR_TOOL_CLASS)) {
@@ -221,12 +258,14 @@ var TextColorTool = /*#__PURE__*/function () {
221
258
  style: el.style
222
259
  };
223
260
  }
261
+
262
+ return {};
224
263
  }
225
264
  };
226
265
  }
227
266
  }]);
228
-
229
267
  return TextColorTool;
230
268
  }();
231
269
 
232
- export default TextColorTool;
270
+ var _default = TextColorTool;
271
+ exports.default = _default;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["COLOR_TOOL_CLASS","TextColorTool","api","config","button","colorPicker","_state","tag","color","class","themeColors","_CSS","colorBox","colorBoxActive","state","classList","toggle","styles","inlineToolButtonActive","document","createElement","type","innerHTML","add","inlineToolButton","forEach","style","backgroundColor","addEventListener","childNodes","node","contains","remove","appendChild","range","unwrap","wrap","selectedText","extractContents","mark","insertNode","selection","expandToTag","findParentTag","text","onclick","hidden","onchange","showActions","hideActions","rgb","match","hexR","parseInt","toString","hexG","hexB","length","span","el"],"sources":["index.ts"],"sourcesContent":["import { API } from \"@editorjs/editorjs\";\n\nconst COLOR_TOOL_CLASS = \"cdx-text-color\";\n\ninterface Config {\n themeColors: string[];\n}\n\ninterface TextColorToolParams {\n api: API;\n config: Config;\n}\n\ninterface SanitizeResultSpanResult {\n class?: string;\n style?: CSSStyleDeclaration;\n}\ninterface SanitizeResult {\n span: (element: HTMLElement) => SanitizeResultSpanResult;\n}\n\nclass TextColorTool {\n private _state: boolean;\n private color: string;\n private readonly api: API;\n private readonly tag: string;\n private readonly class: string;\n private colorPicker: HTMLDivElement | null;\n private button: HTMLButtonElement | null;\n private readonly config: Config;\n private readonly _CSS: any;\n\n constructor({ api, config }: TextColorToolParams) {\n this.api = api;\n this.button = null;\n this.colorPicker = null;\n this._state = false;\n this.tag = \"SPAN\";\n this.color = \"red\";\n this.class = COLOR_TOOL_CLASS;\n this.config = config || { themeColors: [\"#44bd32\"] };\n this._CSS = {\n colorPicker: \"ce-text-color-tool\",\n colorBox: \"ce-text-color-tool__color-box\",\n colorBoxActive: \"ce-text-color-tool__color-box--active\"\n };\n }\n\n static get isInline(): boolean {\n return true;\n }\n\n /**\n * Sanitize method returns rules to let Editor know which HTML tags it should respect.\n * @returns {object} sanitizer configuration.\n * https://editorjs.io/sanitizer\n */\n static get sanitize(): SanitizeResult {\n // Block Tools are not connected with Inline ones,\n // so markup added by Inline Tool will be removed on pasting or on saving.\n // We need this config so that `class` & `style` attributes will remain intact for \"span\".\n return {\n /**\n * TODO: figure out the element type\n */\n span: (el: HTMLElement) => {\n // Respect `class` and `style` attributes if this condition is meet.\n if (el.classList.contains(COLOR_TOOL_CLASS)) {\n return {\n class: COLOR_TOOL_CLASS,\n style: el.style\n };\n }\n return {};\n }\n };\n }\n\n get state(): boolean {\n return this._state;\n }\n\n set state(state) {\n this._state = state;\n if (!this.button) {\n return;\n }\n this.button.classList.toggle(this.api.styles.inlineToolButtonActive, state);\n }\n /**\n * Render method must return HTML element of the button for Inline Toolbar.\n */\n public render(): HTMLButtonElement {\n this.button = document.createElement(\"button\");\n this.button.type = \"button\";\n this.button.innerHTML =\n '<svg width=\"20\" height=\"18\"><path d=\"M10.458 12.04l2.919 1.686-.781 1.417-.984-.03-.974 1.687H8.674l1.49-2.583-.508-.775.802-1.401zm.546-.952l3.624-6.327a1.597 1.597 0 0 1 2.182-.59 1.632 1.632 0 0 1 .615 2.201l-3.519 6.391-2.902-1.675zm-7.73 3.467h3.465a1.123 1.123 0 1 1 0 2.247H3.273a1.123 1.123 0 1 1 0-2.247z\"/></svg>';\n this.button.classList.add(this.api.styles.inlineToolButton);\n\n return this.button;\n }\n\n /**\n * Input for the link\n */\n public renderActions(): HTMLElement {\n // Create action element\n this.colorPicker = document.createElement(\"div\");\n // Add element properties\n this.colorPicker.classList.add(this._CSS.colorPicker);\n\n this.config.themeColors.forEach(color => {\n // create element\n const colorBox = document.createElement(\"button\");\n // add properties\n colorBox.style.backgroundColor = color;\n colorBox.classList.add(this._CSS.colorBox);\n\n colorBox.addEventListener(\"click\", () => {\n if (this.color === color) {\n // reset the color\n this.color = \"unset\";\n } else {\n // set color\n this.color = color;\n }\n\n if (this.colorPicker) {\n /**\n * TODO @ts-refactor\n * TS Complains there is no classList on child node.\n */\n this.colorPicker.childNodes.forEach((node: any) => {\n if (node.classList.contains(this._CSS.colorBoxActive)) {\n // remove active class\n node.classList.remove(this._CSS.colorBoxActive);\n }\n });\n }\n // add active class\n colorBox.classList.add(this._CSS.colorBoxActive);\n });\n if (!this.colorPicker) {\n return;\n }\n // save element\n this.colorPicker.appendChild(colorBox);\n });\n\n // Return element\n return this.colorPicker;\n }\n\n /**\n * Finally, when button is pressed Editor calls\n * surround method of the tool with Range object as an argument.\n */\n public surround(range: Range): void {\n if (this.state) {\n this.unwrap(range);\n return;\n }\n\n this.wrap(range);\n }\n\n public wrap(range: Range): void {\n const selectedText = range.extractContents();\n const mark = document.createElement(this.tag);\n\n mark.classList.add(this.class);\n\n mark.appendChild(selectedText);\n range.insertNode(mark);\n\n this.api.selection.expandToTag(mark);\n }\n\n public unwrap(range: Range): void {\n const mark = this.api.selection.findParentTag(this.tag, this.class);\n const text = range.extractContents();\n\n if (mark) {\n mark.remove();\n }\n\n range.insertNode(text);\n }\n\n public showActions(mark: HTMLElement): void {\n if (!this.colorPicker) {\n return;\n }\n this.colorPicker.onclick = () => {\n mark.style.color = this.color;\n };\n this.colorPicker.hidden = false;\n }\n\n public hideActions(): void {\n if (!this.colorPicker) {\n return;\n }\n this.colorPicker.onchange = null;\n this.colorPicker.hidden = true;\n }\n\n /**\n * CheckState method of each Inline Tool is called by Editor with current `Selection`\n * when user selects some text\n */\n public checkState(): void {\n const mark = this.api.selection.findParentTag(this.tag);\n\n this.state = !!mark;\n\n if (!!mark) {\n this.showActions(mark);\n } else {\n this.hideActions();\n }\n }\n\n public convertToHex(color: string): string {\n const rgb = color.match(/(\\d+)/g);\n if (!rgb) {\n return \"\";\n }\n\n let hexR = parseInt(rgb[0]).toString(16);\n let hexG = parseInt(rgb[1]).toString(16);\n let hexB = parseInt(rgb[2]).toString(16);\n\n hexR = hexR.length === 1 ? \"0\" + hexR : hexR;\n hexG = hexG.length === 1 ? \"0\" + hexG : hexG;\n hexB = hexB.length === 1 ? \"0\" + hexB : hexB;\n\n return \"#\" + hexR + hexG + hexB;\n }\n\n public clear(): void {\n this.hideActions();\n }\n}\n\nexport default TextColorTool;\n"],"mappings":"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"}
@@ -1,18 +1,26 @@
1
- export var TextAlign;
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TextAlign = exports.ALIGNMENT_ICONS = exports.ALIGNMENTS = void 0;
7
+ var TextAlign;
8
+ exports.TextAlign = TextAlign;
2
9
 
3
10
  (function (TextAlign) {
4
11
  TextAlign["START"] = "start";
5
12
  TextAlign["END"] = "end";
6
13
  TextAlign["CENTER"] = "center";
7
- })(TextAlign || (TextAlign = {}));
14
+ })(TextAlign || (exports.TextAlign = TextAlign = {}));
8
15
 
9
- export var ALIGNMENT_ICONS = {
16
+ var ALIGNMENT_ICONS = {
10
17
  start: '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24">\n' + ' <path fill="none" d="M0 0h24v24H0V0z"/>\n' + " <g>\n" + ' <path fill="currentColor" d="M14 15H4c-.55 0-1 .45-1 1s.45 1 1 1h10c.55 0 1-.45 1-1s-.45-1-1-1zm0-8H4c-.55 0-1 .45-1 1s.45 1 1 1h10c.55 0 1-.45 1-1s-.45-1-1-1zM4 13h16c.55 0 1-.45 1-1s-.45-1-1-1H4c-.55 0-1 .45-1 1s.45 1 1 1zm0 8h16c.55 0 1-.45 1-1s-.45-1-1-1H4c-.55 0-1 .45-1 1s.45 1 1 1zM3 4c0 .55.45 1 1 1h16c.55 0 1-.45 1-1s-.45-1-1-1H4c-.55 0-1 .45-1 1z"/>\n' + " </g>\n" + "</svg>",
11
18
  end: '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24">\n' + ' <path fill="none" d="M0 0h24v24H0V0z"/>\n' + " <g>\n" + ' <path fill="currentColor" d="M4 21h16c.55 0 1-.45 1-1s-.45-1-1-1H4c-.55 0-1 .45-1 1s.45 1 1 1zm6-4h10c.55 0 1-.45 1-1s-.45-1-1-1H10c-.55 0-1 .45-1 1s.45 1 1 1zm-6-4h16c.55 0 1-.45 1-1s-.45-1-1-1H4c-.55 0-1 .45-1 1s.45 1 1 1zm6-4h10c.55 0 1-.45 1-1s-.45-1-1-1H10c-.55 0-1 .45-1 1s.45 1 1 1zM3 4c0 .55.45 1 1 1h16c.55 0 1-.45 1-1s-.45-1-1-1H4c-.55 0-1 .45-1 1z"/>\n' + " </g>\n" + "</svg>",
12
19
  center: '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24">\n' + ' <path fill="none" d="M0 0h24v24H0V0z"/>\n' + " <g>\n" + ' <path fill="currentColor" d="M7 16c0 .55.45 1 1 1h8c.55 0 1-.45 1-1s-.45-1-1-1H8c-.55 0-1 .45-1 1zm-3 5h16c.55 0 1-.45 1-1s-.45-1-1-1H4c-.55 0-1 .45-1 1s.45 1 1 1zm0-8h16c.55 0 1-.45 1-1s-.45-1-1-1H4c-.55 0-1 .45-1 1s.45 1 1 1zm3-5c0 .55.45 1 1 1h8c.55 0 1-.45 1-1s-.45-1-1-1H8c-.55 0-1 .45-1 1zM3 4c0 .55.45 1 1 1h16c.55 0 1-.45 1-1s-.45-1-1-1H4c-.55 0-1 .45-1 1z"/>\n' + " </g>\n" + "</svg>",
13
20
  justify: '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24">\n' + ' <path fill="none" d="M0 0h24v24H0V0z"/>\n' + " <g>\n" + ' <path fill="currentColor" d="M4 21h16c.55 0 1-.45 1-1s-.45-1-1-1H4c-.55 0-1 .45-1 1s.45 1 1 1zm0-4h16c.55 0 1-.45 1-1s-.45-1-1-1H4c-.55 0-1 .45-1 1s.45 1 1 1zm0-4h16c.55 0 1-.45 1-1s-.45-1-1-1H4c-.55 0-1 .45-1 1s.45 1 1 1zm0-4h16c.55 0 1-.45 1-1s-.45-1-1-1H4c-.55 0-1 .45-1 1s.45 1 1 1zM3 4c0 .55.45 1 1 1h16c.55 0 1-.45 1-1s-.45-1-1-1H4c-.55 0-1 .45-1 1z"/>\n' + " </g>\n" + "</svg>"
14
21
  };
15
- export var ALIGNMENTS = [{
22
+ exports.ALIGNMENT_ICONS = ALIGNMENT_ICONS;
23
+ var ALIGNMENTS = [{
16
24
  name: TextAlign.START,
17
25
  svg: ALIGNMENT_ICONS.start
18
26
  }, {
@@ -21,4 +29,5 @@ export var ALIGNMENTS = [{
21
29
  }, {
22
30
  name: TextAlign.END,
23
31
  svg: ALIGNMENT_ICONS.end
24
- }];
32
+ }];
33
+ exports.ALIGNMENTS = ALIGNMENTS;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TextAlign","ALIGNMENT_ICONS","start","end","center","justify","ALIGNMENTS","name","START","svg","CENTER","END"],"sources":["utils.ts"],"sourcesContent":["export enum TextAlign {\n START = \"start\",\n END = \"end\",\n CENTER = \"center\"\n}\n\nexport type Alignment = {\n name: TextAlign;\n svg: string;\n};\n\nexport const ALIGNMENT_ICONS = {\n start:\n '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\">\\n' +\n ' <path fill=\"none\" d=\"M0 0h24v24H0V0z\"/>\\n' +\n \" <g>\\n\" +\n ' <path fill=\"currentColor\" d=\"M14 15H4c-.55 0-1 .45-1 1s.45 1 1 1h10c.55 0 1-.45 1-1s-.45-1-1-1zm0-8H4c-.55 0-1 .45-1 1s.45 1 1 1h10c.55 0 1-.45 1-1s-.45-1-1-1zM4 13h16c.55 0 1-.45 1-1s-.45-1-1-1H4c-.55 0-1 .45-1 1s.45 1 1 1zm0 8h16c.55 0 1-.45 1-1s-.45-1-1-1H4c-.55 0-1 .45-1 1s.45 1 1 1zM3 4c0 .55.45 1 1 1h16c.55 0 1-.45 1-1s-.45-1-1-1H4c-.55 0-1 .45-1 1z\"/>\\n' +\n \" </g>\\n\" +\n \"</svg>\",\n end:\n '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\">\\n' +\n ' <path fill=\"none\" d=\"M0 0h24v24H0V0z\"/>\\n' +\n \" <g>\\n\" +\n ' <path fill=\"currentColor\" d=\"M4 21h16c.55 0 1-.45 1-1s-.45-1-1-1H4c-.55 0-1 .45-1 1s.45 1 1 1zm6-4h10c.55 0 1-.45 1-1s-.45-1-1-1H10c-.55 0-1 .45-1 1s.45 1 1 1zm-6-4h16c.55 0 1-.45 1-1s-.45-1-1-1H4c-.55 0-1 .45-1 1s.45 1 1 1zm6-4h10c.55 0 1-.45 1-1s-.45-1-1-1H10c-.55 0-1 .45-1 1s.45 1 1 1zM3 4c0 .55.45 1 1 1h16c.55 0 1-.45 1-1s-.45-1-1-1H4c-.55 0-1 .45-1 1z\"/>\\n' +\n \" </g>\\n\" +\n \"</svg>\",\n center:\n '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\">\\n' +\n ' <path fill=\"none\" d=\"M0 0h24v24H0V0z\"/>\\n' +\n \" <g>\\n\" +\n ' <path fill=\"currentColor\" d=\"M7 16c0 .55.45 1 1 1h8c.55 0 1-.45 1-1s-.45-1-1-1H8c-.55 0-1 .45-1 1zm-3 5h16c.55 0 1-.45 1-1s-.45-1-1-1H4c-.55 0-1 .45-1 1s.45 1 1 1zm0-8h16c.55 0 1-.45 1-1s-.45-1-1-1H4c-.55 0-1 .45-1 1s.45 1 1 1zm3-5c0 .55.45 1 1 1h8c.55 0 1-.45 1-1s-.45-1-1-1H8c-.55 0-1 .45-1 1zM3 4c0 .55.45 1 1 1h16c.55 0 1-.45 1-1s-.45-1-1-1H4c-.55 0-1 .45-1 1z\"/>\\n' +\n \" </g>\\n\" +\n \"</svg>\",\n justify:\n '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\">\\n' +\n ' <path fill=\"none\" d=\"M0 0h24v24H0V0z\"/>\\n' +\n \" <g>\\n\" +\n ' <path fill=\"currentColor\" d=\"M4 21h16c.55 0 1-.45 1-1s-.45-1-1-1H4c-.55 0-1 .45-1 1s.45 1 1 1zm0-4h16c.55 0 1-.45 1-1s-.45-1-1-1H4c-.55 0-1 .45-1 1s.45 1 1 1zm0-4h16c.55 0 1-.45 1-1s-.45-1-1-1H4c-.55 0-1 .45-1 1s.45 1 1 1zm0-4h16c.55 0 1-.45 1-1s-.45-1-1-1H4c-.55 0-1 .45-1 1s.45 1 1 1zM3 4c0 .55.45 1 1 1h16c.55 0 1-.45 1-1s-.45-1-1-1H4c-.55 0-1 .45-1 1z\"/>\\n' +\n \" </g>\\n\" +\n \"</svg>\"\n};\n\nexport const ALIGNMENTS = [\n {\n name: TextAlign.START,\n svg: ALIGNMENT_ICONS.start\n },\n {\n name: TextAlign.CENTER,\n svg: ALIGNMENT_ICONS.center\n },\n {\n name: TextAlign.END,\n svg: ALIGNMENT_ICONS.end\n }\n];\n"],"mappings":";;;;;;IAAYA,S;;;WAAAA,S;EAAAA,S;EAAAA,S;EAAAA,S;GAAAA,S,yBAAAA,S;;AAWL,IAAMC,eAAe,GAAG;EAC3BC,KAAK,EACD,sEACA,6CADA,GAEA,SAFA,GAGA,gXAHA,GAIA,UAJA,GAKA,QAPuB;EAQ3BC,GAAG,EACC,sEACA,6CADA,GAEA,SAFA,GAGA,iXAHA,GAIA,UAJA,GAKA,QAduB;EAe3BC,MAAM,EACF,sEACA,6CADA,GAEA,SAFA,GAGA,uXAHA,GAIA,UAJA,GAKA,QArBuB;EAsB3BC,OAAO,EACH,sEACA,6CADA,GAEA,SAFA,GAGA,8WAHA,GAIA,UAJA,GAKA;AA5BuB,CAAxB;;AA+BA,IAAMC,UAAU,GAAG,CACtB;EACIC,IAAI,EAAEP,SAAS,CAACQ,KADpB;EAEIC,GAAG,EAAER,eAAe,CAACC;AAFzB,CADsB,EAKtB;EACIK,IAAI,EAAEP,SAAS,CAACU,MADpB;EAEID,GAAG,EAAER,eAAe,CAACG;AAFzB,CALsB,EAStB;EACIG,IAAI,EAAEP,SAAS,CAACW,GADpB;EAEIF,GAAG,EAAER,eAAe,CAACE;AAFzB,CATsB,CAAnB"}
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ interface RoutesProps {
3
+ routes: JSX.Element[];
4
+ }
5
+ export declare const Routes: React.FC<RoutesProps>;
6
+ export {};
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.Routes = void 0;
9
+
10
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var _plugins = require("@webiny/plugins");
15
+
16
+ var _reactRouter = require("@webiny/react-router");
17
+
18
+ var Routes = function Routes(props) {
19
+ var routes = [].concat((0, _toConsumableArray2.default)(props.routes), (0, _toConsumableArray2.default)(_plugins.plugins.byType("route").map(function (_ref) {
20
+ var route = _ref.route;
21
+ return route;
22
+ }))).sort(function (a, b) {
23
+ var pathA = a.props.path || "*";
24
+ var pathB = b.props.path || "*"; // This will sort paths at the very bottom of the list
25
+
26
+ if (pathA === "/" && pathB === "*") {
27
+ return -1;
28
+ } // This will push * and / to the bottom of the list
29
+
30
+
31
+ if (pathA === "*" || pathA === "/") {
32
+ return 1;
33
+ } // This will push * and / to the bottom of the list
34
+
35
+
36
+ if (["*", "/"].includes(pathB)) {
37
+ return -1;
38
+ }
39
+
40
+ return 0;
41
+ });
42
+ return /*#__PURE__*/_react.default.createElement(_reactRouter.Routes, null, routes.map(function (route, index) {
43
+ return /*#__PURE__*/_react.default.cloneElement(route, {
44
+ key: "".concat(route.props.path, ":").concat(index)
45
+ });
46
+ }));
47
+ };
48
+
49
+ exports.Routes = Routes;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Routes","props","routes","plugins","byType","map","route","sort","a","b","pathA","path","pathB","includes","index","React","cloneElement","key"],"sources":["Routes.tsx"],"sourcesContent":["import React from \"react\";\nimport { plugins } from \"@webiny/plugins\";\nimport { Routes as ReactRouterRoutes } from \"@webiny/react-router\";\nimport { RoutePlugin } from \"@webiny/app/types\";\n\ninterface RoutesProps {\n routes: JSX.Element[];\n}\n\nexport const Routes: React.FC<RoutesProps> = props => {\n const routes = [\n ...props.routes,\n // For backwards compatibility, we need to support the RoutePlugin routes as well.\n ...plugins.byType<RoutePlugin>(\"route\").map(({ route }) => route)\n ].sort((a, b) => {\n const pathA = a.props.path || \"*\";\n const pathB = b.props.path || \"*\";\n\n // This will sort paths at the very bottom of the list\n if (pathA === \"/\" && pathB === \"*\") {\n return -1;\n }\n\n // This will push * and / to the bottom of the list\n if (pathA === \"*\" || pathA === \"/\") {\n return 1;\n }\n\n // This will push * and / to the bottom of the list\n if ([\"*\", \"/\"].includes(pathB)) {\n return -1;\n }\n\n return 0;\n });\n\n return (\n <ReactRouterRoutes>\n {routes.map((route, index) =>\n React.cloneElement(route, { key: `${route.props.path}:${index}` })\n )}\n </ReactRouterRoutes>\n );\n};\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AAOO,IAAMA,MAA6B,GAAG,SAAhCA,MAAgC,CAAAC,KAAK,EAAI;EAClD,IAAMC,MAAM,GAAG,2CACRD,KAAK,CAACC,MADE,oCAGRC,gBAAA,CAAQC,MAAR,CAA4B,OAA5B,EAAqCC,GAArC,CAAyC;IAAA,IAAGC,KAAH,QAAGA,KAAH;IAAA,OAAeA,KAAf;EAAA,CAAzC,CAHQ,GAIbC,IAJa,CAIR,UAACC,CAAD,EAAIC,CAAJ,EAAU;IACb,IAAMC,KAAK,GAAGF,CAAC,CAACP,KAAF,CAAQU,IAAR,IAAgB,GAA9B;IACA,IAAMC,KAAK,GAAGH,CAAC,CAACR,KAAF,CAAQU,IAAR,IAAgB,GAA9B,CAFa,CAIb;;IACA,IAAID,KAAK,KAAK,GAAV,IAAiBE,KAAK,KAAK,GAA/B,EAAoC;MAChC,OAAO,CAAC,CAAR;IACH,CAPY,CASb;;;IACA,IAAIF,KAAK,KAAK,GAAV,IAAiBA,KAAK,KAAK,GAA/B,EAAoC;MAChC,OAAO,CAAP;IACH,CAZY,CAcb;;;IACA,IAAI,CAAC,GAAD,EAAM,GAAN,EAAWG,QAAX,CAAoBD,KAApB,CAAJ,EAAgC;MAC5B,OAAO,CAAC,CAAR;IACH;;IAED,OAAO,CAAP;EACH,CAxBc,CAAf;EA0BA,oBACI,6BAAC,mBAAD,QACKV,MAAM,CAACG,GAAP,CAAW,UAACC,KAAD,EAAQQ,KAAR;IAAA,oBACRC,cAAA,CAAMC,YAAN,CAAmBV,KAAnB,EAA0B;MAAEW,GAAG,YAAKX,KAAK,CAACL,KAAN,CAAYU,IAAjB,cAAyBG,KAAzB;IAAL,CAA1B,CADQ;EAAA,CAAX,CADL,CADJ;AAOH,CAlCM"}
@@ -1,8 +1,8 @@
1
- /// <reference types="react" />
2
- export declare type SearchProps = {
1
+ import React from "react";
2
+ export interface SearchProps {
3
3
  value: string;
4
4
  onChange: (value: string) => void;
5
5
  inputPlaceholder?: string;
6
- };
7
- declare const Search: ({ value, onChange, inputPlaceholder }: SearchProps) => JSX.Element;
6
+ }
7
+ declare const Search: React.FC<SearchProps>;
8
8
  export default Search;
@@ -1,8 +1,21 @@
1
- import React from "react";
2
- import styled from "@emotion/styled";
3
- import InputField from "./SimpleUI/InputField";
4
- import { ReactComponent as SearchIcon } from "@svgr/webpack!../assets/icons/search-24px.svg";
5
- var SearchWrapper = /*#__PURE__*/styled("div", {
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _styled = _interopRequireDefault(require("@emotion/styled"));
13
+
14
+ var _InputField = _interopRequireDefault(require("./SimpleUI/InputField"));
15
+
16
+ var _search24px = require("../assets/icons/search-24px.svg");
17
+
18
+ var SearchWrapper = /*#__PURE__*/(0, _styled.default)("div", {
6
19
  target: "epa3kz70",
7
20
  label: "SearchWrapper"
8
21
  })({
@@ -43,11 +56,11 @@ var Search = function Search(_ref) {
43
56
  onChange = _ref.onChange,
44
57
  _ref$inputPlaceholder = _ref.inputPlaceholder,
45
58
  inputPlaceholder = _ref$inputPlaceholder === void 0 ? "Search..." : _ref$inputPlaceholder;
46
- return /*#__PURE__*/React.createElement(SearchWrapper, {
59
+ return /*#__PURE__*/_react.default.createElement(SearchWrapper, {
47
60
  "data-testid": "default-data-list.search"
48
- }, /*#__PURE__*/React.createElement("div", {
61
+ }, /*#__PURE__*/_react.default.createElement("div", {
49
62
  className: "search__icon"
50
- }, /*#__PURE__*/React.createElement(SearchIcon, null)), /*#__PURE__*/React.createElement(InputField, {
63
+ }, /*#__PURE__*/_react.default.createElement(_search24px.ReactComponent, null)), /*#__PURE__*/_react.default.createElement(_InputField.default, {
51
64
  className: "search__input",
52
65
  placeholder: inputPlaceholder,
53
66
  value: value,
@@ -56,4 +69,5 @@ var Search = function Search(_ref) {
56
69
  }));
57
70
  };
58
71
 
59
- export default Search;
72
+ var _default = Search;
73
+ exports.default = _default;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SearchWrapper","styled","width","height","display","position","top","left","bottom","pointerEvents","alignItems","paddingLeft","color","padding","outline","border","textTransform","letterSpacing","Search","value","onChange","inputPlaceholder"],"sources":["SearchUI.tsx"],"sourcesContent":["import React from \"react\";\nimport styled from \"@emotion/styled\";\nimport InputField from \"./SimpleUI/InputField\";\nimport { ReactComponent as SearchIcon } from \"../assets/icons/search-24px.svg\";\n\nconst SearchWrapper = styled(\"div\")({\n width: \"100%\",\n height: \"100%\",\n display: \"flex\",\n position: \"relative\",\n\n \"& .search__icon\": {\n position: \"absolute\",\n top: 0,\n left: 0,\n bottom: 0,\n pointerEvents: \"none\",\n display: \"flex\",\n alignItems: \"center\",\n paddingLeft: \"0.25rem\",\n color: \"var(--mdc-theme-text-secondary-on-background)\"\n },\n\n \"& .search__input\": {\n width: \"100%\",\n padding: \"0.5rem 0.5rem 0.5rem 2.25rem\",\n outline: \"none\",\n border: \"none\",\n color: \"var(--mdc-theme-text-primary-on-background)\",\n \"&:focus\": {\n outline: \"none\"\n },\n \"&::placeholder\": {\n textTransform: \"uppercase\",\n letterSpacing: \"0.05em\",\n color: \"var(--mdc-theme-text-secondary-on-background)\"\n }\n }\n});\n\nexport interface SearchProps {\n value: string;\n onChange: (value: string) => void;\n inputPlaceholder?: string;\n}\nconst Search: React.FC<SearchProps> = ({ value, onChange, inputPlaceholder = \"Search...\" }) => {\n return (\n <SearchWrapper data-testid={\"default-data-list.search\"}>\n <div className=\"search__icon\">\n <SearchIcon />\n </div>\n <InputField\n className=\"search__input\"\n placeholder={inputPlaceholder}\n value={value}\n onChange={onChange}\n autoComplete=\"off\"\n />\n </SearchWrapper>\n );\n};\n\nexport default Search;\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA,IAAMA,aAAa,oBAAGC,eAAH,EAAU,KAAV;EAAA;EAAA;AAAA,GAAiB;EAChCC,KAAK,EAAE,MADyB;EAEhCC,MAAM,EAAE,MAFwB;EAGhCC,OAAO,EAAE,MAHuB;EAIhCC,QAAQ,EAAE,UAJsB;EAMhC,mBAAmB;IACfA,QAAQ,EAAE,UADK;IAEfC,GAAG,EAAE,CAFU;IAGfC,IAAI,EAAE,CAHS;IAIfC,MAAM,EAAE,CAJO;IAKfC,aAAa,EAAE,MALA;IAMfL,OAAO,EAAE,MANM;IAOfM,UAAU,EAAE,QAPG;IAQfC,WAAW,EAAE,SARE;IASfC,KAAK,EAAE;EATQ,CANa;EAkBhC,oBAAoB;IAChBV,KAAK,EAAE,MADS;IAEhBW,OAAO,EAAE,8BAFO;IAGhBC,OAAO,EAAE,MAHO;IAIhBC,MAAM,EAAE,MAJQ;IAKhBH,KAAK,EAAE,6CALS;IAMhB,WAAW;MACPE,OAAO,EAAE;IADF,CANK;IAShB,kBAAkB;MACdE,aAAa,EAAE,WADD;MAEdC,aAAa,EAAE,QAFD;MAGdL,KAAK,EAAE;IAHO;EATF;AAlBY,CAAjB,CAAnB;;AAwCA,IAAMM,MAA6B,GAAG,SAAhCA,MAAgC,OAAyD;EAAA,IAAtDC,KAAsD,QAAtDA,KAAsD;EAAA,IAA/CC,QAA+C,QAA/CA,QAA+C;EAAA,iCAArCC,gBAAqC;EAAA,IAArCA,gBAAqC,sCAAlB,WAAkB;EAC3F,oBACI,6BAAC,aAAD;IAAe,eAAa;EAA5B,gBACI;IAAK,SAAS,EAAC;EAAf,gBACI,6BAAC,0BAAD,OADJ,CADJ,eAII,6BAAC,mBAAD;IACI,SAAS,EAAC,eADd;IAEI,WAAW,EAAEA,gBAFjB;IAGI,KAAK,EAAEF,KAHX;IAII,QAAQ,EAAEC,QAJd;IAKI,YAAY,EAAC;EALjB,EAJJ,CADJ;AAcH,CAfD;;eAiBeF,M"}
@@ -1,21 +1,21 @@
1
1
  import * as React from "react";
2
- declare const title: string;
3
- declare const icon: string;
4
- export declare const SimpleForm: (props: {
2
+ interface SimpleFormProps {
5
3
  children: React.ReactNode;
6
4
  "data-testid"?: string;
7
5
  noElevation?: boolean;
8
6
  className?: string;
9
- }) => JSX.Element;
10
- export declare const SimpleFormHeader: (props: {
7
+ }
8
+ export declare const SimpleForm: React.FC<SimpleFormProps>;
9
+ interface SimpleFormHeaderProps {
11
10
  title: React.ReactNode;
12
11
  icon?: React.ReactElement<any>;
13
12
  children?: React.ReactNode;
14
- }) => JSX.Element;
15
- export declare const SimpleFormFooter: (props: {
13
+ }
14
+ export declare const SimpleFormHeader: React.FC<SimpleFormHeaderProps>;
15
+ interface SimpleFormFooterProps {
16
16
  children: React.ReactNode;
17
- }) => JSX.Element;
18
- export declare const SimpleFormContent: (props: {
19
- children: any;
20
- }) => any;
17
+ className?: string;
18
+ }
19
+ export declare const SimpleFormFooter: React.FC<SimpleFormFooterProps>;
20
+ export declare const SimpleFormContent: React.FC;
21
21
  export {};