@contentful/default-field-editors 1.2.80 → 1.3.1

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/CHANGELOG.md CHANGED
@@ -3,6 +3,16 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [1.3.1](https://github.com/contentful/field-editors/compare/@contentful/default-field-editors@1.3.0...@contentful/default-field-editors@1.3.1) (2023-04-21)
7
+
8
+ **Note:** Version bump only for package @contentful/default-field-editors
9
+
10
+ # [1.3.0](https://github.com/contentful/field-editors/compare/@contentful/default-field-editors@1.2.80...@contentful/default-field-editors@1.3.0) (2023-04-19)
11
+
12
+ ### Features
13
+
14
+ - upgrade cypress [TOL-1036] ([#1391](https://github.com/contentful/field-editors/issues/1391)) ([9c1aec9](https://github.com/contentful/field-editors/commit/9c1aec98aabbe464cdc3f1236c3bb1cc29b8208d))
15
+
6
16
  ## [1.2.80](https://github.com/contentful/field-editors/compare/@contentful/default-field-editors@1.2.79...@contentful/default-field-editors@1.2.80) (2023-04-17)
7
17
 
8
18
  **Note:** Version bump only for package @contentful/default-field-editors
@@ -5,58 +5,40 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
6
6
 
7
7
  var React = require('react');
8
- var fieldEditorNumber = require('@contentful/field-editor-number');
9
- var fieldEditorSingleLine = require('@contentful/field-editor-single-line');
10
8
  var fieldEditorBoolean = require('@contentful/field-editor-boolean');
11
- var fieldEditorDate = require('@contentful/field-editor-date');
12
- var fieldEditorLocation = require('@contentful/field-editor-location');
13
- var fieldEditorJson = require('@contentful/field-editor-json');
14
- var fieldEditorMultipleLine = require('@contentful/field-editor-multiple-line');
15
- var fieldEditorTags = require('@contentful/field-editor-tags');
16
- var fieldEditorSlug = require('@contentful/field-editor-slug');
17
- var fieldEditorDropdown = require('@contentful/field-editor-dropdown');
18
- var fieldEditorUrl = require('@contentful/field-editor-url');
19
9
  var fieldEditorRadio = require('@contentful/field-editor-radio');
20
10
  var fieldEditorRating = require('@contentful/field-editor-rating');
21
11
  var fieldEditorCheckbox = require('@contentful/field-editor-checkbox');
12
+ var fieldEditorDate = require('@contentful/field-editor-date');
13
+ var fieldEditorDropdown = require('@contentful/field-editor-dropdown');
14
+ var fieldEditorJson = require('@contentful/field-editor-json');
22
15
  var fieldEditorList = require('@contentful/field-editor-list');
16
+ var fieldEditorLocation = require('@contentful/field-editor-location');
17
+ var fieldEditorMarkdown = require('@contentful/field-editor-markdown');
18
+ var fieldEditorMultipleLine = require('@contentful/field-editor-multiple-line');
19
+ var fieldEditorNumber = require('@contentful/field-editor-number');
23
20
  var fieldEditorReference = require('@contentful/field-editor-reference');
24
21
  var fieldEditorRichText = require('@contentful/field-editor-rich-text');
25
- var fieldEditorMarkdown = require('@contentful/field-editor-markdown');
22
+ var fieldEditorSingleLine = require('@contentful/field-editor-single-line');
23
+ var fieldEditorSlug = require('@contentful/field-editor-slug');
24
+ var fieldEditorTags = require('@contentful/field-editor-tags');
25
+ var fieldEditorUrl = require('@contentful/field-editor-url');
26
26
  var contentfulManagement = require('contentful-management');
27
- var emotion = require('emotion');
28
27
  var f36Components = require('@contentful/f36-components');
29
28
  var fieldEditorValidationErrors = require('@contentful/field-editor-validation-errors');
29
+ var emotion = require('emotion');
30
30
  var tokens = _interopDefault(require('@contentful/f36-tokens'));
31
31
 
32
- function _extends() {
33
- _extends = Object.assign || function (target) {
34
- for (var i = 1; i < arguments.length; i++) {
35
- var source = arguments[i];
36
-
37
- for (var key in source) {
38
- if (Object.prototype.hasOwnProperty.call(source, key)) {
39
- target[key] = source[key];
40
- }
41
- }
42
- }
43
-
44
- return target;
45
- };
46
-
47
- return _extends.apply(this, arguments);
48
- }
49
-
50
32
  function getDefaultWidgetId(sdk) {
51
- var field = sdk.field; // @ts-expect-error FieldExtensionSDK.field doesn't include all the
33
+ const field = sdk.field; // @ts-expect-error FieldExtensionSDK.field doesn't include all the
52
34
  // properties of ContentFields type. It should be fixed
53
35
 
54
- return contentfulManagement.editorInterfaceDefaults["default"].getDefaultControlOfField(field).widgetId;
36
+ return contentfulManagement.editorInterfaceDefaults.default.getDefaultControlOfField(field).widgetId;
55
37
  }
56
38
 
57
- var widgetComponents = {
39
+ const widgetComponents = {
58
40
  multipleLine: [fieldEditorMultipleLine.MultipleLineEditor],
59
- "boolean": [fieldEditorBoolean.BooleanEditor],
41
+ boolean: [fieldEditorBoolean.BooleanEditor],
60
42
  objectEditor: [fieldEditorJson.JsonEditor],
61
43
  datePicker: [fieldEditorDate.DateEditor],
62
44
  locationEditor: [fieldEditorLocation.LocationEditor],
@@ -98,61 +80,61 @@ var widgetComponents = {
98
80
  richTextEditor: [fieldEditorRichText.RichTextEditor],
99
81
  markdown: [fieldEditorMarkdown.MarkdownEditor]
100
82
  };
101
- var Field = function Field(props) {
102
- var sdk = props.sdk,
103
- possiblyUndefinedWidgetId = props.widgetId,
104
- _props$isInitiallyDis = props.isInitiallyDisabled,
105
- isInitiallyDisabled = _props$isInitiallyDis === void 0 ? false : _props$isInitiallyDis,
106
- renderFieldEditor = props.renderFieldEditor,
107
- getOptions = props.getOptions;
108
- var field = sdk.field;
109
- var locales = sdk.locales;
110
- var widgetId = possiblyUndefinedWidgetId != null ? possiblyUndefinedWidgetId : getDefaultWidgetId(sdk);
83
+ const Field = props => {
84
+ const {
85
+ sdk,
86
+ widgetId: possiblyUndefinedWidgetId,
87
+ isInitiallyDisabled = false,
88
+ renderFieldEditor,
89
+ getOptions
90
+ } = props;
91
+ const field = sdk.field;
92
+ const locales = sdk.locales;
93
+ const widgetId = possiblyUndefinedWidgetId ?? getDefaultWidgetId(sdk);
111
94
 
112
95
  if (renderFieldEditor) {
113
- var customEditor = renderFieldEditor(widgetId, sdk, isInitiallyDisabled);
96
+ const customEditor = renderFieldEditor(widgetId, sdk, isInitiallyDisabled);
114
97
 
115
98
  if (customEditor) {
116
99
  return customEditor;
117
100
  }
118
101
  }
119
102
 
120
- var options = getOptions ? getOptions(widgetId, sdk) : {};
121
- var referenceEditorParams = sdk.parameters && 'instance' in sdk.parameters ? sdk.parameters : {
103
+ const options = getOptions ? getOptions(widgetId, sdk) : {};
104
+ const referenceEditorParams = sdk.parameters && 'instance' in sdk.parameters ? sdk.parameters : {
122
105
  instance: {
123
106
  showCreateEntityAction: true,
124
107
  showLinkEntityAction: true
125
108
  }
126
109
  };
127
110
  if (!widgetComponents[widgetId]) return null;
128
- var _widgetComponents$wid = widgetComponents[widgetId],
129
- WidgetComponent = _widgetComponents$wid[0],
130
- widgetStaticProps = _widgetComponents$wid[1];
131
-
132
- var widgetComponentProps = _extends({
133
- sdk: sdk,
134
- field: field,
135
- locales: locales,
136
- isInitiallyDisabled: isInitiallyDisabled,
137
- parameters: referenceEditorParams
138
- }, widgetStaticProps, options[widgetId]);
139
-
140
- var baseSdk = widgetId === 'slugEditor' ? sdk : undefined;
141
- return React.createElement(WidgetComponent, _extends({
142
- key: sdk.field.locale
143
- }, widgetComponentProps, {
111
+ const [WidgetComponent, widgetStaticProps] = widgetComponents[widgetId];
112
+ const widgetComponentProps = {
113
+ sdk,
114
+ field,
115
+ locales,
116
+ isInitiallyDisabled,
117
+ parameters: referenceEditorParams,
118
+ ...widgetStaticProps,
119
+ // @ts-expect-error
120
+ ...options[widgetId]
121
+ };
122
+ const baseSdk = widgetId === 'slugEditor' ? sdk : undefined;
123
+ return React.createElement(WidgetComponent, {
124
+ key: sdk.field.locale,
125
+ ...widgetComponentProps,
144
126
  baseSdk: baseSdk
145
- }));
127
+ });
146
128
  };
147
129
 
148
- var styles = {
130
+ const styles = {
149
131
  withFocusBar: /*#__PURE__*/emotion.css({
150
132
  marginLeft: tokens.spacingL,
151
133
  marginRight: tokens.spacingL,
152
134
  marginBottom: '29px',
153
135
  marginTop: '19px',
154
136
  paddingLeft: tokens.spacingM,
155
- borderLeft: "3px solid " + tokens.gray300,
137
+ borderLeft: `3px solid ${tokens.gray300}`,
156
138
  transition: 'border-color 0.18s linear',
157
139
  '&:focus-within': {
158
140
  borderColor: tokens.colorPrimary
@@ -172,45 +154,41 @@ var styles = {
172
154
  whiteSpace: 'pre-wrap'
173
155
  }),
174
156
  helpText: /*#__PURE__*/emotion.css({
175
- margin: tokens.spacingXs + " 0",
157
+ margin: `${tokens.spacingXs} 0`,
176
158
  fontStyle: 'italic'
177
159
  })
178
160
  };
179
161
 
180
- var FieldWrapper = function FieldWrapper(props) {
181
- var _sdk$parameters$insta, _sdk$parameters, _sdk$parameters$insta2, _sdk$contentType, _sdk$contentType$sys;
182
-
183
- var ids = props.sdk.ids;
184
-
185
- var defaultGetEntryUrl = function defaultGetEntryUrl(entry) {
186
- return "/spaces/" + ids.space + "/environments/" + (ids.environmentAlias || ids.environment) + "/entries/" + entry.sys.id;
187
- };
188
-
189
- var name = props.name,
190
- sdk = props.sdk,
191
- className = props.className,
192
- children = props.children,
193
- renderHeading = props.renderHeading,
194
- renderHelpText = props.renderHelpText,
195
- _props$showFocusBar = props.showFocusBar,
196
- showFocusBar = _props$showFocusBar === void 0 ? true : _props$showFocusBar,
197
- _props$getEntryURL = props.getEntryURL,
198
- getEntryURL = _props$getEntryURL === void 0 ? defaultGetEntryUrl : _props$getEntryURL;
199
- var field = sdk.field;
200
- var helpText = (_sdk$parameters$insta = (_sdk$parameters = sdk.parameters) == null ? void 0 : (_sdk$parameters$insta2 = _sdk$parameters.instance) == null ? void 0 : _sdk$parameters$insta2.helpText) != null ? _sdk$parameters$insta : '';
201
-
202
- var _React$useState = React.useState(false),
203
- hasErrors = _React$useState[0],
204
- setHasErrors = _React$useState[1];
205
-
206
- React.useEffect(function () {
207
- return field.onSchemaErrorsChanged(function (errors) {
162
+ const FieldWrapper = function (props) {
163
+ var _sdk$parameters, _sdk$parameters$insta, _sdk$contentType, _sdk$contentType$sys;
164
+
165
+ const {
166
+ ids
167
+ } = props.sdk;
168
+
169
+ const defaultGetEntryUrl = entry => `/spaces/${ids.space}/environments/${ids.environmentAlias || ids.environment}/entries/${entry.sys.id}`;
170
+
171
+ const {
172
+ name,
173
+ sdk,
174
+ className,
175
+ children,
176
+ renderHeading,
177
+ renderHelpText,
178
+ showFocusBar = true,
179
+ getEntryURL = defaultGetEntryUrl
180
+ } = props;
181
+ const {
182
+ field
183
+ } = sdk;
184
+ const helpText = ((_sdk$parameters = sdk.parameters) == null ? void 0 : (_sdk$parameters$insta = _sdk$parameters.instance) == null ? void 0 : _sdk$parameters$insta.helpText) ?? '';
185
+ const [hasErrors, setHasErrors] = React.useState(false);
186
+ React.useEffect(() => {
187
+ return field.onSchemaErrorsChanged(errors => {
208
188
  setHasErrors((errors || []).length > 0);
209
189
  });
210
190
  }, [field]);
211
- var fieldControlId = [field.id, field.locale, (_sdk$contentType = sdk.contentType) == null ? void 0 : (_sdk$contentType$sys = _sdk$contentType.sys) == null ? void 0 : _sdk$contentType$sys.id].filter(function (item) {
212
- return item;
213
- }).join('-');
191
+ const fieldControlId = [field.id, field.locale, (_sdk$contentType = sdk.contentType) == null ? void 0 : (_sdk$contentType$sys = _sdk$contentType.sys) == null ? void 0 : _sdk$contentType$sys.id].filter(item => item).join('-');
214
192
  return React.createElement(f36Components.FormControl, {
215
193
  id: fieldControlId,
216
194
  testId: "entity-field-controls",
@@ -1 +1 @@
1
- {"version":3,"file":"default-field-editors.cjs.development.js","sources":["../src/getDefaultWidgetId.ts","../src/Field.tsx","../src/FieldWrapper.styles.ts","../src/FieldWrapper.tsx"],"sourcesContent":["import { editorInterfaceDefaults } from 'contentful-management';\n\nimport type { FieldExtensionSDK } from '@contentful/field-editor-shared';\nimport type { WidgetType } from './types';\n\nexport function getDefaultWidgetId(\n sdk: Pick<FieldExtensionSDK, 'field' | 'contentType'>\n): WidgetType {\n const field = sdk.field;\n\n // @ts-expect-error FieldExtensionSDK.field doesn't include all the\n // properties of ContentFields type. It should be fixed\n return editorInterfaceDefaults.default.getDefaultControlOfField(field).widgetId;\n}\n","import * as React from 'react';\nimport { NumberEditor } from '@contentful/field-editor-number';\nimport { SingleLineEditor } from '@contentful/field-editor-single-line';\nimport { BooleanEditor } from '@contentful/field-editor-boolean';\nimport { DateEditor } from '@contentful/field-editor-date';\nimport { LocationEditor } from '@contentful/field-editor-location';\nimport { JsonEditor } from '@contentful/field-editor-json';\nimport { MultipleLineEditor } from '@contentful/field-editor-multiple-line';\nimport { TagsEditor } from '@contentful/field-editor-tags';\nimport { SlugEditor } from '@contentful/field-editor-slug';\nimport { DropdownEditor } from '@contentful/field-editor-dropdown';\nimport { UrlEditor } from '@contentful/field-editor-url';\nimport { RadioEditor } from '@contentful/field-editor-radio';\nimport { RatingEditor } from '@contentful/field-editor-rating';\nimport { CheckboxEditor } from '@contentful/field-editor-checkbox';\nimport { ListEditor } from '@contentful/field-editor-list';\nimport {\n SingleEntryReferenceEditor,\n MultipleEntryReferenceEditor,\n SingleMediaEditor,\n MultipleMediaEditor,\n} from '@contentful/field-editor-reference';\nimport { RichTextEditor } from '@contentful/field-editor-rich-text';\nimport { MarkdownEditor } from '@contentful/field-editor-markdown';\nimport type { FieldExtensionSDK } from '@contentful/field-editor-shared';\nimport type { EditorOptions, WidgetType } from './types';\nimport { getDefaultWidgetId } from './getDefaultWidgetId';\n\ntype FieldProps = {\n sdk: FieldExtensionSDK;\n widgetId?: WidgetType;\n isInitiallyDisabled?: boolean;\n renderFieldEditor?: (\n widgetId: WidgetType,\n sdk: FieldExtensionSDK,\n isInitiallyDisabled: boolean\n ) => JSX.Element | false;\n getOptions?: (widgetId: WidgetType, sdk: FieldExtensionSDK) => EditorOptions;\n};\n\nconst widgetComponents: Record<string, [React.ComponentType<any>, any?]> = {\n multipleLine: [MultipleLineEditor],\n boolean: [BooleanEditor],\n objectEditor: [JsonEditor],\n datePicker: [DateEditor],\n locationEditor: [LocationEditor],\n checkbox: [CheckboxEditor],\n listInput: [ListEditor],\n rating: [RatingEditor],\n radio: [RadioEditor],\n tagEditor: [TagsEditor],\n numberEditor: [NumberEditor],\n urlEditor: [UrlEditor],\n slugEditor: [SlugEditor],\n singleLine: [SingleLineEditor],\n dropdown: [DropdownEditor],\n entryLinkEditor: [SingleEntryReferenceEditor, { viewType: 'link', hasCardEditActions: true }],\n entryCardEditor: [SingleEntryReferenceEditor, { viewType: 'card', hasCardEditActions: true }],\n entryLinksEditor: [MultipleEntryReferenceEditor, { viewType: 'link', hasCardEditActions: true }],\n entryCardsEditor: [MultipleEntryReferenceEditor, { viewType: 'card', hasCardEditActions: true }],\n assetLinkEditor: [SingleMediaEditor, { viewType: 'link' }],\n assetLinksEditor: [MultipleMediaEditor, { viewType: 'link' }],\n assetGalleryEditor: [MultipleMediaEditor, { viewType: 'card' }],\n richTextEditor: [RichTextEditor],\n markdown: [MarkdownEditor],\n};\n\nexport const Field: React.FC<FieldProps> = (props: FieldProps) => {\n const {\n sdk,\n widgetId: possiblyUndefinedWidgetId,\n isInitiallyDisabled = false,\n renderFieldEditor,\n getOptions,\n } = props;\n const field = sdk.field;\n const locales = sdk.locales;\n\n const widgetId = possiblyUndefinedWidgetId ?? getDefaultWidgetId(sdk);\n\n if (renderFieldEditor) {\n const customEditor = renderFieldEditor(widgetId, sdk, isInitiallyDisabled);\n if (customEditor) {\n return customEditor;\n }\n }\n\n const options = getOptions ? getOptions(widgetId, sdk) : {};\n const referenceEditorParams =\n sdk.parameters && 'instance' in sdk.parameters\n ? sdk.parameters\n : {\n instance: {\n showCreateEntityAction: true,\n showLinkEntityAction: true,\n },\n };\n\n if (!widgetComponents[widgetId]) return null;\n\n const [WidgetComponent, widgetStaticProps] = widgetComponents[widgetId];\n\n const widgetComponentProps = {\n sdk,\n field,\n locales,\n isInitiallyDisabled,\n parameters: referenceEditorParams,\n ...widgetStaticProps,\n // @ts-expect-error\n ...options[widgetId],\n };\n\n const baseSdk = widgetId === 'slugEditor' ? sdk : undefined;\n\n return <WidgetComponent key={sdk.field.locale} {...widgetComponentProps} baseSdk={baseSdk} />;\n};\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\n\nexport const styles = {\n withFocusBar: css({\n marginLeft: tokens.spacingL,\n marginRight: tokens.spacingL,\n marginBottom: '29px',\n marginTop: '19px',\n paddingLeft: tokens.spacingM,\n borderLeft: `3px solid ${tokens.gray300}`,\n transition: 'border-color 0.18s linear',\n '&:focus-within': {\n borderColor: tokens.colorPrimary,\n },\n '&[aria-invalid=\"true\"]': {\n borderLeftColor: tokens.red500,\n },\n }),\n label: css({\n display: 'flex',\n width: '100%',\n maxWidth: '800px',\n color: tokens.gray500,\n fontSize: tokens.fontSizeM,\n fontWeight: tokens.fontWeightNormal,\n lineHeight: tokens.lineHeightDefault,\n whiteSpace: 'pre-wrap',\n }),\n helpText: css({\n margin: `${tokens.spacingXs} 0`,\n fontStyle: 'italic',\n }),\n};\n","import * as React from 'react';\nimport { cx } from 'emotion';\nimport { FormControl } from '@contentful/f36-components';\nimport { ValidationErrors } from '@contentful/field-editor-validation-errors';\nimport type { FieldExtensionSDK, Entry } from '@contentful/field-editor-shared';\nimport { styles } from './FieldWrapper.styles';\n\ntype FieldWrapperProps = {\n name: string;\n sdk: FieldExtensionSDK;\n /**\n * Generates a link to another entry with the same value when a \"non unique\" validation error occurs\n */\n getEntryURL?: (entry: Entry) => string;\n className?: string;\n showFocusBar?: boolean;\n children: React.ReactNode;\n renderHeading?: (name: string) => JSX.Element | null;\n renderHelpText?: (helpText: string) => JSX.Element | null;\n};\n\nexport const FieldWrapper: React.FC<FieldWrapperProps> = function (props: FieldWrapperProps) {\n const { ids } = props.sdk;\n const defaultGetEntryUrl = (entry: Entry) =>\n `/spaces/${ids.space}/environments/${ids.environmentAlias || ids.environment}/entries/${\n entry.sys.id\n }`;\n const {\n name,\n sdk,\n className,\n children,\n renderHeading,\n renderHelpText,\n showFocusBar = true,\n getEntryURL = defaultGetEntryUrl,\n } = props;\n const { field } = sdk;\n const helpText = (sdk.parameters?.instance as any)?.helpText ?? '';\n\n const [hasErrors, setHasErrors] = React.useState(false);\n React.useEffect(() => {\n return field.onSchemaErrorsChanged((errors: unknown[]) => {\n setHasErrors((errors || []).length > 0);\n });\n }, [field]);\n\n const fieldControlId = [field.id, field.locale, sdk.contentType?.sys?.id]\n .filter((item) => item)\n .join('-');\n\n return (\n <FormControl\n id={fieldControlId}\n testId=\"entity-field-controls\"\n data-test-id=\"entity-field-controls\"\n className={cx(showFocusBar && styles.withFocusBar, className)}\n aria-invalid={hasErrors}\n isRequired={field.required}>\n {renderHeading ? (\n renderHeading(name)\n ) : (\n <FormControl.Label className={styles.label}>{name}</FormControl.Label>\n )}\n\n {children}\n\n <ValidationErrors\n field={field}\n space={sdk.space}\n locales={sdk.locales}\n getEntryURL={getEntryURL || defaultGetEntryUrl}\n />\n\n {renderHelpText ? (\n renderHelpText(helpText)\n ) : (\n <FormControl.HelpText testId=\"field-hint\" className={styles.helpText}>\n {helpText}\n </FormControl.HelpText>\n )}\n </FormControl>\n );\n};\n"],"names":["getDefaultWidgetId","sdk","field","editorInterfaceDefaults","getDefaultControlOfField","widgetId","widgetComponents","multipleLine","MultipleLineEditor","BooleanEditor","objectEditor","JsonEditor","datePicker","DateEditor","locationEditor","LocationEditor","checkbox","CheckboxEditor","listInput","ListEditor","rating","RatingEditor","radio","RadioEditor","tagEditor","TagsEditor","numberEditor","NumberEditor","urlEditor","UrlEditor","slugEditor","SlugEditor","singleLine","SingleLineEditor","dropdown","DropdownEditor","entryLinkEditor","SingleEntryReferenceEditor","viewType","hasCardEditActions","entryCardEditor","entryLinksEditor","MultipleEntryReferenceEditor","entryCardsEditor","assetLinkEditor","SingleMediaEditor","assetLinksEditor","MultipleMediaEditor","assetGalleryEditor","richTextEditor","RichTextEditor","markdown","MarkdownEditor","Field","props","possiblyUndefinedWidgetId","isInitiallyDisabled","renderFieldEditor","getOptions","locales","customEditor","options","referenceEditorParams","parameters","instance","showCreateEntityAction","showLinkEntityAction","WidgetComponent","widgetStaticProps","widgetComponentProps","baseSdk","undefined","React","key","locale","styles","withFocusBar","css","marginLeft","tokens","spacingL","marginRight","marginBottom","marginTop","paddingLeft","spacingM","borderLeft","gray300","transition","borderColor","colorPrimary","borderLeftColor","red500","label","display","width","maxWidth","color","gray500","fontSize","fontSizeM","fontWeight","fontWeightNormal","lineHeight","lineHeightDefault","whiteSpace","helpText","margin","spacingXs","fontStyle","FieldWrapper","ids","defaultGetEntryUrl","entry","space","environmentAlias","environment","sys","id","name","className","children","renderHeading","renderHelpText","showFocusBar","getEntryURL","hasErrors","setHasErrors","onSchemaErrorsChanged","errors","length","fieldControlId","contentType","filter","item","join","FormControl","testId","cx","isRequired","required","Label","ValidationErrors","HelpText"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAKgBA,mBACdC;AAEA,MAAMC,KAAK,GAAGD,GAAG,CAACC,KAAlB;AAGA;;AACA,SAAOC,4CAAuB,WAAvB,CAAgCC,wBAAhC,CAAyDF,KAAzD,EAAgEG,QAAvE;AACD;;AC2BD,IAAMC,gBAAgB,GAAqD;AACzEC,EAAAA,YAAY,EAAE,CAACC,0CAAD,CAD2D;AAEzE,aAAS,CAACC,gCAAD,CAFgE;AAGzEC,EAAAA,YAAY,EAAE,CAACC,0BAAD,CAH2D;AAIzEC,EAAAA,UAAU,EAAE,CAACC,0BAAD,CAJ6D;AAKzEC,EAAAA,cAAc,EAAE,CAACC,kCAAD,CALyD;AAMzEC,EAAAA,QAAQ,EAAE,CAACC,kCAAD,CAN+D;AAOzEC,EAAAA,SAAS,EAAE,CAACC,0BAAD,CAP8D;AAQzEC,EAAAA,MAAM,EAAE,CAACC,8BAAD,CARiE;AASzEC,EAAAA,KAAK,EAAE,CAACC,4BAAD,CATkE;AAUzEC,EAAAA,SAAS,EAAE,CAACC,0BAAD,CAV8D;AAWzEC,EAAAA,YAAY,EAAE,CAACC,8BAAD,CAX2D;AAYzEC,EAAAA,SAAS,EAAE,CAACC,wBAAD,CAZ8D;AAazEC,EAAAA,UAAU,EAAE,CAACC,0BAAD,CAb6D;AAczEC,EAAAA,UAAU,EAAE,CAACC,sCAAD,CAd6D;AAezEC,EAAAA,QAAQ,EAAE,CAACC,kCAAD,CAf+D;AAgBzEC,EAAAA,eAAe,EAAE,CAACC,+CAAD,EAA6B;AAAEC,IAAAA,QAAQ,EAAE,MAAZ;AAAoBC,IAAAA,kBAAkB,EAAE;AAAxC,GAA7B,CAhBwD;AAiBzEC,EAAAA,eAAe,EAAE,CAACH,+CAAD,EAA6B;AAAEC,IAAAA,QAAQ,EAAE,MAAZ;AAAoBC,IAAAA,kBAAkB,EAAE;AAAxC,GAA7B,CAjBwD;AAkBzEE,EAAAA,gBAAgB,EAAE,CAACC,iDAAD,EAA+B;AAAEJ,IAAAA,QAAQ,EAAE,MAAZ;AAAoBC,IAAAA,kBAAkB,EAAE;AAAxC,GAA/B,CAlBuD;AAmBzEI,EAAAA,gBAAgB,EAAE,CAACD,iDAAD,EAA+B;AAAEJ,IAAAA,QAAQ,EAAE,MAAZ;AAAoBC,IAAAA,kBAAkB,EAAE;AAAxC,GAA/B,CAnBuD;AAoBzEK,EAAAA,eAAe,EAAE,CAACC,sCAAD,EAAoB;AAAEP,IAAAA,QAAQ,EAAE;AAAZ,GAApB,CApBwD;AAqBzEQ,EAAAA,gBAAgB,EAAE,CAACC,wCAAD,EAAsB;AAAET,IAAAA,QAAQ,EAAE;AAAZ,GAAtB,CArBuD;AAsBzEU,EAAAA,kBAAkB,EAAE,CAACD,wCAAD,EAAsB;AAAET,IAAAA,QAAQ,EAAE;AAAZ,GAAtB,CAtBqD;AAuBzEW,EAAAA,cAAc,EAAE,CAACC,kCAAD,CAvByD;AAwBzEC,EAAAA,QAAQ,EAAE,CAACC,kCAAD;AAxB+D,CAA3E;AA2BA,IAAaC,KAAK,GAAyB,SAA9BA,KAA8B,CAACC,KAAD;AACzC,MACErD,GADF,GAMIqD,KANJ,CACErD,GADF;AAAA,MAEYsD,yBAFZ,GAMID,KANJ,CAEEjD,QAFF;AAAA,8BAMIiD,KANJ,CAGEE,mBAHF;AAAA,MAGEA,mBAHF,sCAGwB,KAHxB;AAAA,MAIEC,iBAJF,GAMIH,KANJ,CAIEG,iBAJF;AAAA,MAKEC,UALF,GAMIJ,KANJ,CAKEI,UALF;AAOA,MAAMxD,KAAK,GAAGD,GAAG,CAACC,KAAlB;AACA,MAAMyD,OAAO,GAAG1D,GAAG,CAAC0D,OAApB;AAEA,MAAMtD,QAAQ,GAAGkD,yBAAH,WAAGA,yBAAH,GAAgCvD,kBAAkB,CAACC,GAAD,CAAhE;;AAEA,MAAIwD,iBAAJ,EAAuB;AACrB,QAAMG,YAAY,GAAGH,iBAAiB,CAACpD,QAAD,EAAWJ,GAAX,EAAgBuD,mBAAhB,CAAtC;;AACA,QAAII,YAAJ,EAAkB;AAChB,aAAOA,YAAP;AACD;AACF;;AAED,MAAMC,OAAO,GAAGH,UAAU,GAAGA,UAAU,CAACrD,QAAD,EAAWJ,GAAX,CAAb,GAA+B,EAAzD;AACA,MAAM6D,qBAAqB,GACzB7D,GAAG,CAAC8D,UAAJ,IAAkB,cAAc9D,GAAG,CAAC8D,UAApC,GACI9D,GAAG,CAAC8D,UADR,GAEI;AACEC,IAAAA,QAAQ,EAAE;AACRC,MAAAA,sBAAsB,EAAE,IADhB;AAERC,MAAAA,oBAAoB,EAAE;AAFd;AADZ,GAHN;AAUA,MAAI,CAAC5D,gBAAgB,CAACD,QAAD,CAArB,EAAiC,OAAO,IAAP;AAEjC,8BAA6CC,gBAAgB,CAACD,QAAD,CAA7D;AAAA,MAAO8D,eAAP;AAAA,MAAwBC,iBAAxB;;AAEA,MAAMC,oBAAoB;AACxBpE,IAAAA,GAAG,EAAHA,GADwB;AAExBC,IAAAA,KAAK,EAALA,KAFwB;AAGxByD,IAAAA,OAAO,EAAPA,OAHwB;AAIxBH,IAAAA,mBAAmB,EAAnBA,mBAJwB;AAKxBO,IAAAA,UAAU,EAAED;AALY,KAMrBM,iBANqB,EAQrBP,OAAO,CAACxD,QAAD,CARc,CAA1B;;AAWA,MAAMiE,OAAO,GAAGjE,QAAQ,KAAK,YAAb,GAA4BJ,GAA5B,GAAkCsE,SAAlD;AAEA,SAAOC,mBAAA,CAACL,eAAD;AAAiBM,IAAAA,GAAG,EAAExE,GAAG,CAACC,KAAJ,CAAUwE;AAAhC,KAA4CL,oBAA5C;AAAkEC,IAAAA,OAAO,EAAEA;AAA3E,KAAP;AACD,CAjDM;;AChEA,IAAMK,MAAM,GAAG;AACpBC,EAAAA,YAAY,eAAEC,WAAG,CAAC;AAChBC,IAAAA,UAAU,EAAEC,MAAM,CAACC,QADH;AAEhBC,IAAAA,WAAW,EAAEF,MAAM,CAACC,QAFJ;AAGhBE,IAAAA,YAAY,EAAE,MAHE;AAIhBC,IAAAA,SAAS,EAAE,MAJK;AAKhBC,IAAAA,WAAW,EAAEL,MAAM,CAACM,QALJ;AAMhBC,IAAAA,UAAU,iBAAeP,MAAM,CAACQ,OANhB;AAOhBC,IAAAA,UAAU,EAAE,2BAPI;AAQhB,sBAAkB;AAChBC,MAAAA,WAAW,EAAEV,MAAM,CAACW;AADJ,KARF;AAWhB,8BAA0B;AACxBC,MAAAA,eAAe,EAAEZ,MAAM,CAACa;AADA;AAXV,GAAD,CADG;AAgBpBC,EAAAA,KAAK,eAAEhB,WAAG,CAAC;AACTiB,IAAAA,OAAO,EAAE,MADA;AAETC,IAAAA,KAAK,EAAE,MAFE;AAGTC,IAAAA,QAAQ,EAAE,OAHD;AAITC,IAAAA,KAAK,EAAElB,MAAM,CAACmB,OAJL;AAKTC,IAAAA,QAAQ,EAAEpB,MAAM,CAACqB,SALR;AAMTC,IAAAA,UAAU,EAAEtB,MAAM,CAACuB,gBANV;AAOTC,IAAAA,UAAU,EAAExB,MAAM,CAACyB,iBAPV;AAQTC,IAAAA,UAAU,EAAE;AARH,GAAD,CAhBU;AA0BpBC,EAAAA,QAAQ,eAAE7B,WAAG,CAAC;AACZ8B,IAAAA,MAAM,EAAK5B,MAAM,CAAC6B,SAAZ,OADM;AAEZC,IAAAA,SAAS,EAAE;AAFC,GAAD;AA1BO,CAAf;;ICkBMC,YAAY,GAAgC,SAA5CA,YAA4C,CAAUxD,KAAV;;;AACvD,MAAQyD,GAAR,GAAgBzD,KAAK,CAACrD,GAAtB,CAAQ8G,GAAR;;AACA,MAAMC,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,KAAD;AAAA,wBACdF,GAAG,CAACG,KADU,uBACYH,GAAG,CAACI,gBAAJ,IAAwBJ,GAAG,CAACK,WADxC,kBAEvBH,KAAK,CAACI,GAAN,CAAUC,EAFa;AAAA,GAA3B;;AAIA,MACEC,IADF,GASIjE,KATJ,CACEiE,IADF;AAAA,MAEEtH,GAFF,GASIqD,KATJ,CAEErD,GAFF;AAAA,MAGEuH,SAHF,GASIlE,KATJ,CAGEkE,SAHF;AAAA,MAIEC,QAJF,GASInE,KATJ,CAIEmE,QAJF;AAAA,MAKEC,aALF,GASIpE,KATJ,CAKEoE,aALF;AAAA,MAMEC,cANF,GASIrE,KATJ,CAMEqE,cANF;AAAA,4BASIrE,KATJ,CAOEsE,YAPF;AAAA,MAOEA,YAPF,oCAOiB,IAPjB;AAAA,2BASItE,KATJ,CAQEuE,WARF;AAAA,MAQEA,WARF,mCAQgBb,kBARhB;AAUA,MAAQ9G,KAAR,GAAkBD,GAAlB,CAAQC,KAAR;AACA,MAAMwG,QAAQ,+CAAIzG,GAAG,CAAC8D,UAAR,+CAAI,gBAAgBC,QAApB,qBAAI,uBAAkC0C,QAAtC,oCAAkD,EAAhE;;AAEA,wBAAkClC,cAAA,CAAe,KAAf,CAAlC;AAAA,MAAOsD,SAAP;AAAA,MAAkBC,YAAlB;;AACAvD,EAAAA,eAAA,CAAgB;AACd,WAAOtE,KAAK,CAAC8H,qBAAN,CAA4B,UAACC,MAAD;AACjCF,MAAAA,YAAY,CAAC,CAACE,MAAM,IAAI,EAAX,EAAeC,MAAf,GAAwB,CAAzB,CAAZ;AACD,KAFM,CAAP;AAGD,GAJD,EAIG,CAAChI,KAAD,CAJH;AAMA,MAAMiI,cAAc,GAAG,CAACjI,KAAK,CAACoH,EAAP,EAAWpH,KAAK,CAACwE,MAAjB,sBAAyBzE,GAAG,CAACmI,WAA7B,6CAAyB,iBAAiBf,GAA1C,qBAAyB,qBAAsBC,EAA/C,EACpBe,MADoB,CACb,UAACC,IAAD;AAAA,WAAUA,IAAV;AAAA,GADa,EAEpBC,IAFoB,CAEf,GAFe,CAAvB;AAIA,SACE/D,mBAAA,CAACgE,yBAAD;AACElB,IAAAA,EAAE,EAAEa;AACJM,IAAAA,MAAM,EAAC;oBACM;AACbjB,IAAAA,SAAS,EAAEkB,UAAE,CAACd,YAAY,IAAIjD,MAAM,CAACC,YAAxB,EAAsC4C,SAAtC;oBACCM;AACda,IAAAA,UAAU,EAAEzI,KAAK,CAAC0I;GANpB,EAOGlB,aAAa,GACZA,aAAa,CAACH,IAAD,CADD,GAGZ/C,mBAAA,CAACgE,yBAAW,CAACK,KAAb;AAAmBrB,IAAAA,SAAS,EAAE7C,MAAM,CAACkB;GAArC,EAA6C0B,IAA7C,CAVJ,EAaGE,QAbH,EAeEjD,mBAAA,CAACsE,4CAAD;AACE5I,IAAAA,KAAK,EAAEA;AACPgH,IAAAA,KAAK,EAAEjH,GAAG,CAACiH;AACXvD,IAAAA,OAAO,EAAE1D,GAAG,CAAC0D;AACbkE,IAAAA,WAAW,EAAEA,WAAW,IAAIb;GAJ9B,CAfF,EAsBGW,cAAc,GACbA,cAAc,CAACjB,QAAD,CADD,GAGblC,mBAAA,CAACgE,yBAAW,CAACO,QAAb;AAAsBN,IAAAA,MAAM,EAAC;AAAajB,IAAAA,SAAS,EAAE7C,MAAM,CAAC+B;GAA5D,EACGA,QADH,CAzBJ,CADF;AAgCD,CA9DM;;;;;;"}
1
+ {"version":3,"file":"default-field-editors.cjs.development.js","sources":["../src/getDefaultWidgetId.ts","../src/Field.tsx","../src/FieldWrapper.styles.ts","../src/FieldWrapper.tsx"],"sourcesContent":["import type { FieldExtensionSDK } from '@contentful/field-editor-shared';\nimport { editorInterfaceDefaults } from 'contentful-management';\n\nimport type { WidgetType } from './types';\n\nexport function getDefaultWidgetId(\n sdk: Pick<FieldExtensionSDK, 'field' | 'contentType'>\n): WidgetType {\n const field = sdk.field;\n\n // @ts-expect-error FieldExtensionSDK.field doesn't include all the\n // properties of ContentFields type. It should be fixed\n return editorInterfaceDefaults.default.getDefaultControlOfField(field).widgetId;\n}\n","import * as React from 'react';\n\nimport { BooleanEditor } from '@contentful/field-editor-boolean';\nimport { RadioEditor } from '@contentful/field-editor-radio';\nimport { RatingEditor } from '@contentful/field-editor-rating';\nimport { CheckboxEditor } from '@contentful/field-editor-checkbox';\nimport { DateEditor } from '@contentful/field-editor-date';\nimport { DropdownEditor } from '@contentful/field-editor-dropdown';\nimport { JsonEditor } from '@contentful/field-editor-json';\nimport { ListEditor } from '@contentful/field-editor-list';\nimport { LocationEditor } from '@contentful/field-editor-location';\nimport { MarkdownEditor } from '@contentful/field-editor-markdown';\nimport { MultipleLineEditor } from '@contentful/field-editor-multiple-line';\nimport { NumberEditor } from '@contentful/field-editor-number';\nimport {\n SingleEntryReferenceEditor,\n MultipleEntryReferenceEditor,\n SingleMediaEditor,\n MultipleMediaEditor,\n} from '@contentful/field-editor-reference';\nimport { RichTextEditor } from '@contentful/field-editor-rich-text';\nimport type { FieldExtensionSDK } from '@contentful/field-editor-shared';\nimport { SingleLineEditor } from '@contentful/field-editor-single-line';\nimport { SlugEditor } from '@contentful/field-editor-slug';\nimport { TagsEditor } from '@contentful/field-editor-tags';\nimport { UrlEditor } from '@contentful/field-editor-url';\n\nimport { getDefaultWidgetId } from './getDefaultWidgetId';\nimport type { EditorOptions, WidgetType } from './types';\n\ntype FieldProps = {\n sdk: FieldExtensionSDK;\n widgetId?: WidgetType;\n isInitiallyDisabled?: boolean;\n renderFieldEditor?: (\n widgetId: WidgetType,\n sdk: FieldExtensionSDK,\n isInitiallyDisabled: boolean\n ) => JSX.Element | false;\n getOptions?: (widgetId: WidgetType, sdk: FieldExtensionSDK) => EditorOptions;\n};\n\nconst widgetComponents: Record<string, [React.ComponentType<any>, any?]> = {\n multipleLine: [MultipleLineEditor],\n boolean: [BooleanEditor],\n objectEditor: [JsonEditor],\n datePicker: [DateEditor],\n locationEditor: [LocationEditor],\n checkbox: [CheckboxEditor],\n listInput: [ListEditor],\n rating: [RatingEditor],\n radio: [RadioEditor],\n tagEditor: [TagsEditor],\n numberEditor: [NumberEditor],\n urlEditor: [UrlEditor],\n slugEditor: [SlugEditor],\n singleLine: [SingleLineEditor],\n dropdown: [DropdownEditor],\n entryLinkEditor: [SingleEntryReferenceEditor, { viewType: 'link', hasCardEditActions: true }],\n entryCardEditor: [SingleEntryReferenceEditor, { viewType: 'card', hasCardEditActions: true }],\n entryLinksEditor: [MultipleEntryReferenceEditor, { viewType: 'link', hasCardEditActions: true }],\n entryCardsEditor: [MultipleEntryReferenceEditor, { viewType: 'card', hasCardEditActions: true }],\n assetLinkEditor: [SingleMediaEditor, { viewType: 'link' }],\n assetLinksEditor: [MultipleMediaEditor, { viewType: 'link' }],\n assetGalleryEditor: [MultipleMediaEditor, { viewType: 'card' }],\n richTextEditor: [RichTextEditor],\n markdown: [MarkdownEditor],\n};\n\nexport const Field: React.FC<FieldProps> = (props: FieldProps) => {\n const {\n sdk,\n widgetId: possiblyUndefinedWidgetId,\n isInitiallyDisabled = false,\n renderFieldEditor,\n getOptions,\n } = props;\n const field = sdk.field;\n const locales = sdk.locales;\n\n const widgetId = possiblyUndefinedWidgetId ?? getDefaultWidgetId(sdk);\n\n if (renderFieldEditor) {\n const customEditor = renderFieldEditor(widgetId, sdk, isInitiallyDisabled);\n if (customEditor) {\n return customEditor;\n }\n }\n\n const options = getOptions ? getOptions(widgetId, sdk) : {};\n const referenceEditorParams =\n sdk.parameters && 'instance' in sdk.parameters\n ? sdk.parameters\n : {\n instance: {\n showCreateEntityAction: true,\n showLinkEntityAction: true,\n },\n };\n\n if (!widgetComponents[widgetId]) return null;\n\n const [WidgetComponent, widgetStaticProps] = widgetComponents[widgetId];\n\n const widgetComponentProps = {\n sdk,\n field,\n locales,\n isInitiallyDisabled,\n parameters: referenceEditorParams,\n ...widgetStaticProps,\n // @ts-expect-error\n ...options[widgetId],\n };\n\n const baseSdk = widgetId === 'slugEditor' ? sdk : undefined;\n\n return <WidgetComponent key={sdk.field.locale} {...widgetComponentProps} baseSdk={baseSdk} />;\n};\n","import tokens from '@contentful/f36-tokens';\nimport { css } from 'emotion';\n\nexport const styles = {\n withFocusBar: css({\n marginLeft: tokens.spacingL,\n marginRight: tokens.spacingL,\n marginBottom: '29px',\n marginTop: '19px',\n paddingLeft: tokens.spacingM,\n borderLeft: `3px solid ${tokens.gray300}`,\n transition: 'border-color 0.18s linear',\n '&:focus-within': {\n borderColor: tokens.colorPrimary,\n },\n '&[aria-invalid=\"true\"]': {\n borderLeftColor: tokens.red500,\n },\n }),\n label: css({\n display: 'flex',\n width: '100%',\n maxWidth: '800px',\n color: tokens.gray500,\n fontSize: tokens.fontSizeM,\n fontWeight: tokens.fontWeightNormal,\n lineHeight: tokens.lineHeightDefault,\n whiteSpace: 'pre-wrap',\n }),\n helpText: css({\n margin: `${tokens.spacingXs} 0`,\n fontStyle: 'italic',\n }),\n};\n","import * as React from 'react';\n\nimport { FormControl } from '@contentful/f36-components';\nimport type { FieldExtensionSDK, Entry } from '@contentful/field-editor-shared';\nimport { ValidationErrors } from '@contentful/field-editor-validation-errors';\nimport { cx } from 'emotion';\n\nimport { styles } from './FieldWrapper.styles';\n\ntype FieldWrapperProps = {\n name: string;\n sdk: FieldExtensionSDK;\n /**\n * Generates a link to another entry with the same value when a \"non unique\" validation error occurs\n */\n getEntryURL?: (entry: Entry) => string;\n className?: string;\n showFocusBar?: boolean;\n children: React.ReactNode;\n renderHeading?: (name: string) => JSX.Element | null;\n renderHelpText?: (helpText: string) => JSX.Element | null;\n};\n\nexport const FieldWrapper: React.FC<FieldWrapperProps> = function (props: FieldWrapperProps) {\n const { ids } = props.sdk;\n const defaultGetEntryUrl = (entry: Entry) =>\n `/spaces/${ids.space}/environments/${ids.environmentAlias || ids.environment}/entries/${\n entry.sys.id\n }`;\n const {\n name,\n sdk,\n className,\n children,\n renderHeading,\n renderHelpText,\n showFocusBar = true,\n getEntryURL = defaultGetEntryUrl,\n } = props;\n const { field } = sdk;\n const helpText = (sdk.parameters?.instance as any)?.helpText ?? '';\n\n const [hasErrors, setHasErrors] = React.useState(false);\n React.useEffect(() => {\n return field.onSchemaErrorsChanged((errors: unknown[]) => {\n setHasErrors((errors || []).length > 0);\n });\n }, [field]);\n\n const fieldControlId = [field.id, field.locale, sdk.contentType?.sys?.id]\n .filter((item) => item)\n .join('-');\n\n return (\n <FormControl\n id={fieldControlId}\n testId=\"entity-field-controls\"\n data-test-id=\"entity-field-controls\"\n className={cx(showFocusBar && styles.withFocusBar, className)}\n aria-invalid={hasErrors}\n isRequired={field.required}>\n {renderHeading ? (\n renderHeading(name)\n ) : (\n <FormControl.Label className={styles.label}>{name}</FormControl.Label>\n )}\n\n {children}\n\n <ValidationErrors\n field={field}\n space={sdk.space}\n locales={sdk.locales}\n getEntryURL={getEntryURL || defaultGetEntryUrl}\n />\n\n {renderHelpText ? (\n renderHelpText(helpText)\n ) : (\n <FormControl.HelpText testId=\"field-hint\" className={styles.helpText}>\n {helpText}\n </FormControl.HelpText>\n )}\n </FormControl>\n );\n};\n"],"names":["getDefaultWidgetId","sdk","field","editorInterfaceDefaults","default","getDefaultControlOfField","widgetId","widgetComponents","multipleLine","MultipleLineEditor","boolean","BooleanEditor","objectEditor","JsonEditor","datePicker","DateEditor","locationEditor","LocationEditor","checkbox","CheckboxEditor","listInput","ListEditor","rating","RatingEditor","radio","RadioEditor","tagEditor","TagsEditor","numberEditor","NumberEditor","urlEditor","UrlEditor","slugEditor","SlugEditor","singleLine","SingleLineEditor","dropdown","DropdownEditor","entryLinkEditor","SingleEntryReferenceEditor","viewType","hasCardEditActions","entryCardEditor","entryLinksEditor","MultipleEntryReferenceEditor","entryCardsEditor","assetLinkEditor","SingleMediaEditor","assetLinksEditor","MultipleMediaEditor","assetGalleryEditor","richTextEditor","RichTextEditor","markdown","MarkdownEditor","Field","props","possiblyUndefinedWidgetId","isInitiallyDisabled","renderFieldEditor","getOptions","locales","customEditor","options","referenceEditorParams","parameters","instance","showCreateEntityAction","showLinkEntityAction","WidgetComponent","widgetStaticProps","widgetComponentProps","baseSdk","undefined","React","key","locale","styles","withFocusBar","css","marginLeft","tokens","spacingL","marginRight","marginBottom","marginTop","paddingLeft","spacingM","borderLeft","gray300","transition","borderColor","colorPrimary","borderLeftColor","red500","label","display","width","maxWidth","color","gray500","fontSize","fontSizeM","fontWeight","fontWeightNormal","lineHeight","lineHeightDefault","whiteSpace","helpText","margin","spacingXs","fontStyle","FieldWrapper","ids","defaultGetEntryUrl","entry","space","environmentAlias","environment","sys","id","name","className","children","renderHeading","renderHelpText","showFocusBar","getEntryURL","hasErrors","setHasErrors","onSchemaErrorsChanged","errors","length","fieldControlId","contentType","filter","item","join","FormControl","testId","cx","isRequired","required","Label","ValidationErrors","HelpText"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAKgBA,mBACdC;AAEA,QAAMC,KAAK,GAAGD,GAAG,CAACC,KAAlB;AAGA;;AACA,SAAOC,4CAAuB,CAACC,OAAxB,CAAgCC,wBAAhC,CAAyDH,KAAzD,EAAgEI,QAAvE;AACD;;AC6BD,MAAMC,gBAAgB,GAAqD;AACzEC,EAAAA,YAAY,EAAE,CAACC,0CAAD,CAD2D;AAEzEC,EAAAA,OAAO,EAAE,CAACC,gCAAD,CAFgE;AAGzEC,EAAAA,YAAY,EAAE,CAACC,0BAAD,CAH2D;AAIzEC,EAAAA,UAAU,EAAE,CAACC,0BAAD,CAJ6D;AAKzEC,EAAAA,cAAc,EAAE,CAACC,kCAAD,CALyD;AAMzEC,EAAAA,QAAQ,EAAE,CAACC,kCAAD,CAN+D;AAOzEC,EAAAA,SAAS,EAAE,CAACC,0BAAD,CAP8D;AAQzEC,EAAAA,MAAM,EAAE,CAACC,8BAAD,CARiE;AASzEC,EAAAA,KAAK,EAAE,CAACC,4BAAD,CATkE;AAUzEC,EAAAA,SAAS,EAAE,CAACC,0BAAD,CAV8D;AAWzEC,EAAAA,YAAY,EAAE,CAACC,8BAAD,CAX2D;AAYzEC,EAAAA,SAAS,EAAE,CAACC,wBAAD,CAZ8D;AAazEC,EAAAA,UAAU,EAAE,CAACC,0BAAD,CAb6D;AAczEC,EAAAA,UAAU,EAAE,CAACC,sCAAD,CAd6D;AAezEC,EAAAA,QAAQ,EAAE,CAACC,kCAAD,CAf+D;AAgBzEC,EAAAA,eAAe,EAAE,CAACC,+CAAD,EAA6B;AAAEC,IAAAA,QAAQ,EAAE,MAAZ;AAAoBC,IAAAA,kBAAkB,EAAE;AAAxC,GAA7B,CAhBwD;AAiBzEC,EAAAA,eAAe,EAAE,CAACH,+CAAD,EAA6B;AAAEC,IAAAA,QAAQ,EAAE,MAAZ;AAAoBC,IAAAA,kBAAkB,EAAE;AAAxC,GAA7B,CAjBwD;AAkBzEE,EAAAA,gBAAgB,EAAE,CAACC,iDAAD,EAA+B;AAAEJ,IAAAA,QAAQ,EAAE,MAAZ;AAAoBC,IAAAA,kBAAkB,EAAE;AAAxC,GAA/B,CAlBuD;AAmBzEI,EAAAA,gBAAgB,EAAE,CAACD,iDAAD,EAA+B;AAAEJ,IAAAA,QAAQ,EAAE,MAAZ;AAAoBC,IAAAA,kBAAkB,EAAE;AAAxC,GAA/B,CAnBuD;AAoBzEK,EAAAA,eAAe,EAAE,CAACC,sCAAD,EAAoB;AAAEP,IAAAA,QAAQ,EAAE;AAAZ,GAApB,CApBwD;AAqBzEQ,EAAAA,gBAAgB,EAAE,CAACC,wCAAD,EAAsB;AAAET,IAAAA,QAAQ,EAAE;AAAZ,GAAtB,CArBuD;AAsBzEU,EAAAA,kBAAkB,EAAE,CAACD,wCAAD,EAAsB;AAAET,IAAAA,QAAQ,EAAE;AAAZ,GAAtB,CAtBqD;AAuBzEW,EAAAA,cAAc,EAAE,CAACC,kCAAD,CAvByD;AAwBzEC,EAAAA,QAAQ,EAAE,CAACC,kCAAD;AAxB+D,CAA3E;AA2BA,MAAaC,KAAK,GAA0BC,KAAD;AACzC,QAAM;AACJvD,IAAAA,GADI;AAEJK,IAAAA,QAAQ,EAAEmD,yBAFN;AAGJC,IAAAA,mBAAmB,GAAG,KAHlB;AAIJC,IAAAA,iBAJI;AAKJC,IAAAA;AALI,MAMFJ,KANJ;AAOA,QAAMtD,KAAK,GAAGD,GAAG,CAACC,KAAlB;AACA,QAAM2D,OAAO,GAAG5D,GAAG,CAAC4D,OAApB;AAEA,QAAMvD,QAAQ,GAAGmD,yBAAyB,IAAIzD,kBAAkB,CAACC,GAAD,CAAhE;;AAEA,MAAI0D,iBAAJ,EAAuB;AACrB,UAAMG,YAAY,GAAGH,iBAAiB,CAACrD,QAAD,EAAWL,GAAX,EAAgByD,mBAAhB,CAAtC;;AACA,QAAII,YAAJ,EAAkB;AAChB,aAAOA,YAAP;AACD;AACF;;AAED,QAAMC,OAAO,GAAGH,UAAU,GAAGA,UAAU,CAACtD,QAAD,EAAWL,GAAX,CAAb,GAA+B,EAAzD;AACA,QAAM+D,qBAAqB,GACzB/D,GAAG,CAACgE,UAAJ,IAAkB,cAAchE,GAAG,CAACgE,UAApC,GACIhE,GAAG,CAACgE,UADR,GAEI;AACEC,IAAAA,QAAQ,EAAE;AACRC,MAAAA,sBAAsB,EAAE,IADhB;AAERC,MAAAA,oBAAoB,EAAE;AAFd;AADZ,GAHN;AAUA,MAAI,CAAC7D,gBAAgB,CAACD,QAAD,CAArB,EAAiC,OAAO,IAAP;AAEjC,QAAM,CAAC+D,eAAD,EAAkBC,iBAAlB,IAAuC/D,gBAAgB,CAACD,QAAD,CAA7D;AAEA,QAAMiE,oBAAoB,GAAG;AAC3BtE,IAAAA,GAD2B;AAE3BC,IAAAA,KAF2B;AAG3B2D,IAAAA,OAH2B;AAI3BH,IAAAA,mBAJ2B;AAK3BO,IAAAA,UAAU,EAAED,qBALe;AAM3B,OAAGM,iBANwB;AAO3B;AACA,OAAGP,OAAO,CAACzD,QAAD;AARiB,GAA7B;AAWA,QAAMkE,OAAO,GAAGlE,QAAQ,KAAK,YAAb,GAA4BL,GAA5B,GAAkCwE,SAAlD;AAEA,SAAOC,mBAAA,CAACL,eAAD;AAAiBM,IAAAA,GAAG,EAAE1E,GAAG,CAACC,KAAJ,CAAU0E;OAAYL;AAAsBC,IAAAA,OAAO,EAAEA;GAA3E,CAAP;AACD,CAjDM;;AClEA,MAAMK,MAAM,GAAG;AACpBC,EAAAA,YAAY,eAAEC,WAAG,CAAC;AAChBC,IAAAA,UAAU,EAAEC,MAAM,CAACC,QADH;AAEhBC,IAAAA,WAAW,EAAEF,MAAM,CAACC,QAFJ;AAGhBE,IAAAA,YAAY,EAAE,MAHE;AAIhBC,IAAAA,SAAS,EAAE,MAJK;AAKhBC,IAAAA,WAAW,EAAEL,MAAM,CAACM,QALJ;AAMhBC,IAAAA,UAAU,eAAeP,MAAM,CAACQ,SANhB;AAOhBC,IAAAA,UAAU,EAAE,2BAPI;AAQhB,sBAAkB;AAChBC,MAAAA,WAAW,EAAEV,MAAM,CAACW;AADJ,KARF;AAWhB,8BAA0B;AACxBC,MAAAA,eAAe,EAAEZ,MAAM,CAACa;AADA;AAXV,GAAD,CADG;AAgBpBC,EAAAA,KAAK,eAAEhB,WAAG,CAAC;AACTiB,IAAAA,OAAO,EAAE,MADA;AAETC,IAAAA,KAAK,EAAE,MAFE;AAGTC,IAAAA,QAAQ,EAAE,OAHD;AAITC,IAAAA,KAAK,EAAElB,MAAM,CAACmB,OAJL;AAKTC,IAAAA,QAAQ,EAAEpB,MAAM,CAACqB,SALR;AAMTC,IAAAA,UAAU,EAAEtB,MAAM,CAACuB,gBANV;AAOTC,IAAAA,UAAU,EAAExB,MAAM,CAACyB,iBAPV;AAQTC,IAAAA,UAAU,EAAE;AARH,GAAD,CAhBU;AA0BpBC,EAAAA,QAAQ,eAAE7B,WAAG,CAAC;AACZ8B,IAAAA,MAAM,KAAK5B,MAAM,CAAC6B,aADN;AAEZC,IAAAA,SAAS,EAAE;AAFC,GAAD;AA1BO,CAAf;;MCoBMC,YAAY,GAAgC,UAAUxD,KAAV;;;AACvD,QAAM;AAAEyD,IAAAA;AAAF,MAAUzD,KAAK,CAACvD,GAAtB;;AACA,QAAMiH,kBAAkB,GAAIC,KAAD,eACdF,GAAG,CAACG,sBAAsBH,GAAG,CAACI,gBAAJ,IAAwBJ,GAAG,CAACK,uBAC/DH,KAAK,CAACI,GAAN,CAAUC,IAFd;;AAIA,QAAM;AACJC,IAAAA,IADI;AAEJxH,IAAAA,GAFI;AAGJyH,IAAAA,SAHI;AAIJC,IAAAA,QAJI;AAKJC,IAAAA,aALI;AAMJC,IAAAA,cANI;AAOJC,IAAAA,YAAY,GAAG,IAPX;AAQJC,IAAAA,WAAW,GAAGb;AARV,MASF1D,KATJ;AAUA,QAAM;AAAEtD,IAAAA;AAAF,MAAYD,GAAlB;AACA,QAAM2G,QAAQ,GAAI,oBAAA3G,GAAG,CAACgE,UAAJ,8DAAgBC,QAAhB,2CAAkC0C,QAAlC,KAA8C,EAAhE;AAEA,QAAM,CAACoB,SAAD,EAAYC,YAAZ,IAA4BvD,cAAA,CAAe,KAAf,CAAlC;AACAA,EAAAA,eAAA,CAAgB;AACd,WAAOxE,KAAK,CAACgI,qBAAN,CAA6BC,MAAD;AACjCF,MAAAA,YAAY,CAAC,CAACE,MAAM,IAAI,EAAX,EAAeC,MAAf,GAAwB,CAAzB,CAAZ;AACD,KAFM,CAAP;AAGD,GAJD,EAIG,CAAClI,KAAD,CAJH;AAMA,QAAMmI,cAAc,GAAG,CAACnI,KAAK,CAACsH,EAAP,EAAWtH,KAAK,CAAC0E,MAAjB,sBAAyB3E,GAAG,CAACqI,WAA7B,6CAAyB,iBAAiBf,GAA1C,qBAAyB,qBAAsBC,EAA/C,EACpBe,MADoB,CACZC,IAAD,IAAUA,IADG,EAEpBC,IAFoB,CAEf,GAFe,CAAvB;AAIA,SACE/D,mBAAA,CAACgE,yBAAD;AACElB,IAAAA,EAAE,EAAEa;AACJM,IAAAA,MAAM,EAAC;oBACM;AACbjB,IAAAA,SAAS,EAAEkB,UAAE,CAACd,YAAY,IAAIjD,MAAM,CAACC,YAAxB,EAAsC4C,SAAtC;oBACCM;AACda,IAAAA,UAAU,EAAE3I,KAAK,CAAC4I;GANpB,EAOGlB,aAAa,GACZA,aAAa,CAACH,IAAD,CADD,GAGZ/C,mBAAA,CAACgE,yBAAW,CAACK,KAAb;AAAmBrB,IAAAA,SAAS,EAAE7C,MAAM,CAACkB;GAArC,EAA6C0B,IAA7C,CAVJ,EAaGE,QAbH,EAeEjD,mBAAA,CAACsE,4CAAD;AACE9I,IAAAA,KAAK,EAAEA;AACPkH,IAAAA,KAAK,EAAEnH,GAAG,CAACmH;AACXvD,IAAAA,OAAO,EAAE5D,GAAG,CAAC4D;AACbkE,IAAAA,WAAW,EAAEA,WAAW,IAAIb;GAJ9B,CAfF,EAsBGW,cAAc,GACbA,cAAc,CAACjB,QAAD,CADD,GAGblC,mBAAA,CAACgE,yBAAW,CAACO,QAAb;AAAsBN,IAAAA,MAAM,EAAC;AAAajB,IAAAA,SAAS,EAAE7C,MAAM,CAAC+B;GAA5D,EACGA,QADH,CAzBJ,CADF;AAgCD,CA9DM;;;;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("react"),i=require("@contentful/field-editor-number"),r=require("@contentful/field-editor-single-line"),n=require("@contentful/field-editor-boolean"),o=require("@contentful/field-editor-date"),l=require("@contentful/field-editor-location"),d=require("@contentful/field-editor-json"),a=require("@contentful/field-editor-multiple-line"),s=require("@contentful/field-editor-tags"),c=require("@contentful/field-editor-slug"),u=require("@contentful/field-editor-dropdown"),f=require("@contentful/field-editor-url"),p=require("@contentful/field-editor-radio"),E=require("@contentful/field-editor-rating"),g=require("@contentful/field-editor-checkbox"),m=require("@contentful/field-editor-list"),y=require("@contentful/field-editor-reference"),h=require("@contentful/field-editor-rich-text"),v=require("@contentful/field-editor-markdown"),q=require("contentful-management"),w=require("emotion"),b=require("@contentful/f36-components"),k=require("@contentful/field-editor-validation-errors"),x=(e=require("@contentful/f36-tokens"))&&"object"==typeof e&&"default"in e?e.default:e;function L(){return(L=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(e[r]=i[r])}return e}).apply(this,arguments)}function T(e){return q.editorInterfaceDefaults.default.getDefaultControlOfField(e.field).widgetId}var C={multipleLine:[a.MultipleLineEditor],boolean:[n.BooleanEditor],objectEditor:[d.JsonEditor],datePicker:[o.DateEditor],locationEditor:[l.LocationEditor],checkbox:[g.CheckboxEditor],listInput:[m.ListEditor],rating:[E.RatingEditor],radio:[p.RadioEditor],tagEditor:[s.TagsEditor],numberEditor:[i.NumberEditor],urlEditor:[f.UrlEditor],slugEditor:[c.SlugEditor],singleLine:[r.SingleLineEditor],dropdown:[u.DropdownEditor],entryLinkEditor:[y.SingleEntryReferenceEditor,{viewType:"link",hasCardEditActions:!0}],entryCardEditor:[y.SingleEntryReferenceEditor,{viewType:"card",hasCardEditActions:!0}],entryLinksEditor:[y.MultipleEntryReferenceEditor,{viewType:"link",hasCardEditActions:!0}],entryCardsEditor:[y.MultipleEntryReferenceEditor,{viewType:"card",hasCardEditActions:!0}],assetLinkEditor:[y.SingleMediaEditor,{viewType:"link"}],assetLinksEditor:[y.MultipleMediaEditor,{viewType:"link"}],assetGalleryEditor:[y.MultipleMediaEditor,{viewType:"card"}],richTextEditor:[h.RichTextEditor],markdown:[v.MarkdownEditor]},M={withFocusBar:w.css({marginLeft:x.spacingL,marginRight:x.spacingL,marginBottom:"29px",marginTop:"19px",paddingLeft:x.spacingM,borderLeft:"3px solid "+x.gray300,transition:"border-color 0.18s linear","&:focus-within":{borderColor:x.colorPrimary},'&[aria-invalid="true"]':{borderLeftColor:x.red500}}),label:w.css({display:"flex",width:"100%",maxWidth:"800px",color:x.gray500,fontSize:x.fontSizeM,fontWeight:x.fontWeightNormal,lineHeight:x.lineHeightDefault,whiteSpace:"pre-wrap"}),helpText:w.css({margin:x.spacingXs+" 0",fontStyle:"italic"})};exports.Field=function(e){var i=e.sdk,r=e.widgetId,n=e.isInitiallyDisabled,o=void 0!==n&&n,l=e.renderFieldEditor,d=e.getOptions,a=i.field,s=i.locales,c=null!=r?r:T(i);if(l){var u=l(c,i,o);if(u)return u}var f=d?d(c,i):{};if(!C[c])return null;var p=C[c],E=p[0],g=L({sdk:i,field:a,locales:s,isInitiallyDisabled:o,parameters:i.parameters&&"instance"in i.parameters?i.parameters:{instance:{showCreateEntityAction:!0,showLinkEntityAction:!0}}},p[1],f[c]);return t.createElement(E,L({key:i.field.locale},g,{baseSdk:"slugEditor"===c?i:void 0}))},exports.FieldWrapper=function(e){var i,r,n,o,l,d=e.sdk.ids,a=function(e){return"/spaces/"+d.space+"/environments/"+(d.environmentAlias||d.environment)+"/entries/"+e.sys.id},s=e.name,c=e.sdk,u=e.className,f=e.children,p=e.renderHeading,E=e.renderHelpText,g=e.showFocusBar,m=void 0===g||g,y=e.getEntryURL,h=void 0===y?a:y,v=c.field,q=null!=(i=null==(r=c.parameters)||null==(n=r.instance)?void 0:n.helpText)?i:"",x=t.useState(!1),L=x[0],T=x[1];t.useEffect((function(){return v.onSchemaErrorsChanged((function(e){T((e||[]).length>0)}))}),[v]);var C=[v.id,v.locale,null==(o=c.contentType)||null==(l=o.sys)?void 0:l.id].filter((function(e){return e})).join("-");return t.createElement(b.FormControl,{id:C,testId:"entity-field-controls","data-test-id":"entity-field-controls",className:w.cx(m&&M.withFocusBar,u),"aria-invalid":L,isRequired:v.required},p?p(s):t.createElement(b.FormControl.Label,{className:M.label},s),f,t.createElement(k.ValidationErrors,{field:v,space:c.space,locales:c.locales,getEntryURL:h||a}),E?E(q):t.createElement(b.FormControl.HelpText,{testId:"field-hint",className:M.helpText},q))},exports.getDefaultWidgetId=T;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("react"),i=require("@contentful/field-editor-boolean"),r=require("@contentful/field-editor-radio"),n=require("@contentful/field-editor-rating"),o=require("@contentful/field-editor-checkbox"),l=require("@contentful/field-editor-date"),d=require("@contentful/field-editor-dropdown"),a=require("@contentful/field-editor-json"),s=require("@contentful/field-editor-list"),c=require("@contentful/field-editor-location"),u=require("@contentful/field-editor-markdown"),f=require("@contentful/field-editor-multiple-line"),E=require("@contentful/field-editor-number"),p=require("@contentful/field-editor-reference"),g=require("@contentful/field-editor-rich-text"),m=require("@contentful/field-editor-single-line"),y=require("@contentful/field-editor-slug"),h=require("@contentful/field-editor-tags"),q=require("@contentful/field-editor-url"),w=require("contentful-management"),k=require("@contentful/f36-components"),x=require("@contentful/field-editor-validation-errors"),b=require("emotion"),L=(e=require("@contentful/f36-tokens"))&&"object"==typeof e&&"default"in e?e.default:e;function v(e){return w.editorInterfaceDefaults.default.getDefaultControlOfField(e.field).widgetId}const T={multipleLine:[f.MultipleLineEditor],boolean:[i.BooleanEditor],objectEditor:[a.JsonEditor],datePicker:[l.DateEditor],locationEditor:[c.LocationEditor],checkbox:[o.CheckboxEditor],listInput:[s.ListEditor],rating:[n.RatingEditor],radio:[r.RadioEditor],tagEditor:[h.TagsEditor],numberEditor:[E.NumberEditor],urlEditor:[q.UrlEditor],slugEditor:[y.SlugEditor],singleLine:[m.SingleLineEditor],dropdown:[d.DropdownEditor],entryLinkEditor:[p.SingleEntryReferenceEditor,{viewType:"link",hasCardEditActions:!0}],entryCardEditor:[p.SingleEntryReferenceEditor,{viewType:"card",hasCardEditActions:!0}],entryLinksEditor:[p.MultipleEntryReferenceEditor,{viewType:"link",hasCardEditActions:!0}],entryCardsEditor:[p.MultipleEntryReferenceEditor,{viewType:"card",hasCardEditActions:!0}],assetLinkEditor:[p.SingleMediaEditor,{viewType:"link"}],assetLinksEditor:[p.MultipleMediaEditor,{viewType:"link"}],assetGalleryEditor:[p.MultipleMediaEditor,{viewType:"card"}],richTextEditor:[g.RichTextEditor],markdown:[u.MarkdownEditor]},C={withFocusBar:b.css({marginLeft:L.spacingL,marginRight:L.spacingL,marginBottom:"29px",marginTop:"19px",paddingLeft:L.spacingM,borderLeft:"3px solid "+L.gray300,transition:"border-color 0.18s linear","&:focus-within":{borderColor:L.colorPrimary},'&[aria-invalid="true"]':{borderLeftColor:L.red500}}),label:b.css({display:"flex",width:"100%",maxWidth:"800px",color:L.gray500,fontSize:L.fontSizeM,fontWeight:L.fontWeightNormal,lineHeight:L.lineHeightDefault,whiteSpace:"pre-wrap"}),helpText:b.css({margin:L.spacingXs+" 0",fontStyle:"italic"})};exports.Field=e=>{const{sdk:i,widgetId:r,isInitiallyDisabled:n=!1,renderFieldEditor:o,getOptions:l}=e,d=i.field,a=i.locales,s=r??v(i);if(o){const e=o(s,i,n);if(e)return e}const c=l?l(s,i):{},u=i.parameters&&"instance"in i.parameters?i.parameters:{instance:{showCreateEntityAction:!0,showLinkEntityAction:!0}};if(!T[s])return null;const[f,E]=T[s],p={sdk:i,field:d,locales:a,isInitiallyDisabled:n,parameters:u,...E,...c[s]};return t.createElement(f,{key:i.field.locale,...p,baseSdk:"slugEditor"===s?i:void 0})},exports.FieldWrapper=function(e){var i,r,n,o;const{ids:l}=e.sdk,d=e=>`/spaces/${l.space}/environments/${l.environmentAlias||l.environment}/entries/${e.sys.id}`,{name:a,sdk:s,className:c,children:u,renderHeading:f,renderHelpText:E,showFocusBar:p=!0,getEntryURL:g=d}=e,{field:m}=s,y=(null==(i=s.parameters)||null==(r=i.instance)?void 0:r.helpText)??"",[h,q]=t.useState(!1);t.useEffect(()=>m.onSchemaErrorsChanged(e=>{q((e||[]).length>0)}),[m]);const w=[m.id,m.locale,null==(n=s.contentType)||null==(o=n.sys)?void 0:o.id].filter(e=>e).join("-");return t.createElement(k.FormControl,{id:w,testId:"entity-field-controls","data-test-id":"entity-field-controls",className:b.cx(p&&C.withFocusBar,c),"aria-invalid":h,isRequired:m.required},f?f(a):t.createElement(k.FormControl.Label,{className:C.label},a),u,t.createElement(x.ValidationErrors,{field:m,space:s.space,locales:s.locales,getEntryURL:g||d}),E?E(y):t.createElement(k.FormControl.HelpText,{testId:"field-hint",className:C.helpText},y))},exports.getDefaultWidgetId=v;
2
2
  //# sourceMappingURL=default-field-editors.cjs.production.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"default-field-editors.cjs.production.min.js","sources":["../src/getDefaultWidgetId.ts","../src/Field.tsx","../src/FieldWrapper.styles.ts","../src/FieldWrapper.tsx"],"sourcesContent":["import { editorInterfaceDefaults } from 'contentful-management';\n\nimport type { FieldExtensionSDK } from '@contentful/field-editor-shared';\nimport type { WidgetType } from './types';\n\nexport function getDefaultWidgetId(\n sdk: Pick<FieldExtensionSDK, 'field' | 'contentType'>\n): WidgetType {\n const field = sdk.field;\n\n // @ts-expect-error FieldExtensionSDK.field doesn't include all the\n // properties of ContentFields type. It should be fixed\n return editorInterfaceDefaults.default.getDefaultControlOfField(field).widgetId;\n}\n","import * as React from 'react';\nimport { NumberEditor } from '@contentful/field-editor-number';\nimport { SingleLineEditor } from '@contentful/field-editor-single-line';\nimport { BooleanEditor } from '@contentful/field-editor-boolean';\nimport { DateEditor } from '@contentful/field-editor-date';\nimport { LocationEditor } from '@contentful/field-editor-location';\nimport { JsonEditor } from '@contentful/field-editor-json';\nimport { MultipleLineEditor } from '@contentful/field-editor-multiple-line';\nimport { TagsEditor } from '@contentful/field-editor-tags';\nimport { SlugEditor } from '@contentful/field-editor-slug';\nimport { DropdownEditor } from '@contentful/field-editor-dropdown';\nimport { UrlEditor } from '@contentful/field-editor-url';\nimport { RadioEditor } from '@contentful/field-editor-radio';\nimport { RatingEditor } from '@contentful/field-editor-rating';\nimport { CheckboxEditor } from '@contentful/field-editor-checkbox';\nimport { ListEditor } from '@contentful/field-editor-list';\nimport {\n SingleEntryReferenceEditor,\n MultipleEntryReferenceEditor,\n SingleMediaEditor,\n MultipleMediaEditor,\n} from '@contentful/field-editor-reference';\nimport { RichTextEditor } from '@contentful/field-editor-rich-text';\nimport { MarkdownEditor } from '@contentful/field-editor-markdown';\nimport type { FieldExtensionSDK } from '@contentful/field-editor-shared';\nimport type { EditorOptions, WidgetType } from './types';\nimport { getDefaultWidgetId } from './getDefaultWidgetId';\n\ntype FieldProps = {\n sdk: FieldExtensionSDK;\n widgetId?: WidgetType;\n isInitiallyDisabled?: boolean;\n renderFieldEditor?: (\n widgetId: WidgetType,\n sdk: FieldExtensionSDK,\n isInitiallyDisabled: boolean\n ) => JSX.Element | false;\n getOptions?: (widgetId: WidgetType, sdk: FieldExtensionSDK) => EditorOptions;\n};\n\nconst widgetComponents: Record<string, [React.ComponentType<any>, any?]> = {\n multipleLine: [MultipleLineEditor],\n boolean: [BooleanEditor],\n objectEditor: [JsonEditor],\n datePicker: [DateEditor],\n locationEditor: [LocationEditor],\n checkbox: [CheckboxEditor],\n listInput: [ListEditor],\n rating: [RatingEditor],\n radio: [RadioEditor],\n tagEditor: [TagsEditor],\n numberEditor: [NumberEditor],\n urlEditor: [UrlEditor],\n slugEditor: [SlugEditor],\n singleLine: [SingleLineEditor],\n dropdown: [DropdownEditor],\n entryLinkEditor: [SingleEntryReferenceEditor, { viewType: 'link', hasCardEditActions: true }],\n entryCardEditor: [SingleEntryReferenceEditor, { viewType: 'card', hasCardEditActions: true }],\n entryLinksEditor: [MultipleEntryReferenceEditor, { viewType: 'link', hasCardEditActions: true }],\n entryCardsEditor: [MultipleEntryReferenceEditor, { viewType: 'card', hasCardEditActions: true }],\n assetLinkEditor: [SingleMediaEditor, { viewType: 'link' }],\n assetLinksEditor: [MultipleMediaEditor, { viewType: 'link' }],\n assetGalleryEditor: [MultipleMediaEditor, { viewType: 'card' }],\n richTextEditor: [RichTextEditor],\n markdown: [MarkdownEditor],\n};\n\nexport const Field: React.FC<FieldProps> = (props: FieldProps) => {\n const {\n sdk,\n widgetId: possiblyUndefinedWidgetId,\n isInitiallyDisabled = false,\n renderFieldEditor,\n getOptions,\n } = props;\n const field = sdk.field;\n const locales = sdk.locales;\n\n const widgetId = possiblyUndefinedWidgetId ?? getDefaultWidgetId(sdk);\n\n if (renderFieldEditor) {\n const customEditor = renderFieldEditor(widgetId, sdk, isInitiallyDisabled);\n if (customEditor) {\n return customEditor;\n }\n }\n\n const options = getOptions ? getOptions(widgetId, sdk) : {};\n const referenceEditorParams =\n sdk.parameters && 'instance' in sdk.parameters\n ? sdk.parameters\n : {\n instance: {\n showCreateEntityAction: true,\n showLinkEntityAction: true,\n },\n };\n\n if (!widgetComponents[widgetId]) return null;\n\n const [WidgetComponent, widgetStaticProps] = widgetComponents[widgetId];\n\n const widgetComponentProps = {\n sdk,\n field,\n locales,\n isInitiallyDisabled,\n parameters: referenceEditorParams,\n ...widgetStaticProps,\n // @ts-expect-error\n ...options[widgetId],\n };\n\n const baseSdk = widgetId === 'slugEditor' ? sdk : undefined;\n\n return <WidgetComponent key={sdk.field.locale} {...widgetComponentProps} baseSdk={baseSdk} />;\n};\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\n\nexport const styles = {\n withFocusBar: css({\n marginLeft: tokens.spacingL,\n marginRight: tokens.spacingL,\n marginBottom: '29px',\n marginTop: '19px',\n paddingLeft: tokens.spacingM,\n borderLeft: `3px solid ${tokens.gray300}`,\n transition: 'border-color 0.18s linear',\n '&:focus-within': {\n borderColor: tokens.colorPrimary,\n },\n '&[aria-invalid=\"true\"]': {\n borderLeftColor: tokens.red500,\n },\n }),\n label: css({\n display: 'flex',\n width: '100%',\n maxWidth: '800px',\n color: tokens.gray500,\n fontSize: tokens.fontSizeM,\n fontWeight: tokens.fontWeightNormal,\n lineHeight: tokens.lineHeightDefault,\n whiteSpace: 'pre-wrap',\n }),\n helpText: css({\n margin: `${tokens.spacingXs} 0`,\n fontStyle: 'italic',\n }),\n};\n","import * as React from 'react';\nimport { cx } from 'emotion';\nimport { FormControl } from '@contentful/f36-components';\nimport { ValidationErrors } from '@contentful/field-editor-validation-errors';\nimport type { FieldExtensionSDK, Entry } from '@contentful/field-editor-shared';\nimport { styles } from './FieldWrapper.styles';\n\ntype FieldWrapperProps = {\n name: string;\n sdk: FieldExtensionSDK;\n /**\n * Generates a link to another entry with the same value when a \"non unique\" validation error occurs\n */\n getEntryURL?: (entry: Entry) => string;\n className?: string;\n showFocusBar?: boolean;\n children: React.ReactNode;\n renderHeading?: (name: string) => JSX.Element | null;\n renderHelpText?: (helpText: string) => JSX.Element | null;\n};\n\nexport const FieldWrapper: React.FC<FieldWrapperProps> = function (props: FieldWrapperProps) {\n const { ids } = props.sdk;\n const defaultGetEntryUrl = (entry: Entry) =>\n `/spaces/${ids.space}/environments/${ids.environmentAlias || ids.environment}/entries/${\n entry.sys.id\n }`;\n const {\n name,\n sdk,\n className,\n children,\n renderHeading,\n renderHelpText,\n showFocusBar = true,\n getEntryURL = defaultGetEntryUrl,\n } = props;\n const { field } = sdk;\n const helpText = (sdk.parameters?.instance as any)?.helpText ?? '';\n\n const [hasErrors, setHasErrors] = React.useState(false);\n React.useEffect(() => {\n return field.onSchemaErrorsChanged((errors: unknown[]) => {\n setHasErrors((errors || []).length > 0);\n });\n }, [field]);\n\n const fieldControlId = [field.id, field.locale, sdk.contentType?.sys?.id]\n .filter((item) => item)\n .join('-');\n\n return (\n <FormControl\n id={fieldControlId}\n testId=\"entity-field-controls\"\n data-test-id=\"entity-field-controls\"\n className={cx(showFocusBar && styles.withFocusBar, className)}\n aria-invalid={hasErrors}\n isRequired={field.required}>\n {renderHeading ? (\n renderHeading(name)\n ) : (\n <FormControl.Label className={styles.label}>{name}</FormControl.Label>\n )}\n\n {children}\n\n <ValidationErrors\n field={field}\n space={sdk.space}\n locales={sdk.locales}\n getEntryURL={getEntryURL || defaultGetEntryUrl}\n />\n\n {renderHelpText ? (\n renderHelpText(helpText)\n ) : (\n <FormControl.HelpText testId=\"field-hint\" className={styles.helpText}>\n {helpText}\n </FormControl.HelpText>\n )}\n </FormControl>\n );\n};\n"],"names":["getDefaultWidgetId","sdk","editorInterfaceDefaults","getDefaultControlOfField","field","widgetId","widgetComponents","multipleLine","MultipleLineEditor","BooleanEditor","objectEditor","JsonEditor","datePicker","DateEditor","locationEditor","LocationEditor","checkbox","CheckboxEditor","listInput","ListEditor","rating","RatingEditor","radio","RadioEditor","tagEditor","TagsEditor","numberEditor","NumberEditor","urlEditor","UrlEditor","slugEditor","SlugEditor","singleLine","SingleLineEditor","dropdown","DropdownEditor","entryLinkEditor","SingleEntryReferenceEditor","viewType","hasCardEditActions","entryCardEditor","entryLinksEditor","MultipleEntryReferenceEditor","entryCardsEditor","assetLinkEditor","SingleMediaEditor","assetLinksEditor","MultipleMediaEditor","assetGalleryEditor","richTextEditor","RichTextEditor","markdown","MarkdownEditor","styles","withFocusBar","css","marginLeft","tokens","spacingL","marginRight","marginBottom","marginTop","paddingLeft","spacingM","borderLeft","gray300","transition","borderColor","colorPrimary","borderLeftColor","red500","label","display","width","maxWidth","color","gray500","fontSize","fontSizeM","fontWeight","fontWeightNormal","lineHeight","lineHeightDefault","whiteSpace","helpText","margin","spacingXs","fontStyle","props","possiblyUndefinedWidgetId","isInitiallyDisabled","renderFieldEditor","getOptions","locales","customEditor","options","WidgetComponent","widgetComponentProps","parameters","instance","showCreateEntityAction","showLinkEntityAction","React","key","locale","baseSdk","undefined","ids","defaultGetEntryUrl","entry","space","environmentAlias","environment","sys","id","name","className","children","renderHeading","renderHelpText","showFocusBar","getEntryURL","_sdk$parameters","_sdk$parameters$insta2","hasErrors","setHasErrors","onSchemaErrorsChanged","errors","length","fieldControlId","contentType","_sdk$contentType","_sdk$contentType$sys","filter","item","join","FormControl","testId","cx","isRequired","required","Label","ValidationErrors","HelpText"],"mappings":"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"}
1
+ {"version":3,"file":"default-field-editors.cjs.production.min.js","sources":["../src/getDefaultWidgetId.ts","../src/Field.tsx","../src/FieldWrapper.styles.ts","../src/FieldWrapper.tsx"],"sourcesContent":["import type { FieldExtensionSDK } from '@contentful/field-editor-shared';\nimport { editorInterfaceDefaults } from 'contentful-management';\n\nimport type { WidgetType } from './types';\n\nexport function getDefaultWidgetId(\n sdk: Pick<FieldExtensionSDK, 'field' | 'contentType'>\n): WidgetType {\n const field = sdk.field;\n\n // @ts-expect-error FieldExtensionSDK.field doesn't include all the\n // properties of ContentFields type. It should be fixed\n return editorInterfaceDefaults.default.getDefaultControlOfField(field).widgetId;\n}\n","import * as React from 'react';\n\nimport { BooleanEditor } from '@contentful/field-editor-boolean';\nimport { RadioEditor } from '@contentful/field-editor-radio';\nimport { RatingEditor } from '@contentful/field-editor-rating';\nimport { CheckboxEditor } from '@contentful/field-editor-checkbox';\nimport { DateEditor } from '@contentful/field-editor-date';\nimport { DropdownEditor } from '@contentful/field-editor-dropdown';\nimport { JsonEditor } from '@contentful/field-editor-json';\nimport { ListEditor } from '@contentful/field-editor-list';\nimport { LocationEditor } from '@contentful/field-editor-location';\nimport { MarkdownEditor } from '@contentful/field-editor-markdown';\nimport { MultipleLineEditor } from '@contentful/field-editor-multiple-line';\nimport { NumberEditor } from '@contentful/field-editor-number';\nimport {\n SingleEntryReferenceEditor,\n MultipleEntryReferenceEditor,\n SingleMediaEditor,\n MultipleMediaEditor,\n} from '@contentful/field-editor-reference';\nimport { RichTextEditor } from '@contentful/field-editor-rich-text';\nimport type { FieldExtensionSDK } from '@contentful/field-editor-shared';\nimport { SingleLineEditor } from '@contentful/field-editor-single-line';\nimport { SlugEditor } from '@contentful/field-editor-slug';\nimport { TagsEditor } from '@contentful/field-editor-tags';\nimport { UrlEditor } from '@contentful/field-editor-url';\n\nimport { getDefaultWidgetId } from './getDefaultWidgetId';\nimport type { EditorOptions, WidgetType } from './types';\n\ntype FieldProps = {\n sdk: FieldExtensionSDK;\n widgetId?: WidgetType;\n isInitiallyDisabled?: boolean;\n renderFieldEditor?: (\n widgetId: WidgetType,\n sdk: FieldExtensionSDK,\n isInitiallyDisabled: boolean\n ) => JSX.Element | false;\n getOptions?: (widgetId: WidgetType, sdk: FieldExtensionSDK) => EditorOptions;\n};\n\nconst widgetComponents: Record<string, [React.ComponentType<any>, any?]> = {\n multipleLine: [MultipleLineEditor],\n boolean: [BooleanEditor],\n objectEditor: [JsonEditor],\n datePicker: [DateEditor],\n locationEditor: [LocationEditor],\n checkbox: [CheckboxEditor],\n listInput: [ListEditor],\n rating: [RatingEditor],\n radio: [RadioEditor],\n tagEditor: [TagsEditor],\n numberEditor: [NumberEditor],\n urlEditor: [UrlEditor],\n slugEditor: [SlugEditor],\n singleLine: [SingleLineEditor],\n dropdown: [DropdownEditor],\n entryLinkEditor: [SingleEntryReferenceEditor, { viewType: 'link', hasCardEditActions: true }],\n entryCardEditor: [SingleEntryReferenceEditor, { viewType: 'card', hasCardEditActions: true }],\n entryLinksEditor: [MultipleEntryReferenceEditor, { viewType: 'link', hasCardEditActions: true }],\n entryCardsEditor: [MultipleEntryReferenceEditor, { viewType: 'card', hasCardEditActions: true }],\n assetLinkEditor: [SingleMediaEditor, { viewType: 'link' }],\n assetLinksEditor: [MultipleMediaEditor, { viewType: 'link' }],\n assetGalleryEditor: [MultipleMediaEditor, { viewType: 'card' }],\n richTextEditor: [RichTextEditor],\n markdown: [MarkdownEditor],\n};\n\nexport const Field: React.FC<FieldProps> = (props: FieldProps) => {\n const {\n sdk,\n widgetId: possiblyUndefinedWidgetId,\n isInitiallyDisabled = false,\n renderFieldEditor,\n getOptions,\n } = props;\n const field = sdk.field;\n const locales = sdk.locales;\n\n const widgetId = possiblyUndefinedWidgetId ?? getDefaultWidgetId(sdk);\n\n if (renderFieldEditor) {\n const customEditor = renderFieldEditor(widgetId, sdk, isInitiallyDisabled);\n if (customEditor) {\n return customEditor;\n }\n }\n\n const options = getOptions ? getOptions(widgetId, sdk) : {};\n const referenceEditorParams =\n sdk.parameters && 'instance' in sdk.parameters\n ? sdk.parameters\n : {\n instance: {\n showCreateEntityAction: true,\n showLinkEntityAction: true,\n },\n };\n\n if (!widgetComponents[widgetId]) return null;\n\n const [WidgetComponent, widgetStaticProps] = widgetComponents[widgetId];\n\n const widgetComponentProps = {\n sdk,\n field,\n locales,\n isInitiallyDisabled,\n parameters: referenceEditorParams,\n ...widgetStaticProps,\n // @ts-expect-error\n ...options[widgetId],\n };\n\n const baseSdk = widgetId === 'slugEditor' ? sdk : undefined;\n\n return <WidgetComponent key={sdk.field.locale} {...widgetComponentProps} baseSdk={baseSdk} />;\n};\n","import tokens from '@contentful/f36-tokens';\nimport { css } from 'emotion';\n\nexport const styles = {\n withFocusBar: css({\n marginLeft: tokens.spacingL,\n marginRight: tokens.spacingL,\n marginBottom: '29px',\n marginTop: '19px',\n paddingLeft: tokens.spacingM,\n borderLeft: `3px solid ${tokens.gray300}`,\n transition: 'border-color 0.18s linear',\n '&:focus-within': {\n borderColor: tokens.colorPrimary,\n },\n '&[aria-invalid=\"true\"]': {\n borderLeftColor: tokens.red500,\n },\n }),\n label: css({\n display: 'flex',\n width: '100%',\n maxWidth: '800px',\n color: tokens.gray500,\n fontSize: tokens.fontSizeM,\n fontWeight: tokens.fontWeightNormal,\n lineHeight: tokens.lineHeightDefault,\n whiteSpace: 'pre-wrap',\n }),\n helpText: css({\n margin: `${tokens.spacingXs} 0`,\n fontStyle: 'italic',\n }),\n};\n","import * as React from 'react';\n\nimport { FormControl } from '@contentful/f36-components';\nimport type { FieldExtensionSDK, Entry } from '@contentful/field-editor-shared';\nimport { ValidationErrors } from '@contentful/field-editor-validation-errors';\nimport { cx } from 'emotion';\n\nimport { styles } from './FieldWrapper.styles';\n\ntype FieldWrapperProps = {\n name: string;\n sdk: FieldExtensionSDK;\n /**\n * Generates a link to another entry with the same value when a \"non unique\" validation error occurs\n */\n getEntryURL?: (entry: Entry) => string;\n className?: string;\n showFocusBar?: boolean;\n children: React.ReactNode;\n renderHeading?: (name: string) => JSX.Element | null;\n renderHelpText?: (helpText: string) => JSX.Element | null;\n};\n\nexport const FieldWrapper: React.FC<FieldWrapperProps> = function (props: FieldWrapperProps) {\n const { ids } = props.sdk;\n const defaultGetEntryUrl = (entry: Entry) =>\n `/spaces/${ids.space}/environments/${ids.environmentAlias || ids.environment}/entries/${\n entry.sys.id\n }`;\n const {\n name,\n sdk,\n className,\n children,\n renderHeading,\n renderHelpText,\n showFocusBar = true,\n getEntryURL = defaultGetEntryUrl,\n } = props;\n const { field } = sdk;\n const helpText = (sdk.parameters?.instance as any)?.helpText ?? '';\n\n const [hasErrors, setHasErrors] = React.useState(false);\n React.useEffect(() => {\n return field.onSchemaErrorsChanged((errors: unknown[]) => {\n setHasErrors((errors || []).length > 0);\n });\n }, [field]);\n\n const fieldControlId = [field.id, field.locale, sdk.contentType?.sys?.id]\n .filter((item) => item)\n .join('-');\n\n return (\n <FormControl\n id={fieldControlId}\n testId=\"entity-field-controls\"\n data-test-id=\"entity-field-controls\"\n className={cx(showFocusBar && styles.withFocusBar, className)}\n aria-invalid={hasErrors}\n isRequired={field.required}>\n {renderHeading ? (\n renderHeading(name)\n ) : (\n <FormControl.Label className={styles.label}>{name}</FormControl.Label>\n )}\n\n {children}\n\n <ValidationErrors\n field={field}\n space={sdk.space}\n locales={sdk.locales}\n getEntryURL={getEntryURL || defaultGetEntryUrl}\n />\n\n {renderHelpText ? (\n renderHelpText(helpText)\n ) : (\n <FormControl.HelpText testId=\"field-hint\" className={styles.helpText}>\n {helpText}\n </FormControl.HelpText>\n )}\n </FormControl>\n );\n};\n"],"names":["getDefaultWidgetId","sdk","editorInterfaceDefaults","default","getDefaultControlOfField","field","widgetId","widgetComponents","multipleLine","MultipleLineEditor","boolean","BooleanEditor","objectEditor","JsonEditor","datePicker","DateEditor","locationEditor","LocationEditor","checkbox","CheckboxEditor","listInput","ListEditor","rating","RatingEditor","radio","RadioEditor","tagEditor","TagsEditor","numberEditor","NumberEditor","urlEditor","UrlEditor","slugEditor","SlugEditor","singleLine","SingleLineEditor","dropdown","DropdownEditor","entryLinkEditor","SingleEntryReferenceEditor","viewType","hasCardEditActions","entryCardEditor","entryLinksEditor","MultipleEntryReferenceEditor","entryCardsEditor","assetLinkEditor","SingleMediaEditor","assetLinksEditor","MultipleMediaEditor","assetGalleryEditor","richTextEditor","RichTextEditor","markdown","MarkdownEditor","styles","withFocusBar","css","marginLeft","tokens","spacingL","marginRight","marginBottom","marginTop","paddingLeft","spacingM","borderLeft","gray300","transition","borderColor","colorPrimary","borderLeftColor","red500","label","display","width","maxWidth","color","gray500","fontSize","fontSizeM","fontWeight","fontWeightNormal","lineHeight","lineHeightDefault","whiteSpace","helpText","margin","spacingXs","fontStyle","props","possiblyUndefinedWidgetId","isInitiallyDisabled","renderFieldEditor","getOptions","locales","customEditor","options","referenceEditorParams","parameters","instance","showCreateEntityAction","showLinkEntityAction","WidgetComponent","widgetStaticProps","widgetComponentProps","React","key","locale","baseSdk","undefined","ids","defaultGetEntryUrl","entry","space","environmentAlias","environment","sys","id","name","className","children","renderHeading","renderHelpText","showFocusBar","getEntryURL","hasErrors","setHasErrors","onSchemaErrorsChanged","errors","length","fieldControlId","contentType","_sdk$contentType","_sdk$contentType$sys","filter","item","join","FormControl","testId","cx","isRequired","required","Label","ValidationErrors","HelpText"],"mappings":"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"}
@@ -1,56 +1,38 @@
1
1
  import { createElement, useState, useEffect } from 'react';
2
- import { NumberEditor } from '@contentful/field-editor-number';
3
- import { SingleLineEditor } from '@contentful/field-editor-single-line';
4
2
  import { BooleanEditor } from '@contentful/field-editor-boolean';
5
- import { DateEditor } from '@contentful/field-editor-date';
6
- import { LocationEditor } from '@contentful/field-editor-location';
7
- import { JsonEditor } from '@contentful/field-editor-json';
8
- import { MultipleLineEditor } from '@contentful/field-editor-multiple-line';
9
- import { TagsEditor } from '@contentful/field-editor-tags';
10
- import { SlugEditor } from '@contentful/field-editor-slug';
11
- import { DropdownEditor } from '@contentful/field-editor-dropdown';
12
- import { UrlEditor } from '@contentful/field-editor-url';
13
3
  import { RadioEditor } from '@contentful/field-editor-radio';
14
4
  import { RatingEditor } from '@contentful/field-editor-rating';
15
5
  import { CheckboxEditor } from '@contentful/field-editor-checkbox';
6
+ import { DateEditor } from '@contentful/field-editor-date';
7
+ import { DropdownEditor } from '@contentful/field-editor-dropdown';
8
+ import { JsonEditor } from '@contentful/field-editor-json';
16
9
  import { ListEditor } from '@contentful/field-editor-list';
10
+ import { LocationEditor } from '@contentful/field-editor-location';
11
+ import { MarkdownEditor } from '@contentful/field-editor-markdown';
12
+ import { MultipleLineEditor } from '@contentful/field-editor-multiple-line';
13
+ import { NumberEditor } from '@contentful/field-editor-number';
17
14
  import { SingleEntryReferenceEditor, MultipleEntryReferenceEditor, SingleMediaEditor, MultipleMediaEditor } from '@contentful/field-editor-reference';
18
15
  import { RichTextEditor } from '@contentful/field-editor-rich-text';
19
- import { MarkdownEditor } from '@contentful/field-editor-markdown';
16
+ import { SingleLineEditor } from '@contentful/field-editor-single-line';
17
+ import { SlugEditor } from '@contentful/field-editor-slug';
18
+ import { TagsEditor } from '@contentful/field-editor-tags';
19
+ import { UrlEditor } from '@contentful/field-editor-url';
20
20
  import { editorInterfaceDefaults } from 'contentful-management';
21
- import { css, cx } from 'emotion';
22
21
  import { FormControl } from '@contentful/f36-components';
23
22
  import { ValidationErrors } from '@contentful/field-editor-validation-errors';
23
+ import { css, cx } from 'emotion';
24
24
  import tokens from '@contentful/f36-tokens';
25
25
 
26
- function _extends() {
27
- _extends = Object.assign || function (target) {
28
- for (var i = 1; i < arguments.length; i++) {
29
- var source = arguments[i];
30
-
31
- for (var key in source) {
32
- if (Object.prototype.hasOwnProperty.call(source, key)) {
33
- target[key] = source[key];
34
- }
35
- }
36
- }
37
-
38
- return target;
39
- };
40
-
41
- return _extends.apply(this, arguments);
42
- }
43
-
44
26
  function getDefaultWidgetId(sdk) {
45
- var field = sdk.field; // @ts-expect-error FieldExtensionSDK.field doesn't include all the
27
+ const field = sdk.field; // @ts-expect-error FieldExtensionSDK.field doesn't include all the
46
28
  // properties of ContentFields type. It should be fixed
47
29
 
48
- return editorInterfaceDefaults["default"].getDefaultControlOfField(field).widgetId;
30
+ return editorInterfaceDefaults.default.getDefaultControlOfField(field).widgetId;
49
31
  }
50
32
 
51
- var widgetComponents = {
33
+ const widgetComponents = {
52
34
  multipleLine: [MultipleLineEditor],
53
- "boolean": [BooleanEditor],
35
+ boolean: [BooleanEditor],
54
36
  objectEditor: [JsonEditor],
55
37
  datePicker: [DateEditor],
56
38
  locationEditor: [LocationEditor],
@@ -92,61 +74,61 @@ var widgetComponents = {
92
74
  richTextEditor: [RichTextEditor],
93
75
  markdown: [MarkdownEditor]
94
76
  };
95
- var Field = function Field(props) {
96
- var sdk = props.sdk,
97
- possiblyUndefinedWidgetId = props.widgetId,
98
- _props$isInitiallyDis = props.isInitiallyDisabled,
99
- isInitiallyDisabled = _props$isInitiallyDis === void 0 ? false : _props$isInitiallyDis,
100
- renderFieldEditor = props.renderFieldEditor,
101
- getOptions = props.getOptions;
102
- var field = sdk.field;
103
- var locales = sdk.locales;
104
- var widgetId = possiblyUndefinedWidgetId != null ? possiblyUndefinedWidgetId : getDefaultWidgetId(sdk);
77
+ const Field = props => {
78
+ const {
79
+ sdk,
80
+ widgetId: possiblyUndefinedWidgetId,
81
+ isInitiallyDisabled = false,
82
+ renderFieldEditor,
83
+ getOptions
84
+ } = props;
85
+ const field = sdk.field;
86
+ const locales = sdk.locales;
87
+ const widgetId = possiblyUndefinedWidgetId ?? getDefaultWidgetId(sdk);
105
88
 
106
89
  if (renderFieldEditor) {
107
- var customEditor = renderFieldEditor(widgetId, sdk, isInitiallyDisabled);
90
+ const customEditor = renderFieldEditor(widgetId, sdk, isInitiallyDisabled);
108
91
 
109
92
  if (customEditor) {
110
93
  return customEditor;
111
94
  }
112
95
  }
113
96
 
114
- var options = getOptions ? getOptions(widgetId, sdk) : {};
115
- var referenceEditorParams = sdk.parameters && 'instance' in sdk.parameters ? sdk.parameters : {
97
+ const options = getOptions ? getOptions(widgetId, sdk) : {};
98
+ const referenceEditorParams = sdk.parameters && 'instance' in sdk.parameters ? sdk.parameters : {
116
99
  instance: {
117
100
  showCreateEntityAction: true,
118
101
  showLinkEntityAction: true
119
102
  }
120
103
  };
121
104
  if (!widgetComponents[widgetId]) return null;
122
- var _widgetComponents$wid = widgetComponents[widgetId],
123
- WidgetComponent = _widgetComponents$wid[0],
124
- widgetStaticProps = _widgetComponents$wid[1];
125
-
126
- var widgetComponentProps = _extends({
127
- sdk: sdk,
128
- field: field,
129
- locales: locales,
130
- isInitiallyDisabled: isInitiallyDisabled,
131
- parameters: referenceEditorParams
132
- }, widgetStaticProps, options[widgetId]);
133
-
134
- var baseSdk = widgetId === 'slugEditor' ? sdk : undefined;
135
- return createElement(WidgetComponent, _extends({
136
- key: sdk.field.locale
137
- }, widgetComponentProps, {
105
+ const [WidgetComponent, widgetStaticProps] = widgetComponents[widgetId];
106
+ const widgetComponentProps = {
107
+ sdk,
108
+ field,
109
+ locales,
110
+ isInitiallyDisabled,
111
+ parameters: referenceEditorParams,
112
+ ...widgetStaticProps,
113
+ // @ts-expect-error
114
+ ...options[widgetId]
115
+ };
116
+ const baseSdk = widgetId === 'slugEditor' ? sdk : undefined;
117
+ return createElement(WidgetComponent, {
118
+ key: sdk.field.locale,
119
+ ...widgetComponentProps,
138
120
  baseSdk: baseSdk
139
- }));
121
+ });
140
122
  };
141
123
 
142
- var styles = {
124
+ const styles = {
143
125
  withFocusBar: /*#__PURE__*/css({
144
126
  marginLeft: tokens.spacingL,
145
127
  marginRight: tokens.spacingL,
146
128
  marginBottom: '29px',
147
129
  marginTop: '19px',
148
130
  paddingLeft: tokens.spacingM,
149
- borderLeft: "3px solid " + tokens.gray300,
131
+ borderLeft: `3px solid ${tokens.gray300}`,
150
132
  transition: 'border-color 0.18s linear',
151
133
  '&:focus-within': {
152
134
  borderColor: tokens.colorPrimary
@@ -166,45 +148,41 @@ var styles = {
166
148
  whiteSpace: 'pre-wrap'
167
149
  }),
168
150
  helpText: /*#__PURE__*/css({
169
- margin: tokens.spacingXs + " 0",
151
+ margin: `${tokens.spacingXs} 0`,
170
152
  fontStyle: 'italic'
171
153
  })
172
154
  };
173
155
 
174
- var FieldWrapper = function FieldWrapper(props) {
175
- var _sdk$parameters$insta, _sdk$parameters, _sdk$parameters$insta2, _sdk$contentType, _sdk$contentType$sys;
176
-
177
- var ids = props.sdk.ids;
178
-
179
- var defaultGetEntryUrl = function defaultGetEntryUrl(entry) {
180
- return "/spaces/" + ids.space + "/environments/" + (ids.environmentAlias || ids.environment) + "/entries/" + entry.sys.id;
181
- };
182
-
183
- var name = props.name,
184
- sdk = props.sdk,
185
- className = props.className,
186
- children = props.children,
187
- renderHeading = props.renderHeading,
188
- renderHelpText = props.renderHelpText,
189
- _props$showFocusBar = props.showFocusBar,
190
- showFocusBar = _props$showFocusBar === void 0 ? true : _props$showFocusBar,
191
- _props$getEntryURL = props.getEntryURL,
192
- getEntryURL = _props$getEntryURL === void 0 ? defaultGetEntryUrl : _props$getEntryURL;
193
- var field = sdk.field;
194
- var helpText = (_sdk$parameters$insta = (_sdk$parameters = sdk.parameters) == null ? void 0 : (_sdk$parameters$insta2 = _sdk$parameters.instance) == null ? void 0 : _sdk$parameters$insta2.helpText) != null ? _sdk$parameters$insta : '';
195
-
196
- var _React$useState = useState(false),
197
- hasErrors = _React$useState[0],
198
- setHasErrors = _React$useState[1];
199
-
200
- useEffect(function () {
201
- return field.onSchemaErrorsChanged(function (errors) {
156
+ const FieldWrapper = function (props) {
157
+ var _sdk$parameters, _sdk$parameters$insta, _sdk$contentType, _sdk$contentType$sys;
158
+
159
+ const {
160
+ ids
161
+ } = props.sdk;
162
+
163
+ const defaultGetEntryUrl = entry => `/spaces/${ids.space}/environments/${ids.environmentAlias || ids.environment}/entries/${entry.sys.id}`;
164
+
165
+ const {
166
+ name,
167
+ sdk,
168
+ className,
169
+ children,
170
+ renderHeading,
171
+ renderHelpText,
172
+ showFocusBar = true,
173
+ getEntryURL = defaultGetEntryUrl
174
+ } = props;
175
+ const {
176
+ field
177
+ } = sdk;
178
+ const helpText = ((_sdk$parameters = sdk.parameters) == null ? void 0 : (_sdk$parameters$insta = _sdk$parameters.instance) == null ? void 0 : _sdk$parameters$insta.helpText) ?? '';
179
+ const [hasErrors, setHasErrors] = useState(false);
180
+ useEffect(() => {
181
+ return field.onSchemaErrorsChanged(errors => {
202
182
  setHasErrors((errors || []).length > 0);
203
183
  });
204
184
  }, [field]);
205
- var fieldControlId = [field.id, field.locale, (_sdk$contentType = sdk.contentType) == null ? void 0 : (_sdk$contentType$sys = _sdk$contentType.sys) == null ? void 0 : _sdk$contentType$sys.id].filter(function (item) {
206
- return item;
207
- }).join('-');
185
+ const fieldControlId = [field.id, field.locale, (_sdk$contentType = sdk.contentType) == null ? void 0 : (_sdk$contentType$sys = _sdk$contentType.sys) == null ? void 0 : _sdk$contentType$sys.id].filter(item => item).join('-');
208
186
  return createElement(FormControl, {
209
187
  id: fieldControlId,
210
188
  testId: "entity-field-controls",
@@ -1 +1 @@
1
- {"version":3,"file":"default-field-editors.esm.js","sources":["../src/getDefaultWidgetId.ts","../src/Field.tsx","../src/FieldWrapper.styles.ts","../src/FieldWrapper.tsx"],"sourcesContent":["import { editorInterfaceDefaults } from 'contentful-management';\n\nimport type { FieldExtensionSDK } from '@contentful/field-editor-shared';\nimport type { WidgetType } from './types';\n\nexport function getDefaultWidgetId(\n sdk: Pick<FieldExtensionSDK, 'field' | 'contentType'>\n): WidgetType {\n const field = sdk.field;\n\n // @ts-expect-error FieldExtensionSDK.field doesn't include all the\n // properties of ContentFields type. It should be fixed\n return editorInterfaceDefaults.default.getDefaultControlOfField(field).widgetId;\n}\n","import * as React from 'react';\nimport { NumberEditor } from '@contentful/field-editor-number';\nimport { SingleLineEditor } from '@contentful/field-editor-single-line';\nimport { BooleanEditor } from '@contentful/field-editor-boolean';\nimport { DateEditor } from '@contentful/field-editor-date';\nimport { LocationEditor } from '@contentful/field-editor-location';\nimport { JsonEditor } from '@contentful/field-editor-json';\nimport { MultipleLineEditor } from '@contentful/field-editor-multiple-line';\nimport { TagsEditor } from '@contentful/field-editor-tags';\nimport { SlugEditor } from '@contentful/field-editor-slug';\nimport { DropdownEditor } from '@contentful/field-editor-dropdown';\nimport { UrlEditor } from '@contentful/field-editor-url';\nimport { RadioEditor } from '@contentful/field-editor-radio';\nimport { RatingEditor } from '@contentful/field-editor-rating';\nimport { CheckboxEditor } from '@contentful/field-editor-checkbox';\nimport { ListEditor } from '@contentful/field-editor-list';\nimport {\n SingleEntryReferenceEditor,\n MultipleEntryReferenceEditor,\n SingleMediaEditor,\n MultipleMediaEditor,\n} from '@contentful/field-editor-reference';\nimport { RichTextEditor } from '@contentful/field-editor-rich-text';\nimport { MarkdownEditor } from '@contentful/field-editor-markdown';\nimport type { FieldExtensionSDK } from '@contentful/field-editor-shared';\nimport type { EditorOptions, WidgetType } from './types';\nimport { getDefaultWidgetId } from './getDefaultWidgetId';\n\ntype FieldProps = {\n sdk: FieldExtensionSDK;\n widgetId?: WidgetType;\n isInitiallyDisabled?: boolean;\n renderFieldEditor?: (\n widgetId: WidgetType,\n sdk: FieldExtensionSDK,\n isInitiallyDisabled: boolean\n ) => JSX.Element | false;\n getOptions?: (widgetId: WidgetType, sdk: FieldExtensionSDK) => EditorOptions;\n};\n\nconst widgetComponents: Record<string, [React.ComponentType<any>, any?]> = {\n multipleLine: [MultipleLineEditor],\n boolean: [BooleanEditor],\n objectEditor: [JsonEditor],\n datePicker: [DateEditor],\n locationEditor: [LocationEditor],\n checkbox: [CheckboxEditor],\n listInput: [ListEditor],\n rating: [RatingEditor],\n radio: [RadioEditor],\n tagEditor: [TagsEditor],\n numberEditor: [NumberEditor],\n urlEditor: [UrlEditor],\n slugEditor: [SlugEditor],\n singleLine: [SingleLineEditor],\n dropdown: [DropdownEditor],\n entryLinkEditor: [SingleEntryReferenceEditor, { viewType: 'link', hasCardEditActions: true }],\n entryCardEditor: [SingleEntryReferenceEditor, { viewType: 'card', hasCardEditActions: true }],\n entryLinksEditor: [MultipleEntryReferenceEditor, { viewType: 'link', hasCardEditActions: true }],\n entryCardsEditor: [MultipleEntryReferenceEditor, { viewType: 'card', hasCardEditActions: true }],\n assetLinkEditor: [SingleMediaEditor, { viewType: 'link' }],\n assetLinksEditor: [MultipleMediaEditor, { viewType: 'link' }],\n assetGalleryEditor: [MultipleMediaEditor, { viewType: 'card' }],\n richTextEditor: [RichTextEditor],\n markdown: [MarkdownEditor],\n};\n\nexport const Field: React.FC<FieldProps> = (props: FieldProps) => {\n const {\n sdk,\n widgetId: possiblyUndefinedWidgetId,\n isInitiallyDisabled = false,\n renderFieldEditor,\n getOptions,\n } = props;\n const field = sdk.field;\n const locales = sdk.locales;\n\n const widgetId = possiblyUndefinedWidgetId ?? getDefaultWidgetId(sdk);\n\n if (renderFieldEditor) {\n const customEditor = renderFieldEditor(widgetId, sdk, isInitiallyDisabled);\n if (customEditor) {\n return customEditor;\n }\n }\n\n const options = getOptions ? getOptions(widgetId, sdk) : {};\n const referenceEditorParams =\n sdk.parameters && 'instance' in sdk.parameters\n ? sdk.parameters\n : {\n instance: {\n showCreateEntityAction: true,\n showLinkEntityAction: true,\n },\n };\n\n if (!widgetComponents[widgetId]) return null;\n\n const [WidgetComponent, widgetStaticProps] = widgetComponents[widgetId];\n\n const widgetComponentProps = {\n sdk,\n field,\n locales,\n isInitiallyDisabled,\n parameters: referenceEditorParams,\n ...widgetStaticProps,\n // @ts-expect-error\n ...options[widgetId],\n };\n\n const baseSdk = widgetId === 'slugEditor' ? sdk : undefined;\n\n return <WidgetComponent key={sdk.field.locale} {...widgetComponentProps} baseSdk={baseSdk} />;\n};\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\n\nexport const styles = {\n withFocusBar: css({\n marginLeft: tokens.spacingL,\n marginRight: tokens.spacingL,\n marginBottom: '29px',\n marginTop: '19px',\n paddingLeft: tokens.spacingM,\n borderLeft: `3px solid ${tokens.gray300}`,\n transition: 'border-color 0.18s linear',\n '&:focus-within': {\n borderColor: tokens.colorPrimary,\n },\n '&[aria-invalid=\"true\"]': {\n borderLeftColor: tokens.red500,\n },\n }),\n label: css({\n display: 'flex',\n width: '100%',\n maxWidth: '800px',\n color: tokens.gray500,\n fontSize: tokens.fontSizeM,\n fontWeight: tokens.fontWeightNormal,\n lineHeight: tokens.lineHeightDefault,\n whiteSpace: 'pre-wrap',\n }),\n helpText: css({\n margin: `${tokens.spacingXs} 0`,\n fontStyle: 'italic',\n }),\n};\n","import * as React from 'react';\nimport { cx } from 'emotion';\nimport { FormControl } from '@contentful/f36-components';\nimport { ValidationErrors } from '@contentful/field-editor-validation-errors';\nimport type { FieldExtensionSDK, Entry } from '@contentful/field-editor-shared';\nimport { styles } from './FieldWrapper.styles';\n\ntype FieldWrapperProps = {\n name: string;\n sdk: FieldExtensionSDK;\n /**\n * Generates a link to another entry with the same value when a \"non unique\" validation error occurs\n */\n getEntryURL?: (entry: Entry) => string;\n className?: string;\n showFocusBar?: boolean;\n children: React.ReactNode;\n renderHeading?: (name: string) => JSX.Element | null;\n renderHelpText?: (helpText: string) => JSX.Element | null;\n};\n\nexport const FieldWrapper: React.FC<FieldWrapperProps> = function (props: FieldWrapperProps) {\n const { ids } = props.sdk;\n const defaultGetEntryUrl = (entry: Entry) =>\n `/spaces/${ids.space}/environments/${ids.environmentAlias || ids.environment}/entries/${\n entry.sys.id\n }`;\n const {\n name,\n sdk,\n className,\n children,\n renderHeading,\n renderHelpText,\n showFocusBar = true,\n getEntryURL = defaultGetEntryUrl,\n } = props;\n const { field } = sdk;\n const helpText = (sdk.parameters?.instance as any)?.helpText ?? '';\n\n const [hasErrors, setHasErrors] = React.useState(false);\n React.useEffect(() => {\n return field.onSchemaErrorsChanged((errors: unknown[]) => {\n setHasErrors((errors || []).length > 0);\n });\n }, [field]);\n\n const fieldControlId = [field.id, field.locale, sdk.contentType?.sys?.id]\n .filter((item) => item)\n .join('-');\n\n return (\n <FormControl\n id={fieldControlId}\n testId=\"entity-field-controls\"\n data-test-id=\"entity-field-controls\"\n className={cx(showFocusBar && styles.withFocusBar, className)}\n aria-invalid={hasErrors}\n isRequired={field.required}>\n {renderHeading ? (\n renderHeading(name)\n ) : (\n <FormControl.Label className={styles.label}>{name}</FormControl.Label>\n )}\n\n {children}\n\n <ValidationErrors\n field={field}\n space={sdk.space}\n locales={sdk.locales}\n getEntryURL={getEntryURL || defaultGetEntryUrl}\n />\n\n {renderHelpText ? (\n renderHelpText(helpText)\n ) : (\n <FormControl.HelpText testId=\"field-hint\" className={styles.helpText}>\n {helpText}\n </FormControl.HelpText>\n )}\n </FormControl>\n );\n};\n"],"names":["getDefaultWidgetId","sdk","field","editorInterfaceDefaults","getDefaultControlOfField","widgetId","widgetComponents","multipleLine","MultipleLineEditor","BooleanEditor","objectEditor","JsonEditor","datePicker","DateEditor","locationEditor","LocationEditor","checkbox","CheckboxEditor","listInput","ListEditor","rating","RatingEditor","radio","RadioEditor","tagEditor","TagsEditor","numberEditor","NumberEditor","urlEditor","UrlEditor","slugEditor","SlugEditor","singleLine","SingleLineEditor","dropdown","DropdownEditor","entryLinkEditor","SingleEntryReferenceEditor","viewType","hasCardEditActions","entryCardEditor","entryLinksEditor","MultipleEntryReferenceEditor","entryCardsEditor","assetLinkEditor","SingleMediaEditor","assetLinksEditor","MultipleMediaEditor","assetGalleryEditor","richTextEditor","RichTextEditor","markdown","MarkdownEditor","Field","props","possiblyUndefinedWidgetId","isInitiallyDisabled","renderFieldEditor","getOptions","locales","customEditor","options","referenceEditorParams","parameters","instance","showCreateEntityAction","showLinkEntityAction","WidgetComponent","widgetStaticProps","widgetComponentProps","baseSdk","undefined","React","key","locale","styles","withFocusBar","css","marginLeft","tokens","spacingL","marginRight","marginBottom","marginTop","paddingLeft","spacingM","borderLeft","gray300","transition","borderColor","colorPrimary","borderLeftColor","red500","label","display","width","maxWidth","color","gray500","fontSize","fontSizeM","fontWeight","fontWeightNormal","lineHeight","lineHeightDefault","whiteSpace","helpText","margin","spacingXs","fontStyle","FieldWrapper","ids","defaultGetEntryUrl","entry","space","environmentAlias","environment","sys","id","name","className","children","renderHeading","renderHelpText","showFocusBar","getEntryURL","hasErrors","setHasErrors","onSchemaErrorsChanged","errors","length","fieldControlId","contentType","filter","item","join","FormControl","testId","cx","isRequired","required","Label","ValidationErrors","HelpText"],"mappings":"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"}
1
+ {"version":3,"file":"default-field-editors.esm.js","sources":["../src/getDefaultWidgetId.ts","../src/Field.tsx","../src/FieldWrapper.styles.ts","../src/FieldWrapper.tsx"],"sourcesContent":["import type { FieldExtensionSDK } from '@contentful/field-editor-shared';\nimport { editorInterfaceDefaults } from 'contentful-management';\n\nimport type { WidgetType } from './types';\n\nexport function getDefaultWidgetId(\n sdk: Pick<FieldExtensionSDK, 'field' | 'contentType'>\n): WidgetType {\n const field = sdk.field;\n\n // @ts-expect-error FieldExtensionSDK.field doesn't include all the\n // properties of ContentFields type. It should be fixed\n return editorInterfaceDefaults.default.getDefaultControlOfField(field).widgetId;\n}\n","import * as React from 'react';\n\nimport { BooleanEditor } from '@contentful/field-editor-boolean';\nimport { RadioEditor } from '@contentful/field-editor-radio';\nimport { RatingEditor } from '@contentful/field-editor-rating';\nimport { CheckboxEditor } from '@contentful/field-editor-checkbox';\nimport { DateEditor } from '@contentful/field-editor-date';\nimport { DropdownEditor } from '@contentful/field-editor-dropdown';\nimport { JsonEditor } from '@contentful/field-editor-json';\nimport { ListEditor } from '@contentful/field-editor-list';\nimport { LocationEditor } from '@contentful/field-editor-location';\nimport { MarkdownEditor } from '@contentful/field-editor-markdown';\nimport { MultipleLineEditor } from '@contentful/field-editor-multiple-line';\nimport { NumberEditor } from '@contentful/field-editor-number';\nimport {\n SingleEntryReferenceEditor,\n MultipleEntryReferenceEditor,\n SingleMediaEditor,\n MultipleMediaEditor,\n} from '@contentful/field-editor-reference';\nimport { RichTextEditor } from '@contentful/field-editor-rich-text';\nimport type { FieldExtensionSDK } from '@contentful/field-editor-shared';\nimport { SingleLineEditor } from '@contentful/field-editor-single-line';\nimport { SlugEditor } from '@contentful/field-editor-slug';\nimport { TagsEditor } from '@contentful/field-editor-tags';\nimport { UrlEditor } from '@contentful/field-editor-url';\n\nimport { getDefaultWidgetId } from './getDefaultWidgetId';\nimport type { EditorOptions, WidgetType } from './types';\n\ntype FieldProps = {\n sdk: FieldExtensionSDK;\n widgetId?: WidgetType;\n isInitiallyDisabled?: boolean;\n renderFieldEditor?: (\n widgetId: WidgetType,\n sdk: FieldExtensionSDK,\n isInitiallyDisabled: boolean\n ) => JSX.Element | false;\n getOptions?: (widgetId: WidgetType, sdk: FieldExtensionSDK) => EditorOptions;\n};\n\nconst widgetComponents: Record<string, [React.ComponentType<any>, any?]> = {\n multipleLine: [MultipleLineEditor],\n boolean: [BooleanEditor],\n objectEditor: [JsonEditor],\n datePicker: [DateEditor],\n locationEditor: [LocationEditor],\n checkbox: [CheckboxEditor],\n listInput: [ListEditor],\n rating: [RatingEditor],\n radio: [RadioEditor],\n tagEditor: [TagsEditor],\n numberEditor: [NumberEditor],\n urlEditor: [UrlEditor],\n slugEditor: [SlugEditor],\n singleLine: [SingleLineEditor],\n dropdown: [DropdownEditor],\n entryLinkEditor: [SingleEntryReferenceEditor, { viewType: 'link', hasCardEditActions: true }],\n entryCardEditor: [SingleEntryReferenceEditor, { viewType: 'card', hasCardEditActions: true }],\n entryLinksEditor: [MultipleEntryReferenceEditor, { viewType: 'link', hasCardEditActions: true }],\n entryCardsEditor: [MultipleEntryReferenceEditor, { viewType: 'card', hasCardEditActions: true }],\n assetLinkEditor: [SingleMediaEditor, { viewType: 'link' }],\n assetLinksEditor: [MultipleMediaEditor, { viewType: 'link' }],\n assetGalleryEditor: [MultipleMediaEditor, { viewType: 'card' }],\n richTextEditor: [RichTextEditor],\n markdown: [MarkdownEditor],\n};\n\nexport const Field: React.FC<FieldProps> = (props: FieldProps) => {\n const {\n sdk,\n widgetId: possiblyUndefinedWidgetId,\n isInitiallyDisabled = false,\n renderFieldEditor,\n getOptions,\n } = props;\n const field = sdk.field;\n const locales = sdk.locales;\n\n const widgetId = possiblyUndefinedWidgetId ?? getDefaultWidgetId(sdk);\n\n if (renderFieldEditor) {\n const customEditor = renderFieldEditor(widgetId, sdk, isInitiallyDisabled);\n if (customEditor) {\n return customEditor;\n }\n }\n\n const options = getOptions ? getOptions(widgetId, sdk) : {};\n const referenceEditorParams =\n sdk.parameters && 'instance' in sdk.parameters\n ? sdk.parameters\n : {\n instance: {\n showCreateEntityAction: true,\n showLinkEntityAction: true,\n },\n };\n\n if (!widgetComponents[widgetId]) return null;\n\n const [WidgetComponent, widgetStaticProps] = widgetComponents[widgetId];\n\n const widgetComponentProps = {\n sdk,\n field,\n locales,\n isInitiallyDisabled,\n parameters: referenceEditorParams,\n ...widgetStaticProps,\n // @ts-expect-error\n ...options[widgetId],\n };\n\n const baseSdk = widgetId === 'slugEditor' ? sdk : undefined;\n\n return <WidgetComponent key={sdk.field.locale} {...widgetComponentProps} baseSdk={baseSdk} />;\n};\n","import tokens from '@contentful/f36-tokens';\nimport { css } from 'emotion';\n\nexport const styles = {\n withFocusBar: css({\n marginLeft: tokens.spacingL,\n marginRight: tokens.spacingL,\n marginBottom: '29px',\n marginTop: '19px',\n paddingLeft: tokens.spacingM,\n borderLeft: `3px solid ${tokens.gray300}`,\n transition: 'border-color 0.18s linear',\n '&:focus-within': {\n borderColor: tokens.colorPrimary,\n },\n '&[aria-invalid=\"true\"]': {\n borderLeftColor: tokens.red500,\n },\n }),\n label: css({\n display: 'flex',\n width: '100%',\n maxWidth: '800px',\n color: tokens.gray500,\n fontSize: tokens.fontSizeM,\n fontWeight: tokens.fontWeightNormal,\n lineHeight: tokens.lineHeightDefault,\n whiteSpace: 'pre-wrap',\n }),\n helpText: css({\n margin: `${tokens.spacingXs} 0`,\n fontStyle: 'italic',\n }),\n};\n","import * as React from 'react';\n\nimport { FormControl } from '@contentful/f36-components';\nimport type { FieldExtensionSDK, Entry } from '@contentful/field-editor-shared';\nimport { ValidationErrors } from '@contentful/field-editor-validation-errors';\nimport { cx } from 'emotion';\n\nimport { styles } from './FieldWrapper.styles';\n\ntype FieldWrapperProps = {\n name: string;\n sdk: FieldExtensionSDK;\n /**\n * Generates a link to another entry with the same value when a \"non unique\" validation error occurs\n */\n getEntryURL?: (entry: Entry) => string;\n className?: string;\n showFocusBar?: boolean;\n children: React.ReactNode;\n renderHeading?: (name: string) => JSX.Element | null;\n renderHelpText?: (helpText: string) => JSX.Element | null;\n};\n\nexport const FieldWrapper: React.FC<FieldWrapperProps> = function (props: FieldWrapperProps) {\n const { ids } = props.sdk;\n const defaultGetEntryUrl = (entry: Entry) =>\n `/spaces/${ids.space}/environments/${ids.environmentAlias || ids.environment}/entries/${\n entry.sys.id\n }`;\n const {\n name,\n sdk,\n className,\n children,\n renderHeading,\n renderHelpText,\n showFocusBar = true,\n getEntryURL = defaultGetEntryUrl,\n } = props;\n const { field } = sdk;\n const helpText = (sdk.parameters?.instance as any)?.helpText ?? '';\n\n const [hasErrors, setHasErrors] = React.useState(false);\n React.useEffect(() => {\n return field.onSchemaErrorsChanged((errors: unknown[]) => {\n setHasErrors((errors || []).length > 0);\n });\n }, [field]);\n\n const fieldControlId = [field.id, field.locale, sdk.contentType?.sys?.id]\n .filter((item) => item)\n .join('-');\n\n return (\n <FormControl\n id={fieldControlId}\n testId=\"entity-field-controls\"\n data-test-id=\"entity-field-controls\"\n className={cx(showFocusBar && styles.withFocusBar, className)}\n aria-invalid={hasErrors}\n isRequired={field.required}>\n {renderHeading ? (\n renderHeading(name)\n ) : (\n <FormControl.Label className={styles.label}>{name}</FormControl.Label>\n )}\n\n {children}\n\n <ValidationErrors\n field={field}\n space={sdk.space}\n locales={sdk.locales}\n getEntryURL={getEntryURL || defaultGetEntryUrl}\n />\n\n {renderHelpText ? (\n renderHelpText(helpText)\n ) : (\n <FormControl.HelpText testId=\"field-hint\" className={styles.helpText}>\n {helpText}\n </FormControl.HelpText>\n )}\n </FormControl>\n );\n};\n"],"names":["getDefaultWidgetId","sdk","field","editorInterfaceDefaults","default","getDefaultControlOfField","widgetId","widgetComponents","multipleLine","MultipleLineEditor","boolean","BooleanEditor","objectEditor","JsonEditor","datePicker","DateEditor","locationEditor","LocationEditor","checkbox","CheckboxEditor","listInput","ListEditor","rating","RatingEditor","radio","RadioEditor","tagEditor","TagsEditor","numberEditor","NumberEditor","urlEditor","UrlEditor","slugEditor","SlugEditor","singleLine","SingleLineEditor","dropdown","DropdownEditor","entryLinkEditor","SingleEntryReferenceEditor","viewType","hasCardEditActions","entryCardEditor","entryLinksEditor","MultipleEntryReferenceEditor","entryCardsEditor","assetLinkEditor","SingleMediaEditor","assetLinksEditor","MultipleMediaEditor","assetGalleryEditor","richTextEditor","RichTextEditor","markdown","MarkdownEditor","Field","props","possiblyUndefinedWidgetId","isInitiallyDisabled","renderFieldEditor","getOptions","locales","customEditor","options","referenceEditorParams","parameters","instance","showCreateEntityAction","showLinkEntityAction","WidgetComponent","widgetStaticProps","widgetComponentProps","baseSdk","undefined","React","key","locale","styles","withFocusBar","css","marginLeft","tokens","spacingL","marginRight","marginBottom","marginTop","paddingLeft","spacingM","borderLeft","gray300","transition","borderColor","colorPrimary","borderLeftColor","red500","label","display","width","maxWidth","color","gray500","fontSize","fontSizeM","fontWeight","fontWeightNormal","lineHeight","lineHeightDefault","whiteSpace","helpText","margin","spacingXs","fontStyle","FieldWrapper","ids","defaultGetEntryUrl","entry","space","environmentAlias","environment","sys","id","name","className","children","renderHeading","renderHelpText","showFocusBar","getEntryURL","hasErrors","setHasErrors","onSchemaErrorsChanged","errors","length","fieldControlId","contentType","filter","item","join","FormControl","testId","cx","isRequired","required","Label","ValidationErrors","HelpText"],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,21 +1,21 @@
1
- import { MultipleLineEditor } from '@contentful/field-editor-multiple-line';
2
1
  import { BooleanEditor } from '@contentful/field-editor-boolean';
3
- import { MultipleEntryReferenceEditor, MultipleMediaEditor, SingleEntryReferenceEditor, SingleMediaEditor } from '@contentful/field-editor-reference';
4
- import { JsonEditor } from '@contentful/field-editor-json';
5
- import { DateEditor } from '@contentful/field-editor-date';
6
- import { LocationEditor } from '@contentful/field-editor-location';
7
2
  import { CheckboxEditor } from '@contentful/field-editor-checkbox';
3
+ import { DateEditor } from '@contentful/field-editor-date';
4
+ import { DropdownEditor } from '@contentful/field-editor-dropdown';
5
+ import { JsonEditor } from '@contentful/field-editor-json';
8
6
  import { ListEditor } from '@contentful/field-editor-list';
9
- import { RatingEditor } from '@contentful/field-editor-rating';
7
+ import { LocationEditor } from '@contentful/field-editor-location';
8
+ import { MarkdownEditor } from '@contentful/field-editor-markdown';
9
+ import { MultipleLineEditor } from '@contentful/field-editor-multiple-line';
10
10
  import { RadioEditor } from '@contentful/field-editor-radio';
11
+ import { RatingEditor } from '@contentful/field-editor-rating';
12
+ import { MultipleEntryReferenceEditor, MultipleMediaEditor, SingleEntryReferenceEditor, SingleMediaEditor } from '@contentful/field-editor-reference';
13
+ import { RichTextEditor } from '@contentful/field-editor-rich-text';
14
+ import { SingleLineEditor } from '@contentful/field-editor-single-line';
15
+ import { SlugEditor } from '@contentful/field-editor-slug';
11
16
  import { TagsEditor } from '@contentful/field-editor-tags';
12
17
  import { NumberEditor } from '@contentful/field-editor-number';
13
18
  import { UrlEditor } from '@contentful/field-editor-url';
14
- import { SlugEditor } from '@contentful/field-editor-slug';
15
- import { SingleLineEditor } from '@contentful/field-editor-single-line';
16
- import { DropdownEditor } from '@contentful/field-editor-dropdown';
17
- import { RichTextEditor } from '@contentful/field-editor-rich-text';
18
- import { MarkdownEditor } from '@contentful/field-editor-markdown';
19
19
  export declare type WidgetType = 'multipleLine' | 'boolean' | 'objectEditor' | 'datePicker' | 'locationEditor' | 'checkbox' | 'listInput' | 'rating' | 'radio' | 'tagEditor' | 'numberEditor' | 'urlEditor' | 'slugEditor' | 'singleLine' | 'dropdown' | 'entryLinkEditor' | 'entryCardEditor' | 'entryLinksEditor' | 'entryCardsEditor' | 'assetLinkEditor' | 'assetLinksEditor' | 'assetGalleryEditor' | 'richTextEditor' | 'markdown' | string;
20
20
  export declare type EditorOptions = {
21
21
  multipleLine?: Partial<Parameters<typeof MultipleLineEditor>[0]>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contentful/default-field-editors",
3
- "version": "1.2.80",
3
+ "version": "1.3.1",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/default-field-editors.esm.js",
6
6
  "typings": "dist/index.d.ts",
@@ -22,34 +22,34 @@
22
22
  },
23
23
  "dependencies": {
24
24
  "@contentful/f36-components": "^4.0.27",
25
- "@contentful/field-editor-boolean": "^1.1.11",
26
- "@contentful/field-editor-checkbox": "^1.1.12",
27
- "@contentful/field-editor-date": "^1.3.5",
28
- "@contentful/field-editor-dropdown": "^1.1.11",
29
- "@contentful/field-editor-json": "^3.1.7",
30
- "@contentful/field-editor-list": "^1.1.11",
31
- "@contentful/field-editor-location": "^1.2.2",
32
- "@contentful/field-editor-markdown": "^1.1.16",
33
- "@contentful/field-editor-multiple-line": "^1.1.11",
34
- "@contentful/field-editor-number": "^1.2.5",
35
- "@contentful/field-editor-radio": "^1.1.12",
36
- "@contentful/field-editor-rating": "^1.1.11",
37
- "@contentful/field-editor-reference": "^5.8.6",
38
- "@contentful/field-editor-rich-text": "^3.4.18",
39
- "@contentful/field-editor-shared": "^1.1.8",
40
- "@contentful/field-editor-single-line": "^1.1.11",
41
- "@contentful/field-editor-slug": "^1.1.12",
42
- "@contentful/field-editor-tags": "^1.1.12",
43
- "@contentful/field-editor-url": "^1.1.11",
44
- "@contentful/field-editor-validation-errors": "^1.1.11",
25
+ "@contentful/field-editor-boolean": "^1.2.0",
26
+ "@contentful/field-editor-checkbox": "^1.2.0",
27
+ "@contentful/field-editor-date": "^1.4.0",
28
+ "@contentful/field-editor-dropdown": "^1.2.0",
29
+ "@contentful/field-editor-json": "^3.2.0",
30
+ "@contentful/field-editor-list": "^1.2.0",
31
+ "@contentful/field-editor-location": "^1.2.3",
32
+ "@contentful/field-editor-markdown": "^1.2.0",
33
+ "@contentful/field-editor-multiple-line": "^1.2.0",
34
+ "@contentful/field-editor-number": "^1.2.6",
35
+ "@contentful/field-editor-radio": "^1.2.0",
36
+ "@contentful/field-editor-rating": "^1.2.0",
37
+ "@contentful/field-editor-reference": "^5.9.0",
38
+ "@contentful/field-editor-rich-text": "^3.4.20",
39
+ "@contentful/field-editor-shared": "^1.2.0",
40
+ "@contentful/field-editor-single-line": "^1.2.0",
41
+ "@contentful/field-editor-slug": "^1.2.0",
42
+ "@contentful/field-editor-tags": "^1.2.0",
43
+ "@contentful/field-editor-url": "^1.2.0",
44
+ "@contentful/field-editor-validation-errors": "^1.2.0",
45
45
  "contentful-management": "^10.0.0",
46
46
  "emotion": "^10.0.27"
47
47
  },
48
48
  "devDependencies": {
49
- "@contentful/field-editor-test-utils": "^1.2.7"
49
+ "@contentful/field-editor-test-utils": "^1.3.0"
50
50
  },
51
51
  "peerDependencies": {
52
52
  "react": ">=16.8.0"
53
53
  },
54
- "gitHead": "a853de48d41ddaeae49ea876a52e0004818f6bd6"
54
+ "gitHead": "d7a322a232afbfc78fc3578d73b6d505d4b17043"
55
55
  }