@plone/volto 18.3.0 → 18.4.0

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.
package/.release-it.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "../scripts/prepublish.js": {}
4
4
  },
5
5
  "hooks": {
6
- "before:bump": ["pnpm i18n"],
6
+ "before:bump": ["pnpm i18n", "pnpm build:types", "git add types"],
7
7
  "after:bump": [
8
8
  "pipx run towncrier build --draft --yes --version ${version} > .changelog.draft",
9
9
  "pipx run towncrier build --yes --version ${version}",
package/CHANGELOG.md CHANGED
@@ -17,6 +17,20 @@ myst:
17
17
 
18
18
  <!-- towncrier release notes start -->
19
19
 
20
+ ## 18.4.0 (2024-12-17)
21
+
22
+ ### Feature
23
+
24
+ - Added a setting in the `config` object to set the site's CSS layers, if required. @sneridagh [#6539](https://github.com/plone/volto/issues/6539)
25
+
26
+ ### Internal
27
+
28
+ - Fixed and re-enabled the types declaration extractor from core Volto. @sneridagh [#6534](https://github.com/plone/volto/issues/6534)
29
+
30
+ ### Documentation
31
+
32
+ - Add monorepo structure to the README. Update the monorepo structure file tree. @stevepiercy [#6542](https://github.com/plone/volto/issues/6542)
33
+
20
34
  ## 18.3.0 (2024-12-12)
21
35
 
22
36
  ### Feature
package/README.md CHANGED
@@ -36,6 +36,30 @@ You can build your own or choose from the community released ones:
36
36
  You can try a Volto online demo at [https://demo.plone.org/](https://demo.plone.org/).
37
37
 
38
38
 
39
+ ## Monorepo structure
40
+
41
+ Since version 18.0.0-alpha4, the Volto core repository has had the shape of a monorepo, where "mono" means "single" and "repo" is short for "repository".
42
+ This means that several apps and libraries related to each other are stored in the same repository.
43
+ They are managed together but released individually.
44
+ This allows the code to be shared effectively, and unifies tracking of changes across all of the apps and libraries.
45
+
46
+ | Package | Location |
47
+ |---|---|
48
+ | [`@plone/client`](https://www.npmjs.com/package/@plone/client) | [`packages/client`](https://github.com/plone/volto/tree/main/packages/client#readme) |
49
+ | [`@plone/components`](https://www.npmjs.com/package/@plone/components) | [`packages/components`](https://github.com/plone/volto/tree/main/packages/components#readme) |
50
+ | [`@plone/generator-volto`](https://www.npmjs.com/package/@plone/generator-volto) | [`packages/generator-volto`](https://github.com/plone/volto/tree/main/packages/generator-volto#readme) |
51
+ | [`@plone/helpers`](https://www.npmjs.com/package/@plone/helpers) | [`packages/helpers`](https://github.com/plone/volto/tree/main/packages/helpers#readme) |
52
+ | [`@plone/providers`](https://www.npmjs.com/package/@plone/providers) | [`packages/providers`](https://github.com/plone/volto/tree/main/packages/providers#readme) |
53
+ | [`@plone/registry`](https://www.npmjs.com/package/@plone/registry) | [`packages/registry`](https://github.com/plone/volto/tree/main/packages/registry#readme) |
54
+ | [`@plone/scripts`](https://www.npmjs.com/package/@plone/scripts) | [`packages/scripts`](https://github.com/plone/volto/tree/main/packages/scripts#readme) |
55
+ | [`@plone/types`](https://www.npmjs.com/package/@plone/types) | [`packages/types`](https://github.com/plone/volto/tree/main/packages/types#readme) |
56
+ | none | [`packages/volto-guillotina`](https://github.com/plone/volto/tree/main/packages/volto-guillotina) |
57
+ | [`@plone/volto-slate`](https://www.npmjs.com/package/@plone/volto-slate) | [`packages/volto-slate`](https://github.com/plone/volto/tree/main/packages/volto-slate#readme) |
58
+ | [`@plone/volto-testing`](https://www.npmjs.com/package/@plone/volto-testing) | [`packages/volto-testing`](https://github.com/plone/volto/tree/main/packages/volto-testing) |
59
+
60
+ See also [Monorepo structure](https://6.docs.plone.org/volto/contributing/developing-core.html#monorepo-structure).
61
+
62
+
39
63
  ## Create a Volto project
40
64
 
41
65
  To start a new project using Volto, follow the [Plone installation documentation](https://6.docs.plone.org/install/create-project.html).
package/package.json CHANGED
@@ -9,7 +9,7 @@
9
9
  }
10
10
  ],
11
11
  "license": "MIT",
12
- "version": "18.3.0",
12
+ "version": "18.4.0",
13
13
  "repository": {
14
14
  "type": "git",
15
15
  "url": "git@github.com:plone/volto.git"
@@ -358,8 +358,8 @@
358
358
  "webpack-dev-server": "4.11.1",
359
359
  "webpack-node-externals": "3.0.0",
360
360
  "why": "0.6.2",
361
- "@plone/types": "1.1.0",
362
- "@plone/volto-coresandbox": "1.0.0"
361
+ "@plone/volto-coresandbox": "1.0.0",
362
+ "@plone/types": "1.2.0"
363
363
  },
364
364
  "volta": {
365
365
  "node": "20.9.0"
@@ -102,6 +102,12 @@ class Html extends Component {
102
102
  {head.meta.toComponent()}
103
103
  {head.link.toComponent()}
104
104
  {head.script.toComponent()}
105
+
106
+ {config.settings.cssLayers && (
107
+ // Load the CSS layers from config, if any
108
+ <style>{`@layer ${config.settings.cssLayers.join(', ')};`}</style>
109
+ )}
110
+
105
111
  {head.style.toComponent()}
106
112
 
107
113
  <script
@@ -11,7 +11,9 @@
11
11
  "preserveSymlinks": true,
12
12
  "downlevelIteration": true,
13
13
  "paths": {
14
- "@plone/volto/*": ["./src/*"]
14
+ "@plone/volto/*": ["./src/*"],
15
+ "react": ["./node_modules/@types/react"],
16
+ "react-dom": ["./node_modules/@types/react-dom"]
15
17
  }
16
18
  },
17
19
  "include": ["src/**/*.js", "src/**/*.jsx", "src/**/*.tsx"]
@@ -0,0 +1,10 @@
1
+ export default ContentsDeleteModal;
2
+ declare function ContentsDeleteModal(props: any): import("react/jsx-runtime").JSX.Element;
3
+ declare namespace ContentsDeleteModal {
4
+ namespace propTypes {
5
+ let itemsToDelete: any;
6
+ let open: any;
7
+ let onOk: any;
8
+ let onCancel: any;
9
+ }
10
+ }
@@ -1,3 +1,4 @@
1
+ export function installDefaultBlocks(config: any): void;
1
2
  export const groupBlocksOrder: {
2
3
  id: string;
3
4
  title: string;
@@ -1,3 +1,4 @@
1
+ export function installDefaultViews(config: any): any;
1
2
  export namespace layoutViews {
2
3
  export { DefaultView as document_view };
3
4
  export { SummaryView as summary_view };
@@ -1,3 +1,4 @@
1
+ export function installDefaultWidgets(config: any): void;
1
2
  export namespace widgetMapping {
2
3
  export namespace id {
3
4
  export { TokenWidget as subjects };
@@ -18,6 +18,7 @@ declare namespace reducers {
18
18
  export { form };
19
19
  export { groups };
20
20
  export { history };
21
+ export { linkIntegrity };
21
22
  export { messages };
22
23
  export { navigation };
23
24
  export { querystring };
@@ -66,6 +67,7 @@ import emailSend from '@plone/volto/reducers/emailSend/emailSend';
66
67
  import form from '@plone/volto/reducers/form/form';
67
68
  import groups from '@plone/volto/reducers/groups/groups';
68
69
  import history from '@plone/volto/reducers/history/history';
70
+ import linkIntegrity from '@plone/volto/reducers/linkIntegrity/linkIntegrity';
69
71
  import messages from '@plone/volto/reducers/messages/messages';
70
72
  import navigation from '@plone/volto/reducers/navigation/navigation';
71
73
  import querystring from '@plone/volto/reducers/querystring/querystring';
@@ -0,0 +1,8 @@
1
+ /**
2
+ * History reducer.
3
+ * @function linkIntegrity
4
+ * @param {Object} state Current state.
5
+ * @param {Object} action Action to be handled.
6
+ * @returns {Object} New state.
7
+ */
8
+ export default function linkIntegrity(state?: any, action?: any): any;