@cesdk/cesdk-js 1.64.0-nightly.20251030 → 1.64.0-nightly.20251105
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/assets/core/{cesdk-v1.64.0-nightly.20251030-EKUOOPVJ.wasm → cesdk-v1.64.0-nightly.20251105-IH2WJZOE.wasm} +0 -0
- package/assets/core/worker-host-v1.64.0-nightly.20251105.js +1 -0
- package/assets/i18n/de.json +7 -0
- package/assets/i18n/en.json +7 -0
- package/cesdk.umd.js +1 -1
- package/configs/index.d.ts +74 -0
- package/configs/index.js +1 -0
- package/index.d.ts +223 -6
- package/index.js +1 -1
- package/package.json +14 -2
- package/plugins/index.d.ts +231 -0
- package/plugins/index.js +1 -0
- package/assets/core/worker-host-v1.64.0-nightly.20251030.js +0 -1
- /package/assets/core/{cesdk-v1.64.0-nightly.20251030-44YCFRT6.data → cesdk-v1.64.0-nightly.20251105-44YCFRT6.data} +0 -0
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import type { EditorPlugin } from '@cesdk/cesdk-js';
|
|
2
|
+
import type { EditorPluginContext } from '@cesdk/cesdk-js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Advanced Editor configuration plugin
|
|
6
|
+
* @public
|
|
7
|
+
*/
|
|
8
|
+
export declare class AdvancedEditorConfig implements EditorPlugin {
|
|
9
|
+
name: string;
|
|
10
|
+
version: string;
|
|
11
|
+
initialize({ cesdk, engine }: EditorPluginContext): Promise<void>;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Advanced Video Editor configuration plugin
|
|
16
|
+
* @public
|
|
17
|
+
*/
|
|
18
|
+
export declare class AdvancedVideoEditorConfig implements EditorPlugin {
|
|
19
|
+
name: string;
|
|
20
|
+
version: string;
|
|
21
|
+
initialize({ cesdk, engine }: EditorPluginContext): Promise<void>;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Design Editor configuration plugin
|
|
26
|
+
* @public
|
|
27
|
+
*/
|
|
28
|
+
export declare class DesignEditorConfig implements EditorPlugin {
|
|
29
|
+
name: string;
|
|
30
|
+
version: string;
|
|
31
|
+
initialize({ cesdk, engine }: EditorPluginContext): Promise<void>;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Photo Editor configuration plugin
|
|
36
|
+
* @public
|
|
37
|
+
*/
|
|
38
|
+
export declare class PhotoEditorConfig implements EditorPlugin {
|
|
39
|
+
name: string;
|
|
40
|
+
version: string;
|
|
41
|
+
initialize(ctx: EditorPluginContext): Promise<void>;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Player configuration plugin
|
|
46
|
+
* @public
|
|
47
|
+
*/
|
|
48
|
+
export declare class PlayerConfig implements EditorPlugin {
|
|
49
|
+
name: string;
|
|
50
|
+
version: string;
|
|
51
|
+
initialize({ cesdk }: EditorPluginContext): Promise<void>;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Video Editor configuration plugin
|
|
56
|
+
* @public
|
|
57
|
+
*/
|
|
58
|
+
export declare class VideoEditorConfig implements EditorPlugin {
|
|
59
|
+
name: string;
|
|
60
|
+
version: string;
|
|
61
|
+
initialize({ cesdk, engine }: EditorPluginContext): Promise<void>;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Viewer configuration plugin
|
|
66
|
+
* @public
|
|
67
|
+
*/
|
|
68
|
+
export declare class ViewerConfig implements EditorPlugin {
|
|
69
|
+
name: string;
|
|
70
|
+
version: string;
|
|
71
|
+
initialize({ cesdk }: EditorPluginContext): Promise<void>;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export { }
|
package/configs/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=class{name="cesdk-advanced-editor";version="1.61";async initialize({cesdk:e,engine:i}){e&&(e.resetEditor(),e.ui.setView("advanced"),function(e){e.feature.enable(["ly.img.navigation*","ly.img.text*","ly.img.crop*","ly.img.transform*","ly.img.filter*","ly.img.canvas*","ly.img.inspector*","ly.img.delete","ly.img.duplicate","ly.img.placeholder","ly.img.preview","ly.img.group","ly.img.replace","ly.img.page.move","ly.img.page.add","ly.img.page.resize","ly.img.adjustment","ly.img.effect","ly.img.blur","ly.img.shadow","ly.img.cutout","ly.img.fill","ly.img.stroke","ly.img.opacity","ly.img.blendMode","ly.img.shape.options","ly.img.combine","ly.img.position","ly.img.trim","ly.img.volume","ly.img.animations","ly.img.dock","ly.img.settings","ly.img.library.panel"])}(e),function(e){!function(e){e.ui.setPanelPosition("//ly.img.panel/inspector","right")}(e),function(e){e.ui.setNavigationBarOrder(["ly.img.undoRedo.navigationBar","ly.img.pageResize.navigationBar","ly.img.spacer","ly.img.title.navigationBar","ly.img.spacer","ly.img.zoom.navigationBar","ly.img.preview.navigationBar",{id:"ly.img.actions.navigationBar",children:["ly.img.saveScene.navigationBar","ly.img.importScene.navigationBar","ly.img.exportImage.navigationBar","ly.img.exportPDF.navigationBar"]}])}(e),function(e){e.ui.setCanvasBarOrder(["ly.img.settings.canvasBar","ly.img.spacer","ly.img.page.add.canvasBar","ly.img.spacer"],"bottom"),e.ui.setCanvasMenuOrder(["ly.img.group.enter.canvasMenu","ly.img.group.select.canvasMenu","ly.img.page.moveUp.canvasMenu","ly.img.page.moveDown.canvasMenu","ly.img.separator","ly.img.text.edit.canvasMenu","ly.img.replace.canvasMenu","ly.img.separator","ly.img.placeholder.canvasMenu","ly.img.separator","ly.img.bringForward.canvasMenu","ly.img.sendBackward.canvasMenu","ly.img.separator","ly.img.duplicate.canvasMenu","ly.img.delete.canvasMenu","ly.img.separator","ly.img.options.canvasMenu"],{editMode:"Transform"}),e.ui.setCanvasMenuOrder(["ly.img.text.color.canvasMenu","ly.img.separator","ly.img.text.bold.canvasMenu","ly.img.text.italic.canvasMenu","ly.img.separator","ly.img.text.variables.canvasMenu"],{editMode:"Text"})}(e),function(e){e.ui.setInspectorBarOrder(["ly.img.spacer","ly.img.video.caption.inspectorBar","ly.img.shape.options.inspectorBar","ly.img.cutout.type.inspectorBar","ly.img.cutout.offset.inspectorBar","ly.img.cutout.smoothing.inspectorBar","ly.img.group.create.inspectorBar","ly.img.group.ungroup.inspectorBar","ly.img.audio.replace.inspectorBar","ly.img.separator","ly.img.text.typeFace.inspectorBar","ly.img.text.style.inspectorBar","ly.img.text.bold.inspectorBar","ly.img.text.italic.inspectorBar","ly.img.text.fontSize.inspectorBar","ly.img.text.alignHorizontal.inspectorBar","ly.img.text.advanced.inspectorBar","ly.img.combine.inspectorBar","ly.img.separator","ly.img.fill.inspectorBar","ly.img.trim.inspectorBar","ly.img.volume.inspectorBar","ly.img.crop.inspectorBar","ly.img.separator","ly.img.stroke.inspectorBar","ly.img.separator","ly.img.text.background.inspectorBar","ly.img.separator","ly.img.animations.inspectorBar","ly.img.separator","ly.img.adjustment.inspectorBar","ly.img.filter.inspectorBar","ly.img.effect.inspectorBar","ly.img.blur.inspectorBar","ly.img.separator","ly.img.shadow.inspectorBar","ly.img.separator","ly.img.opacityOptions.inspectorBar","ly.img.separator","ly.img.position.inspectorBar","ly.img.spacer","ly.img.separator","ly.img.inspectorToggle.inspectorBar"],{editMode:"Transform"}),e.ui.setInspectorBarOrder(["ly.img.trimControls.inspectorBar"],{editMode:"Trim"}),e.ui.setInspectorBarOrder(["ly.img.spacer","ly.img.cropControls.inspectorBar","ly.img.spacer"],{editMode:"Crop"})}(e),function(e){e.engine.editor.setSetting("dock/hideLabels",!0),e.engine.editor.setSetting("dock/iconSize","normal"),e.ui.setDockOrder([{id:"ly.img.assetLibrary.dock",key:"ly.img.template",icon:"@imgly/Template",label:"libraries.ly.img.template.label",entries:["ly.img.template"]},{id:"ly.img.separator",key:"ly.img.separator"},{id:"ly.img.assetLibrary.dock",key:"ly.img.elements",icon:"@imgly/Library",label:"component.library.elements",entries:["ly.img.image","ly.img.text","ly.img.vectorpath","ly.img.sticker"]},{id:"ly.img.assetLibrary.dock",key:"ly.img.upload",icon:"@imgly/Upload",label:"libraries.ly.img.upload.label",entries:["ly.img.upload"]},{id:"ly.img.assetLibrary.dock",key:"ly.img.image",icon:"@imgly/Image",label:"libraries.ly.img.image.label",entries:["ly.img.image","ly.img.image.upload"]},{id:"ly.img.assetLibrary.dock",key:"ly.img.text",icon:"@imgly/Text",label:"libraries.ly.img.text.label",entries:["ly.img.text"]},{id:"ly.img.assetLibrary.dock",key:"ly.img.vectorpath",icon:"@imgly/Shapes",label:"libraries.ly.img.vectorpath.label",entries:["ly.img.vectorpath"]},{id:"ly.img.assetLibrary.dock",key:"ly.img.sticker",icon:"@imgly/Sticker",label:"libraries.ly.img.sticker.label",entries:["ly.img.sticker"]}])}(e)}(e),function(e){e.i18n.setTranslations({en:{}})}(e),function(e){e.editor.setSetting("doubleClickToCropEnabled",!0),e.editor.setSetting("doubleClickSelectionMode","Hierarchical"),e.editor.setSetting("page/allowCropInteraction",!0),e.editor.setSetting("page/dimOutOfPageAreas",!0),e.editor.setSetting("page/moveChildrenWhenCroppingFill",!1),e.editor.setSetting("page/selectWhenNoBlocksSelected",!1),e.editor.setSetting("page/title/show",!0),e.editor.setSetting("page/title/showOnSinglePage",!0),e.editor.setSetting("page/title/showPageTitleTemplate",!0),e.editor.setSetting("page/title/appendPageName",!0),e.editor.setSetting("page/title/separator","-"),e.editor.setSetting("placeholderControls/showOverlay",!0),e.editor.setSetting("placeholderControls/showButton",!0)}(i))}};var i=class{name="cesdk-advanced-video-editor";version="1.61";async initialize({cesdk:e,engine:i}){e&&(e.resetEditor(),e.ui.setView("advanced"),function(e){e.feature.enable(["ly.img.navigation*","ly.img.text*","ly.img.crop*","ly.img.transform*","ly.img.filter*","ly.img.canvas*","ly.img.inspector*","ly.img.delete","ly.img.duplicate","ly.img.placeholder","ly.img.preview","ly.img.group","ly.img.replace","ly.img.page.move","ly.img.page.add","ly.img.page.resize","ly.img.adjustment","ly.img.effect","ly.img.blur","ly.img.shadow","ly.img.cutout","ly.img.fill","ly.img.stroke","ly.img.opacity","ly.img.blendMode","ly.img.shape.options","ly.img.combine","ly.img.position","ly.img.trim","ly.img.audio.replace","ly.img.volume","ly.img.animations","ly.img.dock","ly.img.settings","ly.img.library.panel"]),e.feature.enable(["ly.img.video.caption","ly.img.video.timeline"],!0)}(e),function(e){!function(e){e.ui.setPanelPosition("//ly.img.panel/inspector","right")}(e),function(e){e.ui.setNavigationBarOrder(["ly.img.undoRedo.navigationBar","ly.img.pageResize.navigationBar","ly.img.spacer","ly.img.title.navigationBar","ly.img.spacer","ly.img.zoom.navigationBar","ly.img.preview.navigationBar",{id:"ly.img.actions.navigationBar",children:["ly.img.saveScene.navigationBar","ly.img.importScene.navigationBar","ly.img.exportImage.navigationBar","ly.img.exportVideo.navigationBar"]}])}(e),function(e){e.ui.setCanvasBarOrder(["ly.img.settings.canvasBar","ly.img.spacer","ly.img.page.add.canvasBar","ly.img.spacer"],"bottom"),e.ui.setCanvasMenuOrder(["ly.img.group.enter.canvasMenu","ly.img.group.select.canvasMenu","ly.img.page.moveUp.canvasMenu","ly.img.page.moveDown.canvasMenu","ly.img.separator","ly.img.text.edit.canvasMenu","ly.img.replace.canvasMenu","ly.img.separator","ly.img.placeholder.canvasMenu","ly.img.separator","ly.img.bringForward.canvasMenu","ly.img.sendBackward.canvasMenu","ly.img.separator","ly.img.duplicate.canvasMenu","ly.img.delete.canvasMenu","ly.img.separator","ly.img.options.canvasMenu"],{editMode:"Transform"}),e.ui.setCanvasMenuOrder(["ly.img.text.color.canvasMenu","ly.img.separator","ly.img.text.bold.canvasMenu","ly.img.text.italic.canvasMenu","ly.img.separator","ly.img.text.variables.canvasMenu"],{editMode:"Text"})}(e),function(e){e.ui.setInspectorBarOrder(["ly.img.spacer","ly.img.video.caption.inspectorBar","ly.img.shape.options.inspectorBar","ly.img.cutout.type.inspectorBar","ly.img.cutout.offset.inspectorBar","ly.img.cutout.smoothing.inspectorBar","ly.img.group.create.inspectorBar","ly.img.group.ungroup.inspectorBar","ly.img.audio.replace.inspectorBar","ly.img.separator","ly.img.text.typeFace.inspectorBar","ly.img.text.style.inspectorBar","ly.img.text.bold.inspectorBar","ly.img.text.italic.inspectorBar","ly.img.text.fontSize.inspectorBar","ly.img.text.alignHorizontal.inspectorBar","ly.img.text.advanced.inspectorBar","ly.img.combine.inspectorBar","ly.img.separator","ly.img.fill.inspectorBar","ly.img.trim.inspectorBar","ly.img.volume.inspectorBar","ly.img.crop.inspectorBar","ly.img.separator","ly.img.stroke.inspectorBar","ly.img.separator","ly.img.text.background.inspectorBar","ly.img.separator","ly.img.animations.inspectorBar","ly.img.separator","ly.img.adjustment.inspectorBar","ly.img.filter.inspectorBar","ly.img.effect.inspectorBar","ly.img.blur.inspectorBar","ly.img.separator","ly.img.shadow.inspectorBar","ly.img.separator","ly.img.opacityOptions.inspectorBar","ly.img.separator","ly.img.position.inspectorBar","ly.img.spacer","ly.img.separator","ly.img.inspectorToggle.inspectorBar"],{editMode:"Transform"}),e.ui.setInspectorBarOrder(["ly.img.trimControls.inspectorBar"],{editMode:"Trim"}),e.ui.setInspectorBarOrder(["ly.img.spacer","ly.img.cropControls.inspectorBar","ly.img.spacer"],{editMode:"Crop"})}(e),function(e){e.engine.editor.setSetting("dock/hideLabels",!0),e.engine.editor.setSetting("dock/iconSize","normal"),e.ui.setDockOrder([{id:"ly.img.assetLibrary.dock",key:"ly.img.video.template",icon:"@imgly/Template",label:"libraries.ly.img.video.template.label",entries:["ly.img.video.template"]},{id:"ly.img.separator",key:"ly.img.separator"},{id:"ly.img.assetLibrary.dock",key:"ly.img.elements",icon:"@imgly/Library",label:"component.library.elements",entries:["ly.img.image","ly.img.video","ly.img.audio","ly.img.text","ly.img.vectorpath","ly.img.sticker"]},{id:"ly.img.assetLibrary.dock",key:"ly.img.upload",icon:"@imgly/Upload",label:"libraries.ly.img.upload.label",entries:["ly.img.upload"]},{id:"ly.img.assetLibrary.dock",key:"ly.img.image",icon:"@imgly/Image",label:"libraries.ly.img.image.label",entries:["ly.img.image","ly.img.image.upload"]},{id:"ly.img.assetLibrary.dock",key:"ly.img.video",icon:"@imgly/Video",label:"libraries.ly.img.video.label",entries:["ly.img.video","ly.img.video.upload"]},{id:"ly.img.assetLibrary.dock",key:"ly.img.audio",icon:"@imgly/Audio",label:"libraries.ly.img.audio.label",entries:["ly.img.audio","ly.img.audio.upload"]},{id:"ly.img.assetLibrary.dock",key:"ly.img.text",icon:"@imgly/Text",label:"libraries.ly.img.text.label",entries:["ly.img.text"]},{id:"ly.img.assetLibrary.dock",key:"ly.img.vectorpath",icon:"@imgly/Shapes",label:"libraries.ly.img.vectorpath.label",entries:["ly.img.vectorpath"]},{id:"ly.img.assetLibrary.dock",key:"ly.img.sticker",icon:"@imgly/Sticker",label:"libraries.ly.img.sticker.label",entries:["ly.img.sticker"]},{id:"ly.img.spacer",key:"ly.img.spacer"},{id:"ly.img.assetLibrary.dock",key:"ly.img.apps",icon:"@imgly/Apps",label:"libraries.ly.img.apps.label",entries:["ly.img.apps"]}])}(e)}(e),function(e){e.i18n.setTranslations({en:{}})}(e),function(e){e.editor.setSetting("features/videoCaptionsEnabled",!0),e.editor.setSetting("doubleClickToCropEnabled",!0),e.editor.setSetting("doubleClickSelectionMode","Hierarchical"),e.editor.setSetting("page/allowCropInteraction",!0),e.editor.setSetting("page/dimOutOfPageAreas",!0),e.editor.setSetting("page/moveChildrenWhenCroppingFill",!1),e.editor.setSetting("page/selectWhenNoBlocksSelected",!1),e.editor.setSetting("page/title/show",!1),e.editor.setSetting("page/title/showOnSinglePage",!0),e.editor.setSetting("page/title/showPageTitleTemplate",!0),e.editor.setSetting("page/title/appendPageName",!0),e.editor.setSetting("page/title/separator","-"),e.editor.setSetting("placeholderControls/showOverlay",!0),e.editor.setSetting("placeholderControls/showButton",!0)}(i))}};var t=class{name="cesdk-design-editor";version="1.61";async initialize({cesdk:e,engine:i}){e&&(e.resetEditor(),function(e){e.feature.enable(["ly.img.navigation*","ly.img.text*","ly.img.crop*","ly.img.transform*","ly.img.filter*","ly.img.canvas*","ly.img.inspector*","ly.img.delete","ly.img.duplicate","ly.img.group","ly.img.replace","ly.img.page.move","ly.img.page.add","ly.img.page.resize","ly.img.adjustment","ly.img.effect","ly.img.blur","ly.img.shadow","ly.img.cutout","ly.img.fill","ly.img.stroke","ly.img.opacity","ly.img.blendMode","ly.img.shape.options","ly.img.combine","ly.img.position","ly.img.trim","ly.img.volume","ly.img.animations","ly.img.dock","ly.img.settings","ly.img.library.panel"])}(e),function(e){!function(e){e.ui.setPanelPosition("//ly.img.panel/inspector","left")}(e),function(e){e.ui.setNavigationBarOrder(["ly.img.undoRedo.navigationBar","ly.img.pageResize.navigationBar","ly.img.spacer","ly.img.title.navigationBar","ly.img.spacer","ly.img.zoom.navigationBar","ly.img.preview.navigationBar",{id:"ly.img.actions.navigationBar",children:["ly.img.saveScene.navigationBar","ly.img.importScene.navigationBar","ly.img.exportImage.navigationBar","ly.img.exportPDF.navigationBar"]}])}(e),function(e){e.ui.setCanvasBarOrder(["ly.img.settings.canvasBar","ly.img.spacer","ly.img.page.add.canvasBar","ly.img.spacer"],"bottom"),e.ui.setCanvasMenuOrder(["ly.img.group.enter.canvasMenu","ly.img.group.select.canvasMenu","ly.img.page.moveUp.canvasMenu","ly.img.page.moveDown.canvasMenu","ly.img.separator","ly.img.text.edit.canvasMenu","ly.img.replace.canvasMenu","ly.img.separator","ly.img.placeholder.canvasMenu","ly.img.separator","ly.img.bringForward.canvasMenu","ly.img.sendBackward.canvasMenu","ly.img.separator","ly.img.duplicate.canvasMenu","ly.img.delete.canvasMenu","ly.img.separator","ly.img.options.canvasMenu"],{editMode:"Transform"}),e.ui.setCanvasMenuOrder(["ly.img.text.color.canvasMenu","ly.img.separator","ly.img.text.bold.canvasMenu","ly.img.text.italic.canvasMenu","ly.img.separator","ly.img.text.variables.canvasMenu"],{editMode:"Text"})}(e),function(e){e.ui.setInspectorBarOrder(["ly.img.spacer","ly.img.video.caption.inspectorBar","ly.img.shape.options.inspectorBar","ly.img.cutout.type.inspectorBar","ly.img.cutout.offset.inspectorBar","ly.img.cutout.smoothing.inspectorBar","ly.img.group.create.inspectorBar","ly.img.group.ungroup.inspectorBar","ly.img.audio.replace.inspectorBar","ly.img.separator","ly.img.text.typeFace.inspectorBar","ly.img.text.style.inspectorBar","ly.img.text.bold.inspectorBar","ly.img.text.italic.inspectorBar","ly.img.text.fontSize.inspectorBar","ly.img.text.alignHorizontal.inspectorBar","ly.img.text.advanced.inspectorBar","ly.img.combine.inspectorBar","ly.img.separator","ly.img.fill.inspectorBar","ly.img.trim.inspectorBar","ly.img.volume.inspectorBar","ly.img.crop.inspectorBar","ly.img.separator","ly.img.stroke.inspectorBar","ly.img.separator","ly.img.text.background.inspectorBar","ly.img.separator","ly.img.animations.inspectorBar","ly.img.separator","ly.img.adjustment.inspectorBar","ly.img.filter.inspectorBar","ly.img.effect.inspectorBar","ly.img.blur.inspectorBar","ly.img.separator","ly.img.shadow.inspectorBar","ly.img.separator","ly.img.opacityOptions.inspectorBar","ly.img.separator","ly.img.position.inspectorBar","ly.img.spacer","ly.img.separator","ly.img.inspectorToggle.inspectorBar"],{editMode:"Transform"}),e.ui.setInspectorBarOrder(["ly.img.trimControls.inspectorBar"],{editMode:"Trim"}),e.ui.setInspectorBarOrder(["ly.img.spacer","ly.img.cropControls.inspectorBar","ly.img.spacer"],{editMode:"Crop"})}(e),function(e){e.engine.editor.setSetting("dock/hideLabels",!1),e.engine.editor.setSetting("dock/iconSize","large"),e.ui.setDockOrder([{id:"ly.img.assetLibrary.dock",key:"ly.img.template",icon:"@imgly/Template",label:"libraries.ly.img.template.label",entries:["ly.img.template"]},{id:"ly.img.separator",key:"ly.img.separator"},{id:"ly.img.assetLibrary.dock",key:"ly.img.elements",icon:"@imgly/Library",label:"component.library.elements",entries:["ly.img.image","ly.img.text","ly.img.vectorpath","ly.img.sticker"]},{id:"ly.img.assetLibrary.dock",key:"ly.img.upload",icon:"@imgly/Upload",label:"libraries.ly.img.upload.label",entries:["ly.img.upload"]},{id:"ly.img.assetLibrary.dock",key:"ly.img.image",icon:"@imgly/Image",label:"libraries.ly.img.image.label",entries:["ly.img.image","ly.img.image.upload"]},{id:"ly.img.assetLibrary.dock",key:"ly.img.video",icon:"@imgly/Video",label:"libraries.ly.img.video.label",entries:["ly.img.video","ly.img.video.upload"]},{id:"ly.img.assetLibrary.dock",key:"ly.img.text",icon:"@imgly/Text",label:"libraries.ly.img.text.label",entries:["ly.img.text"]},{id:"ly.img.assetLibrary.dock",key:"ly.img.vectorpath",icon:"@imgly/Shapes",label:"libraries.ly.img.vectorpath.label",entries:["ly.img.vectorpath"]},{id:"ly.img.assetLibrary.dock",key:"ly.img.sticker",icon:"@imgly/Sticker",label:"libraries.ly.img.sticker.label",entries:["ly.img.sticker"]}])}(e)}(e),function(e){e.i18n.setTranslations({en:{}})}(e),function(e){e.editor.setSetting("doubleClickToCropEnabled",!0),e.editor.setSetting("doubleClickSelectionMode","Hierarchical"),e.editor.setSetting("page/allowCropInteraction",!0),e.editor.setSetting("page/dimOutOfPageAreas",!0),e.editor.setSetting("page/moveChildrenWhenCroppingFill",!1),e.editor.setSetting("page/selectWhenNoBlocksSelected",!1),e.editor.setSetting("page/title/show",!0),e.editor.setSetting("page/title/showOnSinglePage",!0),e.editor.setSetting("page/title/showPageTitleTemplate",!0),e.editor.setSetting("page/title/appendPageName",!0),e.editor.setSetting("page/title/separator","-"),e.editor.setSetting("placeholderControls/showOverlay",!0),e.editor.setSetting("placeholderControls/showButton",!0)}(i))}};var a=class{name="cesdk-photo-editor";version="1.61";async initialize(e){const i=[],{cesdk:t,engine:a}=e;t&&(t.resetEditor(),function(e){e.feature.enable(["ly.img.navigation*","ly.img.text*","ly.img.crop*","ly.img.filter*","ly.img.dock","ly.img.delete","ly.img.duplicate","ly.img.group","ly.img.adjustment","ly.img.effect","ly.img.shape.options","ly.img.combine","ly.img.position","ly.img.options","ly.img.blur","ly.img.shadow","ly.img.opacity","ly.img.blendMode","ly.img.fill","ly.img.settings","ly.img.library.panel","ly.img.replace"]),e.feature.enable(["ly.img.stroke","ly.img.canvas.menu","ly.img.inspector.bar"],(({engine:e})=>{const i=e.block.findAllSelected();return 1===i.length&&"//ly.img.ubq/page"!==e.block.getType(i[0])}))}(t),function(e){!function(e){e.ui.setPanelPosition("//ly.img.panel/inspector","left")}(e),function(e){e.ui.registerComponent("ly.img.crop.dock",(i=>{!function(e,i){const{builder:{Button:t},engine:a}=e,l=i.ui.isPanelOpen("//ly.img.panel/inspector/crop");t("open-crop",{label:"Crop",icon:"@imgly/Crop",isSelected:l,onClick:async()=>{if(i.ui.closePanel("*"),l)a.editor.setEditMode("Transform");else{"Crop"===i.engine.editor.getEditMode()&&i.engine.editor.setEditMode("Transform");const e=a.block.findAllSelected(),t="//ly.img.ubq/page";e.forEach((e=>{a.block.getType(e)!==t&&a.block.setSelected(e,!1)})),a.editor._update(),a.editor.setEditMode("Crop")}}})}(i,e)})),e.ui.registerComponent("ly.img.adjustment.dock",(i=>{!function(e,i){const{builder:{Button:t},engine:a}=e,l=i.ui.isPanelOpen("//ly.img.panel/inspector/adjustments");t("open-adjustments",{label:"Adjust",icon:"@imgly/Adjustments",isSelected:l,onClick:async()=>{l?i.ui.closePanel("//ly.img.panel/inspector/adjustments"):(i.ui.closePanel("*"),"Crop"===i.engine.editor.getEditMode()&&i.engine.editor.setEditMode("Transform"),a.block.findAllSelected().forEach((e=>{"//ly.img.ubq/page"!==a.block.getType(e)&&a.block.setSelected(e,!1)})),a.editor._update(),i.ui.openPanel("//ly.img.panel/inspector/adjustments",{floating:!0}))}})}(i,e)})),e.ui.registerComponent("ly.img.filter.dock",(i=>{!function(e,i){const{builder:{Button:t},engine:a}=e,l=i.ui.isPanelOpen("//ly.img.panel/inspector/filters");t("open-filters",{label:"Filter",icon:"@imgly/Filter",isSelected:l,onClick:async()=>{l?i.ui.closePanel("//ly.img.panel/inspector/filters"):(i.ui.closePanel("*"),"Crop"===i.engine.editor.getEditMode()&&i.engine.editor.setEditMode("Transform"),a.block.findAllSelected().forEach((e=>{"//ly.img.ubq/page"!==a.block.getType(e)&&a.block.setSelected(e,!1)})),a.editor._update(),i.ui.openPanel("//ly.img.panel/inspector/filters",{floating:!0}))}})}(i,e)})),e.ui.registerComponent("ly.img.effects.dock",(i=>{!function(e,i){const{builder:{Button:t},engine:a}=e,l=i.ui.isPanelOpen("//ly.img.panel/inspector/effects");t("open-effects",{label:"Effects",icon:"@imgly/Effects",isSelected:l,onClick:async()=>{l?i.ui.closePanel("//ly.img.panel/inspector/effects"):(i.ui.closePanel("*"),"Crop"===i.engine.editor.getEditMode()&&i.engine.editor.setEditMode("Transform"),a.block.findAllSelected().forEach((e=>{"//ly.img.ubq/page"!==a.block.getType(e)&&a.block.setSelected(e,!1)})),a.editor._update(),i.ui.openPanel("//ly.img.panel/inspector/effects",{floating:!0}))}})}(i,e)}))}(e),function(e){e.ui.setNavigationBarOrder(["ly.img.undoRedo.navigationBar","ly.img.pageResize.navigationBar","ly.img.spacer","ly.img.title.navigationBar","ly.img.spacer","ly.img.zoom.navigationBar","ly.img.preview.navigationBar",{id:"ly.img.actions.navigationBar",children:["ly.img.saveScene.navigationBar","ly.img.importScene.navigationBar","ly.img.exportImage.navigationBar"]}])}(e),function(e){e.ui.setCanvasBarOrder(["ly.img.settings.canvasBar","ly.img.spacer","ly.img.page.add.canvasBar","ly.img.spacer"],"bottom"),e.ui.setCanvasMenuOrder(["ly.img.group.enter.canvasMenu","ly.img.group.select.canvasMenu","ly.img.page.moveUp.canvasMenu","ly.img.page.moveDown.canvasMenu","ly.img.separator","ly.img.text.edit.canvasMenu","ly.img.replace.canvasMenu","ly.img.separator","ly.img.placeholder.canvasMenu","ly.img.separator","ly.img.bringForward.canvasMenu","ly.img.sendBackward.canvasMenu","ly.img.separator","ly.img.duplicate.canvasMenu","ly.img.delete.canvasMenu","ly.img.separator","ly.img.options.canvasMenu"],{editMode:"Transform"}),e.ui.setCanvasMenuOrder(["ly.img.text.color.canvasMenu","ly.img.separator","ly.img.text.bold.canvasMenu","ly.img.text.italic.canvasMenu","ly.img.separator","ly.img.text.variables.canvasMenu"],{editMode:"Text"})}(e),function(e){e.ui.setInspectorBarOrder(["ly.img.spacer","ly.img.video.caption.inspectorBar","ly.img.shape.options.inspectorBar","ly.img.cutout.type.inspectorBar","ly.img.cutout.offset.inspectorBar","ly.img.cutout.smoothing.inspectorBar","ly.img.group.create.inspectorBar","ly.img.group.ungroup.inspectorBar","ly.img.audio.replace.inspectorBar","ly.img.separator","ly.img.text.typeFace.inspectorBar","ly.img.text.style.inspectorBar","ly.img.text.bold.inspectorBar","ly.img.text.italic.inspectorBar","ly.img.text.fontSize.inspectorBar","ly.img.text.alignHorizontal.inspectorBar","ly.img.text.advanced.inspectorBar","ly.img.combine.inspectorBar","ly.img.separator","ly.img.fill.inspectorBar","ly.img.trim.inspectorBar","ly.img.volume.inspectorBar","ly.img.crop.inspectorBar","ly.img.separator","ly.img.stroke.inspectorBar","ly.img.separator","ly.img.text.background.inspectorBar","ly.img.separator","ly.img.animations.inspectorBar","ly.img.separator","ly.img.adjustment.inspectorBar","ly.img.filter.inspectorBar","ly.img.effect.inspectorBar","ly.img.blur.inspectorBar","ly.img.separator","ly.img.shadow.inspectorBar","ly.img.separator","ly.img.opacityOptions.inspectorBar","ly.img.separator","ly.img.position.inspectorBar","ly.img.spacer","ly.img.separator","ly.img.inspectorToggle.inspectorBar"],{editMode:"Transform"}),e.ui.setInspectorBarOrder(["ly.img.trimControls.inspectorBar"],{editMode:"Trim"}),e.ui.setInspectorBarOrder(["ly.img.spacer","ly.img.cropControls.inspectorBar","ly.img.spacer"],{editMode:"Crop"})}(e),function(e){e.engine.editor.setSetting("dock/hideLabels",!1),e.engine.editor.setSetting("dock/iconSize","large"),e.ui.setDockOrder(["ly.img.spacer",{id:"ly.img.crop.dock",key:"ly.img.crop",icon:"@imgly/Crop",label:"Crop"},{id:"ly.img.adjustment.dock",key:"ly.img.adjustment",icon:"@imgly/Adjustments",label:"Adjust"},{id:"ly.img.filter.dock",key:"ly.img.filter",icon:"@imgly/Filter",label:"Filter"},{id:"ly.img.effects.dock",key:"ly.img.effects",icon:"@imgly/Effects",label:"Effects"},{id:"ly.img.separator",key:"ly.img.separator"},{id:"ly.img.assetLibrary.dock",key:"ly.img.text",icon:"@imgly/Text",label:"libraries.ly.img.text.label",entries:["ly.img.text"]},{id:"ly.img.assetLibrary.dock",key:"ly.img.vectorpath",icon:"@imgly/Shapes",label:"libraries.ly.img.vectorpath.label",entries:["ly.img.vectorpath"]},{id:"ly.img.assetLibrary.dock",key:"ly.img.sticker",icon:"@imgly/Sticker",label:"libraries.ly.img.sticker.label",entries:["ly.img.sticker"]},"ly.img.spacer"])}(e)}(t),function(e){e.i18n.setTranslations({en:{"libraries.ly.img.sticker.label":"Stickers","libraries.ly.img.vectorpath.label":"Shapes","libraries.ly.img.text.label":"Text"}})}(t),function(e,i){const t=e.editor.onStateChanged((()=>{const i=e.scene.getCurrentPage();if(null==i)return;const t=e.editor.getEditMode();e.editor.setHighlightingEnabled(i,"Crop"===t)}));i.push(t)}(a,i),function(e,i){e.onReset((()=>{i.forEach((e=>{e()})),i.length=0}))}(t,i),function(e){e.editor.setSetting("doubleClickToCropEnabled",!1),e.editor.setSetting("doubleClickSelectionMode","Hierarchical"),e.editor.setSetting("page/allowCropInteraction",!0),e.editor.setSetting("page/dimOutOfPageAreas",!0),e.editor.setSetting("page/moveChildrenWhenCroppingFill",!0),e.editor.setSetting("page/selectWhenNoBlocksSelected",!0),e.editor.setSetting("page/title/show",!1),e.editor.setSetting("page/title/showOnSinglePage",!0),e.editor.setSetting("page/title/showPageTitleTemplate",!0),e.editor.setSetting("page/title/appendPageName",!0),e.editor.setSetting("page/title/separator","-"),e.editor.setSetting("placeholderControls/showOverlay",!0),e.editor.setSetting("placeholderControls/showButton",!0)}(a))}};var l=class{name="cesdk-player";version="1.61";async initialize({cesdk:e}){e&&(e.resetEditor(),e.engine.editor.setGlobalScope("text/edit","Deny"),e.engine.editor.setGlobalScope("text/character","Deny"),e.engine.editor.setGlobalScope("fill/change","Deny"),e.engine.editor.setGlobalScope("fill/changeType","Deny"),e.engine.editor.setGlobalScope("stroke/change","Deny"),e.engine.editor.setGlobalScope("shape/change","Deny"),e.engine.editor.setGlobalScope("layer/move","Deny"),e.engine.editor.setGlobalScope("layer/resize","Deny"),e.engine.editor.setGlobalScope("layer/rotate","Deny"),e.engine.editor.setGlobalScope("layer/flip","Deny"),e.engine.editor.setGlobalScope("layer/crop","Deny"),e.engine.editor.setGlobalScope("layer/opacity","Deny"),e.engine.editor.setGlobalScope("layer/blendMode","Deny"),e.engine.editor.setGlobalScope("layer/visibility","Deny"),e.engine.editor.setGlobalScope("layer/clipping","Deny"),e.engine.editor.setGlobalScope("appearance/adjustments","Deny"),e.engine.editor.setGlobalScope("appearance/filter","Deny"),e.engine.editor.setGlobalScope("appearance/effect","Deny"),e.engine.editor.setGlobalScope("appearance/blur","Deny"),e.engine.editor.setGlobalScope("appearance/shadow","Deny"),e.engine.editor.setGlobalScope("appearance/animation","Deny"),e.engine.editor.setGlobalScope("lifecycle/destroy","Deny"),e.engine.editor.setGlobalScope("lifecycle/duplicate","Deny"),e.engine.editor.setGlobalScope("editor/add","Deny"),e.engine.editor.setGlobalScope("editor/select","Deny"),e.engine.editor.setSetting("doubleClickSelectionMode","Direct"),e.engine.editor.setSetting("highlightColor",{r:0,g:0,b:0,a:0}),e.ui.registerComponent("ly.img.play.button",(({builder:i,engine:t})=>{const a=e.engine.scene.getCurrentPage(),l=null!=a&&t.block.isPlaying(a);i.Button("ly.img.play.button.component",{icon:l?"@imgly/Pause":"@imgly/Play",size:"large",variant:"regular",onClick:()=>{null!=a&&t.block.setPlaying(a,!l)}})})),e.feature.enable("ly.img.canvasBar"),e.ui.setCanvasBarOrder(["ly.img.spacer","ly.img.play.button","ly.img.spacer"],"bottom"))}};var r=class{name="cesdk-video-editor";version="1.61";async initialize({cesdk:e,engine:i}){e&&(e.resetEditor(),function(e){e.feature.enable(["ly.img.navigation*","ly.img.text*","ly.img.crop*","ly.img.transform*","ly.img.filter*","ly.img.canvas*","ly.img.inspector*","ly.img.delete","ly.img.duplicate","ly.img.group","ly.img.replace","ly.img.page.move","ly.img.page.add","ly.img.page.resize","ly.img.adjustment","ly.img.effect","ly.img.blur","ly.img.shadow","ly.img.cutout","ly.img.fill","ly.img.stroke","ly.img.opacity","ly.img.blendMode","ly.img.shape.options","ly.img.combine","ly.img.position","ly.img.trim","ly.img.audio.replace","ly.img.volume","ly.img.animations","ly.img.dock","ly.img.settings","ly.img.library.panel"]),e.feature.enable(["ly.img.video.caption","ly.img.video.timeline"],!0)}(e),function(e){!function(e){e.ui.setPanelPosition("//ly.img.panel/inspector","left")}(e),function(e){e.ui.setNavigationBarOrder(["ly.img.undoRedo.navigationBar","ly.img.pageResize.navigationBar","ly.img.spacer","ly.img.title.navigationBar","ly.img.spacer","ly.img.zoom.navigationBar","ly.img.preview.navigationBar",{id:"ly.img.actions.navigationBar",children:["ly.img.saveScene.navigationBar","ly.img.importScene.navigationBar","ly.img.exportImage.navigationBar","ly.img.exportVideo.navigationBar"]}])}(e),function(e){e.ui.setCanvasBarOrder(["ly.img.settings.canvasBar","ly.img.spacer","ly.img.page.add.canvasBar","ly.img.spacer"],"bottom"),e.ui.setCanvasMenuOrder(["ly.img.group.enter.canvasMenu","ly.img.group.select.canvasMenu","ly.img.page.moveUp.canvasMenu","ly.img.page.moveDown.canvasMenu","ly.img.separator","ly.img.text.edit.canvasMenu","ly.img.replace.canvasMenu","ly.img.separator","ly.img.placeholder.canvasMenu","ly.img.separator","ly.img.bringForward.canvasMenu","ly.img.sendBackward.canvasMenu","ly.img.separator","ly.img.duplicate.canvasMenu","ly.img.delete.canvasMenu","ly.img.separator","ly.img.options.canvasMenu"],{editMode:"Transform"}),e.ui.setCanvasMenuOrder(["ly.img.text.color.canvasMenu","ly.img.separator","ly.img.text.bold.canvasMenu","ly.img.text.italic.canvasMenu","ly.img.separator","ly.img.text.variables.canvasMenu"],{editMode:"Text"})}(e),function(e){e.ui.setInspectorBarOrder(["ly.img.spacer","ly.img.video.caption.inspectorBar","ly.img.shape.options.inspectorBar","ly.img.cutout.type.inspectorBar","ly.img.cutout.offset.inspectorBar","ly.img.cutout.smoothing.inspectorBar","ly.img.group.create.inspectorBar","ly.img.group.ungroup.inspectorBar","ly.img.audio.replace.inspectorBar","ly.img.separator","ly.img.text.typeFace.inspectorBar","ly.img.text.style.inspectorBar","ly.img.text.bold.inspectorBar","ly.img.text.italic.inspectorBar","ly.img.text.fontSize.inspectorBar","ly.img.text.alignHorizontal.inspectorBar","ly.img.text.advanced.inspectorBar","ly.img.combine.inspectorBar","ly.img.separator","ly.img.fill.inspectorBar","ly.img.trim.inspectorBar","ly.img.volume.inspectorBar","ly.img.crop.inspectorBar","ly.img.separator","ly.img.stroke.inspectorBar","ly.img.separator","ly.img.text.background.inspectorBar","ly.img.separator","ly.img.animations.inspectorBar","ly.img.separator","ly.img.adjustment.inspectorBar","ly.img.filter.inspectorBar","ly.img.effect.inspectorBar","ly.img.blur.inspectorBar","ly.img.separator","ly.img.shadow.inspectorBar","ly.img.separator","ly.img.opacityOptions.inspectorBar","ly.img.separator","ly.img.position.inspectorBar","ly.img.spacer","ly.img.separator","ly.img.inspectorToggle.inspectorBar"],{editMode:"Transform"}),e.ui.setInspectorBarOrder(["ly.img.trimControls.inspectorBar"],{editMode:"Trim"}),e.ui.setInspectorBarOrder(["ly.img.spacer","ly.img.cropControls.inspectorBar","ly.img.spacer"],{editMode:"Crop"})}(e),function(e){e.engine.editor.setSetting("dock/hideLabels",!1),e.engine.editor.setSetting("dock/iconSize","large"),e.ui.setDockOrder([{id:"ly.img.assetLibrary.dock",key:"ly.img.video.template",icon:"@imgly/Template",label:"libraries.ly.img.video.template.label",entries:["ly.img.video.template"]},{id:"ly.img.separator",key:"ly.img.separator"},{id:"ly.img.assetLibrary.dock",key:"ly.img.elements",icon:"@imgly/Library",label:"component.library.elements",entries:["ly.img.image","ly.img.video","ly.img.audio","ly.img.text","ly.img.vectorpath","ly.img.sticker"]},{id:"ly.img.assetLibrary.dock",key:"ly.img.upload",icon:"@imgly/Upload",label:"libraries.ly.img.upload.label",entries:["ly.img.upload"]},{id:"ly.img.assetLibrary.dock",key:"ly.img.image",icon:"@imgly/Image",label:"libraries.ly.img.image.label",entries:["ly.img.image","ly.img.image.upload"]},{id:"ly.img.assetLibrary.dock",key:"ly.img.video",icon:"@imgly/Video",label:"libraries.ly.img.video.label",entries:["ly.img.video","ly.img.video.upload"]},{id:"ly.img.assetLibrary.dock",key:"ly.img.audio",icon:"@imgly/Audio",label:"libraries.ly.img.audio.label",entries:["ly.img.audio","ly.img.audio.upload"]},{id:"ly.img.assetLibrary.dock",key:"ly.img.text",icon:"@imgly/Text",label:"libraries.ly.img.text.label",entries:["ly.img.text"]},{id:"ly.img.assetLibrary.dock",key:"ly.img.vectorpath",icon:"@imgly/Shapes",label:"libraries.ly.img.vectorpath.label",entries:["ly.img.vectorpath"]},{id:"ly.img.assetLibrary.dock",key:"ly.img.sticker",icon:"@imgly/Sticker",label:"libraries.ly.img.sticker.label",entries:["ly.img.sticker"]},{id:"ly.img.spacer",key:"ly.img.spacer"},{id:"ly.img.assetLibrary.dock",key:"ly.img.apps",icon:"@imgly/Apps",label:"libraries.ly.img.apps.label",entries:["ly.img.apps"]}])}(e)}(e),function(e){e.i18n.setTranslations({en:{}})}(e),function(e){e.editor.setSetting("features/videoCaptionsEnabled",!0),e.editor.setSetting("doubleClickToCropEnabled",!0),e.editor.setSetting("doubleClickSelectionMode","Hierarchical"),e.editor.setSetting("page/allowCropInteraction",!0),e.editor.setSetting("page/dimOutOfPageAreas",!0),e.editor.setSetting("page/moveChildrenWhenCroppingFill",!1),e.editor.setSetting("page/selectWhenNoBlocksSelected",!1),e.editor.setSetting("page/title/show",!1),e.editor.setSetting("page/title/showOnSinglePage",!0),e.editor.setSetting("page/title/showPageTitleTemplate",!0),e.editor.setSetting("page/title/appendPageName",!0),e.editor.setSetting("page/title/separator","-"),e.editor.setSetting("placeholderControls/showOverlay",!0),e.editor.setSetting("placeholderControls/showButton",!0)}(i))}},o=class{name="cesdk-viewer";version="1.61";async initialize({cesdk:e}){e&&(e.resetEditor(),e.engine.editor.setGlobalScope("text/edit","Deny"),e.engine.editor.setGlobalScope("text/character","Deny"),e.engine.editor.setGlobalScope("fill/change","Deny"),e.engine.editor.setGlobalScope("fill/changeType","Deny"),e.engine.editor.setGlobalScope("stroke/change","Deny"),e.engine.editor.setGlobalScope("shape/change","Deny"),e.engine.editor.setGlobalScope("layer/move","Deny"),e.engine.editor.setGlobalScope("layer/resize","Deny"),e.engine.editor.setGlobalScope("layer/rotate","Deny"),e.engine.editor.setGlobalScope("layer/flip","Deny"),e.engine.editor.setGlobalScope("layer/crop","Deny"),e.engine.editor.setGlobalScope("layer/opacity","Deny"),e.engine.editor.setGlobalScope("layer/blendMode","Deny"),e.engine.editor.setGlobalScope("layer/visibility","Deny"),e.engine.editor.setGlobalScope("layer/clipping","Deny"),e.engine.editor.setGlobalScope("appearance/adjustments","Deny"),e.engine.editor.setGlobalScope("appearance/filter","Deny"),e.engine.editor.setGlobalScope("appearance/effect","Deny"),e.engine.editor.setGlobalScope("appearance/blur","Deny"),e.engine.editor.setGlobalScope("appearance/shadow","Deny"),e.engine.editor.setGlobalScope("appearance/animation","Deny"),e.engine.editor.setGlobalScope("lifecycle/destroy","Deny"),e.engine.editor.setGlobalScope("lifecycle/duplicate","Deny"),e.engine.editor.setGlobalScope("editor/add","Deny"),e.engine.editor.setGlobalScope("editor/select","Deny"),e.engine.editor.setSetting("doubleClickSelectionMode","Direct"),e.engine.editor.setSetting("highlightColor",{r:0,g:0,b:0,a:0}))}};export{e as AdvancedEditorConfig,i as AdvancedVideoEditorConfig,t as DesignEditorConfig,a as PhotoEditorConfig,l as PlayerConfig,r as VideoEditorConfig,o as ViewerConfig};
|
package/index.d.ts
CHANGED
|
@@ -339,16 +339,52 @@ export { AssetGroups }
|
|
|
339
339
|
* Represents an asset library dock component.
|
|
340
340
|
*
|
|
341
341
|
* The AssetLibraryDockComponent interface defines the structure of an asset library dock component.
|
|
342
|
-
* It includes properties for the ID, key, label, icon, and
|
|
342
|
+
* It includes properties for the ID, key, label, icon, entries, and optional button styling/behavior.
|
|
343
343
|
*
|
|
344
344
|
* @public
|
|
345
345
|
*/
|
|
346
346
|
export declare type AssetLibraryDockComponent = {
|
|
347
347
|
id: 'ly.img.assetLibrary.dock';
|
|
348
|
+
/**
|
|
349
|
+
* Individual and optional key for the component.
|
|
350
|
+
*/
|
|
348
351
|
key?: string;
|
|
352
|
+
/**
|
|
353
|
+
* Label to display on the button.
|
|
354
|
+
*/
|
|
349
355
|
label?: string;
|
|
356
|
+
/**
|
|
357
|
+
* Icon to display on the button.
|
|
358
|
+
*/
|
|
350
359
|
icon?: string;
|
|
360
|
+
/**
|
|
361
|
+
* Determines with what entries the asset library is opened.
|
|
362
|
+
*/
|
|
351
363
|
entries: string[];
|
|
364
|
+
/**
|
|
365
|
+
* Custom onClick handler. If provided, overrides the default asset library toggle behavior.
|
|
366
|
+
*/
|
|
367
|
+
onClick?: () => void;
|
|
368
|
+
/**
|
|
369
|
+
* Controls the selected state of the button. If provided, overrides the automatic detection.
|
|
370
|
+
*/
|
|
371
|
+
selected?: boolean;
|
|
372
|
+
/**
|
|
373
|
+
* Controls the disabled state of the button. If provided, overrides the automatic detection.
|
|
374
|
+
*/
|
|
375
|
+
disabled?: boolean;
|
|
376
|
+
/**
|
|
377
|
+
* Size of the button. Defaults to 'normal'.
|
|
378
|
+
*/
|
|
379
|
+
size?: 'normal' | 'large';
|
|
380
|
+
/**
|
|
381
|
+
* Visual variant of the button. Defaults to 'regular'.
|
|
382
|
+
*/
|
|
383
|
+
variant?: 'regular' | 'plain';
|
|
384
|
+
/**
|
|
385
|
+
* Color scheme of the button.
|
|
386
|
+
*/
|
|
387
|
+
color?: 'accent' | 'danger';
|
|
352
388
|
};
|
|
353
389
|
|
|
354
390
|
/**
|
|
@@ -2531,6 +2567,11 @@ export { CreateSceneOptions }
|
|
|
2531
2567
|
*/
|
|
2532
2568
|
declare class CreativeEditorSDK {
|
|
2533
2569
|
#private;
|
|
2570
|
+
/**
|
|
2571
|
+
* The version of the CE.SDK package.
|
|
2572
|
+
* @category Members
|
|
2573
|
+
*/
|
|
2574
|
+
static readonly version: string;
|
|
2534
2575
|
|
|
2535
2576
|
/**
|
|
2536
2577
|
* Access to the CreativeEngine instance that powers the editor.
|
|
@@ -2601,13 +2642,13 @@ declare class CreativeEditorSDK {
|
|
|
2601
2642
|
* - `'ly.img.filter.lut'` - LUT effects of various kinds
|
|
2602
2643
|
* - `'ly.img.filter.duotone'` - Color effects of various kinds
|
|
2603
2644
|
*
|
|
2604
|
-
* These assets are parsed
|
|
2605
|
-
* `baseURL` defaults to
|
|
2645
|
+
* These assets are parsed at `\{\{base_url\}\}/<id>/content.json`, where
|
|
2646
|
+
* `baseURL` defaults to the IMG.LY CDN.
|
|
2606
2647
|
* Each source is created via `addLocalSource` and populated with the parsed assets. To modify the available
|
|
2607
2648
|
* assets, you may either exclude certain IDs via `excludeAssetSourceIds` or alter the sources after creation.
|
|
2608
2649
|
*
|
|
2609
2650
|
* @category Asset Management
|
|
2610
|
-
* @param options - Configuration options for asset sources. Contains `baseURL` (defaults to
|
|
2651
|
+
* @param options - Configuration options for asset sources. Contains `baseURL` (defaults to IMG.LY CDN) and `excludeAssetSourceIds` (IDs to ignore during load).
|
|
2611
2652
|
*/
|
|
2612
2653
|
addDefaultAssetSources({ baseURL, excludeAssetSourceIds }?: {
|
|
2613
2654
|
baseURL?: string;
|
|
@@ -2628,7 +2669,7 @@ declare class CreativeEditorSDK {
|
|
|
2628
2669
|
* - `'ly.img.video.upload'` - Demo source to upload video assets
|
|
2629
2670
|
*
|
|
2630
2671
|
* @category Asset Management
|
|
2631
|
-
* @param options - Configuration options for asset sources. Contains `baseURL` (defaults to
|
|
2672
|
+
* @param options - Configuration options for asset sources. Contains `baseURL` (defaults to IMG.LY CDN), `excludeAssetSourceIds` (IDs to ignore during load), and `sceneMode` (loads video-specific sources if 'Video').
|
|
2632
2673
|
*/
|
|
2633
2674
|
addDemoAssetSources({ baseURL, excludeAssetSourceIds, sceneMode, withUploadAssetSources }?: {
|
|
2634
2675
|
baseURL?: string;
|
|
@@ -3442,6 +3483,182 @@ export declare type ExportSceneAction = (options: {
|
|
|
3442
3483
|
* The FeatureAPI allows you to enable or disable specific functionality
|
|
3443
3484
|
* within the editor based on custom conditions or user permissions.
|
|
3444
3485
|
*
|
|
3486
|
+
* ## Understanding the Feature System
|
|
3487
|
+
*
|
|
3488
|
+
* The feature system uses a **predicate chain** to determine if a feature is enabled.
|
|
3489
|
+
* There are two types of predicates:
|
|
3490
|
+
*
|
|
3491
|
+
* 1. **Boolean predicates** (e.g., `true` or `false`) - These are **always terminal** and immediately return their value.
|
|
3492
|
+
* 2. **Function predicates** - The implementation decides whether to call `isPreviousEnable()` (continue chain) or return directly (end chain).
|
|
3493
|
+
*
|
|
3494
|
+
* ### Evaluation Order
|
|
3495
|
+
*
|
|
3496
|
+
* Predicates are evaluated in this order:
|
|
3497
|
+
* 1. **`set()` predicates** (most recent first) - Evaluated **FIRST**
|
|
3498
|
+
* 2. **`enable()`/`disable()` state** - Evaluated **LAST**
|
|
3499
|
+
*
|
|
3500
|
+
* This means **`set()` can override `enable()` and `disable()`**.
|
|
3501
|
+
*
|
|
3502
|
+
* ## Common Use Cases and Expected Outcomes
|
|
3503
|
+
*
|
|
3504
|
+
* ### Use Case 1: Simple Enable/Disable
|
|
3505
|
+
*
|
|
3506
|
+
* **Use `enable()` and `disable()` for simple on/off control:**
|
|
3507
|
+
*
|
|
3508
|
+
* ```typescript
|
|
3509
|
+
* // Enable a feature with its default behavior
|
|
3510
|
+
* cesdk.feature.enable('ly.img.delete');
|
|
3511
|
+
* // isEnabled: true
|
|
3512
|
+
*
|
|
3513
|
+
* // Disable it
|
|
3514
|
+
* cesdk.feature.disable('ly.img.delete');
|
|
3515
|
+
* // isEnabled: false
|
|
3516
|
+
*
|
|
3517
|
+
* // Re-enable it
|
|
3518
|
+
* cesdk.feature.enable('ly.img.delete');
|
|
3519
|
+
* // isEnabled: true
|
|
3520
|
+
* ```
|
|
3521
|
+
*
|
|
3522
|
+
* **Expected outcome:** `enable()` and `disable()` work together to toggle features on/off.
|
|
3523
|
+
*
|
|
3524
|
+
* ### Use Case 2: Custom Conditions with `set()`
|
|
3525
|
+
*
|
|
3526
|
+
* **Use `set()` when you need custom logic:**
|
|
3527
|
+
*
|
|
3528
|
+
* ```typescript
|
|
3529
|
+
* // Enable delete only when something is selected
|
|
3530
|
+
* cesdk.feature.set('ly.img.delete', ({ engine }) => {
|
|
3531
|
+
* return engine.block.findAllSelected().length > 0;
|
|
3532
|
+
* });
|
|
3533
|
+
* // isEnabled: depends on selection
|
|
3534
|
+
*
|
|
3535
|
+
* // Now calling disable() won't work because set() is evaluated first!
|
|
3536
|
+
* cesdk.feature.disable('ly.img.delete');
|
|
3537
|
+
* // isEnabled: still depends on selection (disable is ignored)
|
|
3538
|
+
* ```
|
|
3539
|
+
*
|
|
3540
|
+
* **Expected outcome:** `set()` function predicates are evaluated before `disable()`,
|
|
3541
|
+
* so `disable()` has no effect when a `set()` predicate exists.
|
|
3542
|
+
*
|
|
3543
|
+
* ### Use Case 3: Terminal Boolean Predicates
|
|
3544
|
+
*
|
|
3545
|
+
* **Boolean predicates are terminal - they stop the chain:**
|
|
3546
|
+
*
|
|
3547
|
+
* ```typescript
|
|
3548
|
+
* cesdk.feature.enable('ly.img.delete'); // Default predicate: true
|
|
3549
|
+
* cesdk.feature.set('ly.img.delete', false); // Adds false to front
|
|
3550
|
+
* // Chain: [set(false), enable(true)]
|
|
3551
|
+
* // Evaluation: false (stops here, never reaches enable)
|
|
3552
|
+
* // isEnabled: false
|
|
3553
|
+
*
|
|
3554
|
+
* cesdk.feature.set('ly.img.delete', true); // Adds true to front
|
|
3555
|
+
* // Chain: [set(true), set(false), enable(true)]
|
|
3556
|
+
* // Evaluation: true (stops here, never reaches the rest)
|
|
3557
|
+
* // isEnabled: true
|
|
3558
|
+
* ```
|
|
3559
|
+
*
|
|
3560
|
+
* **Expected outcome:** The most recent `set()` call with a boolean wins because
|
|
3561
|
+
* boolean predicates are terminal.
|
|
3562
|
+
*
|
|
3563
|
+
* ### Use Case 4: Layering Conditions with Functions
|
|
3564
|
+
*
|
|
3565
|
+
* **Function predicates can check previous conditions:**
|
|
3566
|
+
*
|
|
3567
|
+
* ```typescript
|
|
3568
|
+
* // Base: Feature enabled by default
|
|
3569
|
+
* cesdk.feature.enable('ly.img.delete');
|
|
3570
|
+
*
|
|
3571
|
+
* // Layer 1: Add selection requirement
|
|
3572
|
+
* cesdk.feature.set('ly.img.delete', ({ isPreviousEnable, engine }) => {
|
|
3573
|
+
* const baseEnabled = isPreviousEnable(); // Checks enable(true)
|
|
3574
|
+
* const hasSelection = engine.block.findAllSelected().length > 0;
|
|
3575
|
+
* return baseEnabled && hasSelection;
|
|
3576
|
+
* });
|
|
3577
|
+
* // isEnabled: true only if enabled AND has selection
|
|
3578
|
+
*
|
|
3579
|
+
* // Layer 2: Add mode requirement
|
|
3580
|
+
* cesdk.feature.set('ly.img.delete', ({ isPreviousEnable, engine }) => {
|
|
3581
|
+
* const previousEnabled = isPreviousEnable(); // Checks Layer 1
|
|
3582
|
+
* const isDesignMode = engine.scene.getMode() === 'Design';
|
|
3583
|
+
* return previousEnabled && isDesignMode;
|
|
3584
|
+
* });
|
|
3585
|
+
* // isEnabled: true only if all conditions met (mode + selection + enabled)
|
|
3586
|
+
* ```
|
|
3587
|
+
*
|
|
3588
|
+
* **Expected outcome:** Each `set()` call with a function can build on previous
|
|
3589
|
+
* conditions by calling `isPreviousEnable()`.
|
|
3590
|
+
*
|
|
3591
|
+
* ### Use Case 5: Overriding with `set()`
|
|
3592
|
+
*
|
|
3593
|
+
* **`set()` can completely override enable/disable:**
|
|
3594
|
+
*
|
|
3595
|
+
* ```typescript
|
|
3596
|
+
* cesdk.feature.enable('ly.img.delete');
|
|
3597
|
+
* cesdk.feature.disable('ly.img.delete');
|
|
3598
|
+
* // isEnabled: false (disable overrides enable)
|
|
3599
|
+
*
|
|
3600
|
+
* // But set() overrides both:
|
|
3601
|
+
* cesdk.feature.set('ly.img.delete', true);
|
|
3602
|
+
* // Chain: [set(true), disable(false)]
|
|
3603
|
+
* // isEnabled: true (set is terminal, disable never evaluated)
|
|
3604
|
+
* ```
|
|
3605
|
+
*
|
|
3606
|
+
* **Expected outcome:** `set()` with a boolean always wins because it's evaluated
|
|
3607
|
+
* first and is terminal.
|
|
3608
|
+
*
|
|
3609
|
+
* ### Use Case 6: Glob Patterns for Bulk Operations
|
|
3610
|
+
*
|
|
3611
|
+
* **Use wildcards to affect multiple features:**
|
|
3612
|
+
*
|
|
3613
|
+
* ```typescript
|
|
3614
|
+
* // Enable all video features at once
|
|
3615
|
+
* cesdk.feature.enable('ly.img.video.*');
|
|
3616
|
+
*
|
|
3617
|
+
* // Disable all crop features
|
|
3618
|
+
* cesdk.feature.disable('ly.img.crop.*');
|
|
3619
|
+
*
|
|
3620
|
+
* // Set custom predicate for all navigation features
|
|
3621
|
+
* cesdk.feature.set('ly.img.navigation.*', ({ engine }) => {
|
|
3622
|
+
* return engine.scene.getMode() === 'Design';
|
|
3623
|
+
* });
|
|
3624
|
+
*
|
|
3625
|
+
* // Check if all video features are enabled
|
|
3626
|
+
* const allVideoEnabled = cesdk.feature.isEnabled('ly.img.video.*');
|
|
3627
|
+
* // Returns true only if ALL matching features are enabled
|
|
3628
|
+
* ```
|
|
3629
|
+
*
|
|
3630
|
+
* **Expected outcome:** Glob patterns match multiple features. `isEnabled()` with
|
|
3631
|
+
* a glob returns `true` only if **all** matching features are enabled.
|
|
3632
|
+
*
|
|
3633
|
+
* ### Use Case 7: Role-Based Access Control
|
|
3634
|
+
*
|
|
3635
|
+
* **Implement permissions using predicates:**
|
|
3636
|
+
*
|
|
3637
|
+
* ```typescript
|
|
3638
|
+
* const userRole = 'editor'; // Could be 'viewer', 'editor', 'admin'
|
|
3639
|
+
*
|
|
3640
|
+
* cesdk.feature.set('ly.img.delete', () => {
|
|
3641
|
+
* return userRole === 'editor' || userRole === 'admin';
|
|
3642
|
+
* });
|
|
3643
|
+
*
|
|
3644
|
+
* cesdk.feature.set('ly.img.settings', () => {
|
|
3645
|
+
* return userRole === 'admin';
|
|
3646
|
+
* });
|
|
3647
|
+
* ```
|
|
3648
|
+
*
|
|
3649
|
+
* **Expected outcome:** Features are enabled based on user roles, with predicates
|
|
3650
|
+
* evaluated on every check.
|
|
3651
|
+
*
|
|
3652
|
+
* ## Key Principles
|
|
3653
|
+
*
|
|
3654
|
+
* 1. **Use `enable()` for simple on/off** - Works with default predicates
|
|
3655
|
+
* 2. **Use `disable()` to turn off enabled features** - Only works if no `set()` predicates exist
|
|
3656
|
+
* 3. **Use `set()` for custom logic** - Overrides `enable()`/`disable()`
|
|
3657
|
+
* 4. **Boolean predicates are terminal** - Stop evaluation immediately
|
|
3658
|
+
* 5. **Function predicates can chain** - Call `isPreviousEnable()` to continue
|
|
3659
|
+
* 6. **Most recent `set()` wins** - Evaluated in LIFO order (most recent first)
|
|
3660
|
+
* 7. **Glob patterns affect multiple features** - Use `*` as wildcard
|
|
3661
|
+
*
|
|
3445
3662
|
* @categoryDescription Feature Control
|
|
3446
3663
|
* Methods for enabling and checking the status of editor features based on custom predicates.
|
|
3447
3664
|
*
|
|
@@ -3692,7 +3909,7 @@ export declare class FeatureAPI {
|
|
|
3692
3909
|
*
|
|
3693
3910
|
* @public
|
|
3694
3911
|
*/
|
|
3695
|
-
export declare type FeatureId = 'ly.img.navigation.bar' | 'ly.img.navigation.back' | 'ly.img.navigation.close' | 'ly.img.navigation.undoRedo' | 'ly.img.navigation.zoom' | 'ly.img.navigation.actions' | 'ly.img.delete' | 'ly.img.duplicate' | 'ly.img.placeholder' | 'ly.img.placeholder.general' | 'ly.img.placeholder.arrange' | 'ly.img.placeholder.fill' | 'ly.img.placeholder.shape' | 'ly.img.placeholder.stroke' | 'ly.img.placeholder.text' | 'ly.img.placeholder.appearance' | 'ly.img.placeholder.general.opacity' | 'ly.img.placeholder.general.blendMode' | 'ly.img.placeholder.general.duplicate' | 'ly.img.placeholder.general.delete' | 'ly.img.placeholder.arrange.move' | 'ly.img.placeholder.arrange.resize' | 'ly.img.placeholder.arrange.rotate' | 'ly.img.placeholder.arrange.flip' | 'ly.img.placeholder.fill.change' | 'ly.img.placeholder.fill.changeType' | 'ly.img.placeholder.fill.actAsPlaceholder' | 'ly.img.placeholder.fill.crop' | 'ly.img.placeholder.shape.change' | 'ly.img.placeholder.stroke.change' | 'ly.img.placeholder.text.edit' | 'ly.img.placeholder.text.actAsPlaceholder' | 'ly.img.placeholder.text.character' | 'ly.img.placeholder.appearance.adjustments' | 'ly.img.placeholder.appearance.filter' | 'ly.img.placeholder.appearance.effect' | 'ly.img.placeholder.appearance.blur' | 'ly.img.placeholder.appearance.shadow' | 'ly.img.placeholder.appearance.animations' | 'ly.img.preview' | 'ly.img.page.move' | 'ly.img.page.add' | 'ly.img.group' | 'ly.img.replace' | 'ly.img.text.edit' | 'ly.img.text.typeface' | 'ly.img.text.fontSize' | 'ly.img.text.fontStyle' | 'ly.img.text.alignment' | 'ly.img.text.advanced' | 'ly.img.text.background' | 'ly.img.adjustment' | 'ly.img.filter' | 'ly.img.filter.lut' | 'ly.img.filter.duotone' | 'ly.img.effect' | 'ly.img.blur' | 'ly.img.shadow' | 'ly.img.cutout' | 'ly.img.fill' | 'ly.img.shape.options' | 'ly.img.combine' | 'ly.img.trim' | 'ly.img.crop' | 'ly.img.crop.size' | 'ly.img.crop.rotation' | 'ly.img.crop.flip' | 'ly.img.crop.fillMode' | 'ly.img.crop.scale' | 'ly.img.crop.position' | 'ly.img.crop.panel.autoOpen' | 'ly.img.volume' | 'ly.img.stroke' | 'ly.img.position' | 'ly.img.animations' | 'ly.img.opacity' | 'ly.img.blendMode' | 'ly.img.video.timeline' | 'ly.img.video.clips' | 'ly.img.video.overlays' | 'ly.img.video.audio' | 'ly.img.video.addClip' | 'ly.img.video.controls' | 'ly.img.video.controls.toggle' | 'ly.img.video.controls.background' | 'ly.img.video.controls.playback' | 'ly.img.video.controls.loop' | 'ly.img.video.controls.split' | 'ly.img.video.controls.timelineZoom' | 'ly.img.video.caption' | 'ly.img.transform.position' | 'ly.img.transform.size' | 'ly.img.transform.rotation' | 'ly.img.transform.flip' | 'ly.img.inspector.bar' | 'ly.img.inspector.toggle' | 'ly.img.page.resize' | 'ly.img.dock' | 'ly.img.canvas.bar' | 'ly.img.canvas.menu' | 'ly.img.inspector' | 'ly.img.settings' | 'ly.img.library.panel' | (string & {});
|
|
3912
|
+
export declare type FeatureId = 'ly.img.navigation.bar' | 'ly.img.navigation.back' | 'ly.img.navigation.close' | 'ly.img.navigation.undoRedo' | 'ly.img.navigation.zoom' | 'ly.img.navigation.actions' | 'ly.img.delete' | 'ly.img.duplicate' | 'ly.img.placeholder' | 'ly.img.placeholder.general' | 'ly.img.placeholder.arrange' | 'ly.img.placeholder.fill' | 'ly.img.placeholder.shape' | 'ly.img.placeholder.stroke' | 'ly.img.placeholder.text' | 'ly.img.placeholder.appearance' | 'ly.img.placeholder.general.opacity' | 'ly.img.placeholder.general.blendMode' | 'ly.img.placeholder.general.duplicate' | 'ly.img.placeholder.general.delete' | 'ly.img.placeholder.arrange.move' | 'ly.img.placeholder.arrange.resize' | 'ly.img.placeholder.arrange.rotate' | 'ly.img.placeholder.arrange.flip' | 'ly.img.placeholder.fill.change' | 'ly.img.placeholder.fill.changeType' | 'ly.img.placeholder.fill.actAsPlaceholder' | 'ly.img.placeholder.fill.crop' | 'ly.img.placeholder.shape.change' | 'ly.img.placeholder.stroke.change' | 'ly.img.placeholder.text.edit' | 'ly.img.placeholder.text.actAsPlaceholder' | 'ly.img.placeholder.text.character' | 'ly.img.placeholder.appearance.adjustments' | 'ly.img.placeholder.appearance.filter' | 'ly.img.placeholder.appearance.effect' | 'ly.img.placeholder.appearance.blur' | 'ly.img.placeholder.appearance.shadow' | 'ly.img.placeholder.appearance.animations' | 'ly.img.preview' | 'ly.img.page.move' | 'ly.img.page.add' | 'ly.img.group' | 'ly.img.replace' | 'ly.img.text.edit' | 'ly.img.text.typeface' | 'ly.img.text.fontSize' | 'ly.img.text.fontStyle' | 'ly.img.text.alignment' | 'ly.img.text.advanced' | 'ly.img.text.background' | 'ly.img.adjustment' | 'ly.img.filter' | 'ly.img.filter.lut' | 'ly.img.filter.duotone' | 'ly.img.effect' | 'ly.img.blur' | 'ly.img.shadow' | 'ly.img.cutout' | 'ly.img.fill' | 'ly.img.shape.options' | 'ly.img.combine' | 'ly.img.trim' | 'ly.img.crop' | 'ly.img.crop.size' | 'ly.img.crop.rotation' | 'ly.img.crop.flip' | 'ly.img.crop.fillMode' | 'ly.img.crop.scale' | 'ly.img.crop.position' | 'ly.img.crop.panel.autoOpen' | 'ly.img.volume' | 'ly.img.playbackSpeed' | 'ly.img.stroke' | 'ly.img.position' | 'ly.img.animations' | 'ly.img.opacity' | 'ly.img.blendMode' | 'ly.img.video.timeline' | 'ly.img.video.clips' | 'ly.img.video.overlays' | 'ly.img.video.audio' | 'ly.img.video.addClip' | 'ly.img.video.controls' | 'ly.img.video.controls.toggle' | 'ly.img.video.controls.background' | 'ly.img.video.controls.playback' | 'ly.img.video.controls.loop' | 'ly.img.video.controls.split' | 'ly.img.video.controls.timelineZoom' | 'ly.img.video.caption' | 'ly.img.transform.position' | 'ly.img.transform.size' | 'ly.img.transform.rotation' | 'ly.img.transform.flip' | 'ly.img.inspector.bar' | 'ly.img.inspector.toggle' | 'ly.img.page.resize' | 'ly.img.dock' | 'ly.img.canvas.bar' | 'ly.img.canvas.menu' | 'ly.img.inspector' | 'ly.img.settings' | 'ly.img.library.panel' | 'ly.img.notifications' | 'ly.img.notifications.undo' | 'ly.img.notifications.redo' | (string & {});
|
|
3696
3913
|
|
|
3697
3914
|
/**
|
|
3698
3915
|
* The feature predicate is used to enable or disable a feature
|