@plone/volto 16.28.0 → 16.29.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.
Files changed (66) hide show
  1. package/.changelog.draft +2 -7
  2. package/.gitignore~ +71 -0
  3. package/.yarn/install-state.gz +0 -0
  4. package/.yarn/releases/yarn-3.3.1.cjs +823 -0
  5. package/CHANGELOG.md +13 -0
  6. package/Makefile~ +399 -0
  7. package/apps/plone/node_modules/.bin/addon +17 -0
  8. package/apps/plone/node_modules/.bin/autoprefixer +17 -0
  9. package/apps/plone/node_modules/.bin/build-storybook +17 -0
  10. package/apps/plone/node_modules/.bin/changelogupdater +17 -0
  11. package/apps/plone/node_modules/.bin/eslint +17 -0
  12. package/apps/plone/node_modules/.bin/eslint-config-prettier +17 -0
  13. package/apps/plone/node_modules/.bin/i18n +17 -0
  14. package/apps/plone/node_modules/.bin/lessc +17 -0
  15. package/apps/plone/node_modules/.bin/missdev +17 -0
  16. package/apps/plone/node_modules/.bin/prettier +17 -0
  17. package/apps/plone/node_modules/.bin/razzle +17 -0
  18. package/apps/plone/node_modules/.bin/server-test +17 -0
  19. package/apps/plone/node_modules/.bin/start-server-and-test +17 -0
  20. package/apps/plone/node_modules/.bin/start-storybook +17 -0
  21. package/apps/plone/node_modules/.bin/start-test +17 -0
  22. package/apps/plone/node_modules/.bin/storybook-server +17 -0
  23. package/apps/plone/node_modules/.bin/stylelint +17 -0
  24. package/apps/plone/node_modules/.bin/tlds +17 -0
  25. package/apps/plone/node_modules/.bin/ts-jest +17 -0
  26. package/apps/plone/node_modules/.bin/tsc +17 -0
  27. package/apps/plone/node_modules/.bin/tsserver +17 -0
  28. package/apps/plone/node_modules/.bin/uuid +17 -0
  29. package/apps/plone/src/addons/volto-volto-project/node_modules/.bin/addon +17 -0
  30. package/apps/plone/src/addons/volto-volto-project/node_modules/.bin/changelogupdater +17 -0
  31. package/apps/plone/src/addons/volto-volto-project/node_modules/.bin/eslint +17 -0
  32. package/apps/plone/src/addons/volto-volto-project/node_modules/.bin/eslint-config-prettier +17 -0
  33. package/apps/plone/src/addons/volto-volto-project/node_modules/.bin/i18n +17 -0
  34. package/apps/plone/src/addons/volto-volto-project/node_modules/.bin/prettier +17 -0
  35. package/apps/plone/src/addons/volto-volto-project/node_modules/.bin/release-it +17 -0
  36. package/apps/plone/src/addons/volto-volto-project/node_modules/.bin/stylelint +17 -0
  37. package/locales/volto.pot~ +4705 -0
  38. package/news/4547.breaking~ +1 -0
  39. package/news/5135.documentation~ +1 -0
  40. package/package.json +1 -1
  41. package/packages/volto-slate/news/5347.bugfix +1 -0
  42. package/packages/volto-slate/node_modules/.bin/release-it +17 -0
  43. package/packages/volto-slate/package.json +1 -1
  44. package/packages/volto-slate/src/editor/extensions/insertData.js +3 -1
  45. package/packages/volto-slate/src/editor/extensions/normalizeExternalData.js +1 -1
  46. package/packages/volto-slate/src/utils/blocks.js +6 -2
  47. package/pyvenv.cfg +5 -0
  48. package/share/man/man1/ttx.1 +225 -0
  49. package/src/components/manage/Add/Add.jsx +3 -0
  50. package/src/components/manage/Blocks/Block/BlocksForm.jsx +4 -0
  51. package/src/components/manage/Blocks/Block/DefaultEdit.jsx +3 -1
  52. package/src/components/manage/Blocks/Block/Settings.jsx +10 -1
  53. package/src/components/manage/Blocks/HeroImageLeft/Data.jsx +3 -1
  54. package/src/components/manage/Blocks/Image/ImageSidebar.jsx +3 -1
  55. package/src/components/manage/Blocks/Listing/ListingData.jsx +10 -1
  56. package/src/components/manage/Blocks/Maps/MapsSidebar.jsx +3 -1
  57. package/src/components/manage/Blocks/Search/SearchBlockEdit.jsx +4 -0
  58. package/src/components/manage/Blocks/Teaser/Data.jsx +10 -1
  59. package/src/components/manage/Blocks/ToC/Edit.jsx +2 -0
  60. package/src/components/manage/Blocks/Video/VideoSidebar.jsx +3 -1
  61. package/src/components/manage/Edit/Edit.jsx +1 -0
  62. package/src/components/manage/Form/Form.jsx +9 -1
  63. package/src/config/index.js~ +223 -0
  64. package/src/helpers/Blocks/Blocks.js +11 -2
  65. package/src/helpers/Extensions/withBlockSchemaEnhancer.js +20 -9
  66. package/src/start-server.js +4 -0
@@ -0,0 +1 @@
1
+ Update parse-url and release-it libraries. @davisagli
@@ -0,0 +1 @@
1
+ Fix Sphinx toctree warnings from included `CHANGELOG.md`. @stevepiercy
package/package.json CHANGED
@@ -9,7 +9,7 @@
9
9
  }
10
10
  ],
11
11
  "license": "MIT",
12
- "version": "16.28.0",
12
+ "version": "16.29.0",
13
13
  "repository": {
14
14
  "type": "git",
15
15
  "url": "git@github.com:plone/volto.git"
@@ -0,0 +1 @@
1
+ Fix the right order of parameters in normalizeExternalData.js @dobri1408
@@ -0,0 +1,17 @@
1
+ #!/bin/sh
2
+ basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
+
4
+ case `uname` in
5
+ *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
6
+ esac
7
+
8
+ if [ -z "$NODE_PATH" ]; then
9
+ export NODE_PATH="/Users/davisagli/Code/volto/node_modules/.pnpm/release-it@17.0.0_typescript@5.2.2/node_modules/release-it/bin/node_modules:/Users/davisagli/Code/volto/node_modules/.pnpm/release-it@17.0.0_typescript@5.2.2/node_modules/release-it/node_modules:/Users/davisagli/Code/volto/node_modules/.pnpm/release-it@17.0.0_typescript@5.2.2/node_modules:/Users/davisagli/Code/volto/node_modules/.pnpm/node_modules"
10
+ else
11
+ export NODE_PATH="/Users/davisagli/Code/volto/node_modules/.pnpm/release-it@17.0.0_typescript@5.2.2/node_modules/release-it/bin/node_modules:/Users/davisagli/Code/volto/node_modules/.pnpm/release-it@17.0.0_typescript@5.2.2/node_modules/release-it/node_modules:/Users/davisagli/Code/volto/node_modules/.pnpm/release-it@17.0.0_typescript@5.2.2/node_modules:/Users/davisagli/Code/volto/node_modules/.pnpm/node_modules:$NODE_PATH"
12
+ fi
13
+ if [ -x "$basedir/node" ]; then
14
+ exec "$basedir/node" "$basedir/../release-it/bin/release-it.js" "$@"
15
+ else
16
+ exec node "$basedir/../release-it/bin/release-it.js" "$@"
17
+ fi
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plone/volto-slate",
3
- "version": "16.28.0",
3
+ "version": "16.29.0",
4
4
  "description": "Slate.js integration with Volto",
5
5
  "main": "src/index.js",
6
6
  "author": "European Environment Agency: IDM2 A-Team",
@@ -98,7 +98,9 @@ export const insertData = (editor) => {
98
98
  if (Editor.string(editor, [])) {
99
99
  if (
100
100
  Array.isArray(fragment) &&
101
- fragment.findIndex((b) => Editor.isInline(b) || Text.isText(b)) > -1
101
+ fragment.findIndex(
102
+ (b) => Editor.isInline(editor, b) || Text.isText(b),
103
+ ) > -1
102
104
  ) {
103
105
  // console.log('insert fragment', fragment);
104
106
  // TODO: we want normalization also when dealing with fragments
@@ -2,7 +2,7 @@ import { normalizeExternalData as normalize } from '@plone/volto-slate/utils';
2
2
 
3
3
  export function normalizeExternalData(editor) {
4
4
  editor.normalizeExternalData = (fragment) => {
5
- return normalize(fragment);
5
+ return normalize(editor, fragment);
6
6
  };
7
7
  return editor;
8
8
  }
@@ -73,7 +73,10 @@ export const normalizeExternalData = (editor, nodes) => {
73
73
  // put all the non-blocks (e.g. images which are inline Elements) inside p-s
74
74
  Editor.withoutNormalizing(fakeEditor, () => {
75
75
  //for htmlSlateWidget compatibility
76
- if (nodes && !Editor.isBlock(fakeEditor, nodes[0]))
76
+ if (
77
+ nodes &&
78
+ (!Editor.isBlock(fakeEditor, nodes[0]) || Text.isText(nodes[0]))
79
+ )
77
80
  Transforms.wrapNodes(
78
81
  fakeEditor,
79
82
  { type: 'p' },
@@ -81,7 +84,8 @@ export const normalizeExternalData = (editor, nodes) => {
81
84
  at: [],
82
85
  match: (node, path) =>
83
86
  (!Editor.isEditor(node) && !Editor.isBlock(fakeEditor, node)) ||
84
- fakeEditor.isInline(node),
87
+ fakeEditor.isInline(node) ||
88
+ Text.isText(node),
85
89
  mode: 'highest',
86
90
  },
87
91
  );
package/pyvenv.cfg ADDED
@@ -0,0 +1,5 @@
1
+ home = /Users/davisagli/.pyenv/versions/3.11.3/bin
2
+ include-system-site-packages = false
3
+ version = 3.11.3
4
+ executable = /Users/davisagli/.pyenv/versions/3.11.3/bin/python3.11
5
+ command = /Users/davisagli/.pyenv/versions/3.11.3/bin/python3 -m venv /Users/davisagli/Code/volto
@@ -0,0 +1,225 @@
1
+ .Dd May 18, 2004
2
+ .\" ttx is not specific to any OS, but contrary to what groff_mdoc(7)
3
+ .\" seems to imply, entirely omitting the .Os macro causes 'BSD' to
4
+ .\" be used, so I give a zero-width space as its argument.
5
+ .Os \&
6
+ .\" The "FontTools Manual" argument apparently has no effect in
7
+ .\" groff 1.18.1. I think it is a bug in the -mdoc groff package.
8
+ .Dt TTX 1 "FontTools Manual"
9
+ .Sh NAME
10
+ .Nm ttx
11
+ .Nd tool for manipulating TrueType and OpenType fonts
12
+ .Sh SYNOPSIS
13
+ .Nm
14
+ .Bk
15
+ .Op Ar option ...
16
+ .Ek
17
+ .Bk
18
+ .Ar file ...
19
+ .Ek
20
+ .Sh DESCRIPTION
21
+ .Nm
22
+ is a tool for manipulating TrueType and OpenType fonts. It can convert
23
+ TrueType and OpenType fonts to and from an
24
+ .Tn XML Ns -based format called
25
+ .Tn TTX .
26
+ .Tn TTX
27
+ files have a
28
+ .Ql .ttx
29
+ extension.
30
+ .Pp
31
+ For each
32
+ .Ar file
33
+ argument it is given,
34
+ .Nm
35
+ detects whether it is a
36
+ .Ql .ttf ,
37
+ .Ql .otf
38
+ or
39
+ .Ql .ttx
40
+ file and acts accordingly: if it is a
41
+ .Ql .ttf
42
+ or
43
+ .Ql .otf
44
+ file, it generates a
45
+ .Ql .ttx
46
+ file; if it is a
47
+ .Ql .ttx
48
+ file, it generates a
49
+ .Ql .ttf
50
+ or
51
+ .Ql .otf
52
+ file.
53
+ .Pp
54
+ By default, every output file is created in the same directory as the
55
+ corresponding input file and with the same name except for the
56
+ extension, which is substituted appropriately.
57
+ .Nm
58
+ never overwrites existing files; if necessary, it appends a suffix to
59
+ the output file name before the extension, as in
60
+ .Pa Arial#1.ttf .
61
+ .Ss "General options"
62
+ .Bl -tag -width ".Fl t Ar table"
63
+ .It Fl h
64
+ Display usage information.
65
+ .It Fl d Ar dir
66
+ Write the output files to directory
67
+ .Ar dir
68
+ instead of writing every output file to the same directory as the
69
+ corresponding input file.
70
+ .It Fl o Ar file
71
+ Write the output to
72
+ .Ar file
73
+ instead of writing it to the same directory as the
74
+ corresponding input file.
75
+ .It Fl v
76
+ Be verbose. Write more messages to the standard output describing what
77
+ is being done.
78
+ .It Fl a
79
+ Allow virtual glyphs ID's on compile or decompile.
80
+ .El
81
+ .Ss "Dump options"
82
+ The following options control the process of dumping font files
83
+ (TrueType or OpenType) to
84
+ .Tn TTX
85
+ files.
86
+ .Bl -tag -width ".Fl t Ar table"
87
+ .It Fl l
88
+ List table information. Instead of dumping the font to a
89
+ .Tn TTX
90
+ file, display minimal information about each table.
91
+ .It Fl t Ar table
92
+ Dump table
93
+ .Ar table .
94
+ This option may be given multiple times to dump several tables at
95
+ once. When not specified, all tables are dumped.
96
+ .It Fl x Ar table
97
+ Exclude table
98
+ .Ar table
99
+ from the list of tables to dump. This option may be given multiple
100
+ times to exclude several tables from the dump. The
101
+ .Fl t
102
+ and
103
+ .Fl x
104
+ options are mutually exclusive.
105
+ .It Fl s
106
+ Split tables. Dump each table to a separate
107
+ .Tn TTX
108
+ file and write (under the name that would have been used for the output
109
+ file if the
110
+ .Fl s
111
+ option had not been given) one small
112
+ .Tn TTX
113
+ file containing references to the individual table dump files. This
114
+ file can be used as input to
115
+ .Nm
116
+ as long as the referenced files can be found in the same directory.
117
+ .It Fl i
118
+ .\" XXX: I suppose OpenType programs (exist and) are also affected.
119
+ Don't disassemble TrueType instructions. When this option is specified,
120
+ all TrueType programs (glyph programs, the font program and the
121
+ pre-program) are written to the
122
+ .Tn TTX
123
+ file as hexadecimal data instead of
124
+ assembly. This saves some time and results in smaller
125
+ .Tn TTX
126
+ files.
127
+ .It Fl y Ar n
128
+ When decompiling a TrueType Collection (TTC) file,
129
+ decompile font number
130
+ .Ar n ,
131
+ starting from 0.
132
+ .El
133
+ .Ss "Compilation options"
134
+ The following options control the process of compiling
135
+ .Tn TTX
136
+ files into font files (TrueType or OpenType):
137
+ .Bl -tag -width ".Fl t Ar table"
138
+ .It Fl m Ar fontfile
139
+ Merge the input
140
+ .Tn TTX
141
+ file
142
+ .Ar file
143
+ with
144
+ .Ar fontfile .
145
+ No more than one
146
+ .Ar file
147
+ argument can be specified when this option is used.
148
+ .It Fl b
149
+ Don't recalculate glyph bounding boxes. Use the values in the
150
+ .Tn TTX
151
+ file as is.
152
+ .El
153
+ .Sh "THE TTX FILE FORMAT"
154
+ You can find some information about the
155
+ .Tn TTX
156
+ file format in
157
+ .Pa documentation.html .
158
+ In particular, you will find in that file the list of tables understood by
159
+ .Nm
160
+ and the relations between TrueType GlyphIDs and the glyph names used in
161
+ .Tn TTX
162
+ files.
163
+ .Sh EXAMPLES
164
+ In the following examples, all files are read from and written to the
165
+ current directory. Additionally, the name given for the output file
166
+ assumes in every case that it did not exist before
167
+ .Nm
168
+ was invoked.
169
+ .Pp
170
+ Dump the TrueType font contained in
171
+ .Pa FreeSans.ttf
172
+ to
173
+ .Pa FreeSans.ttx :
174
+ .Pp
175
+ .Dl ttx FreeSans.ttf
176
+ .Pp
177
+ Compile
178
+ .Pa MyFont.ttx
179
+ into a TrueType or OpenType font file:
180
+ .Pp
181
+ .Dl ttx MyFont.ttx
182
+ .Pp
183
+ List the tables in
184
+ .Pa FreeSans.ttf
185
+ along with some information:
186
+ .Pp
187
+ .Dl ttx -l FreeSans.ttf
188
+ .Pp
189
+ Dump the
190
+ .Sq cmap
191
+ table from
192
+ .Pa FreeSans.ttf
193
+ to
194
+ .Pa FreeSans.ttx :
195
+ .Pp
196
+ .Dl ttx -t cmap FreeSans.ttf
197
+ .Sh NOTES
198
+ On MS\-Windows and MacOS,
199
+ .Nm
200
+ is available as a graphical application to which files can be dropped.
201
+ .Sh SEE ALSO
202
+ .Pa documentation.html
203
+ .Pp
204
+ .Xr fontforge 1 ,
205
+ .Xr ftinfo 1 ,
206
+ .Xr gfontview 1 ,
207
+ .Xr xmbdfed 1 ,
208
+ .Xr Font::TTF 3pm
209
+ .Sh AUTHORS
210
+ .Nm
211
+ was written by
212
+ .An -nosplit
213
+ .An "Just van Rossum" Aq just@letterror.com .
214
+ .Pp
215
+ This manual page was written by
216
+ .An "Florent Rougon" Aq f.rougon@free.fr
217
+ for the Debian GNU/Linux system based on the existing FontTools
218
+ documentation. It may be freely used, modified and distributed without
219
+ restrictions.
220
+ .\" For Emacs:
221
+ .\" Local Variables:
222
+ .\" fill-column: 72
223
+ .\" sentence-end: "[.?!][]\"')}]*\\($\\| $\\| \\| \\)[ \n]*"
224
+ .\" sentence-end-double-space: t
225
+ .\" End:
@@ -316,6 +316,9 @@ class Add extends Component {
316
316
  <Form
317
317
  ref={this.form}
318
318
  key="translated-or-new-content-form"
319
+ navRoot={
320
+ this.props.content?.['@components']?.navroot?.navroot || {}
321
+ }
319
322
  schema={this.props.schema}
320
323
  type={this.props.type}
321
324
  formData={{
@@ -28,6 +28,8 @@ const BlocksForm = (props) => {
28
28
  pathname,
29
29
  onChangeField,
30
30
  properties,
31
+ type,
32
+ navRoot,
31
33
  onChangeFormData,
32
34
  selectedBlock,
33
35
  multiSelected,
@@ -244,6 +246,8 @@ const BlocksForm = (props) => {
244
246
  pathname,
245
247
  metadata,
246
248
  properties,
249
+ contentType: type,
250
+ navRoot,
247
251
  blocksConfig,
248
252
  selected: selectedBlock === childId,
249
253
  multiSelected: multiSelected?.includes(childId),
@@ -7,7 +7,7 @@ import DefaultBlockView from './DefaultView';
7
7
 
8
8
  const DefaultBlockEdit = (props) => {
9
9
  const { blocksConfig = config.blocks.blocksConfig } = props;
10
- const { data, onChangeBlock, block, selected } = props;
10
+ const { data, onChangeBlock, block, selected, navRoot, contentType } = props;
11
11
  const intl = useIntl();
12
12
  const blockSchema = blocksConfig?.[data['@type']]?.blockSchema;
13
13
  const schema =
@@ -32,6 +32,8 @@ const DefaultBlockEdit = (props) => {
32
32
  });
33
33
  }}
34
34
  formData={data}
35
+ navRoot={navRoot}
36
+ contentType={contentType}
35
37
  />
36
38
  </SidebarPortal>
37
39
  ) : (
@@ -3,7 +3,14 @@ import PropTypes from 'prop-types';
3
3
  import { injectIntl } from 'react-intl';
4
4
  import BlockDataForm from '@plone/volto/components/manage/Form/BlockDataForm';
5
5
 
6
- const Settings = ({ data, block, onChangeBlock, schema }) => {
6
+ const Settings = ({
7
+ data,
8
+ block,
9
+ onChangeBlock,
10
+ schema,
11
+ navRoot,
12
+ contentType,
13
+ }) => {
7
14
  return (
8
15
  <BlockDataForm
9
16
  schema={schema}
@@ -17,6 +24,8 @@ const Settings = ({ data, block, onChangeBlock, schema }) => {
17
24
  onChangeBlock={onChangeBlock}
18
25
  formData={data}
19
26
  applySchemaEnhancers={false}
27
+ navRoot={navRoot}
28
+ contentType={contentType}
20
29
  />
21
30
  );
22
31
  };
@@ -4,7 +4,7 @@ import schemaHero from './schema.js';
4
4
  import { BlockDataForm } from '@plone/volto/components';
5
5
 
6
6
  const HeroImageLeftBlockData = (props) => {
7
- const { block, data, onChangeBlock } = props;
7
+ const { block, data, onChangeBlock, navRoot, contentType } = props;
8
8
  const intl = useIntl();
9
9
  const schema = schemaHero({ ...props, intl });
10
10
  return (
@@ -20,6 +20,8 @@ const HeroImageLeftBlockData = (props) => {
20
20
  onChangeBlock={onChangeBlock}
21
21
  formData={data}
22
22
  block={block}
23
+ navRoot={navRoot}
24
+ contentType={contentType}
23
25
  />
24
26
  );
25
27
  };
@@ -8,7 +8,7 @@ import { ImageSchema } from './schema';
8
8
  import imageSVG from '@plone/volto/icons/image.svg';
9
9
 
10
10
  const ImageSidebar = (props) => {
11
- const { data, block, onChangeBlock } = props;
11
+ const { data, block, onChangeBlock, navRoot, contentType } = props;
12
12
  const intl = useIntl();
13
13
  const schema = ImageSchema({ formData: data, intl });
14
14
  return (
@@ -55,6 +55,8 @@ const ImageSidebar = (props) => {
55
55
  onChangeBlock={onChangeBlock}
56
56
  formData={data}
57
57
  block={block}
58
+ navRoot={navRoot}
59
+ contentType={contentType}
58
60
  />
59
61
  </>
60
62
  );
@@ -4,7 +4,14 @@ import { useIntl } from 'react-intl';
4
4
  import { BlockDataForm } from '@plone/volto/components';
5
5
 
6
6
  const ListingData = (props) => {
7
- const { data, block, blocksConfig, onChangeBlock } = props;
7
+ const {
8
+ data,
9
+ block,
10
+ blocksConfig,
11
+ onChangeBlock,
12
+ navRoot,
13
+ contentType,
14
+ } = props;
8
15
  const intl = useIntl();
9
16
  const schema = blocksConfig.listing.blockSchema({
10
17
  ...props,
@@ -25,6 +32,8 @@ const ListingData = (props) => {
25
32
  formData={data}
26
33
  blocksConfig={blocksConfig}
27
34
  block={block}
35
+ navRoot={navRoot}
36
+ contentType={contentType}
28
37
  />
29
38
  );
30
39
  };
@@ -18,7 +18,7 @@ const messages = defineMessages({
18
18
  });
19
19
 
20
20
  const MapsSidebar = (props) => {
21
- const { data, block, onChangeBlock } = props;
21
+ const { data, block, onChangeBlock, navRoot, contentType } = props;
22
22
  const intl = useIntl();
23
23
  const schema = MapsSchema({ ...props, intl });
24
24
 
@@ -42,6 +42,8 @@ const MapsSidebar = (props) => {
42
42
  onChangeBlock={onChangeBlock}
43
43
  formData={data}
44
44
  block={block}
45
+ navRoot={navRoot}
46
+ contentType={contentType}
45
47
  />
46
48
  )}
47
49
  </>
@@ -26,6 +26,8 @@ const SearchBlockEdit = (props) => {
26
26
  data,
27
27
  selected,
28
28
  intl,
29
+ navRoot,
30
+ contentType,
29
31
  onTriggerSearch,
30
32
  querystring = {},
31
33
  } = props;
@@ -83,6 +85,8 @@ const SearchBlockEdit = (props) => {
83
85
  }}
84
86
  onChangeBlock={onChangeBlock}
85
87
  formData={data}
88
+ navRoot={navRoot}
89
+ contentType={contentType}
86
90
  />
87
91
  </SidebarPortal>
88
92
  </>
@@ -14,7 +14,14 @@ const messages = defineMessages({
14
14
  });
15
15
 
16
16
  const TeaserData = (props) => {
17
- const { block, blocksConfig, data, onChangeBlock } = props;
17
+ const {
18
+ block,
19
+ blocksConfig,
20
+ data,
21
+ onChangeBlock,
22
+ navRoot,
23
+ contentType,
24
+ } = props;
18
25
  const intl = useIntl();
19
26
 
20
27
  const reset = () => {
@@ -64,6 +71,8 @@ const TeaserData = (props) => {
64
71
  block={block}
65
72
  blocksConfig={blocksConfig}
66
73
  headerActions={HeaderActions}
74
+ navRoot={navRoot}
75
+ contentType={contentType}
67
76
  />
68
77
  );
69
78
  };
@@ -27,6 +27,8 @@ class Edit extends Component {
27
27
  onChangeBlock={this.props.onChangeBlock}
28
28
  formData={this.props.data}
29
29
  block={this.props.block}
30
+ navRoot={this.props.navRoot}
31
+ contentType={this.props.contentType}
30
32
  />
31
33
  </SidebarPortal>
32
34
  </>
@@ -18,7 +18,7 @@ const messages = defineMessages({
18
18
  });
19
19
 
20
20
  const VideoSidebar = (props) => {
21
- const { data, block, onChangeBlock } = props;
21
+ const { data, block, onChangeBlock, navRoot, contentType } = props;
22
22
  const intl = useIntl();
23
23
  const schema = VideoBlockSchema({ ...props, intl });
24
24
 
@@ -42,6 +42,8 @@ const VideoSidebar = (props) => {
42
42
  onChangeBlock={onChangeBlock}
43
43
  formData={data}
44
44
  block={block}
45
+ navRoot={navRoot}
46
+ contentType={contentType}
45
47
  />
46
48
  )}
47
49
  </>
@@ -286,6 +286,7 @@ class Edit extends Component {
286
286
  <Form
287
287
  isEditForm
288
288
  ref={this.form}
289
+ navRoot={this.props.content?.['@components']?.navroot?.navroot || {}}
289
290
  schema={this.props.schema}
290
291
  type={this.props.content?.['@type']}
291
292
  formData={this.props.content}
@@ -542,7 +542,13 @@ class Form extends Component {
542
542
  */
543
543
  render() {
544
544
  const { settings } = config;
545
- const { schema: originalSchema, onCancel, onSubmit } = this.props;
545
+ const {
546
+ schema: originalSchema,
547
+ onCancel,
548
+ onSubmit,
549
+ navRoot,
550
+ type,
551
+ } = this.props;
546
552
  const { formData } = this.state;
547
553
  const schema = this.removeBlocksLayoutFields(originalSchema);
548
554
  const Container =
@@ -591,6 +597,8 @@ class Form extends Component {
591
597
  onChangeField={this.onChangeField}
592
598
  onSelectBlock={this.onSelectBlock}
593
599
  properties={formData}
600
+ navRoot={navRoot}
601
+ type={type}
594
602
  pathname={this.props.pathname}
595
603
  selectedBlock={this.state.selected}
596
604
  multiSelected={this.state.multiSelected}