@plone/volto 18.0.0-alpha.42 → 18.0.0-alpha.43

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 (137) hide show
  1. package/CHANGELOG.md +72 -0
  2. package/finalreleasechangelog.py +48 -0
  3. package/locales/ca/LC_MESSAGES/volto.po +8 -12
  4. package/locales/ca.json +1 -1
  5. package/locales/de/LC_MESSAGES/volto.po +9 -13
  6. package/locales/de.json +1 -1
  7. package/locales/en/LC_MESSAGES/volto.po +8 -12
  8. package/locales/en.json +1 -1
  9. package/locales/es/LC_MESSAGES/volto.po +9 -13
  10. package/locales/es.json +1 -1
  11. package/locales/eu/LC_MESSAGES/volto.po +9 -13
  12. package/locales/eu.json +1 -1
  13. package/locales/fi/LC_MESSAGES/volto.po +9 -13
  14. package/locales/fi.json +1 -1
  15. package/locales/fr/LC_MESSAGES/volto.po +9 -13
  16. package/locales/fr.json +1 -1
  17. package/locales/hi/LC_MESSAGES/volto.po +9 -13
  18. package/locales/hi.json +1 -1
  19. package/locales/it/LC_MESSAGES/volto.po +9 -13
  20. package/locales/it.json +1 -1
  21. package/locales/ja/LC_MESSAGES/volto.po +8 -12
  22. package/locales/ja.json +1 -1
  23. package/locales/nl/LC_MESSAGES/volto.po +8 -12
  24. package/locales/nl.json +1 -1
  25. package/locales/pt/LC_MESSAGES/volto.po +8 -12
  26. package/locales/pt.json +1 -1
  27. package/locales/pt_BR/LC_MESSAGES/volto.po +9 -13
  28. package/locales/pt_BR.json +1 -1
  29. package/locales/ro/LC_MESSAGES/volto.po +8 -12
  30. package/locales/ro.json +1 -1
  31. package/locales/volto.pot +9 -13
  32. package/locales/zh_CN/LC_MESSAGES/volto.po +9 -13
  33. package/locales/zh_CN.json +1 -1
  34. package/package.json +3 -3
  35. package/razzle.config.js +1 -1
  36. package/src/components/manage/Actions/Actions.stories.jsx +138 -0
  37. package/src/components/manage/Add/Add.jsx +7 -4
  38. package/src/components/manage/BlockChooser/BlockChooser.jsx +9 -1
  39. package/src/components/manage/Blocks/Block/Edit.jsx +24 -8
  40. package/src/components/manage/Blocks/Block/EditBlockWrapper.jsx +17 -1
  41. package/src/components/manage/Blocks/Block/Order/Item.jsx +3 -1
  42. package/src/components/manage/Blocks/Grid/View.jsx +3 -0
  43. package/src/components/manage/Blocks/LeadImage/Edit.jsx +74 -126
  44. package/src/components/manage/Blocks/Search/components/SortOn.jsx +82 -55
  45. package/src/components/manage/Blocks/Search/widgets/SelectMetadataField.jsx +107 -176
  46. package/src/components/manage/Blocks/Teaser/DefaultBody.jsx +15 -8
  47. package/src/components/manage/Blocks/ToC/Edit.jsx +36 -29
  48. package/src/components/manage/Blocks/Video/Edit.jsx +105 -172
  49. package/src/components/manage/Blocks/Video/Edit.stories.jsx +57 -0
  50. package/src/components/manage/Contents/Contents.jsx +3 -0
  51. package/src/components/manage/Contents/ContentsBreadcrumbs.stories.jsx +46 -0
  52. package/src/components/manage/Contents/ContentsPropertiesModal.jsx +85 -52
  53. package/src/components/manage/Contents/ContentsUploadModal.jsx +230 -323
  54. package/src/components/manage/Contents/ContentsUploadModal.stories.jsx +56 -0
  55. package/src/components/manage/Controlpanels/AddonsControlpanel.jsx +323 -441
  56. package/src/components/manage/Controlpanels/Aliases.jsx +452 -580
  57. package/src/components/manage/Controlpanels/Aliases.stories.jsx +74 -0
  58. package/src/components/manage/Controlpanels/Controlpanel.jsx +41 -2
  59. package/src/components/manage/Controlpanels/Controlpanel.test.jsx +55 -24
  60. package/src/components/manage/Controlpanels/DatabaseInformation.jsx +162 -229
  61. package/src/components/manage/Controlpanels/Groups/RenderGroups.jsx +74 -122
  62. package/src/components/manage/Display/Display.jsx +92 -148
  63. package/src/components/manage/Display/Display.stories.jsx +46 -0
  64. package/src/components/manage/Edit/Edit.jsx +2 -4
  65. package/src/components/manage/Preferences/ChangePassword.jsx +94 -172
  66. package/src/components/manage/Preferences/ChangePassword.stories.jsx +41 -0
  67. package/src/components/manage/Preferences/PersonalInformation.jsx +50 -115
  68. package/src/components/manage/Preferences/PersonalPreferences.jsx +46 -100
  69. package/src/components/manage/Preferences/PersonalPreferences.stories.jsx +48 -0
  70. package/src/components/manage/Toolbar/More.jsx +308 -399
  71. package/src/components/manage/Widgets/DatetimeWidget.jsx +121 -175
  72. package/src/components/manage/Widgets/ReferenceWidget.jsx +134 -210
  73. package/src/components/theme/Register/Register.jsx +70 -142
  74. package/src/components/theme/Register/Register.stories.jsx +49 -0
  75. package/src/components/theme/Tags/Tags.jsx +19 -10
  76. package/src/components/theme/Tags/Tags.test.jsx +9 -11
  77. package/src/components/theme/View/AlbumView.jsx +122 -167
  78. package/src/components/theme/View/LinkView.jsx +4 -0
  79. package/src/components/theme/View/LinkView.test.jsx +2 -0
  80. package/src/components/theme/View/View.jsx +0 -6
  81. package/src/config/ControlPanels.js +49 -43
  82. package/src/config/config.test.js +1 -0
  83. package/src/config/index.js +16 -0
  84. package/src/config/slots.js +12 -0
  85. package/src/helpers/Blocks/Blocks.js +12 -7
  86. package/src/helpers/Blocks/Blocks.test.js +15 -0
  87. package/src/helpers/Blocks/cloneBlocks.ts +1 -1
  88. package/src/helpers/FormValidation/FormValidation.jsx +19 -2
  89. package/src/helpers/FormValidation/validators.ts +1 -1
  90. package/src/helpers/Url/Url.test.js +15 -2
  91. package/src/helpers/Url/urlRegex.js +1 -1
  92. package/src/helpers/index.js +2 -0
  93. package/src/middleware/api.js +4 -2
  94. package/src/middleware/index.js +1 -0
  95. package/src/middleware/userSessionReset.js +46 -0
  96. package/src/store.js +2 -0
  97. package/test-setup-config.jsx +3 -0
  98. package/theme/themes/pastanaga/extras/blocks.less +6 -0
  99. package/types/components/manage/Actions/Actions.stories.d.ts +8 -0
  100. package/types/components/manage/Blocks/LeadImage/Edit.d.ts +14 -5
  101. package/types/components/manage/Blocks/Search/widgets/SelectMetadataField.d.ts +0 -5
  102. package/types/components/manage/Blocks/ToC/Edit.d.ts +1 -6
  103. package/types/components/manage/Blocks/Video/Edit.d.ts +1 -1
  104. package/types/components/manage/Blocks/Video/Edit.stories.d.ts +8 -0
  105. package/types/components/manage/Contents/ContentsBreadcrumbs.stories.d.ts +8 -0
  106. package/types/components/manage/Contents/ContentsUploadModal.d.ts +14 -2
  107. package/types/components/manage/Contents/ContentsUploadModal.stories.d.ts +8 -0
  108. package/types/components/manage/Contents/index.d.ts +1 -1
  109. package/types/components/manage/Controlpanels/AddonsControlpanel.d.ts +2 -2
  110. package/types/components/manage/Controlpanels/Aliases.d.ts +2 -2
  111. package/types/components/manage/Controlpanels/Aliases.stories.d.ts +8 -0
  112. package/types/components/manage/Controlpanels/DatabaseInformation.d.ts +2 -2
  113. package/types/components/manage/Controlpanels/Groups/RenderGroups.d.ts +10 -5
  114. package/types/components/manage/Controlpanels/index.d.ts +4 -4
  115. package/types/components/manage/Display/Display.stories.d.ts +8 -0
  116. package/types/components/manage/Preferences/ChangePassword.d.ts +2 -2
  117. package/types/components/manage/Preferences/ChangePassword.stories.d.ts +8 -0
  118. package/types/components/manage/Preferences/PersonalInformation.d.ts +7 -2
  119. package/types/components/manage/Preferences/PersonalPreferences.d.ts +5 -1
  120. package/types/components/manage/Preferences/PersonalPreferences.stories.d.ts +8 -0
  121. package/types/components/manage/Toolbar/More.d.ts +8 -5
  122. package/types/components/manage/Widgets/DatetimeWidget.d.ts +0 -85
  123. package/types/components/manage/Widgets/DatetimeWidget.stories.d.ts +0 -1
  124. package/types/components/manage/Widgets/ReferenceWidget.d.ts +27 -2
  125. package/types/components/manage/Widgets/index.d.ts +1 -1
  126. package/types/components/theme/Register/Register.d.ts +2 -2
  127. package/types/components/theme/Register/Register.stories.d.ts +9 -0
  128. package/types/components/theme/Tags/Tags.d.ts +15 -7
  129. package/types/components/theme/View/AlbumView.d.ts +3 -17
  130. package/types/config/ControlPanels.d.ts +8 -0
  131. package/types/config/Widgets.d.ts +1 -1
  132. package/types/config/slots.d.ts +21 -0
  133. package/types/helpers/Blocks/Blocks.d.ts +6 -0
  134. package/types/helpers/FormValidation/FormValidation.d.ts +1 -0
  135. package/types/helpers/index.d.ts +2 -2
  136. package/types/middleware/index.d.ts +1 -0
  137. package/types/middleware/userSessionReset.d.ts +5 -0
@@ -1,87 +1,2 @@
1
- /**
2
- * DatetimeWidget component class
3
- * @class DatetimeWidget
4
- * @extends Component
5
- *
6
- * To use it, in schema properties, declare a field like:
7
- *
8
- * ```jsx
9
- * {
10
- * title: "Publish date",
11
- * type: 'datetime',
12
- * }
13
- * ```
14
- */
15
- export class DatetimeWidgetComponent extends React.Component<any, any, any> {
16
- /**
17
- * Constructor
18
- * @method constructor
19
- * @param {Object} props Component properties
20
- * @constructs DatetimeWidget
21
- */
22
- constructor(props: any);
23
- moment: any;
24
- state: {
25
- focused: boolean;
26
- isDefault: boolean;
27
- };
28
- getInternalValue(): any;
29
- getDateOnly(): any;
30
- /**
31
- * Update date storage
32
- * @method onDateChange
33
- * @param {Object} date updated momentjs Object for date
34
- * @returns {undefined}
35
- */
36
- onDateChange: (date: any) => undefined;
37
- /**
38
- * Update date storage
39
- * @method onTimeChange
40
- * @param {Object} time updated momentjs Object for time
41
- * @returns {undefined}
42
- */
43
- onTimeChange: (time: any) => undefined;
44
- onResetDates: () => void;
45
- /**
46
- * Handle SingleDatePicker focus
47
- * @method onFocusChange
48
- * @param {boolean} focused component focus state.
49
- * @returns {undefined}
50
- */
51
- onFocusChange: ({ focused }: boolean) => undefined;
52
- render(): import("react/jsx-runtime").JSX.Element;
53
- }
54
- export namespace DatetimeWidgetComponent {
55
- namespace propTypes {
56
- let id: any;
57
- let title: any;
58
- let description: any;
59
- let required: any;
60
- let error: any;
61
- let dateOnly: any;
62
- let noPastDates: any;
63
- let value: any;
64
- let onChange: any;
65
- let wrapped: any;
66
- let resettable: any;
67
- }
68
- namespace defaultProps {
69
- let description_1: any;
70
- export { description_1 as description };
71
- let required_1: boolean;
72
- export { required_1 as required };
73
- let error_1: any[];
74
- export { error_1 as error };
75
- let dateOnly_1: boolean;
76
- export { dateOnly_1 as dateOnly };
77
- let noPastDates_1: boolean;
78
- export { noPastDates_1 as noPastDates };
79
- let value_1: any;
80
- export { value_1 as value };
81
- let resettable_1: boolean;
82
- export { resettable_1 as resettable };
83
- }
84
- }
85
1
  declare const _default: any;
86
2
  export default _default;
87
- import React from 'react';
@@ -6,4 +6,3 @@ declare namespace _default {
6
6
  export let argTypes: {};
7
7
  }
8
8
  export default _default;
9
- import { DatetimeWidgetComponent } from './DatetimeWidget';
@@ -1,2 +1,27 @@
1
- declare const _default: any;
2
- export default _default;
1
+ export default ReferenceWidget;
2
+ declare function ReferenceWidget(props: any): import("react/jsx-runtime").JSX.Element;
3
+ declare namespace ReferenceWidget {
4
+ namespace propTypes {
5
+ let id: any;
6
+ let title: any;
7
+ let description: any;
8
+ let required: any;
9
+ let multiple: any;
10
+ let error: any;
11
+ let value: any;
12
+ let onChange: any;
13
+ let wrapped: any;
14
+ }
15
+ namespace defaultProps {
16
+ let description_1: any;
17
+ export { description_1 as description };
18
+ let required_1: boolean;
19
+ export { required_1 as required };
20
+ let error_1: any[];
21
+ export { error_1 as error };
22
+ let value_1: any;
23
+ export { value_1 as value };
24
+ let multiple_1: boolean;
25
+ export { multiple_1 as multiple };
26
+ }
27
+ }
@@ -99,7 +99,7 @@ export declare const EmailWidget: import("@loadable/component").LoadableComponen
99
99
  export declare const NumberWidget: import("@loadable/component").LoadableComponent<import("react-intl").WithIntlProps<any>>;
100
100
  export declare const ImageSizeWidget: import("@loadable/component").LoadableComponent<import("react-intl").WithIntlProps<any>>;
101
101
  export declare const RegistryImageWidget: import("@loadable/component").LoadableComponent<import("react-intl").WithIntlProps<any>>;
102
- export declare const ReferenceWidget: import("@loadable/component").LoadableClassComponent<any>;
102
+ export declare const ReferenceWidget: import("@loadable/component").LoadableComponent<any>;
103
103
  export declare const ObjectBrowserWidget: import("@loadable/component").LoadableComponent<Omit<import("react-intl").WithIntlProps<import("react-intl").WrappedComponentProps<string>>, "ref"> & import("react").RefAttributes<import("react").ComponentType<import("react-intl").WrappedComponentProps<string>>>>;
104
104
  export declare const ObjectWidget: import("@loadable/component").LoadableComponent<{
105
105
  [x: string]: any;
@@ -1,2 +1,2 @@
1
- declare const _default: any;
2
- export default _default;
1
+ export default Register;
2
+ declare function Register(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ export const Default: any;
2
+ declare namespace _default {
3
+ export let title: string;
4
+ export { RegisterComponent as component };
5
+ export let decorators: ((Story: any) => import("react/jsx-runtime").JSX.Element)[];
6
+ export let argTypes: {};
7
+ }
8
+ export default _default;
9
+ import RegisterComponent from './Register';
@@ -1,17 +1,25 @@
1
1
  export default Tags;
2
2
  /**
3
- * Tags component class.
3
+ * Tags component.
4
4
  * @function Tags
5
- * @param {array} tags Array of tags.
6
- * @returns {string} Markup of the component.
5
+ * @param {Object} props Component properties.
6
+ * @param {Object} props.content Content object that may contain subjects.
7
+ * @param {Array} [props.content.subjects] Optional array of tags (subjects).
8
+ * @returns {JSX.Element|null} Markup of the component or null if no tags are available.
7
9
  */
8
- declare function Tags({ tags }: any[]): string;
10
+ declare function Tags({ content }: {
11
+ content: {
12
+ subjects?: any[];
13
+ };
14
+ }): JSX.Element | null;
9
15
  declare namespace Tags {
10
16
  namespace propTypes {
11
- let tags: any;
17
+ let content: any;
12
18
  }
13
19
  namespace defaultProps {
14
- let tags_1: any;
15
- export { tags_1 as tags };
20
+ export namespace content_1 {
21
+ let subjects: any[];
22
+ }
23
+ export { content_1 as content };
16
24
  }
17
25
  }
@@ -1,23 +1,9 @@
1
1
  export default AlbumView;
2
- /**
3
- * Album view component class.
4
- * @function AlbumView
5
- * @param {Object} content Content object.
6
- * @returns {string} Markup of the component.
7
- */
8
- declare class AlbumView extends React.Component<any, any, any> {
9
- constructor(props: any);
10
- state: {
11
- openIndex: any;
12
- };
13
- closeModal(): void;
14
- nextImage(): void;
15
- prevImage(): void;
16
- render(): import("react/jsx-runtime").JSX.Element;
17
- }
2
+ declare function AlbumView({ content }: {
3
+ content: any;
4
+ }): import("react/jsx-runtime").JSX.Element;
18
5
  declare namespace AlbumView {
19
6
  namespace propTypes {
20
7
  let content: any;
21
8
  }
22
9
  }
23
- import React from 'react';
@@ -22,4 +22,12 @@ export const controlPanelsIcons: {
22
22
  relations: string;
23
23
  };
24
24
  export function filterControlPanels(controlpanels?: any[]): any[];
25
+ export namespace unwantedControlPanelsFields {
26
+ let language: string[];
27
+ let search: string[];
28
+ let site: string[];
29
+ let editing: string[];
30
+ let imaging: string[];
31
+ let navigation: string[];
32
+ }
25
33
  export function filterControlPanelsSchema(controlpanel: any): any;
@@ -40,7 +40,7 @@ export namespace widgetMapping {
40
40
  };
41
41
  export let factory: {
42
42
  'Relation List': import("@loadable/component").LoadableComponent<Omit<import("react-intl").WithIntlProps<import("react-intl").WrappedComponentProps<string>>, "ref"> & import("react").RefAttributes<import("react").ComponentType<import("react-intl").WrappedComponentProps<string>>>>;
43
- 'Relation Choice': import("@loadable/component").LoadableClassComponent<any>;
43
+ 'Relation Choice': import("@loadable/component").LoadableComponent<any>;
44
44
  };
45
45
  export { SelectWidget as choices };
46
46
  export namespace type {
@@ -0,0 +1,21 @@
1
+ export default slots;
2
+ declare namespace slots {
3
+ let belowContent: {
4
+ name: string;
5
+ component: {
6
+ ({ content }: {
7
+ content: {
8
+ subjects?: any[];
9
+ };
10
+ }): JSX.Element;
11
+ propTypes: {
12
+ content: any;
13
+ };
14
+ defaultProps: {
15
+ content: {
16
+ subjects: any[];
17
+ };
18
+ };
19
+ };
20
+ }[];
21
+ }
@@ -158,6 +158,12 @@ export function findBlocks(blocks: any, types: any, result?: any[]): any[];
158
158
  */
159
159
  export function moveBlockEnhanced(formData: any, { source, destination }: number): any;
160
160
  export function getBlocks(properties: any): any[];
161
+ export function applyBlockInitialValue({ id, value, blocksConfig, formData, }: {
162
+ id: any;
163
+ value: any;
164
+ blocksConfig: any;
165
+ formData: any;
166
+ }): any;
161
167
  export function styleToClassName(key: any, value: any, prefix?: string): any;
162
168
  export function buildStyleClassNamesFromData(obj?: {}, prefix?: string): any;
163
169
  export function buildStyleClassNamesExtenders({ block, content, data, classNames, }: any): any[];
@@ -2,6 +2,7 @@ export function validationMessage(isValid: boolean, criterion: string, valueToCo
2
2
  export function tryParseJSON(requestItem: string): any;
3
3
  export default FormValidation;
4
4
  export function validateFileUploadSize(file: File, intlFunc: Function): boolean;
5
+ export function extractInvariantErrors(erros: any[]): any[];
5
6
  declare class FormValidation {
6
7
  /**
7
8
  * The first Fieldset (Tab) that has any errors
@@ -20,10 +20,10 @@ export { ContentTypeCondition } from "./Slots";
20
20
  export { getAuthToken, persistAuthToken } from "@plone/volto/helpers/AuthToken/AuthToken";
21
21
  export { addAppURL, expandToBackendURL, flattenHTMLToAppURL, flattenToAppURL, stripQuerystring, toPublicURL, isInternalURL, getParentUrl, getBaseUrl, getView, isCmsUi, getId, isUrl, normalizeUrl, removeProtocol, URLUtils, flattenScales, getFieldURL } from "@plone/volto/helpers/Url/Url";
22
22
  export { nestContent, getLayoutFieldname, getContentIcon, getLanguageIndependentFields } from "@plone/volto/helpers/Content/Content";
23
- export { addBlock, insertBlock, blockHasValue, changeBlock, deleteBlock, emptyBlocksForm, getBlocks, getBlocksFieldname, getBlocksLayoutFieldname, hasBlocksData, moveBlock, mutateBlock, nextBlockId, previousBlockId, applyBlockDefaults, applySchemaDefaults, blocksFormGenerator, buildStyleClassNamesFromData, buildStyleClassNamesExtenders, buildStyleObjectFromData, getPreviousNextBlock, findBlocks, getBlocksHierarchy, moveBlockEnhanced } from "@plone/volto/helpers/Blocks/Blocks";
23
+ export { applyBlockInitialValue, addBlock, insertBlock, blockHasValue, changeBlock, deleteBlock, emptyBlocksForm, getBlocks, getBlocksFieldname, getBlocksLayoutFieldname, hasBlocksData, moveBlock, mutateBlock, nextBlockId, previousBlockId, applyBlockDefaults, applySchemaDefaults, blocksFormGenerator, buildStyleClassNamesFromData, buildStyleClassNamesExtenders, buildStyleObjectFromData, getPreviousNextBlock, findBlocks, getBlocksHierarchy, moveBlockEnhanced } from "@plone/volto/helpers/Blocks/Blocks";
24
24
  export { getSimpleDefaultBlocks, getDefaultBlocks } from "@plone/volto/helpers/Blocks/defaultBlocks";
25
25
  export { getBoolean, getVocabName, getVocabFromHint, getVocabFromField, getVocabFromItems, getFieldsVocabulary } from "@plone/volto/helpers/Vocabularies/Vocabularies";
26
- export { default as FormValidation, validateFileUploadSize, tryParseJSON } from "./FormValidation/FormValidation";
26
+ export { default as FormValidation, validateFileUploadSize, tryParseJSON, extractInvariantErrors } from "./FormValidation/FormValidation";
27
27
  export { difference, getColor, getInitials, safeWrapper, applyConfig, withServerErrorCode, parseDateTime, toGettextLang, normalizeLanguageName, toReactIntlLang, toLangUnderscoreRegion, toBackendLang, hasApiExpander, replaceItemOfArray, cloneDeepSchema, insertInArray, removeFromArray, arrayRange, reorderArray, isInteractiveElement, slugify, normalizeString } from "@plone/volto/helpers/Utils/Utils";
28
28
  export { withBlockSchemaEnhancer, withVariationSchemaEnhancer, withBlockExtensions, applySchemaEnhancer, resolveExtension, resolveBlockExtensions, addStyling, composeSchema } from "./Extensions";
29
29
  export { userHasRoles, isManager, canAssignGroup, canAssignRole } from "./User/User";
@@ -1,3 +1,4 @@
1
1
  export { default as api } from "@plone/volto/middleware/api";
2
2
  export { default as blacklistRoutes } from "./blacklistRoutes";
3
+ export { default as userSessionReset } from "./userSessionReset";
3
4
  export { protectLoadStart, protectLoadEnd, loadProtector } from "@plone/volto/middleware/storeProtectLoadUtils";
@@ -0,0 +1,5 @@
1
+ export default userSessionReset;
2
+ declare function userSessionReset({ dispatch, getState }: {
3
+ dispatch: any;
4
+ getState: any;
5
+ }): (next: any) => (action: any) => any;