@webiny/app-admin 0.0.0-ee-vpcs.549378cf03

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 (499) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +21 -0
  3. package/assets/icons/add-18px.svg +3 -0
  4. package/assets/icons/arrow_drop_down-24px.svg +4 -0
  5. package/assets/icons/attach_file_black_24dp.svg +1 -0
  6. package/assets/icons/baseline-menu-24px.svg +4 -0
  7. package/assets/icons/baseline-notification_important-24px.svg +4 -0
  8. package/assets/icons/baseline-security-24px.svg +4 -0
  9. package/assets/icons/filter-24px.svg +8 -0
  10. package/assets/icons/github-brands.svg +1 -0
  11. package/assets/icons/highlight-24px.svg +1 -0
  12. package/assets/icons/icon-community.svg +16 -0
  13. package/assets/icons/icon-documentation.svg +16 -0
  14. package/assets/icons/info.svg +1 -0
  15. package/assets/icons/insert_drive_file-24px.svg +1 -0
  16. package/assets/icons/insert_photo-24px.svg +1 -0
  17. package/assets/icons/label-24px.svg +1 -0
  18. package/assets/icons/round-account_circle-24px.svg +1 -0
  19. package/assets/icons/round-add-24px.svg +16 -0
  20. package/assets/icons/round-arrow_drop_down-24px.svg +1 -0
  21. package/assets/icons/round-chevron_right-24px.svg +12 -0
  22. package/assets/icons/round-feedback-24px.svg +54 -0
  23. package/assets/icons/round-help-24px.svg +1 -0
  24. package/assets/icons/round-invert_colors-24px.svg +52 -0
  25. package/assets/icons/round-keyboard_arrow_down-24px.svg +16 -0
  26. package/assets/icons/round-keyboard_arrow_up-24px.svg +16 -0
  27. package/assets/icons/round-lock_open-24px.svg +60 -0
  28. package/assets/icons/round-more_vert-24px.svg +12 -0
  29. package/assets/icons/round-open_in_new-24px.svg +44 -0
  30. package/assets/icons/round-settings-24px.svg +4 -0
  31. package/assets/icons/search-24px.svg +20 -0
  32. package/assets/icons/slack-logo.svg +1 -0
  33. package/assets/icons/today-24px.svg +1 -0
  34. package/assets/icons/touch_app.svg +1 -0
  35. package/assets/images/arr.png +0 -0
  36. package/assets/images/arr_2.png +0 -0
  37. package/assets/images/header_bg.jpg +0 -0
  38. package/assets/images/icons.png +0 -0
  39. package/assets/images/icons_retina.png +0 -0
  40. package/assets/images/logo.png +0 -0
  41. package/assets/images/logo_orange.png +0 -0
  42. package/assets/images/public/bg-login.png +0 -0
  43. package/assets/images/public/favicon.ico +0 -0
  44. package/assets/images/public/logo_orange.png +0 -0
  45. package/assets/images/public/preloader_2.png +0 -0
  46. package/assets/images/swich.png +0 -0
  47. package/assets/images/table_img.jpg +0 -0
  48. package/assets/images/webiny-logo.svg +20 -0
  49. package/assets/images/webiny-orange-logo.svg +20 -0
  50. package/base/Admin.d.ts +7 -0
  51. package/base/Admin.js +55 -0
  52. package/base/Admin.js.map +1 -0
  53. package/base/Base.d.ts +2 -0
  54. package/base/Base.js +110 -0
  55. package/base/Base.js.map +1 -0
  56. package/base/plugins/AddGraphQLQuerySelection.d.ts +9 -0
  57. package/base/plugins/AddGraphQLQuerySelection.js +31 -0
  58. package/base/plugins/AddGraphQLQuerySelection.js.map +1 -0
  59. package/base/providers/ApolloProvider.d.ts +10 -0
  60. package/base/providers/ApolloProvider.js +26 -0
  61. package/base/providers/ApolloProvider.js.map +1 -0
  62. package/base/providers/TelemetryProvider.d.ts +2 -0
  63. package/base/providers/TelemetryProvider.js +37 -0
  64. package/base/providers/TelemetryProvider.js.map +1 -0
  65. package/base/providers/UiStateProvider.d.ts +2 -0
  66. package/base/providers/UiStateProvider.js +23 -0
  67. package/base/providers/UiStateProvider.js.map +1 -0
  68. package/base/providers/ViewCompositionProvider.d.ts +17 -0
  69. package/base/providers/ViewCompositionProvider.js +70 -0
  70. package/base/providers/ViewCompositionProvider.js.map +1 -0
  71. package/base/ui/Brand.d.ts +2 -0
  72. package/base/ui/Brand.js +19 -0
  73. package/base/ui/Brand.js.map +1 -0
  74. package/base/ui/CenteredView.d.ts +4 -0
  75. package/base/ui/CenteredView.js +40 -0
  76. package/base/ui/CenteredView.js.map +1 -0
  77. package/base/ui/Dashboard.d.ts +2 -0
  78. package/base/ui/Dashboard.js +19 -0
  79. package/base/ui/Dashboard.js.map +1 -0
  80. package/base/ui/Layout.d.ts +7 -0
  81. package/base/ui/Layout.js +24 -0
  82. package/base/ui/Layout.js.map +1 -0
  83. package/base/ui/LocaleSelector.d.ts +2 -0
  84. package/base/ui/LocaleSelector.js +19 -0
  85. package/base/ui/LocaleSelector.js.map +1 -0
  86. package/base/ui/LoginScreen.d.ts +6 -0
  87. package/base/ui/LoginScreen.js +27 -0
  88. package/base/ui/LoginScreen.js.map +1 -0
  89. package/base/ui/Logo.d.ts +8 -0
  90. package/base/ui/Logo.js +36 -0
  91. package/base/ui/Logo.js.map +1 -0
  92. package/base/ui/Menu.d.ts +31 -0
  93. package/base/ui/Menu.js +166 -0
  94. package/base/ui/Menu.js.map +1 -0
  95. package/base/ui/Navigation.d.ts +24 -0
  96. package/base/ui/Navigation.js +184 -0
  97. package/base/ui/Navigation.js.map +1 -0
  98. package/base/ui/NotFound.d.ts +2 -0
  99. package/base/ui/NotFound.js +19 -0
  100. package/base/ui/NotFound.js.map +1 -0
  101. package/base/ui/Search.d.ts +19 -0
  102. package/base/ui/Search.js +81 -0
  103. package/base/ui/Search.js.map +1 -0
  104. package/base/ui/Tags.d.ts +10 -0
  105. package/base/ui/Tags.js +29 -0
  106. package/base/ui/Tags.js.map +1 -0
  107. package/base/ui/UserMenu.d.ts +30 -0
  108. package/base/ui/UserMenu.js +137 -0
  109. package/base/ui/UserMenu.js.map +1 -0
  110. package/components/AdminLayout.d.ts +6 -0
  111. package/components/AdminLayout.js +22 -0
  112. package/components/AdminLayout.js.map +1 -0
  113. package/components/AppInstaller/AppInstaller.d.ts +7 -0
  114. package/components/AppInstaller/AppInstaller.js +183 -0
  115. package/components/AppInstaller/AppInstaller.js.map +1 -0
  116. package/components/AppInstaller/Sidebar.d.ts +9 -0
  117. package/components/AppInstaller/Sidebar.js +178 -0
  118. package/components/AppInstaller/Sidebar.js.map +1 -0
  119. package/components/AppInstaller/assets/sign-in-divider.svg +19 -0
  120. package/components/AppInstaller/index.d.ts +2 -0
  121. package/components/AppInstaller/index.js +29 -0
  122. package/components/AppInstaller/index.js.map +1 -0
  123. package/components/AppInstaller/styled.d.ts +9 -0
  124. package/components/AppInstaller/styled.js +91 -0
  125. package/components/AppInstaller/styled.js.map +1 -0
  126. package/components/AppInstaller/useInstaller.d.ts +31 -0
  127. package/components/AppInstaller/useInstaller.js +321 -0
  128. package/components/AppInstaller/useInstaller.js.map +1 -0
  129. package/components/EmptyView.d.ts +8 -0
  130. package/components/EmptyView.js +70 -0
  131. package/components/EmptyView.js.map +1 -0
  132. package/components/FileManager/BottomInfoBar/SupportedFileTypes.d.ts +6 -0
  133. package/components/FileManager/BottomInfoBar/SupportedFileTypes.js +55 -0
  134. package/components/FileManager/BottomInfoBar/SupportedFileTypes.js.map +1 -0
  135. package/components/FileManager/BottomInfoBar/UploadStatus.d.ts +6 -0
  136. package/components/FileManager/BottomInfoBar/UploadStatus.js +60 -0
  137. package/components/FileManager/BottomInfoBar/UploadStatus.js.map +1 -0
  138. package/components/FileManager/BottomInfoBar.d.ts +5 -0
  139. package/components/FileManager/BottomInfoBar.js +60 -0
  140. package/components/FileManager/BottomInfoBar.js.map +1 -0
  141. package/components/FileManager/DropFilesHere.d.ts +10 -0
  142. package/components/FileManager/DropFilesHere.js +76 -0
  143. package/components/FileManager/DropFilesHere.js.map +1 -0
  144. package/components/FileManager/File.d.ts +17 -0
  145. package/components/FileManager/File.js +155 -0
  146. package/components/FileManager/File.js.map +1 -0
  147. package/components/FileManager/FileDetails/Name.d.ts +8 -0
  148. package/components/FileManager/FileDetails/Name.js +138 -0
  149. package/components/FileManager/FileDetails/Name.js.map +1 -0
  150. package/components/FileManager/FileDetails/Tags.d.ts +10 -0
  151. package/components/FileManager/FileDetails/Tags.js +339 -0
  152. package/components/FileManager/FileDetails/Tags.js.map +1 -0
  153. package/components/FileManager/FileDetails.d.ts +24 -0
  154. package/components/FileManager/FileDetails.js +474 -0
  155. package/components/FileManager/FileDetails.js.map +1 -0
  156. package/components/FileManager/FileManagerContext.d.ts +42 -0
  157. package/components/FileManager/FileManagerContext.js +224 -0
  158. package/components/FileManager/FileManagerContext.js.map +1 -0
  159. package/components/FileManager/FileManagerView.d.ts +18 -0
  160. package/components/FileManager/FileManagerView.js +728 -0
  161. package/components/FileManager/FileManagerView.js.map +1 -0
  162. package/components/FileManager/LeftSidebar.d.ts +10 -0
  163. package/components/FileManager/LeftSidebar.js +127 -0
  164. package/components/FileManager/LeftSidebar.js.map +1 -0
  165. package/components/FileManager/NoPermissionView.d.ts +3 -0
  166. package/components/FileManager/NoPermissionView.js +87 -0
  167. package/components/FileManager/NoPermissionView.js.map +1 -0
  168. package/components/FileManager/NoResults.d.ts +3 -0
  169. package/components/FileManager/NoResults.js +28 -0
  170. package/components/FileManager/NoResults.js.map +1 -0
  171. package/components/FileManager/getFileTypePlugin.d.ts +4 -0
  172. package/components/FileManager/getFileTypePlugin.js +57 -0
  173. package/components/FileManager/getFileTypePlugin.js.map +1 -0
  174. package/components/FileManager/getFileUploader.d.ts +3 -0
  175. package/components/FileManager/getFileUploader.js +20 -0
  176. package/components/FileManager/getFileUploader.js.map +1 -0
  177. package/components/FileManager/graphql.d.ts +96 -0
  178. package/components/FileManager/graphql.js +58 -0
  179. package/components/FileManager/graphql.js.map +1 -0
  180. package/components/FileManager/icons/content_copy-black-24px.svg +1 -0
  181. package/components/FileManager/icons/delete.svg +12 -0
  182. package/components/FileManager/icons/privacy_tip-24px.svg +10 -0
  183. package/components/FileManager/icons/round-check_box-24px.svg +4 -0
  184. package/components/FileManager/icons/round-check_box_outline_blank-24px.svg +4 -0
  185. package/components/FileManager/icons/round-cloud_download-24px.svg +4 -0
  186. package/components/FileManager/icons/round-cloud_upload-24px.svg +4 -0
  187. package/components/FileManager/icons/round-description-24px.svg +4 -0
  188. package/components/FileManager/icons/round-edit-24px.svg +4 -0
  189. package/components/FileManager/icons/round-info-24px.svg +4 -0
  190. package/components/FileManager/icons/round-label-24px.svg +4 -0
  191. package/components/FileManager/icons/round-more_vert-24px.svg +4 -0
  192. package/components/FileManager/icons/round-search-24px.svg +20 -0
  193. package/components/FileManager/outputFileSelectionError.d.ts +7 -0
  194. package/components/FileManager/outputFileSelectionError.js +54 -0
  195. package/components/FileManager/outputFileSelectionError.js.map +1 -0
  196. package/components/FileManager/types.d.ts +21 -0
  197. package/components/FileManager/types.js +5 -0
  198. package/components/FileManager/types.js.map +1 -0
  199. package/components/FileManager.d.ts +67 -0
  200. package/components/FileManager.js +144 -0
  201. package/components/FileManager.js.map +1 -0
  202. package/components/FloatingActionButton.d.ts +3 -0
  203. package/components/FloatingActionButton.js +29 -0
  204. package/components/FloatingActionButton.js.map +1 -0
  205. package/components/MultiImageUpload.d.ts +13 -0
  206. package/components/MultiImageUpload.js +43 -0
  207. package/components/MultiImageUpload.js.map +1 -0
  208. package/components/OverlayLayout/OverlayLayout.d.ts +23 -0
  209. package/components/OverlayLayout/OverlayLayout.js +184 -0
  210. package/components/OverlayLayout/OverlayLayout.js.map +1 -0
  211. package/components/OverlayLayout/icons/close.svg +13 -0
  212. package/components/OverlayLayout/icons/navigate_before.svg +16 -0
  213. package/components/OverlayLayout/index.d.ts +1 -0
  214. package/components/OverlayLayout/index.js +18 -0
  215. package/components/OverlayLayout/index.js.map +1 -0
  216. package/components/Permissions/Permissions.d.ts +7 -0
  217. package/components/Permissions/Permissions.js +54 -0
  218. package/components/Permissions/Permissions.js.map +1 -0
  219. package/components/Permissions/StyledComponents.d.ts +8 -0
  220. package/components/Permissions/StyledComponents.js +36 -0
  221. package/components/Permissions/StyledComponents.js.map +1 -0
  222. package/components/Permissions/index.d.ts +2 -0
  223. package/components/Permissions/index.js +30 -0
  224. package/components/Permissions/index.js.map +1 -0
  225. package/components/RichTextEditor/RichTextEditor.d.ts +3 -0
  226. package/components/RichTextEditor/RichTextEditor.js +30 -0
  227. package/components/RichTextEditor/RichTextEditor.js.map +1 -0
  228. package/components/RichTextEditor/index.d.ts +2 -0
  229. package/components/RichTextEditor/index.js +21 -0
  230. package/components/RichTextEditor/index.js.map +1 -0
  231. package/components/RichTextEditor/styles.scss +96 -0
  232. package/components/RichTextEditor/tools/header/index.d.ts +229 -0
  233. package/components/RichTextEditor/tools/header/index.js +731 -0
  234. package/components/RichTextEditor/tools/header/index.js.map +1 -0
  235. package/components/RichTextEditor/tools/header/styles.scss +48 -0
  236. package/components/RichTextEditor/tools/image/index.d.ts +124 -0
  237. package/components/RichTextEditor/tools/image/index.js +265 -0
  238. package/components/RichTextEditor/tools/image/index.js.map +1 -0
  239. package/components/RichTextEditor/tools/image/styles.scss +90 -0
  240. package/components/RichTextEditor/tools/image/svgs.d.ts +6 -0
  241. package/components/RichTextEditor/tools/image/svgs.js +12 -0
  242. package/components/RichTextEditor/tools/image/svgs.js.map +1 -0
  243. package/components/RichTextEditor/tools/image/tunes.d.ts +57 -0
  244. package/components/RichTextEditor/tools/image/tunes.js +146 -0
  245. package/components/RichTextEditor/tools/image/tunes.js.map +1 -0
  246. package/components/RichTextEditor/tools/image/types.d.ts +29 -0
  247. package/components/RichTextEditor/tools/image/types.js +5 -0
  248. package/components/RichTextEditor/tools/image/types.js.map +1 -0
  249. package/components/RichTextEditor/tools/image/ui.d.ts +122 -0
  250. package/components/RichTextEditor/tools/image/ui.js +301 -0
  251. package/components/RichTextEditor/tools/image/ui.js.map +1 -0
  252. package/components/RichTextEditor/tools/paragraph/index.d.ts +209 -0
  253. package/components/RichTextEditor/tools/paragraph/index.js +514 -0
  254. package/components/RichTextEditor/tools/paragraph/index.js.map +1 -0
  255. package/components/RichTextEditor/tools/paragraph/styles.scss +29 -0
  256. package/components/RichTextEditor/tools/textColor/index.d.ts +64 -0
  257. package/components/RichTextEditor/tools/textColor/index.js +271 -0
  258. package/components/RichTextEditor/tools/textColor/index.js.map +1 -0
  259. package/components/RichTextEditor/tools/textColor/styles.scss +21 -0
  260. package/components/RichTextEditor/tools/utils.d.ts +19 -0
  261. package/components/RichTextEditor/tools/utils.js +33 -0
  262. package/components/RichTextEditor/tools/utils.js.map +1 -0
  263. package/components/Routes.d.ts +6 -0
  264. package/components/Routes.js +49 -0
  265. package/components/Routes.js.map +1 -0
  266. package/components/SearchUI.d.ts +8 -0
  267. package/components/SearchUI.js +73 -0
  268. package/components/SearchUI.js.map +1 -0
  269. package/components/SimpleForm/SimpleForm.d.ts +21 -0
  270. package/components/SimpleForm/SimpleForm.js +106 -0
  271. package/components/SimpleForm/SimpleForm.js.map +1 -0
  272. package/components/SimpleForm/index.d.ts +1 -0
  273. package/components/SimpleForm/index.js +31 -0
  274. package/components/SimpleForm/index.js.map +1 -0
  275. package/components/SimpleUI/InputField.d.ts +10 -0
  276. package/components/SimpleUI/InputField.js +116 -0
  277. package/components/SimpleUI/InputField.js.map +1 -0
  278. package/components/SingleImageUpload.d.ts +55 -0
  279. package/components/SingleImageUpload.js +114 -0
  280. package/components/SingleImageUpload.js.map +1 -0
  281. package/components/SplitView/SplitView.d.ts +11 -0
  282. package/components/SplitView/SplitView.js +95 -0
  283. package/components/SplitView/SplitView.js.map +1 -0
  284. package/components/SplitView/index.d.ts +1 -0
  285. package/components/SplitView/index.js +25 -0
  286. package/components/SplitView/index.js.map +1 -0
  287. package/components/index.d.ts +1 -0
  288. package/components/index.js +13 -0
  289. package/components/index.js.map +1 -0
  290. package/hooks/useConfirmationDialog.d.ts +13 -0
  291. package/hooks/useConfirmationDialog.js +63 -0
  292. package/hooks/useConfirmationDialog.js.map +1 -0
  293. package/hooks/useDialog.d.ts +10 -0
  294. package/hooks/useDialog.js +37 -0
  295. package/hooks/useDialog.js.map +1 -0
  296. package/hooks/useSnackbar.d.ts +7 -0
  297. package/hooks/useSnackbar.js +38 -0
  298. package/hooks/useSnackbar.js.map +1 -0
  299. package/index.d.ts +35 -0
  300. package/index.js +373 -0
  301. package/index.js.map +1 -0
  302. package/package.json +102 -0
  303. package/plugins/FileManagerFileTypePlugin.d.ts +33 -0
  304. package/plugins/FileManagerFileTypePlugin.js +63 -0
  305. package/plugins/FileManagerFileTypePlugin.js.map +1 -0
  306. package/plugins/MenuPlugin.d.ts +37 -0
  307. package/plugins/MenuPlugin.js +58 -0
  308. package/plugins/MenuPlugin.js.map +1 -0
  309. package/plugins/PermissionRendererPlugin.d.ts +22 -0
  310. package/plugins/PermissionRendererPlugin.js +58 -0
  311. package/plugins/PermissionRendererPlugin.js.map +1 -0
  312. package/plugins/fileManager/fileDefault.d.ts +2 -0
  313. package/plugins/fileManager/fileDefault.js +34 -0
  314. package/plugins/fileManager/fileDefault.js.map +1 -0
  315. package/plugins/fileManager/fileImage/DeleteAction.d.ts +7 -0
  316. package/plugins/fileManager/fileImage/DeleteAction.js +83 -0
  317. package/plugins/fileManager/fileImage/DeleteAction.js.map +1 -0
  318. package/plugins/fileManager/fileImage/EditAction.d.ts +10 -0
  319. package/plugins/fileManager/fileImage/EditAction.js +179 -0
  320. package/plugins/fileManager/fileImage/EditAction.js.map +1 -0
  321. package/plugins/fileManager/fileImage/index.d.ts +2 -0
  322. package/plugins/fileManager/fileImage/index.js +46 -0
  323. package/plugins/fileManager/fileImage/index.js.map +1 -0
  324. package/plugins/fileManager/icons/edit.svg +17 -0
  325. package/plugins/fileManager/icons/round-description-24px.svg +1 -0
  326. package/plugins/fileManager/index.d.ts +2 -0
  327. package/plugins/fileManager/index.js +21 -0
  328. package/plugins/fileManager/index.js.map +1 -0
  329. package/plugins/globalSearch/SearchBar.d.ts +15 -0
  330. package/plugins/globalSearch/SearchBar.js +273 -0
  331. package/plugins/globalSearch/SearchBar.js.map +1 -0
  332. package/plugins/globalSearch/SearchBarDropdown.d.ts +23 -0
  333. package/plugins/globalSearch/SearchBarDropdown.js +101 -0
  334. package/plugins/globalSearch/SearchBarDropdown.js.map +1 -0
  335. package/plugins/globalSearch/icons/round-search-24px.svg +20 -0
  336. package/plugins/globalSearch/index.d.ts +7 -0
  337. package/plugins/globalSearch/index.js +16 -0
  338. package/plugins/globalSearch/index.js.map +1 -0
  339. package/plugins/globalSearch/styled.d.ts +11 -0
  340. package/plugins/globalSearch/styled.js +135 -0
  341. package/plugins/globalSearch/styled.js.map +1 -0
  342. package/plugins/uiLayoutRenderer/index.d.ts +2 -0
  343. package/plugins/uiLayoutRenderer/index.js +75 -0
  344. package/plugins/uiLayoutRenderer/index.js.map +1 -0
  345. package/styles/material-theme-assignments.scss +350 -0
  346. package/styles/material.scss +43 -0
  347. package/styles/theme.scss +46 -0
  348. package/styles.scss +2 -0
  349. package/types.d.ts +93 -0
  350. package/types.js +5 -0
  351. package/types.js.map +1 -0
  352. package/ui/UIElement.d.ts +2 -0
  353. package/ui/UIElement.js +19 -0
  354. package/ui/UIElement.js.map +1 -0
  355. package/ui/UILayout.d.ts +1 -0
  356. package/ui/UILayout.js +19 -0
  357. package/ui/UILayout.js.map +1 -0
  358. package/ui/UIRenderer.d.ts +2 -0
  359. package/ui/UIRenderer.js +13 -0
  360. package/ui/UIRenderer.js.map +1 -0
  361. package/ui/UIView.d.ts +2 -0
  362. package/ui/UIView.js +25 -0
  363. package/ui/UIView.js.map +1 -0
  364. package/ui/elements/AccordionElement.d.ts +27 -0
  365. package/ui/elements/AccordionElement.js +110 -0
  366. package/ui/elements/AccordionElement.js.map +1 -0
  367. package/ui/elements/ButtonElement.d.ts +24 -0
  368. package/ui/elements/ButtonElement.js +105 -0
  369. package/ui/elements/ButtonElement.js.map +1 -0
  370. package/ui/elements/ButtonGroupElement.d.ts +6 -0
  371. package/ui/elements/ButtonGroupElement.js +67 -0
  372. package/ui/elements/ButtonGroupElement.js.map +1 -0
  373. package/ui/elements/GenericElement.d.ts +1 -0
  374. package/ui/elements/GenericElement.js +18 -0
  375. package/ui/elements/GenericElement.js.map +1 -0
  376. package/ui/elements/LabelElement.d.ts +16 -0
  377. package/ui/elements/LabelElement.js +60 -0
  378. package/ui/elements/LabelElement.js.map +1 -0
  379. package/ui/elements/NavigationMenuElement.d.ts +33 -0
  380. package/ui/elements/NavigationMenuElement.js +177 -0
  381. package/ui/elements/NavigationMenuElement.js.map +1 -0
  382. package/ui/elements/PanelElement.d.ts +3 -0
  383. package/ui/elements/PanelElement.js +33 -0
  384. package/ui/elements/PanelElement.js.map +1 -0
  385. package/ui/elements/PlaceholderElement.d.ts +6 -0
  386. package/ui/elements/PlaceholderElement.js +44 -0
  387. package/ui/elements/PlaceholderElement.js.map +1 -0
  388. package/ui/elements/SmallButtonElement.d.ts +6 -0
  389. package/ui/elements/SmallButtonElement.js +64 -0
  390. package/ui/elements/SmallButtonElement.js.map +1 -0
  391. package/ui/elements/TypographyElement.d.ts +13 -0
  392. package/ui/elements/TypographyElement.js +67 -0
  393. package/ui/elements/TypographyElement.js.map +1 -0
  394. package/ui/elements/ViewElement.d.ts +1 -0
  395. package/ui/elements/ViewElement.js +18 -0
  396. package/ui/elements/ViewElement.js.map +1 -0
  397. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.d.ts +6 -0
  398. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js +60 -0
  399. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js.map +1 -0
  400. package/ui/elements/form/DynamicFieldsetElement.d.ts +43 -0
  401. package/ui/elements/form/DynamicFieldsetElement.js +158 -0
  402. package/ui/elements/form/DynamicFieldsetElement.js.map +1 -0
  403. package/ui/elements/form/FileManagerElement/EmptyStateElement.d.ts +4 -0
  404. package/ui/elements/form/FileManagerElement/EmptyStateElement.js +41 -0
  405. package/ui/elements/form/FileManagerElement/EmptyStateElement.js.map +1 -0
  406. package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.d.ts +7 -0
  407. package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js +95 -0
  408. package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js.map +1 -0
  409. package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.d.ts +13 -0
  410. package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js +123 -0
  411. package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js.map +1 -0
  412. package/ui/elements/form/FileManagerElement/styled.d.ts +20 -0
  413. package/ui/elements/form/FileManagerElement/styled.js +120 -0
  414. package/ui/elements/form/FileManagerElement/styled.js.map +1 -0
  415. package/ui/elements/form/FileManagerElement.d.ts +24 -0
  416. package/ui/elements/form/FileManagerElement.js +108 -0
  417. package/ui/elements/form/FileManagerElement.js.map +1 -0
  418. package/ui/elements/form/FormElement.d.ts +21 -0
  419. package/ui/elements/form/FormElement.js +66 -0
  420. package/ui/elements/form/FormElement.js.map +1 -0
  421. package/ui/elements/form/FormFieldElement.d.ts +56 -0
  422. package/ui/elements/form/FormFieldElement.js +206 -0
  423. package/ui/elements/form/FormFieldElement.js.map +1 -0
  424. package/ui/elements/form/HiddenElement.d.ts +6 -0
  425. package/ui/elements/form/HiddenElement.js +64 -0
  426. package/ui/elements/form/HiddenElement.js.map +1 -0
  427. package/ui/elements/form/InputElement.d.ts +7 -0
  428. package/ui/elements/form/InputElement.js +72 -0
  429. package/ui/elements/form/InputElement.js.map +1 -0
  430. package/ui/elements/form/PasswordElement.d.ts +6 -0
  431. package/ui/elements/form/PasswordElement.js +66 -0
  432. package/ui/elements/form/PasswordElement.js.map +1 -0
  433. package/ui/elements/form/README.md +2 -0
  434. package/ui/elements/form/SelectElement.d.ts +15 -0
  435. package/ui/elements/form/SelectElement.js +87 -0
  436. package/ui/elements/form/SelectElement.js.map +1 -0
  437. package/ui/elements/form/TextareaElement.d.ts +15 -0
  438. package/ui/elements/form/TextareaElement.js +72 -0
  439. package/ui/elements/form/TextareaElement.js.map +1 -0
  440. package/ui/views/AdminView/ContentElement.d.ts +4 -0
  441. package/ui/views/AdminView/ContentElement.js +78 -0
  442. package/ui/views/AdminView/ContentElement.js.map +1 -0
  443. package/ui/views/AdminView/HeaderElement.d.ts +13 -0
  444. package/ui/views/AdminView/HeaderElement.js +144 -0
  445. package/ui/views/AdminView/HeaderElement.js.map +1 -0
  446. package/ui/views/AdminView/HeaderSectionCenterElement.d.ts +6 -0
  447. package/ui/views/AdminView/HeaderSectionCenterElement.js +62 -0
  448. package/ui/views/AdminView/HeaderSectionCenterElement.js.map +1 -0
  449. package/ui/views/AdminView/HeaderSectionLeftElement.d.ts +6 -0
  450. package/ui/views/AdminView/HeaderSectionLeftElement.js +62 -0
  451. package/ui/views/AdminView/HeaderSectionLeftElement.js.map +1 -0
  452. package/ui/views/AdminView/HeaderSectionRightElement.d.ts +6 -0
  453. package/ui/views/AdminView/HeaderSectionRightElement.js +62 -0
  454. package/ui/views/AdminView/HeaderSectionRightElement.js.map +1 -0
  455. package/ui/views/AdminView/components/Dialog.d.ts +2 -0
  456. package/ui/views/AdminView/components/Dialog.js +57 -0
  457. package/ui/views/AdminView/components/Dialog.js.map +1 -0
  458. package/ui/views/AdminView/components/Hamburger.d.ts +3 -0
  459. package/ui/views/AdminView/components/Hamburger.js +39 -0
  460. package/ui/views/AdminView/components/Hamburger.js.map +1 -0
  461. package/ui/views/AdminView/components/Snackbar.d.ts +3 -0
  462. package/ui/views/AdminView/components/Snackbar.js +41 -0
  463. package/ui/views/AdminView/components/Snackbar.js.map +1 -0
  464. package/ui/views/FormView/FormContainerElement.d.ts +12 -0
  465. package/ui/views/FormView/FormContainerElement.js +71 -0
  466. package/ui/views/FormView/FormContainerElement.js.map +1 -0
  467. package/ui/views/FormView/FormContentElement.d.ts +3 -0
  468. package/ui/views/FormView/FormContentElement.js +33 -0
  469. package/ui/views/FormView/FormContentElement.js.map +1 -0
  470. package/ui/views/FormView/FormFooterElement.d.ts +6 -0
  471. package/ui/views/FormView/FormFooterElement.js +68 -0
  472. package/ui/views/FormView/FormFooterElement.js.map +1 -0
  473. package/ui/views/FormView/FormHeaderElement.d.ts +14 -0
  474. package/ui/views/FormView/FormHeaderElement.js +103 -0
  475. package/ui/views/FormView/FormHeaderElement.js.map +1 -0
  476. package/ui/views/FormView.d.ts +40 -0
  477. package/ui/views/FormView.js +208 -0
  478. package/ui/views/FormView.js.map +1 -0
  479. package/ui/views/OverlayView/ContentElement.d.ts +6 -0
  480. package/ui/views/OverlayView/ContentElement.js +61 -0
  481. package/ui/views/OverlayView/ContentElement.js.map +1 -0
  482. package/ui/views/OverlayView/HeaderElement.d.ts +24 -0
  483. package/ui/views/OverlayView/HeaderElement.js +134 -0
  484. package/ui/views/OverlayView/HeaderElement.js.map +1 -0
  485. package/ui/views/OverlayView/HeaderTitleElement.d.ts +13 -0
  486. package/ui/views/OverlayView/HeaderTitleElement.js +73 -0
  487. package/ui/views/OverlayView/HeaderTitleElement.js.map +1 -0
  488. package/ui/views/OverlayView/useOverlayView.d.ts +5 -0
  489. package/ui/views/OverlayView/useOverlayView.js +54 -0
  490. package/ui/views/OverlayView/useOverlayView.js.map +1 -0
  491. package/ui/views/OverlayView.d.ts +29 -0
  492. package/ui/views/OverlayView.js +199 -0
  493. package/ui/views/OverlayView.js.map +1 -0
  494. package/ui/views/SplitView/SplitViewPanelElement.d.ts +11 -0
  495. package/ui/views/SplitView/SplitViewPanelElement.js +91 -0
  496. package/ui/views/SplitView/SplitViewPanelElement.js.map +1 -0
  497. package/ui/views/SplitView.d.ts +21 -0
  498. package/ui/views/SplitView.js +162 -0
  499. package/ui/views/SplitView.js.map +1 -0
@@ -0,0 +1,514 @@
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 _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
+
12
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
13
+
14
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
+
16
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
+
18
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
19
+
20
+ var _utils = require("../utils");
21
+
22
+ var Paragraph = /*#__PURE__*/function () {
23
+ // private readonly _settings: any;
24
+
25
+ /**
26
+ * Render plugin`s main Element and fill it with saved data
27
+ *
28
+ * @param {object} params - constructor params
29
+ * @param {ParagraphData} params.data - previously saved data
30
+ * @param {ParagraphConfig} params.config - user config for Tool
31
+ * @param {object} params.api - editor.js api
32
+ * @param {boolean} readOnly - read only mode flag
33
+ */
34
+ function Paragraph(_ref) {
35
+ var data = _ref.data,
36
+ config = _ref.config,
37
+ api = _ref.api,
38
+ readOnly = _ref.readOnly;
39
+ (0, _classCallCheck2.default)(this, Paragraph);
40
+ (0, _defineProperty2.default)(this, "api", void 0);
41
+ (0, _defineProperty2.default)(this, "readOnly", void 0);
42
+ (0, _defineProperty2.default)(this, "_CSS", void 0);
43
+ (0, _defineProperty2.default)(this, "_data", void 0);
44
+ (0, _defineProperty2.default)(this, "_element", void 0);
45
+ (0, _defineProperty2.default)(this, "_placeholder", void 0);
46
+ (0, _defineProperty2.default)(this, "_preserveBlank", void 0);
47
+ (0, _defineProperty2.default)(this, "alignments", void 0);
48
+ (0, _defineProperty2.default)(this, "settingsButtons", void 0);
49
+ (0, _defineProperty2.default)(this, "typography", void 0);
50
+ this.api = api;
51
+ this.readOnly = readOnly;
52
+ this.typography = config.typography || null;
53
+ this._CSS = {
54
+ block: this.api.styles.block,
55
+ settingsButton: this.api.styles.settingsButton,
56
+ settingsButtonActive: this.api.styles.settingsButtonActive,
57
+ wrapper: "ce-paragraph"
58
+ };
59
+
60
+ if (!this.readOnly) {
61
+ this.onKeyUp = this.onKeyUp.bind(this);
62
+ }
63
+ /**
64
+ * Placeholder for paragraph if it is first Block
65
+ * @type {string}
66
+ */
67
+
68
+
69
+ this._placeholder = config.placeholder ? config.placeholder : Paragraph.DEFAULT_PLACEHOLDER;
70
+ this._data = this.normalizeData(data);
71
+ this._element = this.drawView();
72
+ this._preserveBlank = config.preserveBlank !== undefined ? config.preserveBlank : false;
73
+ this.settingsButtons = [];
74
+ this.alignments = _utils.ALIGNMENTS; // Call the `data` setter, to properly render the view element.
75
+
76
+ this.data = this._data;
77
+ }
78
+ /**
79
+ * Default placeholder for Paragraph Tool
80
+ *
81
+ * @return {string}
82
+ * @constructor
83
+ */
84
+
85
+
86
+ (0, _createClass2.default)(Paragraph, [{
87
+ key: "data",
88
+ get:
89
+ /**
90
+ * Get current Tools`s data
91
+ * @returns {ParagraphData} Current data
92
+ * @private
93
+ */
94
+ function get() {
95
+ var text = this._element.innerHTML; // this._data.text = text;
96
+
97
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, this._data), {}, {
98
+ text: text
99
+ });
100
+ }
101
+ /**
102
+ * Store data in plugin:
103
+ * - at the this._data property
104
+ * - at the HTML
105
+ *
106
+ * @param {ParagraphData} data — data to set
107
+ * @private
108
+ */
109
+ ,
110
+ set: function set(data) {
111
+ var _this = this;
112
+
113
+ this._data = data || {};
114
+ this._element.innerHTML = this._data.text || "";
115
+ /**
116
+ * Add Alignment class
117
+ */
118
+
119
+ this.alignments.forEach(function (alignment) {
120
+ if (alignment.name === _this._data.textAlign) {
121
+ _this._element.classList.add("ce-header-text--".concat(alignment.name));
122
+ } else {
123
+ _this._element.classList.remove("ce-header-text--".concat(alignment.name));
124
+ }
125
+ });
126
+ /**
127
+ * Add Typography class
128
+ */
129
+
130
+ if (this._data.className) {
131
+ var _this$_element$classL;
132
+
133
+ (_this$_element$classL = this._element.classList).add.apply(_this$_element$classL, (0, _toConsumableArray2.default)(this._data.className.split(" ")));
134
+ }
135
+ }
136
+ /**
137
+ * Used by Editor paste handling API.
138
+ * Provides configuration to handle P tags.
139
+ *
140
+ * @returns {{tags: string[]}}
141
+ */
142
+
143
+ }, {
144
+ key: "currentAlignment",
145
+ get:
146
+ /**
147
+ * Get current alignment
148
+ *
149
+ * @returns {alignment}
150
+ */
151
+ function get() {
152
+ var _this2 = this;
153
+
154
+ var alignment = this.alignments.find(function (alignment) {
155
+ return alignment.name === _this2._data.textAlign;
156
+ });
157
+
158
+ if (!alignment) {
159
+ alignment = {
160
+ name: _utils.TextAlign.START,
161
+ svg: _utils.ALIGNMENT_ICONS.start
162
+ };
163
+ }
164
+
165
+ return alignment;
166
+ }
167
+ /**
168
+ * Check if text content is empty and set empty string to inner html.
169
+ * We need this because some browsers (e.g. Safari) insert <br> into empty contentEditable elements
170
+ *
171
+ * @param {KeyboardEvent} e - key up event
172
+ */
173
+
174
+ }, {
175
+ key: "onKeyUp",
176
+ value: function onKeyUp(e) {
177
+ if (e.code !== "Backspace" && e.code !== "Delete") {
178
+ return;
179
+ }
180
+
181
+ var textContent = this._element.textContent;
182
+
183
+ if (textContent === "") {
184
+ this._element.innerHTML = "";
185
+ }
186
+ }
187
+ /**
188
+ * Create Tool's view
189
+ * @return {HTMLElement}
190
+ * @private
191
+ */
192
+
193
+ }, {
194
+ key: "drawView",
195
+ value: function drawView() {
196
+ var div = document.createElement("div");
197
+ div.classList.add(this._CSS.wrapper, this._CSS.block); // Add custom className to view.
198
+
199
+ if (this._data.className) {
200
+ div.classList.add(this._data.className);
201
+ }
202
+
203
+ div.contentEditable = "false";
204
+ div.dataset["placeholder"] = this.api.i18n.t(this._placeholder);
205
+
206
+ if (!this.readOnly) {
207
+ div.contentEditable = "true";
208
+ div.addEventListener("keyup", this.onKeyUp);
209
+ }
210
+
211
+ return div;
212
+ }
213
+ /**
214
+ * Return Tool's view
215
+ */
216
+
217
+ }, {
218
+ key: "render",
219
+ value: function render() {
220
+ return this._element;
221
+ }
222
+ /**
223
+ * Create Block's settings block
224
+ */
225
+
226
+ }, {
227
+ key: "renderSettings",
228
+ value: function renderSettings() {
229
+ var _this3 = this;
230
+
231
+ var holder = document.createElement("div"); // Add alignment selectors
232
+
233
+ this.alignments.forEach(function (alignment) {
234
+ var selectTypeButton = document.createElement("span");
235
+ selectTypeButton.classList.add(_this3._CSS.settingsButton);
236
+ /**
237
+ * Highlight current level button
238
+ */
239
+
240
+ if (_this3.currentAlignment.name === alignment.name) {
241
+ selectTypeButton.classList.add(_this3._CSS.settingsButtonActive);
242
+ }
243
+ /**
244
+ * Add SVG icon
245
+ */
246
+
247
+
248
+ selectTypeButton.innerHTML = alignment.svg;
249
+ /**
250
+ * Save alignment to its button
251
+ */
252
+
253
+ selectTypeButton.dataset["textAlign"] = alignment.name;
254
+ /**
255
+ * Set up click handler
256
+ */
257
+
258
+ selectTypeButton.addEventListener("click", function () {
259
+ _this3.setAlignment(alignment);
260
+ });
261
+ /**
262
+ * Append settings button to holder
263
+ */
264
+
265
+ holder.appendChild(selectTypeButton);
266
+ /**
267
+ * Save settings buttons
268
+ */
269
+
270
+ _this3.settingsButtons.push(selectTypeButton);
271
+ }); // Add `Typography` selector
272
+
273
+ if (this.typography) {
274
+ var typographyForParagraph = Object.values(this.typography).filter(function (item) {
275
+ return item.component === "p";
276
+ });
277
+ var selectTypeButton = document.createElement("SELECT"); // Add editor's default input style
278
+
279
+ selectTypeButton.classList.add(this.api.styles.input); // Add typography options
280
+
281
+ typographyForParagraph.forEach(function (item) {
282
+ var option = new Option(item.label, item.className);
283
+ selectTypeButton.appendChild(option);
284
+ }); // Add "onclick" handler
285
+
286
+ selectTypeButton.onclick = function (event) {
287
+ var _ref2 = event.target,
288
+ value = _ref2.value;
289
+
290
+ _this3.setTypographyClass(value);
291
+ };
292
+ /**
293
+ * Append settings button to holder
294
+ */
295
+
296
+
297
+ holder.appendChild(selectTypeButton);
298
+ /**
299
+ * Save settings buttons
300
+ */
301
+
302
+ this.settingsButtons.push(selectTypeButton);
303
+ }
304
+
305
+ return holder;
306
+ }
307
+ /**
308
+ * Method that specified how to merge two Text blocks.
309
+ * Called by Editor.js by backspace at the beginning of the Block
310
+ * @param {ParagraphData} data
311
+ * @public
312
+ */
313
+
314
+ }, {
315
+ key: "merge",
316
+ value: function merge(data) {
317
+ this.data = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, this.data), {}, {
318
+ text: this.data.text + data.text
319
+ });
320
+ }
321
+ /**
322
+ * Validate Paragraph block data:
323
+ * - check for emptiness
324
+ *
325
+ * @param {ParagraphData} savedData — data received after saving
326
+ * @returns {boolean} false if saved data is not correct, otherwise true
327
+ * @public
328
+ */
329
+
330
+ }, {
331
+ key: "validate",
332
+ value: function validate(savedData) {
333
+ return !(savedData.text.trim() === "" && !this._preserveBlank);
334
+ }
335
+ /**
336
+ * Extract Tool's data from the view
337
+ * @param {HTMLDivElement} toolsContent - Paragraph tools rendered view
338
+ * @returns {ParagraphData} - saved data
339
+ * @public
340
+ */
341
+
342
+ }, {
343
+ key: "save",
344
+ value: function save(toolsContent) {
345
+ return {
346
+ text: toolsContent.innerHTML,
347
+ textAlign: this.getTextAlign(toolsContent.className),
348
+ className: this.data.className
349
+ };
350
+ }
351
+ /**
352
+ * Extract textAlign from className
353
+ *
354
+ * @param {string} className - heading element className
355
+ * @returns {TextAlign} textAlign
356
+ */
357
+
358
+ }, {
359
+ key: "getTextAlign",
360
+ value: function getTextAlign(className) {
361
+ var textAlign = _utils.TextAlign.START; // Match className with alignment
362
+
363
+ this.alignments.forEach(function (alignment) {
364
+ if (className.includes("ce-header-text--".concat(alignment.name))) {
365
+ textAlign = alignment.name;
366
+ }
367
+ });
368
+ return textAlign;
369
+ }
370
+ /**
371
+ * On paste callback fired from Editor.
372
+ *
373
+ * @param {PasteEvent} event - event with pasted data
374
+ */
375
+
376
+ }, {
377
+ key: "onPaste",
378
+ value: function onPaste(event) {
379
+ var detail = event.detail;
380
+ this.data = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, this.data), {}, {
381
+ text: detail.data.innerHTML
382
+ });
383
+ }
384
+ /**
385
+ * Callback for Block's settings buttons
386
+ *
387
+ * @param {number} alignment - level to set
388
+ */
389
+
390
+ }, {
391
+ key: "setAlignment",
392
+ value: function setAlignment(alignment) {
393
+ var _this4 = this;
394
+
395
+ this.data = {
396
+ textAlign: alignment.name,
397
+ text: this.data.text
398
+ };
399
+ /**
400
+ * Highlight button by selected level
401
+ */
402
+
403
+ this.settingsButtons.forEach(function (button) {
404
+ button.classList.toggle(_this4._CSS.settingsButtonActive, button.dataset["textAlign"] === alignment.name);
405
+ });
406
+ }
407
+ /**
408
+ * Callback for Block's settings buttons
409
+ *
410
+ * @param {string} className - name of typography class
411
+ */
412
+
413
+ }, {
414
+ key: "setTypographyClass",
415
+ value: function setTypographyClass(className) {
416
+ this.data = {
417
+ textAlign: this.data.textAlign,
418
+ text: this.data.text,
419
+ className: className
420
+ };
421
+ }
422
+ /**
423
+ * Normalize input data
424
+ *
425
+ * @param {HeaderData} data - saved data to process
426
+ *
427
+ * @returns {HeaderData}
428
+ * @private
429
+ */
430
+
431
+ }, {
432
+ key: "normalizeData",
433
+ value: function normalizeData(data) {
434
+ var newData = {};
435
+
436
+ if (typeof data !== "object") {
437
+ data = {};
438
+ }
439
+
440
+ newData.text = data.text || "";
441
+ newData.textAlign = data.textAlign || _utils.TextAlign.START;
442
+ newData.className = data.className || "";
443
+ return newData;
444
+ }
445
+ }], [{
446
+ key: "DEFAULT_PLACEHOLDER",
447
+ get: function get() {
448
+ return "";
449
+ }
450
+ /**
451
+ * Enable Conversion Toolbar. Paragraph can be converted to/from other tools
452
+ */
453
+
454
+ }, {
455
+ key: "conversionConfig",
456
+ get: function get() {
457
+ return {
458
+ export: "text",
459
+ // to convert Paragraph to other block, use 'text' property of saved data
460
+ import: "text" // to covert other block's exported string to Paragraph, fill 'text' property of tool data
461
+
462
+ };
463
+ }
464
+ /**
465
+ * Sanitizer rules
466
+ */
467
+
468
+ }, {
469
+ key: "sanitize",
470
+ get: function get() {
471
+ return {
472
+ text: {
473
+ br: true
474
+ }
475
+ };
476
+ }
477
+ /**
478
+ * Returns true to notify the core that read-only mode is supported
479
+ *
480
+ * @return {boolean}
481
+ */
482
+
483
+ }, {
484
+ key: "isReadOnlySupported",
485
+ get: function get() {
486
+ return true;
487
+ }
488
+ }, {
489
+ key: "pasteConfig",
490
+ get: function get() {
491
+ return {
492
+ tags: ["P"]
493
+ };
494
+ }
495
+ /**
496
+ * Icon and title for displaying at the Toolbox
497
+ *
498
+ * @return {{icon: string, title: string}}
499
+ */
500
+
501
+ }, {
502
+ key: "toolbox",
503
+ get: function get() {
504
+ return {
505
+ icon: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0.2 -0.3 9 11.4" width="12" height="14">\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' + "</svg>",
506
+ title: "Text"
507
+ };
508
+ }
509
+ }]);
510
+ return Paragraph;
511
+ }();
512
+
513
+ var _default = Paragraph;
514
+ exports.default = _default;
@@ -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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"}
@@ -0,0 +1,29 @@
1
+ .ce-paragraph {
2
+ line-height: 1.6em;
3
+ outline: none;
4
+ }
5
+
6
+ .ce-paragraph[data-placeholder]:empty::before {
7
+ content: attr(data-placeholder);
8
+ color: #707684;
9
+ font-weight: normal;
10
+ opacity: 0;
11
+ }
12
+
13
+ /** Show placeholder at the first paragraph if Editor is empty */
14
+ .codex-editor--empty .ce-block:first-of-type .ce-paragraph[data-placeholder]:empty::before {
15
+ opacity: 1;
16
+ }
17
+
18
+ .codex-editor--toolbox-opened .ce-block:first-of-type .ce-paragraph[data-placeholder]:empty::before,
19
+ .codex-editor--empty .ce-block:first-of-type .ce-paragraph[data-placeholder]:empty:focus::before {
20
+ opacity: 0;
21
+ }
22
+
23
+ .ce-paragraph p:first-of-type {
24
+ margin-top: 0;
25
+ }
26
+
27
+ .ce-paragraph p:last-of-type {
28
+ margin-bottom: 0;
29
+ }
@@ -0,0 +1,64 @@
1
+ /// <reference types="react" />
2
+ /// <reference types="web" />
3
+ /// <reference types="web" />
4
+ import { API } from "@editorjs/editorjs";
5
+ interface Config {
6
+ themeColors: string[];
7
+ }
8
+ interface TextColorToolParams {
9
+ api: API;
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);
30
+ static get isInline(): boolean;
31
+ /**
32
+ * Sanitize method returns rules to let Editor know which HTML tags it should respect.
33
+ * @returns {object} sanitizer configuration.
34
+ * https://editorjs.io/sanitizer
35
+ */
36
+ static get sanitize(): SanitizeResult;
37
+ get state(): boolean;
38
+ set state(state: boolean);
39
+ /**
40
+ * Render method must return HTML element of the button for Inline Toolbar.
41
+ */
42
+ render(): HTMLButtonElement;
43
+ /**
44
+ * Input for the link
45
+ */
46
+ renderActions(): HTMLElement;
47
+ /**
48
+ * Finally, when button is pressed Editor calls
49
+ * surround method of the tool with Range object as an argument.
50
+ */
51
+ surround(range: Range): void;
52
+ wrap(range: Range): void;
53
+ unwrap(range: Range): void;
54
+ showActions(mark: HTMLElement): void;
55
+ hideActions(): void;
56
+ /**
57
+ * CheckState method of each Inline Tool is called by Editor with current `Selection`
58
+ * when user selects some text
59
+ */
60
+ checkState(): void;
61
+ convertToHex(color: string): string;
62
+ clear(): void;
63
+ }
64
+ export default TextColorTool;