@plone/volto 18.0.0-alpha.3 → 18.0.0-alpha.5

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 (349) hide show
  1. package/.eslintignore +1 -0
  2. package/.eslintrc +3 -3
  3. package/.prettierignore +8 -0
  4. package/.prettierrc +12 -0
  5. package/{packages/registry/.release-it.json → .release-it.json} +12 -6
  6. package/CHANGELOG.md +50 -4
  7. package/package.json +60 -127
  8. package/razzle.config.js +4 -7
  9. package/src/components/manage/Add/Add.jsx +6 -0
  10. package/src/components/manage/BlockChooser/BlockChooser.jsx +3 -1
  11. package/src/components/manage/BlockChooser/BlockChooserButton.jsx +5 -0
  12. package/src/components/manage/Blocks/Block/BlocksForm.jsx +4 -0
  13. package/src/components/manage/Blocks/Block/DefaultEdit.jsx +3 -1
  14. package/src/components/manage/Blocks/Block/EditBlockWrapper.jsx +5 -0
  15. package/src/components/manage/Blocks/Block/Settings.jsx +10 -1
  16. package/src/components/manage/Blocks/Container/Data.jsx +4 -1
  17. package/src/components/manage/Blocks/HeroImageLeft/Data.jsx +3 -1
  18. package/src/components/manage/Blocks/Image/ImageSidebar.jsx +4 -1
  19. package/src/components/manage/Blocks/Listing/ListingData.jsx +4 -1
  20. package/src/components/manage/Blocks/Maps/MapsSidebar.jsx +3 -1
  21. package/src/components/manage/Blocks/Search/SearchBlockEdit.jsx +4 -0
  22. package/src/components/manage/Blocks/Teaser/Data.jsx +4 -1
  23. package/src/components/manage/Blocks/ToC/Edit.jsx +2 -0
  24. package/src/components/manage/Blocks/Video/VideoSidebar.jsx +3 -1
  25. package/src/components/manage/Controlpanels/Users/UserGroupMembershipControlPanel.jsx +2 -2
  26. package/src/components/manage/Edit/Edit.jsx +1 -0
  27. package/src/components/manage/Form/Form.jsx +14 -3
  28. package/src/components/theme/Image/Image.jsx +4 -2
  29. package/src/components/theme/Image/Image.test.jsx +32 -0
  30. package/src/config/index.js +0 -4
  31. package/src/helpers/Blocks/Blocks.js +11 -2
  32. package/src/helpers/Extensions/withBlockSchemaEnhancer.js +20 -9
  33. package/src/helpers/Url/Url.js +5 -4
  34. package/src/helpers/Url/Url.test.js +52 -0
  35. package/src/icons/divide-horizontal.svg +0 -0
  36. package/src/icons/divide-vertical.svg +0 -0
  37. package/src/icons/hero.svg +0 -0
  38. package/src/icons/slider.svg +0 -0
  39. package/src/icons/summary.svg +0 -0
  40. package/src/middleware/api.js +1 -1
  41. package/theme/themes/default/elements/icon.overrides +0 -0
  42. package/theme/themes/default/globals/reset.overrides +0 -0
  43. package/theme/themes/default/globals/site.variables +0 -0
  44. package/theme/themes/default/modules/dropdown.overrides +0 -0
  45. package/theme/themes/default/modules/dropdown.variables +0 -0
  46. package/theme/themes/default/modules/modal.variables +0 -0
  47. package/theme/themes/default/modules/video.overrides +0 -0
  48. package/theme/themes/default/modules/video.variables +0 -0
  49. package/theme/themes/pastanaga/assets/fonts/icons.eot +0 -0
  50. package/theme/themes/pastanaga/assets/fonts/icons.svg +0 -0
  51. package/theme/themes/pastanaga/assets/fonts/icons.ttf +0 -0
  52. package/theme/themes/pastanaga/assets/fonts/icons.woff +0 -0
  53. package/theme/themes/pastanaga/globals/reset.overrides +0 -0
  54. package/theme/themes/pastanaga/globals/site.variables +0 -0
  55. package/theme/themes/pastanaga/modules/dropdown.variables +0 -0
  56. package/theme/themes/pastanaga/modules/modal.variables +0 -0
  57. package/theme/themes/pastanaga/modules/video.overrides +0 -0
  58. package/theme/themes/pastanaga/modules/video.variables +0 -0
  59. package/tsconfig.json +1 -4
  60. package/types/config/RichTextEditor/index.d.ts +5 -8
  61. package/types/helpers/AsyncConnect/index.d.ts +2 -2
  62. package/types/helpers/Extensions/withBlockSchemaEnhancer.d.ts +3 -1
  63. package/types/helpers/Url/Url.d.ts +3 -3
  64. package/types/icons/load-icons.d.ts +1 -1
  65. package/webpack-plugins/webpack-less-plugin.js +1 -0
  66. package/CODE_OF_CONDUCT.md +0 -13
  67. package/CONTRIBUTING.md +0 -7
  68. package/README.md +0 -154
  69. package/RELEASING.md +0 -73
  70. package/ROADMAP.md +0 -30
  71. package/SECURITY.md +0 -14
  72. package/apps/plone/node_modules/.bin/acorn +0 -17
  73. package/apps/plone/node_modules/.bin/addon +0 -17
  74. package/apps/plone/node_modules/.bin/autoprefixer +0 -17
  75. package/apps/plone/node_modules/.bin/browserslist +0 -17
  76. package/apps/plone/node_modules/.bin/build-storybook +0 -17
  77. package/apps/plone/node_modules/.bin/changelogupdater +0 -17
  78. package/apps/plone/node_modules/.bin/eslint +0 -17
  79. package/apps/plone/node_modules/.bin/eslint-config-prettier +0 -17
  80. package/apps/plone/node_modules/.bin/i18n +0 -17
  81. package/apps/plone/node_modules/.bin/jest +0 -17
  82. package/apps/plone/node_modules/.bin/lessc +0 -17
  83. package/apps/plone/node_modules/.bin/missdev +0 -17
  84. package/apps/plone/node_modules/.bin/prettier +0 -17
  85. package/apps/plone/node_modules/.bin/razzle +0 -17
  86. package/apps/plone/node_modules/.bin/server-test +0 -17
  87. package/apps/plone/node_modules/.bin/start-server-and-test +0 -17
  88. package/apps/plone/node_modules/.bin/start-storybook +0 -17
  89. package/apps/plone/node_modules/.bin/start-test +0 -17
  90. package/apps/plone/node_modules/.bin/storybook-server +0 -17
  91. package/apps/plone/node_modules/.bin/stylelint +0 -17
  92. package/apps/plone/node_modules/.bin/tlds +0 -17
  93. package/apps/plone/node_modules/.bin/ts-jest +0 -17
  94. package/apps/plone/node_modules/.bin/tsc +0 -17
  95. package/apps/plone/node_modules/.bin/tsserver +0 -17
  96. package/apps/plone/node_modules/.bin/uuid +0 -17
  97. package/apps/plone/node_modules/.bin/webpack +0 -17
  98. package/apps/plone/node_modules/.bin/webpack-dev-server +0 -17
  99. package/apps/plone/src/addons/volto-volto-project/node_modules/.bin/acorn +0 -17
  100. package/apps/plone/src/addons/volto-volto-project/node_modules/.bin/addon +0 -17
  101. package/apps/plone/src/addons/volto-volto-project/node_modules/.bin/browserslist +0 -17
  102. package/apps/plone/src/addons/volto-volto-project/node_modules/.bin/changelogupdater +0 -17
  103. package/apps/plone/src/addons/volto-volto-project/node_modules/.bin/eslint +0 -17
  104. package/apps/plone/src/addons/volto-volto-project/node_modules/.bin/eslint-config-prettier +0 -17
  105. package/apps/plone/src/addons/volto-volto-project/node_modules/.bin/i18n +0 -17
  106. package/apps/plone/src/addons/volto-volto-project/node_modules/.bin/prettier +0 -17
  107. package/apps/plone/src/addons/volto-volto-project/node_modules/.bin/release-it +0 -17
  108. package/apps/plone/src/addons/volto-volto-project/node_modules/.bin/stylelint +0 -17
  109. package/apps/plone/src/addons/volto-volto-project/node_modules/.bin/tsc +0 -17
  110. package/apps/plone/src/addons/volto-volto-project/node_modules/.bin/tsserver +0 -17
  111. package/logos/Logo.png +0 -0
  112. package/logos/VoltoLogoEra2-dark-mode.png +0 -0
  113. package/logos/VoltoLogoEra2.png +0 -0
  114. package/logos/volto-colorful.png +0 -0
  115. package/logos/volto-colorful.svg +0 -35
  116. package/logos/volto-guide.png +0 -0
  117. package/logos/volto-h-transparent.svg +0 -6
  118. package/logos/volto-transparent.png +0 -0
  119. package/logos/volto-transparent.svg +0 -19
  120. package/logos/volto-transparent2.svg +0 -5
  121. package/logos/volto-yellow.svg +0 -29
  122. package/logos/volto.sketch +0 -0
  123. package/packages/README.md +0 -7
  124. package/packages/registry/.towncrier/towncrier_template.jinja +0 -10
  125. package/packages/registry/CHANGELOG.md +0 -16
  126. package/packages/registry/README.md +0 -207
  127. package/packages/registry/addon-registry.js +0 -603
  128. package/packages/registry/create-addons-loader.js +0 -116
  129. package/packages/registry/create-theme-addons-loader.js +0 -78
  130. package/packages/registry/news/.gitkeep +0 -0
  131. package/packages/registry/node_modules/.bin/browserslist +0 -17
  132. package/packages/registry/node_modules/.bin/parcel +0 -17
  133. package/packages/registry/node_modules/.bin/release-it +0 -17
  134. package/packages/registry/node_modules/.bin/tsc +0 -17
  135. package/packages/registry/node_modules/.bin/tsserver +0 -17
  136. package/packages/registry/node_modules/.bin/vitest +0 -17
  137. package/packages/registry/package.json +0 -76
  138. package/packages/registry/src/index.ts +0 -174
  139. package/packages/registry/src/registry.test.js +0 -111
  140. package/packages/registry/tsconfig.json +0 -32
  141. package/packages/scripts/CHANGELOG.md +0 -173
  142. package/packages/scripts/README.md +0 -128
  143. package/packages/scripts/addon/consolidate.js +0 -28
  144. package/packages/scripts/addon/generators.js +0 -213
  145. package/packages/scripts/addon/getAddonInfo.js +0 -65
  146. package/packages/scripts/addon/index.js +0 -88
  147. package/packages/scripts/addon/utils.js +0 -44
  148. package/packages/scripts/backportpr.js +0 -75
  149. package/packages/scripts/changelogupdater.cjs +0 -94
  150. package/packages/scripts/corepackagebump.js +0 -20
  151. package/packages/scripts/i18n.cjs +0 -310
  152. package/packages/scripts/package.json +0 -76
  153. package/packages/scripts/templates/towncrier_template.jinja +0 -10
  154. package/packages/types/Blocks/View.ts +0 -11
  155. package/packages/types/actions.ts +0 -15
  156. package/packages/types/breadcrumbs.ts +0 -10
  157. package/packages/types/config/Blocks.ts +0 -153
  158. package/packages/types/config/Content.ts +0 -62
  159. package/packages/types/config/Settings.ts +0 -86
  160. package/packages/types/config/Views.ts +0 -15
  161. package/packages/types/config/Widgets.ts +0 -7
  162. package/packages/types/config/index.ts +0 -21
  163. package/packages/types/content/common.ts +0 -60
  164. package/packages/types/content/get.ts +0 -66
  165. package/packages/types/index.ts +0 -0
  166. package/packages/types/navigation.ts +0 -12
  167. package/packages/types/node_modules/.bin/browserslist +0 -17
  168. package/packages/types/node_modules/.bin/parcel +0 -17
  169. package/packages/types/node_modules/.bin/release-it +0 -17
  170. package/packages/types/node_modules/.bin/tsc +0 -17
  171. package/packages/types/node_modules/.bin/tsserver +0 -17
  172. package/packages/types/package.json +0 -64
  173. package/packages/types/types.ts +0 -61
  174. package/packages/volto-slate/.i18n.babel.config.js +0 -1
  175. package/packages/volto-slate/README.md +0 -4
  176. package/packages/volto-slate/build/messages/src/blocks/Table/TableBlockEdit.json +0 -90
  177. package/packages/volto-slate/build/messages/src/blocks/Text/DefaultTextBlockEditor.json +0 -6
  178. package/packages/volto-slate/build/messages/src/blocks/Text/DetachedTextBlockEditor.json +0 -6
  179. package/packages/volto-slate/build/messages/src/blocks/Text/SlashMenu.json +0 -6
  180. package/packages/volto-slate/build/messages/src/editor/plugins/AdvancedLink/index.json +0 -10
  181. package/packages/volto-slate/build/messages/src/editor/plugins/Link/index.json +0 -10
  182. package/packages/volto-slate/build/messages/src/editor/plugins/Table/index.json +0 -30
  183. package/packages/volto-slate/build/messages/src/elementEditor/messages.json +0 -10
  184. package/packages/volto-slate/build/messages/src/widgets/HtmlSlateWidget.json +0 -6
  185. package/packages/volto-slate/build/messages/src/widgets/RichTextWidgetView.json +0 -6
  186. package/packages/volto-slate/locales/de/LC_MESSAGES/volto.po +0 -148
  187. package/packages/volto-slate/locales/en/LC_MESSAGES/volto.po +0 -148
  188. package/packages/volto-slate/locales/volto.pot +0 -182
  189. package/packages/volto-slate/package.json +0 -43
  190. package/packages/volto-slate/src/actions/content.js +0 -30
  191. package/packages/volto-slate/src/actions/index.js +0 -3
  192. package/packages/volto-slate/src/actions/plugins.js +0 -9
  193. package/packages/volto-slate/src/actions/selection.js +0 -22
  194. package/packages/volto-slate/src/blocks/Table/Cell.jsx +0 -87
  195. package/packages/volto-slate/src/blocks/Table/Cell.test.js +0 -54
  196. package/packages/volto-slate/src/blocks/Table/TableBlockEdit.jsx +0 -694
  197. package/packages/volto-slate/src/blocks/Table/TableBlockEdit.test.js +0 -40
  198. package/packages/volto-slate/src/blocks/Table/TableBlockView.jsx +0 -150
  199. package/packages/volto-slate/src/blocks/Table/TableBlockView.test.js +0 -49
  200. package/packages/volto-slate/src/blocks/Table/deconstruct.js +0 -113
  201. package/packages/volto-slate/src/blocks/Table/extensions/normalizeTable.js +0 -5
  202. package/packages/volto-slate/src/blocks/Table/index.js +0 -60
  203. package/packages/volto-slate/src/blocks/Table/schema.js +0 -122
  204. package/packages/volto-slate/src/blocks/Text/DefaultTextBlockEditor.jsx +0 -304
  205. package/packages/volto-slate/src/blocks/Text/DetachedTextBlockEditor.jsx +0 -77
  206. package/packages/volto-slate/src/blocks/Text/MarkdownIntroduction.jsx +0 -59
  207. package/packages/volto-slate/src/blocks/Text/PluginSidebar.jsx +0 -18
  208. package/packages/volto-slate/src/blocks/Text/ShortcutListing.jsx +0 -28
  209. package/packages/volto-slate/src/blocks/Text/SlashMenu.jsx +0 -203
  210. package/packages/volto-slate/src/blocks/Text/TextBlockEdit.jsx +0 -38
  211. package/packages/volto-slate/src/blocks/Text/TextBlockEdit.test.js +0 -107
  212. package/packages/volto-slate/src/blocks/Text/TextBlockSchema.js +0 -54
  213. package/packages/volto-slate/src/blocks/Text/TextBlockView.jsx +0 -31
  214. package/packages/volto-slate/src/blocks/Text/css/editor.css +0 -18
  215. package/packages/volto-slate/src/blocks/Text/extensions/Readme.md +0 -49
  216. package/packages/volto-slate/src/blocks/Text/extensions/breakList.js +0 -100
  217. package/packages/volto-slate/src/blocks/Text/extensions/index.js +0 -6
  218. package/packages/volto-slate/src/blocks/Text/extensions/insertBreak.js +0 -57
  219. package/packages/volto-slate/src/blocks/Text/extensions/isSelected.js +0 -7
  220. package/packages/volto-slate/src/blocks/Text/extensions/normalizeExternalData.js +0 -7
  221. package/packages/volto-slate/src/blocks/Text/extensions/withDeserializers.js +0 -87
  222. package/packages/volto-slate/src/blocks/Text/extensions/withLists.js +0 -5
  223. package/packages/volto-slate/src/blocks/Text/index.js +0 -171
  224. package/packages/volto-slate/src/blocks/Text/keyboard/backspaceInList.js +0 -58
  225. package/packages/volto-slate/src/blocks/Text/keyboard/breakBlocks.js +0 -3
  226. package/packages/volto-slate/src/blocks/Text/keyboard/cancelEsc.js +0 -7
  227. package/packages/volto-slate/src/blocks/Text/keyboard/indentListItems.js +0 -240
  228. package/packages/volto-slate/src/blocks/Text/keyboard/index.js +0 -52
  229. package/packages/volto-slate/src/blocks/Text/keyboard/joinBlocks.js +0 -180
  230. package/packages/volto-slate/src/blocks/Text/keyboard/moveListItems.js +0 -124
  231. package/packages/volto-slate/src/blocks/Text/keyboard/slashMenu.js +0 -19
  232. package/packages/volto-slate/src/blocks/Text/keyboard/softBreak.js +0 -7
  233. package/packages/volto-slate/src/blocks/Text/keyboard/traverseBlocks.js +0 -81
  234. package/packages/volto-slate/src/blocks/Text/keyboard/unwrapEmptyString.js +0 -26
  235. package/packages/volto-slate/src/blocks/Text/schema.js +0 -39
  236. package/packages/volto-slate/src/constants.js +0 -123
  237. package/packages/volto-slate/src/editor/EditorContext.jsx +0 -5
  238. package/packages/volto-slate/src/editor/EditorReference.jsx +0 -22
  239. package/packages/volto-slate/src/editor/SlateEditor.jsx +0 -375
  240. package/packages/volto-slate/src/editor/config.jsx +0 -344
  241. package/packages/volto-slate/src/editor/decorate.js +0 -68
  242. package/packages/volto-slate/src/editor/deserialize.js +0 -185
  243. package/packages/volto-slate/src/editor/extensions/index.js +0 -6
  244. package/packages/volto-slate/src/editor/extensions/insertBreak.js +0 -15
  245. package/packages/volto-slate/src/editor/extensions/insertData.js +0 -159
  246. package/packages/volto-slate/src/editor/extensions/isInline.js +0 -14
  247. package/packages/volto-slate/src/editor/extensions/normalizeExternalData.js +0 -8
  248. package/packages/volto-slate/src/editor/extensions/normalizeNode.js +0 -48
  249. package/packages/volto-slate/src/editor/extensions/withDeserializers.js +0 -15
  250. package/packages/volto-slate/src/editor/extensions/withTestingFeatures.jsx +0 -84
  251. package/packages/volto-slate/src/editor/index.js +0 -14
  252. package/packages/volto-slate/src/editor/less/editor.less +0 -173
  253. package/packages/volto-slate/src/editor/less/globals.less +0 -18
  254. package/packages/volto-slate/src/editor/less/slate.less +0 -28
  255. package/packages/volto-slate/src/editor/plugins/AdvancedLink/deserialize.js +0 -90
  256. package/packages/volto-slate/src/editor/plugins/AdvancedLink/extensions.js +0 -32
  257. package/packages/volto-slate/src/editor/plugins/AdvancedLink/index.js +0 -50
  258. package/packages/volto-slate/src/editor/plugins/AdvancedLink/render.jsx +0 -37
  259. package/packages/volto-slate/src/editor/plugins/AdvancedLink/schema.js +0 -114
  260. package/packages/volto-slate/src/editor/plugins/AdvancedLink/styles.less +0 -8
  261. package/packages/volto-slate/src/editor/plugins/Blockquote/index.js +0 -30
  262. package/packages/volto-slate/src/editor/plugins/Callout/index.js +0 -34
  263. package/packages/volto-slate/src/editor/plugins/Image/deconstruct.js +0 -30
  264. package/packages/volto-slate/src/editor/plugins/Image/extensions.js +0 -51
  265. package/packages/volto-slate/src/editor/plugins/Image/index.js +0 -11
  266. package/packages/volto-slate/src/editor/plugins/Image/render.jsx +0 -22
  267. package/packages/volto-slate/src/editor/plugins/Link/extensions.js +0 -58
  268. package/packages/volto-slate/src/editor/plugins/Link/index.js +0 -164
  269. package/packages/volto-slate/src/editor/plugins/Link/render.jsx +0 -54
  270. package/packages/volto-slate/src/editor/plugins/Markdown/constants.js +0 -81
  271. package/packages/volto-slate/src/editor/plugins/Markdown/extensions.js +0 -334
  272. package/packages/volto-slate/src/editor/plugins/Markdown/index.js +0 -28
  273. package/packages/volto-slate/src/editor/plugins/Markdown/utils.js +0 -198
  274. package/packages/volto-slate/src/editor/plugins/StyleMenu/StyleMenu.jsx +0 -153
  275. package/packages/volto-slate/src/editor/plugins/StyleMenu/index.js +0 -19
  276. package/packages/volto-slate/src/editor/plugins/StyleMenu/style.less +0 -29
  277. package/packages/volto-slate/src/editor/plugins/StyleMenu/utils.js +0 -168
  278. package/packages/volto-slate/src/editor/plugins/Table/TableButton.jsx +0 -142
  279. package/packages/volto-slate/src/editor/plugins/Table/TableCell.jsx +0 -44
  280. package/packages/volto-slate/src/editor/plugins/Table/TableContainer.jsx +0 -37
  281. package/packages/volto-slate/src/editor/plugins/Table/TableSizePicker.jsx +0 -83
  282. package/packages/volto-slate/src/editor/plugins/Table/extensions.js +0 -87
  283. package/packages/volto-slate/src/editor/plugins/Table/index.js +0 -390
  284. package/packages/volto-slate/src/editor/plugins/Table/less/public.less +0 -29
  285. package/packages/volto-slate/src/editor/plugins/Table/less/table.less +0 -28
  286. package/packages/volto-slate/src/editor/plugins/Table/render.jsx +0 -30
  287. package/packages/volto-slate/src/editor/plugins/index.js +0 -19
  288. package/packages/volto-slate/src/editor/render.jsx +0 -224
  289. package/packages/volto-slate/src/editor/ui/BasicToolbar.jsx +0 -11
  290. package/packages/volto-slate/src/editor/ui/BlockButton.jsx +0 -31
  291. package/packages/volto-slate/src/editor/ui/ClearFormattingButton.jsx +0 -21
  292. package/packages/volto-slate/src/editor/ui/ExpandedToolbar.jsx +0 -18
  293. package/packages/volto-slate/src/editor/ui/Expando.jsx +0 -5
  294. package/packages/volto-slate/src/editor/ui/InlineToolbar.jsx +0 -73
  295. package/packages/volto-slate/src/editor/ui/MarkButton.jsx +0 -23
  296. package/packages/volto-slate/src/editor/ui/MarkElementButton.jsx +0 -30
  297. package/packages/volto-slate/src/editor/ui/Menu.jsx +0 -13
  298. package/packages/volto-slate/src/editor/ui/PositionedToolbar.jsx +0 -32
  299. package/packages/volto-slate/src/editor/ui/Separator.jsx +0 -7
  300. package/packages/volto-slate/src/editor/ui/SlateContextToolbar.jsx +0 -13
  301. package/packages/volto-slate/src/editor/ui/SlateToolbar.jsx +0 -96
  302. package/packages/volto-slate/src/editor/ui/Toolbar.jsx +0 -103
  303. package/packages/volto-slate/src/editor/ui/ToolbarButton.jsx +0 -33
  304. package/packages/volto-slate/src/editor/ui/ToolbarButton.test.js +0 -25
  305. package/packages/volto-slate/src/editor/ui/index.js +0 -15
  306. package/packages/volto-slate/src/editor/utils.js +0 -248
  307. package/packages/volto-slate/src/elementEditor/ContextButtons.jsx +0 -56
  308. package/packages/volto-slate/src/elementEditor/PluginEditor.jsx +0 -124
  309. package/packages/volto-slate/src/elementEditor/Readme.md +0 -6
  310. package/packages/volto-slate/src/elementEditor/SchemaProvider.jsx +0 -3
  311. package/packages/volto-slate/src/elementEditor/SidebarEditor.jsx +0 -46
  312. package/packages/volto-slate/src/elementEditor/ToolbarButton.jsx +0 -44
  313. package/packages/volto-slate/src/elementEditor/index.js +0 -5
  314. package/packages/volto-slate/src/elementEditor/makeInlineElementPlugin.js +0 -100
  315. package/packages/volto-slate/src/elementEditor/messages.js +0 -14
  316. package/packages/volto-slate/src/elementEditor/utils.js +0 -226
  317. package/packages/volto-slate/src/hooks/index.js +0 -3
  318. package/packages/volto-slate/src/hooks/useEditorContext.js +0 -6
  319. package/packages/volto-slate/src/hooks/useIsomorphicLayoutEffect.js +0 -7
  320. package/packages/volto-slate/src/hooks/useSelectionPosition.js +0 -25
  321. package/packages/volto-slate/src/i18n.js +0 -180
  322. package/packages/volto-slate/src/icons/hashlink.svg +0 -57
  323. package/packages/volto-slate/src/index.js +0 -61
  324. package/packages/volto-slate/src/reducers/content.js +0 -74
  325. package/packages/volto-slate/src/reducers/index.js +0 -3
  326. package/packages/volto-slate/src/reducers/plugins.js +0 -17
  327. package/packages/volto-slate/src/reducers/selection.js +0 -16
  328. package/packages/volto-slate/src/utils/blocks.js +0 -375
  329. package/packages/volto-slate/src/utils/blocks.test.js +0 -138
  330. package/packages/volto-slate/src/utils/editor.js +0 -31
  331. package/packages/volto-slate/src/utils/image.js +0 -25
  332. package/packages/volto-slate/src/utils/index.js +0 -11
  333. package/packages/volto-slate/src/utils/internals.js +0 -46
  334. package/packages/volto-slate/src/utils/lists.js +0 -92
  335. package/packages/volto-slate/src/utils/marks.js +0 -104
  336. package/packages/volto-slate/src/utils/mime-types.js +0 -24
  337. package/packages/volto-slate/src/utils/nodes.js +0 -4
  338. package/packages/volto-slate/src/utils/ops.js +0 -20
  339. package/packages/volto-slate/src/utils/random.js +0 -17
  340. package/packages/volto-slate/src/utils/selection.js +0 -236
  341. package/packages/volto-slate/src/utils/slate-string-utils.js +0 -408
  342. package/packages/volto-slate/src/utils/volto-blocks.js +0 -314
  343. package/packages/volto-slate/src/widgets/ErrorBoundary.jsx +0 -27
  344. package/packages/volto-slate/src/widgets/HtmlSlateWidget.jsx +0 -139
  345. package/packages/volto-slate/src/widgets/ObjectByTypeWidget.jsx +0 -49
  346. package/packages/volto-slate/src/widgets/RichTextWidget.jsx +0 -72
  347. package/packages/volto-slate/src/widgets/RichTextWidgetView.jsx +0 -37
  348. package/packages/volto-slate/src/widgets/style.css +0 -21
  349. package/types/components/manage/Blocks/Video/Body.test.d.ts +0 -1
@@ -1,40 +0,0 @@
1
- import React from 'react';
2
- import renderer from 'react-test-renderer';
3
- import configureStore from 'redux-mock-store';
4
- import { Provider } from 'react-intl-redux';
5
-
6
- import Edit from './TableBlockEdit';
7
-
8
- const mockStore = configureStore();
9
-
10
- global.__SERVER__ = true; // eslint-disable-line no-underscore-dangle
11
-
12
- test('renders an edit table block component', () => {
13
- const store = mockStore({
14
- intl: {
15
- locale: 'en',
16
- messages: {},
17
- },
18
- });
19
- const component = renderer.create(
20
- <Provider store={store}>
21
- <Edit
22
- data={{ table: { rows: [] } }}
23
- selected={false}
24
- block="1234"
25
- onAddBlock={() => {}}
26
- onChangeBlock={() => {}}
27
- onSelectBlock={() => {}}
28
- onDeleteBlock={() => {}}
29
- onInsertBlock={() => {}}
30
- onFocusPreviousBlock={() => {}}
31
- onFocusNextBlock={() => {}}
32
- handleKeyDown={() => {}}
33
- onMutateBlock={() => {}}
34
- index={1}
35
- />
36
- </Provider>,
37
- );
38
- const json = component.toJSON();
39
- expect(json).toMatchSnapshot();
40
- });
@@ -1,150 +0,0 @@
1
- /**
2
- * Slate Table block's View component.
3
- * @module volto-slate/blocks/Table/View
4
- */
5
-
6
- import React, { useState, useMemo } from 'react';
7
- import PropTypes from 'prop-types';
8
- import { Table } from 'semantic-ui-react';
9
- import { map } from 'lodash';
10
- import {
11
- serializeNodes,
12
- serializeNodesToText,
13
- } from '@plone/volto-slate/editor/render';
14
- import { Node } from 'slate';
15
-
16
- // TODO: loading LESS files with `volto-slate/...` paths does not work currently
17
- import '../../editor/plugins/Table/less/public.less';
18
-
19
- /**
20
- * Slate Table block's View class.
21
- * @class View
22
- * @extends Component
23
- * @param {object} data The table data to render as a table.
24
- */
25
- const View = ({ data }) => {
26
- const [state, setState] = useState({
27
- column: null,
28
- direction: null,
29
- });
30
-
31
- const headers = useMemo(() => {
32
- return data.table.rows?.[0]?.cells;
33
- }, [data.table.rows]);
34
-
35
- const rows = useMemo(() => {
36
- const items = [];
37
- if (!data.table.rows) return [];
38
- data.table.rows.forEach((row, index) => {
39
- if (index > 0) {
40
- items[index] = [];
41
- row.cells.forEach((cell, cellIndex) => {
42
- items[index][cellIndex] = {
43
- ...cell,
44
- value:
45
- cell.value && Node.string({ children: cell.value }).length > 0
46
- ? serializeNodes(cell.value)
47
- : '\u00A0',
48
- valueText:
49
- cell.value && Node.string({ children: cell.value }).length > 0
50
- ? serializeNodesToText(cell.value)
51
- : '\u00A0',
52
- };
53
- });
54
- }
55
- });
56
- return items;
57
- }, [data.table.rows]);
58
-
59
- const sortedRows = useMemo(() => {
60
- if (state.column === null) return Object.keys(rows);
61
- return Object.keys(rows).sort((a, b) => {
62
- const a_text = rows[a][state.column].valueText;
63
- const b_text = rows[b][state.column].valueText;
64
- if (state.direction === 'ascending' ? a_text < b_text : a_text > b_text) {
65
- return -1;
66
- }
67
- if (state.direction === 'ascending' ? a_text > b_text : a_text < b_text) {
68
- return 1;
69
- }
70
- return 0;
71
- });
72
- }, [state, rows]);
73
-
74
- return (
75
- <>
76
- {data && data.table && (
77
- <Table
78
- fixed={data.table.fixed}
79
- compact={data.table.compact}
80
- basic={data.table.basic ? 'very' : false}
81
- celled={data.table.celled}
82
- inverted={data.table.inverted}
83
- striped={data.table.striped}
84
- sortable={data.table.sortable}
85
- className="slate-table-block"
86
- >
87
- {!data.table.hideHeaders ? (
88
- <Table.Header>
89
- <Table.Row>
90
- {headers.map((cell, index) => (
91
- <Table.HeaderCell
92
- key={cell.key}
93
- textAlign="left"
94
- verticalAlign="middle"
95
- sorted={state.column === index ? state.direction : null}
96
- onClick={() => {
97
- if (!data.table.sortable) return;
98
- setState({
99
- column: index,
100
- direction:
101
- state.column !== index
102
- ? 'ascending'
103
- : state.direction === 'ascending'
104
- ? 'descending'
105
- : 'ascending',
106
- });
107
- }}
108
- >
109
- {cell.value &&
110
- Node.string({ children: cell.value }).length > 0
111
- ? serializeNodes(cell.value)
112
- : '\u00A0'}
113
- </Table.HeaderCell>
114
- ))}
115
- </Table.Row>
116
- </Table.Header>
117
- ) : (
118
- ''
119
- )}
120
- <Table.Body>
121
- {map(sortedRows, (row) => (
122
- <Table.Row key={row}>
123
- {map(rows[row], (cell) => (
124
- <Table.Cell
125
- key={cell.key}
126
- textAlign="left"
127
- verticalAlign="middle"
128
- >
129
- {cell.value}
130
- </Table.Cell>
131
- ))}
132
- </Table.Row>
133
- ))}
134
- </Table.Body>
135
- </Table>
136
- )}
137
- </>
138
- );
139
- };
140
-
141
- /**
142
- * Property types.
143
- * @property {Object} propTypes Property types.
144
- * @static
145
- */
146
- View.propTypes = {
147
- data: PropTypes.objectOf(PropTypes.any).isRequired,
148
- };
149
-
150
- export default View;
@@ -1,49 +0,0 @@
1
- import React from 'react';
2
- import renderer from 'react-test-renderer';
3
- import View from './TableBlockView';
4
- import config from '@plone/volto/registry';
5
-
6
- beforeAll(() => {
7
- config.settings = {
8
- slate: {
9
- elements: {
10
- default: ({ attributes, children }) => (
11
- <p {...attributes}>{children}</p>
12
- ),
13
- h2: ({ attributes, children }) => <h2 {...attributes}>{children}</h2>,
14
- },
15
- leafs: {},
16
- },
17
- };
18
- });
19
-
20
- test('renders a view table component', () => {
21
- const component = renderer.create(
22
- <View
23
- data={{
24
- table: {
25
- rows: [
26
- {
27
- key: 'a',
28
- cells: [
29
- {
30
- type: 'data',
31
- key: 'b',
32
- value: [
33
- {
34
- type: 'h2',
35
- children: [{ text: 'My header' }],
36
- },
37
- ],
38
- },
39
- ],
40
- },
41
- ],
42
- hideHeaders: false,
43
- },
44
- }}
45
- />,
46
- );
47
- const json = component.toJSON();
48
- expect(json).toMatchSnapshot();
49
- });
@@ -1,113 +0,0 @@
1
- import { v4 as uuid } from 'uuid';
2
- import { Editor, Transforms } from 'slate';
3
- import {
4
- TABLE,
5
- THEAD,
6
- TBODY,
7
- TFOOT,
8
- TD,
9
- TH,
10
- TR,
11
- } from '@plone/volto-slate/constants';
12
-
13
- /**
14
- * @param {Array} rows The array of rows that almost completely defines a
15
- * `table`-typed block.
16
- * @returns {Array} A tuple `[id, block]` where `id` is the new block's ID and
17
- * the `block` is all the block's data.
18
- */
19
- export function syncCreateTableBlock(rows) {
20
- const id = uuid();
21
- const block = {
22
- '@type': 'table',
23
- table: {
24
- rows,
25
- },
26
- };
27
- return [id, block];
28
- }
29
-
30
- /**
31
- * @param {Editor} editor The Slate Editor from which to extract tables.
32
- * @param {PathRef} pathRef Has the current value a `Path` so that the search is
33
- * done just inside nodes in that `Path`.
34
- * @returns Extracts tables from a Slate `Editor` into an array of detached
35
- * `table` blocks.
36
- */
37
- export const extractTables = (editor, pathRef) => {
38
- const tableNodes = Array.from(
39
- Editor.nodes(editor, {
40
- at: pathRef.current,
41
- match: (node) => node.type === TABLE,
42
- }),
43
- );
44
- const tables = tableNodes.map(([node]) => extractVoltoTable(node));
45
-
46
- Transforms.removeNodes(editor, {
47
- at: pathRef.current,
48
- match: (node) => node.type === TABLE,
49
- });
50
-
51
- return tables.map((el) => syncCreateTableBlock(el));
52
- };
53
-
54
- /**
55
- * @param {Node[]} fragment A Slate document fragment.
56
- * @returns {Array} An array of rows in the format requested by `table`
57
- * blocks.
58
- */
59
- function collectRowsFrom(fragment) {
60
- let rows = [];
61
- fragment.children.forEach((y) => {
62
- if (y.type === TR) {
63
- let row = { key: uuid(), cells: [] };
64
-
65
- y.children.forEach((z) => {
66
- let val = JSON.parse(JSON.stringify(z.children));
67
- if (z.type === TD) {
68
- row.cells.push({
69
- key: uuid(),
70
- type: 'data',
71
- value: val,
72
- });
73
- } else if (z.type === TH) {
74
- row.cells.push({
75
- key: uuid(),
76
- type: 'header',
77
- value: val,
78
- });
79
- }
80
- });
81
-
82
- rows.push(row);
83
- }
84
- });
85
- return rows;
86
- }
87
-
88
- /**
89
- * @param {HTMLElement} el The <table> element from which to extract rows.
90
- * @returns {Array} A rows array that contains rows in the format required by
91
- * `table` blocks.
92
- */
93
- function extractVoltoTable(el) {
94
- let thead = [],
95
- tfoot = [],
96
- tbody = [];
97
-
98
- el.children.forEach((fragment) => {
99
- if (fragment.type === THEAD) {
100
- // not supported by View fully, so prepend this to tbody below
101
- thead = collectRowsFrom(fragment);
102
- } else if (fragment.type === TBODY) {
103
- tbody = collectRowsFrom(fragment);
104
- } else if (fragment.type === TFOOT) {
105
- // not supported by View fully, so append this to tbody below
106
- tfoot = collectRowsFrom(fragment);
107
- }
108
- });
109
-
110
- const rows = [...thead, ...tbody, ...tfoot];
111
-
112
- return rows;
113
- }
@@ -1,5 +0,0 @@
1
- export const normalizeTable = (editor) => {
2
- // Normalization rules for table cells
3
-
4
- return editor;
5
- };
@@ -1,60 +0,0 @@
1
- import TableBlockEdit from './TableBlockEdit';
2
- import TableBlockView from './TableBlockView';
3
- import { extractTables } from './deconstruct';
4
- import { normalizeTable } from './extensions/normalizeTable';
5
- import { normalizeExternalData } from '../Text/extensions';
6
-
7
- import tableSVG from '@plone/volto/icons/table.svg';
8
-
9
- /**
10
- * @summary Called from Volto to configure new or existing Volto block types.
11
- * @param {object} config The object received from Volto containing the
12
- * configuration for all the blocks.
13
- */
14
- export default function install(config) {
15
- config.settings.slate = {
16
- ...config.settings.slate,
17
- voltoBlockEmiters: [
18
- ...(config.settings.slate.voltoBlockEmiters || []),
19
- extractTables,
20
- ],
21
- tableblockExtensions: [
22
- // First here gets executed last
23
- // withLists,
24
- // withSplitBlocksOnBreak,
25
- // withDeleteSelectionOnEnter,
26
- // withDeserializers,
27
- // breakList,
28
- normalizeTable,
29
- normalizeExternalData,
30
- ],
31
- };
32
-
33
- const tableBlockConfig = {
34
- id: 'table',
35
- title: 'Table',
36
- icon: tableSVG,
37
- group: 'common',
38
- view: TableBlockView,
39
- edit: TableBlockEdit,
40
- restricted: false,
41
- mostUsed: false,
42
- blockHasOwnFocusManagement: true,
43
- sidebarTab: 1,
44
- security: {
45
- addPermission: [],
46
- view: [],
47
- },
48
- // blockHasValue: (data) => {
49
- // return true;
50
- // },
51
- };
52
-
53
- config.blocks.blocksConfig.table.restricted = true;
54
- config.blocks.blocksConfig.slateTable = {
55
- ...tableBlockConfig,
56
- id: 'slateTable',
57
- };
58
-
59
- return config;
60
- }
@@ -1,122 +0,0 @@
1
- import { defineMessages } from 'react-intl';
2
-
3
- const messages = defineMessages({
4
- hideHeaders: {
5
- id: 'Hide headers',
6
- defaultMessage: 'Hide headers',
7
- },
8
- sortable: {
9
- id: 'Make the table sortable',
10
- defaultMessage: 'Make the table sortable',
11
- },
12
- sortableDescription: {
13
- id: 'Visible only in view mode',
14
- defaultMessage: 'Visible only in view mode',
15
- },
16
- fixed: {
17
- id: 'Fixed width table cells',
18
- defaultMessage: 'Fixed width table cells',
19
- },
20
- compact: {
21
- id: 'Make the table compact',
22
- defaultMessage: 'Make the table compact',
23
- },
24
- basic: {
25
- id: 'Reduce complexity',
26
- defaultMessage: 'Reduce complexity',
27
- },
28
- celled: {
29
- id: 'Divide each row into separate cells',
30
- defaultMessage: 'Divide each row into separate cells',
31
- },
32
- inverted: {
33
- id: 'Table color inverted',
34
- defaultMessage: 'Table color inverted',
35
- },
36
- striped: {
37
- id: 'Stripe alternate rows with color',
38
- defaultMessage: 'Stripe alternate rows with color',
39
- },
40
- });
41
-
42
- function TableSchema(props) {
43
- const { intl } = props;
44
- return {
45
- title: 'Table block',
46
- fieldsets: [
47
- {
48
- id: 'default',
49
- title: 'Default',
50
- fields: [
51
- 'hideHeaders',
52
- 'sortable',
53
- 'fixed',
54
- 'celled',
55
- 'striped',
56
- 'compact',
57
- 'basic',
58
- 'inverted',
59
- ],
60
- },
61
- ],
62
- properties: {
63
- hideHeaders: {
64
- title: intl.formatMessage(messages.hideHeaders),
65
- type: 'boolean',
66
- },
67
- sortable: {
68
- title: intl.formatMessage(messages.sortable),
69
- type: 'boolean',
70
- },
71
- fixed: {
72
- title: intl.formatMessage(messages.fixed),
73
- type: 'boolean',
74
- },
75
- celled: {
76
- title: intl.formatMessage(messages.celled),
77
- type: 'boolean',
78
- },
79
- striped: {
80
- title: intl.formatMessage(messages.striped),
81
- type: 'boolean',
82
- },
83
- compact: {
84
- title: intl.formatMessage(messages.compact),
85
- type: 'boolean',
86
- },
87
- basic: {
88
- title: intl.formatMessage(messages.basic),
89
- type: 'boolean',
90
- },
91
- inverted: {
92
- title: intl.formatMessage(messages.inverted),
93
- type: 'boolean',
94
- },
95
- },
96
- required: [],
97
- };
98
- }
99
-
100
- export function TableBlockSchema(props) {
101
- return {
102
- title: 'Table block',
103
- fieldsets: [
104
- {
105
- id: 'default',
106
- title: 'Default',
107
- fields: ['table'],
108
- },
109
- ],
110
- properties: {
111
- table: {
112
- title: 'Table block',
113
- widget: 'object',
114
- schema: TableSchema(props),
115
- },
116
- },
117
-
118
- required: [],
119
- };
120
- }
121
-
122
- export default TableBlockSchema;