@combeenation/custom-code-sdk 0.0.1-rc3 → 0.0.1-rc4
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/dist/bundle.cjs.js +1 -1
- package/dist/bundle.es.js +124 -102
- package/dist/index.d.ts +69 -4
- package/package.json +4 -4
package/dist/bundle.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.defineProperty,t=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r};let n=require("zod");var r=`0.0.1-rc3`,i=class{id;#e=`v1`;#t=void 0;constructor(e){this.id=e;let t=window.Cbn?.getCustomCodeSdkBridge?.(this.#e);if(this.#t=t?.getButtonSdkBridge(this.id),!this.#t)throw Error(`Cannot access API for Button "${this.id}".`)}onRendered(e){return this.#t?.addOnRenderedCallback(e)??{unsubscribe:()=>{}}}onClick(e){return this.#t?.addOnClickCallback(e)??{unsubscribe:()=>{}}}async setVisible(e){await this.#t?.setVisible(e)}setText(e){this.#t?.setText(e)}setProperty(e,t){this.#t?.setProperty(e,t)}},a=class{id;#e=`v1`;#t=void 0;constructor(e){this.id=e;let t=window.Cbn?.getCustomCodeSdkBridge?.(this.#e);if(this.#t=t?.getCheckboxSdkBridge(this.id),!this.#t)throw Error(`Cannot access API for Checkbox "${this.id}".`)}onRendered(e){return this.#t?.addOnRenderedCallback(e)??{unsubscribe:()=>{}}}async setVisible(e){await this.#t?.setVisible(e)}setChecked(e){this.#t?.setChecked(e)}onCheckedChange(e){return this.#t?.onCheckedChange(e)??{unsubscribe:()=>{}}}setProperty(e,t){this.#t?.setProperty(e,t)}},o=class{id;#e=`v1`;#t=void 0;constructor(e){this.id=e;let t=window.Cbn?.getCustomCodeSdkBridge?.(this.#e);if(this.#t=t?.getCollapsibleSdkBridge(this.id),!this.#t)throw Error(`Cannot access API for Collapsible "${this.id}".`)}onRendered(e){return this.#t?.addOnRenderedCallback(e)??{unsubscribe:()=>{}}}async setVisible(e){await this.#t?.setVisible(e)}setProperty(e,t){this.#t?.setProperty(e,t)}},s=class{id;#e=`v1`;#t=void 0;constructor(e){this.id=e;let t=window.Cbn?.getCustomCodeSdkBridge?.(this.#e);if(this.#t=t?.getComboboxSdkBridge(this.id),!this.#t)throw Error(`Cannot access API for Combobox "${this.id}".`)}onRendered(e){return this.#t?.addOnRenderedCallback(e)??{unsubscribe:()=>{}}}onItemRendered(e){return this.#t?.addOnItemRenderedCallback(e)??{unsubscribe:()=>{}}}onValueItemRendered(e){return this.#t?.addOnValueItemRenderedCallback(e)??{unsubscribe:()=>{}}}onGroupHeaderRendered(e){return this.#t?.addOnGroupHeaderRenderedCallback(e)??{unsubscribe:()=>{}}}onValueChange(e){return this.#t?.addOnValueChangeCallback(e)??{unsubscribe:()=>{}}}onItemClicked(e){return this.#t?.addOnItemClickedCallback(e)??{unsubscribe:()=>{}}}async setVisible(e){await this.#t?.setVisible(e)}setEntries(e){this.#t?.setEntries(e)}setGroupData(e){this.#t?.setGroupData(e)}setProperty(e,t){this.#t?.setProperty(e,t)}},c=class{id;#e=`v1`;#t=void 0;constructor(e){this.id=e;let t=window.Cbn?.getCustomCodeSdkBridge?.(this.#e);if(this.#t=t?.getCustomCtrlSdkBridge(this.id),!this.#t)throw Error(`Cannot access API for Custom Control "${this.id}".`)}set renderFn(e){this.#t?.setRenderFn(e)}async render(e){typeof e==`function`&&(this.renderFn=e),await this.#t?.render()}onRendered(e){return this.#t?.addOnRenderedCallback(e)??{unsubscribe:()=>{}}}getElement(){return this.#t?.getElement()}async setVisible(e){await this.#t?.setVisible(e)}setProperty(e,t){this.#t?.setProperty(e,t)}},l=class{id;#e=`v1`;#t=void 0;constructor(e){this.id=e;let t=window.Cbn?.getCustomCodeSdkBridge?.(this.#e);if(this.#t=t?.getDataviewSdkBridge(this.id),!this.#t)throw Error(`Cannot access API for Dataview "${this.id}".`)}onRendered(e){return this.#t?.addOnRenderedCallback(e)??{unsubscribe:()=>{}}}onItemRendered(e){return this.#t?.addOnItemRenderedCallback(e)??{unsubscribe:()=>{}}}onGroupHeaderRendered(e){return this.#t?.addOnGroupHeaderRenderedCallback(e)??{unsubscribe:()=>{}}}onValueChange(e){return this.#t?.addOnValueChangeCallback(e)??{unsubscribe:()=>{}}}onItemClicked(e){return this.#t?.addOnItemClickedCallback(e)??{unsubscribe:()=>{}}}async setVisible(e){await this.#t?.setVisible(e)}setEntries(e){this.#t?.setEntries(e)}setGroupData(e){this.#t?.setGroupData(e)}setProperty(e,t){this.#t?.setProperty(e,t)}},ee=class{id;#e=`v1`;#t=void 0;constructor(e){this.id=e;let t=window.Cbn?.getCustomCodeSdkBridge?.(this.#e);if(this.#t=t?.getInputSdkBridge(this.id),!this.#t)throw Error(`Cannot access API for Input "${this.id}".`)}onRendered(e){return this.#t?.addOnRenderedCallback(e)??{unsubscribe:()=>{}}}async setVisible(e){await this.#t?.setVisible(e)}setValue(e){this.#t?.setValue(e)}onValueChange(e){return this.#t?.onValueChange(e)??{unsubscribe:()=>{}}}setProperty(e,t){this.#t?.setProperty(e,t)}},u=class{id;#e=`v1`;#t=void 0;constructor(e){this.id=e;let t=window.Cbn?.getCustomCodeSdkBridge?.(this.#e);if(this.#t=t?.getPanelSdkBridge(this.id),!this.#t)throw Error(`Cannot access API for Panel "${this.id}".`)}onRendered(e){return this.#t?.addOnRenderedCallback(e)??{unsubscribe:()=>{}}}async setVisible(e){await this.#t?.setVisible(e)}setProperty(e,t){this.#t?.setProperty(e,t)}},d=class{id;#e=`v1`;#t=void 0;constructor(e){this.id=e;let t=window.Cbn?.getCustomCodeSdkBridge?.(this.#e);if(this.#t=t?.getTextSdkBridge(this.id),!this.#t)throw Error(`Cannot access API for Text "${this.id}".`)}onRendered(e){return this.#t?.addOnRenderedCallback(e)??{unsubscribe:()=>{}}}async setVisible(e){await this.#t?.setVisible(e)}setText(e){this.#t?.setText(e)}setProperty(e,t){this.#t?.setProperty(e,t)}},f=1,p=[];function te(e,t){if(p.length>=f)throw Error(`Only ${f} \`ConfiguratorClient\` can be created at a time.`);p.push({client:e,internals:t})}function m(){let e=p[0];if(!e)throw Error("Operation not possible as no `ConfiguratorClient` has been registered yet.");return e.client}function ne(){let e=p[0];if(!e)throw Error("Operation not possible as no `ConfiguratorClient` has been registered yet.");return e.internals}var h=window.Cbn?.getCustomCodeSdkBridge?.(`v1`);if(!h)throw Error("Cannot access Configurator SDK bridge. Make sure to only use the `custom-code-sdk` inside a Combeenation Configurator.");var g=h.createCfgrClient(`v1`,te);if(!g)throw Error("Cannot create Configurator Client. Make sure to only use the `custom-code-sdk` inside a Combeenation Configurator.");var _=h.getParentPageUtilsSdkBridge(),v=h.getCtrlsSdkBridge(),y=h.getCfgrUtilsSdkBridge(),re=h.getViewer3dSdkBridge(),ie=h.getLifecycleSdkBridge(),b=g,x=function(e){return e[e.Any=1]=`Any`,e[e.Image=2]=`Image`,e}({}),S=function(e){return e[e.PdfAsset=0]=`PdfAsset`,e[e.Asset=1]=`Asset`,e[e.Merge=2]=`Merge`,e[e.OutputToCfgnFile=4]=`OutputToCfgnFile`,e}({}),C=function(e){return e[e.PdfAsset=S.PdfAsset]=`PdfAsset`,e[e.Asset=S.Asset]=`Asset`,e}({}),w=e=>y.uploadCfgnFiles(e,x.Image),T=e=>y.uploadCfgnFiles(e,x.Any),E=e=>y.uploadTempCfgnFiles(e,x.Image),D=e=>y.uploadTempCfgnFiles(e,x.Any),O=e=>y.convertDocument(e);async function k(e,t,n,r){let i=t.length>1,a=`MergeTask`,o=`Task_`,s=t.map((t,n)=>t.type===C.PdfAsset?{type:S.PdfAsset,name:`${o}${n}`,bundleAliasName:e,assetPath:t.assetPath,context:t.context}:{type:S.Asset,name:`${o}${n}`,bundleAliasName:e,assetPath:t.assetPath});return i&&s.push({type:S.Merge,name:a,inputTaskNames:s.map(e=>e.name)}),s.push({type:S.OutputToCfgnFile,inputTaskName:i?a:s[0].name,name:`OutputPdfTask`,cfgnFileExtension:`pdf`,cfgnFileName:n,cfgnFileDisplayName:r}),y.convertDocument(s)}var A={Text:`Text`,Number:`Number`,Logic:`Logic`,Image:`Image`,FileUrl:`FileUrl`,TextAsset:`TextAsset`,Table:`Table`};`${A.Text}`,`${A.Number}`;var j={ValueComponent:`ValueComponent`,TableComponent:`TableComponent`,RecordComponent:`RecordComponent`,ResourceComponent:`ResourceComponent`,GraphicComponent:`GraphicComponent`,CheckoutComponent:`CheckoutComponent`};j.GraphicComponent,j.CheckoutComponent,j.ResourceComponent,j.RecordComponent;var M={ValueEditor:`ValueEditor`,TableEditor:`TableEditor`,Fiber:`Fiber`,FiberEditor:`FiberEditor`,CfgrField:`CfgrField`,Watch:`Watch`};n.z.enum([M.ValueEditor,M.TableEditor,M.Fiber,M.FiberEditor,M.CfgrField,M.Watch]),n.z.union([n.z.string(),n.z.number(),n.z.boolean()]);var N=e=>typeof e==`string`;n.z.string(),n.z.enum([A.Text,A.Number,A.Logic]),n.z.string(),n.z.custom(e=>N(e)&&e.toLowerCase()===e);var P=e=>e?.toLowerCase()??``;n.z.string();var ae=n.z.custom(e=>N(e)?RegExp(`^${j.ValueComponent}<.*>$`).test(e):!1),oe=n.z.custom(e=>N(e)?RegExp(`^${j.RecordComponent}<.*>$`).test(e):!1),se=n.z.custom(e=>N(e)?RegExp(`^${j.ResourceComponent}<.*>$`).test(e):!1),ce=n.z.custom(e=>N(e)?RegExp(`^${j.TableComponent}<.*>$`).test(e):!1);n.z.union([ae,ce,oe,se,n.z.literal(j.GraphicComponent),n.z.literal(j.CheckoutComponent)]);var F=n.z.union([n.z.string(),n.z.number(),n.z.boolean()]),le=n.z.union([F,n.z.array(F),n.z.looseObject({}),n.z.unknown()]);n.z.object({$typ:n.z.literal(`Error`),Id:n.z.string(),Message:n.z.string(),route:n.z.unknown().optional()}).or(le);var I=new Map;function ue(e){let t=P(e.name);I.has(t)||I.set(t,e)}var de=class{name;zodType;constructor(e,t){this.name=e,this.zodType=t,ue(this)}async getValue(){return await m().getCmpValue(this.name)}async setInput(e){let t=P(this.name);await ne().setCmpInput(t,e,this.zodType)}onValueChanged(e,t=!1,n){m().onCmpValueChanged(this.name,e,n,t)}},L=()=>y.getAssetPaths(),fe=function(e){return e[e.Facebook=0]=`Facebook`,e[e.Pinterest=1]=`Pinterest`,e[e.Twitter=2]=`Twitter`,e[e.LinkedIn=3]=`LinkedIn`,e[e.WhatsApp=4]=`WhatsApp`,e[e.Custom=5]=`Custom`,e[e.NativeShare=6]=`NativeShare`,e}({}),R=b.onAnyCmpValueChanged.bind(b),z=async e=>{if(await y.finishConfiguration(e?.input)&&e.sendDataToParentPage){let t=e.transformParentPageData();await _.sendConfigurationFinished(t)}},pe=async e=>{let t=fe[e.platform],n=e.imageUrl??`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAwMCAO+X2ZkAAAAASUVORK5CYII=`,r={...e,platform:t,imageUrl:n},i=await y.shareConfiguration(r);if(!i)return;await y.openShareWindow(e.platform,i);let{shareUrl:a,shareConfigurationId:o}=i;return{shareUrl:a,shareConfigurationId:o}};async function B(e){return await y.executeIntegration(e)}var V=()=>_.isInIFrame(),H=e=>_.setIFrameSize(e),U=e=>y.navigateToLogin(e),W=async e=>{let{promise:t,resolve:n}=Promise.withResolvers(),r={};for(let[t,i]of Object.entries(e))i.onValueChanged(i=>{r[t]=i,Object.keys(e).every(e=>e in r)&&n(r)},!0);return t};function G(e,t){return new i(v.createCtrl(`button`,e.id,t))}function K(e,t){return new a(v.createCtrl(`checkbox`,e.id,t))}function q(e,t){return new l(v.createCtrl(`dataview`,e.id,{position:t.position,properties:{...t.properties,listMode:t.mode,valueType:t.mode===`no-selection`?void 0:t.valueType}}))}function J(e,t){return new s(v.createCtrl(`combobox`,e.id,{position:t.position,properties:{...t.properties,listMode:t.mode,valueType:t.mode===`no-selection`?void 0:t.valueType}}))}function Y(e,t){return new d(v.createCtrl(`text`,e.id,t))}function X(e,t){return new u(v.createCtrl(`panel`,e.id,t))}function Z(e,t){return new ee(v.createCtrl(`textbox`,e.id,t))}function Q(e,t){return new c(v.createCtrl(`customctrl`,e.id,t))}function $(e,t){return new o(v.createCtrl(`collapsible`,e.id,t))}var me="`beforeConfiguratorIsRendered` has no effect because it was called after the configurator was already rendered.\nMake sure to call it synchronously in the top-level code of your entry file before any top-level `await`.",he="`beforeConfiguratorIsRendered` is ignored because it was called more than once.\nIt must only be called once.",ge=e=>{let t=ie.registerBeforeConfiguratorIsRendered(e);t===`called-after-cfgr-render`?console.error(me):t===`already-registered`&&console.error(he)},_e=(e,t)=>_.sendCustomMsg(e,t),ve=e=>_.redirectParentPage(e),ye=()=>_.getParentPageUrl(),be=(e,t)=>_.fireAnalyticsEvent(e,t),xe=e=>_.onParentPageEvent(e),Se=async(e,t)=>re.createArPage(e,t),Ce=t({addButtonControl:()=>G,addCheckboxControl:()=>K,addCollapsibleControl:()=>$,addComboboxControl:()=>J,addCustomControl:()=>Q,addDataviewControl:()=>q,addInputControl:()=>Z,addPanelControl:()=>X,addTextControl:()=>Y,beforeConfiguratorIsRendered:()=>ge,configuratorIsInIFrame:()=>V,convertDocument:()=>O,createArPage:()=>Se,createPdfFromAssets:()=>k,createSyncCmpValuesStore:()=>W,executeIntegration:()=>B,finishConfiguration:()=>z,fireAnalyticsEvent:()=>be,getAssetPaths:()=>L,getParentPageUrl:()=>ye,navigateToLogin:()=>U,onAnyCmpValueChanged:()=>R,onParentPageEvent:()=>xe,redirectParentPage:()=>ve,sendCustomMsgToParentPage:()=>_e,setConfiguratorIFrameSize:()=>H,shareConfiguration:()=>pe,uploadFiles:()=>T,uploadImages:()=>w,uploadTempFiles:()=>D,uploadTempImages:()=>E,version:()=>r});console.log(`Loading custom code SDK v${r}`),exports.Button=i,Object.defineProperty(exports,"CbnSdk",{enumerable:!0,get:function(){return Ce}}),exports.Checkbox=a,exports.Collapsible=o,exports.Combobox=s,exports.CreatePdfTaskTypes=C,exports.CustomControl=c,exports.Dataview=l,exports.DocumentConvertTaskTypes=S,exports.Input=ee,exports.Panel=u,exports.Text=d,exports.ValueComponent=de,exports.addButtonControl=G,exports.addCheckboxControl=K,exports.addCollapsibleControl=$,exports.addComboboxControl=J,exports.addCustomControl=Q,exports.addDataviewControl=q,exports.addInputControl=Z,exports.addPanelControl=X,exports.addTextControl=Y,exports.beforeConfiguratorIsRendered=ge,exports.configuratorIsInIFrame=V,exports.convertDocument=O,exports.createArPage=Se,exports.createPdfFromAssets=k,exports.createSyncCmpValuesStore=W,exports.executeIntegration=B,exports.finishConfiguration=z,exports.fireAnalyticsEvent=be,exports.getAssetPaths=L,exports.getParentPageUrl=ye,exports.navigateToLogin=U,exports.onAnyCmpValueChanged=R,exports.onParentPageEvent=xe,exports.redirectParentPage=ve,exports.sendCustomMsgToParentPage=_e,exports.setConfiguratorIFrameSize=H,exports.shareConfiguration=pe,exports.uploadFiles=T,exports.uploadImages=w,exports.uploadTempFiles=D,exports.uploadTempImages=E,exports.version=r;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.defineProperty,t=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r};let n=require("zod");var r=`0.0.1-rc4`,i=class{id;#e=`v1`;#t=void 0;constructor(e){this.id=e;let t=window.Cbn?.getCustomCodeSdkBridge?.(this.#e);if(this.#t=t?.getButtonSdkBridge(this.id),!this.#t)throw Error(`Cannot access API for Button "${this.id}".`)}onRendered(e){return this.#t?.addOnRenderedCallback(e)??{unsubscribe:()=>{}}}onClick(e){return this.#t?.addOnClickCallback(e)??{unsubscribe:()=>{}}}async setVisible(e){await this.#t?.setVisible(e)}setText(e){this.#t?.setText(e)}setProperty(e,t){this.#t?.setProperty(e,t)}},a=class{id;#e=`v1`;#t=void 0;constructor(e){this.id=e;let t=window.Cbn?.getCustomCodeSdkBridge?.(this.#e);if(this.#t=t?.getCheckboxSdkBridge(this.id),!this.#t)throw Error(`Cannot access API for Checkbox "${this.id}".`)}onRendered(e){return this.#t?.addOnRenderedCallback(e)??{unsubscribe:()=>{}}}async setVisible(e){await this.#t?.setVisible(e)}setChecked(e){this.#t?.setChecked(e)}onCheckedChange(e){return this.#t?.onCheckedChange(e)??{unsubscribe:()=>{}}}setProperty(e,t){this.#t?.setProperty(e,t)}},o=class{id;#e=`v1`;#t=void 0;constructor(e){this.id=e;let t=window.Cbn?.getCustomCodeSdkBridge?.(this.#e);if(this.#t=t?.getCollapsibleSdkBridge(this.id),!this.#t)throw Error(`Cannot access API for Collapsible "${this.id}".`)}onRendered(e){return this.#t?.addOnRenderedCallback(e)??{unsubscribe:()=>{}}}async setVisible(e){await this.#t?.setVisible(e)}setProperty(e,t){this.#t?.setProperty(e,t)}},s=class{id;#e=`v1`;#t=void 0;constructor(e){this.id=e;let t=window.Cbn?.getCustomCodeSdkBridge?.(this.#e);if(this.#t=t?.getComboboxSdkBridge(this.id),!this.#t)throw Error(`Cannot access API for Combobox "${this.id}".`)}onRendered(e){return this.#t?.addOnRenderedCallback(e)??{unsubscribe:()=>{}}}onItemRendered(e){return this.#t?.addOnItemRenderedCallback(e)??{unsubscribe:()=>{}}}onValueItemRendered(e){return this.#t?.addOnValueItemRenderedCallback(e)??{unsubscribe:()=>{}}}onGroupHeaderRendered(e){return this.#t?.addOnGroupHeaderRenderedCallback(e)??{unsubscribe:()=>{}}}onValueChange(e){return this.#t?.addOnValueChangeCallback(e)??{unsubscribe:()=>{}}}onItemClicked(e){return this.#t?.addOnItemClickedCallback(e)??{unsubscribe:()=>{}}}async setVisible(e){await this.#t?.setVisible(e)}setEntries(e){this.#t?.setEntries(e)}setGroupData(e){this.#t?.setGroupData(e)}setProperty(e,t){this.#t?.setProperty(e,t)}},c=class{id;#e=`v1`;#t=void 0;constructor(e){this.id=e;let t=window.Cbn?.getCustomCodeSdkBridge?.(this.#e);if(this.#t=t?.getCustomCtrlSdkBridge(this.id),!this.#t)throw Error(`Cannot access API for Custom Control "${this.id}".`)}set renderFn(e){this.#t?.setRenderFn(e)}async render(e){typeof e==`function`&&(this.renderFn=e),await this.#t?.render()}onRendered(e){return this.#t?.addOnRenderedCallback(e)??{unsubscribe:()=>{}}}getElement(){return this.#t?.getElement()}async setVisible(e){await this.#t?.setVisible(e)}setProperty(e,t){this.#t?.setProperty(e,t)}},l=class{id;#e=`v1`;#t=void 0;constructor(e){this.id=e;let t=window.Cbn?.getCustomCodeSdkBridge?.(this.#e);if(this.#t=t?.getDataviewSdkBridge(this.id),!this.#t)throw Error(`Cannot access API for Dataview "${this.id}".`)}onRendered(e){return this.#t?.addOnRenderedCallback(e)??{unsubscribe:()=>{}}}onItemRendered(e){return this.#t?.addOnItemRenderedCallback(e)??{unsubscribe:()=>{}}}onGroupHeaderRendered(e){return this.#t?.addOnGroupHeaderRenderedCallback(e)??{unsubscribe:()=>{}}}onValueChange(e){return this.#t?.addOnValueChangeCallback(e)??{unsubscribe:()=>{}}}onItemClicked(e){return this.#t?.addOnItemClickedCallback(e)??{unsubscribe:()=>{}}}async setVisible(e){await this.#t?.setVisible(e)}setEntries(e){this.#t?.setEntries(e)}setGroupData(e){this.#t?.setGroupData(e)}setProperty(e,t){this.#t?.setProperty(e,t)}},u=class{id;#e=`v1`;#t=void 0;constructor(e){this.id=e;let t=window.Cbn?.getCustomCodeSdkBridge?.(this.#e);if(this.#t=t?.getInputSdkBridge(this.id),!this.#t)throw Error(`Cannot access API for Input "${this.id}".`)}onRendered(e){return this.#t?.addOnRenderedCallback(e)??{unsubscribe:()=>{}}}async setVisible(e){await this.#t?.setVisible(e)}setValue(e){this.#t?.setValue(e)}onValueChange(e){return this.#t?.onValueChange(e)??{unsubscribe:()=>{}}}setProperty(e,t){this.#t?.setProperty(e,t)}},ee=class{id;#e=`v1`;#t=void 0;constructor(e){this.id=e;let t=window.Cbn?.getCustomCodeSdkBridge?.(this.#e);if(this.#t=t?.getPanelSdkBridge(this.id),!this.#t)throw Error(`Cannot access API for Panel "${this.id}".`)}onRendered(e){return this.#t?.addOnRenderedCallback(e)??{unsubscribe:()=>{}}}async setVisible(e){await this.#t?.setVisible(e)}setProperty(e,t){this.#t?.setProperty(e,t)}},d=class{id;#e=`v1`;#t=void 0;constructor(e){this.id=e;let t=window.Cbn?.getCustomCodeSdkBridge?.(this.#e);if(this.#t=t?.getTextSdkBridge(this.id),!this.#t)throw Error(`Cannot access API for Text "${this.id}".`)}onRendered(e){return this.#t?.addOnRenderedCallback(e)??{unsubscribe:()=>{}}}async setVisible(e){await this.#t?.setVisible(e)}setText(e){this.#t?.setText(e)}setProperty(e,t){this.#t?.setProperty(e,t)}},f=1,p=[];function te(e,t){if(p.length>=f)throw Error(`Only ${f} \`ConfiguratorClient\` can be created at a time.`);p.push({client:e,internals:t})}function m(){let e=p[0];if(!e)throw Error("Operation not possible as no `ConfiguratorClient` has been registered yet.");return e.client}function ne(){let e=p[0];if(!e)throw Error("Operation not possible as no `ConfiguratorClient` has been registered yet.");return e.internals}var h=window.Cbn?.getCustomCodeSdkBridge?.(`v1`);if(!h)throw Error("Cannot access Configurator SDK bridge. Make sure to only use the `custom-code-sdk` inside a Combeenation Configurator.");var g=h.createCfgrClient(`v1`,te);if(!g)throw Error("Cannot create Configurator Client. Make sure to only use the `custom-code-sdk` inside a Combeenation Configurator.");var _=h.getParentPageUtilsSdkBridge(),v=h.getCtrlsSdkBridge(),y=h.getCfgrUtilsSdkBridge(),re=h.getViewer3dSdkBridge(),ie=h.getLifecycleSdkBridge(),b=g,x=function(e){return e[e.Any=1]=`Any`,e[e.Image=2]=`Image`,e}({}),S=function(e){return e[e.PdfAsset=0]=`PdfAsset`,e[e.Asset=1]=`Asset`,e[e.Merge=2]=`Merge`,e[e.OutputToTempCfgnFile=3]=`OutputToTempCfgnFile`,e[e.OutputToCfgnFile=4]=`OutputToCfgnFile`,e}({}),C=function(e){return e[e.PdfAsset=S.PdfAsset]=`PdfAsset`,e[e.Asset=S.Asset]=`Asset`,e}({}),w=e=>y.uploadCfgnFiles(e,x.Image),T=e=>y.uploadCfgnFiles(e,x.Any),E=e=>y.uploadTempCfgnFiles(e,x.Image),D=e=>y.uploadTempCfgnFiles(e,x.Any),O=e=>y.convertDocument(e);async function k(e,t,n,r){let{tasks:i,lastTaskName:a}=j(e,t);return i.push({type:S.OutputToCfgnFile,inputTaskName:a,name:`OutputPdfTask`,cfgnFileExtension:`pdf`,cfgnFileName:n,cfgnFileDisplayName:r}),y.convertDocument(i)}async function A(e,t,n){let{tasks:r,lastTaskName:i}=j(e,t);return r.push({type:S.OutputToTempCfgnFile,inputTaskName:i,name:`OutputPdfTask`,cfgnFileExtension:`pdf`,cfgnFileDisplayName:n}),y.convertDocument(r)}function j(e,t){let n=t.length>1,r=`Task_`,i=t.map((t,n)=>t.type===C.PdfAsset?{type:S.PdfAsset,name:`${r}${n}`,bundleAliasName:e,assetPath:t.assetPath,context:t.context}:{type:S.Asset,name:`${r}${n}`,bundleAliasName:e,assetPath:t.assetPath});return n&&i.push({type:S.Merge,name:`MergeTask`,inputTaskNames:i.map(e=>e.name)}),{tasks:i,lastTaskName:i[i.length-1].name}}var M={Text:`Text`,Number:`Number`,Logic:`Logic`,Image:`Image`,FileUrl:`FileUrl`,TextAsset:`TextAsset`,Table:`Table`};`${M.Text}`,`${M.Number}`;var N={ValueComponent:`ValueComponent`,TableComponent:`TableComponent`,RecordComponent:`RecordComponent`,ResourceComponent:`ResourceComponent`,GraphicComponent:`GraphicComponent`,CheckoutComponent:`CheckoutComponent`};N.GraphicComponent,N.CheckoutComponent,N.ResourceComponent,N.RecordComponent,n.z.union([n.z.string(),n.z.number(),n.z.boolean()]);var P=e=>typeof e==`string`;n.z.string(),n.z.enum([M.Text,M.Number,M.Logic]),n.z.string(),n.z.custom(e=>P(e)&&e.toLowerCase()===e);var F=e=>e?.toLowerCase()??``;n.z.string();var ae=n.z.custom(e=>P(e)?RegExp(`^${N.ValueComponent}<.*>$`).test(e):!1),oe=n.z.custom(e=>P(e)?RegExp(`^${N.RecordComponent}<.*>$`).test(e):!1),se=n.z.custom(e=>P(e)?RegExp(`^${N.ResourceComponent}<.*>$`).test(e):!1),ce=n.z.custom(e=>P(e)?RegExp(`^${N.TableComponent}<.*>$`).test(e):!1);n.z.union([ae,ce,oe,se,n.z.literal(N.GraphicComponent),n.z.literal(N.CheckoutComponent)]);var I=n.z.union([n.z.string(),n.z.number(),n.z.boolean()]),le=n.z.union([I,n.z.array(I),n.z.looseObject({}),n.z.unknown()]);n.z.object({$typ:n.z.literal(`Error`),Id:n.z.string(),Message:n.z.string(),route:n.z.unknown().optional()}).or(le);var L=new Map;function ue(e){let t=F(e.name);L.has(t)||L.set(t,e)}var de={green:`#36D792`,yellow:`#D19A66`,red:`red`};function fe(e,t){return e&&t?`[${e}.${t}]`:e?`[${e}]`:t?`[${t}]`:``}function pe(e,t,n=``,r,i=`green`){let a=fe(e,t),o=de[i]??`inherit`;console.error(`%c${a}%c ${n}`,`color: ${o}`,`color: inherit`,r)}var me=class{name;zodType;constructor(e,t){this.name=e,this.zodType=t,ue(this)}async getValue(){return await m().getCmpValue(this.name)}async setInput(e){let t=F(this.name),n=await ne().setCmpInput(t,e,this.zodType);n&&pe(`ConfiguratorClient`,`setInput`,n)}onValueChanged(e,t=!1,n){m().onCmpValueChanged(this.name,e,n,t)}},R=()=>y.getAssetPaths(),he=function(e){return e[e.Facebook=0]=`Facebook`,e[e.Pinterest=1]=`Pinterest`,e[e.Twitter=2]=`Twitter`,e[e.LinkedIn=3]=`LinkedIn`,e[e.WhatsApp=4]=`WhatsApp`,e[e.Custom=5]=`Custom`,e[e.NativeShare=6]=`NativeShare`,e}({}),z=b.onAnyCmpValueChanged.bind(b),B=async e=>{if(await y.finishConfiguration(e?.input)&&e.sendDataToParentPage){let t=e.transformParentPageData();await _.sendConfigurationFinished(t)}},V=async e=>{await y.restartConfiguration(e)},H=async(e,t)=>{await y.changeDistributor(e,t)},U=async e=>{let t=he[e.platform],n=e.imageUrl??`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAwMCAO+X2ZkAAAAASUVORK5CYII=`,r={...e,platform:t,imageUrl:n},i=await y.shareConfiguration(r);if(!i)return;await y.openShareWindow(e.platform,i);let{shareUrl:a,shareConfigurationId:o}=i;return{shareUrl:a,shareConfigurationId:o}};async function W(e){return await y.executeIntegration(e)}var G=()=>_.isInIFrame(),K=e=>_.setIFrameSize(e),q=e=>y.navigateToLogin(e),J=async e=>{let{promise:t,resolve:n}=Promise.withResolvers(),r={};for(let[t,i]of Object.entries(e))i.onValueChanged(i=>{r[t]=i,Object.keys(e).every(e=>e in r)&&n(r)},!0);return t};function Y(e,t){return new i(v.createCtrl(`button`,e.id,t))}function X(e,t){return new a(v.createCtrl(`checkbox`,e.id,t))}function Z(e,t){return new l(v.createCtrl(`dataview`,e.id,{position:t.position,properties:{...t.properties,listMode:t.mode,valueType:t.mode===`no-selection`?void 0:t.valueType}}))}function Q(e,t){return new s(v.createCtrl(`combobox`,e.id,{position:t.position,properties:{...t.properties,listMode:t.mode,valueType:t.mode===`no-selection`?void 0:t.valueType}}))}function ge(e,t){return new d(v.createCtrl(`text`,e.id,t))}function $(e,t){return new ee(v.createCtrl(`panel`,e.id,t))}function _e(e,t){return new u(v.createCtrl(`textbox`,e.id,t))}function ve(e,t){return new c(v.createCtrl(`customctrl`,e.id,t))}function ye(e,t){return new o(v.createCtrl(`collapsible`,e.id,t))}var be="`beforeConfiguratorIsRendered` has no effect because it was called after the configurator was already rendered.\nCall it from the top-level code of your entry file. Do not call it from an async callback.",xe="`beforeConfiguratorIsRendered` is ignored because it was called more than once.\nIt must only be called once.",Se=e=>{let t=ie.registerBeforeConfiguratorIsRendered(e);t===`called-after-cfgr-render`?console.error(be):t===`already-registered`&&console.error(xe)},Ce=(e,t)=>_.sendCustomMsg(e,t),we=e=>_.redirectParentPage(e),Te=()=>_.getParentPageUrl(),Ee=(e,t)=>_.fireAnalyticsEvent(e,t),De=e=>_.onParentPageEvent(e),Oe=async(e,t)=>re.createArPage(e,t),ke=t({addButtonControl:()=>Y,addCheckboxControl:()=>X,addCollapsibleControl:()=>ye,addComboboxControl:()=>Q,addCustomControl:()=>ve,addDataviewControl:()=>Z,addInputControl:()=>_e,addPanelControl:()=>$,addTextControl:()=>ge,beforeConfiguratorIsRendered:()=>Se,changeDistributor:()=>H,configuratorIsInIFrame:()=>G,convertDocument:()=>O,createArPage:()=>Oe,createPdfFromAssets:()=>k,createSyncCmpValuesStore:()=>J,createTempPdfFromAssets:()=>A,executeIntegration:()=>W,finishConfiguration:()=>B,fireAnalyticsEvent:()=>Ee,getAssetPaths:()=>R,getParentPageUrl:()=>Te,navigateToLogin:()=>q,onAnyCmpValueChanged:()=>z,onParentPageEvent:()=>De,redirectParentPage:()=>we,restartConfiguration:()=>V,sendCustomMsgToParentPage:()=>Ce,setConfiguratorIFrameSize:()=>K,shareConfiguration:()=>U,uploadFiles:()=>T,uploadImages:()=>w,uploadTempFiles:()=>D,uploadTempImages:()=>E,version:()=>r});console.log(`Loading custom code SDK v${r}`),exports.Button=i,Object.defineProperty(exports,"CbnSdk",{enumerable:!0,get:function(){return ke}}),exports.Checkbox=a,exports.Collapsible=o,exports.Combobox=s,exports.CreatePdfTaskTypes=C,exports.CustomControl=c,exports.Dataview=l,exports.DocumentConvertTaskTypes=S,exports.Input=u,exports.Panel=ee,exports.Text=d,exports.ValueComponent=me,exports.addButtonControl=Y,exports.addCheckboxControl=X,exports.addCollapsibleControl=ye,exports.addComboboxControl=Q,exports.addCustomControl=ve,exports.addDataviewControl=Z,exports.addInputControl=_e,exports.addPanelControl=$,exports.addTextControl=ge,exports.beforeConfiguratorIsRendered=Se,exports.changeDistributor=H,exports.configuratorIsInIFrame=G,exports.convertDocument=O,exports.createArPage=Oe,exports.createPdfFromAssets=k,exports.createSyncCmpValuesStore=J,exports.createTempPdfFromAssets=A,exports.executeIntegration=W,exports.finishConfiguration=B,exports.fireAnalyticsEvent=Ee,exports.getAssetPaths=R,exports.getParentPageUrl=Te,exports.navigateToLogin=q,exports.onAnyCmpValueChanged=z,exports.onParentPageEvent=De,exports.redirectParentPage=we,exports.restartConfiguration=V,exports.sendCustomMsgToParentPage=Ce,exports.setConfiguratorIFrameSize=K,exports.shareConfiguration=U,exports.uploadFiles=T,exports.uploadImages=w,exports.uploadTempFiles=D,exports.uploadTempImages=E,exports.version=r;
|
package/dist/bundle.es.js
CHANGED
|
@@ -7,7 +7,7 @@ var t = Object.defineProperty, n = (e, n) => {
|
|
|
7
7
|
enumerable: !0
|
|
8
8
|
});
|
|
9
9
|
return n || t(r, Symbol.toStringTag, { value: "Module" }), r;
|
|
10
|
-
}, r = "0.0.1-
|
|
10
|
+
}, r = "0.0.1-rc4", i = class {
|
|
11
11
|
id;
|
|
12
12
|
#e = "v1";
|
|
13
13
|
#t = void 0;
|
|
@@ -175,7 +175,7 @@ var t = Object.defineProperty, n = (e, n) => {
|
|
|
175
175
|
setProperty(e, t) {
|
|
176
176
|
this.#t?.setProperty(e, t);
|
|
177
177
|
}
|
|
178
|
-
},
|
|
178
|
+
}, u = class {
|
|
179
179
|
id;
|
|
180
180
|
#e = "v1";
|
|
181
181
|
#t = void 0;
|
|
@@ -199,7 +199,7 @@ var t = Object.defineProperty, n = (e, n) => {
|
|
|
199
199
|
setProperty(e, t) {
|
|
200
200
|
this.#t?.setProperty(e, t);
|
|
201
201
|
}
|
|
202
|
-
},
|
|
202
|
+
}, ee = class {
|
|
203
203
|
id;
|
|
204
204
|
#e = "v1";
|
|
205
205
|
#t = void 0;
|
|
@@ -265,39 +265,56 @@ if (!g) throw Error("Cannot create Configurator Client. Make sure to only use th
|
|
|
265
265
|
var _ = h.getParentPageUtilsSdkBridge(), v = h.getCtrlsSdkBridge(), y = h.getCfgrUtilsSdkBridge(), re = h.getViewer3dSdkBridge(), ie = h.getLifecycleSdkBridge(), b = g, x = /* @__PURE__ */ function(e) {
|
|
266
266
|
return e[e.Any = 1] = "Any", e[e.Image = 2] = "Image", e;
|
|
267
267
|
}({}), S = /* @__PURE__ */ function(e) {
|
|
268
|
-
return e[e.PdfAsset = 0] = "PdfAsset", e[e.Asset = 1] = "Asset", e[e.Merge = 2] = "Merge", e[e.OutputToCfgnFile = 4] = "OutputToCfgnFile", e;
|
|
268
|
+
return e[e.PdfAsset = 0] = "PdfAsset", e[e.Asset = 1] = "Asset", e[e.Merge = 2] = "Merge", e[e.OutputToTempCfgnFile = 3] = "OutputToTempCfgnFile", e[e.OutputToCfgnFile = 4] = "OutputToCfgnFile", e;
|
|
269
269
|
}({}), C = /* @__PURE__ */ function(e) {
|
|
270
270
|
return e[e.PdfAsset = S.PdfAsset] = "PdfAsset", e[e.Asset = S.Asset] = "Asset", e;
|
|
271
271
|
}({}), w = (e) => y.uploadCfgnFiles(e, x.Image), T = (e) => y.uploadCfgnFiles(e, x.Any), E = (e) => y.uploadTempCfgnFiles(e, x.Image), D = (e) => y.uploadTempCfgnFiles(e, x.Any), O = (e) => y.convertDocument(e);
|
|
272
272
|
async function k(e, t, n, r) {
|
|
273
|
-
let
|
|
273
|
+
let { tasks: i, lastTaskName: a } = j(e, t);
|
|
274
|
+
return i.push({
|
|
275
|
+
type: S.OutputToCfgnFile,
|
|
276
|
+
inputTaskName: a,
|
|
277
|
+
name: "OutputPdfTask",
|
|
278
|
+
cfgnFileExtension: "pdf",
|
|
279
|
+
cfgnFileName: n,
|
|
280
|
+
cfgnFileDisplayName: r
|
|
281
|
+
}), y.convertDocument(i);
|
|
282
|
+
}
|
|
283
|
+
async function A(e, t, n) {
|
|
284
|
+
let { tasks: r, lastTaskName: i } = j(e, t);
|
|
285
|
+
return r.push({
|
|
286
|
+
type: S.OutputToTempCfgnFile,
|
|
287
|
+
inputTaskName: i,
|
|
288
|
+
name: "OutputPdfTask",
|
|
289
|
+
cfgnFileExtension: "pdf",
|
|
290
|
+
cfgnFileDisplayName: n
|
|
291
|
+
}), y.convertDocument(r);
|
|
292
|
+
}
|
|
293
|
+
function j(e, t) {
|
|
294
|
+
let n = t.length > 1, r = "Task_", i = t.map((t, n) => t.type === C.PdfAsset ? {
|
|
274
295
|
type: S.PdfAsset,
|
|
275
|
-
name: `${
|
|
296
|
+
name: `${r}${n}`,
|
|
276
297
|
bundleAliasName: e,
|
|
277
298
|
assetPath: t.assetPath,
|
|
278
299
|
context: t.context
|
|
279
300
|
} : {
|
|
280
301
|
type: S.Asset,
|
|
281
|
-
name: `${
|
|
302
|
+
name: `${r}${n}`,
|
|
282
303
|
bundleAliasName: e,
|
|
283
304
|
assetPath: t.assetPath
|
|
284
305
|
});
|
|
285
|
-
return
|
|
306
|
+
return n && i.push({
|
|
286
307
|
type: S.Merge,
|
|
287
|
-
name:
|
|
288
|
-
inputTaskNames:
|
|
289
|
-
}),
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
cfgnFileExtension: "pdf",
|
|
294
|
-
cfgnFileName: n,
|
|
295
|
-
cfgnFileDisplayName: r
|
|
296
|
-
}), y.convertDocument(s);
|
|
308
|
+
name: "MergeTask",
|
|
309
|
+
inputTaskNames: i.map((e) => e.name)
|
|
310
|
+
}), {
|
|
311
|
+
tasks: i,
|
|
312
|
+
lastTaskName: i[i.length - 1].name
|
|
313
|
+
};
|
|
297
314
|
}
|
|
298
315
|
//#endregion
|
|
299
316
|
//#region ../../packages/be-lib/src/lib/hive-enums.ts
|
|
300
|
-
var
|
|
317
|
+
var M = {
|
|
301
318
|
Text: "Text",
|
|
302
319
|
Number: "Number",
|
|
303
320
|
Logic: "Logic",
|
|
@@ -306,8 +323,8 @@ var A = {
|
|
|
306
323
|
TextAsset: "TextAsset",
|
|
307
324
|
Table: "Table"
|
|
308
325
|
};
|
|
309
|
-
`${
|
|
310
|
-
var
|
|
326
|
+
`${M.Text}`, `${M.Number}`;
|
|
327
|
+
var N = {
|
|
311
328
|
ValueComponent: "ValueComponent",
|
|
312
329
|
TableComponent: "TableComponent",
|
|
313
330
|
RecordComponent: "RecordComponent",
|
|
@@ -315,51 +332,35 @@ var j = {
|
|
|
315
332
|
GraphicComponent: "GraphicComponent",
|
|
316
333
|
CheckoutComponent: "CheckoutComponent"
|
|
317
334
|
};
|
|
318
|
-
|
|
319
|
-
var M = {
|
|
320
|
-
ValueEditor: "ValueEditor",
|
|
321
|
-
TableEditor: "TableEditor",
|
|
322
|
-
Fiber: "Fiber",
|
|
323
|
-
FiberEditor: "FiberEditor",
|
|
324
|
-
CfgrField: "CfgrField",
|
|
325
|
-
Watch: "Watch"
|
|
326
|
-
};
|
|
327
|
-
e.enum([
|
|
328
|
-
M.ValueEditor,
|
|
329
|
-
M.TableEditor,
|
|
330
|
-
M.Fiber,
|
|
331
|
-
M.FiberEditor,
|
|
332
|
-
M.CfgrField,
|
|
333
|
-
M.Watch
|
|
334
|
-
]), e.union([
|
|
335
|
+
N.GraphicComponent, N.CheckoutComponent, N.ResourceComponent, N.RecordComponent, e.union([
|
|
335
336
|
e.string(),
|
|
336
337
|
e.number(),
|
|
337
338
|
e.boolean()
|
|
338
339
|
]);
|
|
339
|
-
var
|
|
340
|
+
var P = (e) => typeof e == "string";
|
|
340
341
|
e.string(), e.enum([
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
]), e.string(), e.custom((e) =>
|
|
345
|
-
var
|
|
342
|
+
M.Text,
|
|
343
|
+
M.Number,
|
|
344
|
+
M.Logic
|
|
345
|
+
]), e.string(), e.custom((e) => P(e) && e.toLowerCase() === e);
|
|
346
|
+
var F = (e) => e?.toLowerCase() ?? "";
|
|
346
347
|
e.string();
|
|
347
|
-
var ae = e.custom((e) =>
|
|
348
|
+
var ae = e.custom((e) => P(e) ? RegExp(`^${N.ValueComponent}<.*>$`).test(e) : !1), oe = e.custom((e) => P(e) ? RegExp(`^${N.RecordComponent}<.*>$`).test(e) : !1), se = e.custom((e) => P(e) ? RegExp(`^${N.ResourceComponent}<.*>$`).test(e) : !1), ce = e.custom((e) => P(e) ? RegExp(`^${N.TableComponent}<.*>$`).test(e) : !1);
|
|
348
349
|
e.union([
|
|
349
350
|
ae,
|
|
350
351
|
ce,
|
|
351
352
|
oe,
|
|
352
353
|
se,
|
|
353
|
-
e.literal(
|
|
354
|
-
e.literal(
|
|
354
|
+
e.literal(N.GraphicComponent),
|
|
355
|
+
e.literal(N.CheckoutComponent)
|
|
355
356
|
]);
|
|
356
|
-
var
|
|
357
|
+
var I = e.union([
|
|
357
358
|
e.string(),
|
|
358
359
|
e.number(),
|
|
359
360
|
e.boolean()
|
|
360
361
|
]), le = e.union([
|
|
361
|
-
|
|
362
|
-
e.array(
|
|
362
|
+
I,
|
|
363
|
+
e.array(I),
|
|
363
364
|
e.looseObject({}),
|
|
364
365
|
e.unknown()
|
|
365
366
|
]);
|
|
@@ -371,14 +372,28 @@ e.object({
|
|
|
371
372
|
}).or(le);
|
|
372
373
|
//#endregion
|
|
373
374
|
//#region ../configurator-client/src/cmps-registry.ts
|
|
374
|
-
var
|
|
375
|
+
var L = /* @__PURE__ */ new Map();
|
|
375
376
|
function ue(e) {
|
|
376
|
-
let t =
|
|
377
|
-
|
|
377
|
+
let t = F(e.name);
|
|
378
|
+
L.has(t) || L.set(t, e);
|
|
379
|
+
}
|
|
380
|
+
//#endregion
|
|
381
|
+
//#region ../../packages/std-lib/src/log.utils.ts
|
|
382
|
+
var de = {
|
|
383
|
+
green: "#36D792",
|
|
384
|
+
yellow: "#D19A66",
|
|
385
|
+
red: "red"
|
|
386
|
+
};
|
|
387
|
+
function fe(e, t) {
|
|
388
|
+
return e && t ? `[${e}.${t}]` : e ? `[${e}]` : t ? `[${t}]` : "";
|
|
389
|
+
}
|
|
390
|
+
function pe(e, t, n = "", r, i = "green") {
|
|
391
|
+
let a = fe(e, t), o = de[i] ?? "inherit";
|
|
392
|
+
console.error(`%c${a}%c ${n}`, `color: ${o}`, "color: inherit", r);
|
|
378
393
|
}
|
|
379
394
|
//#endregion
|
|
380
395
|
//#region ../configurator-client/src/cmps/value-component.ts
|
|
381
|
-
var
|
|
396
|
+
var me = class {
|
|
382
397
|
name;
|
|
383
398
|
zodType;
|
|
384
399
|
constructor(e, t) {
|
|
@@ -388,21 +403,25 @@ var de = class {
|
|
|
388
403
|
return await m().getCmpValue(this.name);
|
|
389
404
|
}
|
|
390
405
|
async setInput(e) {
|
|
391
|
-
let t =
|
|
392
|
-
|
|
406
|
+
let t = F(this.name), n = await ne().setCmpInput(t, e, this.zodType);
|
|
407
|
+
n && pe("ConfiguratorClient", "setInput", n);
|
|
393
408
|
}
|
|
394
409
|
onValueChanged(e, t = !1, n) {
|
|
395
410
|
m().onCmpValueChanged(this.name, e, n, t);
|
|
396
411
|
}
|
|
397
|
-
},
|
|
412
|
+
}, R = () => y.getAssetPaths(), he = /* @__PURE__ */ function(e) {
|
|
398
413
|
return e[e.Facebook = 0] = "Facebook", e[e.Pinterest = 1] = "Pinterest", e[e.Twitter = 2] = "Twitter", e[e.LinkedIn = 3] = "LinkedIn", e[e.WhatsApp = 4] = "WhatsApp", e[e.Custom = 5] = "Custom", e[e.NativeShare = 6] = "NativeShare", e;
|
|
399
|
-
}({}),
|
|
414
|
+
}({}), z = b.onAnyCmpValueChanged.bind(b), B = async (e) => {
|
|
400
415
|
if (await y.finishConfiguration(e?.input) && e.sendDataToParentPage) {
|
|
401
416
|
let t = e.transformParentPageData();
|
|
402
417
|
await _.sendConfigurationFinished(t);
|
|
403
418
|
}
|
|
404
|
-
},
|
|
405
|
-
|
|
419
|
+
}, V = async (e) => {
|
|
420
|
+
await y.restartConfiguration(e);
|
|
421
|
+
}, H = async (e, t) => {
|
|
422
|
+
await y.changeDistributor(e, t);
|
|
423
|
+
}, U = async (e) => {
|
|
424
|
+
let t = he[e.platform], n = e.imageUrl ?? "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAwMCAO+X2ZkAAAAASUVORK5CYII=", r = {
|
|
406
425
|
...e,
|
|
407
426
|
platform: t,
|
|
408
427
|
imageUrl: n
|
|
@@ -415,12 +434,12 @@ var de = class {
|
|
|
415
434
|
shareConfigurationId: o
|
|
416
435
|
};
|
|
417
436
|
};
|
|
418
|
-
async function
|
|
437
|
+
async function W(e) {
|
|
419
438
|
return await y.executeIntegration(e);
|
|
420
439
|
}
|
|
421
440
|
//#endregion
|
|
422
441
|
//#region src/utils/cfgr.utils.ts
|
|
423
|
-
var
|
|
442
|
+
var G = () => _.isInIFrame(), K = (e) => _.setIFrameSize(e), q = (e) => y.navigateToLogin(e), J = async (e) => {
|
|
424
443
|
let { promise: t, resolve: n } = Promise.withResolvers(), r = {};
|
|
425
444
|
for (let [t, i] of Object.entries(e)) i.onValueChanged((i) => {
|
|
426
445
|
r[t] = i, Object.keys(e).every((e) => e in r) && n(r);
|
|
@@ -429,13 +448,13 @@ var V = () => _.isInIFrame(), H = (e) => _.setIFrameSize(e), U = (e) => y.naviga
|
|
|
429
448
|
};
|
|
430
449
|
//#endregion
|
|
431
450
|
//#region src/utils/ctrl.utils.ts
|
|
432
|
-
function
|
|
451
|
+
function Y(e, t) {
|
|
433
452
|
return new i(v.createCtrl("button", e.id, t));
|
|
434
453
|
}
|
|
435
|
-
function
|
|
454
|
+
function X(e, t) {
|
|
436
455
|
return new a(v.createCtrl("checkbox", e.id, t));
|
|
437
456
|
}
|
|
438
|
-
function
|
|
457
|
+
function Z(e, t) {
|
|
439
458
|
return new l(v.createCtrl("dataview", e.id, {
|
|
440
459
|
position: t.position,
|
|
441
460
|
properties: {
|
|
@@ -445,7 +464,7 @@ function q(e, t) {
|
|
|
445
464
|
}
|
|
446
465
|
}));
|
|
447
466
|
}
|
|
448
|
-
function
|
|
467
|
+
function Q(e, t) {
|
|
449
468
|
return new s(v.createCtrl("combobox", e.id, {
|
|
450
469
|
position: t.position,
|
|
451
470
|
properties: {
|
|
@@ -455,54 +474,57 @@ function J(e, t) {
|
|
|
455
474
|
}
|
|
456
475
|
}));
|
|
457
476
|
}
|
|
458
|
-
function
|
|
477
|
+
function ge(e, t) {
|
|
459
478
|
return new d(v.createCtrl("text", e.id, t));
|
|
460
479
|
}
|
|
461
|
-
function
|
|
462
|
-
return new
|
|
480
|
+
function $(e, t) {
|
|
481
|
+
return new ee(v.createCtrl("panel", e.id, t));
|
|
463
482
|
}
|
|
464
|
-
function
|
|
465
|
-
return new
|
|
483
|
+
function _e(e, t) {
|
|
484
|
+
return new u(v.createCtrl("textbox", e.id, t));
|
|
466
485
|
}
|
|
467
|
-
function
|
|
486
|
+
function ve(e, t) {
|
|
468
487
|
return new c(v.createCtrl("customctrl", e.id, t));
|
|
469
488
|
}
|
|
470
|
-
function
|
|
489
|
+
function ye(e, t) {
|
|
471
490
|
return new o(v.createCtrl("collapsible", e.id, t));
|
|
472
491
|
}
|
|
473
492
|
//#endregion
|
|
474
493
|
//#region src/utils/lifecycle.utils.ts
|
|
475
|
-
var
|
|
494
|
+
var be = "`beforeConfiguratorIsRendered` has no effect because it was called after the configurator was already rendered.\nCall it from the top-level code of your entry file. Do not call it from an async callback.", xe = "`beforeConfiguratorIsRendered` is ignored because it was called more than once.\nIt must only be called once.", Se = (e) => {
|
|
476
495
|
let t = ie.registerBeforeConfiguratorIsRendered(e);
|
|
477
|
-
t === "called-after-cfgr-render" ? console.error(
|
|
478
|
-
},
|
|
479
|
-
addButtonControl: () =>
|
|
480
|
-
addCheckboxControl: () =>
|
|
481
|
-
addCollapsibleControl: () =>
|
|
482
|
-
addComboboxControl: () =>
|
|
483
|
-
addCustomControl: () =>
|
|
484
|
-
addDataviewControl: () =>
|
|
485
|
-
addInputControl: () =>
|
|
486
|
-
addPanelControl: () =>
|
|
487
|
-
addTextControl: () =>
|
|
488
|
-
beforeConfiguratorIsRendered: () =>
|
|
489
|
-
|
|
496
|
+
t === "called-after-cfgr-render" ? console.error(be) : t === "already-registered" && console.error(xe);
|
|
497
|
+
}, Ce = (e, t) => _.sendCustomMsg(e, t), we = (e) => _.redirectParentPage(e), Te = () => _.getParentPageUrl(), Ee = (e, t) => _.fireAnalyticsEvent(e, t), De = (e) => _.onParentPageEvent(e), Oe = async (e, t) => re.createArPage(e, t), ke = /* @__PURE__ */ n({
|
|
498
|
+
addButtonControl: () => Y,
|
|
499
|
+
addCheckboxControl: () => X,
|
|
500
|
+
addCollapsibleControl: () => ye,
|
|
501
|
+
addComboboxControl: () => Q,
|
|
502
|
+
addCustomControl: () => ve,
|
|
503
|
+
addDataviewControl: () => Z,
|
|
504
|
+
addInputControl: () => _e,
|
|
505
|
+
addPanelControl: () => $,
|
|
506
|
+
addTextControl: () => ge,
|
|
507
|
+
beforeConfiguratorIsRendered: () => Se,
|
|
508
|
+
changeDistributor: () => H,
|
|
509
|
+
configuratorIsInIFrame: () => G,
|
|
490
510
|
convertDocument: () => O,
|
|
491
|
-
createArPage: () =>
|
|
511
|
+
createArPage: () => Oe,
|
|
492
512
|
createPdfFromAssets: () => k,
|
|
493
|
-
createSyncCmpValuesStore: () =>
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
513
|
+
createSyncCmpValuesStore: () => J,
|
|
514
|
+
createTempPdfFromAssets: () => A,
|
|
515
|
+
executeIntegration: () => W,
|
|
516
|
+
finishConfiguration: () => B,
|
|
517
|
+
fireAnalyticsEvent: () => Ee,
|
|
518
|
+
getAssetPaths: () => R,
|
|
519
|
+
getParentPageUrl: () => Te,
|
|
520
|
+
navigateToLogin: () => q,
|
|
521
|
+
onAnyCmpValueChanged: () => z,
|
|
522
|
+
onParentPageEvent: () => De,
|
|
523
|
+
redirectParentPage: () => we,
|
|
524
|
+
restartConfiguration: () => V,
|
|
525
|
+
sendCustomMsgToParentPage: () => Ce,
|
|
526
|
+
setConfiguratorIFrameSize: () => K,
|
|
527
|
+
shareConfiguration: () => U,
|
|
506
528
|
uploadFiles: () => T,
|
|
507
529
|
uploadImages: () => w,
|
|
508
530
|
uploadTempFiles: () => D,
|
|
@@ -513,4 +535,4 @@ var me = "`beforeConfiguratorIsRendered` has no effect because it was called aft
|
|
|
513
535
|
//#region src/index.ts
|
|
514
536
|
console.log(`Loading custom code SDK v${r}`);
|
|
515
537
|
//#endregion
|
|
516
|
-
export { i as Button,
|
|
538
|
+
export { i as Button, ke as CbnSdk, a as Checkbox, o as Collapsible, s as Combobox, C as CreatePdfTaskTypes, c as CustomControl, l as Dataview, S as DocumentConvertTaskTypes, u as Input, ee as Panel, d as Text, me as ValueComponent, Y as addButtonControl, X as addCheckboxControl, ye as addCollapsibleControl, Q as addComboboxControl, ve as addCustomControl, Z as addDataviewControl, _e as addInputControl, $ as addPanelControl, ge as addTextControl, Se as beforeConfiguratorIsRendered, H as changeDistributor, G as configuratorIsInIFrame, O as convertDocument, Oe as createArPage, k as createPdfFromAssets, J as createSyncCmpValuesStore, A as createTempPdfFromAssets, W as executeIntegration, B as finishConfiguration, Ee as fireAnalyticsEvent, R as getAssetPaths, Te as getParentPageUrl, q as navigateToLogin, z as onAnyCmpValueChanged, De as onParentPageEvent, we as redirectParentPage, V as restartConfiguration, Ce as sendCustomMsgToParentPage, K as setConfiguratorIFrameSize, U as shareConfiguration, T as uploadFiles, w as uploadImages, D as uploadTempFiles, E as uploadTempImages, r as version };
|
package/dist/index.d.ts
CHANGED
|
@@ -91,9 +91,9 @@ declare type AssetName = z.infer<typeof ZAssetName>;
|
|
|
91
91
|
*
|
|
92
92
|
* !!! Info !!!
|
|
93
93
|
*
|
|
94
|
-
* The callback must be registered in the
|
|
95
|
-
* The callback will have **no** effect when registered in any async
|
|
96
|
-
*
|
|
94
|
+
* The callback must be registered in the top-level context of your main entry file.\
|
|
95
|
+
* The callback will have **no** effect when registered in any async callback like `window.setTimeout` or any kind of
|
|
96
|
+
* DOM event listener etc.
|
|
97
97
|
*/
|
|
98
98
|
export declare const beforeConfiguratorIsRendered: (callback: () => Promise<void>) => void;
|
|
99
99
|
|
|
@@ -158,6 +158,7 @@ export declare namespace CbnSdk {
|
|
|
158
158
|
addPanelControl,
|
|
159
159
|
addTextControl,
|
|
160
160
|
beforeConfiguratorIsRendered,
|
|
161
|
+
changeDistributor,
|
|
161
162
|
configuratorIsInIFrame,
|
|
162
163
|
finishConfiguration,
|
|
163
164
|
fireAnalyticsEvent,
|
|
@@ -167,6 +168,7 @@ export declare namespace CbnSdk {
|
|
|
167
168
|
navigateToLogin,
|
|
168
169
|
onAnyCmpValueChanged,
|
|
169
170
|
redirectParentPage,
|
|
171
|
+
restartConfiguration,
|
|
170
172
|
sendCustomMsgToParentPage,
|
|
171
173
|
setConfiguratorIFrameSize,
|
|
172
174
|
shareConfiguration,
|
|
@@ -178,6 +180,7 @@ export declare namespace CbnSdk {
|
|
|
178
180
|
uploadTempImages,
|
|
179
181
|
convertDocument,
|
|
180
182
|
createPdfFromAssets,
|
|
183
|
+
createTempPdfFromAssets,
|
|
181
184
|
createArPage,
|
|
182
185
|
version
|
|
183
186
|
}
|
|
@@ -190,6 +193,14 @@ export declare type CfgnFileUploadData<T extends string = string> = {
|
|
|
190
193
|
};
|
|
191
194
|
};
|
|
192
195
|
|
|
196
|
+
/**
|
|
197
|
+
* Restarts the configurator with a new configuration for the given distributor.
|
|
198
|
+
*
|
|
199
|
+
* @param distributorName Name of the distributor to switch to. If omitted, switches to the company tenant.
|
|
200
|
+
* @param copyCfgnValues If `true` (default), the values of the current configuration are copied over to the new one.
|
|
201
|
+
*/
|
|
202
|
+
export declare const changeDistributor: (distributorName?: string, copyCfgnValues?: boolean) => Promise<void>;
|
|
203
|
+
|
|
193
204
|
export declare class Checkbox {
|
|
194
205
|
#private;
|
|
195
206
|
readonly id: CtrlId;
|
|
@@ -630,6 +641,9 @@ declare type CreatePanelProperties = {
|
|
|
630
641
|
/**
|
|
631
642
|
* Creates a PDF from one or more assets which will be merged in the given order.
|
|
632
643
|
*
|
|
644
|
+
* Consider using {@link createTempPdfFromAssets} if the PDF doesn't need to be persisted and
|
|
645
|
+
* isn't relevant for the finished configuration.
|
|
646
|
+
*
|
|
633
647
|
* Simplified helper built on top of {@link convertDocument}.
|
|
634
648
|
* Use {@link convertDocument} directly for advanced scenarios.
|
|
635
649
|
*
|
|
@@ -738,6 +752,41 @@ export declare const createSyncCmpValuesStore: <TCmps extends {
|
|
|
738
752
|
[id: CmpName]: ValueComponent;
|
|
739
753
|
}>(cmps: TCmps) => Promise<Readonly<SyncCmpValuesStore<TCmps>>>;
|
|
740
754
|
|
|
755
|
+
/**
|
|
756
|
+
* Creates a temporary PDF from one or more assets which will be merged in the given order.
|
|
757
|
+
*
|
|
758
|
+
* Simplified helper built on top of {@link convertDocument}.
|
|
759
|
+
* Use {@link convertDocument} directly for advanced scenarios.
|
|
760
|
+
*
|
|
761
|
+
* @param bundleAliasName Bundle name where the assets are stored
|
|
762
|
+
* @param assetTasks One or more "assets tasks" which will be merged in the given order
|
|
763
|
+
* @param name Optional name which will be used when downloading the file
|
|
764
|
+
* @returns URL to the generated cfgn file, if successful
|
|
765
|
+
*
|
|
766
|
+
* @example
|
|
767
|
+
* ```ts
|
|
768
|
+
* const resultUrl = await createTempPdfFromAssets(
|
|
769
|
+
* 'MyBundle',
|
|
770
|
+
* [
|
|
771
|
+
* {
|
|
772
|
+
* type: 'PdfAsset',
|
|
773
|
+
* assetPath: 'quotePdfAsset',
|
|
774
|
+
* context: {
|
|
775
|
+
* subject: 'MySubject',
|
|
776
|
+
* },
|
|
777
|
+
* },
|
|
778
|
+
* {
|
|
779
|
+
* type: 'Asset',
|
|
780
|
+
* assetPath: 'Pdf2',
|
|
781
|
+
* },
|
|
782
|
+
* ],
|
|
783
|
+
* `Your_quote_${new Date().toISOString()}`
|
|
784
|
+
* );
|
|
785
|
+
* ```
|
|
786
|
+
*
|
|
787
|
+
*/
|
|
788
|
+
export declare function createTempPdfFromAssets(bundleAliasName: string, assetTasks: CreatePdfTasks[], name: string): Promise<string | undefined>;
|
|
789
|
+
|
|
741
790
|
declare type CreateTextProperties = {
|
|
742
791
|
text: string | undefined;
|
|
743
792
|
width: string | undefined;
|
|
@@ -996,15 +1045,24 @@ export declare type DocumentConvertTask = {
|
|
|
996
1045
|
cfgnFileExtension: string;
|
|
997
1046
|
/** Optional name which will be used when downloading the file */
|
|
998
1047
|
cfgnFileDisplayName?: string;
|
|
1048
|
+
} | {
|
|
1049
|
+
type: DocumentConvertTaskTypes.OutputToTempCfgnFile;
|
|
1050
|
+
name: string;
|
|
1051
|
+
inputTaskName: string;
|
|
1052
|
+
cfgnFileExtension: string;
|
|
1053
|
+
/** Optional name which will be used when downloading the file */
|
|
1054
|
+
cfgnFileDisplayName?: string;
|
|
999
1055
|
};
|
|
1000
1056
|
|
|
1001
1057
|
export declare enum DocumentConvertTaskTypes {
|
|
1002
1058
|
/** Create a PDF with dynamic content based on the given `context` */
|
|
1003
1059
|
PdfAsset = 0,
|
|
1004
|
-
/** Retrieve an asset to be used for
|
|
1060
|
+
/** Retrieve an asset to be used for succeeding tasks (e.g. static PDF for merge) */
|
|
1005
1061
|
Asset = 1,
|
|
1006
1062
|
/** Merge multiple input tasks into a single document */
|
|
1007
1063
|
Merge = 2,
|
|
1064
|
+
/** Finalize the conversion by storing it as a temporary `Configuration file` */
|
|
1065
|
+
OutputToTempCfgnFile = 3,
|
|
1008
1066
|
/** Finalize the conversion by storing it as `Configuration file` */
|
|
1009
1067
|
OutputToCfgnFile = 4
|
|
1010
1068
|
}
|
|
@@ -1350,6 +1408,13 @@ export declare type ProductCustomFields = {
|
|
|
1350
1408
|
*/
|
|
1351
1409
|
export declare const redirectParentPage: (url: string) => Promise<ParentPageComResult<void>>;
|
|
1352
1410
|
|
|
1411
|
+
/**
|
|
1412
|
+
* Restarts the configurator with a new configuration.
|
|
1413
|
+
*
|
|
1414
|
+
* @param copyCfgnValues If `true`, the values of the current configuration are copied over to the new one.
|
|
1415
|
+
*/
|
|
1416
|
+
export declare const restartConfiguration: (copyCfgnValues?: boolean) => Promise<void>;
|
|
1417
|
+
|
|
1353
1418
|
declare type SdkAssetPaths = {
|
|
1354
1419
|
babylonJsAssets: {
|
|
1355
1420
|
[key: AssetName]: UrlString;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@combeenation/custom-code-sdk",
|
|
3
|
-
"version": "0.0.1-
|
|
3
|
+
"version": "0.0.1-rc4",
|
|
4
4
|
"description": "Combeenation custom code SDK package",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"homepage": "",
|
|
@@ -30,12 +30,12 @@
|
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@combeenation/configurator-client": "*",
|
|
33
|
-
"@microsoft/api-extractor": "7.
|
|
33
|
+
"@microsoft/api-extractor": "7.59.2",
|
|
34
34
|
"@repo/std-configs": "*",
|
|
35
35
|
"@repo/std-lib": "*",
|
|
36
36
|
"typescript": "6.0.3",
|
|
37
|
-
"unplugin-dts": "1.
|
|
38
|
-
"vite": "8.
|
|
37
|
+
"unplugin-dts": "1.1.1",
|
|
38
|
+
"vite": "8.3.1"
|
|
39
39
|
},
|
|
40
40
|
"@comment dependencies": [
|
|
41
41
|
"All our external (!) sub dependencies shall be included in `vite.config.ts:rolldownOptions.external`.",
|