@imgly/plugin-cutout-library-web 1.0.5 → 1.69.0-nightly.20260130

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
@@ -1,46 +1,9 @@
1
- # IMG.LY CE.SDK Plugin Cutouts
1
+ # @imgly/plugin-cutout-library-web
2
2
 
3
- This plugin introduces adds cutout functionality to the CreativeEditor SDK.
4
- It allows users to add a rectangular or elliptical cutout to the scene. It also allows users to cutout the currently selected shape.
5
- It registers a custom asset source called `ly.img.cutout` which then can be added to the dock.
6
- It also adds a custom canvas menu entry when a graphic or text block is selected.
3
+ Cutout Library plugin for the CE.SDK editor
7
4
 
8
- ## Installation
5
+ For documentation, visit: https://img.ly/docs/cesdk
9
6
 
10
- You can install the plugin via npm or yarn. Use the following commands to install the package:
7
+ ## License
11
8
 
12
- ```
13
- yarn add @imgly/plugin-cutout-library-web
14
- npm install @imgly/plugin-cutout-library-web
15
- ```
16
-
17
- ## Usage
18
-
19
- When adding the plugin to the CE.SDK, you can also add an action button to the canvas menu. Further, we provide a utility method for getting a insert entry for the cutout library that adds the cutout library to the dock.
20
-
21
- ```typescript
22
- import CreativeEditorSDK from '@cesdk/cesdk-js';
23
- import CutoutLibraryPlugin from '@imgly/plugin-cutout-library-web';
24
-
25
- const cesdk = await CreativeEditorSDK.create(container, config);
26
- await cesdk.addDefaultAssetSources();
27
- await cesdk.addDemoAssetSources({ sceneMode: 'Design' });
28
- await cesdk.addPlugin(
29
- CutoutLibraryPlugin({
30
- ui: { locations: ['canvasMenu'] }
31
- })
32
- );
33
- const cutoutAssetEntry = cesdk.ui.getAssetLibraryEntry('ly.img.cutout.entry');
34
- cesdk.ui.setDockOrder([
35
- ...cesdk.ui.getDockOrder(),
36
- {
37
- id: 'ly.img.assetLibrary.dock',
38
- label: 'Cutout',
39
- key: 'ly.img.assetLibrary.dock',
40
- icon: cutoutAssetEntry?.icon,
41
- entries: ['ly.img.cutout.entry']
42
- }
43
- ]);
44
-
45
- await cesdk.createDesignScene();
46
- ```
9
+ This plugin is part of the IMG.LY plugin ecosystem for CreativeEditor SDK.
@@ -0,0 +1 @@
1
+ {"fileNames":["../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/.pnpm/@types+react@18.3.27/node_modules/@types/react/global.d.ts","../../../node_modules/.pnpm/csstype@3.2.3/node_modules/csstype/index.d.ts","../../../node_modules/.pnpm/@types+prop-types@15.7.15/node_modules/@types/prop-types/index.d.ts","../../../node_modules/.pnpm/@types+react@18.3.27/node_modules/@types/react/index.d.ts","../../../node_modules/.pnpm/@cesdk+engine@1.69.0-nightly.20260130_react@18.3.1/node_modules/@cesdk/engine/index.d.ts","../../../node_modules/.pnpm/@types+react-dom@18.3.7_@types+react@18.3.27/node_modules/@types/react-dom/client.d.ts","../../../node_modules/.pnpm/@cesdk+cesdk-js@1.69.0-nightly.20260130_react@18.3.1/node_modules/@cesdk/cesdk-js/index.d.ts","../src/constants.ts","../src/loadAssetSourceFromContentJSON.ts","../src/plugin.ts","../src/index.ts","../src/components.ts","../esbuild/global.d.ts","../../../node_modules/.pnpm/@types+ndarray@1.0.14/node_modules/@types/ndarray/index.d.ts"],"fileIdsList":[[35,36,37],[35],[32,33,34],[38,39,42],[38,41],[38],[38,39,40,42,43]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb5b19b86227ace1d29ea4cf81387279d04bb34051e944bc53df69f58914b788","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"87d9d29dbc745f182683f63187bf3d53fd8673e5fca38ad5eaab69798ed29fbc","impliedFormat":1},{"version":"7a3aa194cfd5919c4da251ef04ea051077e22702638d4edcb9579e9101653519","affectsGlobalScope":true,"impliedFormat":1},{"version":"402036bd3e6a3484eabb7896fbc1474d6e50ea1d71b6fc9d5644869e9e8913b7","impliedFormat":99},{"version":"05321b823dd3781d0b6aac8700bfdc0c9181d56479fe52ba6a40c9196fd661a8","impliedFormat":1},{"version":"d8fdfe8bd0fd0d4c985d6beaa02a36918de12059c3401a164a928d77da5b384d","impliedFormat":99},{"version":"c4052ce048edd1bed5d1488c6c43ff2c1fafc5dc941e470586120886f2e84250","signature":"463c325c494033cfa65b50803ac947e313a8a5d83e9fae1547d85821fb92cace"},{"version":"810426932ec1f8aab81a0e7a370d85f94129d431b7aea24c6d49c81395e015dc","signature":"141da3bad31170c124f42f57c78cfed40d22ac9b5aa92ffe9e4f0bdc9a4585d4"},{"version":"cfe497ecdbe7cc670d0e43bba06d7405066442eb301e19cb29b8c79db95489ab","signature":"6cb2a97e234fd7b087234a5c4e1084a5e43534b9d1fc0fbac71924d4c1d7edc8"},{"version":"f7916fd11acefdcf9507e713456f64c9e782e48217a94ebcd6449039d6076844","signature":"981b006f3d252c221d4a415b20b49c195b370af1ffc49897745cd39fe40bfa1b"},{"version":"1a78c3dd067153609343cadc4fcb4e6cb9ba61d7eafa10ab7c637bbf4fa3d0ef","signature":"fda16dff9dd6aad838822a7d5f9d1df6e8ca68f302dce730bcabd0a67b166b0b"},{"version":"483ca717cf9cfd25665c1a97fccd4b9c4602690f6f48db939bcab9543ef56872","affectsGlobalScope":true},{"version":"08c5f8a855984aaf4b7df847c53ac7e87c32350d4ab151370f262a822fa96d8d","impliedFormat":1}],"root":[[39,44]],"options":{"declaration":true,"declarationDir":"./","emitDeclarationOnly":true,"esModuleInterop":true,"module":6,"skipLibCheck":true,"strict":true,"target":4,"tsBuildInfoFile":"./.tsbuildinfo"},"referencedMap":[[38,1],[37,2],[35,3],[43,4],[42,5],[40,6],[41,7]],"version":"5.9.3"}
package/dist/index.d.ts CHANGED
@@ -18,9 +18,7 @@ export interface InternalPluginConfiguration extends PluginConfiguration {
18
18
  }
19
19
  export declare function getPluginConfiguration(config: Partial<PluginConfiguration>): InternalPluginConfiguration;
20
20
  declare const Plugin: (config?: Partial<PluginConfiguration>) => {
21
- initialize: (context: import("@cesdk/engine").EnginePluginContext & {
22
- cesdk?: import("@cesdk/cesdk-js").default | undefined;
23
- }) => void;
21
+ initialize: (context: import("@cesdk/cesdk-js").EditorPluginContext) => void | Promise<void>;
24
22
  name: string;
25
23
  version: string;
26
24
  };
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- var c="@imgly/plugin-cutout-library-web.canvasMenu",p=`${c}.button`,g=`${p}.label`;var l="ly.img.cutout",N=`${l}.entry`,d="@imgly/plugin-cutout-library-web.notifications.selectCutoutBlock",f="@imgly/plugin-cutout-library-web.notifications.cutoutBlockSelected",m="@imgly/plugin-cutout-library-web.notifications.differentPages",S={en:{[`libraries.${N}.label`]:"Cutouts",[d]:"Please select a block to cutout",[f]:"Cutout blocks cannot be cutout from selection",[m]:"Selected Blocks are from different pages. Please select blocks from the same page.",[g]:"Cutout"},de:{[`libraries.${N}.label`]:"Schnittlinien",[d]:"Bitte w\xE4hlen Sie einen Block zum Ausschneiden aus",[f]:"Schnittlinienbl\xF6cke k\xF6nnen nicht ausgeschnitten werden",[m]:"Ausgew\xE4hlte Bl\xF6cke stammen aus verschiedenen Seiten. Bitte w\xE4hlen Sie Bl\xF6cke von derselben Seite aus.",[g]:"Ausschneiden"}};function A(e,{createCutoutFromBlocks:n}){e.ui.registerComponent(c,({builder:{Button:t},engine:o})=>{let i=["//ly.img.ubq/group","//ly.img.ubq/graphic","//ly.img.ubq/text"],a=o.block.findAllSelected();if(a.length!==1||!i.includes(o.block.getType(a[0])))return null;t(p,{label:g,icon:({theme:r})=>`${E}/dock-${r}.svg`,onClick:()=>{I(e,n)}})})}async function U(e,n,t="",o){let{assets:i,id:a}=n;e.asset.addLocalSource(a,void 0,o),i.forEach(r=>{r.meta&&Object.entries(r.meta).forEach(([s,u])=>{let _=u.toString();if(_.includes("{{base_url}}")){let b=_.replace("{{base_url}}",t);r.meta&&(r.meta[s]=b)}}),r.payload?.sourceSet&&r.payload.sourceSet.forEach(s=>{s.uri=s.uri.replace("{{base_url}}",t)}),e.asset.addAssetToSource(a,r)})}var T=U;function B({assetBaseUri:e,ui:n,createCutoutFromBlocks:t}){return{initialize:({cesdk:o})=>{o!=null&&(L(o,{assetBaseUri:e,createCutoutFromBlocks:t}),y(o,{assetBaseUri:e}),A(o,{createCutoutFromBlocks:t}),n?.locations.includes("canvasMenu")&&o.ui.setCanvasMenuOrder([c,...o.ui.getCanvasMenuOrder()]),o.setTranslations(S))}}}function y(e,n=C){let{assetBaseUri:t}=P(n);e.ui.addAssetLibraryEntry({id:N,sourceIds:[l],icon:({theme:o})=>`${t}/dock-${o}.svg`,gridColumns:2,gridItemHeight:"square",cardLabel:o=>o.label,cardLabelPosition:()=>"below",cardBackgroundPreferences:[{path:"meta.thumbUri",type:"image"}]})}async function L(e,{assetBaseUri:n,createCutoutFromBlocks:t}){let o=await fetch(`${n}/${l}/content.json`).then(i=>i.json());T(e.engine,o,`${n}/${l}/assets`,async i=>i.id==="cutout-selection"?await I(e,t):await e.engine.asset.defaultApplyAsset(i))}async function I(e,n){let t=e.engine.block.findAllSelected();if(t.length===0){e.ui.showNotification({message:d,type:"error"});return}if(t.some(u=>e.engine.block.getType(u)==="//ly.img.ubq/cutout")){e.ui.showNotification({message:f,type:"error"});return}let i=t.map(u=>k(e.engine,u)),a=Array.from(new Set(i));if(a.length>1){e.ui.showNotification({message:m,type:"error"});return}let r=a[0],s=n(t,e.engine);return e.engine.block.appendChild(r,s),e.engine.block.setAlwaysOnTop(s,!0),e.engine.block.select(s),e.engine.editor.addUndoStep(),s}function k(e,n){let t=n;for(;t&&e.block.getType(t)!=="//ly.img.ubq/page";){let o=e.block.getParent(t);if(!o||o===t)return t;t=o}return t}var O=B;var E=`https://staticimgly.com/${"@imgly/plugin-cutout-library-web".replace("@","")}/1.0.5/dist/assets`,C={assetBaseUri:E,createCutoutFromBlocks:(e,n)=>n.block.createCutoutFromBlocks(e,0,2,!1)};function P(e){return{...C,...e}}var F=(e=C)=>({name:"@imgly/plugin-cutout-library-web",version:"1.0.5",...O({...C,...e})}),H=F;export{E as DEFAULT_ASSET_BASE_URI,C as DEFAULT_PLUGIN_CONFIGURATION,H as default,I as generateCutoutFromSelection,P as getPluginConfiguration};
1
+ var c="@imgly/plugin-cutout-library-web.canvasMenu",p=`${c}.button`,g=`${p}.label`;var l="ly.img.cutout",N=`${l}.entry`,d="@imgly/plugin-cutout-library-web.notifications.selectCutoutBlock",f="@imgly/plugin-cutout-library-web.notifications.cutoutBlockSelected",m="@imgly/plugin-cutout-library-web.notifications.differentPages",S={en:{[`libraries.${N}.label`]:"Cutouts",[d]:"Please select a block to cutout",[f]:"Cutout blocks cannot be cutout from selection",[m]:"Selected Blocks are from different pages. Please select blocks from the same page.",[g]:"Cutout"},de:{[`libraries.${N}.label`]:"Schnittlinien",[d]:"Bitte w\xE4hlen Sie einen Block zum Ausschneiden aus",[f]:"Schnittlinienbl\xF6cke k\xF6nnen nicht ausgeschnitten werden",[m]:"Ausgew\xE4hlte Bl\xF6cke stammen aus verschiedenen Seiten. Bitte w\xE4hlen Sie Bl\xF6cke von derselben Seite aus.",[g]:"Ausschneiden"}};function A(e,{createCutoutFromBlocks:n}){e.ui.registerComponent(c,({builder:{Button:t},engine:o})=>{let i=["//ly.img.ubq/group","//ly.img.ubq/graphic","//ly.img.ubq/text"],a=o.block.findAllSelected();if(a.length!==1||!i.includes(o.block.getType(a[0])))return null;t(p,{label:g,icon:({theme:r})=>`${E}/dock-${r}.svg`,onClick:()=>{I(e,n)}})})}async function U(e,n,t="",o){let{assets:i,id:a}=n;e.asset.addLocalSource(a,void 0,o),i.forEach(r=>{r.meta&&Object.entries(r.meta).forEach(([s,u])=>{let _=u.toString();if(_.includes("{{base_url}}")){let b=_.replace("{{base_url}}",t);r.meta&&(r.meta[s]=b)}}),r.payload?.sourceSet&&r.payload.sourceSet.forEach(s=>{s.uri=s.uri.replace("{{base_url}}",t)}),e.asset.addAssetToSource(a,r)})}var T=U;function B({assetBaseUri:e,ui:n,createCutoutFromBlocks:t}){return{initialize:({cesdk:o})=>{o!=null&&(L(o,{assetBaseUri:e,createCutoutFromBlocks:t}),y(o,{assetBaseUri:e}),A(o,{createCutoutFromBlocks:t}),n?.locations.includes("canvasMenu")&&o.ui.setCanvasMenuOrder([c,...o.ui.getCanvasMenuOrder()]),o.setTranslations(S))}}}function y(e,n=C){let{assetBaseUri:t}=P(n);e.ui.addAssetLibraryEntry({id:N,sourceIds:[l],icon:({theme:o})=>`${t}/dock-${o}.svg`,gridColumns:2,gridItemHeight:"square",cardLabel:o=>o.label,cardLabelPosition:()=>"below",cardBackgroundPreferences:[{path:"meta.thumbUri",type:"image"}]})}async function L(e,{assetBaseUri:n,createCutoutFromBlocks:t}){let o=await fetch(`${n}/${l}/content.json`).then(i=>i.json());T(e.engine,o,`${n}/${l}/assets`,async i=>i.id==="cutout-selection"?await I(e,t):await e.engine.asset.defaultApplyAsset(i))}async function I(e,n){let t=e.engine.block.findAllSelected();if(t.length===0){e.ui.showNotification({message:d,type:"error"});return}if(t.some(u=>e.engine.block.getType(u)==="//ly.img.ubq/cutout")){e.ui.showNotification({message:f,type:"error"});return}let i=t.map(u=>k(e.engine,u)),a=Array.from(new Set(i));if(a.length>1){e.ui.showNotification({message:m,type:"error"});return}let r=a[0],s=n(t,e.engine);return e.engine.block.appendChild(r,s),e.engine.block.setAlwaysOnTop(s,!0),e.engine.block.select(s),e.engine.editor.addUndoStep(),s}function k(e,n){let t=n;for(;t&&e.block.getType(t)!=="//ly.img.ubq/page";){let o=e.block.getParent(t);if(!o||o===t)return t;t=o}return t}var O=B;var E=`https://staticimgly.com/${"@imgly/plugin-cutout-library-web".replace("@","")}/1.69.0-nightly.20260130/dist/assets`,C={assetBaseUri:E,createCutoutFromBlocks:(e,n)=>n.block.createCutoutFromBlocks(e,0,2,!1)};function P(e){return{...C,...e}}var F=(e=C)=>({name:"@imgly/plugin-cutout-library-web",version:"1.69.0-nightly.20260130",...O({...C,...e})}),H=F;export{E as DEFAULT_ASSET_BASE_URI,C as DEFAULT_PLUGIN_CONFIGURATION,H as default,I as generateCutoutFromSelection,P as getPluginConfiguration};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/constants.ts", "../src/components.ts", "../src/loadAssetSourceFromContentJSON.ts", "../src/plugin.ts", "../src/index.ts"],
4
4
  "sourcesContent": ["export const VERSION = PLUGIN_VERSION;\nexport const CANVAS_MENU_COMPONENT_ID = `${PLUGIN_NAME}.canvasMenu`;\nexport const CANVAS_MENU_COMPONENT_BUTTON_ID = `${CANVAS_MENU_COMPONENT_ID}.button`;\nexport const CANVAS_MENU_COMPONENT_BUTTON_LABEL = `${CANVAS_MENU_COMPONENT_BUTTON_ID}.label`;\n\nexport const FEATURE_ID = `${PLUGIN_NAME}.feature`;\nexport const ASSET_SOURCE_ID = 'ly.img.cutout';\nexport const ENTRY_ID = `${ASSET_SOURCE_ID}.entry`;\n\nexport const NOTIFICATION_SELECT_CUTOUT_BLOCK_ID = `${PLUGIN_NAME}.notifications.selectCutoutBlock`;\nexport const NOTIFICATION_CUTOUT_BLOCK_SELECTED_ID = `${PLUGIN_NAME}.notifications.cutoutBlockSelected`;\nexport const NOTIFICATION_DIFFERENT_PAGES_ID = `${PLUGIN_NAME}.notifications.differentPages`;\n\nexport const I18N = {\n en: {\n [`libraries.${ENTRY_ID}.label`]: 'Cutouts',\n [NOTIFICATION_SELECT_CUTOUT_BLOCK_ID]: 'Please select a block to cutout',\n [NOTIFICATION_CUTOUT_BLOCK_SELECTED_ID]:\n 'Cutout blocks cannot be cutout from selection',\n [NOTIFICATION_DIFFERENT_PAGES_ID]:\n 'Selected Blocks are from different pages. Please select blocks from the same page.',\n [CANVAS_MENU_COMPONENT_BUTTON_LABEL]: 'Cutout'\n },\n de: {\n [`libraries.${ENTRY_ID}.label`]: 'Schnittlinien',\n [NOTIFICATION_SELECT_CUTOUT_BLOCK_ID]:\n 'Bitte w\u00E4hlen Sie einen Block zum Ausschneiden aus',\n [NOTIFICATION_CUTOUT_BLOCK_SELECTED_ID]:\n 'Schnittlinienbl\u00F6cke k\u00F6nnen nicht ausgeschnitten werden',\n [NOTIFICATION_DIFFERENT_PAGES_ID]:\n 'Ausgew\u00E4hlte Bl\u00F6cke stammen aus verschiedenen Seiten. Bitte w\u00E4hlen Sie Bl\u00F6cke von derselben Seite aus.',\n [CANVAS_MENU_COMPONENT_BUTTON_LABEL]: 'Ausschneiden'\n }\n} as const;\n", "import CreativeEditorSDK, { ObjectTypeLonghand } from '@cesdk/cesdk-js';\nimport {\n CreateCutoutFromBlocks,\n DEFAULT_ASSET_BASE_URI,\n generateCutoutFromSelection\n} from '.';\nimport {\n CANVAS_MENU_COMPONENT_BUTTON_ID,\n CANVAS_MENU_COMPONENT_BUTTON_LABEL,\n CANVAS_MENU_COMPONENT_ID\n} from './constants';\n\nexport function registerComponents(\n cesdk: CreativeEditorSDK,\n {\n createCutoutFromBlocks\n }: {\n createCutoutFromBlocks: CreateCutoutFromBlocks;\n }\n) {\n cesdk.ui.registerComponent(\n CANVAS_MENU_COMPONENT_ID,\n ({ builder: { Button }, engine }) => {\n // only show canvas menu button for type=graphic, type=text, type=group\n const allowedTypes: ObjectTypeLonghand[] = [\n '//ly.img.ubq/group',\n '//ly.img.ubq/graphic',\n '//ly.img.ubq/text'\n ] as const;\n const selectedBlockIds = engine.block.findAllSelected();\n if (\n selectedBlockIds.length !== 1 ||\n !allowedTypes.includes(engine.block.getType(selectedBlockIds[0]))\n ) {\n return null;\n }\n Button(CANVAS_MENU_COMPONENT_BUTTON_ID, {\n label: CANVAS_MENU_COMPONENT_BUTTON_LABEL,\n icon: ({ theme }) => `${DEFAULT_ASSET_BASE_URI}/dock-${theme}.svg`,\n onClick: () => {\n generateCutoutFromSelection(cesdk, createCutoutFromBlocks);\n }\n });\n }\n );\n}\n", "import { AssetDefinition, AssetResult, CreativeEngine } from '@cesdk/cesdk-js';\n\nasync function loadAssetSourceFromContentJSON(\n engine: CreativeEngine,\n content: ContentJSON,\n baseURL = '',\n applyAsset?: ((asset: AssetResult) => Promise<number | undefined>) | undefined\n) {\n const { assets, id: sourceId } = content;\n\n engine.asset.addLocalSource(sourceId, undefined, applyAsset);\n assets.forEach((asset) => {\n if (asset.meta) {\n Object.entries(asset.meta).forEach(([key, value]: [any, any]) => {\n const stringValue: string = value.toString();\n if (stringValue.includes('{{base_url}}')) {\n const updated = stringValue.replace('{{base_url}}', baseURL);\n if (asset.meta) {\n asset.meta[key] = updated;\n }\n }\n });\n }\n\n if (asset.payload?.sourceSet) {\n asset.payload.sourceSet.forEach((sourceSet) => {\n sourceSet.uri = sourceSet.uri.replace('{{base_url}}', baseURL);\n });\n }\n\n engine.asset.addAssetToSource(sourceId, asset);\n });\n}\nexport type ContentJSON = {\n version: string;\n id: string;\n assets: AssetDefinition[];\n};\n\nexport default loadAssetSourceFromContentJSON;\n", "import type CreativeEditorSDK from '@cesdk/cesdk-js';\nimport { CreativeEngine, type EditorPlugin } from '@cesdk/cesdk-js';\nimport {\n CreateCutoutFromBlocks,\n DEFAULT_PLUGIN_CONFIGURATION,\n InternalPluginConfiguration,\n PluginConfiguration,\n getPluginConfiguration\n} from '.';\nimport { registerComponents } from './components';\nimport {\n ASSET_SOURCE_ID,\n CANVAS_MENU_COMPONENT_ID,\n ENTRY_ID,\n I18N,\n NOTIFICATION_CUTOUT_BLOCK_SELECTED_ID,\n NOTIFICATION_DIFFERENT_PAGES_ID,\n NOTIFICATION_SELECT_CUTOUT_BLOCK_ID\n} from './constants';\nimport loadAssetSourceFromContentJSON from './loadAssetSourceFromContentJSON';\n\nexport type UILocations = 'canvasMenu';\n\nexport interface UserInterfaceConfiguration {\n locations?: UILocations[];\n}\n\nexport function CutoutPlugin({\n assetBaseUri,\n ui,\n createCutoutFromBlocks\n}: InternalPluginConfiguration): Omit<EditorPlugin, 'name' | 'version'> {\n return {\n initialize: ({ cesdk }) => {\n if (cesdk == null) return;\n\n addCutoutAssetSource(cesdk, {\n assetBaseUri,\n createCutoutFromBlocks\n });\n addCutoutAssetLibraryEntry(cesdk, { assetBaseUri });\n\n registerComponents(cesdk, { createCutoutFromBlocks });\n if (ui?.locations.includes('canvasMenu')) {\n cesdk.ui.setCanvasMenuOrder([\n CANVAS_MENU_COMPONENT_ID,\n ...cesdk.ui.getCanvasMenuOrder()\n ]);\n }\n cesdk.setTranslations(I18N);\n }\n };\n}\n\nfunction addCutoutAssetLibraryEntry(\n cesdk: CreativeEditorSDK,\n config: Partial<PluginConfiguration> = DEFAULT_PLUGIN_CONFIGURATION\n) {\n const { assetBaseUri } = getPluginConfiguration(config);\n cesdk.ui.addAssetLibraryEntry({\n id: ENTRY_ID,\n sourceIds: [ASSET_SOURCE_ID],\n icon: ({ theme }: { theme: string }) => `${assetBaseUri}/dock-${theme}.svg`,\n gridColumns: 2,\n gridItemHeight: 'square' as const,\n cardLabel: (asset: any) => asset.label,\n cardLabelPosition: () => 'below' as const,\n cardBackgroundPreferences: [{ path: 'meta.thumbUri', type: 'image' }]\n });\n}\n\nasync function addCutoutAssetSource(\n cesdk: CreativeEditorSDK,\n {\n assetBaseUri,\n createCutoutFromBlocks\n }: {\n assetBaseUri: string;\n createCutoutFromBlocks: CreateCutoutFromBlocks;\n }\n) {\n const contentJSON = await fetch(\n `${assetBaseUri}/${ASSET_SOURCE_ID}/content.json`\n ).then((res) => res.json());\n\n loadAssetSourceFromContentJSON(\n cesdk.engine,\n contentJSON,\n `${assetBaseUri}/${ASSET_SOURCE_ID}/assets`,\n async (asset) => {\n if (asset.id === 'cutout-selection') {\n const block = await generateCutoutFromSelection(\n cesdk,\n createCutoutFromBlocks\n );\n return block;\n }\n const blockId = await cesdk.engine.asset.defaultApplyAsset(asset);\n return blockId;\n }\n );\n}\n\nexport async function generateCutoutFromSelection(\n cesdk: CreativeEditorSDK,\n createCutoutFromBlocks: CreateCutoutFromBlocks\n) {\n const selectedBlockIds = cesdk.engine.block.findAllSelected();\n\n if (selectedBlockIds.length === 0) {\n cesdk.ui.showNotification({\n message: NOTIFICATION_SELECT_CUTOUT_BLOCK_ID,\n type: 'error'\n });\n return undefined;\n }\n const hasCutoutsSelected = selectedBlockIds.some((selectedBlockId) => {\n return (\n cesdk.engine.block.getType(selectedBlockId) === '//ly.img.ubq/cutout'\n );\n });\n if (hasCutoutsSelected) {\n cesdk.ui.showNotification({\n message: NOTIFICATION_CUTOUT_BLOCK_SELECTED_ID,\n type: 'error'\n });\n return undefined;\n }\n\n const parentPageBlockIds = selectedBlockIds.map((block) =>\n getParentPageId(cesdk.engine, block)\n );\n const uniqueParentPageBlockIds = Array.from(new Set(parentPageBlockIds));\n // throw error if blocks are from different pages\n if (uniqueParentPageBlockIds.length > 1) {\n cesdk.ui.showNotification({\n message: NOTIFICATION_DIFFERENT_PAGES_ID,\n type: 'error'\n });\n return undefined;\n }\n const pageId = uniqueParentPageBlockIds[0];\n\n const blockId = createCutoutFromBlocks(selectedBlockIds, cesdk.engine);\n cesdk.engine.block.appendChild(pageId, blockId);\n cesdk.engine.block.setAlwaysOnTop(blockId, true);\n cesdk.engine.block.select(blockId);\n cesdk.engine.editor.addUndoStep();\n return blockId;\n}\n\nfunction getParentPageId(engine: CreativeEngine, block: number) {\n // traverse up the block tree to find the page\n let currentBlock = block;\n while (\n currentBlock &&\n engine.block.getType(currentBlock) !== '//ly.img.ubq/page'\n ) {\n const parentBlock = engine.block.getParent(currentBlock);\n if (!parentBlock || parentBlock === currentBlock) {\n return currentBlock;\n }\n currentBlock = parentBlock;\n }\n return currentBlock;\n}\n\nexport default CutoutPlugin;\n", "import { CreativeEngine, DesignBlockId } from '@cesdk/cesdk-js';\nimport plugin, { UILocations, generateCutoutFromSelection } from './plugin';\n\nexport const DEFAULT_ASSET_BASE_URI = `https://staticimgly.com/${PLUGIN_NAME.replace(\n '@',\n ''\n)}/${PLUGIN_VERSION}/dist/assets`;\n\nexport const DEFAULT_PLUGIN_CONFIGURATION = {\n assetBaseUri: DEFAULT_ASSET_BASE_URI,\n createCutoutFromBlocks: (blockIds: number[], engine: CreativeEngine) => {\n return engine.block.createCutoutFromBlocks(blockIds, 0, 2, false);\n }\n};\nexport type CreateCutoutFromBlocks = (\n blockIds: number[],\n engine: CreativeEngine\n) => DesignBlockId;\n\nexport interface PluginConfiguration {\n assetBaseUri: string;\n ui?: {\n locations: UILocations[];\n };\n // Can be used to customize the cutout block creation call parameters.\n createCutoutFromBlocks?: CreateCutoutFromBlocks;\n}\nexport interface InternalPluginConfiguration extends PluginConfiguration {\n createCutoutFromBlocks: CreateCutoutFromBlocks;\n}\n\nexport function getPluginConfiguration(\n config: Partial<PluginConfiguration>\n): InternalPluginConfiguration {\n return { ...DEFAULT_PLUGIN_CONFIGURATION, ...config };\n}\n\nconst Plugin = (\n config: Partial<PluginConfiguration> = DEFAULT_PLUGIN_CONFIGURATION\n) => ({\n name: PLUGIN_NAME,\n version: PLUGIN_VERSION,\n ...plugin({ ...DEFAULT_PLUGIN_CONFIGURATION, ...config })\n});\n\nexport default Plugin;\n\nexport { generateCutoutFromSelection };\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["CANVAS_MENU_COMPONENT_ID", "CANVAS_MENU_COMPONENT_BUTTON_ID", "CANVAS_MENU_COMPONENT_BUTTON_LABEL", "ASSET_SOURCE_ID", "ENTRY_ID", "NOTIFICATION_SELECT_CUTOUT_BLOCK_ID", "NOTIFICATION_CUTOUT_BLOCK_SELECTED_ID", "NOTIFICATION_DIFFERENT_PAGES_ID", "I18N", "CANVAS_MENU_COMPONENT_BUTTON_LABEL", "registerComponents", "cesdk", "createCutoutFromBlocks", "CANVAS_MENU_COMPONENT_ID", "Button", "engine", "allowedTypes", "selectedBlockIds", "CANVAS_MENU_COMPONENT_BUTTON_ID", "CANVAS_MENU_COMPONENT_BUTTON_LABEL", "theme", "DEFAULT_ASSET_BASE_URI", "generateCutoutFromSelection", "loadAssetSourceFromContentJSON", "engine", "content", "baseURL", "applyAsset", "assets", "sourceId", "asset", "key", "value", "stringValue", "updated", "sourceSet", "loadAssetSourceFromContentJSON_default", "CutoutPlugin", "assetBaseUri", "ui", "createCutoutFromBlocks", "cesdk", "addCutoutAssetSource", "addCutoutAssetLibraryEntry", "registerComponents", "CANVAS_MENU_COMPONENT_ID", "I18N", "config", "DEFAULT_PLUGIN_CONFIGURATION", "getPluginConfiguration", "ENTRY_ID", "ASSET_SOURCE_ID", "theme", "asset", "contentJSON", "res", "loadAssetSourceFromContentJSON_default", "generateCutoutFromSelection", "selectedBlockIds", "NOTIFICATION_SELECT_CUTOUT_BLOCK_ID", "selectedBlockId", "NOTIFICATION_CUTOUT_BLOCK_SELECTED_ID", "parentPageBlockIds", "block", "getParentPageId", "uniqueParentPageBlockIds", "NOTIFICATION_DIFFERENT_PAGES_ID", "pageId", "blockId", "engine", "currentBlock", "parentBlock", "plugin_default", "DEFAULT_ASSET_BASE_URI", "DEFAULT_PLUGIN_CONFIGURATION", "blockIds", "engine", "getPluginConfiguration", "config", "Plugin", "plugin_default", "src_default"]
7
7
  }
package/package.json CHANGED
@@ -1,16 +1,12 @@
1
1
  {
2
2
  "name": "@imgly/plugin-cutout-library-web",
3
- "version": "1.0.5",
3
+ "version": "1.69.0-nightly.20260130",
4
4
  "description": "Cutout Library plugin for the CE.SDK editor",
5
5
  "keywords": [
6
6
  "CE.SDK",
7
7
  "plugin",
8
8
  "cutout"
9
9
  ],
10
- "repository": {
11
- "type": "git",
12
- "url": "git+https://github.com/imgly/plugin-cutout-library-web.git"
13
- },
14
10
  "license": "SEE LICENSE IN LICENSE.md",
15
11
  "author": {
16
12
  "name": "IMG.LY GmbH",
@@ -29,7 +25,7 @@
29
25
  "types": "./dist/index.d.ts"
30
26
  }
31
27
  },
32
- "homepage": "https://img.ly/products/creative-sdk",
28
+ "homepage": "https://img.ly/docs/cesdk/",
33
29
  "files": [
34
30
  "LICENSE.md",
35
31
  "README.md",
@@ -37,34 +33,34 @@
37
33
  "dist/",
38
34
  "bin/"
39
35
  ],
40
- "scripts": {
41
- "start": "npm run watch",
42
- "clean": "npx rimraf dist",
43
- "purge": "npx rimraf node_modules",
44
- "build": "npm run clean && node scripts/build.mjs && cp -r assets dist/",
45
- "dev": "node scripts/watch.mjs",
46
- "dev:wait": "npx wait-on ./dist/index.mjs ./dist/index.d.ts --timeout 30000",
47
- "dev:types": "tsc --emitDeclarationOnly --watch --preserveWatchOutput",
48
- "publish:latest": "npm run build && npm publish --tag latest --access public",
49
- "publish:next": "npm run build && npm publish --tag next --access public",
50
- "check:all": "concurrently -n lint,type,pretty \"yarn check:lint\" \"yarn check:types\" \"yarn check:pretty\"",
51
- "check:lint": "eslint --max-warnings 0 './src/**/*.{ts,tsx}'",
52
- "check:pretty": "prettier --list-different './src/**/*.{ts,tsx}'",
53
- "check:types": "tsc --noEmit",
54
- "types:create": "tsc --emitDeclarationOnly"
55
- },
56
36
  "devDependencies": {
57
37
  "@types/ndarray": "^1.0.14",
58
- "chalk": "^5.3.0",
38
+ "chalk": "^5.4.1",
59
39
  "concurrently": "^8.2.2",
60
- "esbuild": "^0.19.11",
61
- "eslint": "^8.51.0",
62
- "typescript": "^5.3.3"
40
+ "esbuild": "^0.19.12",
41
+ "eslint": "^8.57.1",
42
+ "typescript": "^5.7.3"
63
43
  },
64
44
  "peerDependencies": {
65
- "@cesdk/cesdk-js": "^1.38.0"
45
+ "@cesdk/cesdk-js": "1.69.0-nightly.20260130"
66
46
  },
67
47
  "dependencies": {
68
48
  "lodash": "^4.17.21"
49
+ },
50
+ "scripts": {
51
+ "start": "pnpm run watch",
52
+ "clean": "pnpm exec rimraf dist",
53
+ "purge": "pnpm exec rimraf node_modules",
54
+ "build": "pnpm run clean && pnpm exec node scripts/build.mjs && cp -r assets dist/",
55
+ "test": "echo No tests",
56
+ "dev": "SKIP_DTS=true pnpm exec node scripts/watch.mjs",
57
+ "dev:types": "tsc --emitDeclarationOnly --watch --preserveWatchOutput",
58
+ "publish:latest": "pnpm run build && pnpm publish --tag latest --access public",
59
+ "publish:next": "pnpm run build && pnpm publish --tag next --access public",
60
+ "check:all": "concurrently -n lint,type,pretty \"pnpm run check:lint\" \"pnpm run check:types\" \"pnpm run check:pretty\"",
61
+ "check:lint": "eslint --max-warnings 0 './src/**/*.{ts,tsx}'",
62
+ "check:pretty": "prettier --list-different './src/**/*.{ts,tsx}'",
63
+ "check:types": "tsc --noEmit",
64
+ "types:create": "tsc --emitDeclarationOnly"
69
65
  }
70
- }
66
+ }