@contentful/field-editor-list 1.1.5 → 1.1.7

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,14 @@
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.1.7](https://github.com/contentful/field-editors/compare/@contentful/field-editor-list@1.1.6...@contentful/field-editor-list@1.1.7) (2022-12-08)
7
+
8
+ **Note:** Version bump only for package @contentful/field-editor-list
9
+
10
+ ## [1.1.6](https://github.com/contentful/field-editors/compare/@contentful/field-editor-list@1.1.5...@contentful/field-editor-list@1.1.6) (2022-07-29)
11
+
12
+ **Note:** Version bump only for package @contentful/field-editor-list
13
+
6
14
  ## [1.1.5](https://github.com/contentful/field-editors/compare/@contentful/field-editor-list@1.1.4...@contentful/field-editor-list@1.1.5) (2022-07-29)
7
15
 
8
16
  **Note:** Version bump only for package @contentful/field-editor-list
@@ -10,6 +10,24 @@ var emotion = require('emotion');
10
10
  var isEqual = _interopDefault(require('lodash/isEqual'));
11
11
  var f36Components = require('@contentful/f36-components');
12
12
 
13
+ function _extends() {
14
+ _extends = Object.assign || function (target) {
15
+ for (var i = 1; i < arguments.length; i++) {
16
+ var source = arguments[i];
17
+
18
+ for (var key in source) {
19
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
20
+ target[key] = source[key];
21
+ }
22
+ }
23
+ }
24
+
25
+ return target;
26
+ };
27
+
28
+ return _extends.apply(this, arguments);
29
+ }
30
+
13
31
  var rightToLeft = /*#__PURE__*/emotion.css({
14
32
  direction: 'rtl'
15
33
  });
@@ -28,7 +46,7 @@ function ListEditor(props) {
28
46
  field: field,
29
47
  isInitiallyDisabled: props.isInitiallyDisabled
30
48
  }, function (childProps) {
31
- return React.createElement(ListEditorInternal, Object.assign({}, childProps, {
49
+ return React.createElement(ListEditorInternal, _extends({}, childProps, {
32
50
  direction: direction,
33
51
  isRequired: field.required
34
52
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"field-editor-list.cjs.development.js","sources":["../src/styles.ts","../src/ListEditor.tsx"],"sourcesContent":["import { css } from 'emotion';\n\nexport const rightToLeft = css({\n direction: 'rtl',\n});\n","import * as React from 'react';\nimport { FieldAPI, FieldConnector, LocalesAPI } from '@contentful/field-editor-shared';\nimport * as styles from './styles';\nimport isEqual from 'lodash/isEqual';\n\nimport { TextInput } from '@contentful/f36-components';\nimport { FieldConnectorChildProps } from '@contentful/field-editor-shared/dist/FieldConnector';\n\nexport interface ListEditorProps {\n /**\n * is the field disabled initially\n */\n isInitiallyDisabled: boolean;\n\n /**\n * sdk.field\n */\n field: FieldAPI;\n\n /**\n * sdk.locales\n */\n locales: LocalesAPI;\n}\n\ntype ListValue = string[];\n\nfunction isEmptyListValue(value: ListValue | null) {\n return value === null || value.length === 0;\n}\n\nexport function ListEditor(props: ListEditorProps) {\n const { field, locales } = props;\n\n const direction = locales.direction[field.locale] || 'ltr';\n\n return (\n <FieldConnector<ListValue>\n throttle={0}\n isEmptyValue={isEmptyListValue}\n field={field}\n isInitiallyDisabled={props.isInitiallyDisabled}>\n {(childProps) => (\n <ListEditorInternal {...childProps} direction={direction} isRequired={field.required} />\n )}\n </FieldConnector>\n );\n}\n\nfunction ListEditorInternal({\n setValue,\n value,\n errors,\n disabled,\n direction,\n isRequired,\n}: FieldConnectorChildProps<ListValue> & { direction: 'rtl' | 'ltr'; isRequired: boolean }) {\n const [valueState, setValueState] = React.useState(() => (value || []).join(', '));\n\n const onChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const valueAsArray = e.target.value\n .split(',')\n .map((item) => item.trim())\n .filter((item) => item);\n const changed = !isEqual(valueAsArray, value);\n setValue(valueAsArray);\n\n const valueAsString = valueAsArray.join(', ');\n setValueState(changed ? valueAsString : e.target.value);\n };\n\n return (\n <TextInput\n testId=\"list-editor-input\"\n className={direction === 'rtl' ? styles.rightToLeft : ''}\n isRequired={isRequired}\n isInvalid={errors.length > 0}\n isDisabled={disabled}\n value={valueState}\n onChange={onChange}\n />\n );\n}\n\nListEditor.defaultProps = {\n isInitiallyDisabled: true,\n};\n"],"names":["rightToLeft","css","direction","isEmptyListValue","value","length","ListEditor","props","field","locales","locale","React","FieldConnector","throttle","isEmptyValue","isInitiallyDisabled","childProps","ListEditorInternal","isRequired","required","setValue","errors","disabled","join","valueState","setValueState","onChange","e","valueAsArray","target","split","map","item","trim","filter","changed","isEqual","valueAsString","TextInput","testId","className","styles","isInvalid","isDisabled","defaultProps"],"mappings":";;;;;;;;;;;;AAEO,IAAMA,WAAW,gBAAGC,WAAG,CAAC;AAC7BC,EAAAA,SAAS,EAAE;AADkB,CAAD,CAAvB;;ACyBP,SAASC,gBAAT,CAA0BC,KAA1B;AACE,SAAOA,KAAK,KAAK,IAAV,IAAkBA,KAAK,CAACC,MAAN,KAAiB,CAA1C;AACD;;AAED,SAAgBC,WAAWC;AACzB,MAAQC,KAAR,GAA2BD,KAA3B,CAAQC,KAAR;AAAA,MAAeC,OAAf,GAA2BF,KAA3B,CAAeE,OAAf;AAEA,MAAMP,SAAS,GAAGO,OAAO,CAACP,SAAR,CAAkBM,KAAK,CAACE,MAAxB,KAAmC,KAArD;AAEA,SACEC,mBAAA,CAACC,gCAAD;AACEC,IAAAA,QAAQ,EAAE;AACVC,IAAAA,YAAY,EAAEX;AACdK,IAAAA,KAAK,EAAEA;AACPO,IAAAA,mBAAmB,EAAER,KAAK,CAACQ;GAJ7B,EAKG,UAACC,UAAD;AAAA,WACCL,mBAAA,CAACM,kBAAD,oBAAwBD;AAAYd,MAAAA,SAAS,EAAEA;AAAWgB,MAAAA,UAAU,EAAEV,KAAK,CAACW;MAA5E,CADD;AAAA,GALH,CADF;AAWD;;AAED,SAASF,kBAAT;MACEG,gBAAAA;MACAhB,aAAAA;MACAiB,cAAAA;MACAC,gBAAAA;MACApB,iBAAAA;MACAgB,kBAAAA;;AAEA,wBAAoCP,cAAA,CAAe;AAAA,WAAM,CAACP,KAAK,IAAI,EAAV,EAAcmB,IAAd,CAAmB,IAAnB,CAAN;AAAA,GAAf,CAApC;AAAA,MAAOC,UAAP;AAAA,MAAmBC,aAAnB;;AAEA,MAAMC,QAAQ,GAAG,SAAXA,QAAW,CAACC,CAAD;AACf,QAAMC,YAAY,GAAGD,CAAC,CAACE,MAAF,CAASzB,KAAT,CAClB0B,KADkB,CACZ,GADY,EAElBC,GAFkB,CAEd,UAACC,IAAD;AAAA,aAAUA,IAAI,CAACC,IAAL,EAAV;AAAA,KAFc,EAGlBC,MAHkB,CAGX,UAACF,IAAD;AAAA,aAAUA,IAAV;AAAA,KAHW,CAArB;AAIA,QAAMG,OAAO,GAAG,CAACC,OAAO,CAACR,YAAD,EAAexB,KAAf,CAAxB;AACAgB,IAAAA,QAAQ,CAACQ,YAAD,CAAR;AAEA,QAAMS,aAAa,GAAGT,YAAY,CAACL,IAAb,CAAkB,IAAlB,CAAtB;AACAE,IAAAA,aAAa,CAACU,OAAO,GAAGE,aAAH,GAAmBV,CAAC,CAACE,MAAF,CAASzB,KAApC,CAAb;AACD,GAVD;;AAYA,SACEO,mBAAA,CAAC2B,uBAAD;AACEC,IAAAA,MAAM,EAAC;AACPC,IAAAA,SAAS,EAAEtC,SAAS,KAAK,KAAd,GAAsBuC,WAAtB,GAA2C;AACtDvB,IAAAA,UAAU,EAAEA;AACZwB,IAAAA,SAAS,EAAErB,MAAM,CAAChB,MAAP,GAAgB;AAC3BsC,IAAAA,UAAU,EAAErB;AACZlB,IAAAA,KAAK,EAAEoB;AACPE,IAAAA,QAAQ,EAAEA;GAPZ,CADF;AAWD;;AAEDpB,UAAU,CAACsC,YAAX,GAA0B;AACxB7B,EAAAA,mBAAmB,EAAE;AADG,CAA1B;;;;"}
1
+ {"version":3,"file":"field-editor-list.cjs.development.js","sources":["../src/styles.ts","../src/ListEditor.tsx"],"sourcesContent":["import { css } from 'emotion';\n\nexport const rightToLeft = css({\n direction: 'rtl',\n});\n","import * as React from 'react';\nimport { FieldAPI, FieldConnector, LocalesAPI } from '@contentful/field-editor-shared';\nimport * as styles from './styles';\nimport isEqual from 'lodash/isEqual';\n\nimport { TextInput } from '@contentful/f36-components';\nimport { FieldConnectorChildProps } from '@contentful/field-editor-shared/dist/FieldConnector';\n\nexport interface ListEditorProps {\n /**\n * is the field disabled initially\n */\n isInitiallyDisabled: boolean;\n\n /**\n * sdk.field\n */\n field: FieldAPI;\n\n /**\n * sdk.locales\n */\n locales: LocalesAPI;\n}\n\ntype ListValue = string[];\n\nfunction isEmptyListValue(value: ListValue | null) {\n return value === null || value.length === 0;\n}\n\nexport function ListEditor(props: ListEditorProps) {\n const { field, locales } = props;\n\n const direction = locales.direction[field.locale] || 'ltr';\n\n return (\n <FieldConnector<ListValue>\n throttle={0}\n isEmptyValue={isEmptyListValue}\n field={field}\n isInitiallyDisabled={props.isInitiallyDisabled}>\n {(childProps) => (\n <ListEditorInternal {...childProps} direction={direction} isRequired={field.required} />\n )}\n </FieldConnector>\n );\n}\n\nfunction ListEditorInternal({\n setValue,\n value,\n errors,\n disabled,\n direction,\n isRequired,\n}: FieldConnectorChildProps<ListValue> & { direction: 'rtl' | 'ltr'; isRequired: boolean }) {\n const [valueState, setValueState] = React.useState(() => (value || []).join(', '));\n\n const onChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const valueAsArray = e.target.value\n .split(',')\n .map((item) => item.trim())\n .filter((item) => item);\n const changed = !isEqual(valueAsArray, value);\n setValue(valueAsArray);\n\n const valueAsString = valueAsArray.join(', ');\n setValueState(changed ? valueAsString : e.target.value);\n };\n\n return (\n <TextInput\n testId=\"list-editor-input\"\n className={direction === 'rtl' ? styles.rightToLeft : ''}\n isRequired={isRequired}\n isInvalid={errors.length > 0}\n isDisabled={disabled}\n value={valueState}\n onChange={onChange}\n />\n );\n}\n\nListEditor.defaultProps = {\n isInitiallyDisabled: true,\n};\n"],"names":["rightToLeft","css","direction","isEmptyListValue","value","length","ListEditor","props","field","locales","locale","React","FieldConnector","throttle","isEmptyValue","isInitiallyDisabled","childProps","ListEditorInternal","isRequired","required","setValue","errors","disabled","join","valueState","setValueState","onChange","e","valueAsArray","target","split","map","item","trim","filter","changed","isEqual","valueAsString","TextInput","testId","className","styles","isInvalid","isDisabled","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEO,IAAMA,WAAW,gBAAGC,WAAG,CAAC;AAC7BC,EAAAA,SAAS,EAAE;AADkB,CAAD,CAAvB;;ACyBP,SAASC,gBAAT,CAA0BC,KAA1B;AACE,SAAOA,KAAK,KAAK,IAAV,IAAkBA,KAAK,CAACC,MAAN,KAAiB,CAA1C;AACD;;AAED,SAAgBC,WAAWC;AACzB,MAAQC,KAAR,GAA2BD,KAA3B,CAAQC,KAAR;AAAA,MAAeC,OAAf,GAA2BF,KAA3B,CAAeE,OAAf;AAEA,MAAMP,SAAS,GAAGO,OAAO,CAACP,SAAR,CAAkBM,KAAK,CAACE,MAAxB,KAAmC,KAArD;AAEA,SACEC,mBAAA,CAACC,gCAAD;AACEC,IAAAA,QAAQ,EAAE;AACVC,IAAAA,YAAY,EAAEX;AACdK,IAAAA,KAAK,EAAEA;AACPO,IAAAA,mBAAmB,EAAER,KAAK,CAACQ;GAJ7B,EAKG,UAACC,UAAD;AAAA,WACCL,mBAAA,CAACM,kBAAD,eAAwBD,UAAxB;AAAoCd,MAAAA,SAAS,EAAEA,SAA/C;AAA0DgB,MAAAA,UAAU,EAAEV,KAAK,CAACW;AAA5E,OADD;AAAA,GALH,CADF;AAWD;;AAED,SAASF,kBAAT;MACEG,gBAAAA;MACAhB,aAAAA;MACAiB,cAAAA;MACAC,gBAAAA;MACApB,iBAAAA;MACAgB,kBAAAA;;AAEA,wBAAoCP,cAAA,CAAe;AAAA,WAAM,CAACP,KAAK,IAAI,EAAV,EAAcmB,IAAd,CAAmB,IAAnB,CAAN;AAAA,GAAf,CAApC;AAAA,MAAOC,UAAP;AAAA,MAAmBC,aAAnB;;AAEA,MAAMC,QAAQ,GAAG,SAAXA,QAAW,CAACC,CAAD;AACf,QAAMC,YAAY,GAAGD,CAAC,CAACE,MAAF,CAASzB,KAAT,CAClB0B,KADkB,CACZ,GADY,EAElBC,GAFkB,CAEd,UAACC,IAAD;AAAA,aAAUA,IAAI,CAACC,IAAL,EAAV;AAAA,KAFc,EAGlBC,MAHkB,CAGX,UAACF,IAAD;AAAA,aAAUA,IAAV;AAAA,KAHW,CAArB;AAIA,QAAMG,OAAO,GAAG,CAACC,OAAO,CAACR,YAAD,EAAexB,KAAf,CAAxB;AACAgB,IAAAA,QAAQ,CAACQ,YAAD,CAAR;AAEA,QAAMS,aAAa,GAAGT,YAAY,CAACL,IAAb,CAAkB,IAAlB,CAAtB;AACAE,IAAAA,aAAa,CAACU,OAAO,GAAGE,aAAH,GAAmBV,CAAC,CAACE,MAAF,CAASzB,KAApC,CAAb;AACD,GAVD;;AAYA,SACEO,mBAAA,CAAC2B,uBAAD;AACEC,IAAAA,MAAM,EAAC;AACPC,IAAAA,SAAS,EAAEtC,SAAS,KAAK,KAAd,GAAsBuC,WAAtB,GAA2C;AACtDvB,IAAAA,UAAU,EAAEA;AACZwB,IAAAA,SAAS,EAAErB,MAAM,CAAChB,MAAP,GAAgB;AAC3BsC,IAAAA,UAAU,EAAErB;AACZlB,IAAAA,KAAK,EAAEoB;AACPE,IAAAA,QAAQ,EAAEA;GAPZ,CADF;AAWD;;AAEDpB,UAAU,CAACsC,YAAX,GAA0B;AACxB7B,EAAAA,mBAAmB,EAAE;AADG,CAA1B;;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("react"),i=require("@contentful/field-editor-shared"),r=require("emotion"),n=(e=require("lodash/isEqual"))&&"object"==typeof e&&"default"in e?e.default:e,l=require("@contentful/f36-components"),u=r.css({direction:"rtl"});function a(e){return null===e||0===e.length}function o(e){var r=e.field,n=e.locales.direction[r.locale]||"ltr";return t.createElement(i.FieldConnector,{throttle:0,isEmptyValue:a,field:r,isInitiallyDisabled:e.isInitiallyDisabled},(function(e){return t.createElement(s,Object.assign({},e,{direction:n,isRequired:r.required}))}))}function s(e){var i=e.setValue,r=e.value,a=e.errors,o=e.disabled,s=e.direction,d=e.isRequired,c=t.useState((function(){return(r||[]).join(", ")})),f=c[1];return t.createElement(l.TextInput,{testId:"list-editor-input",className:"rtl"===s?u:"",isRequired:d,isInvalid:a.length>0,isDisabled:o,value:c[0],onChange:function(e){var t=e.target.value.split(",").map((function(e){return e.trim()})).filter((function(e){return e})),l=!n(t,r);i(t);var u=t.join(", ");f(l?u:e.target.value)}})}o.defaultProps={isInitiallyDisabled:!0},exports.ListEditor=o;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("react"),r=require("@contentful/field-editor-shared"),i=require("emotion"),n=(e=require("lodash/isEqual"))&&"object"==typeof e&&"default"in e?e.default:e,l=require("@contentful/f36-components");function a(){return(a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e}).apply(this,arguments)}var u=i.css({direction:"rtl"});function o(e){return null===e||0===e.length}function s(e){var i=e.field,n=e.locales.direction[i.locale]||"ltr";return t.createElement(r.FieldConnector,{throttle:0,isEmptyValue:o,field:i,isInitiallyDisabled:e.isInitiallyDisabled},(function(e){return t.createElement(c,a({},e,{direction:n,isRequired:i.required}))}))}function c(e){var r=e.setValue,i=e.value,a=e.errors,o=e.disabled,s=e.direction,c=e.isRequired,d=t.useState((function(){return(i||[]).join(", ")})),f=d[1];return t.createElement(l.TextInput,{testId:"list-editor-input",className:"rtl"===s?u:"",isRequired:c,isInvalid:a.length>0,isDisabled:o,value:d[0],onChange:function(e){var t=e.target.value.split(",").map((function(e){return e.trim()})).filter((function(e){return e})),l=!n(t,i);r(t);var a=t.join(", ");f(l?a:e.target.value)}})}s.defaultProps={isInitiallyDisabled:!0},exports.ListEditor=s;
2
2
  //# sourceMappingURL=field-editor-list.cjs.production.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"field-editor-list.cjs.production.min.js","sources":["../src/styles.ts","../src/ListEditor.tsx"],"sourcesContent":["import { css } from 'emotion';\n\nexport const rightToLeft = css({\n direction: 'rtl',\n});\n","import * as React from 'react';\nimport { FieldAPI, FieldConnector, LocalesAPI } from '@contentful/field-editor-shared';\nimport * as styles from './styles';\nimport isEqual from 'lodash/isEqual';\n\nimport { TextInput } from '@contentful/f36-components';\nimport { FieldConnectorChildProps } from '@contentful/field-editor-shared/dist/FieldConnector';\n\nexport interface ListEditorProps {\n /**\n * is the field disabled initially\n */\n isInitiallyDisabled: boolean;\n\n /**\n * sdk.field\n */\n field: FieldAPI;\n\n /**\n * sdk.locales\n */\n locales: LocalesAPI;\n}\n\ntype ListValue = string[];\n\nfunction isEmptyListValue(value: ListValue | null) {\n return value === null || value.length === 0;\n}\n\nexport function ListEditor(props: ListEditorProps) {\n const { field, locales } = props;\n\n const direction = locales.direction[field.locale] || 'ltr';\n\n return (\n <FieldConnector<ListValue>\n throttle={0}\n isEmptyValue={isEmptyListValue}\n field={field}\n isInitiallyDisabled={props.isInitiallyDisabled}>\n {(childProps) => (\n <ListEditorInternal {...childProps} direction={direction} isRequired={field.required} />\n )}\n </FieldConnector>\n );\n}\n\nfunction ListEditorInternal({\n setValue,\n value,\n errors,\n disabled,\n direction,\n isRequired,\n}: FieldConnectorChildProps<ListValue> & { direction: 'rtl' | 'ltr'; isRequired: boolean }) {\n const [valueState, setValueState] = React.useState(() => (value || []).join(', '));\n\n const onChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const valueAsArray = e.target.value\n .split(',')\n .map((item) => item.trim())\n .filter((item) => item);\n const changed = !isEqual(valueAsArray, value);\n setValue(valueAsArray);\n\n const valueAsString = valueAsArray.join(', ');\n setValueState(changed ? valueAsString : e.target.value);\n };\n\n return (\n <TextInput\n testId=\"list-editor-input\"\n className={direction === 'rtl' ? styles.rightToLeft : ''}\n isRequired={isRequired}\n isInvalid={errors.length > 0}\n isDisabled={disabled}\n value={valueState}\n onChange={onChange}\n />\n );\n}\n\nListEditor.defaultProps = {\n isInitiallyDisabled: true,\n};\n"],"names":["rightToLeft","css","direction","isEmptyListValue","value","length","ListEditor","props","field","locales","locale","React","FieldConnector","throttle","isEmptyValue","isInitiallyDisabled","childProps","ListEditorInternal","isRequired","required","setValue","errors","disabled","join","setValueState","TextInput","testId","className","styles","isInvalid","isDisabled","onChange","e","valueAsArray","target","split","map","item","trim","filter","changed","isEqual","valueAsString","defaultProps"],"mappings":"sRAEaA,EAAcC,MAAI,CAC7BC,UAAW,QCwBb,SAASC,EAAiBC,UACP,OAAVA,GAAmC,IAAjBA,EAAMC,gBAGjBC,EAAWC,OACjBC,EAAmBD,EAAnBC,MAEFN,EAFqBK,EAAZE,QAEWP,UAAUM,EAAME,SAAW,aAGnDC,gBAACC,kBACCC,SAAU,EACVC,aAAcX,EACdK,MAAOA,EACPO,oBAAqBR,EAAMQ,sBAC1B,SAACC,UACAL,gBAACM,mBAAuBD,GAAYd,UAAWA,EAAWgB,WAAYV,EAAMW,eAMpF,SAASF,SACPG,IAAAA,SACAhB,IAAAA,MACAiB,IAAAA,OACAC,IAAAA,SACApB,IAAAA,UACAgB,IAAAA,aAEoCP,YAAe,kBAAOP,GAAS,IAAImB,KAAK,SAAzDC,cAejBb,gBAACc,aACCC,OAAO,oBACPC,UAAyB,QAAdzB,EAAsB0B,EAAqB,GACtDV,WAAYA,EACZW,UAAWR,EAAOhB,OAAS,EAC3ByB,WAAYR,EACZlB,WACA2B,SApBa,SAACC,OACVC,EAAeD,EAAEE,OAAO9B,MAC3B+B,MAAM,KACNC,KAAI,SAACC,UAASA,EAAKC,UACnBC,QAAO,SAACF,UAASA,KACdG,GAAWC,EAAQR,EAAc7B,GACvCgB,EAASa,OAEHS,EAAgBT,EAAaV,KAAK,MACxCC,EAAcgB,EAAUE,EAAgBV,EAAEE,OAAO9B,UAgBrDE,EAAWqC,aAAe,CACxB5B,qBAAqB"}
1
+ {"version":3,"file":"field-editor-list.cjs.production.min.js","sources":["../src/styles.ts","../src/ListEditor.tsx"],"sourcesContent":["import { css } from 'emotion';\n\nexport const rightToLeft = css({\n direction: 'rtl',\n});\n","import * as React from 'react';\nimport { FieldAPI, FieldConnector, LocalesAPI } from '@contentful/field-editor-shared';\nimport * as styles from './styles';\nimport isEqual from 'lodash/isEqual';\n\nimport { TextInput } from '@contentful/f36-components';\nimport { FieldConnectorChildProps } from '@contentful/field-editor-shared/dist/FieldConnector';\n\nexport interface ListEditorProps {\n /**\n * is the field disabled initially\n */\n isInitiallyDisabled: boolean;\n\n /**\n * sdk.field\n */\n field: FieldAPI;\n\n /**\n * sdk.locales\n */\n locales: LocalesAPI;\n}\n\ntype ListValue = string[];\n\nfunction isEmptyListValue(value: ListValue | null) {\n return value === null || value.length === 0;\n}\n\nexport function ListEditor(props: ListEditorProps) {\n const { field, locales } = props;\n\n const direction = locales.direction[field.locale] || 'ltr';\n\n return (\n <FieldConnector<ListValue>\n throttle={0}\n isEmptyValue={isEmptyListValue}\n field={field}\n isInitiallyDisabled={props.isInitiallyDisabled}>\n {(childProps) => (\n <ListEditorInternal {...childProps} direction={direction} isRequired={field.required} />\n )}\n </FieldConnector>\n );\n}\n\nfunction ListEditorInternal({\n setValue,\n value,\n errors,\n disabled,\n direction,\n isRequired,\n}: FieldConnectorChildProps<ListValue> & { direction: 'rtl' | 'ltr'; isRequired: boolean }) {\n const [valueState, setValueState] = React.useState(() => (value || []).join(', '));\n\n const onChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const valueAsArray = e.target.value\n .split(',')\n .map((item) => item.trim())\n .filter((item) => item);\n const changed = !isEqual(valueAsArray, value);\n setValue(valueAsArray);\n\n const valueAsString = valueAsArray.join(', ');\n setValueState(changed ? valueAsString : e.target.value);\n };\n\n return (\n <TextInput\n testId=\"list-editor-input\"\n className={direction === 'rtl' ? styles.rightToLeft : ''}\n isRequired={isRequired}\n isInvalid={errors.length > 0}\n isDisabled={disabled}\n value={valueState}\n onChange={onChange}\n />\n );\n}\n\nListEditor.defaultProps = {\n isInitiallyDisabled: true,\n};\n"],"names":["rightToLeft","css","direction","isEmptyListValue","value","length","ListEditor","props","field","locales","locale","React","FieldConnector","throttle","isEmptyValue","isInitiallyDisabled","childProps","ListEditorInternal","isRequired","required","setValue","errors","disabled","join","setValueState","TextInput","testId","className","styles","isInvalid","isDisabled","onChange","e","valueAsArray","target","split","map","item","trim","filter","changed","isEqual","valueAsString","defaultProps"],"mappings":"qeAEO,IAAMA,EAAcC,MAAI,CAC7BC,UAAW,QCwBb,SAASC,EAAiBC,UACP,OAAVA,GAAmC,IAAjBA,EAAMC,gBAGjBC,EAAWC,OACjBC,EAAmBD,EAAnBC,MAEFN,EAFqBK,EAAZE,QAEWP,UAAUM,EAAME,SAAW,aAGnDC,gBAACC,kBACCC,SAAU,EACVC,aAAcX,EACdK,MAAOA,EACPO,oBAAqBR,EAAMQ,sBAC1B,SAACC,UACAL,gBAACM,OAAuBD,GAAYd,UAAWA,EAAWgB,WAAYV,EAAMW,eAMpF,SAASF,SACPG,IAAAA,SACAhB,IAAAA,MACAiB,IAAAA,OACAC,IAAAA,SACApB,IAAAA,UACAgB,IAAAA,aAEoCP,YAAe,kBAAOP,GAAS,IAAImB,KAAK,SAAzDC,cAejBb,gBAACc,aACCC,OAAO,oBACPC,UAAyB,QAAdzB,EAAsB0B,EAAqB,GACtDV,WAAYA,EACZW,UAAWR,EAAOhB,OAAS,EAC3ByB,WAAYR,EACZlB,WACA2B,SApBa,SAACC,OACVC,EAAeD,EAAEE,OAAO9B,MAC3B+B,MAAM,KACNC,KAAI,SAACC,UAASA,EAAKC,UACnBC,QAAO,SAACF,UAASA,KACdG,GAAWC,EAAQR,EAAc7B,GACvCgB,EAASa,OAEHS,EAAgBT,EAAaV,KAAK,MACxCC,EAAcgB,EAAUE,EAAgBV,EAAEE,OAAO9B,UAgBrDE,EAAWqC,aAAe,CACxB5B,qBAAqB"}
@@ -4,6 +4,24 @@ import { css } from 'emotion';
4
4
  import isEqual from 'lodash-es/isEqual';
5
5
  import { TextInput } from '@contentful/f36-components';
6
6
 
7
+ function _extends() {
8
+ _extends = Object.assign || function (target) {
9
+ for (var i = 1; i < arguments.length; i++) {
10
+ var source = arguments[i];
11
+
12
+ for (var key in source) {
13
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
14
+ target[key] = source[key];
15
+ }
16
+ }
17
+ }
18
+
19
+ return target;
20
+ };
21
+
22
+ return _extends.apply(this, arguments);
23
+ }
24
+
7
25
  var rightToLeft = /*#__PURE__*/css({
8
26
  direction: 'rtl'
9
27
  });
@@ -22,7 +40,7 @@ function ListEditor(props) {
22
40
  field: field,
23
41
  isInitiallyDisabled: props.isInitiallyDisabled
24
42
  }, function (childProps) {
25
- return createElement(ListEditorInternal, Object.assign({}, childProps, {
43
+ return createElement(ListEditorInternal, _extends({}, childProps, {
26
44
  direction: direction,
27
45
  isRequired: field.required
28
46
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"field-editor-list.esm.js","sources":["../src/styles.ts","../src/ListEditor.tsx"],"sourcesContent":["import { css } from 'emotion';\n\nexport const rightToLeft = css({\n direction: 'rtl',\n});\n","import * as React from 'react';\nimport { FieldAPI, FieldConnector, LocalesAPI } from '@contentful/field-editor-shared';\nimport * as styles from './styles';\nimport isEqual from 'lodash/isEqual';\n\nimport { TextInput } from '@contentful/f36-components';\nimport { FieldConnectorChildProps } from '@contentful/field-editor-shared/dist/FieldConnector';\n\nexport interface ListEditorProps {\n /**\n * is the field disabled initially\n */\n isInitiallyDisabled: boolean;\n\n /**\n * sdk.field\n */\n field: FieldAPI;\n\n /**\n * sdk.locales\n */\n locales: LocalesAPI;\n}\n\ntype ListValue = string[];\n\nfunction isEmptyListValue(value: ListValue | null) {\n return value === null || value.length === 0;\n}\n\nexport function ListEditor(props: ListEditorProps) {\n const { field, locales } = props;\n\n const direction = locales.direction[field.locale] || 'ltr';\n\n return (\n <FieldConnector<ListValue>\n throttle={0}\n isEmptyValue={isEmptyListValue}\n field={field}\n isInitiallyDisabled={props.isInitiallyDisabled}>\n {(childProps) => (\n <ListEditorInternal {...childProps} direction={direction} isRequired={field.required} />\n )}\n </FieldConnector>\n );\n}\n\nfunction ListEditorInternal({\n setValue,\n value,\n errors,\n disabled,\n direction,\n isRequired,\n}: FieldConnectorChildProps<ListValue> & { direction: 'rtl' | 'ltr'; isRequired: boolean }) {\n const [valueState, setValueState] = React.useState(() => (value || []).join(', '));\n\n const onChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const valueAsArray = e.target.value\n .split(',')\n .map((item) => item.trim())\n .filter((item) => item);\n const changed = !isEqual(valueAsArray, value);\n setValue(valueAsArray);\n\n const valueAsString = valueAsArray.join(', ');\n setValueState(changed ? valueAsString : e.target.value);\n };\n\n return (\n <TextInput\n testId=\"list-editor-input\"\n className={direction === 'rtl' ? styles.rightToLeft : ''}\n isRequired={isRequired}\n isInvalid={errors.length > 0}\n isDisabled={disabled}\n value={valueState}\n onChange={onChange}\n />\n );\n}\n\nListEditor.defaultProps = {\n isInitiallyDisabled: true,\n};\n"],"names":["rightToLeft","css","direction","isEmptyListValue","value","length","ListEditor","props","field","locales","locale","React","FieldConnector","throttle","isEmptyValue","isInitiallyDisabled","childProps","ListEditorInternal","isRequired","required","setValue","errors","disabled","join","valueState","setValueState","onChange","e","valueAsArray","target","split","map","item","trim","filter","changed","isEqual","valueAsString","TextInput","testId","className","styles","isInvalid","isDisabled","defaultProps"],"mappings":";;;;;;AAEO,IAAMA,WAAW,gBAAGC,GAAG,CAAC;AAC7BC,EAAAA,SAAS,EAAE;AADkB,CAAD,CAAvB;;ACyBP,SAASC,gBAAT,CAA0BC,KAA1B;AACE,SAAOA,KAAK,KAAK,IAAV,IAAkBA,KAAK,CAACC,MAAN,KAAiB,CAA1C;AACD;;AAED,SAAgBC,WAAWC;AACzB,MAAQC,KAAR,GAA2BD,KAA3B,CAAQC,KAAR;AAAA,MAAeC,OAAf,GAA2BF,KAA3B,CAAeE,OAAf;AAEA,MAAMP,SAAS,GAAGO,OAAO,CAACP,SAAR,CAAkBM,KAAK,CAACE,MAAxB,KAAmC,KAArD;AAEA,SACEC,aAAA,CAACC,cAAD;AACEC,IAAAA,QAAQ,EAAE;AACVC,IAAAA,YAAY,EAAEX;AACdK,IAAAA,KAAK,EAAEA;AACPO,IAAAA,mBAAmB,EAAER,KAAK,CAACQ;GAJ7B,EAKG,UAACC,UAAD;AAAA,WACCL,aAAA,CAACM,kBAAD,oBAAwBD;AAAYd,MAAAA,SAAS,EAAEA;AAAWgB,MAAAA,UAAU,EAAEV,KAAK,CAACW;MAA5E,CADD;AAAA,GALH,CADF;AAWD;;AAED,SAASF,kBAAT;MACEG,gBAAAA;MACAhB,aAAAA;MACAiB,cAAAA;MACAC,gBAAAA;MACApB,iBAAAA;MACAgB,kBAAAA;;AAEA,wBAAoCP,QAAA,CAAe;AAAA,WAAM,CAACP,KAAK,IAAI,EAAV,EAAcmB,IAAd,CAAmB,IAAnB,CAAN;AAAA,GAAf,CAApC;AAAA,MAAOC,UAAP;AAAA,MAAmBC,aAAnB;;AAEA,MAAMC,QAAQ,GAAG,SAAXA,QAAW,CAACC,CAAD;AACf,QAAMC,YAAY,GAAGD,CAAC,CAACE,MAAF,CAASzB,KAAT,CAClB0B,KADkB,CACZ,GADY,EAElBC,GAFkB,CAEd,UAACC,IAAD;AAAA,aAAUA,IAAI,CAACC,IAAL,EAAV;AAAA,KAFc,EAGlBC,MAHkB,CAGX,UAACF,IAAD;AAAA,aAAUA,IAAV;AAAA,KAHW,CAArB;AAIA,QAAMG,OAAO,GAAG,CAACC,OAAO,CAACR,YAAD,EAAexB,KAAf,CAAxB;AACAgB,IAAAA,QAAQ,CAACQ,YAAD,CAAR;AAEA,QAAMS,aAAa,GAAGT,YAAY,CAACL,IAAb,CAAkB,IAAlB,CAAtB;AACAE,IAAAA,aAAa,CAACU,OAAO,GAAGE,aAAH,GAAmBV,CAAC,CAACE,MAAF,CAASzB,KAApC,CAAb;AACD,GAVD;;AAYA,SACEO,aAAA,CAAC2B,SAAD;AACEC,IAAAA,MAAM,EAAC;AACPC,IAAAA,SAAS,EAAEtC,SAAS,KAAK,KAAd,GAAsBuC,WAAtB,GAA2C;AACtDvB,IAAAA,UAAU,EAAEA;AACZwB,IAAAA,SAAS,EAAErB,MAAM,CAAChB,MAAP,GAAgB;AAC3BsC,IAAAA,UAAU,EAAErB;AACZlB,IAAAA,KAAK,EAAEoB;AACPE,IAAAA,QAAQ,EAAEA;GAPZ,CADF;AAWD;;AAEDpB,UAAU,CAACsC,YAAX,GAA0B;AACxB7B,EAAAA,mBAAmB,EAAE;AADG,CAA1B;;;;"}
1
+ {"version":3,"file":"field-editor-list.esm.js","sources":["../src/styles.ts","../src/ListEditor.tsx"],"sourcesContent":["import { css } from 'emotion';\n\nexport const rightToLeft = css({\n direction: 'rtl',\n});\n","import * as React from 'react';\nimport { FieldAPI, FieldConnector, LocalesAPI } from '@contentful/field-editor-shared';\nimport * as styles from './styles';\nimport isEqual from 'lodash/isEqual';\n\nimport { TextInput } from '@contentful/f36-components';\nimport { FieldConnectorChildProps } from '@contentful/field-editor-shared/dist/FieldConnector';\n\nexport interface ListEditorProps {\n /**\n * is the field disabled initially\n */\n isInitiallyDisabled: boolean;\n\n /**\n * sdk.field\n */\n field: FieldAPI;\n\n /**\n * sdk.locales\n */\n locales: LocalesAPI;\n}\n\ntype ListValue = string[];\n\nfunction isEmptyListValue(value: ListValue | null) {\n return value === null || value.length === 0;\n}\n\nexport function ListEditor(props: ListEditorProps) {\n const { field, locales } = props;\n\n const direction = locales.direction[field.locale] || 'ltr';\n\n return (\n <FieldConnector<ListValue>\n throttle={0}\n isEmptyValue={isEmptyListValue}\n field={field}\n isInitiallyDisabled={props.isInitiallyDisabled}>\n {(childProps) => (\n <ListEditorInternal {...childProps} direction={direction} isRequired={field.required} />\n )}\n </FieldConnector>\n );\n}\n\nfunction ListEditorInternal({\n setValue,\n value,\n errors,\n disabled,\n direction,\n isRequired,\n}: FieldConnectorChildProps<ListValue> & { direction: 'rtl' | 'ltr'; isRequired: boolean }) {\n const [valueState, setValueState] = React.useState(() => (value || []).join(', '));\n\n const onChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const valueAsArray = e.target.value\n .split(',')\n .map((item) => item.trim())\n .filter((item) => item);\n const changed = !isEqual(valueAsArray, value);\n setValue(valueAsArray);\n\n const valueAsString = valueAsArray.join(', ');\n setValueState(changed ? valueAsString : e.target.value);\n };\n\n return (\n <TextInput\n testId=\"list-editor-input\"\n className={direction === 'rtl' ? styles.rightToLeft : ''}\n isRequired={isRequired}\n isInvalid={errors.length > 0}\n isDisabled={disabled}\n value={valueState}\n onChange={onChange}\n />\n );\n}\n\nListEditor.defaultProps = {\n isInitiallyDisabled: true,\n};\n"],"names":["rightToLeft","css","direction","isEmptyListValue","value","length","ListEditor","props","field","locales","locale","React","FieldConnector","throttle","isEmptyValue","isInitiallyDisabled","childProps","ListEditorInternal","isRequired","required","setValue","errors","disabled","join","valueState","setValueState","onChange","e","valueAsArray","target","split","map","item","trim","filter","changed","isEqual","valueAsString","TextInput","testId","className","styles","isInvalid","isDisabled","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAEO,IAAMA,WAAW,gBAAGC,GAAG,CAAC;AAC7BC,EAAAA,SAAS,EAAE;AADkB,CAAD,CAAvB;;ACyBP,SAASC,gBAAT,CAA0BC,KAA1B;AACE,SAAOA,KAAK,KAAK,IAAV,IAAkBA,KAAK,CAACC,MAAN,KAAiB,CAA1C;AACD;;AAED,SAAgBC,WAAWC;AACzB,MAAQC,KAAR,GAA2BD,KAA3B,CAAQC,KAAR;AAAA,MAAeC,OAAf,GAA2BF,KAA3B,CAAeE,OAAf;AAEA,MAAMP,SAAS,GAAGO,OAAO,CAACP,SAAR,CAAkBM,KAAK,CAACE,MAAxB,KAAmC,KAArD;AAEA,SACEC,aAAA,CAACC,cAAD;AACEC,IAAAA,QAAQ,EAAE;AACVC,IAAAA,YAAY,EAAEX;AACdK,IAAAA,KAAK,EAAEA;AACPO,IAAAA,mBAAmB,EAAER,KAAK,CAACQ;GAJ7B,EAKG,UAACC,UAAD;AAAA,WACCL,aAAA,CAACM,kBAAD,eAAwBD,UAAxB;AAAoCd,MAAAA,SAAS,EAAEA,SAA/C;AAA0DgB,MAAAA,UAAU,EAAEV,KAAK,CAACW;AAA5E,OADD;AAAA,GALH,CADF;AAWD;;AAED,SAASF,kBAAT;MACEG,gBAAAA;MACAhB,aAAAA;MACAiB,cAAAA;MACAC,gBAAAA;MACApB,iBAAAA;MACAgB,kBAAAA;;AAEA,wBAAoCP,QAAA,CAAe;AAAA,WAAM,CAACP,KAAK,IAAI,EAAV,EAAcmB,IAAd,CAAmB,IAAnB,CAAN;AAAA,GAAf,CAApC;AAAA,MAAOC,UAAP;AAAA,MAAmBC,aAAnB;;AAEA,MAAMC,QAAQ,GAAG,SAAXA,QAAW,CAACC,CAAD;AACf,QAAMC,YAAY,GAAGD,CAAC,CAACE,MAAF,CAASzB,KAAT,CAClB0B,KADkB,CACZ,GADY,EAElBC,GAFkB,CAEd,UAACC,IAAD;AAAA,aAAUA,IAAI,CAACC,IAAL,EAAV;AAAA,KAFc,EAGlBC,MAHkB,CAGX,UAACF,IAAD;AAAA,aAAUA,IAAV;AAAA,KAHW,CAArB;AAIA,QAAMG,OAAO,GAAG,CAACC,OAAO,CAACR,YAAD,EAAexB,KAAf,CAAxB;AACAgB,IAAAA,QAAQ,CAACQ,YAAD,CAAR;AAEA,QAAMS,aAAa,GAAGT,YAAY,CAACL,IAAb,CAAkB,IAAlB,CAAtB;AACAE,IAAAA,aAAa,CAACU,OAAO,GAAGE,aAAH,GAAmBV,CAAC,CAACE,MAAF,CAASzB,KAApC,CAAb;AACD,GAVD;;AAYA,SACEO,aAAA,CAAC2B,SAAD;AACEC,IAAAA,MAAM,EAAC;AACPC,IAAAA,SAAS,EAAEtC,SAAS,KAAK,KAAd,GAAsBuC,WAAtB,GAA2C;AACtDvB,IAAAA,UAAU,EAAEA;AACZwB,IAAAA,SAAS,EAAErB,MAAM,CAAChB,MAAP,GAAgB;AAC3BsC,IAAAA,UAAU,EAAErB;AACZlB,IAAAA,KAAK,EAAEoB;AACPE,IAAAA,QAAQ,EAAEA;GAPZ,CADF;AAWD;;AAEDpB,UAAU,CAACsC,YAAX,GAA0B;AACxB7B,EAAAA,mBAAmB,EAAE;AADG,CAA1B;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contentful/field-editor-list",
3
- "version": "1.1.5",
3
+ "version": "1.1.7",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/field-editor-list.esm.js",
6
6
  "typings": "dist/index.d.ts",
@@ -23,13 +23,13 @@
23
23
  "dependencies": {
24
24
  "@contentful/f36-components": "^4.0.27",
25
25
  "@contentful/f36-tokens": "^4.0.0",
26
- "@contentful/field-editor-shared": "^1.1.3",
26
+ "@contentful/field-editor-shared": "^1.1.4",
27
27
  "emotion": "^10.0.17",
28
28
  "lodash": "^4.17.15",
29
29
  "lodash-es": "^4.17.15"
30
30
  },
31
31
  "devDependencies": {
32
- "@contentful/field-editor-test-utils": "^1.2.1"
32
+ "@contentful/field-editor-test-utils": "^1.2.3"
33
33
  },
34
34
  "peerDependencies": {
35
35
  "react": ">=16.8.0"
@@ -44,5 +44,5 @@
44
44
  }
45
45
  }
46
46
  },
47
- "gitHead": "1752c57ed3ec458963547426e137091e58c0d44a"
47
+ "gitHead": "6a478978e6c65ff918a34b07b78652ab8d1e1e55"
48
48
  }