contentful-ui-extensions-sdk 4.2.0 → 4.3.2

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/README.md CHANGED
@@ -73,4 +73,4 @@ Includes utility tools for maintainers.
73
73
 
74
74
  #### `test`
75
75
 
76
- Includes integration tests (run by [Cypress](https://www.cypress.io/)) and unit tests (run by [mocha](https://mochajs.org/))
76
+ Includes unit tests (run by [mocha](https://mochajs.org/))
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).contentfulExtension={})}(this,(function(e){"use strict";var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,n)};var n,r=function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};var o=function(){function e(){this._id=0,this._listeners={}}return e.prototype.dispatch=function(){for(var e,t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];for(var r in this._listeners)(e=this._listeners)[r].apply(e,t)},e.prototype.attach=function(e){var t=this;if("function"!=typeof e)throw new Error("listener function expected");var n=this._id++;return this._listeners[n]=e,function(){return delete t._listeners[n]}},e}(),i="__private__memoized__arguments__",a=function(e){function r(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];var o=e.call(this)||this;if(o[n]=[],!t.length)throw new Error("Initial value to be memoized expected");return o[i]=t,o}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}(r,e),r.prototype.dispatch=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];this[i]=t,e.prototype.dispatch.apply(this,t)},r.prototype.attach=function(t){var n=e.prototype.attach.call(this,t);return t.apply(void 0,this[i]),n},r}(o);n=i;var s=function(){function e(e,t){var n=this;this._messageHandlers={},this._responseHandlers={},this._send=function(e,t){var n=0;return function(r,o){var i=n++;try{t.postMessage({source:e,id:i,method:r,params:o},"*")}catch(e){throw e instanceof DOMException&&"DataCloneError"===e.name&&"openDialog"===r&&console.error("Error: openCurrent[App] parameters could not be parsed. You likely tried to pass functions or DOM elements as a parameter. Tip: Use the App SDK directly within the dialog location.\n\nLearn more about the dialog location: https://ctfl.io/app-sdk-dialog"),e}return i}}(e,t.parent),t.addEventListener("message",(function(e){n._handleMessage(e.data)}))}return e.prototype.call=function(e){for(var t=this,n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];var o=this._send(e,n);return new Promise((function(e,n){t._responseHandlers[o]={resolve:e,reject:n}}))},e.prototype.send=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];this._send(e,t)},e.prototype.addHandler=function(e,t){return e in this._messageHandlers||(this._messageHandlers[e]=new o),this._messageHandlers[e].attach(t)},e.prototype._handleMessage=function(e){if(e.method){var t=e.method,n=e.params,r=this._messageHandlers[t];r&&r.dispatch.apply(r,n)}else{var o=e.id,i=this._responseHandlers[o];if(!i)return;"result"in e?i.resolve(e.result):"error"in e&&i.reject(e.error),delete this._responseHandlers[o]}},e}();var l=function(){function e(e,t){var n=this;this.id=t.id,this.locale=t.locale,this.type=t.type,this.required=t.required,this.validations=t.validations,this.items=t.items,this._value=t.value,this._valueSignal=new a(this._value),this._isDisabledSignal=new a(void 0),this._schemaErrorsChangedSignal=new a(void 0),this._channel=e,e.addHandler("valueChanged",(function(e,t,r){e!==n.id||t&&t!==n.locale||(n._value=r,n._valueSignal.dispatch(r))})),e.addHandler("isDisabledChangedForFieldLocale",(function(e,t,r){e===n.id&&t===n.locale&&n._isDisabledSignal.dispatch(r)})),e.addHandler("schemaErrorsChangedForFieldLocale",(function(e,t,r){e===n.id&&t===n.locale&&n._schemaErrorsChangedSignal.dispatch(r)}))}return e.prototype.getValue=function(){return this._value},e.prototype.setValue=function(e){return this._value=e,this._valueSignal.dispatch(e),this._channel.call("setValue",this.id,this.locale,e)},e.prototype.removeValue=function(){return this._value=void 0,this._channel.call("removeValue",this.id,this.locale)},e.prototype.setInvalid=function(e){return this._channel.call("setInvalid",e,this.locale)},e.prototype.onValueChanged=function(e){return this._valueSignal.attach(e)},e.prototype.onIsDisabledChanged=function(e){return this._isDisabledSignal.attach(e)},e.prototype.onSchemaErrorsChanged=function(e){return this._schemaErrorsChangedSignal.attach(e)},e}(),u=function(){function e(e,t,n){this.id=t.id,this.locales=t.locales,this.type=t.type,this.required=t.required,this.validations=t.validations,this.items=t.items,this._defaultLocale=n,this._fieldLocales=t.locales.reduce((function(n,o){var i,a=new l(e,{id:t.id,type:t.type,required:t.required,validations:t.validations,items:t.items,locale:o,value:t.values[o]});return r(r({},n),((i={})[o]=a,i))}),{}),this.assertHasLocale(n)}return e.prototype.getValue=function(e){return this._getFieldLocale(e).getValue()},e.prototype.setValue=function(e,t){return this._getFieldLocale(t).setValue(e)},e.prototype.removeValue=function(e){return this.setValue(void 0,e)},e.prototype.onValueChanged=function(e,t){var n=t||e;return t||(e=""),this._getFieldLocale(e).onValueChanged(n)},e.prototype.onIsDisabledChanged=function(e,t){var n=t||e;return t||(e=""),this._getFieldLocale(e).onIsDisabledChanged(n)},e.prototype._getFieldLocale=function(e){return e=e||this._defaultLocale,this.assertHasLocale(e),this._fieldLocales[e]},e.prototype.getForLocale=function(e){if(!e)throw new Error("getForLocale must be passed a locale");return this._getFieldLocale(e)},e.prototype.assertHasLocale=function(e){if(!this._fieldLocales[e])throw new Error('Unknown locale "'+e+'" for field "'+this.id+'"')},e}();function c(e,t){var n,r=e,o=r.document,i=r.MutationObserver,a=function(){u.updateHeight()},s=new i(a),l=!1,u={startAutoResizer:function(){if(u.updateHeight(),l)return;l=!0,s.observe(o.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0}),e.addEventListener("resize",a)},stopAutoResizer:function(){if(!l)return;l=!1,s.disconnect(),e.removeEventListener("resize",a)},updateHeight:function(e){void 0===e&&(e=null);null===e&&(e=Math.ceil(o.documentElement.getBoundingClientRect().height));e!==n&&(t.send("setHeight",e),n=e)}};return u}var d=["getTask","getTasks","createTask","updateTask","deleteTask"];function p(e,t,n,o){var i=t.sys,s=new a(i),l=t.metadata,u=new a(l);e.addHandler("sysChanged",(function(e){i=e,s.dispatch(i)})),e.addHandler("metadataChanged",(function(e){l=e,u.dispatch(l)}));var c={};return d.forEach((function(t){c[t]=function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return e.call("callEntryMethod",t,n)}})),r(r(r({getSys:function(){return i},onSysChanged:function(e){return s.attach(e)},fields:n.reduce((function(e,t){return e[t.id]=o(t),e}),{})},l?{metadata:l}:{}),{getMetadata:function(){return l},onMetadataChanged:function(e){return u.attach(e)}}),c)}var f=["getContentType","getEntry","getEntrySnapshots","getAsset","getEditorInterface","getPublishedEntries","getPublishedAssets","getContentTypes","getEntries","getEditorInterfaces","getAssets","createContentType","createEntry","createAsset","updateContentType","updateEntry","updateAsset","deleteContentType","deleteEntry","deleteAsset","publishEntry","publishAsset","unpublishEntry","unpublishAsset","archiveEntry","archiveAsset","unarchiveEntry","unarchiveAsset","createUpload","processAsset","waitUntilAssetProcessed","getUsers","getAllScheduledActions","getEntityScheduledActions","signRequest","createTag","readTags","updateTag","deleteTag","getTeams"];function h(e,t){var n={};return f.forEach((function(t){n[t]=function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return console.warn("You called "+String(t)+" on the Space API. Since version 4.0.0 the Space API and its methods are deprecated. We recommend that you use the CMA client instead. See https://www.contentful.com/developers/docs/extensibility/app-framework/sdk/#using-the-contentful-management-library for more details."),e.call("callSpaceMethod",t,n)}})),n.getCachedContentTypes=function(){return function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e}([],t)},n}var g=function(e){return"object"!=typeof(t=e)||null===t||Array.isArray(t)?{}:e;var t};function v(e,t){return{openAlert:n.bind(null,"alert"),openConfirm:n.bind(null,"confirm"),openPrompt:n.bind(null,"prompt"),openExtension:o,openCurrentApp:i,openCurrent:function(e){return t.app?i(e):o(r(r({},e),{id:t.extension}))},selectSingleEntry:a.bind(null,"Entry",!1),selectSingleAsset:a.bind(null,"Asset",!1),selectMultipleEntries:a.bind(null,"Entry",!0),selectMultipleAssets:a.bind(null,"Asset",!0)};function n(t,n){return e.call("openDialog",t,g(n))}function o(n){var o=g(n);if((o=r(r({},o),{id:o.id||t.extension})).id)return e.call("openDialog","extension",o);throw new Error("Extension ID not provided.")}function i(n){if(n=g(n),t.app){var o=r(r({},n),{id:t.app});return e.call("openDialog","app",o)}throw new Error("Not in the app context.")}function a(t,n,r){return(r=g(r)).entityType=t,r.multiple=n,e.call("openDialog","entitySelector",r)}}function y(e,t){var n=new a(void 0),r=new a(void 0);return e.addHandler("localeSettingsChanged",(function(e){n.dispatch(e)})),e.addHandler("showDisabledFieldsChanged",(function(e){r.dispatch(e)})),{editorInterface:t,onLocaleSettingsChanged:function(e){return n.attach(e)},onShowDisabledFieldsChanged:function(e){return r.attach(e)}}}function _(e,t){var n=new o;return e.addHandler("navigateSlideIn",(function(e){n.dispatch(e)})),{openEntry:function(t,n){return e.call("navigateToContentEntity",r(r({},n),{entityType:"Entry",id:t}))},openNewEntry:function(t,n){return e.call("navigateToContentEntity",r(r({},n),{entityType:"Entry",id:null,contentTypeId:t}))},openBulkEditor:function(t,n){return e.call("navigateToBulkEditor",r({entryId:t},n))},openAsset:function(t,n){return e.call("navigateToContentEntity",r(r({},n),{entityType:"Asset",id:t}))},openNewAsset:function(t){return e.call("navigateToContentEntity",r(r({},t),{entityType:"Asset",id:null}))},openPageExtension:function(n){return e.call("navigateToPage",r({type:"extension",id:t.extension},n))},openCurrentAppPage:function(n){return e.call("navigateToPage",r({type:"app",id:t.app},n))},openAppConfig:function(){return e.call("navigateToAppConfig")},openEntriesList:function(){return e.call("navigateToSpaceEnvRoute",{route:"entries"})},openAssetsList:function(){return e.call("navigateToSpaceEnvRoute",{route:"assets"})},onSlideInNavigation:function(e){return n.attach(e)}}}var m="preInstall",E="postInstall",A=function(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)},C=function(e){return"function"==typeof e},T=function(e){return console.error(e),Promise.resolve(!1)},w=function(e,t,n){if(!C(e))return Promise.resolve(t);var r;try{r=void 0===n?e():e(n)}catch(e){return T(e)}var o,i=r;return A(o=i)&&C(o.then)||(i=Promise.resolve(i)),i.then((function(e){return e instanceof Error?Promise.reject(e):!1!==e&&(A(e)?e:t)}),T).catch(T)};function I(e){var t,n=((t={}).preInstall=null,t.postInstall=null,t),r=function(e,t){if(!C(t))throw new Error("Handler must be a function.");n[e]=t};return e.addHandler("appHook",(function(t){var r=t.stage,o=t.installationRequestId,i=t.err;return r===m?w(n[r],{}).then((function(t){return e.send("appHookResult",{stage:r,installationRequestId:o,result:t})})):r===E?w(n[r],void 0,i||null).then((function(){return e.send("appHookResult",{stage:r,installationRequestId:o})})):Promise.resolve()})),{setReady:function(){return e.call("callAppMethod","setReady")},isInstalled:function(){return e.call("callAppMethod","isInstalled")},getParameters:function(){return e.call("callAppMethod","getParameters")},getCurrentState:function(){return e.call("callAppMethod","getCurrentState")},onConfigure:function(e){r(m,e)},onConfigurationCompleted:function(e){r(E,e)}}}var b,L={LOCATION_ENTRY_FIELD:"entry-field",LOCATION_ENTRY_FIELD_SIDEBAR:"entry-field-sidebar",LOCATION_ENTRY_SIDEBAR:"entry-sidebar",LOCATION_DIALOG:"dialog",LOCATION_ENTRY_EDITOR:"entry-editor",LOCATION_PAGE:"page",LOCATION_APP_CONFIG:"app-config"},O=function(e){return function(t){return e.call("CMAAdapterCall",t)}};function S(e){return{makeRequest:O(e)}}var D=[N,k,function(e,t){var n=t.field;if(!n)throw new Error('FieldAPI called for location without "field" property defined.');return{field:new l(e,n)}},R,P],H=((b={})[L.LOCATION_ENTRY_FIELD]=D,b[L.LOCATION_ENTRY_FIELD_SIDEBAR]=D,b[L.LOCATION_ENTRY_SIDEBAR]=[N,k,R,P],b[L.LOCATION_ENTRY_EDITOR]=[N,k,R],b[L.LOCATION_DIALOG]=[N,function(e){return{close:function(t){return e.send("closeDialog",t)}}},P],b[L.LOCATION_PAGE]=[N],b[L.LOCATION_APP_CONFIG]=[N,function(e){return{app:I(e)}}],b);function N(e,t){var n=t.user,r=t.parameters,o=t.locales,i=t.ids,a=t.initialContentTypes,s=t.location||L.LOCATION_ENTRY_FIELD;return{cmaAdapter:S(e),location:{is:function(e){return s===e}},user:n,parameters:r,locales:{available:o.available,default:o.default,names:o.names,fallbacks:o.fallbacks,optional:o.optional,direction:o.direction},space:h(e,a),dialogs:v(e,i),navigator:_(e,i),notifier:{success:function(t){return e.send("notify",{type:"success",message:t})},error:function(t){return e.send("notify",{type:"error",message:t})}},ids:i,access:{can:function(t,n,r){return e.call("checkAccess",t,n,r)},canEditAppConfig:function(){return e.call("checkAppConfigAccess")}}}}function P(e,t,n){return{window:c(n,e)}}function R(e,t){return{editor:y(e,t.editorInterface)}}function k(e,t){var n=t.locales,r=t.contentType,o=t.entry,i=t.fieldInfo;return{contentType:r,entry:p(e,o,i,(function(t){return new u(e,t,n.default)}))}}var x,F,M,V,j=(x=window,F=function(e,t,n){return(H[t.location]||D).reduce((function(o,i){return r(r({},o),i(e,t,n))}),{})},(M={promise:null,resolve:null}).promise=new Promise((function(e){M.resolve=e})),(V=M).promise.then((function(e){var t=e[0],n=x.document;n.addEventListener("focus",(function(){return t.send("setActive",!0)}),!0),n.addEventListener("blur",(function(){return t.send("setActive",!1)}),!0)})),function(e,t){!function(e,t){function n(r){var o=r.data;"connect"===o.method&&(e.removeEventListener("message",n),t.apply(void 0,o.params))}e.addEventListener("message",n)}(e,(function(n,r){var o=new s(n.id,e);t(o,n,r)}))}(x,(function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return V.resolve(e)})),function(e,t){var n=void 0===t?{supressIframeWarning:!1}:t,r=n.makeCustomApi;n.supressIframeWarning||x.self!==x.top||console.error("Cannot use ui-extension-sdk outside of Contenful:\n\nIn order for the ui-extension-sdk to function correctly, your app needs to be run in an iframe in the Contentful Web App.\n\nLearn more about local development with the ui-extension-sdk here:\n https://www.contentful.com/developers/docs/extensibility/ui-extensions/faq/#how-can-i-use-the-ui-extension-sdk-locally"),V.promise.then((function(t){var n,o=t[0],i=t[1],a=t[2],s=F(o,i,x);"function"==typeof r&&(n=r(o,i)),a.forEach((function(e){o._handleMessage(e)})),e(s,n)}))});e.init=j,e.locations=L,Object.defineProperty(e,"__esModule",{value:!0})})),window.contentfulApp=window.contentfulExtension;
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).contentfulExtension={})}(this,(function(e){"use strict";var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,n)};var n,r=function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};var o=function(){function e(){this._id=0,this._listeners={}}return e.prototype.dispatch=function(){for(var e,t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];for(var r in this._listeners)(e=this._listeners)[r].apply(e,t)},e.prototype.attach=function(e){var t=this;if("function"!=typeof e)throw new Error("listener function expected");var n=this._id++;return this._listeners[n]=e,function(){return delete t._listeners[n]}},e}(),i="__private__memoized__arguments__",a=function(e){function r(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];var o=e.call(this)||this;if(o[n]=[],!t.length)throw new Error("Initial value to be memoized expected");return o[i]=t,o}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}(r,e),r.prototype.dispatch=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];this[i]=t,e.prototype.dispatch.apply(this,t)},r.prototype.attach=function(t){var n=e.prototype.attach.call(this,t);return t.apply(void 0,this[i]),n},r}(o);n=i;var s=function(){function e(e,t){var n=this;this._messageHandlers={},this._responseHandlers={},this._send=function(e,t){var n=0;return function(r,o){var i=n++;try{t.postMessage({source:e,id:i,method:r,params:o},"*")}catch(e){throw e instanceof DOMException&&"DataCloneError"===e.name&&"openDialog"===r&&console.error("Error: openCurrent[App] parameters could not be parsed. You likely tried to pass functions or DOM elements as a parameter. Tip: Use the App SDK directly within the dialog location.\n\nLearn more about the dialog location: https://ctfl.io/app-sdk-dialog"),e}return i}}(e,t.parent),t.addEventListener("message",(function(e){n._handleMessage(e.data)}))}return e.prototype.call=function(e){for(var t=this,n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];var o=this._send(e,n);return new Promise((function(e,n){t._responseHandlers[o]={resolve:e,reject:n}}))},e.prototype.send=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];this._send(e,t)},e.prototype.addHandler=function(e,t){return e in this._messageHandlers||(this._messageHandlers[e]=new o),this._messageHandlers[e].attach(t)},e.prototype._handleMessage=function(e){if(e.method){var t=e.method,n=e.params,r=this._messageHandlers[t];r&&r.dispatch.apply(r,n)}else{var o=e.id,i=this._responseHandlers[o];if(!i)return;"result"in e?i.resolve(e.result):"error"in e&&i.reject(e.error),delete this._responseHandlers[o]}},e}();var l=function(){function e(e,t){var n=this;this.id=t.id,this.locale=t.locale,this.type=t.type,this.required=t.required,this.validations=t.validations,this.items=t.items,this._value=t.value,this._valueSignal=new a(this._value),this._isDisabledSignal=new a(void 0),this._schemaErrorsChangedSignal=new a(void 0),this._channel=e,e.addHandler("valueChanged",(function(e,t,r){e!==n.id||t&&t!==n.locale||(n._value=r,n._valueSignal.dispatch(r))})),e.addHandler("isDisabledChangedForFieldLocale",(function(e,t,r){e===n.id&&t===n.locale&&n._isDisabledSignal.dispatch(r)})),e.addHandler("schemaErrorsChangedForFieldLocale",(function(e,t,r){e===n.id&&t===n.locale&&n._schemaErrorsChangedSignal.dispatch(r)}))}return e.prototype.getValue=function(){return this._value},e.prototype.setValue=function(e){return this._value=e,this._valueSignal.dispatch(e),this._channel.call("setValue",this.id,this.locale,e)},e.prototype.removeValue=function(){return this._value=void 0,this._channel.call("removeValue",this.id,this.locale)},e.prototype.setInvalid=function(e){return this._channel.call("setInvalid",e,this.locale)},e.prototype.onValueChanged=function(e){return this._valueSignal.attach(e)},e.prototype.onIsDisabledChanged=function(e){return this._isDisabledSignal.attach(e)},e.prototype.onSchemaErrorsChanged=function(e){return this._schemaErrorsChangedSignal.attach(e)},e}(),u=function(){function e(e,t,n){this.id=t.id,this.locales=t.locales,this.type=t.type,this.required=t.required,this.validations=t.validations,this.items=t.items,this._defaultLocale=n,this._fieldLocales=t.locales.reduce((function(n,o){var i,a=new l(e,{id:t.id,type:t.type,required:t.required,validations:t.validations,items:t.items,locale:o,value:t.values[o]});return r(r({},n),((i={})[o]=a,i))}),{}),this.assertHasLocale(n)}return e.prototype.getValue=function(e){return this._getFieldLocale(e).getValue()},e.prototype.setValue=function(e,t){return this._getFieldLocale(t).setValue(e)},e.prototype.removeValue=function(e){return this.setValue(void 0,e)},e.prototype.onValueChanged=function(e,t){var n=t||e;return t||(e=""),this._getFieldLocale(e).onValueChanged(n)},e.prototype.onIsDisabledChanged=function(e,t){var n=t||e;return t||(e=""),this._getFieldLocale(e).onIsDisabledChanged(n)},e.prototype._getFieldLocale=function(e){return e=e||this._defaultLocale,this.assertHasLocale(e),this._fieldLocales[e]},e.prototype.getForLocale=function(e){if(!e)throw new Error("getForLocale must be passed a locale");return this._getFieldLocale(e)},e.prototype.assertHasLocale=function(e){if(!this._fieldLocales[e])throw new Error('Unknown locale "'.concat(e,'" for field "').concat(this.id,'"'))},e}();function c(e,t){var n,r=e,o=r.document,i=r.MutationObserver,a=function(){u.updateHeight()},s=new i(a),l=!1,u={startAutoResizer:function(){if(u.updateHeight(),l)return;l=!0,s.observe(o.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0}),e.addEventListener("resize",a)},stopAutoResizer:function(){if(!l)return;l=!1,s.disconnect(),e.removeEventListener("resize",a)},updateHeight:function(e){void 0===e&&(e=null);null===e&&(e=Math.ceil(o.documentElement.getBoundingClientRect().height));e!==n&&(t.send("setHeight",e),n=e)}};return u}var d=["getTask","getTasks","createTask","updateTask","deleteTask"];function p(e,t,n,o){var i=t.sys,s=new a(i),l=t.metadata,u=new a(l);e.addHandler("sysChanged",(function(e){i=e,s.dispatch(i)})),e.addHandler("metadataChanged",(function(e){l=e,u.dispatch(l)}));var c={};return d.forEach((function(t){c[t]=function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return e.call("callEntryMethod",t,n)}})),r(r(r({getSys:function(){return i},publish:function(){return e.call("callEntryMethod","publish")},unpublish:function(){return e.call("callEntryMethod","unpublish")},save:function(){return e.call("callEntryMethod","save")},onSysChanged:function(e){return s.attach(e)},fields:n.reduce((function(e,t){return e[t.id]=o(t),e}),{})},l?{metadata:l}:{}),{getMetadata:function(){return l},onMetadataChanged:function(e){return u.attach(e)}}),c)}var f=["getContentType","getEntry","getEntrySnapshots","getAsset","getEditorInterface","getPublishedEntries","getPublishedAssets","getContentTypes","getEntries","getEditorInterfaces","getAssets","createContentType","createEntry","createAsset","updateContentType","updateEntry","updateAsset","deleteContentType","deleteEntry","deleteAsset","publishEntry","publishAsset","unpublishEntry","unpublishAsset","archiveEntry","archiveAsset","unarchiveEntry","unarchiveAsset","createUpload","processAsset","waitUntilAssetProcessed","getUsers","getAllScheduledActions","getEntityScheduledActions","signRequest","createTag","readTags","updateTag","deleteTag","getTeams"];function h(e,t){var n={};return f.forEach((function(t){n[t]=function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return console.warn("You called ".concat(String(t)," on the Space API. Since version 4.0.0 the Space API and its methods are deprecated. We recommend that you use the CMA client instead. See https://www.contentful.com/developers/docs/extensibility/app-framework/sdk/#using-the-contentful-management-library for more details.")),e.call("callSpaceMethod",t,n)}})),n.getCachedContentTypes=function(){return function(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}([],t,!0)},n}var g=function(e){return"object"!=typeof(t=e)||null===t||Array.isArray(t)?{}:e;var t};function v(e,t){return{openAlert:n.bind(null,"alert"),openConfirm:n.bind(null,"confirm"),openPrompt:n.bind(null,"prompt"),openExtension:o,openCurrentApp:i,openCurrent:function(e){return t.app?i(e):o(r(r({},e),{id:t.extension}))},selectSingleEntry:a.bind(null,"Entry",!1),selectSingleAsset:a.bind(null,"Asset",!1),selectMultipleEntries:a.bind(null,"Entry",!0),selectMultipleAssets:a.bind(null,"Asset",!0)};function n(t,n){return e.call("openDialog",t,g(n))}function o(n){var o=g(n);if((o=r(r({},o),{id:o.id||t.extension})).id)return e.call("openDialog","extension",o);throw new Error("Extension ID not provided.")}function i(n){if(n=g(n),t.app){var o=r(r({},n),{id:t.app});return e.call("openDialog","app",o)}throw new Error("Not in the app context.")}function a(t,n,r){return(r=g(r)).entityType=t,r.multiple=n,e.call("openDialog","entitySelector",r)}}function y(e,t){var n=new a(void 0),r=new a(void 0);return e.addHandler("localeSettingsChanged",(function(e){n.dispatch(e)})),e.addHandler("showDisabledFieldsChanged",(function(e){r.dispatch(e)})),{editorInterface:t,onLocaleSettingsChanged:function(e){return n.attach(e)},onShowDisabledFieldsChanged:function(e){return r.attach(e)}}}function _(e,t){var n=new o;return e.addHandler("navigateSlideIn",(function(e){n.dispatch(e)})),{openEntry:function(t,n){return e.call("navigateToContentEntity",r(r({},n),{entityType:"Entry",id:t}))},openNewEntry:function(t,n){return e.call("navigateToContentEntity",r(r({},n),{entityType:"Entry",id:null,contentTypeId:t}))},openBulkEditor:function(t,n){return e.call("navigateToBulkEditor",r({entryId:t},n))},openAsset:function(t,n){return e.call("navigateToContentEntity",r(r({},n),{entityType:"Asset",id:t}))},openNewAsset:function(t){return e.call("navigateToContentEntity",r(r({},t),{entityType:"Asset",id:null}))},openPageExtension:function(n){return e.call("navigateToPage",r({type:"extension",id:t.extension},n))},openCurrentAppPage:function(n){return e.call("navigateToPage",r({type:"app",id:t.app},n))},openAppConfig:function(){return e.call("navigateToAppConfig")},openEntriesList:function(){return e.call("navigateToSpaceEnvRoute",{route:"entries"})},openAssetsList:function(){return e.call("navigateToSpaceEnvRoute",{route:"assets"})},onSlideInNavigation:function(e){return n.attach(e)}}}var m="preInstall",E="postInstall",A=function(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)},C=function(e){return"function"==typeof e},T=function(e){return console.error(e),Promise.resolve(!1)},w=function(e,t,n){if(!C(e))return Promise.resolve(t);var r;try{r=void 0===n?e():e(n)}catch(e){return T(e)}var o,i=r;return A(o=i)&&C(o.then)||(i=Promise.resolve(i)),i.then((function(e){return e instanceof Error?Promise.reject(e):!1!==e&&(A(e)?e:t)}),T).catch(T)};function I(e){var t,n=((t={}).preInstall=null,t.postInstall=null,t),r=function(e,t){if(!C(t))throw new Error("Handler must be a function.");n[e]=t};return e.addHandler("appHook",(function(t){var r=t.stage,o=t.installationRequestId,i=t.err;return r===m?w(n[r],{}).then((function(t){return e.send("appHookResult",{stage:r,installationRequestId:o,result:t})})):r===E?w(n[r],void 0,i||null).then((function(){return e.send("appHookResult",{stage:r,installationRequestId:o})})):Promise.resolve()})),{setReady:function(){return e.call("callAppMethod","setReady")},isInstalled:function(){return e.call("callAppMethod","isInstalled")},getParameters:function(){return e.call("callAppMethod","getParameters")},getCurrentState:function(){return e.call("callAppMethod","getCurrentState")},onConfigure:function(e){r(m,e)},onConfigurationCompleted:function(e){r(E,e)}}}var b,L={LOCATION_ENTRY_FIELD:"entry-field",LOCATION_ENTRY_FIELD_SIDEBAR:"entry-field-sidebar",LOCATION_ENTRY_SIDEBAR:"entry-sidebar",LOCATION_DIALOG:"dialog",LOCATION_ENTRY_EDITOR:"entry-editor",LOCATION_PAGE:"page",LOCATION_APP_CONFIG:"app-config"},O=function(e){return function(t){return e.call("CMAAdapterCall",t)}};function S(e){return{makeRequest:O(e)}}var D=[N,k,function(e,t){var n=t.field;if(!n)throw new Error('FieldAPI called for location without "field" property defined.');return{field:new l(e,n)}},R,P],H=((b={})[L.LOCATION_ENTRY_FIELD]=D,b[L.LOCATION_ENTRY_FIELD_SIDEBAR]=D,b[L.LOCATION_ENTRY_SIDEBAR]=[N,k,R,P],b[L.LOCATION_ENTRY_EDITOR]=[N,k,R],b[L.LOCATION_DIALOG]=[N,function(e){return{close:function(t){return e.send("closeDialog",t)}}},P],b[L.LOCATION_PAGE]=[N],b[L.LOCATION_APP_CONFIG]=[N,function(e){return{app:I(e)}}],b);function N(e,t){var n=t.user,r=t.parameters,o=t.locales,i=t.ids,a=t.initialContentTypes,s=t.location||L.LOCATION_ENTRY_FIELD;return{cmaAdapter:S(e),location:{is:function(e){return s===e}},user:n,parameters:r,locales:{available:o.available,default:o.default,names:o.names,fallbacks:o.fallbacks,optional:o.optional,direction:o.direction},space:h(e,a),dialogs:v(e,i),navigator:_(e,i),notifier:{success:function(t){return e.send("notify",{type:"success",message:t})},error:function(t){return e.send("notify",{type:"error",message:t})}},ids:i,access:{can:function(t,n,r){return e.call("checkAccess",t,n,r)},canEditAppConfig:function(){return e.call("checkAppConfigAccess")}}}}function P(e,t,n){return{window:c(n,e)}}function R(e,t){return{editor:y(e,t.editorInterface)}}function k(e,t){var n=t.locales,r=t.contentType,o=t.entry,i=t.fieldInfo;return{contentType:r,entry:p(e,o,i,(function(t){return new u(e,t,n.default)}))}}var x,M,F,V,j,q=(x=window,M=function(e,t,n){return(H[t.location]||D).reduce((function(o,i){return r(r({},o),i(e,t,n))}),{})},(F={promise:null,resolve:null}).promise=new Promise((function(e){F.resolve=e})),(j=F).promise.then((function(e){var t=e[0],n=x.document;n.addEventListener("focus",(function(){return t.send("setActive",!0)}),!0),n.addEventListener("blur",(function(){return t.send("setActive",!1)}),!0)})),function(e,t){!function(e,t){function n(r){var o=r.data;"connect"===o.method&&(e.removeEventListener("message",n),t.apply(void 0,o.params))}e.addEventListener("message",n)}(e,(function(n,r){var o=new s(n.id,e);t(o,n,r)}))}(x,(function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return j.resolve(e)})),function(e,t){var n=void 0===t?{supressIframeWarning:!1}:t,r=n.makeCustomApi;n.supressIframeWarning||x.self!==x.top||console.error("Cannot use ui-extension-sdk outside of Contenful:\n\nIn order for the ui-extension-sdk to function correctly, your app needs to be run in an iframe in the Contentful Web App.\n\nLearn more about local development with the ui-extension-sdk here:\n https://www.contentful.com/developers/docs/extensibility/ui-extensions/faq/#how-can-i-use-the-ui-extension-sdk-locally"),V||(V=j.promise.then((function(e){var t,n=e[0],o=e[1],i=e[2],a=M(n,o,x);return"function"==typeof r&&(t=r(n,o)),i.forEach((function(e){n._handleMessage(e)})),[a,t]}))),V.then((function(t){var n=t[0],r=t[1];return e(n,r)}))});e.init=q,e.locations=L,Object.defineProperty(e,"__esModule",{value:!0})})),window.contentfulApp=window.contentfulExtension;
package/dist/channel.d.ts CHANGED
@@ -5,7 +5,7 @@ export declare class Channel {
5
5
  private _responseHandlers;
6
6
  private _send;
7
7
  constructor(sourceId: string, currentWindow: Window);
8
- call(method: string, ...params: any[]): Promise<unknown>;
8
+ call<T = unknown>(method: string, ...params: any[]): Promise<T>;
9
9
  send(method: string, ...params: any[]): void;
10
10
  addHandler(method: string, handler: Function): () => boolean;
11
11
  private _handleMessage;
@@ -1,4 +1,4 @@
1
- export type { TagProps as Tag, TeamProps as Team, UserProps as User, AssetProps as Asset, TaskProps as Task, ScheduledActionProps as ScheduledAction, ContentTypeProps as ContentType, EditorInterfaceProps as EditorInterface, SpaceMembershipProps as SpaceMembership, ContentFields as ContentTypeField, ContentTypeFieldValidation, EntryProps as Entry, RoleProps as Role, KeyValueMap, QueryOptions, TagVisibility, MetadataProps as Metadata, UploadProps as Upload, } from 'contentful-management/types';
1
+ export type { AssetProps as Asset, ContentFields as ContentTypeField, ContentTypeFieldValidation, ContentTypeProps as ContentType, EditorInterfaceProps as EditorInterface, EntryProps as Entry, KeyValueMap, MetadataProps as Metadata, QueryOptions, RoleProps as Role, ScheduledActionProps as ScheduledAction, SpaceMembershipProps as SpaceMembership, TagProps as Tag, TagVisibility, TaskProps as Task, TeamProps as Team, UploadProps as Upload, UserProps as User, } from 'contentful-management/types';
2
2
  export interface CanonicalRequest {
3
3
  method: 'GET' | 'PUT' | 'POST' | 'PATCH' | 'DELETE' | 'HEAD' | 'OPTIONS';
4
4
  path: string;
@@ -20,6 +20,12 @@ export interface TaskAPI {
20
20
  export interface EntryAPI extends TaskAPI {
21
21
  /** Returns sys for an entry. */
22
22
  getSys: () => ContentEntitySys;
23
+ /** Publish the entry */
24
+ publish: () => Promise<void>;
25
+ /** Unpublish the entry */
26
+ unpublish: () => Promise<void>;
27
+ /** Saves the current changes of the entry */
28
+ save: () => Promise<void>;
23
29
  /** Calls the callback with sys every time that sys changes. */
24
30
  onSysChanged: (callback: (sys: ContentEntitySys) => void) => () => void;
25
31
  /** Allows to control the values of all other fields in the current entry. */
@@ -1,7 +1,7 @@
1
1
  export type { AccessAPI, AppExtensionSDK, ArchiveableAction, BaseExtensionSDK, ConnectMessage, ContentTypeAPI, CrudAction, DialogExtensionSDK, EditorExtensionSDK, EditorLocaleSettings, FieldExtensionSDK, IdsAPI, KnownSDK, LocalesAPI, LocationAPI, Locations, NotifierAPI, PageExtensionSDK, ParametersAPI, PublishableAction, SharedEditorSDK, SidebarExtensionSDK, UserAPI, JSONPatchItem, } from './api.types';
2
2
  export type { AppConfigAPI, AppState, OnConfigureHandler, OnConfigureHandlerReturn, } from './app.types';
3
3
  export type { DialogsAPI, EntityDialogOptions, OpenAlertOptions, OpenConfirmOptions, OpenCustomWidgetOptions, } from './dialogs.types';
4
- export type { User, Asset, ContentType, CanonicalRequest, EditorInterface, ContentTypeField, ScheduledAction, SpaceMembership, Tag, TagVisibility, Task, Entry, Role, Metadata, } from './entities';
4
+ export type { Asset, CanonicalRequest, ContentType, ContentTypeField, EditorInterface, Entry, Metadata, Role, ScheduledAction, SpaceMembership, Tag, TagVisibility, Task, Team, User, } from './entities';
5
5
  export type { EntryAPI, TaskAPI, TaskInputData } from './entry.types';
6
6
  export type { FieldInfo, EntryFieldInfo, EntryFieldAPI } from './field.types';
7
7
  export type { FieldAPI } from './field-locale.types';
@@ -40,7 +40,7 @@ export interface LinkMimetypeGroupValidationError extends BaseValidationError {
40
40
  }
41
41
  export interface LinkContentTypeValidationError extends BaseValidationError {
42
42
  name: 'linkContentType';
43
- contentTypeId: string;
43
+ contentTypeId: string[];
44
44
  }
45
45
  export interface DateRangeValidationError extends BaseValidationError {
46
46
  name: 'dateRange';
package/package.json CHANGED
@@ -1,158 +1 @@
1
- {
2
- "name": "contentful-ui-extensions-sdk",
3
- "description": "SDK to develop custom UI Extension for the Contentful Web App",
4
- "version": "4.2.0",
5
- "author": "Contentful GmbH",
6
- "license": "MIT",
7
- "repository": {
8
- "url": "https://github.com/contentful/ui-extensions-sdk.git",
9
- "type": "git"
10
- },
11
- "homepage": "https://www.contentful.com/developers/docs/extensibility/app-framework/sdk/",
12
- "main": "dist/cf-extension-api.js",
13
- "types": "dist/index.d.ts",
14
- "files": [
15
- "dist/cf-extension-api.js",
16
- "dist/cf-extension-api.js.map",
17
- "dist/cf-extension.css",
18
- "dist/**/*.d.ts"
19
- ],
20
- "scripts": {
21
- "test": "ts-mocha -p tsconfig.test.json 'test/unit/*.[jt]s' --reporter mocha-multi-reporters --reporter-options configFile=mocha.unit-reporters.json",
22
- "lint": "eslint '{lib,test}/**/*.{t,j}s'",
23
- "lint:fix": "npm run lint -- --fix",
24
- "build": "npm run check-types && rollup -c --compact",
25
- "build:debug": "npm run build -- --sourcemap",
26
- "prepublishOnly": "npm run build",
27
- "size": "echo \"Gzipped, estimate: $(gzip -9 -c dist/cf-extension-api.js | wc -c) bytes\"",
28
- "integration": "ts-node -P tsconfig.test.json test/integration",
29
- "integration:local": "ts-node -P tsconfig.test.json test/integration/local",
30
- "cypress:open": "cypress open",
31
- "cypress:run": "cypress run --browser chrome",
32
- "clean-reports": "rm -rf cypress/reports",
33
- "merge-report": "mochawesome-merge ./test/cypress/reports/separate-reports/*.json > ./test/cypress/reports/full_report.json",
34
- "generate-report": "npx mochawesome-report-generator --reportDir test/cypress/reports test/cypress/reports/full_report.json",
35
- "semantic-release": "semantic-release",
36
- "publish-all": "node ./scripts/publish.js",
37
- "verify": "node ./scripts/verify.js",
38
- "check-types": "tsc --noEmit -m commonjs"
39
- },
40
- "devDependencies": {
41
- "@semantic-release/changelog": "5.0.1",
42
- "@semantic-release/exec": "5.0.0",
43
- "@semantic-release/git": "9.0.1",
44
- "@testing-library/cypress": "8.0.1",
45
- "@testing-library/dom": "8.7.2",
46
- "@types/async-retry": "1.4.3",
47
- "@types/chai-as-promised": "7.1.4",
48
- "@types/cross-spawn": "6.0.2",
49
- "@types/fs-extra": "9.0.13",
50
- "@types/jsdom": "16.2.13",
51
- "@types/nanoid": "3.0.0",
52
- "@types/sinon": "^10.0.0",
53
- "@types/sinon-chai": "^3.2.5",
54
- "@typescript-eslint/eslint-plugin": "4.33.0",
55
- "@typescript-eslint/parser": "4.33.0",
56
- "async-retry": "1.3.3",
57
- "babel-eslint": "10.1.0",
58
- "chai": "4.3.4",
59
- "chai-as-promised": "7.1.1",
60
- "contentful-management": "7.42.1",
61
- "cross-spawn": "7.0.3",
62
- "cypress": "8.5.0",
63
- "cypress-multi-reporters": "1.5.0",
64
- "cypress-terminal-report": "^3.3.2",
65
- "dotenv": "10.0.0",
66
- "eslint": "7.32.0",
67
- "eslint-config-prettier": "8.3.0",
68
- "eslint-config-standard": "16.0.3",
69
- "eslint-plugin-cypress": "2.12.1",
70
- "eslint-plugin-import": "2.24.2",
71
- "eslint-plugin-node": "11.1.0",
72
- "eslint-plugin-prettier": "4.0.0",
73
- "eslint-plugin-promise": "5.1.0",
74
- "eslint-plugin-react": "7.26.1",
75
- "eslint-plugin-standard": "5.0.0",
76
- "fs-extra": "10.0.0",
77
- "husky": "4.3.8",
78
- "jsdom": "17.0.0",
79
- "lint-staged": "11.2.0",
80
- "mocha": "8.4.0",
81
- "mocha-junit-reporter": "2.0.0",
82
- "mocha-multi-reporters": "1.5.1",
83
- "mochawesome": "6.3.0",
84
- "mochawesome-merge": "4.2.0",
85
- "mochawesome-report-generator": "5.2.0",
86
- "nanoid": "3.1.28",
87
- "prettier": "2.4.1",
88
- "rollup": "2.58.0",
89
- "rollup-plugin-terser": "7.0.2",
90
- "rollup-plugin-typescript2": "0.30.0",
91
- "semantic-release": "17.4.2",
92
- "sinon": "11.1.2",
93
- "sinon-chai": "3.7.0",
94
- "ts-mocha": "8.0.0",
95
- "ts-node": "10.2.1",
96
- "tslib": "2.3.1",
97
- "typescript": "4.4.3"
98
- },
99
- "husky": {
100
- "hooks": {
101
- "pre-commit": "lint-staged"
102
- }
103
- },
104
- "lint-staged": {
105
- "*.ts": [
106
- "prettier --write",
107
- "eslint --fix",
108
- "git add"
109
- ],
110
- "*.md": [
111
- "prettier --write",
112
- "git add"
113
- ]
114
- },
115
- "release": {
116
- "branches": [
117
- "master",
118
- {
119
- "name": "canary",
120
- "channel": "canary",
121
- "prerelease": "alpha"
122
- }
123
- ],
124
- "plugins": [
125
- "@semantic-release/commit-analyzer",
126
- "@semantic-release/release-notes-generator",
127
- "@semantic-release/changelog",
128
- [
129
- "@semantic-release/npm",
130
- {
131
- "npmPublish": false
132
- }
133
- ],
134
- [
135
- "@semantic-release/exec",
136
- {
137
- "verifyConditionsCmd": "node ./scripts/verify.js",
138
- "publishCmd": "npm run publish-all"
139
- }
140
- ],
141
- [
142
- "@semantic-release/git",
143
- {
144
- "message": "chore: ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}",
145
- "assets": [
146
- "CHANGELOG.md",
147
- "package.json",
148
- "package-lock.json"
149
- ]
150
- }
151
- ],
152
- "@semantic-release/github"
153
- ]
154
- },
155
- "peerDependencies": {
156
- "contentful-management": "^7.30.0"
157
- }
158
- }
1
+ {"name":"contentful-ui-extensions-sdk","description":"SDK to develop custom UI Extension for the Contentful Web App","version":"4.3.2","author":"Contentful GmbH","license":"MIT","repository":{"url":"https://github.com/contentful/ui-extensions-sdk.git","type":"git"},"homepage":"https://www.contentful.com/developers/docs/extensibility/app-framework/sdk/","main":"dist/cf-extension-api.js","types":"dist/index.d.ts","files":["dist/cf-extension-api.js","dist/cf-extension-api.js.map","dist/cf-extension.css","dist/**/*.d.ts"],"scripts":{"test":"ts-mocha -p tsconfig.test.json 'test/unit/*.[jt]s' --reporter mocha-multi-reporters --reporter-options configFile=mocha.unit-reporters.json","lint":"eslint '{lib,test}/**/*.{t,j}s'","lint:fix":"npm run lint -- --fix","build":"npm run check-types && rollup -c --compact","build:debug":"npm run build -- --sourcemap","prepublishOnly":"npm run build","size":"echo \"Gzipped, estimate: $(gzip -9 -c dist/cf-extension-api.js | wc -c) bytes\"","semantic-release":"semantic-release","publish-all":"node ./scripts/publish.js","verify":"node ./scripts/verify.js","check-types":"tsc --noEmit -m commonjs","prepare":"husky install","lint-staged":"lint-staged"},"devDependencies":{"@semantic-release/changelog":"6.0.1","@semantic-release/exec":"6.0.3","@semantic-release/git":"10.0.1","@testing-library/dom":"8.11.3","@types/chai-as-promised":"7.1.4","@types/cross-spawn":"6.0.2","@types/fs-extra":"9.0.13","@types/jsdom":"16.2.14","@types/nanoid":"3.0.0","@types/sinon":"^10.0.0","@types/sinon-chai":"^3.2.5","@typescript-eslint/eslint-plugin":"4.33.0","@typescript-eslint/parser":"4.33.0","babel-eslint":"10.1.0","chai":"4.3.6","chai-as-promised":"7.1.1","contentful-management":"7.54.1","cross-spawn":"7.0.3","eslint":"7.32.0","eslint-config-prettier":"8.3.0","eslint-config-standard":"16.0.3","eslint-plugin-import":"2.25.4","eslint-plugin-node":"11.1.0","eslint-plugin-prettier":"4.0.0","eslint-plugin-promise":"6.0.0","eslint-plugin-react":"7.28.0","eslint-plugin-standard":"5.0.0","fs-extra":"10.0.0","husky":"7.0.4","jsdom":"19.0.0","lint-staged":"12.3.3","mocha":"9.2.0","mocha-junit-reporter":"2.0.2","mocha-multi-reporters":"1.5.1","mochawesome":"7.0.1","mochawesome-merge":"4.2.1","mochawesome-report-generator":"6.0.1","prettier":"2.5.1","rollup":"2.67.1","rollup-plugin-terser":"7.0.2","rollup-plugin-typescript2":"0.31.2","semantic-release":"19.0.2","sinon":"13.0.1","sinon-chai":"3.7.0","ts-mocha":"9.0.2","tslib":"2.3.1","typescript":"4.5.5"},"lint-staged":{"*.ts":["prettier --write","eslint --fix","git add"],"*.md":["prettier --write","git add"]},"release":{"branches":["master",{"name":"canary","channel":"canary","prerelease":"alpha"}],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog",["@semantic-release/npm",{"npmPublish":false}],["@semantic-release/exec",{"verifyConditionsCmd":"node ./scripts/verify.js","publishCmd":"npm run publish-all"}],["@semantic-release/git",{"message":"chore: ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}","assets":["CHANGELOG.md","package.json","package-lock.json"]}],"@semantic-release/github"]},"peerDependencies":{"contentful-management":"^7.30.0"}}
package/CHANGELOG.md DELETED
@@ -1,264 +0,0 @@
1
- # [4.2.0](https://github.com/contentful/ui-extensions-sdk/compare/v4.1.1...v4.2.0) (2021-10-06)
2
-
3
-
4
- ### Features
5
-
6
- * export Action and ValidationError types ([#1018](https://github.com/contentful/ui-extensions-sdk/issues/1018)) ([dcff361](https://github.com/contentful/ui-extensions-sdk/commit/dcff361863c5ed1d6448d834277db26385cd6f8a))
7
-
8
- ## [4.1.1](https://github.com/contentful/ui-extensions-sdk/compare/v4.1.0...v4.1.1) (2021-10-06)
9
-
10
-
11
- ### Bug Fixes
12
-
13
- * [3161] use correct type for conflicting errors ([#1017](https://github.com/contentful/ui-extensions-sdk/issues/1017)) ([621a1d0](https://github.com/contentful/ui-extensions-sdk/commit/621a1d0d8f4e7b1ab45278377ba58fff76e09a4f))
14
-
15
- # [4.1.0](https://github.com/contentful/ui-extensions-sdk/compare/v4.0.1...v4.1.0) (2021-10-05)
16
-
17
-
18
- ### Features
19
-
20
- * [] export validation error type ([#1011](https://github.com/contentful/ui-extensions-sdk/issues/1011)) ([983407e](https://github.com/contentful/ui-extensions-sdk/commit/983407ebffe0b818c01a80bf4fa6f2a6c301aa5d))
21
-
22
- ## [4.0.1](https://github.com/contentful/ui-extensions-sdk/compare/v4.0.0...v4.0.1) (2021-10-05)
23
-
24
-
25
- ### Bug Fixes
26
-
27
- * measure old css file usage ([#1010](https://github.com/contentful/ui-extensions-sdk/issues/1010)) ([7dcd079](https://github.com/contentful/ui-extensions-sdk/commit/7dcd079c5f17f0a4e01e48e8184f0285dd0e9e1b))
28
-
29
- # [4.0.0](https://github.com/contentful/ui-extensions-sdk/compare/v3.42.0...v4.0.0) (2021-10-05)
30
-
31
- This major release of the Contentful App SDK provides two great features to make app development for Contentful even easier.
32
-
33
- ## Contentful Management API Adapter
34
-
35
- You can now use the [`contentful-management` library](https://github.com/contentful/contentful-management.js) within apps. This gives you access to a huge load of APIs that were previously not available. Also, you can reuse existing code utilising the `contentful-management` library which makes it easier to convert your custom Contentful scripts to convenient apps.
36
-
37
- After installing the library, a new client can be created using the `cmaAdapter` which is exposed by the App SDK. There is no need to deal with authentication and tokens.
38
-
39
- ```javascript
40
- import { createClient } from 'contentful-management'
41
-
42
- const nestedClient = createClient({ apiAdapter: sdk.cmaAdapter })
43
-
44
- const cma = createClient(
45
- { apiAdapter: sdk.cmaAdapter },
46
- {
47
- type: 'plain',
48
- defaults: {
49
- environmentId: sdk.ids.environment,
50
- spaceId: sdk.ids.space,
51
- },
52
- }
53
- )
54
- ```
55
-
56
- Please note that not all methods are available. You can only use methods that access entities within the app’s space environment.
57
-
58
- ## Deprecation of Space API
59
-
60
- The Space API (`sdk.space`) is deprecated and will be removed in a future major update of the App SDK. We recommend using the new CMA Adapters to replace existing Space API functionality.
61
-
62
- ## Typings revamp
63
-
64
- In the previous version of the App SDK app developers sometimes struggled with our provided types. For version 4 we took the opportunity to revamp and significantly improve the types of the whole library. These changes are likely to break existing TypeScript apps as we are more specific about each property and also changed the usage of generics on API methods.
65
- The new types of the App SDK now align with the types of the `contentful-management` library.
66
- To get the best development experience, you need to install `contentful-management` as a separate dependency.
67
-
68
- ```bash
69
- npm install contentful-management
70
- ```
71
-
72
- We do not include this dependency by default to keep your dependency tree clean and ensure small bundle sizes and short build times.
73
-
74
- # [3.42.0](https://github.com/contentful/ui-extensions-sdk/compare/v3.41.0...v3.42.0) (2021-10-01)
75
-
76
- ### Features
77
-
78
- - show better warning for DATA_CLONE_ERR [EXT-2761] ([#989](https://github.com/contentful/ui-extensions-sdk/issues/989)) ([fb82d86](https://github.com/contentful/ui-extensions-sdk/commit/fb82d866c4ffc97554673ea8e32bc8b81fa5f33c))
79
-
80
- # [3.41.0](https://github.com/contentful/ui-extensions-sdk/compare/v3.40.1...v3.41.0) (2021-09-29)
81
-
82
- ### Features
83
-
84
- - Include patch in message ([#997](https://github.com/contentful/ui-extensions-sdk/issues/997)) ([0a97537](https://github.com/contentful/ui-extensions-sdk/commit/0a97537e3426dfb9a2c95365ae4c96eeb848d8b4))
85
-
86
- ## [3.40.1](https://github.com/contentful/ui-extensions-sdk/compare/v3.40.0...v3.40.1) (2021-09-23)
87
-
88
- ### Bug Fixes
89
-
90
- - **AccessSDK:** patch action isn't supported ([#987](https://github.com/contentful/ui-extensions-sdk/issues/987)) ([7aff0ae](https://github.com/contentful/ui-extensions-sdk/commit/7aff0aeb4d3680e33a2ab7173a78982c55fa3677))
91
-
92
- # [3.40.0](https://github.com/contentful/ui-extensions-sdk/compare/v3.39.2...v3.40.0) (2021-09-17)
93
-
94
- ### Features
95
-
96
- - **AccessAPI:** add support for JSON patches in access sdk [EXT-3041] ([#974](https://github.com/contentful/ui-extensions-sdk/issues/974)) ([a720fc2](https://github.com/contentful/ui-extensions-sdk/commit/a720fc223b19419f61fb5df917540834966dbd83))
97
-
98
- ## [3.39.1](https://github.com/contentful/ui-extensions-sdk/compare/v3.39.0...v3.39.1) (2021-09-10)
99
-
100
- ### Bug Fixes
101
-
102
- - create upload types ([#961](https://github.com/contentful/ui-extensions-sdk/issues/961)) ([a65b320](https://github.com/contentful/ui-extensions-sdk/commit/a65b32046087763708f521b5b2dbb92ac22c6579))
103
-
104
- # [3.39.0](https://github.com/contentful/ui-extensions-sdk/compare/v3.38.0...v3.39.0) (2021-07-20)
105
-
106
- ### Features
107
-
108
- - Add typings and expose metadata methods ([#865](https://github.com/contentful/ui-extensions-sdk/issues/865)) ([b0bbaad](https://github.com/contentful/ui-extensions-sdk/commit/b0bbaad477114f7929d974b8bce8c3c03f05f4bf))
109
-
110
- # [3.38.0](https://github.com/contentful/ui-extensions-sdk/compare/v3.37.0...v3.38.0) (2021-06-30)
111
-
112
- ### Features
113
-
114
- - add resolved info to tasks sys ([#822](https://github.com/contentful/ui-extensions-sdk/issues/822)) ([e0be824](https://github.com/contentful/ui-extensions-sdk/commit/e0be824956082aaa8fe00bd073f7354fb7dea51b))
115
-
116
- # [3.37.0](https://github.com/contentful/ui-extensions-sdk/compare/v3.36.0...v3.37.0) (2021-06-23)
117
-
118
- ### Features
119
-
120
- - add type parameter to create task input data ([#809](https://github.com/contentful/ui-extensions-sdk/issues/809)) ([e0fe688](https://github.com/contentful/ui-extensions-sdk/commit/e0fe688b3e07cf58abd20a0b1f9d82c7ea1e48e7))
121
-
122
- # [3.36.0](https://github.com/contentful/ui-extensions-sdk/compare/v3.35.0...v3.36.0) (2021-06-17)
123
-
124
- ### Features
125
-
126
- - add interface for space.getTeams [HOMER-75] ([#789](https://github.com/contentful/ui-extensions-sdk/issues/789)) ([a5b8dac](https://github.com/contentful/ui-extensions-sdk/commit/a5b8dac92293d2e58ba7625ca4a310d182f3cabf))
127
-
128
- # [3.35.0](https://github.com/contentful/ui-extensions-sdk/compare/v3.34.3...v3.35.0) (2021-06-11)
129
-
130
- ### Features
131
-
132
- - add due date as a task field type ([#776](https://github.com/contentful/ui-extensions-sdk/issues/776)) ([ed0bf60](https://github.com/contentful/ui-extensions-sdk/commit/ed0bf60ce877665a3558555346c6bf0c9274bb49))
133
-
134
- ## [3.34.3](https://github.com/contentful/ui-extensions-sdk/compare/v3.34.2...v3.34.3) (2021-05-18)
135
-
136
- ### Reverts
137
-
138
- - "chore: test that SDK respects alias ([#710](https://github.com/contentful/ui-extensions-sdk/issues/710))" ([#717](https://github.com/contentful/ui-extensions-sdk/issues/717)) ([4ab6e48](https://github.com/contentful/ui-extensions-sdk/commit/4ab6e48237ef6d4cdd75c7721cd994539ced0ce2))
139
-
140
- ## [3.34.2](https://github.com/contentful/ui-extensions-sdk/compare/v3.34.1...v3.34.2) (2021-05-11)
141
-
142
- ### Reverts
143
-
144
- - bump cypress from 7.2.0 to 7.3.0 ([#706](https://github.com/contentful/ui-extensions-sdk/issues/706)) ([ebcdf01](https://github.com/contentful/ui-extensions-sdk/commit/ebcdf01c26c59707e5733f34d8897a9de9bfa462))
145
-
146
- ## [3.34.1](https://github.com/contentful/ui-extensions-sdk/compare/v3.34.0...v3.34.1) (2021-05-06)
147
-
148
- ### Bug Fixes
149
-
150
- - make options of dialogs.openExtension optional ([#681](https://github.com/contentful/ui-extensions-sdk/issues/681)) ([ca6d15b](https://github.com/contentful/ui-extensions-sdk/commit/ca6d15bf6c9979410296dfaa3f2ad3bd71ba33c4))
151
-
152
- # [3.34.0](https://github.com/contentful/ui-extensions-sdk/compare/v3.33.0...v3.34.0) (2021-04-30)
153
-
154
- ### Features
155
-
156
- - add navigate to lists methods ([ef5ee41](https://github.com/contentful/ui-extensions-sdk/commit/ef5ee4148911f51b333dbd0967d5fba2748de317))
157
-
158
- # [3.33.0](https://github.com/contentful/ui-extensions-sdk/compare/v3.32.2...v3.33.0) (2021-04-06)
159
-
160
- ### Features
161
-
162
- - expose tags api ([3ae6b4b](https://github.com/contentful/ui-extensions-sdk/commit/3ae6b4b45a16f04cb931218b6df654e9bf97cc1b))
163
-
164
- ## [3.32.2](https://github.com/contentful/ui-extensions-sdk/compare/v3.32.1...v3.32.2) (2021-03-23)
165
-
166
- ### Bug Fixes
167
-
168
- - [EXT-2508] use husky v4 ([#611](https://github.com/contentful/ui-extensions-sdk/issues/611)) ([85e1d4f](https://github.com/contentful/ui-extensions-sdk/commit/85e1d4f43e710b747f0ecba9d35396d8dfaacc10))
169
-
170
- ## [3.32.1](https://github.com/contentful/ui-extensions-sdk/compare/v3.32.0...v3.32.1) (2021-02-16)
171
-
172
- ### Bug Fixes
173
-
174
- - link to App SDK reference ([#550](https://github.com/contentful/ui-extensions-sdk/issues/550)) ([be47635](https://github.com/contentful/ui-extensions-sdk/commit/be47635c3c5b621e501df3643292c6c2bd2ef417))
175
-
176
- # [3.32.0](https://github.com/contentful/ui-extensions-sdk/compare/v3.31.1...v3.32.0) (2021-01-29)
177
-
178
- ### Features
179
-
180
- - add Task API to sdk.entry ([#516](https://github.com/contentful/ui-extensions-sdk/issues/516)) ([334097c](https://github.com/contentful/ui-extensions-sdk/commit/334097cf164b93b745bed53e740444b5db84a066))
181
-
182
- # [3.31.1](https://github.com/contentful/ui-extensions-sdk/compare/v3.31.0...v3.31.1) (2021-01-28)
183
-
184
- ### Documentation
185
-
186
- - rename UIE SDK to App SDK in readme ([#508](https://github.com/contentful/ui-extensions-sdk/issues/508)) ([d565d3d](https://github.com/contentful/ui-extensions-sdk/commit/d565d3d144ab6906994996e9221ef9d70ca41f0c))
187
- - add repository and homepage to package.json ([#509](https://github.com/contentful/ui-extensions-sdk/issues/509)) ([d301d46](https://github.com/contentful/ui-extensions-sdk/commit/d301d46509f6165444ad78363ef26a0a3ecf5b30))
188
-
189
- # [3.31.0](https://github.com/contentful/ui-extensions-sdk/compare/v3.30.0...v3.31.0) (2021-01-13)
190
-
191
- ### Features
192
-
193
- - export module as contentfulApp ([#490](https://github.com/contentful/ui-extensions-sdk/issues/490)) ([0eb5aaa](https://github.com/contentful/ui-extensions-sdk/commit/0eb5aaa425adda39f5f800e64b906694d636b53d))
194
-
195
- # [3.30.0](https://github.com/contentful/ui-extensions-sdk/compare/v3.29.2...v3.30.0) (2021-01-13)
196
-
197
- ### Features
198
-
199
- - generate typings ([#473](https://github.com/contentful/ui-extensions-sdk/issues/473)) ([1c9a69b](https://github.com/contentful/ui-extensions-sdk/commit/1c9a69b33e6833e7e16ae6de1e93de89409b73fd))
200
-
201
- ## [3.29.2](https://github.com/contentful/ui-extensions-sdk/compare/v3.29.1...v3.29.2) (2021-01-11)
202
-
203
- ### Bug Fixes
204
-
205
- - emit build errors ([#484](https://github.com/contentful/ui-extensions-sdk/issues/484)) ([5a0f20d](https://github.com/contentful/ui-extensions-sdk/commit/5a0f20d1a126defc091442a336d8551454738051))
206
-
207
- ## [3.29.1](https://github.com/contentful/ui-extensions-sdk/compare/v3.29.0...v3.29.1) (2021-01-08)
208
-
209
- ### Bug Fixes
210
-
211
- - correct type for canEditAppConfig ([#481](https://github.com/contentful/ui-extensions-sdk/issues/481)) ([808521f](https://github.com/contentful/ui-extensions-sdk/commit/808521f47182775b8a6729fe11c46f8f02ef6729))
212
-
213
- # [3.29.0](https://github.com/contentful/ui-extensions-sdk/compare/v3.28.1...v3.29.0) (2021-01-08)
214
-
215
- ### Features
216
-
217
- - add canEditAppConfig method ([#480](https://github.com/contentful/ui-extensions-sdk/issues/480)) ([594d37d](https://github.com/contentful/ui-extensions-sdk/commit/594d37d8183be0a4a0edb06a7193a5236ef22208))
218
-
219
- ## [3.28.1](https://github.com/contentful/ui-extensions-sdk/compare/v3.28.0...v3.28.1) (2021-01-08)
220
-
221
- ### Bug Fixes
222
-
223
- - make signRequest non optional ([#479](https://github.com/contentful/ui-extensions-sdk/issues/479)) ([0f932f1](https://github.com/contentful/ui-extensions-sdk/commit/0f932f18851ac976e8894553696cda2b374a9d8c))
224
-
225
- # [3.28.0](https://github.com/contentful/ui-extensions-sdk/compare/v3.27.0...v3.28.0) (2021-01-07)
226
-
227
- ### Features
228
-
229
- - add openAppConfig method ([#476](https://github.com/contentful/ui-extensions-sdk/issues/476)) ([80a808d](https://github.com/contentful/ui-extensions-sdk/commit/80a808d37ebcbb641a6fe3f472efecacc0a65af3))
230
-
231
- # [3.27.0](https://github.com/contentful/ui-extensions-sdk/compare/v3.26.1...v3.27.0) (2021-01-05)
232
-
233
- ### Features
234
-
235
- - [EXT-2360] add test for onvaluechanged ([#431](https://github.com/contentful/ui-extensions-sdk/issues/431)) ([229d930](https://github.com/contentful/ui-extensions-sdk/commit/229d93072242deab7c38db5c675ccdd1c058e1f7))
236
-
237
- # [3.26.1](https://github.com/contentful/ui-extensions-sdk/compare/v3.26.0...v3.26.1) (2021-11-24)
238
-
239
- ### Features
240
-
241
- - Add env alias to IdsApi type
242
-
243
- # [3.25.1](https://github.com/contentful/ui-extensions-sdk/compare/v3.25.0...v3.26.0) (2021-11-24)
244
-
245
- ### Features
246
-
247
- - Bump dependencies
248
-
249
- # [3.25.0](https://github.com/contentful/ui-extensions-sdk/compare/v3.24.0...v3.25.0) (2020-11-09)
250
-
251
- ### Bug Fixes
252
-
253
- - only expose signRequest in apps ([169ff70](https://github.com/contentful/ui-extensions-sdk/commit/169ff70a2d74498406560f51a6eec00af88f41a9))
254
- - request signing endpoint can be undefined ([2eb0d76](https://github.com/contentful/ui-extensions-sdk/commit/2eb0d76ee7fd79bf906069e7ecf842b16f1cd300))
255
-
256
- ### Features
257
-
258
- - [EXT-2360] add test for onvaluechanged ([#431](https://github.com/contentful/ui-extensions-sdk/issues/431)) ([229d930](https://github.com/contentful/ui-extensions-sdk/commit/229d93072242deab7c38db5c675ccdd1c058e1f7))
259
-
260
- # [3.24.0](https://github.com/contentful/ui-extensions-sdk/compare/v3.23.4...v3.24.0) (2020-11-02)
261
-
262
- ### Features
263
-
264
- - log error if it appears app is running outside of iframe ([#390](https://github.com/contentful/ui-extensions-sdk/issues/390)) ([c46be9d](https://github.com/contentful/ui-extensions-sdk/commit/c46be9db35f0a6b72cb50851009b836146235b31))
package/dist/README.md DELETED
@@ -1,9 +0,0 @@
1
- # !! WARNING !!
2
-
3
- `cf-extension.css` file in this directory is a prebuilt committed version of legacy
4
- Contentful UI Extension styles.
5
-
6
- It is here for backwards compatibility only: it will be packaged and published on npm
7
- so it's available under its legacy URL:
8
-
9
- https://unpkg.com/contentful-ui-extensions-sdk/dist/cf-extension.css