@webiny/app-admin 0.0.0-unstable.fcdad0bc61 → 0.0.0-unstable.fdd9228b5d

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 (765) hide show
  1. package/assets/icons/add-18px.svg +1 -1
  2. package/assets/icons/arrow_drop_down-24px.svg +1 -1
  3. package/assets/icons/file_download.svg +1 -0
  4. package/assets/icons/file_upload.svg +1 -0
  5. package/assets/icons/filter-24px.svg +1 -1
  6. package/assets/icons/highlight-24px.svg +1 -1
  7. package/assets/icons/info.svg +1 -1
  8. package/assets/icons/insert_drive_file-24px.svg +1 -1
  9. package/assets/icons/insert_photo-24px.svg +1 -1
  10. package/assets/icons/label-24px.svg +1 -1
  11. package/assets/icons/round-account_circle-24px.svg +1 -1
  12. package/assets/icons/round-arrow_drop_down-24px.svg +1 -1
  13. package/assets/icons/round-help-24px.svg +1 -1
  14. package/assets/icons/round-settings-24px.svg +1 -1
  15. package/assets/icons/today-24px.svg +1 -1
  16. package/assets/icons/touch_app.svg +1 -1
  17. package/base/Admin.d.ts +2 -2
  18. package/base/Admin.js +26 -53
  19. package/base/Admin.js.map +1 -1
  20. package/base/Base/Menus/SupportMenuItems.d.ts +2 -0
  21. package/base/Base/Menus/SupportMenuItems.js +20 -0
  22. package/base/Base/Menus/SupportMenuItems.js.map +1 -0
  23. package/base/Base/Menus/WebinyVersion.d.ts +2 -0
  24. package/base/Base/Menus/WebinyVersion.js +24 -0
  25. package/base/Base/Menus/WebinyVersion.js.map +1 -0
  26. package/base/Base/Menus.d.ts +2 -0
  27. package/base/Base/Menus.js +129 -0
  28. package/base/Base/Menus.js.map +1 -0
  29. package/base/Base/Routes.d.ts +2 -0
  30. package/base/Base/Routes.js +24 -0
  31. package/base/Base/Routes.js.map +1 -0
  32. package/base/Base/Tenant/wby-logo.svg +3 -0
  33. package/base/Base/Tenant.d.ts +2 -0
  34. package/base/Base/Tenant.js +19 -0
  35. package/base/Base/Tenant.js.map +1 -0
  36. package/base/Base.d.ts +1 -1
  37. package/base/Base.js +12 -108
  38. package/base/Base.js.map +1 -1
  39. package/base/WebinyVersion.d.ts +2 -0
  40. package/base/WebinyVersion.js +24 -0
  41. package/base/WebinyVersion.js.map +1 -0
  42. package/base/plugins/AddGraphQLQuerySelection.d.ts +2 -3
  43. package/base/plugins/AddGraphQLQuerySelection.js +12 -25
  44. package/base/plugins/AddGraphQLQuerySelection.js.map +1 -1
  45. package/base/providers/AdminUiStateProvider.d.ts +1 -0
  46. package/base/providers/AdminUiStateProvider.js +14 -0
  47. package/base/providers/AdminUiStateProvider.js.map +1 -0
  48. package/base/providers/ApolloProvider.d.ts +5 -2
  49. package/base/providers/ApolloProvider.js +10 -20
  50. package/base/providers/ApolloProvider.js.map +1 -1
  51. package/base/providers/TelemetryProvider.d.ts +1 -2
  52. package/base/providers/TelemetryProvider.js +14 -29
  53. package/base/providers/TelemetryProvider.js.map +1 -1
  54. package/base/providers/UiProviders.d.ts +1 -0
  55. package/base/providers/UiProviders.js +14 -0
  56. package/base/providers/UiProviders.js.map +1 -0
  57. package/base/providers/UiStateProvider.d.ts +1 -2
  58. package/base/providers/UiStateProvider.js +11 -20
  59. package/base/providers/UiStateProvider.js.map +1 -1
  60. package/base/providers/ViewCompositionProvider.d.ts +5 -1
  61. package/base/providers/ViewCompositionProvider.js +34 -57
  62. package/base/providers/ViewCompositionProvider.js.map +1 -1
  63. package/base/ui/Brand.d.ts +39 -2
  64. package/base/ui/Brand.js +6 -17
  65. package/base/ui/Brand.js.map +1 -1
  66. package/base/ui/CenteredView.d.ts +21 -1
  67. package/base/ui/CenteredView.js +15 -40
  68. package/base/ui/CenteredView.js.map +1 -1
  69. package/base/ui/Dashboard.d.ts +39 -2
  70. package/base/ui/Dashboard.js +6 -17
  71. package/base/ui/Dashboard.js.map +1 -1
  72. package/base/ui/FileManager.d.ts +86 -0
  73. package/base/ui/FileManager.js +60 -0
  74. package/base/ui/FileManager.js.map +1 -0
  75. package/base/ui/Layout.d.ts +38 -2
  76. package/base/ui/Layout.js +9 -22
  77. package/base/ui/Layout.js.map +1 -1
  78. package/base/ui/LocaleSelector.d.ts +39 -2
  79. package/base/ui/LocaleSelector.js +6 -17
  80. package/base/ui/LocaleSelector.js.map +1 -1
  81. package/base/ui/LoginScreen.d.ts +20 -2
  82. package/base/ui/LoginScreen.js +10 -22
  83. package/base/ui/LoginScreen.js.map +1 -1
  84. package/base/ui/Logo.d.ts +38 -7
  85. package/base/ui/Logo.js +6 -34
  86. package/base/ui/Logo.js.map +1 -1
  87. package/base/ui/Navigation.d.ts +38 -23
  88. package/base/ui/Navigation.js +6 -182
  89. package/base/ui/Navigation.js.map +1 -1
  90. package/base/ui/NotFound.d.ts +39 -2
  91. package/base/ui/NotFound.js +6 -17
  92. package/base/ui/NotFound.js.map +1 -1
  93. package/base/ui/Tags.d.ts +2 -2
  94. package/base/ui/Tags.js +15 -24
  95. package/base/ui/Tags.js.map +1 -1
  96. package/base/ui/TenantSelector.d.ts +39 -0
  97. package/base/ui/TenantSelector.js +8 -0
  98. package/base/ui/TenantSelector.js.map +1 -0
  99. package/base/ui/UserMenu/UserMenu.d.ts +39 -0
  100. package/base/ui/UserMenu/UserMenu.js +8 -0
  101. package/base/ui/UserMenu/UserMenu.js.map +1 -0
  102. package/base/ui/UserMenu/UserMenuHandle.d.ts +39 -0
  103. package/base/ui/UserMenu/UserMenuHandle.js +8 -0
  104. package/base/ui/UserMenu/UserMenuHandle.js.map +1 -0
  105. package/base/ui/UserMenu/UserMenuItem.d.ts +81 -0
  106. package/base/ui/UserMenu/UserMenuItem.js +19 -0
  107. package/base/ui/UserMenu/UserMenuItem.js.map +1 -0
  108. package/base/ui/UserMenu/UserMenuLink.d.ts +81 -0
  109. package/base/ui/UserMenu/UserMenuLink.js +19 -0
  110. package/base/ui/UserMenu/UserMenuLink.js.map +1 -0
  111. package/base/ui/UserMenu/UserMenuSeparator.d.ts +42 -0
  112. package/base/ui/UserMenu/UserMenuSeparator.js +9 -0
  113. package/base/ui/UserMenu/UserMenuSeparator.js.map +1 -0
  114. package/base/ui/UserMenu.d.ts +79 -29
  115. package/base/ui/UserMenu.js +15 -133
  116. package/base/ui/UserMenu.js.map +1 -1
  117. package/components/AdminLayout.d.ts +2 -1
  118. package/components/AdminLayout.js +8 -18
  119. package/components/AdminLayout.js.map +1 -1
  120. package/components/AppInstaller/AppInstaller.d.ts +5 -1
  121. package/components/AppInstaller/AppInstaller.js +66 -136
  122. package/components/AppInstaller/AppInstaller.js.map +1 -1
  123. package/components/AppInstaller/Sidebar.d.ts +2 -2
  124. package/components/AppInstaller/Sidebar.js +71 -141
  125. package/components/AppInstaller/Sidebar.js.map +1 -1
  126. package/components/AppInstaller/index.d.ts +2 -2
  127. package/components/AppInstaller/index.js +11 -23
  128. package/components/AppInstaller/index.js.map +1 -1
  129. package/components/AppInstaller/styled.d.ts +16 -6
  130. package/components/AppInstaller/styled.js +57 -73
  131. package/components/AppInstaller/styled.js.map +1 -1
  132. package/components/AppInstaller/useInstaller.d.ts +2 -8
  133. package/components/AppInstaller/useInstaller.js +95 -247
  134. package/components/AppInstaller/useInstaller.js.map +1 -1
  135. package/components/BulkActions/Worker.d.ts +83 -0
  136. package/components/BulkActions/Worker.js +126 -0
  137. package/components/BulkActions/Worker.js.map +1 -0
  138. package/components/BulkActions/index.d.ts +2 -0
  139. package/components/BulkActions/index.js +4 -0
  140. package/components/BulkActions/index.js.map +1 -0
  141. package/components/BulkActions/useDialogWithReport/DialogMessage.d.ts +5 -0
  142. package/components/BulkActions/useDialogWithReport/DialogMessage.js +23 -0
  143. package/components/BulkActions/useDialogWithReport/DialogMessage.js.map +1 -0
  144. package/components/BulkActions/useDialogWithReport/index.d.ts +1 -0
  145. package/components/BulkActions/useDialogWithReport/index.js +3 -0
  146. package/components/BulkActions/useDialogWithReport/index.js.map +1 -0
  147. package/components/BulkActions/useDialogWithReport/useDialogWithReport.d.ts +19 -0
  148. package/components/BulkActions/useDialogWithReport/useDialogWithReport.js +51 -0
  149. package/components/BulkActions/useDialogWithReport/useDialogWithReport.js.map +1 -0
  150. package/components/Buttons/Buttons.d.ts +24 -0
  151. package/components/Buttons/Buttons.js +77 -0
  152. package/components/Buttons/Buttons.js.map +1 -0
  153. package/components/Buttons/Buttons.styles.d.ts +5 -0
  154. package/components/Buttons/Buttons.styles.js +18 -0
  155. package/components/Buttons/Buttons.styles.js.map +1 -0
  156. package/components/Buttons/index.d.ts +2 -0
  157. package/components/Buttons/index.js +4 -0
  158. package/components/Buttons/index.js.map +1 -0
  159. package/components/Buttons/useButtons.d.ts +14 -0
  160. package/components/Buttons/useButtons.js +24 -0
  161. package/components/Buttons/useButtons.js.map +1 -0
  162. package/components/Dialogs/CustomDialog.d.ts +17 -0
  163. package/components/Dialogs/CustomDialog.js +48 -0
  164. package/components/Dialogs/CustomDialog.js.map +1 -0
  165. package/components/Dialogs/Dialog.d.ts +21 -0
  166. package/components/Dialogs/Dialog.js +62 -0
  167. package/components/Dialogs/Dialog.js.map +1 -0
  168. package/components/Dialogs/DialogsContext.d.ts +43 -0
  169. package/components/Dialogs/DialogsContext.js +141 -0
  170. package/components/Dialogs/DialogsContext.js.map +1 -0
  171. package/components/Dialogs/useDialogs.d.ts +3 -0
  172. package/components/Dialogs/useDialogs.js +12 -0
  173. package/components/Dialogs/useDialogs.js.map +1 -0
  174. package/components/EmptyView.d.ts +4 -3
  175. package/components/EmptyView.js +30 -65
  176. package/components/EmptyView.js.map +1 -1
  177. package/components/Filters/Filters.d.ts +16 -0
  178. package/components/Filters/Filters.js +21 -0
  179. package/components/Filters/Filters.js.map +1 -0
  180. package/components/Filters/FiltersToggle.d.ts +7 -0
  181. package/components/Filters/FiltersToggle.js +26 -0
  182. package/components/Filters/FiltersToggle.js.map +1 -0
  183. package/components/Filters/index.d.ts +2 -0
  184. package/components/Filters/index.js +4 -0
  185. package/components/Filters/index.js.map +1 -0
  186. package/components/FloatingActionButton.d.ts +4 -1
  187. package/components/FloatingActionButton.js +8 -19
  188. package/components/FloatingActionButton.js.map +1 -1
  189. package/components/FloatingPanel.d.ts +13 -0
  190. package/components/FloatingPanel.js +96 -0
  191. package/components/FloatingPanel.js.map +1 -0
  192. package/components/IconPicker/IconPicker.d.ts +13 -0
  193. package/components/IconPicker/IconPicker.js +39 -0
  194. package/components/IconPicker/IconPicker.js.map +1 -0
  195. package/components/IconPicker/IconPickerComponent.d.ts +17 -0
  196. package/components/IconPicker/IconPickerComponent.js +81 -0
  197. package/components/IconPicker/IconPickerComponent.js.map +1 -0
  198. package/components/IconPicker/IconPickerPresenter.d.ts +53 -0
  199. package/components/IconPicker/IconPickerPresenter.js +77 -0
  200. package/components/IconPicker/IconPickerPresenter.js.map +1 -0
  201. package/components/IconPicker/IconPickerPresenter.test.d.ts +1 -0
  202. package/components/IconPicker/IconPickerPresenter.test.js +109 -0
  203. package/components/IconPicker/IconPickerPresenter.test.js.map +1 -0
  204. package/components/IconPicker/IconPickerPresenterProvider.d.ts +9 -0
  205. package/components/IconPicker/IconPickerPresenterProvider.js +19 -0
  206. package/components/IconPicker/IconPickerPresenterProvider.js.map +1 -0
  207. package/components/IconPicker/IconPickerTab.d.ts +33 -0
  208. package/components/IconPicker/IconPickerTab.js +159 -0
  209. package/components/IconPicker/IconPickerTab.js.map +1 -0
  210. package/components/IconPicker/IconRenderer.d.ts +34 -0
  211. package/components/IconPicker/IconRenderer.js +27 -0
  212. package/components/IconPicker/IconRenderer.js.map +1 -0
  213. package/components/IconPicker/IconRepository.d.ts +19 -0
  214. package/components/IconPicker/IconRepository.js +47 -0
  215. package/components/IconPicker/IconRepository.js.map +1 -0
  216. package/components/IconPicker/IconRepository.test.d.ts +1 -0
  217. package/components/IconPicker/IconRepository.test.js +66 -0
  218. package/components/IconPicker/IconRepository.test.js.map +1 -0
  219. package/components/IconPicker/IconRepositoryFactory.d.ts +9 -0
  220. package/components/IconPicker/IconRepositoryFactory.js +17 -0
  221. package/components/IconPicker/IconRepositoryFactory.js.map +1 -0
  222. package/components/IconPicker/Loading.d.ts +14 -0
  223. package/components/IconPicker/Loading.js +50 -0
  224. package/components/IconPicker/Loading.js.map +1 -0
  225. package/components/IconPicker/components/IconPickerCell.d.ts +12 -0
  226. package/components/IconPicker/components/IconPickerCell.js +27 -0
  227. package/components/IconPicker/components/IconPickerCell.js.map +1 -0
  228. package/components/IconPicker/components/IconPickerContent.d.ts +11 -0
  229. package/components/IconPicker/components/IconPickerContent.js +41 -0
  230. package/components/IconPicker/components/IconPickerContent.js.map +1 -0
  231. package/components/IconPicker/components/IconPickerRow.d.ts +4 -0
  232. package/components/IconPicker/components/IconPickerRow.js +14 -0
  233. package/components/IconPicker/components/IconPickerRow.js.map +1 -0
  234. package/components/IconPicker/components/IconPickerTrigger.d.ts +13 -0
  235. package/components/IconPicker/components/IconPickerTrigger.js +52 -0
  236. package/components/IconPicker/components/IconPickerTrigger.js.map +1 -0
  237. package/components/IconPicker/components/index.d.ts +4 -0
  238. package/components/IconPicker/components/index.js +6 -0
  239. package/components/IconPicker/components/index.js.map +1 -0
  240. package/components/IconPicker/config/Emojis.d.ts +2 -0
  241. package/components/IconPicker/config/Emojis.js +24 -0
  242. package/components/IconPicker/config/Emojis.js.map +1 -0
  243. package/components/IconPicker/config/FontAwesomeIcons.d.ts +2 -0
  244. package/components/IconPicker/config/FontAwesomeIcons.js +61 -0
  245. package/components/IconPicker/config/FontAwesomeIcons.js.map +1 -0
  246. package/components/IconPicker/config/IconPackProvider.d.ts +7 -0
  247. package/components/IconPicker/config/IconPackProvider.js +23 -0
  248. package/components/IconPicker/config/IconPackProvider.js.map +1 -0
  249. package/components/IconPicker/config/IconType.d.ts +32 -0
  250. package/components/IconPicker/config/IconType.js +89 -0
  251. package/components/IconPicker/config/IconType.js.map +1 -0
  252. package/components/IconPicker/config/index.d.ts +31 -0
  253. package/components/IconPicker/config/index.js +45 -0
  254. package/components/IconPicker/config/index.js.map +1 -0
  255. package/components/IconPicker/defaultIcon.d.ts +6 -0
  256. package/components/IconPicker/defaultIcon.js +8 -0
  257. package/components/IconPicker/defaultIcon.js.map +1 -0
  258. package/components/IconPicker/index.d.ts +7 -0
  259. package/components/IconPicker/index.js +8 -0
  260. package/components/IconPicker/index.js.map +1 -0
  261. package/components/IconPicker/plugins/customPlugin.d.ts +2 -0
  262. package/components/IconPicker/plugins/customPlugin.js +132 -0
  263. package/components/IconPicker/plugins/customPlugin.js.map +1 -0
  264. package/components/IconPicker/plugins/emojisPlugin.d.ts +2 -0
  265. package/components/IconPicker/plugins/emojisPlugin.js +127 -0
  266. package/components/IconPicker/plugins/emojisPlugin.js.map +1 -0
  267. package/components/IconPicker/plugins/graphql.d.ts +20 -0
  268. package/components/IconPicker/plugins/graphql.js +27 -0
  269. package/components/IconPicker/plugins/graphql.js.map +1 -0
  270. package/components/IconPicker/plugins/iconsPlugin.d.ts +2 -0
  271. package/components/IconPicker/plugins/iconsPlugin.js +115 -0
  272. package/components/IconPicker/plugins/iconsPlugin.js.map +1 -0
  273. package/components/IconPicker/types.d.ts +22 -0
  274. package/components/IconPicker/types.js +10 -0
  275. package/components/IconPicker/types.js.map +1 -0
  276. package/components/LexicalEditor/LexicalEditor.d.ts +8 -0
  277. package/components/LexicalEditor/LexicalEditor.js +29 -0
  278. package/components/LexicalEditor/LexicalEditor.js.map +1 -0
  279. package/components/LexicalEditor/index.d.ts +1 -0
  280. package/components/LexicalEditor/index.js +3 -0
  281. package/components/LexicalEditor/index.js.map +1 -0
  282. package/components/MultiImageUpload.d.ts +1 -1
  283. package/components/MultiImageUpload.js +14 -41
  284. package/components/MultiImageUpload.js.map +1 -1
  285. package/components/OptionsMenu/OptionsMenu.d.ts +10 -0
  286. package/components/OptionsMenu/OptionsMenu.js +23 -0
  287. package/components/OptionsMenu/OptionsMenu.js.map +1 -0
  288. package/components/OptionsMenu/OptionsMenuItem.d.ts +10 -0
  289. package/components/OptionsMenu/OptionsMenuItem.js +17 -0
  290. package/components/OptionsMenu/OptionsMenuItem.js.map +1 -0
  291. package/components/OptionsMenu/OptionsMenuLink.d.ts +12 -0
  292. package/components/OptionsMenu/OptionsMenuLink.js +17 -0
  293. package/components/OptionsMenu/OptionsMenuLink.js.map +1 -0
  294. package/components/OptionsMenu/index.d.ts +4 -0
  295. package/components/OptionsMenu/index.js +6 -0
  296. package/components/OptionsMenu/index.js.map +1 -0
  297. package/components/OptionsMenu/useOptionsMenuItem.d.ts +13 -0
  298. package/components/OptionsMenu/useOptionsMenuItem.js +23 -0
  299. package/components/OptionsMenu/useOptionsMenuItem.js.map +1 -0
  300. package/components/OverlayLayout/OverlayLayout.d.ts +6 -17
  301. package/components/OverlayLayout/OverlayLayout.js +44 -181
  302. package/components/OverlayLayout/OverlayLayout.js.map +1 -1
  303. package/components/OverlayLayout/components/OverlayBackdrop.d.ts +7 -0
  304. package/components/OverlayLayout/components/OverlayBackdrop.js +15 -0
  305. package/components/OverlayLayout/components/OverlayBackdrop.js.map +1 -0
  306. package/components/OverlayLayout/components/OverlayContent.d.ts +6 -0
  307. package/components/OverlayLayout/components/OverlayContent.js +21 -0
  308. package/components/OverlayLayout/components/OverlayContent.js.map +1 -0
  309. package/components/OverlayLayout/components/OverlayHeader.d.ts +13 -0
  310. package/components/OverlayLayout/components/OverlayHeader.js +44 -0
  311. package/components/OverlayLayout/components/OverlayHeader.js.map +1 -0
  312. package/components/OverlayLayout/components/OverlayRoot.d.ts +9 -0
  313. package/components/OverlayLayout/components/OverlayRoot.js +19 -0
  314. package/components/OverlayLayout/components/OverlayRoot.js.map +1 -0
  315. package/components/OverlayLayout/components/index.d.ts +4 -0
  316. package/components/OverlayLayout/components/index.js +6 -0
  317. package/components/OverlayLayout/components/index.js.map +1 -0
  318. package/components/OverlayLayout/index.js +2 -17
  319. package/components/OverlayLayout/index.js.map +1 -1
  320. package/components/Permissions/CannotUseAaclAlert.d.ts +2 -0
  321. package/components/Permissions/CannotUseAaclAlert.js +14 -0
  322. package/components/Permissions/CannotUseAaclAlert.js.map +1 -0
  323. package/components/Permissions/Permissions.d.ts +4 -2
  324. package/components/Permissions/Permissions.js +29 -41
  325. package/components/Permissions/Permissions.js.map +1 -1
  326. package/components/Permissions/PermissionsGroup.d.ts +6 -0
  327. package/components/Permissions/PermissionsGroup.js +18 -0
  328. package/components/Permissions/PermissionsGroup.js.map +1 -0
  329. package/components/Permissions/StyledComponents.d.ts +2 -3
  330. package/components/Permissions/StyledComponents.js +14 -35
  331. package/components/Permissions/StyledComponents.js.map +1 -1
  332. package/components/Permissions/index.d.ts +2 -0
  333. package/components/Permissions/index.js +5 -29
  334. package/components/Permissions/index.js.map +1 -1
  335. package/components/ResizablePanels/index.d.ts +1 -0
  336. package/components/ResizablePanels/index.js +3 -0
  337. package/components/ResizablePanels/index.js.map +1 -0
  338. package/components/RichTextEditor/RichTextEditor.d.ts +2 -2
  339. package/components/RichTextEditor/RichTextEditor.js +14 -28
  340. package/components/RichTextEditor/RichTextEditor.js.map +1 -1
  341. package/components/RichTextEditor/index.js +3 -20
  342. package/components/RichTextEditor/index.js.map +1 -1
  343. package/components/RichTextEditor/tools/header/index.d.ts +3 -4
  344. package/components/RichTextEditor/tools/header/index.js +457 -573
  345. package/components/RichTextEditor/tools/header/index.js.map +1 -1
  346. package/components/RichTextEditor/tools/image/index.d.ts +2 -4
  347. package/components/RichTextEditor/tools/image/index.js +150 -213
  348. package/components/RichTextEditor/tools/image/index.js.map +1 -1
  349. package/components/RichTextEditor/tools/image/svgs.js +6 -11
  350. package/components/RichTextEditor/tools/image/svgs.js.map +1 -1
  351. package/components/RichTextEditor/tools/image/tunes.d.ts +2 -4
  352. package/components/RichTextEditor/tools/image/tunes.js +75 -118
  353. package/components/RichTextEditor/tools/image/tunes.js.map +1 -1
  354. package/components/RichTextEditor/tools/image/types.js +2 -4
  355. package/components/RichTextEditor/tools/image/types.js.map +1 -1
  356. package/components/RichTextEditor/tools/image/ui.d.ts +2 -4
  357. package/components/RichTextEditor/tools/image/ui.js +150 -206
  358. package/components/RichTextEditor/tools/image/ui.js.map +1 -1
  359. package/components/RichTextEditor/tools/paragraph/index.d.ts +3 -4
  360. package/components/RichTextEditor/tools/paragraph/index.js +341 -420
  361. package/components/RichTextEditor/tools/paragraph/index.js.map +1 -1
  362. package/components/RichTextEditor/tools/textColor/index.d.ts +1 -4
  363. package/components/RichTextEditor/tools/textColor/index.js +164 -238
  364. package/components/RichTextEditor/tools/textColor/index.js.map +1 -1
  365. package/components/RichTextEditor/tools/utils.d.ts +1 -1
  366. package/components/RichTextEditor/tools/utils.js +7 -16
  367. package/components/RichTextEditor/tools/utils.js.map +1 -1
  368. package/components/Routes.d.ts +1 -1
  369. package/components/Routes.js +21 -36
  370. package/components/Routes.js.map +1 -1
  371. package/components/SearchUI.d.ts +3 -1
  372. package/components/SearchUI.js +24 -68
  373. package/components/SearchUI.js.map +1 -1
  374. package/components/SimpleForm/SimpleForm.d.ts +19 -8
  375. package/components/SimpleForm/SimpleForm.js +74 -99
  376. package/components/SimpleForm/SimpleForm.js.map +1 -1
  377. package/components/SimpleForm/index.js +2 -30
  378. package/components/SimpleForm/index.js.map +1 -1
  379. package/components/SimpleUI/InputField.d.ts +3 -1
  380. package/components/SimpleUI/InputField.js +42 -63
  381. package/components/SimpleUI/InputField.js.map +1 -1
  382. package/components/SingleImageUpload.d.ts +22 -4
  383. package/components/SingleImageUpload.js +40 -92
  384. package/components/SingleImageUpload.js.map +1 -1
  385. package/components/SplitView/SplitView.d.ts +10 -8
  386. package/components/SplitView/SplitView.js +52 -90
  387. package/components/SplitView/SplitView.js.map +1 -1
  388. package/components/SplitView/index.js +2 -24
  389. package/components/SplitView/index.js.map +1 -1
  390. package/components/StateInspector.d.ts +8 -0
  391. package/components/StateInspector.js +36 -0
  392. package/components/StateInspector.js.map +1 -0
  393. package/components/Wcp.d.ts +13 -0
  394. package/components/Wcp.js +27 -0
  395. package/components/Wcp.js.map +1 -0
  396. package/components/index.d.ts +3 -1
  397. package/components/index.js +4 -12
  398. package/components/index.js.map +1 -1
  399. package/config/AdminConfig/Menu/MenuGroup.d.ts +62 -0
  400. package/config/AdminConfig/Menu/MenuGroup.js +14 -0
  401. package/config/AdminConfig/Menu/MenuGroup.js.map +1 -0
  402. package/config/AdminConfig/Menu/MenuItem.d.ts +43 -0
  403. package/config/AdminConfig/Menu/MenuItem.js +14 -0
  404. package/config/AdminConfig/Menu/MenuItem.js.map +1 -0
  405. package/config/AdminConfig/Menu/MenuLink.d.ts +43 -0
  406. package/config/AdminConfig/Menu/MenuLink.js +18 -0
  407. package/config/AdminConfig/Menu/MenuLink.js.map +1 -0
  408. package/config/AdminConfig/Menu/SupportMenu/SupportMenuItem.d.ts +43 -0
  409. package/config/AdminConfig/Menu/SupportMenu/SupportMenuItem.js +13 -0
  410. package/config/AdminConfig/Menu/SupportMenu/SupportMenuItem.js.map +1 -0
  411. package/config/AdminConfig/Menu/SupportMenu/SupportMenuLink.d.ts +24 -0
  412. package/config/AdminConfig/Menu/SupportMenu/SupportMenuLink.js +13 -0
  413. package/config/AdminConfig/Menu/SupportMenu/SupportMenuLink.js.map +1 -0
  414. package/config/AdminConfig/Menu/SupportMenu.d.ts +72 -0
  415. package/config/AdminConfig/Menu/SupportMenu.js +49 -0
  416. package/config/AdminConfig/Menu/SupportMenu.js.map +1 -0
  417. package/config/AdminConfig/Menu/UserMenu/UserMenuItem.d.ts +41 -0
  418. package/config/AdminConfig/Menu/UserMenu/UserMenuItem.js +7 -0
  419. package/config/AdminConfig/Menu/UserMenu/UserMenuItem.js.map +1 -0
  420. package/config/AdminConfig/Menu/UserMenu/UserMenuLink.d.ts +41 -0
  421. package/config/AdminConfig/Menu/UserMenu/UserMenuLink.js +7 -0
  422. package/config/AdminConfig/Menu/UserMenu/UserMenuLink.js.map +1 -0
  423. package/config/AdminConfig/Menu/UserMenu/UserMenuSeparator.d.ts +1 -0
  424. package/config/AdminConfig/Menu/UserMenu/UserMenuSeparator.js +3 -0
  425. package/config/AdminConfig/Menu/UserMenu/UserMenuSeparator.js.map +1 -0
  426. package/config/AdminConfig/Menu/UserMenu/types.d.ts +7 -0
  427. package/config/AdminConfig/Menu/UserMenu/types.js +3 -0
  428. package/config/AdminConfig/Menu/UserMenu/types.js.map +1 -0
  429. package/config/AdminConfig/Menu/UserMenu.d.ts +129 -0
  430. package/config/AdminConfig/Menu/UserMenu.js +61 -0
  431. package/config/AdminConfig/Menu/UserMenu.js.map +1 -0
  432. package/config/AdminConfig/Menu/types.d.ts +7 -0
  433. package/config/AdminConfig/Menu/types.js +3 -0
  434. package/config/AdminConfig/Menu/types.js.map +1 -0
  435. package/config/AdminConfig/Menu.d.ts +350 -0
  436. package/config/AdminConfig/Menu.js +75 -0
  437. package/config/AdminConfig/Menu.js.map +1 -0
  438. package/config/AdminConfig/Route.d.ts +3 -0
  439. package/config/AdminConfig/Route.js +8 -0
  440. package/config/AdminConfig/Route.js.map +1 -0
  441. package/config/AdminConfig/Tenant/TenantLogo.d.ts +23 -0
  442. package/config/AdminConfig/Tenant/TenantLogo.js +16 -0
  443. package/config/AdminConfig/Tenant/TenantLogo.js.map +1 -0
  444. package/config/AdminConfig/Tenant/TenantName.d.ts +23 -0
  445. package/config/AdminConfig/Tenant/TenantName.js +16 -0
  446. package/config/AdminConfig/Tenant/TenantName.js.map +1 -0
  447. package/config/AdminConfig/Tenant.d.ts +66 -0
  448. package/config/AdminConfig/Tenant.js +23 -0
  449. package/config/AdminConfig/Tenant.js.map +1 -0
  450. package/config/AdminConfig/Theme/assignColor.d.ts +2 -0
  451. package/config/AdminConfig/Theme/assignColor.js +22 -0
  452. package/config/AdminConfig/Theme/assignColor.js.map +1 -0
  453. package/config/AdminConfig/Theme/consts.d.ts +2 -0
  454. package/config/AdminConfig/Theme/consts.js +4 -0
  455. package/config/AdminConfig/Theme/consts.js.map +1 -0
  456. package/config/AdminConfig/Theme/types.d.ts +3 -0
  457. package/config/AdminConfig/Theme/types.js +3 -0
  458. package/config/AdminConfig/Theme/types.js.map +1 -0
  459. package/config/AdminConfig/Theme.d.ts +16 -0
  460. package/config/AdminConfig/Theme.js +22 -0
  461. package/config/AdminConfig/Theme.js.map +1 -0
  462. package/config/AdminConfig.d.ts +434 -0
  463. package/config/AdminConfig.js +47 -0
  464. package/config/AdminConfig.js.map +1 -0
  465. package/config/createAdminConfig.d.ts +57 -0
  466. package/config/createAdminConfig.js +94 -0
  467. package/config/createAdminConfig.js.map +1 -0
  468. package/hooks/index.d.ts +10 -0
  469. package/hooks/index.js +12 -0
  470. package/hooks/index.js.map +1 -0
  471. package/hooks/useConfirmationDialog.d.ts +7 -3
  472. package/hooks/useConfirmationDialog.js +29 -43
  473. package/hooks/useConfirmationDialog.js.map +1 -1
  474. package/hooks/useDialog.d.ts +21 -2
  475. package/hooks/useDialog.js +17 -26
  476. package/hooks/useDialog.js.map +1 -1
  477. package/hooks/useIsMounted.d.ts +3 -0
  478. package/hooks/useIsMounted.js +15 -0
  479. package/hooks/useIsMounted.js.map +1 -0
  480. package/hooks/useKeyHandler.d.ts +8 -0
  481. package/hooks/useKeyHandler.js +64 -0
  482. package/hooks/useKeyHandler.js.map +1 -0
  483. package/hooks/useModKey.d.ts +1 -0
  484. package/hooks/useModKey.js +30 -0
  485. package/hooks/useModKey.js.map +1 -0
  486. package/hooks/useShiftKey.d.ts +1 -0
  487. package/hooks/useShiftKey.js +33 -0
  488. package/hooks/useShiftKey.js.map +1 -0
  489. package/hooks/useSnackbar.d.ts +1 -0
  490. package/hooks/useSnackbar.js +24 -30
  491. package/hooks/useSnackbar.js.map +1 -1
  492. package/hooks/useStateIfMounted.d.ts +2 -0
  493. package/hooks/useStateIfMounted.js +16 -0
  494. package/hooks/useStateIfMounted.js.map +1 -0
  495. package/hooks/useStateWithCallback.d.ts +5 -0
  496. package/hooks/useStateWithCallback.js +18 -0
  497. package/hooks/useStateWithCallback.js.map +1 -0
  498. package/index.d.ts +27 -15
  499. package/index.js +53 -373
  500. package/index.js.map +1 -1
  501. package/package.json +66 -58
  502. package/plugins/MenuPlugin.d.ts +1 -1
  503. package/plugins/MenuPlugin.js +16 -55
  504. package/plugins/MenuPlugin.js.map +1 -1
  505. package/plugins/PermissionRendererPlugin.d.ts +1 -1
  506. package/plugins/PermissionRendererPlugin.js +16 -55
  507. package/plugins/PermissionRendererPlugin.js.map +1 -1
  508. package/plugins/uiLayoutRenderer/index.js +41 -63
  509. package/plugins/uiLayoutRenderer/index.js.map +1 -1
  510. package/styles.scss +7 -2
  511. package/types.d.ts +58 -69
  512. package/types.js +6 -4
  513. package/types.js.map +1 -1
  514. package/ui/UIElement.js +2 -18
  515. package/ui/UIElement.js.map +1 -1
  516. package/ui/UILayout.js +2 -18
  517. package/ui/UILayout.js.map +1 -1
  518. package/ui/UIRenderer.js +2 -12
  519. package/ui/UIRenderer.js.map +1 -1
  520. package/ui/UIView.js +2 -24
  521. package/ui/UIView.js.map +1 -1
  522. package/ui/elements/AccordionElement.d.ts +2 -1
  523. package/ui/elements/AccordionElement.js +44 -106
  524. package/ui/elements/AccordionElement.js.map +1 -1
  525. package/ui/elements/ButtonElement.d.ts +4 -3
  526. package/ui/elements/ButtonElement.js +47 -100
  527. package/ui/elements/ButtonElement.js.map +1 -1
  528. package/ui/elements/ButtonGroupElement.d.ts +2 -1
  529. package/ui/elements/ButtonGroupElement.js +24 -62
  530. package/ui/elements/ButtonGroupElement.js.map +1 -1
  531. package/ui/elements/GenericElement.js +2 -17
  532. package/ui/elements/GenericElement.js.map +1 -1
  533. package/ui/elements/LabelElement.d.ts +3 -2
  534. package/ui/elements/LabelElement.js +16 -53
  535. package/ui/elements/LabelElement.js.map +1 -1
  536. package/ui/elements/NavigationMenuElement.d.ts +5 -4
  537. package/ui/elements/NavigationMenuElement.js +72 -161
  538. package/ui/elements/NavigationMenuElement.js.map +1 -1
  539. package/ui/elements/PanelElement.js +3 -32
  540. package/ui/elements/PanelElement.js.map +1 -1
  541. package/ui/elements/PlaceholderElement.js +9 -42
  542. package/ui/elements/PlaceholderElement.js.map +1 -1
  543. package/ui/elements/SmallButtonElement.d.ts +4 -2
  544. package/ui/elements/SmallButtonElement.js +21 -61
  545. package/ui/elements/SmallButtonElement.js.map +1 -1
  546. package/ui/elements/TypographyElement.d.ts +3 -2
  547. package/ui/elements/TypographyElement.js +21 -65
  548. package/ui/elements/TypographyElement.js.map +1 -1
  549. package/ui/elements/ViewElement.js +2 -17
  550. package/ui/elements/ViewElement.js.map +1 -1
  551. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.d.ts +3 -2
  552. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js +17 -51
  553. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js.map +1 -1
  554. package/ui/elements/form/DynamicFieldsetElement.d.ts +3 -2
  555. package/ui/elements/form/DynamicFieldsetElement.js +93 -154
  556. package/ui/elements/form/DynamicFieldsetElement.js.map +1 -1
  557. package/ui/elements/form/FileManagerElement/EmptyStateElement.js +8 -39
  558. package/ui/elements/form/FileManagerElement/EmptyStateElement.js.map +1 -1
  559. package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.d.ts +4 -3
  560. package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js +41 -89
  561. package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js.map +1 -1
  562. package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.d.ts +4 -3
  563. package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js +68 -108
  564. package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js.map +1 -1
  565. package/ui/elements/form/FileManagerElement/styled.d.ts +22 -19
  566. package/ui/elements/form/FileManagerElement/styled.js +86 -98
  567. package/ui/elements/form/FileManagerElement/styled.js.map +1 -1
  568. package/ui/elements/form/FileManagerElement.d.ts +3 -2
  569. package/ui/elements/form/FileManagerElement.js +44 -106
  570. package/ui/elements/form/FileManagerElement.js.map +1 -1
  571. package/ui/elements/form/FormElement.d.ts +3 -2
  572. package/ui/elements/form/FormElement.js +18 -64
  573. package/ui/elements/form/FormElement.js.map +1 -1
  574. package/ui/elements/form/FormFieldElement.d.ts +6 -5
  575. package/ui/elements/form/FormFieldElement.js +100 -193
  576. package/ui/elements/form/FormFieldElement.js.map +1 -1
  577. package/ui/elements/form/HiddenElement.d.ts +2 -1
  578. package/ui/elements/form/HiddenElement.js +22 -61
  579. package/ui/elements/form/HiddenElement.js.map +1 -1
  580. package/ui/elements/form/InputElement.d.ts +3 -2
  581. package/ui/elements/form/InputElement.js +29 -69
  582. package/ui/elements/form/InputElement.js.map +1 -1
  583. package/ui/elements/form/PasswordElement.d.ts +1 -1
  584. package/ui/elements/form/PasswordElement.js +27 -64
  585. package/ui/elements/form/PasswordElement.js.map +1 -1
  586. package/ui/elements/form/SelectElement.d.ts +2 -1
  587. package/ui/elements/form/SelectElement.js +39 -84
  588. package/ui/elements/form/SelectElement.js.map +1 -1
  589. package/ui/elements/form/TextareaElement.d.ts +3 -2
  590. package/ui/elements/form/TextareaElement.js +31 -69
  591. package/ui/elements/form/TextareaElement.js.map +1 -1
  592. package/ui/views/AdminView/ContentElement.js +31 -72
  593. package/ui/views/AdminView/ContentElement.js.map +1 -1
  594. package/ui/views/AdminView/HeaderElement.js +61 -137
  595. package/ui/views/AdminView/HeaderElement.js.map +1 -1
  596. package/ui/views/AdminView/HeaderSectionCenterElement.d.ts +2 -1
  597. package/ui/views/AdminView/HeaderSectionCenterElement.js +18 -59
  598. package/ui/views/AdminView/HeaderSectionCenterElement.js.map +1 -1
  599. package/ui/views/AdminView/HeaderSectionLeftElement.d.ts +2 -1
  600. package/ui/views/AdminView/HeaderSectionLeftElement.js +18 -59
  601. package/ui/views/AdminView/HeaderSectionLeftElement.js.map +1 -1
  602. package/ui/views/AdminView/HeaderSectionRightElement.d.ts +2 -1
  603. package/ui/views/AdminView/HeaderSectionRightElement.js +18 -59
  604. package/ui/views/AdminView/HeaderSectionRightElement.js.map +1 -1
  605. package/ui/views/AdminView/components/Dialog.d.ts +1 -1
  606. package/ui/views/AdminView/components/Dialog.js +35 -51
  607. package/ui/views/AdminView/components/Dialog.js.map +1 -1
  608. package/ui/views/AdminView/components/Hamburger.d.ts +1 -1
  609. package/ui/views/AdminView/components/Hamburger.js +13 -29
  610. package/ui/views/AdminView/components/Hamburger.js.map +1 -1
  611. package/ui/views/FormView/FormContainerElement.d.ts +4 -3
  612. package/ui/views/FormView/FormContainerElement.js +17 -69
  613. package/ui/views/FormView/FormContainerElement.js.map +1 -1
  614. package/ui/views/FormView/FormContentElement.d.ts +3 -0
  615. package/ui/views/FormView/FormContentElement.js +8 -31
  616. package/ui/views/FormView/FormContentElement.js.map +1 -1
  617. package/ui/views/FormView/FormFooterElement.d.ts +4 -3
  618. package/ui/views/FormView/FormFooterElement.js +11 -65
  619. package/ui/views/FormView/FormFooterElement.js.map +1 -1
  620. package/ui/views/FormView/FormHeaderElement.d.ts +3 -2
  621. package/ui/views/FormView/FormHeaderElement.js +27 -100
  622. package/ui/views/FormView/FormHeaderElement.js.map +1 -1
  623. package/ui/views/FormView.d.ts +3 -3
  624. package/ui/views/FormView.js +105 -192
  625. package/ui/views/FormView.js.map +1 -1
  626. package/ui/views/OverlayView/ContentElement.d.ts +2 -1
  627. package/ui/views/OverlayView/ContentElement.js +24 -56
  628. package/ui/views/OverlayView/ContentElement.js.map +1 -1
  629. package/ui/views/OverlayView/HeaderElement.d.ts +2 -1
  630. package/ui/views/OverlayView/HeaderElement.js +64 -126
  631. package/ui/views/OverlayView/HeaderElement.js.map +1 -1
  632. package/ui/views/OverlayView/HeaderTitleElement.d.ts +4 -2
  633. package/ui/views/OverlayView/HeaderTitleElement.js +22 -70
  634. package/ui/views/OverlayView/HeaderTitleElement.js.map +1 -1
  635. package/ui/views/OverlayView/useOverlayView.js +18 -38
  636. package/ui/views/OverlayView/useOverlayView.js.map +1 -1
  637. package/ui/views/OverlayView.d.ts +3 -2
  638. package/ui/views/OverlayView.js +80 -170
  639. package/ui/views/OverlayView.js.map +1 -1
  640. package/ui/views/SplitView/SplitViewPanelElement.d.ts +2 -1
  641. package/ui/views/SplitView/SplitViewPanelElement.js +29 -88
  642. package/ui/views/SplitView/SplitViewPanelElement.js.map +1 -1
  643. package/ui/views/SplitView.d.ts +1 -1
  644. package/ui/views/SplitView.js +57 -133
  645. package/ui/views/SplitView.js.map +1 -1
  646. package/assets/images/icons.png +0 -0
  647. package/assets/images/icons_retina.png +0 -0
  648. package/assets/images/swich.png +0 -0
  649. package/base/ui/Menu.d.ts +0 -31
  650. package/base/ui/Menu.js +0 -166
  651. package/base/ui/Menu.js.map +0 -1
  652. package/base/ui/Search.d.ts +0 -19
  653. package/base/ui/Search.js +0 -81
  654. package/base/ui/Search.js.map +0 -1
  655. package/components/FileManager/BottomInfoBar/SupportedFileTypes.d.ts +0 -6
  656. package/components/FileManager/BottomInfoBar/SupportedFileTypes.js +0 -55
  657. package/components/FileManager/BottomInfoBar/SupportedFileTypes.js.map +0 -1
  658. package/components/FileManager/BottomInfoBar/UploadStatus.d.ts +0 -6
  659. package/components/FileManager/BottomInfoBar/UploadStatus.js +0 -60
  660. package/components/FileManager/BottomInfoBar/UploadStatus.js.map +0 -1
  661. package/components/FileManager/BottomInfoBar.d.ts +0 -5
  662. package/components/FileManager/BottomInfoBar.js +0 -60
  663. package/components/FileManager/BottomInfoBar.js.map +0 -1
  664. package/components/FileManager/DropFilesHere.d.ts +0 -10
  665. package/components/FileManager/DropFilesHere.js +0 -76
  666. package/components/FileManager/DropFilesHere.js.map +0 -1
  667. package/components/FileManager/File.d.ts +0 -17
  668. package/components/FileManager/File.js +0 -155
  669. package/components/FileManager/File.js.map +0 -1
  670. package/components/FileManager/FileDetails/Name.d.ts +0 -8
  671. package/components/FileManager/FileDetails/Name.js +0 -138
  672. package/components/FileManager/FileDetails/Name.js.map +0 -1
  673. package/components/FileManager/FileDetails/Tags.d.ts +0 -10
  674. package/components/FileManager/FileDetails/Tags.js +0 -339
  675. package/components/FileManager/FileDetails/Tags.js.map +0 -1
  676. package/components/FileManager/FileDetails.d.ts +0 -24
  677. package/components/FileManager/FileDetails.js +0 -474
  678. package/components/FileManager/FileDetails.js.map +0 -1
  679. package/components/FileManager/FileManagerContext.d.ts +0 -42
  680. package/components/FileManager/FileManagerContext.js +0 -224
  681. package/components/FileManager/FileManagerContext.js.map +0 -1
  682. package/components/FileManager/FileManagerView.d.ts +0 -18
  683. package/components/FileManager/FileManagerView.js +0 -728
  684. package/components/FileManager/FileManagerView.js.map +0 -1
  685. package/components/FileManager/LeftSidebar.d.ts +0 -10
  686. package/components/FileManager/LeftSidebar.js +0 -127
  687. package/components/FileManager/LeftSidebar.js.map +0 -1
  688. package/components/FileManager/NoPermissionView.d.ts +0 -3
  689. package/components/FileManager/NoPermissionView.js +0 -87
  690. package/components/FileManager/NoPermissionView.js.map +0 -1
  691. package/components/FileManager/NoResults.d.ts +0 -3
  692. package/components/FileManager/NoResults.js +0 -28
  693. package/components/FileManager/NoResults.js.map +0 -1
  694. package/components/FileManager/getFileTypePlugin.d.ts +0 -4
  695. package/components/FileManager/getFileTypePlugin.js +0 -57
  696. package/components/FileManager/getFileTypePlugin.js.map +0 -1
  697. package/components/FileManager/getFileUploader.d.ts +0 -3
  698. package/components/FileManager/getFileUploader.js +0 -20
  699. package/components/FileManager/getFileUploader.js.map +0 -1
  700. package/components/FileManager/graphql.d.ts +0 -96
  701. package/components/FileManager/graphql.js +0 -58
  702. package/components/FileManager/graphql.js.map +0 -1
  703. package/components/FileManager/icons/content_copy-black-24px.svg +0 -1
  704. package/components/FileManager/icons/delete.svg +0 -12
  705. package/components/FileManager/icons/privacy_tip-24px.svg +0 -10
  706. package/components/FileManager/icons/round-check_box-24px.svg +0 -4
  707. package/components/FileManager/icons/round-check_box_outline_blank-24px.svg +0 -4
  708. package/components/FileManager/icons/round-cloud_download-24px.svg +0 -4
  709. package/components/FileManager/icons/round-cloud_upload-24px.svg +0 -4
  710. package/components/FileManager/icons/round-description-24px.svg +0 -4
  711. package/components/FileManager/icons/round-edit-24px.svg +0 -4
  712. package/components/FileManager/icons/round-info-24px.svg +0 -4
  713. package/components/FileManager/icons/round-label-24px.svg +0 -4
  714. package/components/FileManager/icons/round-more_vert-24px.svg +0 -4
  715. package/components/FileManager/icons/round-search-24px.svg +0 -20
  716. package/components/FileManager/outputFileSelectionError.d.ts +0 -7
  717. package/components/FileManager/outputFileSelectionError.js +0 -54
  718. package/components/FileManager/outputFileSelectionError.js.map +0 -1
  719. package/components/FileManager/types.d.ts +0 -21
  720. package/components/FileManager/types.js +0 -5
  721. package/components/FileManager/types.js.map +0 -1
  722. package/components/FileManager.d.ts +0 -67
  723. package/components/FileManager.js +0 -144
  724. package/components/FileManager.js.map +0 -1
  725. package/components/OverlayLayout/icons/close.svg +0 -13
  726. package/components/OverlayLayout/icons/navigate_before.svg +0 -16
  727. package/plugins/FileManagerFileTypePlugin.d.ts +0 -33
  728. package/plugins/FileManagerFileTypePlugin.js +0 -63
  729. package/plugins/FileManagerFileTypePlugin.js.map +0 -1
  730. package/plugins/fileManager/fileDefault.d.ts +0 -2
  731. package/plugins/fileManager/fileDefault.js +0 -34
  732. package/plugins/fileManager/fileDefault.js.map +0 -1
  733. package/plugins/fileManager/fileImage/DeleteAction.d.ts +0 -7
  734. package/plugins/fileManager/fileImage/DeleteAction.js +0 -83
  735. package/plugins/fileManager/fileImage/DeleteAction.js.map +0 -1
  736. package/plugins/fileManager/fileImage/EditAction.d.ts +0 -10
  737. package/plugins/fileManager/fileImage/EditAction.js +0 -179
  738. package/plugins/fileManager/fileImage/EditAction.js.map +0 -1
  739. package/plugins/fileManager/fileImage/index.d.ts +0 -2
  740. package/plugins/fileManager/fileImage/index.js +0 -46
  741. package/plugins/fileManager/fileImage/index.js.map +0 -1
  742. package/plugins/fileManager/icons/edit.svg +0 -17
  743. package/plugins/fileManager/icons/round-description-24px.svg +0 -1
  744. package/plugins/fileManager/index.d.ts +0 -2
  745. package/plugins/fileManager/index.js +0 -21
  746. package/plugins/fileManager/index.js.map +0 -1
  747. package/plugins/globalSearch/SearchBar.d.ts +0 -15
  748. package/plugins/globalSearch/SearchBar.js +0 -273
  749. package/plugins/globalSearch/SearchBar.js.map +0 -1
  750. package/plugins/globalSearch/SearchBarDropdown.d.ts +0 -23
  751. package/plugins/globalSearch/SearchBarDropdown.js +0 -101
  752. package/plugins/globalSearch/SearchBarDropdown.js.map +0 -1
  753. package/plugins/globalSearch/icons/round-search-24px.svg +0 -20
  754. package/plugins/globalSearch/index.d.ts +0 -7
  755. package/plugins/globalSearch/index.js +0 -16
  756. package/plugins/globalSearch/index.js.map +0 -1
  757. package/plugins/globalSearch/styled.d.ts +0 -11
  758. package/plugins/globalSearch/styled.js +0 -135
  759. package/plugins/globalSearch/styled.js.map +0 -1
  760. package/styles/material-theme-assignments.scss +0 -346
  761. package/styles/material.scss +0 -43
  762. package/styles/theme.scss +0 -46
  763. package/ui/views/AdminView/components/Snackbar.d.ts +0 -3
  764. package/ui/views/AdminView/components/Snackbar.js +0 -41
  765. package/ui/views/AdminView/components/Snackbar.js.map +0 -1
@@ -1 +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
+ {"version":3,"names":["ALIGNMENTS","TextAlign","ALIGNMENT_ICONS","Paragraph","constructor","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","conversionConfig","export","import","sanitize","text","br","isReadOnlySupported","innerHTML","forEach","alignment","name","textAlign","classList","add","remove","className","split","pasteConfig","tags","toolbox","icon","title","currentAlignment","find","START","svg","start","e","code","textContent","div","document","createElement","contentEditable","dataset","i18n","t","addEventListener","render","renderSettings","holder","selectTypeButton","setAlignment","appendChild","push","typographyForParagraph","Object","values","filter","item","component","input","option","Option","label","onclick","event","value","target","setTypographyClass","merge","validate","savedData","trim","save","toolsContent","getTextAlign","includes","onPaste","detail","button","toggle","newData"],"sources":["index.ts"],"sourcesContent":["import type { API, PasteEvent } from \"@editorjs/editorjs\";\nimport type { Alignment } from \"../utils\";\nimport { ALIGNMENTS, TextAlign, ALIGNMENT_ICONS } from \"../utils\";\nimport type { 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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","ignoreList":[]}
@@ -1,7 +1,4 @@
1
- /// <reference types="react" />
2
- /// <reference types="web" />
3
- /// <reference types="web" />
4
- import { API } from "@editorjs/editorjs";
1
+ import type { API } from "@editorjs/editorjs";
5
2
  interface Config {
6
3
  themeColors: string[];
7
4
  }
@@ -1,34 +1,9 @@
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 _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
-
16
- var COLOR_TOOL_CLASS = "cdx-text-color";
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);
1
+ const COLOR_TOOL_CLASS = "cdx-text-color";
2
+ class TextColorTool {
3
+ constructor({
4
+ api,
5
+ config
6
+ }) {
32
7
  this.api = api;
33
8
  this.button = null;
34
9
  this.colorPicker = null;
@@ -45,227 +20,178 @@ var TextColorTool = /*#__PURE__*/function () {
45
20
  colorBoxActive: "ce-text-color-tool__color-box--active"
46
21
  };
47
22
  }
23
+ static get isInline() {
24
+ return true;
25
+ }
48
26
 
49
- (0, _createClass2.default)(TextColorTool, [{
50
- key: "state",
51
- get: function get() {
52
- return this._state;
53
- },
54
- set: function set(state) {
55
- this._state = state;
56
-
57
- if (!this.button) {
58
- return;
59
- }
60
-
61
- this.button.classList.toggle(this.api.styles.inlineToolButtonActive, state);
62
- }
63
- /**
64
- * Render method must return HTML element of the button for Inline Toolbar.
65
- */
66
-
67
- }, {
68
- key: "render",
69
- value: function render() {
70
- this.button = document.createElement("button");
71
- this.button.type = "button";
72
- this.button.innerHTML = '<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>';
73
- this.button.classList.add(this.api.styles.inlineToolButton);
74
- return this.button;
75
- }
76
- /**
77
- * Input for the link
78
- */
79
-
80
- }, {
81
- key: "renderActions",
82
- value: function renderActions() {
83
- var _this = this;
84
-
85
- // Create action element
86
- this.colorPicker = document.createElement("div"); // Add element properties
87
-
88
- this.colorPicker.classList.add(this._CSS.colorPicker);
89
- this.config.themeColors.forEach(function (color) {
90
- // create element
91
- var colorBox = document.createElement("button"); // add properties
92
-
93
- colorBox.style.backgroundColor = color;
94
- colorBox.classList.add(_this._CSS.colorBox);
95
- colorBox.addEventListener("click", function () {
96
- if (_this.color === color) {
97
- // reset the color
98
- _this.color = "unset";
99
- } else {
100
- // set color
101
- _this.color = color;
102
- }
103
-
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
116
-
117
-
118
- colorBox.classList.add(_this._CSS.colorBoxActive);
119
- });
120
-
121
- if (!_this.colorPicker) {
122
- return;
123
- } // save element
124
-
125
-
126
- _this.colorPicker.appendChild(colorBox);
127
- }); // Return element
128
-
129
- return this.colorPicker;
130
- }
131
- /**
132
- * Finally, when button is pressed Editor calls
133
- * surround method of the tool with Range object as an argument.
134
- */
135
-
136
- }, {
137
- key: "surround",
138
- value: function surround(range) {
139
- if (this.state) {
140
- this.unwrap(range);
141
- return;
142
- }
143
-
144
- this.wrap(range);
145
- }
146
- }, {
147
- key: "wrap",
148
- value: function wrap(range) {
149
- var selectedText = range.extractContents();
150
- var mark = document.createElement(this.tag);
151
- mark.classList.add(this.class);
152
- mark.appendChild(selectedText);
153
- range.insertNode(mark);
154
- this.api.selection.expandToTag(mark);
155
- }
156
- }, {
157
- key: "unwrap",
158
- value: function unwrap(range) {
159
- var mark = this.api.selection.findParentTag(this.tag, this.class);
160
- var text = range.extractContents();
161
-
162
- if (mark) {
163
- mark.remove();
27
+ /**
28
+ * Sanitize method returns rules to let Editor know which HTML tags it should respect.
29
+ * @returns {object} sanitizer configuration.
30
+ * https://editorjs.io/sanitizer
31
+ */
32
+ static get sanitize() {
33
+ // Block Tools are not connected with Inline ones,
34
+ // so markup added by Inline Tool will be removed on pasting or on saving.
35
+ // We need this config so that `class` & `style` attributes will remain intact for "span".
36
+ return {
37
+ /**
38
+ * TODO: figure out the element type
39
+ */
40
+ span: el => {
41
+ // Respect `class` and `style` attributes if this condition is meet.
42
+ if (el.classList.contains(COLOR_TOOL_CLASS)) {
43
+ return {
44
+ class: COLOR_TOOL_CLASS,
45
+ style: el.style
46
+ };
47
+ }
48
+ return {};
164
49
  }
165
-
166
- range.insertNode(text);
50
+ };
51
+ }
52
+ get state() {
53
+ return this._state;
54
+ }
55
+ set state(state) {
56
+ this._state = state;
57
+ if (!this.button) {
58
+ return;
167
59
  }
168
- }, {
169
- key: "showActions",
170
- value: function showActions(mark) {
171
- var _this2 = this;
60
+ this.button.classList.toggle(this.api.styles.inlineToolButtonActive, state);
61
+ }
62
+ /**
63
+ * Render method must return HTML element of the button for Inline Toolbar.
64
+ */
65
+ render() {
66
+ this.button = document.createElement("button");
67
+ this.button.type = "button";
68
+ this.button.innerHTML = '<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>';
69
+ this.button.classList.add(this.api.styles.inlineToolButton);
70
+ return this.button;
71
+ }
172
72
 
73
+ /**
74
+ * Input for the link
75
+ */
76
+ renderActions() {
77
+ // Create action element
78
+ this.colorPicker = document.createElement("div");
79
+ // Add element properties
80
+ this.colorPicker.classList.add(this._CSS.colorPicker);
81
+ this.config.themeColors.forEach(color => {
82
+ // create element
83
+ const colorBox = document.createElement("button");
84
+ // add properties
85
+ colorBox.style.backgroundColor = color;
86
+ colorBox.classList.add(this._CSS.colorBox);
87
+ colorBox.addEventListener("click", () => {
88
+ if (this.color === color) {
89
+ // reset the color
90
+ this.color = "unset";
91
+ } else {
92
+ // set color
93
+ this.color = color;
94
+ }
95
+ if (this.colorPicker) {
96
+ /**
97
+ * TODO @ts-refactor
98
+ * TS Complains there is no classList on child node.
99
+ */
100
+ this.colorPicker.childNodes.forEach(node => {
101
+ if (node.classList.contains(this._CSS.colorBoxActive)) {
102
+ // remove active class
103
+ node.classList.remove(this._CSS.colorBoxActive);
104
+ }
105
+ });
106
+ }
107
+ // add active class
108
+ colorBox.classList.add(this._CSS.colorBoxActive);
109
+ });
173
110
  if (!this.colorPicker) {
174
111
  return;
175
112
  }
113
+ // save element
114
+ this.colorPicker.appendChild(colorBox);
115
+ });
176
116
 
177
- this.colorPicker.onclick = function () {
178
- mark.style.color = _this2.color;
179
- };
117
+ // Return element
118
+ return this.colorPicker;
119
+ }
180
120
 
181
- this.colorPicker.hidden = false;
121
+ /**
122
+ * Finally, when button is pressed Editor calls
123
+ * surround method of the tool with Range object as an argument.
124
+ */
125
+ surround(range) {
126
+ if (this.state) {
127
+ this.unwrap(range);
128
+ return;
182
129
  }
183
- }, {
184
- key: "hideActions",
185
- value: function hideActions() {
186
- if (!this.colorPicker) {
187
- return;
188
- }
189
-
190
- this.colorPicker.onchange = null;
191
- this.colorPicker.hidden = true;
130
+ this.wrap(range);
131
+ }
132
+ wrap(range) {
133
+ const selectedText = range.extractContents();
134
+ const mark = document.createElement(this.tag);
135
+ mark.classList.add(this.class);
136
+ mark.appendChild(selectedText);
137
+ range.insertNode(mark);
138
+ this.api.selection.expandToTag(mark);
139
+ }
140
+ unwrap(range) {
141
+ const mark = this.api.selection.findParentTag(this.tag, this.class);
142
+ const text = range.extractContents();
143
+ if (mark) {
144
+ mark.remove();
192
145
  }
193
- /**
194
- * CheckState method of each Inline Tool is called by Editor with current `Selection`
195
- * when user selects some text
196
- */
197
-
198
- }, {
199
- key: "checkState",
200
- value: function checkState() {
201
- var mark = this.api.selection.findParentTag(this.tag);
202
- this.state = !!mark;
203
-
204
- if (!!mark) {
205
- this.showActions(mark);
206
- } else {
207
- this.hideActions();
208
- }
146
+ range.insertNode(text);
147
+ }
148
+ showActions(mark) {
149
+ if (!this.colorPicker) {
150
+ return;
209
151
  }
210
- }, {
211
- key: "convertToHex",
212
- value: function convertToHex(color) {
213
- var rgb = color.match(/(\d+)/g);
214
-
215
- if (!rgb) {
216
- return "";
217
- }
218
-
219
- var hexR = parseInt(rgb[0]).toString(16);
220
- var hexG = parseInt(rgb[1]).toString(16);
221
- var hexB = parseInt(rgb[2]).toString(16);
222
- hexR = hexR.length === 1 ? "0" + hexR : hexR;
223
- hexG = hexG.length === 1 ? "0" + hexG : hexG;
224
- hexB = hexB.length === 1 ? "0" + hexB : hexB;
225
- return "#" + hexR + hexG + hexB;
152
+ this.colorPicker.onclick = () => {
153
+ mark.style.color = this.color;
154
+ };
155
+ this.colorPicker.hidden = false;
156
+ }
157
+ hideActions() {
158
+ if (!this.colorPicker) {
159
+ return;
226
160
  }
227
- }, {
228
- key: "clear",
229
- value: function clear() {
161
+ this.colorPicker.onchange = null;
162
+ this.colorPicker.hidden = true;
163
+ }
164
+
165
+ /**
166
+ * CheckState method of each Inline Tool is called by Editor with current `Selection`
167
+ * when user selects some text
168
+ */
169
+ checkState() {
170
+ const mark = this.api.selection.findParentTag(this.tag);
171
+ this.state = !!mark;
172
+ if (!!mark) {
173
+ this.showActions(mark);
174
+ } else {
230
175
  this.hideActions();
231
176
  }
232
- }], [{
233
- key: "isInline",
234
- get: function get() {
235
- return true;
236
- }
237
- /**
238
- * Sanitize method returns rules to let Editor know which HTML tags it should respect.
239
- * @returns {object} sanitizer configuration.
240
- * https://editorjs.io/sanitizer
241
- */
242
-
243
- }, {
244
- key: "sanitize",
245
- get: function get() {
246
- // Block Tools are not connected with Inline ones,
247
- // so markup added by Inline Tool will be removed on pasting or on saving.
248
- // We need this config so that `class` & `style` attributes will remain intact for "span".
249
- return {
250
- /**
251
- * TODO: figure out the element type
252
- */
253
- span: function span(el) {
254
- // Respect `class` and `style` attributes if this condition is meet.
255
- if (el.classList.contains(COLOR_TOOL_CLASS)) {
256
- return {
257
- class: COLOR_TOOL_CLASS,
258
- style: el.style
259
- };
260
- }
261
-
262
- return {};
263
- }
264
- };
177
+ }
178
+ convertToHex(color) {
179
+ const rgb = color.match(/(\d+)/g);
180
+ if (!rgb) {
181
+ return "";
265
182
  }
266
- }]);
267
- return TextColorTool;
268
- }();
183
+ let hexR = parseInt(rgb[0]).toString(16);
184
+ let hexG = parseInt(rgb[1]).toString(16);
185
+ let hexB = parseInt(rgb[2]).toString(16);
186
+ hexR = hexR.length === 1 ? "0" + hexR : hexR;
187
+ hexG = hexG.length === 1 ? "0" + hexG : hexG;
188
+ hexB = hexB.length === 1 ? "0" + hexB : hexB;
189
+ return "#" + hexR + hexG + hexB;
190
+ }
191
+ clear() {
192
+ this.hideActions();
193
+ }
194
+ }
195
+ export default TextColorTool;
269
196
 
270
- var _default = TextColorTool;
271
- exports.default = _default;
197
+ //# sourceMappingURL=index.js.map
@@ -1 +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":";;;;;;;;;;;;;;;AAEA,IAAMA,gBAAgB,GAAG,gBAAzB;;IAmBMC,a;EAWF,6BAAkD;IAAA,IAApCC,GAAoC,QAApCA,GAAoC;IAAA,IAA/BC,MAA+B,QAA/BA,MAA+B;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAC9C,KAAKD,GAAL,GAAWA,GAAX;IACA,KAAKE,MAAL,GAAc,IAAd;IACA,KAAKC,WAAL,GAAmB,IAAnB;IACA,KAAKC,MAAL,GAAc,KAAd;IACA,KAAKC,GAAL,GAAW,MAAX;IACA,KAAKC,KAAL,GAAa,KAAb;IACA,KAAKC,KAAL,GAAaT,gBAAb;IACA,KAAKG,MAAL,GAAcA,MAAM,IAAI;MAAEO,WAAW,EAAE,CAAC,SAAD;IAAf,CAAxB;IACA,KAAKC,IAAL,GAAY;MACRN,WAAW,EAAE,oBADL;MAERO,QAAQ,EAAE,+BAFF;MAGRC,cAAc,EAAE;IAHR,CAAZ;EAKH;;;;SAgCD,eAAqB;MACjB,OAAO,KAAKP,MAAZ;IACH,C;SAED,aAAUQ,KAAV,EAAiB;MACb,KAAKR,MAAL,GAAcQ,KAAd;;MACA,IAAI,CAAC,KAAKV,MAAV,EAAkB;QACd;MACH;;MACD,KAAKA,MAAL,CAAYW,SAAZ,CAAsBC,MAAtB,CAA6B,KAAKd,GAAL,CAASe,MAAT,CAAgBC,sBAA7C,EAAqEJ,KAArE;IACH;IACD;AACJ;AACA;;;;WACI,kBAAmC;MAC/B,KAAKV,MAAL,GAAce,QAAQ,CAACC,aAAT,CAAuB,QAAvB,CAAd;MACA,KAAKhB,MAAL,CAAYiB,IAAZ,GAAmB,QAAnB;MACA,KAAKjB,MAAL,CAAYkB,SAAZ,GACI,oUADJ;MAEA,KAAKlB,MAAL,CAAYW,SAAZ,CAAsBQ,GAAtB,CAA0B,KAAKrB,GAAL,CAASe,MAAT,CAAgBO,gBAA1C;MAEA,OAAO,KAAKpB,MAAZ;IACH;IAED;AACJ;AACA;;;;WACI,yBAAoC;MAAA;;MAChC;MACA,KAAKC,WAAL,GAAmBc,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAnB,CAFgC,CAGhC;;MACA,KAAKf,WAAL,CAAiBU,SAAjB,CAA2BQ,GAA3B,CAA+B,KAAKZ,IAAL,CAAUN,WAAzC;MAEA,KAAKF,MAAL,CAAYO,WAAZ,CAAwBe,OAAxB,CAAgC,UAAAjB,KAAK,EAAI;QACrC;QACA,IAAMI,QAAQ,GAAGO,QAAQ,CAACC,aAAT,CAAuB,QAAvB,CAAjB,CAFqC,CAGrC;;QACAR,QAAQ,CAACc,KAAT,CAAeC,eAAf,GAAiCnB,KAAjC;QACAI,QAAQ,CAACG,SAAT,CAAmBQ,GAAnB,CAAuB,KAAI,CAACZ,IAAL,CAAUC,QAAjC;QAEAA,QAAQ,CAACgB,gBAAT,CAA0B,OAA1B,EAAmC,YAAM;UACrC,IAAI,KAAI,CAACpB,KAAL,KAAeA,KAAnB,EAA0B;YACtB;YACA,KAAI,CAACA,KAAL,GAAa,OAAb;UACH,CAHD,MAGO;YACH;YACA,KAAI,CAACA,KAAL,GAAaA,KAAb;UACH;;UAED,IAAI,KAAI,CAACH,WAAT,EAAsB;YAClB;AACpB;AACA;AACA;YACoB,KAAI,CAACA,WAAL,CAAiBwB,UAAjB,CAA4BJ,OAA5B,CAAoC,UAACK,IAAD,EAAe;cAC/C,IAAIA,IAAI,CAACf,SAAL,CAAegB,QAAf,CAAwB,KAAI,CAACpB,IAAL,CAAUE,cAAlC,CAAJ,EAAuD;gBACnD;gBACAiB,IAAI,CAACf,SAAL,CAAeiB,MAAf,CAAsB,KAAI,CAACrB,IAAL,CAAUE,cAAhC;cACH;YACJ,CALD;UAMH,CApBoC,CAqBrC;;;UACAD,QAAQ,CAACG,SAAT,CAAmBQ,GAAnB,CAAuB,KAAI,CAACZ,IAAL,CAAUE,cAAjC;QACH,CAvBD;;QAwBA,IAAI,CAAC,KAAI,CAACR,WAAV,EAAuB;UACnB;QACH,CAjCoC,CAkCrC;;;QACA,KAAI,CAACA,WAAL,CAAiB4B,WAAjB,CAA6BrB,QAA7B;MACH,CApCD,EANgC,CA4ChC;;MACA,OAAO,KAAKP,WAAZ;IACH;IAED;AACJ;AACA;AACA;;;;WACI,kBAAgB6B,KAAhB,EAAoC;MAChC,IAAI,KAAKpB,KAAT,EAAgB;QACZ,KAAKqB,MAAL,CAAYD,KAAZ;QACA;MACH;;MAED,KAAKE,IAAL,CAAUF,KAAV;IACH;;;WAED,cAAYA,KAAZ,EAAgC;MAC5B,IAAMG,YAAY,GAAGH,KAAK,CAACI,eAAN,EAArB;MACA,IAAMC,IAAI,GAAGpB,QAAQ,CAACC,aAAT,CAAuB,KAAKb,GAA5B,CAAb;MAEAgC,IAAI,CAACxB,SAAL,CAAeQ,GAAf,CAAmB,KAAKd,KAAxB;MAEA8B,IAAI,CAACN,WAAL,CAAiBI,YAAjB;MACAH,KAAK,CAACM,UAAN,CAAiBD,IAAjB;MAEA,KAAKrC,GAAL,CAASuC,SAAT,CAAmBC,WAAnB,CAA+BH,IAA/B;IACH;;;WAED,gBAAcL,KAAd,EAAkC;MAC9B,IAAMK,IAAI,GAAG,KAAKrC,GAAL,CAASuC,SAAT,CAAmBE,aAAnB,CAAiC,KAAKpC,GAAtC,EAA2C,KAAKE,KAAhD,CAAb;MACA,IAAMmC,IAAI,GAAGV,KAAK,CAACI,eAAN,EAAb;;MAEA,IAAIC,IAAJ,EAAU;QACNA,IAAI,CAACP,MAAL;MACH;;MAEDE,KAAK,CAACM,UAAN,CAAiBI,IAAjB;IACH;;;WAED,qBAAmBL,IAAnB,EAA4C;MAAA;;MACxC,IAAI,CAAC,KAAKlC,WAAV,EAAuB;QACnB;MACH;;MACD,KAAKA,WAAL,CAAiBwC,OAAjB,GAA2B,YAAM;QAC7BN,IAAI,CAACb,KAAL,CAAWlB,KAAX,GAAmB,MAAI,CAACA,KAAxB;MACH,CAFD;;MAGA,KAAKH,WAAL,CAAiByC,MAAjB,GAA0B,KAA1B;IACH;;;WAED,uBAA2B;MACvB,IAAI,CAAC,KAAKzC,WAAV,EAAuB;QACnB;MACH;;MACD,KAAKA,WAAL,CAAiB0C,QAAjB,GAA4B,IAA5B;MACA,KAAK1C,WAAL,CAAiByC,MAAjB,GAA0B,IAA1B;IACH;IAED;AACJ;AACA;AACA;;;;WACI,sBAA0B;MACtB,IAAMP,IAAI,GAAG,KAAKrC,GAAL,CAASuC,SAAT,CAAmBE,aAAnB,CAAiC,KAAKpC,GAAtC,CAAb;MAEA,KAAKO,KAAL,GAAa,CAAC,CAACyB,IAAf;;MAEA,IAAI,CAAC,CAACA,IAAN,EAAY;QACR,KAAKS,WAAL,CAAiBT,IAAjB;MACH,CAFD,MAEO;QACH,KAAKU,WAAL;MACH;IACJ;;;WAED,sBAAoBzC,KAApB,EAA2C;MACvC,IAAM0C,GAAG,GAAG1C,KAAK,CAAC2C,KAAN,CAAY,QAAZ,CAAZ;;MACA,IAAI,CAACD,GAAL,EAAU;QACN,OAAO,EAAP;MACH;;MAED,IAAIE,IAAI,GAAGC,QAAQ,CAACH,GAAG,CAAC,CAAD,CAAJ,CAAR,CAAiBI,QAAjB,CAA0B,EAA1B,CAAX;MACA,IAAIC,IAAI,GAAGF,QAAQ,CAACH,GAAG,CAAC,CAAD,CAAJ,CAAR,CAAiBI,QAAjB,CAA0B,EAA1B,CAAX;MACA,IAAIE,IAAI,GAAGH,QAAQ,CAACH,GAAG,CAAC,CAAD,CAAJ,CAAR,CAAiBI,QAAjB,CAA0B,EAA1B,CAAX;MAEAF,IAAI,GAAGA,IAAI,CAACK,MAAL,KAAgB,CAAhB,GAAoB,MAAML,IAA1B,GAAiCA,IAAxC;MACAG,IAAI,GAAGA,IAAI,CAACE,MAAL,KAAgB,CAAhB,GAAoB,MAAMF,IAA1B,GAAiCA,IAAxC;MACAC,IAAI,GAAGA,IAAI,CAACC,MAAL,KAAgB,CAAhB,GAAoB,MAAMD,IAA1B,GAAiCA,IAAxC;MAEA,OAAO,MAAMJ,IAAN,GAAaG,IAAb,GAAoBC,IAA3B;IACH;;;WAED,iBAAqB;MACjB,KAAKP,WAAL;IACH;;;SAlMD,eAA+B;MAC3B,OAAO,IAAP;IACH;IAED;AACJ;AACA;AACA;AACA;;;;SACI,eAAsC;MAClC;MACA;MACA;MACA,OAAO;QACH;AACZ;AACA;QACYS,IAAI,EAAE,cAACC,EAAD,EAAqB;UACvB;UACA,IAAIA,EAAE,CAAC5C,SAAH,CAAagB,QAAb,CAAsB/B,gBAAtB,CAAJ,EAA6C;YACzC,OAAO;cACHS,KAAK,EAAET,gBADJ;cAEH0B,KAAK,EAAEiC,EAAE,CAACjC;YAFP,CAAP;UAIH;;UACD,OAAO,EAAP;QACH;MAbE,CAAP;IAeH;;;;;eAyKUzB,a"}
1
+ {"version":3,"names":["COLOR_TOOL_CLASS","TextColorTool","constructor","api","config","button","colorPicker","_state","tag","color","class","themeColors","_CSS","colorBox","colorBoxActive","isInline","sanitize","span","el","classList","contains","style","state","toggle","styles","inlineToolButtonActive","render","document","createElement","type","innerHTML","add","inlineToolButton","renderActions","forEach","backgroundColor","addEventListener","childNodes","node","remove","appendChild","surround","range","unwrap","wrap","selectedText","extractContents","mark","insertNode","selection","expandToTag","findParentTag","text","showActions","onclick","hidden","hideActions","onchange","checkState","convertToHex","rgb","match","hexR","parseInt","toString","hexG","hexB","length","clear"],"sources":["index.ts"],"sourcesContent":["import type { 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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","ignoreList":[]}
@@ -3,7 +3,7 @@ export declare enum TextAlign {
3
3
  END = "end",
4
4
  CENTER = "center"
5
5
  }
6
- export declare type Alignment = {
6
+ export type Alignment = {
7
7
  name: TextAlign;
8
8
  svg: string;
9
9
  };