@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,44 +0,0 @@
1
- /**
2
- * This is the main toolbar button.
3
- */
4
- import React from 'react';
5
- import { useSlate } from 'slate-react';
6
- import { useDispatch } from 'react-redux';
7
- import { omit } from 'lodash';
8
-
9
- import { ToolbarButton } from '@plone/volto-slate/editor/ui';
10
- import { hasRangeSelection } from '@plone/volto-slate/utils';
11
- import { setPluginOptions } from '@plone/volto-slate/actions';
12
-
13
- const ElementToolbarButton = (props) => {
14
- const { isActiveElement, insertElement, pluginId, toolbarButtonIcon } = props;
15
- const editor = useSlate();
16
- const isElement = isActiveElement(editor);
17
- const dispatch = useDispatch();
18
- const pid = `${editor.uid}-${pluginId}`;
19
-
20
- const omittedProps = [
21
- 'insertElement',
22
- 'pluginId',
23
- 'toolbarButtonIcon',
24
- 'isActiveElement',
25
- ];
26
-
27
- return (
28
- <>
29
- {hasRangeSelection(editor) && (
30
- <ToolbarButton
31
- {...omit(props, ...omittedProps)}
32
- active={isElement}
33
- onMouseDown={() => {
34
- if (!isElement) insertElement(editor, {});
35
- dispatch(setPluginOptions(pid, { show_sidebar_editor: true }));
36
- }}
37
- icon={toolbarButtonIcon}
38
- />
39
- )}
40
- </>
41
- );
42
- };
43
-
44
- export default ElementToolbarButton;
@@ -1,5 +0,0 @@
1
- export { makeInlineElementPlugin } from './makeInlineElementPlugin';
2
-
3
- export const makeBlockElementPlugin = (options) => {
4
- return [(config) => config];
5
- };
@@ -1,100 +0,0 @@
1
- import React from 'react';
2
- import SidebarEditor from './SidebarEditor';
3
- import makeContextButtons from './ContextButtons';
4
- import PluginEditor from './PluginEditor';
5
- import {
6
- _insertElement,
7
- _unwrapElement,
8
- _isActiveElement,
9
- _getActiveElement,
10
- } from './utils';
11
- import messages from './messages';
12
- import ToolbarButton from './ToolbarButton';
13
- import SchemaProvider from './SchemaProvider';
14
- import { omit } from 'lodash';
15
-
16
- import tagSVG from '@plone/volto/icons/tag.svg';
17
-
18
- export const makeInlineElementPlugin = (options) => {
19
- const { elementType, isInlineElement, pluginId, title = 'Element' } = options;
20
- const omittedProps = [
21
- 'pluginEditor',
22
- 'getActiveElement',
23
- 'unwrapElement',
24
- 'schemaProvider',
25
- 'hasValue',
26
- 'elementType',
27
- 'isInlineElement',
28
- 'editSchema',
29
- 'element',
30
- 'persistentHelper',
31
- ];
32
-
33
- const pluginOptions = {
34
- pluginEditor: PluginEditor,
35
- insertElement: _insertElement(elementType),
36
- getActiveElement: _getActiveElement(elementType),
37
- isActiveElement: _isActiveElement(elementType),
38
- unwrapElement: _unwrapElement(elementType),
39
- messages,
40
- toolbarButtonIcon: tagSVG,
41
- title,
42
- extensions: [],
43
-
44
- // a component that should provide a schema as a render prop
45
- schemaProvider: SchemaProvider,
46
- // schema that can be used to create the edit form for this component
47
- // editSchema,
48
-
49
- // A generic "validation" method, just finds that a "positive" value
50
- // exists. Plugin authors should overwrite it in options
51
- // If it returns true, the value is saved in the editor, othwerwise the
52
- // element type is removed from the editor
53
- hasValue: (data) => Object.values(data).findIndex((v) => !!v) > -1,
54
-
55
- ...options,
56
- };
57
-
58
- const PersistentHelper = (props) => (
59
- <SidebarEditor {...props} {...pluginOptions} />
60
- );
61
- PersistentHelper.id = pluginId;
62
-
63
- const ElementContextButtons = makeContextButtons(pluginOptions);
64
- ElementContextButtons.id = pluginId;
65
-
66
- const install = (config) => {
67
- const { slate } = config.settings;
68
- if (isInlineElement) {
69
- slate.inlineElements[elementType] = true;
70
- }
71
-
72
- slate.buttons[pluginId] = (props) => (
73
- <ToolbarButton
74
- {...props}
75
- title={title}
76
- {...omit(pluginOptions, omittedProps)}
77
- />
78
- );
79
- slate.contextToolbarButtons.push(ElementContextButtons);
80
- slate.persistentHelpers.push(
81
- options.persistentHelper
82
- ? options.persistentHelper(pluginOptions)
83
- : PersistentHelper,
84
- );
85
- slate.extensions = [
86
- ...(slate.extensions || []),
87
- ...pluginOptions.extensions,
88
- ];
89
- slate.elements[elementType] = options.element;
90
- slate.nodeTypesToHighlight.push(elementType);
91
-
92
- // The plugin authors should manually add the button to the relevant toolbars
93
- // slate.toolbarButtons = [...(slate.toolbarButtons || []), pluginId];
94
- // slate.expandedToolbarButtons = [...(slate.expandedToolbarButtons || []), pluginId];
95
-
96
- return config;
97
- };
98
-
99
- return [install, ElementContextButtons, PersistentHelper, pluginOptions];
100
- };
@@ -1,14 +0,0 @@
1
- import { defineMessages } from 'react-intl'; // , defineMessages
2
-
3
- const messages = defineMessages({
4
- edit: {
5
- id: 'Edit element',
6
- defaultMessage: 'Edit element',
7
- },
8
- delete: {
9
- id: 'Remove element',
10
- defaultMessage: 'Remove element',
11
- },
12
- });
13
-
14
- export default messages;
@@ -1,226 +0,0 @@
1
- import { Editor, Transforms, Node } from 'slate';
2
-
3
- /**
4
- * @description Creates or updates an existing $elementType. It also takes care
5
- * of the saved selection and uses PathRef.
6
- *
7
- * @param {Editor} editor The Slate editor for the context
8
- * @param {object} data Relevant data for this element
9
- *
10
- * @returns {boolean} true if an element was possibly inserted, false otherwise
11
- * (currently we do not check here if the element was already applied to the
12
- * editor)
13
- */
14
- export const _insertElement = (elementType) => (editor, data) => {
15
- if (editor.getSavedSelection()) {
16
- const selection = editor.selection || editor.getSavedSelection();
17
-
18
- const rangeRef = Editor.rangeRef(editor, selection);
19
-
20
- const res = Array.from(
21
- Editor.nodes(editor, {
22
- match: (n) => n.type === elementType,
23
- mode: 'highest',
24
- at: selection,
25
- }),
26
- );
27
-
28
- if (res.length) {
29
- const [, path] = res[0];
30
- Transforms.setNodes(
31
- editor,
32
- { data },
33
- {
34
- at: path ? path : null,
35
- match: path ? (n) => n.type === elementType : null,
36
- },
37
- );
38
- } else {
39
- Transforms.wrapNodes(
40
- editor,
41
- { type: elementType, data },
42
- {
43
- split: true,
44
- at: selection,
45
- match: (node) => {
46
- return Node.string(node).length !== 0;
47
- },
48
- }, //,
49
- );
50
- }
51
-
52
- const sel = JSON.parse(JSON.stringify(rangeRef.current));
53
- Transforms.select(editor, sel);
54
- editor.setSavedSelection(sel);
55
-
56
- return true;
57
- }
58
-
59
- return false;
60
- };
61
-
62
- /**
63
- * Will unwrap a node that has as type the one received or one from an array.
64
- * It identifies the current target element and expands the selection to it, in
65
- * case the selection was just partial. This allows a "clear and reassign"
66
- * operation, for example for the Link plugin.
67
- *
68
- * @param {string|Object[]} elementType - this can be a string or an array of strings
69
- * @returns {Object|null} - current node
70
- */
71
- export const _unwrapElement = (elementType) => (editor) => {
72
- const [link] = Editor.nodes(editor, {
73
- at: editor.selection,
74
- match: (node) => node?.type === elementType,
75
- });
76
- const [, path] = link;
77
- const [start, end] = Editor.edges(editor, path);
78
- const range = { anchor: start, focus: end };
79
-
80
- const ref = Editor.rangeRef(editor, range);
81
-
82
- Transforms.select(editor, range);
83
- Transforms.unwrapNodes(editor, {
84
- match: (n) =>
85
- Array.isArray(elementType)
86
- ? elementType.includes(n.type)
87
- : n.type === elementType,
88
- at: range,
89
- });
90
-
91
- const current = ref.current;
92
- ref.unref();
93
-
94
- return current;
95
- };
96
-
97
- export const _isActiveElement = (elementType) => (editor) => {
98
- const selection = editor.selection || editor.getSavedSelection();
99
- let found;
100
- try {
101
- found = Array.from(
102
- Editor.nodes(editor, {
103
- match: (n) => n.type === elementType,
104
- at: selection,
105
- }) || [],
106
- );
107
- } catch (e) {
108
- // eslint-disable-next-line
109
- // console.warn('Error in finding active element', e);
110
- return false;
111
- }
112
- if (found.length) return true;
113
-
114
- if (selection) {
115
- const { path } = selection.anchor;
116
- const isAtStart =
117
- selection.anchor.offset === 0 && selection.focus.offset === 0;
118
-
119
- if (isAtStart) {
120
- try {
121
- found = Editor.previous(editor, {
122
- at: path,
123
- // match: (n) => n.type === MENTION,
124
- });
125
- } catch (ex) {
126
- found = [];
127
- }
128
- if (found && found[0] && found[0].type === elementType) {
129
- return true;
130
- }
131
- }
132
- }
133
-
134
- return false;
135
- };
136
-
137
- /**
138
- * Will look for a node that has as type the one received or one from an array
139
- * @param {string|Object[]} elementType - this can be a string or an array of strings
140
- * @returns {Object|null} - found node
141
- */
142
- export const _getActiveElement = (elementType) => (
143
- editor,
144
- direction = 'any',
145
- ) => {
146
- const selection = editor.selection || editor.getSavedSelection();
147
- let found = [];
148
-
149
- try {
150
- found = Array.from(
151
- Editor.nodes(editor, {
152
- match: (n) =>
153
- Array.isArray(elementType)
154
- ? elementType.includes(n.type)
155
- : n.type === elementType,
156
- at: selection,
157
- }),
158
- );
159
- } catch (e) {
160
- return null;
161
- }
162
-
163
- if (found.length) return found[0];
164
-
165
- if (!selection) return null;
166
-
167
- if (direction === 'any' || direction === 'backward') {
168
- const { path } = selection.anchor;
169
- const isAtStart =
170
- selection.anchor.offset === 0 && selection.focus.offset === 0;
171
-
172
- if (isAtStart) {
173
- let found;
174
- try {
175
- found = Editor.previous(editor, {
176
- at: path,
177
- });
178
- } catch (ex) {
179
- // eslint-disable-next-line no-console
180
- console.warn('Unable to find previous node', editor, path);
181
- return;
182
- }
183
- if (found && found[0] && found[0].type === elementType) {
184
- if (
185
- (Array.isArray(elementType) && elementType.includes(found[0].type)) ||
186
- found[0].type === elementType
187
- ) {
188
- return found;
189
- }
190
- } else {
191
- return null;
192
- }
193
- }
194
- }
195
-
196
- if (direction === 'any' || direction === 'forward') {
197
- const { path } = selection.anchor;
198
- const isAtStart =
199
- selection.anchor.offset === 0 && selection.focus.offset === 0;
200
-
201
- if (isAtStart) {
202
- let found;
203
- try {
204
- found = Editor.next(editor, {
205
- at: path,
206
- });
207
- } catch (e) {
208
- // eslint-disable-next-line
209
- console.warn('Unable to find next node', editor, path);
210
- return;
211
- }
212
- if (found && found[0] && found[0].type === elementType) {
213
- if (
214
- (Array.isArray(elementType) && elementType.includes(found[0].type)) ||
215
- found[0].type === elementType
216
- ) {
217
- return found;
218
- }
219
- } else {
220
- return null;
221
- }
222
- }
223
- }
224
-
225
- return null;
226
- };
@@ -1,3 +0,0 @@
1
- export { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect';
2
- export { useEditorContext } from './useEditorContext';
3
- export { useSelectionPosition } from './useSelectionPosition';
@@ -1,6 +0,0 @@
1
- import React from 'react';
2
- import EditorContext from '@plone/volto-slate/editor/EditorContext';
3
-
4
- export const useEditorContext = () => {
5
- return React.useContext(EditorContext);
6
- };
@@ -1,7 +0,0 @@
1
- import { useLayoutEffect, useEffect } from 'react';
2
-
3
- /**
4
- * Prevent warning on SSR by falling back to useEffect when window is not defined
5
- */
6
- export const useIsomorphicLayoutEffect =
7
- typeof window !== 'undefined' ? useLayoutEffect : useEffect;
@@ -1,25 +0,0 @@
1
- import { useSlate, ReactEditor, useSlateSelection } from 'slate-react';
2
-
3
- /**
4
- * Translates the slate selection (text) to window/screen coordinates
5
- *
6
- * TODO: we use the anchor as the base for the position. This could be improved
7
- */
8
- export const useSelectionPosition = () => {
9
- let rect = {};
10
-
11
- const editor = useSlate();
12
-
13
- const selection = useSlateSelection();
14
- if (selection && ReactEditor.isFocused(editor)) {
15
- try {
16
- const [textNode] = ReactEditor.toDOMPoint(editor, selection.anchor);
17
- const parentNode = textNode.parentNode;
18
- rect = parentNode.getBoundingClientRect();
19
- } catch {
20
- // This happens when the selection is outdated because the nodes have
21
- // been modified? Seems like a bug in slate, then.
22
- }
23
- }
24
- return rect;
25
- };
@@ -1,180 +0,0 @@
1
- /* eslint no-console: 0 */
2
- /**
3
- * i18n script.
4
- * @module scripts/i18n
5
- */
6
-
7
- const { find, keys, map, concat, reduce } = require('lodash');
8
- const glob = require('glob').sync;
9
- const fs = require('fs');
10
- const Pofile = require('pofile');
11
- const babel = require('@babel/core');
12
-
13
- /**
14
- * Extract messages into separate JSON files
15
- * @function extractMessages
16
- * @return {undefined}
17
- */
18
- function extractMessages() {
19
- map(glob('src/**/*.js?(x)'), (filename) => {
20
- babel.transformFileSync(filename, {}, (err) => {
21
- if (err) {
22
- console.log(err);
23
- }
24
- });
25
- });
26
- }
27
-
28
- /**
29
- * Get messages from separate JSON files
30
- * @function getMessages
31
- * @return {Object} Object with messages
32
- */
33
- function getMessages() {
34
- return reduce(
35
- concat(
36
- {},
37
- ...map(
38
- // We ignore the existing customized shadowed components ones, since most
39
- // probably we won't be overriding them
40
- // If so, we should do it in the config object or somewhere else
41
- glob('build/messages/src/**/*.json', {
42
- ignore: 'build/messages/src/customizations/**',
43
- }),
44
- (filename) =>
45
- map(JSON.parse(fs.readFileSync(filename, 'utf8')), (message) => ({
46
- ...message,
47
- filename: filename.match(/build\/messages\/src\/(.*).json$/)[1],
48
- })),
49
- ),
50
- ),
51
- (current, value) => {
52
- let result = current;
53
- if (current.id) {
54
- result = {
55
- [current.id]: {
56
- defaultMessage: current.defaultMessage,
57
- filenames: [current.filename],
58
- },
59
- };
60
- }
61
-
62
- if (result[value.id]) {
63
- result[value.id].filenames.push(value.filename);
64
- } else {
65
- result[value.id] = {
66
- defaultMessage: value.defaultMessage,
67
- filenames: [value.filename],
68
- };
69
- }
70
- return result;
71
- },
72
- );
73
- }
74
-
75
- /**
76
- * Convert messages to pot format
77
- * @function messagesToPot
78
- * @param {Object} messages Messages
79
- * @return {string} Formatted pot string
80
- */
81
- function messagesToPot(messages) {
82
- return map(keys(messages).sort(), (key) =>
83
- [
84
- ...map(messages[key].filenames, (filename) => `#: ${filename}`),
85
- `# defaultMessage: ${messages[key].defaultMessage}`,
86
- `msgid "${key}"`,
87
- 'msgstr ""',
88
- ].join('\n'),
89
- ).join('\n\n');
90
- }
91
-
92
- /**
93
- * Pot header
94
- * @function potHeader
95
- * @return {string} Formatted pot header
96
- */
97
- function potHeader() {
98
- return `msgid ""
99
- msgstr ""
100
- "Project-Id-Version: Plone\\n"
101
- "POT-Creation-Date: ${new Date().toISOString()}\\n"
102
- "Last-Translator: Plone i18n <plone-i18n@lists.sourceforge.net>\\n"
103
- "Language-Team: Plone i18n <plone-i18n@lists.sourceforge.net>\\n"
104
- "MIME-Version: 1.0\\n"
105
- "Content-Type: text/plain; charset=utf-8\\n"
106
- "Content-Transfer-Encoding: 8bit\\n"
107
- "Plural-Forms: nplurals=1; plural=0;\\n"
108
- "Language-Code: en\\n"
109
- "Language-Name: English\\n"
110
- "Preferred-Encodings: utf-8\\n"
111
- "Domain: volto\\n"
112
-
113
- `;
114
- }
115
-
116
- /**
117
- * Format header
118
- * @function formatHeader
119
- * @param {Array} comments Array of comments
120
- * @param {Object} headers Object of header items
121
- * @return {string} Formatted header
122
- */
123
- function formatHeader(comments, headers) {
124
- return [
125
- ...map(comments, (comment) => `# ${comment}`),
126
- 'msgid ""',
127
- 'msgstr ""',
128
- ...map(keys(headers), (key) => `"${key}: ${headers[key]}\\n"`),
129
- '',
130
- ].join('\n');
131
- }
132
-
133
- /**
134
- * Sync po by the pot file
135
- * @function syncPoByPot
136
- * @return {undefined}
137
- */
138
- function syncPoByPot() {
139
- const pot = Pofile.parse(fs.readFileSync('locales/volto.pot', 'utf8'));
140
-
141
- map(glob('locales/**/*.po'), (filename) => {
142
- const po = Pofile.parse(fs.readFileSync(filename, 'utf8'));
143
-
144
- fs.writeFileSync(
145
- filename,
146
- `${formatHeader(po.comments, po.headers)}
147
- ${map(pot.items, (item) => {
148
- const poItem = find(po.items, { msgid: item.msgid });
149
- return [
150
- `${map(item.references, (ref) => `#: ${ref}`).join('\n')}`,
151
- `msgid "${item.msgid}"`,
152
- `msgstr "${poItem ? poItem.msgstr : ''}"`,
153
- ].join('\n');
154
- }).join('\n\n')}\n`,
155
- );
156
- });
157
- }
158
-
159
- // Main tasks
160
- console.log('Extracting messages from source files...');
161
- extractMessages();
162
- console.log('Synchronizing messages to pot file...');
163
- // We only write the pot file if it's really different
164
- const newPot = `${potHeader()}${messagesToPot(getMessages())}\n`.replace(
165
- /"POT-Creation-Date:(.*)\\n"/,
166
- '',
167
- );
168
- const oldPot = fs
169
- .readFileSync('locales/volto.pot', 'utf8')
170
- .replace(/"POT-Creation-Date:(.*)\\n"/, '');
171
-
172
- if (newPot !== oldPot) {
173
- fs.writeFileSync(
174
- 'locales/volto.pot',
175
- `${potHeader()}${messagesToPot(getMessages())}\n`,
176
- );
177
- }
178
- console.log('Synchronizing messages to po files...');
179
- syncPoByPot();
180
- console.log('done!');
@@ -1,57 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
- <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
4
- viewBox="0 0 490.667 490.667" style="enable-background:new 0 0 490.667 490.667;" xml:space="preserve">
5
- <g>
6
- <path style="fill:#455A64;" d="M480,181.44H53.333c-5.891,0-10.667-4.776-10.667-10.667c0-5.891,4.776-10.667,10.667-10.667H480
7
- c5.891,0,10.667,4.776,10.667,10.667C490.667,176.664,485.891,181.44,480,181.44z"/>
8
- <path style="fill:#455A64;" d="M437.333,330.773H10.667C4.776,330.773,0,325.998,0,320.106c0-5.891,4.776-10.667,10.667-10.667
9
- h426.667c5.891,0,10.667,4.776,10.667,10.667C448,325.998,443.224,330.773,437.333,330.773z"/>
10
- <path style="fill:#455A64;" d="M245.333,458.773c-5.891-0.001-10.666-4.778-10.664-10.669c0-1.259,0.223-2.507,0.659-3.688
11
- L384.661,39.082c1.922-5.569,7.995-8.524,13.563-6.602c5.569,1.922,8.524,7.995,6.602,13.563c-0.049,0.141-0.1,0.281-0.155,0.42
12
- L255.339,451.797C253.793,455.988,249.8,458.772,245.333,458.773z"/>
13
- <path style="fill:#455A64;" d="M96,458.773c-5.891-0.001-10.666-4.778-10.664-10.669c0-1.259,0.223-2.507,0.659-3.688
14
- L235.328,39.082c1.922-5.569,7.995-8.524,13.563-6.602c5.569,1.922,8.524,7.995,6.602,13.563c-0.049,0.141-0.1,0.281-0.155,0.42
15
- L106.005,451.797C104.46,455.988,100.467,458.772,96,458.773z"/>
16
- </g>
17
- <path d="M480,181.44H53.333c-5.891,0-10.667-4.776-10.667-10.667c0-5.891,4.776-10.667,10.667-10.667H480
18
- c5.891,0,10.667,4.776,10.667,10.667C490.667,176.664,485.891,181.44,480,181.44z"/>
19
- <path d="M437.333,330.773H10.667C4.776,330.773,0,325.998,0,320.106c0-5.891,4.776-10.667,10.667-10.667h426.667
20
- c5.891,0,10.667,4.776,10.667,10.667C448,325.998,443.224,330.773,437.333,330.773z"/>
21
- <path d="M245.333,458.773c-5.891-0.001-10.666-4.778-10.664-10.669c0-1.259,0.223-2.507,0.659-3.688L384.661,39.082
22
- c1.922-5.569,7.995-8.524,13.563-6.602c5.569,1.922,8.524,7.995,6.602,13.563c-0.049,0.141-0.1,0.281-0.155,0.42L255.339,451.797
23
- C253.793,455.988,249.8,458.772,245.333,458.773z"/>
24
- <path d="M96,458.773c-5.891-0.001-10.666-4.778-10.664-10.669c0-1.259,0.223-2.507,0.659-3.688L235.328,39.082
25
- c1.922-5.569,7.995-8.524,13.563-6.602c5.569,1.922,8.524,7.995,6.602,13.563c-0.049,0.141-0.1,0.281-0.155,0.42L106.005,451.797
26
- C104.46,455.988,100.467,458.772,96,458.773z"/>
27
- <g>
28
- </g>
29
- <g>
30
- </g>
31
- <g>
32
- </g>
33
- <g>
34
- </g>
35
- <g>
36
- </g>
37
- <g>
38
- </g>
39
- <g>
40
- </g>
41
- <g>
42
- </g>
43
- <g>
44
- </g>
45
- <g>
46
- </g>
47
- <g>
48
- </g>
49
- <g>
50
- </g>
51
- <g>
52
- </g>
53
- <g>
54
- </g>
55
- <g>
56
- </g>
57
- </svg>