decap-cms-core 3.5.0 → 3.6.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 (137) hide show
  1. package/dist/decap-cms-core.js +9 -9
  2. package/dist/decap-cms-core.js.map +1 -1
  3. package/dist/esm/actions/auth.js +22 -37
  4. package/dist/esm/actions/collections.js +9 -17
  5. package/dist/esm/actions/config.js +58 -74
  6. package/dist/esm/actions/deploys.js +10 -17
  7. package/dist/esm/actions/editorialWorkflow.js +87 -101
  8. package/dist/esm/actions/entries.js +161 -211
  9. package/dist/esm/actions/media.js +31 -46
  10. package/dist/esm/actions/mediaLibrary.js +94 -126
  11. package/dist/esm/actions/notifications.js +5 -13
  12. package/dist/esm/actions/search.js +30 -47
  13. package/dist/esm/actions/status.js +13 -23
  14. package/dist/esm/actions/waitUntil.js +4 -11
  15. package/dist/esm/backend.js +132 -148
  16. package/dist/esm/bootstrap.js +37 -44
  17. package/dist/esm/components/App/App.js +82 -89
  18. package/dist/esm/components/App/Header.js +46 -52
  19. package/dist/esm/components/App/NotFoundPage.js +11 -18
  20. package/dist/esm/components/Collection/Collection.js +55 -63
  21. package/dist/esm/components/Collection/CollectionControls.js +15 -22
  22. package/dist/esm/components/Collection/CollectionSearch.js +35 -42
  23. package/dist/esm/components/Collection/CollectionTop.js +23 -30
  24. package/dist/esm/components/Collection/ControlButton.js +10 -16
  25. package/dist/esm/components/Collection/Entries/Entries.js +24 -31
  26. package/dist/esm/components/Collection/Entries/EntriesCollection.js +52 -62
  27. package/dist/esm/components/Collection/Entries/EntriesSearch.js +26 -33
  28. package/dist/esm/components/Collection/Entries/EntryCard.js +38 -45
  29. package/dist/esm/components/Collection/Entries/EntryListing.js +24 -32
  30. package/dist/esm/components/Collection/FilterControl.js +9 -16
  31. package/dist/esm/components/Collection/GroupControl.js +9 -16
  32. package/dist/esm/components/Collection/NestedCollection.js +54 -65
  33. package/dist/esm/components/Collection/Sidebar.js +36 -43
  34. package/dist/esm/components/Collection/SortControl.js +19 -26
  35. package/dist/esm/components/Collection/ViewStyleControl.js +17 -24
  36. package/dist/esm/components/Editor/Editor.js +100 -108
  37. package/dist/esm/components/Editor/EditorControlPane/EditorControl.js +105 -112
  38. package/dist/esm/components/Editor/EditorControlPane/EditorControlPane.js +68 -62
  39. package/dist/esm/components/Editor/EditorControlPane/Widget.js +87 -73
  40. package/dist/esm/components/Editor/EditorInterface.js +95 -98
  41. package/dist/esm/components/Editor/EditorPreviewPane/EditorPreview.js +13 -21
  42. package/dist/esm/components/Editor/EditorPreviewPane/EditorPreviewContent.js +64 -23
  43. package/dist/esm/components/Editor/EditorPreviewPane/EditorPreviewPane.js +94 -78
  44. package/dist/esm/components/Editor/EditorPreviewPane/PreviewHOC.js +9 -16
  45. package/dist/esm/components/Editor/EditorToolbar.js +133 -140
  46. package/dist/esm/components/Editor/withWorkflow.js +15 -22
  47. package/dist/esm/components/EditorWidgets/Unknown/UnknownControl.js +9 -16
  48. package/dist/esm/components/EditorWidgets/Unknown/UnknownPreview.js +9 -16
  49. package/dist/esm/components/EditorWidgets/index.js +4 -7
  50. package/dist/esm/components/MediaLibrary/EmptyMessage.js +12 -19
  51. package/dist/esm/components/MediaLibrary/MediaLibrary.js +55 -62
  52. package/dist/esm/components/MediaLibrary/MediaLibraryButtons.js +28 -35
  53. package/dist/esm/components/MediaLibrary/MediaLibraryCard.js +36 -43
  54. package/dist/esm/components/MediaLibrary/MediaLibraryCardGrid.js +50 -57
  55. package/dist/esm/components/MediaLibrary/MediaLibraryHeader.js +16 -23
  56. package/dist/esm/components/MediaLibrary/MediaLibraryModal.js +59 -64
  57. package/dist/esm/components/MediaLibrary/MediaLibrarySearch.js +18 -25
  58. package/dist/esm/components/MediaLibrary/MediaLibraryTop.js +39 -46
  59. package/dist/esm/components/UI/DragDrop.js +21 -30
  60. package/dist/esm/components/UI/ErrorBoundary.js +35 -43
  61. package/dist/esm/components/UI/FileUploadButton.js +11 -18
  62. package/dist/esm/components/UI/Modal.js +19 -26
  63. package/dist/esm/components/UI/Notifications.js +21 -28
  64. package/dist/esm/components/UI/SettingsDropdown.js +28 -34
  65. package/dist/esm/components/UI/index.js +6 -60
  66. package/dist/esm/components/Workflow/Workflow.js +52 -61
  67. package/dist/esm/components/Workflow/WorkflowCard.js +45 -51
  68. package/dist/esm/components/Workflow/WorkflowList.js +43 -49
  69. package/dist/esm/constants/collectionTypes.js +2 -8
  70. package/dist/esm/constants/collectionViews.js +2 -8
  71. package/dist/esm/constants/commitProps.js +2 -8
  72. package/dist/esm/constants/configSchema.js +20 -27
  73. package/dist/esm/constants/fieldInference.js +8 -15
  74. package/dist/esm/constants/publishModes.js +6 -11
  75. package/dist/esm/constants/validationErrorTypes.js +1 -7
  76. package/dist/esm/formats/formats.js +32 -41
  77. package/dist/esm/formats/frontmatter.js +18 -30
  78. package/dist/esm/formats/helpers.js +1 -7
  79. package/dist/esm/formats/json.js +1 -7
  80. package/dist/esm/formats/toml.js +11 -18
  81. package/dist/esm/formats/yaml.js +7 -14
  82. package/dist/esm/index.js +5 -12
  83. package/dist/esm/integrations/index.js +8 -16
  84. package/dist/esm/integrations/providers/algolia/implementation.js +14 -22
  85. package/dist/esm/integrations/providers/assetStore/implementation.js +10 -18
  86. package/dist/esm/lib/consoleError.js +1 -7
  87. package/dist/esm/lib/formatters.js +34 -47
  88. package/dist/esm/lib/i18n.js +37 -66
  89. package/dist/esm/lib/phrases.js +4 -11
  90. package/dist/esm/lib/registry.js +40 -75
  91. package/dist/esm/lib/serializeEntryValues.js +11 -18
  92. package/dist/esm/lib/textHelper.js +1 -7
  93. package/dist/esm/lib/urlHelper.js +28 -43
  94. package/dist/esm/mediaLibrary.js +12 -16
  95. package/dist/esm/reducers/auth.js +10 -16
  96. package/dist/esm/reducers/collections.js +70 -102
  97. package/dist/esm/reducers/combinedReducer.js +4 -11
  98. package/dist/esm/reducers/config.js +11 -19
  99. package/dist/esm/reducers/cursors.js +12 -18
  100. package/dist/esm/reducers/deploys.js +8 -15
  101. package/dist/esm/reducers/editorialWorkflow.js +37 -47
  102. package/dist/esm/reducers/entries.js +107 -132
  103. package/dist/esm/reducers/entryDraft.js +64 -72
  104. package/dist/esm/reducers/globalUI.js +5 -11
  105. package/dist/esm/reducers/index.js +43 -64
  106. package/dist/esm/reducers/integrations.js +8 -16
  107. package/dist/esm/reducers/mediaLibrary.js +43 -52
  108. package/dist/esm/reducers/medias.js +11 -18
  109. package/dist/esm/reducers/notifications.js +9 -15
  110. package/dist/esm/reducers/search.js +12 -18
  111. package/dist/esm/reducers/status.js +7 -13
  112. package/dist/esm/redux/index.js +7 -13
  113. package/dist/esm/redux/middleware/waitUntilAction.js +3 -10
  114. package/dist/esm/routing/history.js +7 -15
  115. package/dist/esm/types/diacritics.d.js +0 -1
  116. package/dist/esm/types/global.d.js +1 -5
  117. package/dist/esm/types/immutable.js +1 -5
  118. package/dist/esm/types/redux.js +7 -8
  119. package/dist/esm/types/tomlify-j0.4.d.js +0 -1
  120. package/dist/esm/valueObjects/AssetProxy.js +2 -10
  121. package/dist/esm/valueObjects/EditorComponent.js +5 -12
  122. package/dist/esm/valueObjects/Entry.js +3 -10
  123. package/package.json +3 -2
  124. package/src/components/Collection/Entries/EntriesCollection.js +7 -8
  125. package/src/components/Collection/Entries/__tests__/EntriesCollection.spec.js +3 -5
  126. package/src/components/Collection/Entries/__tests__/__snapshots__/EntriesCollection.spec.js.snap +8 -8
  127. package/src/components/Collection/NestedCollection.js +2 -2
  128. package/src/components/Collection/__tests__/__snapshots__/NestedCollection.spec.js.snap +68 -0
  129. package/src/components/Editor/EditorControlPane/EditorControl.js +0 -3
  130. package/src/components/Editor/EditorControlPane/EditorControlPane.js +21 -8
  131. package/src/components/Editor/EditorControlPane/Widget.js +22 -1
  132. package/src/components/Editor/EditorInterface.js +6 -1
  133. package/src/components/Editor/EditorPreviewPane/EditorPreviewContent.js +51 -11
  134. package/src/components/Editor/EditorPreviewPane/EditorPreviewPane.js +33 -1
  135. package/dist/esm/actions/editorControl.js +0 -14
  136. package/dist/esm/reducers/editorComponent.js +0 -1
  137. package/dist/esm/reducers/editorControl.js +0 -17
@@ -1,31 +1,22 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _propTypes = _interopRequireDefault(require("prop-types"));
8
- var _react = _interopRequireWildcard(require("react"));
9
- var _reactImmutableProptypes = _interopRequireDefault(require("react-immutable-proptypes"));
10
- var _immutable = require("immutable");
11
- var _commonTags = require("common-tags");
12
- var _registry = require("../../../lib/registry");
13
- var _validationErrorTypes = _interopRequireDefault(require("../../../constants/validationErrorTypes"));
14
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
15
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
16
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
1
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
18
2
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
19
3
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
4
+ import PropTypes from 'prop-types';
5
+ import React, { Component } from 'react';
6
+ import ImmutablePropTypes from 'react-immutable-proptypes';
7
+ import { Map, List } from 'immutable';
8
+ import { oneLine } from 'common-tags';
9
+ import { getRemarkPlugins } from '../../../lib/registry';
10
+ import ValidationErrorTypes from '../../../constants/validationErrorTypes';
20
11
  function truthy() {
21
12
  return {
22
13
  error: false
23
14
  };
24
15
  }
25
16
  function isEmpty(value) {
26
- return value === null || value === undefined || Object.prototype.hasOwnProperty.call(value, 'length') && value.length === 0 || value.constructor === Object && Object.keys(value).length === 0 || _immutable.List.isList(value) && value.size === 0;
17
+ return value === null || value === undefined || Object.prototype.hasOwnProperty.call(value, 'length') && value.length === 0 || value.constructor === Object && Object.keys(value).length === 0 || List.isList(value) && value.size === 0;
27
18
  }
28
- class Widget extends _react.Component {
19
+ export default class Widget extends Component {
29
20
  constructor(...args) {
30
21
  super(...args);
31
22
  _defineProperty(this, "processInnerControlRef", ref => {
@@ -48,12 +39,17 @@ class Widget extends _react.Component {
48
39
  shouldComponentUpdate: scu
49
40
  } = this.innerWrappedControl;
50
41
  this.wrappedControlShouldComponentUpdate = scu && scu.bind(this.innerWrappedControl);
42
+
43
+ // Call the control ref if provided, passing this Widget instance
44
+ if (this.props.controlRef) {
45
+ this.props.controlRef(this);
46
+ }
51
47
  });
52
48
  _defineProperty(this, "getValidateValue", () => {
53
49
  var _this$innerWrappedCon, _this$innerWrappedCon2;
54
50
  let value = ((_this$innerWrappedCon = this.innerWrappedControl) === null || _this$innerWrappedCon === void 0 ? void 0 : (_this$innerWrappedCon2 = _this$innerWrappedCon.getValidateValue) === null || _this$innerWrappedCon2 === void 0 ? void 0 : _this$innerWrappedCon2.call(_this$innerWrappedCon)) || this.props.value;
55
51
  // Convert list input widget value to string for validation test
56
- _immutable.List.isList(value) && (value = value.join(','));
52
+ List.isList(value) && (value = value.join(','));
57
53
  return value;
58
54
  });
59
55
  _defineProperty(this, "validate", (skipWrapped = false) => {
@@ -84,7 +80,7 @@ class Widget extends _react.Component {
84
80
  const isRequired = field.get('required', true);
85
81
  if (isRequired && isEmpty(value)) {
86
82
  const error = {
87
- type: _validationErrorTypes.default.PRESENCE,
83
+ type: ValidationErrorTypes.PRESENCE,
88
84
  parentIds,
89
85
  message: t('editor.editorControlPane.widget.required', {
90
86
  fieldLabel: field.get('label', field.get('name'))
@@ -111,7 +107,7 @@ class Widget extends _react.Component {
111
107
  }
112
108
  if (pattern && !RegExp(pattern.first()).test(value)) {
113
109
  const error = {
114
- type: _validationErrorTypes.default.PATTERN,
110
+ type: ValidationErrorTypes.PATTERN,
115
111
  parentIds,
116
112
  message: t('editor.editorControlPane.widget.regexPattern', {
117
113
  fieldLabel: field.get('label', field.get('name')),
@@ -132,7 +128,7 @@ class Widget extends _react.Component {
132
128
  parentIds
133
129
  } = this.props;
134
130
  if (typeof this.wrappedControlValid !== 'function') {
135
- throw new Error((0, _commonTags.oneLine)`
131
+ throw new Error(oneLine`
136
132
  this.wrappedControlValid is not a function. Are you sure widget
137
133
  "${field.get('widget')}" is registered?
138
134
  `);
@@ -152,7 +148,7 @@ class Widget extends _react.Component {
152
148
  });
153
149
  }, err => {
154
150
  const error = {
155
- type: _validationErrorTypes.default.CUSTOM,
151
+ type: ValidationErrorTypes.CUSTOM,
156
152
  message: `${field.get('label', field.get('name'))} - ${err}.`
157
153
  };
158
154
  this.validate({
@@ -160,7 +156,7 @@ class Widget extends _react.Component {
160
156
  });
161
157
  });
162
158
  const error = {
163
- type: _validationErrorTypes.default.CUSTOM,
159
+ type: ValidationErrorTypes.CUSTOM,
164
160
  parentIds,
165
161
  message: t('editor.editorControlPane.widget.processing', {
166
162
  fieldLabel: field.get('label', field.get('name'))
@@ -179,7 +175,7 @@ class Widget extends _react.Component {
179
175
  * e.g. when debounced, always get the latest object value instead of using
180
176
  * `this.props.value` directly.
181
177
  */
182
- _defineProperty(this, "getObjectValue", () => this.props.value || (0, _immutable.Map)());
178
+ _defineProperty(this, "getObjectValue", () => this.props.value || Map());
183
179
  /**
184
180
  * Change handler for fields that are nested within another field.
185
181
  */
@@ -209,6 +205,25 @@ class Widget extends _react.Component {
209
205
  }
210
206
  return this.props.value !== nextProps.value || this.props.classNameWrapper !== nextProps.classNameWrapper || this.props.hasActiveStyle !== nextProps.hasActiveStyle;
211
207
  }
208
+ focus(path) {
209
+ var _this$innerWrappedCon3;
210
+ // Try widget's custom focus method first
211
+ if ((_this$innerWrappedCon3 = this.innerWrappedControl) !== null && _this$innerWrappedCon3 !== void 0 && _this$innerWrappedCon3.focus) {
212
+ this.innerWrappedControl.focus(path);
213
+ } else {
214
+ // Fall back to focusing by ID for simple widgets
215
+ const element = document.getElementById(this.props.uniqueFieldId);
216
+ element === null || element === void 0 ? void 0 : element.focus();
217
+ }
218
+ // After focusing, ensure the element is visible
219
+ const label = document.querySelector(`label[for="${this.props.uniqueFieldId}"]`);
220
+ if (label) {
221
+ label.scrollIntoView({
222
+ behavior: 'smooth',
223
+ block: 'nearest'
224
+ });
225
+ }
226
+ }
212
227
  render() {
213
228
  const {
214
229
  controlComponent,
@@ -258,7 +273,7 @@ class Widget extends _react.Component {
258
273
  locale,
259
274
  isParentListCollapsed
260
275
  } = this.props;
261
- return /*#__PURE__*/_react.default.createElement(controlComponent, {
276
+ return /*#__PURE__*/React.createElement(controlComponent, {
262
277
  entry,
263
278
  collection,
264
279
  config,
@@ -291,7 +306,7 @@ class Widget extends _react.Component {
291
306
  resolveWidget,
292
307
  widget,
293
308
  getEditorComponents,
294
- getRemarkPlugins: _registry.getRemarkPlugins,
309
+ getRemarkPlugins,
295
310
  query,
296
311
  queryHits,
297
312
  clearSearch,
@@ -312,51 +327,50 @@ class Widget extends _react.Component {
312
327
  });
313
328
  }
314
329
  }
315
- exports.default = Widget;
316
330
  _defineProperty(Widget, "propTypes", {
317
- controlComponent: _propTypes.default.func.isRequired,
318
- field: _reactImmutableProptypes.default.map.isRequired,
319
- hasActiveStyle: _propTypes.default.bool,
320
- setActiveStyle: _propTypes.default.func.isRequired,
321
- setInactiveStyle: _propTypes.default.func.isRequired,
322
- classNameWrapper: _propTypes.default.string.isRequired,
323
- classNameWidget: _propTypes.default.string.isRequired,
324
- classNameWidgetActive: _propTypes.default.string.isRequired,
325
- classNameLabel: _propTypes.default.string.isRequired,
326
- classNameLabelActive: _propTypes.default.string.isRequired,
327
- value: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.object, _propTypes.default.string, _propTypes.default.bool]),
328
- mediaPaths: _reactImmutableProptypes.default.map.isRequired,
329
- metadata: _reactImmutableProptypes.default.map,
330
- fieldsErrors: _reactImmutableProptypes.default.map,
331
- onChange: _propTypes.default.func.isRequired,
332
- onValidate: _propTypes.default.func,
333
- onOpenMediaLibrary: _propTypes.default.func.isRequired,
334
- onClearMediaControl: _propTypes.default.func.isRequired,
335
- onRemoveMediaControl: _propTypes.default.func.isRequired,
336
- onPersistMedia: _propTypes.default.func.isRequired,
337
- onAddAsset: _propTypes.default.func.isRequired,
338
- onRemoveInsertedMedia: _propTypes.default.func.isRequired,
339
- getAsset: _propTypes.default.func.isRequired,
340
- resolveWidget: _propTypes.default.func.isRequired,
341
- widget: _propTypes.default.object.isRequired,
342
- getEditorComponents: _propTypes.default.func.isRequired,
343
- isFetching: _propTypes.default.bool,
344
- controlRef: _propTypes.default.func,
345
- query: _propTypes.default.func.isRequired,
346
- clearSearch: _propTypes.default.func.isRequired,
347
- clearFieldErrors: _propTypes.default.func.isRequired,
348
- queryHits: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object]),
349
- editorControl: _propTypes.default.elementType.isRequired,
350
- uniqueFieldId: _propTypes.default.string.isRequired,
351
- loadEntry: _propTypes.default.func.isRequired,
352
- t: _propTypes.default.func.isRequired,
353
- onValidateObject: _propTypes.default.func,
354
- isEditorComponent: _propTypes.default.bool,
355
- isNewEditorComponent: _propTypes.default.bool,
356
- entry: _reactImmutableProptypes.default.map.isRequired,
357
- isDisabled: _propTypes.default.bool,
358
- isFieldDuplicate: _propTypes.default.func,
359
- isFieldHidden: _propTypes.default.func,
360
- locale: _propTypes.default.string,
361
- isParentListCollapsed: _propTypes.default.bool
331
+ controlComponent: PropTypes.func.isRequired,
332
+ field: ImmutablePropTypes.map.isRequired,
333
+ hasActiveStyle: PropTypes.bool,
334
+ setActiveStyle: PropTypes.func.isRequired,
335
+ setInactiveStyle: PropTypes.func.isRequired,
336
+ classNameWrapper: PropTypes.string.isRequired,
337
+ classNameWidget: PropTypes.string.isRequired,
338
+ classNameWidgetActive: PropTypes.string.isRequired,
339
+ classNameLabel: PropTypes.string.isRequired,
340
+ classNameLabelActive: PropTypes.string.isRequired,
341
+ value: PropTypes.oneOfType([PropTypes.node, PropTypes.object, PropTypes.string, PropTypes.bool]),
342
+ mediaPaths: ImmutablePropTypes.map.isRequired,
343
+ metadata: ImmutablePropTypes.map,
344
+ fieldsErrors: ImmutablePropTypes.map,
345
+ onChange: PropTypes.func.isRequired,
346
+ onValidate: PropTypes.func,
347
+ controlRef: PropTypes.func,
348
+ onOpenMediaLibrary: PropTypes.func.isRequired,
349
+ onClearMediaControl: PropTypes.func.isRequired,
350
+ onRemoveMediaControl: PropTypes.func.isRequired,
351
+ onPersistMedia: PropTypes.func.isRequired,
352
+ onAddAsset: PropTypes.func.isRequired,
353
+ onRemoveInsertedMedia: PropTypes.func.isRequired,
354
+ getAsset: PropTypes.func.isRequired,
355
+ resolveWidget: PropTypes.func.isRequired,
356
+ widget: PropTypes.object.isRequired,
357
+ getEditorComponents: PropTypes.func.isRequired,
358
+ isFetching: PropTypes.bool,
359
+ query: PropTypes.func.isRequired,
360
+ clearSearch: PropTypes.func.isRequired,
361
+ clearFieldErrors: PropTypes.func.isRequired,
362
+ queryHits: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),
363
+ editorControl: PropTypes.elementType.isRequired,
364
+ uniqueFieldId: PropTypes.string.isRequired,
365
+ loadEntry: PropTypes.func.isRequired,
366
+ t: PropTypes.func.isRequired,
367
+ onValidateObject: PropTypes.func,
368
+ isEditorComponent: PropTypes.bool,
369
+ isNewEditorComponent: PropTypes.bool,
370
+ entry: ImmutablePropTypes.map.isRequired,
371
+ isDisabled: PropTypes.bool,
372
+ isFieldDuplicate: PropTypes.func,
373
+ isFieldHidden: PropTypes.func,
374
+ locale: PropTypes.string,
375
+ isParentListCollapsed: PropTypes.bool
362
376
  });