@plone/volto 15.0.0-alpha.0 → 15.0.0-alpha.11

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 (236) hide show
  1. package/.eslintrc +1 -1
  2. package/.github/ISSUE_TEMPLATE/bug_report.md +7 -6
  3. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -1
  4. package/.github/workflows/{core-sandbox.yml → coresandbox.yml} +1 -1
  5. package/.github/workflows/docs.yml +15 -55
  6. package/.storybook/main.js +3 -9
  7. package/CHANGELOG.md +140 -2
  8. package/CODE_OF_CONDUCT.md +0 -1
  9. package/COMMITLINT.md +19 -21
  10. package/README.md +2 -1
  11. package/SECURITY.md +0 -1
  12. package/addon-registry.js +20 -12
  13. package/create-addons-loader.js +1 -1
  14. package/cypress/support/commands.js +3 -1
  15. package/dist/assets.json +1 -0
  16. package/dist/chunks.json +571 -0
  17. package/dist/loadable-stats.json +2070 -0
  18. package/dist/public/android-chrome-192x192.png +0 -0
  19. package/dist/public/android-chrome-512x512.png +0 -0
  20. package/dist/public/apple-touch-icon.png +0 -0
  21. package/dist/public/favicon-16x16.png +0 -0
  22. package/dist/public/favicon-32x32.png +0 -0
  23. package/dist/public/favicon.ico +0 -0
  24. package/dist/public/icon.svg +13 -0
  25. package/dist/public/index.html.spa +34 -0
  26. package/dist/public/robots.txt +2 -0
  27. package/dist/public/site.webmanifest +19 -0
  28. package/dist/public/static/css/14.803b450c.chunk.css +409 -0
  29. package/dist/public/static/css/3.a3490306.chunk.css +2 -0
  30. package/dist/public/static/css/client.0ead607b.chunk.css +8 -0
  31. package/dist/public/static/css/plone-volto-components-manage-Widgets-DatetimeWidget.77a7ad0d.chunk.css +2 -0
  32. package/dist/public/static/js/0.3e794c57.chunk.js +2 -0
  33. package/dist/public/static/js/1.fece2b93.chunk.js +3 -0
  34. package/dist/public/static/js/1.fece2b93.chunk.js.LICENSE.txt +8 -0
  35. package/dist/public/static/js/14.803b450c.chunk.js +3 -0
  36. package/dist/public/static/js/14.803b450c.chunk.js.LICENSE.txt +146 -0
  37. package/dist/public/static/js/15.c1eb25b4.chunk.js +3 -0
  38. package/dist/public/static/js/15.c1eb25b4.chunk.js.LICENSE.txt +8 -0
  39. package/dist/public/static/js/16.70e24cba.chunk.js +2 -0
  40. package/dist/public/static/js/17.f03d2a82.chunk.js +2 -0
  41. package/dist/public/static/js/18.0f0b1dfa.chunk.js +2 -0
  42. package/dist/public/static/js/19.61ef8815.chunk.js +3 -0
  43. package/dist/public/static/js/19.61ef8815.chunk.js.LICENSE.txt +8 -0
  44. package/dist/public/static/js/20.6b37f925.chunk.js +2 -0
  45. package/dist/public/static/js/21.8704b265.chunk.js +2 -0
  46. package/dist/public/static/js/22.5a2b56ff.chunk.js +2 -0
  47. package/dist/public/static/js/23.a53c8d7b.chunk.js +2 -0
  48. package/dist/public/static/js/24.d44c620a.chunk.js +2 -0
  49. package/dist/public/static/js/25.3129d6c8.chunk.js +2 -0
  50. package/dist/public/static/js/26.9dfad319.chunk.js +2 -0
  51. package/dist/public/static/js/27.efbb318a.chunk.js +2 -0
  52. package/dist/public/static/js/28.b4840d60.chunk.js +2 -0
  53. package/dist/public/static/js/29.690d4b54.chunk.js +2 -0
  54. package/dist/public/static/js/3.a3490306.chunk.js +2 -0
  55. package/dist/public/static/js/30.5f174f94.chunk.js +2 -0
  56. package/dist/public/static/js/31.4a7cf109.chunk.js +2 -0
  57. package/dist/public/static/js/32.2247dcf7.chunk.js +2 -0
  58. package/dist/public/static/js/33.87874f33.chunk.js +2 -0
  59. package/dist/public/static/js/34.aec37d56.chunk.js +3 -0
  60. package/dist/public/static/js/34.aec37d56.chunk.js.LICENSE.txt +37 -0
  61. package/dist/public/static/js/35.73887e02.chunk.js +3 -0
  62. package/dist/public/static/js/35.73887e02.chunk.js.LICENSE.txt +7 -0
  63. package/dist/public/static/js/36.19d2e05a.chunk.js +3 -0
  64. package/dist/public/static/js/36.19d2e05a.chunk.js.LICENSE.txt +14 -0
  65. package/dist/public/static/js/37.96925a5f.chunk.js +3 -0
  66. package/dist/public/static/js/37.96925a5f.chunk.js.LICENSE.txt +8 -0
  67. package/dist/public/static/js/38.701a2e85.chunk.js +2 -0
  68. package/dist/public/static/js/39.4cbf0549.chunk.js +2 -0
  69. package/dist/public/static/js/4.bdc4a5c5.chunk.js +2 -0
  70. package/dist/public/static/js/6.69ba4792.chunk.js +2 -0
  71. package/dist/public/static/js/client.0ead607b.chunk.js +2 -0
  72. package/dist/public/static/js/draft-js-lib-isSoftNewlineEvent.ad4b1307.chunk.js +2 -0
  73. package/dist/public/static/js/moment.dfd83abb.chunk.js +2 -0
  74. package/dist/public/static/js/plone-volto-components-manage-Widgets-DatetimeWidget.77a7ad0d.chunk.js +2 -0
  75. package/dist/public/static/js/plone-volto-components-theme-View-EventView.c500936a.chunk.js +2 -0
  76. package/dist/public/static/js/react-dates.d94a34ee.chunk.js +2 -0
  77. package/dist/public/static/js/react-select.43f17559.chunk.js +2 -0
  78. package/dist/public/static/js/react-simple-code-editor.484ec69f.chunk.js +2 -0
  79. package/dist/public/static/js/runtime~client.c0921d19.js +2 -0
  80. package/dist/public/static/media/Logo.16e25cdf.svg +21 -0
  81. package/dist/public/static/media/block-image.8a4a14d5.svg +8 -0
  82. package/dist/public/static/media/block-maps.731e84f6.svg +7 -0
  83. package/dist/public/static/media/block-video.832fa3ff.svg +7 -0
  84. package/dist/public/static/media/default-image.9451b251.svg +13 -0
  85. package/dist/public/static/media/flags.9c74e172.png +0 -0
  86. package/dist/public/static/media/icons.022583c4.svg +320 -0
  87. package/dist/public/static/media/icons.06400145.ttf +0 -0
  88. package/dist/public/static/media/icons.dbc1ef8b.eot +0 -0
  89. package/dist/public/static/media/icons.df45b7de.woff +0 -0
  90. package/dist/server.js +2 -0
  91. package/docker-compose.yml +15 -10
  92. package/locales/ca/LC_MESSAGES/volto.po +33 -9
  93. package/locales/ca.json +1 -1
  94. package/locales/de/LC_MESSAGES/volto.po +33 -9
  95. package/locales/de.json +1 -1
  96. package/locales/en/LC_MESSAGES/volto.po +33 -9
  97. package/locales/en.json +1 -1
  98. package/locales/es/LC_MESSAGES/volto.po +33 -9
  99. package/locales/es.json +1 -1
  100. package/locales/eu/LC_MESSAGES/volto.po +33 -9
  101. package/locales/eu.json +1 -1
  102. package/locales/fr/LC_MESSAGES/volto.po +33 -9
  103. package/locales/fr.json +1 -1
  104. package/locales/it/LC_MESSAGES/volto.po +33 -9
  105. package/locales/it.json +1 -1
  106. package/locales/ja/LC_MESSAGES/volto.po +33 -9
  107. package/locales/ja.json +1 -1
  108. package/locales/nl/LC_MESSAGES/volto.po +33 -9
  109. package/locales/nl.json +1 -1
  110. package/locales/pt/LC_MESSAGES/volto.po +33 -9
  111. package/locales/pt.json +1 -1
  112. package/locales/pt_BR/LC_MESSAGES/volto.po +33 -9
  113. package/locales/pt_BR.json +1 -1
  114. package/locales/ro/LC_MESSAGES/volto.po +33 -9
  115. package/locales/ro.json +1 -1
  116. package/locales/volto.pot +34 -10
  117. package/logos/Logo.png +0 -0
  118. package/logos/volto-colorful.png +0 -0
  119. package/logos/volto-colorful.svg +35 -0
  120. package/logos/volto-guide.png +0 -0
  121. package/logos/volto-h-transparent.svg +6 -0
  122. package/logos/volto-transparent.png +0 -0
  123. package/logos/volto-transparent.svg +19 -0
  124. package/logos/volto-transparent2.svg +5 -0
  125. package/logos/volto-yellow.svg +29 -0
  126. package/logos/volto.sketch +0 -0
  127. package/netlify.toml +2 -0
  128. package/package.json +22 -12
  129. package/pyvenv.cfg +3 -0
  130. package/razzle.config.js +17 -13
  131. package/src/actions/language/language.js +23 -11
  132. package/src/actions/lazyLibraries/lazyLibraries.js +8 -4
  133. package/src/components/index.js +2 -0
  134. package/src/components/manage/Add/Add.jsx +1 -1
  135. package/src/components/manage/AnchorPlugin/components/LinkButton/AddLinkForm.jsx +1 -2
  136. package/src/components/manage/AnchorPlugin/components/LinkButton/index.jsx +15 -6
  137. package/src/components/manage/AnchorPlugin/index.jsx +12 -5
  138. package/src/components/manage/AnchorPlugin/utils/EditorUtils.js +8 -7
  139. package/src/components/manage/Blocks/Description/Edit.jsx +33 -19
  140. package/src/components/manage/Blocks/Description/Edit.test.jsx +6 -0
  141. package/src/components/manage/Blocks/HeroImageLeft/Edit.jsx +37 -26
  142. package/src/components/manage/Blocks/HeroImageLeft/Edit.test.jsx +6 -0
  143. package/src/components/manage/Blocks/Listing/View.jsx +1 -1
  144. package/src/components/manage/Blocks/Search/README.md +20 -0
  145. package/src/components/manage/Blocks/Search/components/CheckboxFacet.jsx +16 -3
  146. package/src/components/manage/Blocks/Search/components/DateRangeFacet.jsx +120 -0
  147. package/src/components/manage/Blocks/Search/components/DateRangeFacet.test.jsx +34 -0
  148. package/src/components/manage/Blocks/Search/components/DateRangeFacetFilterListEntry.jsx +39 -0
  149. package/src/components/manage/Blocks/Search/components/Facets.jsx +24 -25
  150. package/src/components/manage/Blocks/Search/components/FilterList.jsx +37 -67
  151. package/src/components/manage/Blocks/Search/components/FilterList.test.jsx +49 -1
  152. package/src/components/manage/Blocks/Search/components/SelectFacet.jsx +9 -0
  153. package/src/components/manage/Blocks/Search/components/SelectFacetFilterListEntry.jsx +42 -0
  154. package/src/components/manage/Blocks/Search/components/SelectStyling.jsx +1 -1
  155. package/src/components/manage/Blocks/Search/components/ToggleFacet.jsx +38 -0
  156. package/src/components/manage/Blocks/Search/components/ToggleFacetFilterListEntry.jsx +39 -0
  157. package/src/components/manage/Blocks/Search/components/base.js +52 -0
  158. package/src/components/manage/Blocks/Search/components/index.js +5 -0
  159. package/src/components/manage/Blocks/Search/hocs/withSearch.jsx +68 -27
  160. package/src/components/manage/Blocks/Search/schema.js +7 -4
  161. package/src/components/manage/Blocks/Search/utils.js +16 -0
  162. package/src/components/manage/Blocks/Table/Cell.jsx +40 -14
  163. package/src/components/manage/Blocks/Table/Cell.test.jsx +7 -1
  164. package/src/components/manage/Blocks/Table/Edit.jsx +7 -3
  165. package/src/components/manage/Blocks/Table/Edit.test.jsx +6 -0
  166. package/src/components/manage/Blocks/Table/View.jsx +2 -2
  167. package/src/components/manage/Blocks/Text/Edit.jsx +56 -14
  168. package/src/components/manage/Blocks/Text/Edit.test.jsx +7 -1
  169. package/src/components/manage/Blocks/Text/View.jsx +2 -2
  170. package/src/components/manage/Blocks/Title/Edit.jsx +25 -13
  171. package/src/components/manage/Blocks/Title/Edit.test.jsx +6 -0
  172. package/src/components/manage/Contents/ContentsIndexHeader.test.jsx +2 -1
  173. package/src/components/manage/Contents/ContentsUploadModal.jsx +3 -1
  174. package/src/components/manage/Multilingual/CreateTranslation.jsx +1 -1
  175. package/src/components/manage/Multilingual/TranslationObject.jsx +1 -1
  176. package/src/components/manage/Pluggable/index.js +1 -1
  177. package/src/components/manage/Preferences/PersonalPreferences.jsx +1 -1
  178. package/src/components/manage/Sidebar/Sidebar.jsx +5 -1
  179. package/src/components/manage/Toolbar/Toolbar.jsx +3 -1
  180. package/src/components/manage/UniversalLink/UniversalLink.jsx +5 -2
  181. package/src/components/manage/Widgets/DatetimeWidget.jsx +3 -1
  182. package/src/components/manage/Widgets/IdWidget.jsx +234 -0
  183. package/src/components/manage/Widgets/IdWidget.stories.jsx +21 -0
  184. package/src/components/manage/Widgets/IdWidget.test.jsx +135 -0
  185. package/src/components/manage/Widgets/SelectAutoComplete.jsx +2 -2
  186. package/src/components/manage/Widgets/UrlWidget.jsx +1 -1
  187. package/src/components/manage/Widgets/WysiwygWidget.jsx +45 -19
  188. package/src/components/manage/Widgets/WysiwygWidget.test.jsx +7 -1
  189. package/src/components/theme/ContactForm/ContactForm.jsx +1 -1
  190. package/src/components/theme/EventDetails/EventDetails.jsx +140 -0
  191. package/src/components/theme/EventDetails/EventDetails.test.jsx +87 -0
  192. package/src/components/theme/LanguageSelector/LanguageSelector.js +2 -18
  193. package/src/components/theme/Login/Login.jsx +3 -1
  194. package/src/components/theme/MultilingualRedirector/MultilingualRedirector.jsx +10 -31
  195. package/src/components/theme/View/EventView.jsx +62 -140
  196. package/src/components/theme/View/LinkView.jsx +3 -3
  197. package/src/components/theme/View/NewsItemView.jsx +44 -35
  198. package/src/components/theme/View/View.jsx +5 -1
  199. package/src/config/Blocks.jsx +31 -0
  200. package/src/config/Loadables.jsx +22 -0
  201. package/src/config/RichTextEditor/Blocks.jsx +25 -20
  202. package/src/config/RichTextEditor/Plugins.jsx +38 -31
  203. package/src/config/RichTextEditor/Styles.jsx +48 -44
  204. package/src/config/RichTextEditor/index.js +25 -0
  205. package/src/config/Widgets.jsx +2 -0
  206. package/src/config/index.js +15 -18
  207. package/src/helpers/Api/Api.js +20 -4
  208. package/src/helpers/Extensions/index.js +1 -1
  209. package/src/helpers/Extensions/withBlockExtensions.js +4 -0
  210. package/src/helpers/Extensions/withBlockExtensions.test.js +26 -1
  211. package/src/helpers/Url/Url.js +41 -1
  212. package/src/helpers/Url/Url.test.js +7 -0
  213. package/src/helpers/Url/urlRegex.js +7 -1
  214. package/src/helpers/index.js +3 -0
  215. package/src/middleware/api.js +35 -3
  216. package/src/server.jsx +20 -6
  217. package/src/start-client.jsx +2 -2
  218. package/src/store.js +1 -1
  219. package/test-setup-config.js +22 -7
  220. package/theme/themes/pastanaga/extras/blocks.less +29 -0
  221. package/theme/themes/pastanaga/extras/contents.less +6 -0
  222. package/{webpack-bundle-analyze-plugin.js → webpack-plugins/webpack-bundle-analyze-plugin.js} +0 -0
  223. package/{webpack-less-plugin.js → webpack-plugins/webpack-less-plugin.js} +0 -0
  224. package/{webpack-relative-resolver.js → webpack-plugins/webpack-relative-resolver.js} +0 -0
  225. package/{webpack-root-resolver.js → webpack-plugins/webpack-root-resolver.js} +0 -0
  226. package/{webpack-sentry-plugin.js → webpack-plugins/webpack-sentry-plugin.js} +0 -0
  227. package/{webpack-svg-plugin.js → webpack-plugins/webpack-svg-plugin.js} +0 -0
  228. package/.surgeignore +0 -2
  229. package/Dockerfile.slim +0 -27
  230. package/patches/fixprettier.patch +0 -11
  231. package/patches/fixstylelint.patch +0 -11
  232. package/src/components/manage/AnchorPlugin/utils/URLUtils.js +0 -36
  233. package/src/components/manage/AnchorPlugin/utils/mailRegex.js +0 -2
  234. package/src/components/manage/AnchorPlugin/utils/telRegex.js +0 -1
  235. package/src/components/manage/AnchorPlugin/utils/urlRegex.js +0 -54
  236. package/styleguide.config.js +0 -42
package/.eslintrc CHANGED
@@ -32,7 +32,7 @@
32
32
  "settings": {
33
33
  "import/resolver": {
34
34
  "alias": {
35
- "map": [["@plone/volto", "./src"]],
35
+ "map": [["@plone/volto", "./src"], ["@package", "./src"], ["@root", "./src"]],
36
36
  "extensions": [".js", ".jsx", ".json"]
37
37
  },
38
38
  "babel-plugin-root-import": {
@@ -4,7 +4,6 @@ about: Create a report to help us improve Volto
4
4
  title: ''
5
5
  labels: '01 type: bug'
6
6
  assignees: ''
7
-
8
7
  ---
9
8
 
10
9
  **Describe the bug**
@@ -12,6 +11,7 @@ A clear and concise description of what the bug is.
12
11
 
13
12
  **To Reproduce**
14
13
  Steps to reproduce the behavior:
14
+
15
15
  1. Go to '...'
16
16
  2. Click on '....'
17
17
  3. Scroll down to '....'
@@ -24,11 +24,12 @@ A clear and concise description of what you expected to happen.
24
24
  If applicable, add screenshots to help explain your problem.
25
25
 
26
26
  **Software (please complete the following information):**
27
- - OS: [e.g. iOS]
28
- - Browser [e.g. chrome, safari]
29
- - Volto Version [e.g. 8.5.0]
30
- - Plone Version [e.g. 5.2.2]
31
- - Plone REST API Version [e.g. 7.0.1]
27
+
28
+ - OS: [e.g. iOS]
29
+ - Browser [e.g. chrome, safari]
30
+ - Volto Version [e.g. 8.5.0]
31
+ - Plone Version [e.g. 5.2.2]
32
+ - Plone REST API Version [e.g. 7.0.1]
32
33
 
33
34
  **Additional context**
34
35
  Add any other context about the problem here.
@@ -4,7 +4,6 @@ about: Suggest an idea for Volto
4
4
  title: ''
5
5
  labels: '04 type: enhancement'
6
6
  assignees: ''
7
-
8
7
  ---
9
8
 
10
9
  **Is your feature request related to a problem? Please describe.**
@@ -59,7 +59,7 @@ jobs:
59
59
  # CI: true
60
60
 
61
61
  - name: Cypress Core Sandbox Acceptance Tests
62
- run: yarn ci:cypress:run:core-sandbox
62
+ run: yarn ci:cypress:run:coresandbox
63
63
 
64
64
  # Upload Cypress screenshots
65
65
  - uses: actions/upload-artifact@v1
@@ -3,79 +3,39 @@ on:
3
3
  push:
4
4
  branches:
5
5
  - master
6
+ # Build pull requests
7
+ pull_request:
8
+
6
9
  jobs:
7
- build:
10
+ docs:
8
11
  runs-on: ubuntu-latest
9
12
  strategy:
10
13
  matrix:
11
- node-version: [16.x]
12
- python-version: [3.7]
14
+ python-version: ['3.10']
13
15
  steps:
14
16
  - uses: actions/checkout@v2
15
17
 
16
- # node setup
17
- - name: Use Node.js ${{ matrix.node-version }}
18
- uses: actions/setup-node@v1
19
- with:
20
- node-version: ${{ matrix.node-version }}
21
-
22
- # node cache
23
- - name: Get yarn cache directory path
24
- id: yarn-cache-dir-path
25
- run: echo "::set-output name=dir::$(yarn cache dir)"
26
- - uses: actions/cache@v1
27
- id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`)
28
- with:
29
- path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
30
- key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
31
- restore-keys: |
32
- ${{ runner.os }}-yarn-
33
-
34
- # node install
35
- - run: yarn install --frozen-lockfile
36
-
37
- # python setup
38
18
  - name: Set up Python ${{ matrix.python-version }}
39
- uses: actions/setup-python@v1
19
+ uses: actions/setup-python@v2
40
20
  with:
41
21
  python-version: ${{ matrix.python-version }}
42
22
 
43
- # python cache
44
- - uses: actions/cache@v1
23
+ - name: Use Python GitHub Actions cache
24
+ uses: actions/cache@v2
45
25
  with:
46
26
  path: ~/.cache/pip
47
27
  key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements-docs.txt') }}
48
28
  restore-keys: |
49
29
  ${{ runner.os }}-pip-
50
30
 
51
- # python install
52
- - run: pip install virtualenv
31
+ - name: Create Python virtual environment
32
+ run: pip install virtualenv
53
33
 
54
- - name: pip install
34
+ - name: pip install requirements
55
35
  run: pip install -r requirements-docs.txt
56
36
 
57
- # Build main documentation
58
- - name: Build documentation
59
- working-directory: docs
60
- run: mkdocs build
61
-
62
- # Build Storybook
63
- - name: Build Storybook
64
- run: yarn build-storybook -o docs/build/storybook
65
-
66
- # Deploy docs to server
67
- - name: Deploy to server
68
- id: deploy
69
- uses: Pendect/action-rsyncer@v1.1.0
70
- env:
71
- DEPLOY_KEY: ${{secrets.DEPLOY_KEY}}
72
- with:
73
- flags: '-avzr --delete'
74
- options: ''
75
- ssh_options: '-p ${{secrets.DEPLOY_PORT}}'
76
- src: 'docs/build/'
77
- dest: '${{secrets.DEPLOY_USER}}@${{secrets.DEPLOY_SERVER}}:/var/www/docs.voltocms.com'
78
-
37
+ # - name: Check for broken links
38
+ # run: make docs-linkcheckbroken
79
39
 
80
- - name: Display status from deploy
81
- run: echo "${{ steps.deploy.outputs.status }}"
40
+ - name: Build HTML documentation
41
+ run: make docs-html
@@ -5,7 +5,7 @@ const fileLoaderFinder = makeLoaderFinder('file-loader');
5
5
 
6
6
  const projectRootPath = path.resolve('.');
7
7
  const createAddonsLoader = require('../create-addons-loader');
8
- const lessPlugin = require('../webpack-less-plugin');
8
+ const lessPlugin = require('../webpack-plugins/webpack-less-plugin');
9
9
 
10
10
  const createConfig = require('../node_modules/razzle/config/createConfigAsync.js');
11
11
  const razzleConfig = require(path.join(projectRootPath, 'razzle.config.js'));
@@ -31,14 +31,8 @@ const SVGLOADER = {
31
31
  };
32
32
 
33
33
  module.exports = {
34
- stories: [
35
- '../src/**/*.stories.mdx',
36
- '../src/**/*.stories.@(js|jsx|ts|tsx)'
37
- ],
38
- addons: [
39
- '@storybook/addon-links',
40
- '@storybook/addon-essentials',
41
- ],
34
+ stories: ['../src/**/*.stories.mdx', '../src/**/*.stories.@(js|jsx|ts|tsx)'],
35
+ addons: ['@storybook/addon-links', '@storybook/addon-essentials'],
42
36
  webpackFinal: async (config, { configType }) => {
43
37
  // `configType` has a value of 'DEVELOPMENT' or 'PRODUCTION'
44
38
  // You can change the configuration based on that.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,141 @@
1
1
  # Change Log
2
2
 
3
+ ## 15.0.0-alpha.11 (2022-03-02)
4
+
5
+ ### Bugfix
6
+
7
+ - Fixed id widget translations @robgietema
8
+
9
+ ### Internal
10
+
11
+ - Use `@root` alias instead of `~` in several module references. Most of the Volto project code no longer needs the root alias, so it makes sense to phase it out at some point @tiberiuichim
12
+ - Alias `lodash` to `lodash-es`, as this will include only one copy of lodash in the bundle @tiberiuichim
13
+
14
+ ## 15.0.0-alpha.10 (2022-02-28)
15
+
16
+ ### Bugfix
17
+
18
+ - Turn `lazyLibraries` action into a thunk. Added a conditional if the library is loaded or in process to be loaded, do not try to load it again. This fixes the lag on load `draftjs` when having a lot of draftjs blocks. @sneridagh
19
+
20
+ ## 15.0.0-alpha.9 (2022-02-28)
21
+
22
+ ### Breaking
23
+
24
+ - Deprecating `lang` cookie in favor of Plone official one `I18N_LANGUAGE` @sneridagh
25
+
26
+ ### Feature
27
+
28
+ - Added id widget to manage short name @robgietema
29
+ - Refactor language syncronizer. Remove it from the React tree, integrate it into the Api Redux middleware @sneridagh
30
+ - Add blocks rendering in Event and NewsItem views (rel plone.volto#32) @nzambello @ksuess
31
+
32
+ ### Bugfix
33
+
34
+ - Fix redirect bug with URLs containing querystrings @robgietema
35
+
36
+ ## 15.0.0-alpha.8 (2022-02-22)
37
+
38
+ ### Internal
39
+
40
+ - Better implementation of the add-on load coming from the environment variable `ADDONS` @sneridagh
41
+
42
+ ## 15.0.0-alpha.7 (2022-02-22)
43
+
44
+ ### Feature
45
+
46
+ - Introduce the new `BUILD_DIR` runtime environment variable to direct the build to run in an especific location, different than `build` folder. @sneridagh
47
+ - Handle redirect permanent calls from the backend in the frontend (e.g. when changing the short name) @robgietema
48
+
49
+ ## 15.0.0-alpha.6 (2022-02-21)
50
+
51
+ ### Feature
52
+
53
+ - DatetimeWidget 'noPastDates' option: Take widgetOptions?.pattern_options?.noPastDates of backend schema into account. @ksuess
54
+ - Add a new type of filter facet for the Search block. Heavily refactor some searchblock internals. @tiberiuichim
55
+ - Add date range facet to the search block @robgietema
56
+
57
+ ### Internal
58
+
59
+ - Improve flaky test in coresandbox search Cypress tests @sneridagh
60
+
61
+ ### Documentation
62
+
63
+ - (Experimental) Prepare documentation for MyST and importing into `plone/documentation@6-dev`. @stevepiercy
64
+ - Fix broken links and redirects in documentation to be compatible with MyST. @stevepiercy
65
+ - Update add-on internationalization. @ksuess
66
+ - Add MyST and Sphinx basic configuration for rapid build and comparison against MkDocs builds. @stevepiercy
67
+ - Fix many MyST and Sphinx warnings. @stevepiercy
68
+ - Remove MkDocs configuration. See https://github.com/plone/volto/issues/3042 @stevepiercy
69
+ - Add Plone docs to Intersphinx and fix broken link. @stevepiercy
70
+ - Get version from `package.json` @sneridagh
71
+ - Remove legacy folder in docs @sneridagh
72
+ - Backport docs of RAZZLE_TESTING_ADDONS environment variables. See https://github.com/plone/volto/pull/3067/files#diff-00609ed769cd40cf3bc3d6fcc4431b714cb37c73cedaaea18fe9fc4c1c589597 @stevepiercy
73
+ - Add missing developer-guidelines/typescript to toctree @stevepiercy
74
+ - Add Netlify for preview of Sphinx builds for pull requests against `master` and `plone6-docs`. @stevepiercy
75
+ - Clean up toctree errors by removing obsolete files, adding `:orphan:` field list, and reorganizing some files. @sneridagh and @stevepiercy
76
+ - Switch to using netlify.toml to configure Netlify Python environment. @stevepiercy
77
+ - Convert admonition syntax from Markdown to MyST. @sneridagh
78
+ - Make links build both in Volto and Plone documentation. See https://github.com/plone/volto/pull/3094 @stevepiercy
79
+
80
+ ## 15.0.0-alpha.5 (2022-02-16)
81
+
82
+ ### Breaking
83
+
84
+ - Lazyload draftjs library. See the upgrade guide on how that impacts you, in case you have extended the rich text editor configuration @tiberiuichim @kreafox
85
+ See https://docs.voltocms.com/upgrade-guide/ for more information.
86
+
87
+ ### Feature
88
+
89
+ - Add `cookiesExpire` value to config to control the cookie expiration @giuliaghisini
90
+
91
+ ## 15.0.0-alpha.4 (2022-02-16)
92
+
93
+ ### Breaking
94
+
95
+ - Markup change in `LinkView` component.
96
+ - Rename `core-sandbox` to `coresandbox` for sake of consistency @sneridagh
97
+ - Extend the original intent and rename `RAZZLE_TESTING_ADDONS` to `ADDONS`. @sneridagh
98
+ See https://docs.voltocms.com/upgrade-guide/ for more information.
99
+
100
+ ### Internal
101
+
102
+ - House cleanup, remove some unused files in the root @sneridagh
103
+ - Move Webpack related files to `webpack-plugins` folder @sneridagh
104
+ - Remove unused Dockerfiles @sneridagh
105
+ - Update Docker compose to latest images and best practices @sneridagh
106
+
107
+ ## 15.0.0-alpha.3 (2022-02-11)
108
+
109
+ ### Bugfix
110
+
111
+ - Fix the upload image in contents view @iFlameing
112
+ - add "view" id to contact-form container for main content skiplink @ThomasKindermann
113
+ - Fix loading indicator positioning on Login form submit @sneridagh
114
+
115
+ ### Internal
116
+
117
+ - Add new RawMaterial Volto websites in production @nzambello
118
+
119
+ ## 15.0.0-alpha.2 (2022-02-10)
120
+
121
+ ### Breaking
122
+
123
+ - Language Switcher no longer takes care of the change of the language on the Redux Store. This responsability has been unified in the `MultilingualRedirector` @sneridagh
124
+
125
+ ### Bugfix
126
+
127
+ - Prevent the MultilingualRedirector to force 4 content load when switching the language @reebalazs
128
+
129
+ ### Documentation
130
+
131
+ - Upgrade Guide i18n: Make clear what's project, what add-on. @ksuess
132
+
133
+ ## 15.0.0-alpha.1 (2022-02-09)
134
+
135
+ ### Bugfix
136
+
137
+ - Fix the `null` error in SelectAutoComplete Widget @iFlameing
138
+
3
139
  ## 15.0.0-alpha.0 (2022-02-09)
4
140
 
5
141
  ### Breaking
@@ -87,7 +223,7 @@ new users/evaluators. @fredvd
87
223
 
88
224
  ### Feature
89
225
 
90
- - VocabularyTermsWidget: Token is now on creation of term editable, but stays ineditable afterwards. @ksuess
226
+ - VocabularyTermsWidget: Token is now on creation of term editable, but stays ineditable afterwards. @ksuess
91
227
 
92
228
  ### Bugfix
93
229
 
@@ -243,7 +379,7 @@ See https://docs.voltocms.com/upgrade-guide/ for more information about all the
243
379
  @tiberiuichim
244
380
  - Added `.storybook` setup in the Volto `app` generator. Volto projects generated from this scafolding are now ready to run Storybook for the project and develop addons (in `src/addons` folder).
245
381
  - Style checkboxes @nileshgulia1
246
- - Allow loading .less files also from a Volto project's `src` folder. @tiberiuichim
382
+ - Allow loading .less files also from a Volto project's `src` folder. @tiberiuichim
247
383
  - Add catalan translation @bloodbare @sneridagh
248
384
  - Updated Volto production sites list @giuliaghisini
249
385
  - Japanese translation updated @terapyon
@@ -415,6 +551,8 @@ See https://docs.voltocms.com/upgrade-guide/ for more information about all the
415
551
  - Update to plone.restapi 8.16.2 (revert missing_value PR) @sneridagh
416
552
  - Update all requirements and the reasoning behind them in builds @sneridagh
417
553
  - Update Plone version in api backend to 5.2.6. Update README and cleanup @fredvd
554
+ - Various local development build improvements @rpatterson
555
+ - Document CI changelog verifier failure details that mislead contributors
418
556
  - Document CI changelog verifier failure details that mislead contributors @rpatterson
419
557
  - Updated italian translation @pnicolli
420
558
 
@@ -11,4 +11,3 @@ If a participant engages in harassing behavior, representatives of the community
11
11
  If you are being harassed, notice that someone else is being harassed, or have any other concerns, please act to intercede or ask for help from any member of the Plone Foundation, IRC chat admins, website admins, or organizers/representatives of any physical events put on under the auspices of the Plone Foundation.
12
12
 
13
13
  Source: https://plone.org/foundation/materials/foundation-resolutions/code-of-conduct (2019-09-29)
14
-
package/COMMITLINT.md CHANGED
@@ -4,75 +4,73 @@ Volto uses the (conventional commit specification)[https://www.conventionalcommi
4
4
 
5
5
  All commit messages should have the following form:
6
6
 
7
- ````
7
+ ```
8
8
  <type>: <description>
9
- ````
9
+ ```
10
10
 
11
11
  ## Fix
12
12
 
13
13
  A fix (PATCH in semantic versioning) looks like this:
14
14
 
15
- ````
15
+ ```
16
16
  fix: correct minor typos in code
17
- ````
17
+ ```
18
18
 
19
19
  ## Feature
20
20
 
21
21
  A new feature (MINOR in semantic versioning) looks like this:
22
22
 
23
- ````
23
+ ```
24
24
  feat: add catalan language
25
- ````
25
+ ```
26
26
 
27
27
  ## Breaking Change
28
28
 
29
29
  Breaking changes can be indicated by either appending a "!" to the type:
30
30
 
31
- ````
31
+ ```
32
32
  refactor!: drop support for Node 6
33
- ````
33
+ ```
34
34
 
35
35
  Or adding "BREAKING CHANGE" to the commit message body text:
36
36
 
37
- ````
37
+ ```
38
38
  refactor!: drop support for Node 6
39
39
 
40
40
  BREAKING CHANGE: refactor to use JavaScript features not available in Node 6.
41
- ````
41
+ ```
42
42
 
43
43
  ## Available Types
44
44
 
45
45
  In addition to "fix" and "feat" the following types are allowed:
46
46
  build:, chore:, ci:, docs:, style:, refactor:, perf:, test:
47
47
 
48
-
49
-
50
48
  Install commitlint:
51
49
 
52
- ````
50
+ ```
53
51
  npm install --save-dev @commitlint/{config-conventional,cli}
54
- ````
52
+ ```
55
53
 
56
54
  or via yarn:
57
55
 
58
- ````
56
+ ```
59
57
  yarn add @commitlint/{config-conventional,cli}
60
- ````
58
+ ```
61
59
 
62
60
  Create a commitlint.config.js file:
63
61
 
64
- ````
62
+ ```
65
63
  echo "module.exports = {extends: ['@commitlint/config-conventional']}" > commitlint.config.js
66
- ````
64
+ ```
67
65
 
68
66
  Add husky to package.json:
69
67
 
70
- ````
68
+ ```
71
69
  {
72
70
  "husky": {
73
71
  "hooks": {
74
72
  "commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
75
- }
73
+ }
76
74
  }
77
75
  }
78
- ````
76
+ ```
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Volto
2
2
 
3
- <img align="right" width="300" alt="Volto png" src="./docs/logos/volto-colorful.png" />
3
+ <img align="right" width="300" alt="Volto png" src="./logos/volto-colorful.png" />
4
4
 
5
5
  [![NPM](https://img.shields.io/npm/v/@plone/volto.svg)](https://www.npmjs.com/package/@plone/volto)
6
6
  [![Build Status Core](https://github.com/plone/volto/actions/workflows/core.yml/badge.svg)](https://github.com/plone/volto/actions)
@@ -161,6 +161,7 @@ Volto is actively developed since 2017 and used in production since 2018 on the
161
161
  - [EEA-IMSv4](https://www.eea.europa.eu/ims) (EEA Indicator Management System v4. Developed by [Eau de web](https://eaudeweb.ro) for the European Environmental Agency, 2021)
162
162
  - [Memori](https://memori.ai/en) (Corporate website for Memori, startup specialising in technologies applied to the experience of memory through the development of Artificial Intelligences. Developed by [RawMaterial](https://rawmaterial.it/en), 2021)
163
163
  - [TwinCreator](https://twincreator.com/en) (TwinCreator allows you to design and train multiple AI’s through simple conversation through NLP. Developed by [RawMaterial](https://rawmaterial.it/en), 2021)
164
+ - [MemoryTwin](https://memorytwin.com/en) (Product website, MemoryTwin allows you to create your personal artificial intelligence, able to remember and speak. Developed by [RawMaterial](https://rawmaterial.it/en), 2022)
164
165
 
165
166
  Please create a new [issue](https://github.com/plone/volto/issues/new) or [pull request](https://github.com/plone/volto/pulls) to add your Volto-site here!
166
167
 
package/SECURITY.md CHANGED
@@ -12,4 +12,3 @@ Volto is currently under very active development. Therefore we only support the
12
12
  ## Reporting a Vulnerability
13
13
 
14
14
  If you found a possible vulnerability please contact the Plone security team under security@plone.org.
15
-
package/addon-registry.js CHANGED
@@ -124,10 +124,13 @@ class AddonConfigurationRegistry {
124
124
 
125
125
  this.initDevelopmentPackages();
126
126
  this.initPublishedPackages();
127
- this.initTestingPackages();
127
+ this.initAddonsFromEnvVar();
128
128
 
129
129
  this.dependencyGraph = buildDependencyGraph(
130
- this.resultantMergedAddons,
130
+ [
131
+ ...this.resultantMergedAddons,
132
+ ...(process.env.ADDONS ? process.env.ADDONS.split(';') : []),
133
+ ],
131
134
  (name) => {
132
135
  this.initPublishedPackage(name);
133
136
  return this.packages[name].addons || [];
@@ -203,15 +206,16 @@ class AddonConfigurationRegistry {
203
206
  }
204
207
  }
205
208
 
206
- initTestingPackages() {
207
- if (process.env.RAZZLE_TESTING_ADDONS) {
208
- process.env.RAZZLE_TESTING_ADDONS.split(',').forEach(
209
- this.initTestingPackage.bind(this),
209
+ initAddonsFromEnvVar() {
210
+ if (process.env.ADDONS) {
211
+ process.env.ADDONS.split(';').forEach(
212
+ this.initAddonFromEnvVar.bind(this),
210
213
  );
211
214
  }
212
215
  }
213
216
 
214
- initTestingPackage(name) {
217
+ initAddonFromEnvVar(name) {
218
+ // First lookup in the packages folder, local to the root (either vanilla Volto or project)
215
219
  const normalizedAddonName = name.split(':')[0];
216
220
  const testingPackagePath = `${this.projectRootPath}/packages/${normalizedAddonName}/src`;
217
221
  if (fs.existsSync(testingPackagePath)) {
@@ -233,6 +237,10 @@ class AddonConfigurationRegistry {
233
237
  this.packages[normalizedAddonName] || {},
234
238
  pkg,
235
239
  );
240
+ } else {
241
+ // Fallback in case the addon is released (not in packages folder nor in development, but in node_modules)
242
+ const normalizedAddonName = name.split(':')[0];
243
+ this.initPublishedPackage(normalizedAddonName);
236
244
  }
237
245
  }
238
246
 
@@ -385,14 +393,14 @@ class AddonConfigurationRegistry {
385
393
  }
386
394
 
387
395
  /**
388
- * Allow testing packages addons to customize Volto and other addons.
396
+ * Allow packages from addons set in env vars to customize Volto and other addons.
389
397
  *
390
- * Same as the above one, but specific for Volto testing addons
398
+ * Same as the above one, but specific for Volto addons coming from env vars
391
399
  */
392
- getTestingAddonCustomizationPaths() {
400
+ getAddonsFromEnvVarCustomizationPaths() {
393
401
  let aliases = {};
394
- if (process.env.RAZZLE_TESTING_ADDONS) {
395
- process.env.RAZZLE_TESTING_ADDONS.split(',').forEach((addon) => {
402
+ if (process.env.ADDONS) {
403
+ process.env.ADDONS.split(';').forEach((addon) => {
396
404
  const normalizedAddonName = addon.split(':')[0];
397
405
  const testingPackagePath = `${this.projectRootPath}/packages/${normalizedAddonName}/src`;
398
406
  if (fs.existsSync(testingPackagePath)) {
@@ -27,7 +27,7 @@ This file is autogenerated. Don't change it directly.
27
27
  Instead, change the "addons" setting in your package.json file.
28
28
  */
29
29
 
30
- const projectConfigLoader = require('@package/config');
30
+ const projectConfigLoader = require('@root/config');
31
31
  `;
32
32
  let configsToLoad = [],
33
33
  counter = 0;
@@ -91,7 +91,9 @@ Cypress.Commands.add(
91
91
  },
92
92
  });
93
93
  }
94
- if (['Document', 'Folder', 'CMSFolder'].includes(contentType)) {
94
+ if (
95
+ ['Document', 'News Item', 'Folder', 'CMSFolder'].includes(contentType)
96
+ ) {
95
97
  return cy
96
98
  .request({
97
99
  method: 'POST',
@@ -0,0 +1 @@
1
+ {"react-select":{"js":"/static/js/react-select.43f17559.chunk.js"},"moment":{"js":"/static/js/moment.dfd83abb.chunk.js"},"client":{"css":"/static/css/client.0ead607b.chunk.css","js":"/static/js/client.0ead607b.chunk.js"},"draft-js-lib-isSoftNewlineEvent":{"js":"/static/js/draft-js-lib-isSoftNewlineEvent.ad4b1307.chunk.js"},"plone-volto-components-manage-Widgets-DatetimeWidget":{"css":"/static/css/plone-volto-components-manage-Widgets-DatetimeWidget.77a7ad0d.chunk.css","js":"/static/js/plone-volto-components-manage-Widgets-DatetimeWidget.77a7ad0d.chunk.js"},"plone-volto-components-theme-View-EventView":{"js":"/static/js/plone-volto-components-theme-View-EventView.c500936a.chunk.js"},"react-dates":{"js":"/static/js/react-dates.d94a34ee.chunk.js"},"react-simple-code-editor":{"js":"/static/js/react-simple-code-editor.484ec69f.chunk.js"},"runtime~client":{"js":"/static/js/runtime~client.c0921d19.js"},"":{"json":"/../chunks.json","png":["/android-chrome-192x192.png","/android-chrome-512x512.png","/apple-touch-icon.png","/favicon-16x16.png","/favicon-32x32.png","/static/media/flags.9c74e172.png"],"ico":"/favicon.ico","svg":["/icon.svg","/static/media/Logo.16e25cdf.svg","/static/media/block-image.8a4a14d5.svg","/static/media/block-maps.731e84f6.svg","/static/media/block-video.832fa3ff.svg","/static/media/default-image.9451b251.svg","/static/media/icons.022583c4.svg"],"spa":"/index.html.spa","txt":["/robots.txt","/static/js/1.fece2b93.chunk.js.LICENSE.txt","/static/js/14.803b450c.chunk.js.LICENSE.txt","/static/js/15.c1eb25b4.chunk.js.LICENSE.txt","/static/js/19.61ef8815.chunk.js.LICENSE.txt","/static/js/34.aec37d56.chunk.js.LICENSE.txt","/static/js/35.73887e02.chunk.js.LICENSE.txt","/static/js/36.19d2e05a.chunk.js.LICENSE.txt","/static/js/37.96925a5f.chunk.js.LICENSE.txt"],"webmanifest":"/site.webmanifest","css":["/static/css/14.803b450c.chunk.css","/static/css/3.a3490306.chunk.css"],"js":["/static/js/0.3e794c57.chunk.js","/static/js/1.fece2b93.chunk.js","/static/js/14.803b450c.chunk.js","/static/js/15.c1eb25b4.chunk.js","/static/js/16.70e24cba.chunk.js","/static/js/17.f03d2a82.chunk.js","/static/js/18.0f0b1dfa.chunk.js","/static/js/19.61ef8815.chunk.js","/static/js/20.6b37f925.chunk.js","/static/js/21.8704b265.chunk.js","/static/js/22.5a2b56ff.chunk.js","/static/js/23.a53c8d7b.chunk.js","/static/js/24.d44c620a.chunk.js","/static/js/25.3129d6c8.chunk.js","/static/js/26.9dfad319.chunk.js","/static/js/27.efbb318a.chunk.js","/static/js/28.b4840d60.chunk.js","/static/js/29.690d4b54.chunk.js","/static/js/3.a3490306.chunk.js","/static/js/30.5f174f94.chunk.js","/static/js/31.4a7cf109.chunk.js","/static/js/32.2247dcf7.chunk.js","/static/js/33.87874f33.chunk.js","/static/js/34.aec37d56.chunk.js","/static/js/35.73887e02.chunk.js","/static/js/36.19d2e05a.chunk.js","/static/js/37.96925a5f.chunk.js","/static/js/38.701a2e85.chunk.js","/static/js/39.4cbf0549.chunk.js","/static/js/4.bdc4a5c5.chunk.js","/static/js/6.69ba4792.chunk.js"],"ttf":"/static/media/icons.06400145.ttf","eot":"/static/media/icons.dbc1ef8b.eot","woff":"/static/media/icons.df45b7de.woff"}}