@kizenapps/engine 1.7.3-0f44a43 → 1.7.4

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.
Files changed (46) hide show
  1. package/dist/{ThirdPartyScript-CvOXQBiO.d.ts → ThirdPartyScript-DauYx3B5.d.ts} +1 -1
  2. package/dist/{automation-CURkgisn.d.ts → automation-Bpg6VoKc.d.ts} +3 -2
  3. package/dist/blocks-DuJJdwgj.d.ts +39 -0
  4. package/dist/{chunk-JSV6L5QJ.js → chunk-57E3SSWE.js} +6 -6
  5. package/dist/{chunk-JSV6L5QJ.js.map → chunk-57E3SSWE.js.map} +1 -1
  6. package/dist/{chunk-ALPMSMIU.js → chunk-6FNI3N3L.js} +4 -3
  7. package/dist/chunk-6FNI3N3L.js.map +1 -0
  8. package/dist/{chunk-NLJZDTIZ.js → chunk-6X5XT5VZ.js} +3 -3
  9. package/dist/{chunk-NLJZDTIZ.js.map → chunk-6X5XT5VZ.js.map} +1 -1
  10. package/dist/{chunk-FSCARJX2.js → chunk-DFMGBECP.js} +5 -5
  11. package/dist/{chunk-FSCARJX2.js.map → chunk-DFMGBECP.js.map} +1 -1
  12. package/dist/{chunk-WY6MASDC.js → chunk-JALBO44J.js} +3 -3
  13. package/dist/{chunk-WY6MASDC.js.map → chunk-JALBO44J.js.map} +1 -1
  14. package/dist/{chunk-B43UNY3G.js → chunk-ML32XZC5.js} +3 -3
  15. package/dist/{chunk-B43UNY3G.js.map → chunk-ML32XZC5.js.map} +1 -1
  16. package/dist/{chunk-5XPV4FO2.js → chunk-UPSXKOXC.js} +3 -3
  17. package/dist/{chunk-5XPV4FO2.js.map → chunk-UPSXKOXC.js.map} +1 -1
  18. package/dist/{chunk-K7FXR4JK.js → chunk-W6ODIN3B.js} +4 -4
  19. package/dist/{chunk-K7FXR4JK.js.map → chunk-W6ODIN3B.js.map} +1 -1
  20. package/dist/{chunk-2K5C4A54.js → chunk-XR6WJWT4.js} +19 -4
  21. package/dist/chunk-XR6WJWT4.js.map +1 -0
  22. package/dist/communication.d.ts +5 -3
  23. package/dist/communication.js +2 -2
  24. package/dist/contexts/base.d.ts +1 -1
  25. package/dist/contexts/base.js +4 -4
  26. package/dist/contexts/floatingFrame.d.ts +1 -1
  27. package/dist/contexts/floatingFrame.js +5 -5
  28. package/dist/contexts/recordDetail.d.ts +1 -1
  29. package/dist/contexts/recordDetail.js +5 -5
  30. package/dist/index.d.ts +6 -6
  31. package/dist/index.js +4 -4
  32. package/dist/react.d.ts +27 -5
  33. package/dist/react.js +111 -6
  34. package/dist/react.js.map +1 -1
  35. package/dist/types.d.ts +6 -18
  36. package/dist/util.d.ts +3 -3
  37. package/dist/util.js +6 -6
  38. package/dist/{values-DW0zm74v.d.ts → values-B_vFQrTp.d.ts} +2 -2
  39. package/dist/workers/calendarSource.worker.js +6 -6
  40. package/dist/workers/floatingFrame.worker.js +7 -7
  41. package/dist/workers/generic.worker.js +6 -6
  42. package/dist/workers/recordDetail.worker.js +7 -7
  43. package/package.json +1 -1
  44. package/dist/chunk-2K5C4A54.js.map +0 -1
  45. package/dist/chunk-ALPMSMIU.js.map +0 -1
  46. package/dist/generic-Bevgir2K.d.ts +0 -19
@@ -1,4 +1,4 @@
1
- import { ROUTE_CHANGE_INTERNAL_EVENT } from './chunk-ALPMSMIU.js';
1
+ import { ROUTE_CHANGE_INTERNAL_EVENT } from './chunk-6FNI3N3L.js';
2
2
 
3
3
  // src/util/run.ts
4
4
  var getPartialLocation = () => {
@@ -96,5 +96,5 @@ var findMatchingAction = (availableActions, apiName) => {
96
96
  };
97
97
 
98
98
  export { buildCodeRunnerFunction, emitRouteChange, findMatchingAction, generateExecutionKey, generateUUIDV4, getPartialLocation };
99
- //# sourceMappingURL=chunk-B43UNY3G.js.map
100
- //# sourceMappingURL=chunk-B43UNY3G.js.map
99
+ //# sourceMappingURL=chunk-ML32XZC5.js.map
100
+ //# sourceMappingURL=chunk-ML32XZC5.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/util/run.ts"],"names":["action"],"mappings":"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","file":"chunk-B43UNY3G.js","sourcesContent":["import { ROUTE_CHANGE_INTERNAL_EVENT } from '../communication/constants.js';\nimport type { PartialLocation } from '../types/common.js';\nimport type { CommonExecutionPlugin, CommonPluginDefinition } from '../types/run.js';\nimport type { AsyncFunctionConstructor, BuiltAsyncFn } from '../types/workers.js';\n\nexport const getPartialLocation = (): PartialLocation => {\n return {\n host: window.location.host,\n hash: window.location.hash,\n href: window.location.href,\n origin: window.location.origin,\n pathname: window.location.pathname,\n search: window.location.search,\n port: window.location.port,\n protocol: window.location.protocol,\n };\n};\n\nexport const generateUUIDV4 = (): string => {\n let d = new Date().getTime();\n\n if (typeof performance !== 'undefined' && typeof performance.now === 'function') {\n d += performance.now();\n }\n\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = ((d + Math.random() * 16) % 16) | 0;\n d = Math.floor(d / 16);\n return (c === 'x' ? r : (r & 0x3) | 0x8).toString(16);\n });\n};\n\nconst AsyncFunction = (\n Object.getPrototypeOf(async function () {\n /* empty */\n }) as { constructor: AsyncFunctionConstructor }\n).constructor;\n\nexport const buildCodeRunnerFunction = (script: string): BuiltAsyncFn => {\n const functionBody = `\n const __cleanup = this.__cleanup.bind(this);\n const __error = this.onError.bind(this);\n\n const console = this.console;\n\n let __kizen_internal_result;\n\n {\n this.__setup();\n }\n\n try {\n __kizen_internal_result = await (async () => { ${script} })();\n } catch (ex) {\n __error(ex);\n } finally {\n __cleanup(__kizen_internal_result);\n }\n `;\n\n try {\n const fn = new AsyncFunction(functionBody);\n\n return { fn, functionBody };\n } catch {\n const errorFnBody = `\n this.__setup();\n\n this.onError({ message: \"The script has a syntax error and could not be parsed\" });\n \n this.__cleanup();\n `;\n\n const fn = new AsyncFunction(errorFnBody);\n\n return { fn, functionBody: errorFnBody };\n }\n};\n\nexport const generateExecutionKey = (\n pluginConfig?: CommonPluginDefinition | CommonExecutionPlugin,\n): string => {\n return `${pluginConfig?.plugin_api_name ?? ''}-${pluginConfig?.id ?? ''}-${pluginConfig?.api_name ?? ''}-${pluginConfig?.script_id ?? ''}`;\n};\n\nexport const emitRouteChange = (): void => {\n const event = new CustomEvent(ROUTE_CHANGE_INTERNAL_EVENT, {\n detail: {\n location: getPartialLocation(),\n },\n });\n\n window.dispatchEvent(event);\n};\n\nconst splitScriptApiName = (\n scriptApiName: string,\n): { pluginApiName: string | undefined; actionApiName: string | undefined } => {\n const [pluginApiName, actionApiName] = scriptApiName.split('.');\n\n return {\n pluginApiName,\n actionApiName,\n };\n};\n\nexport const findMatchingAction = (\n availableActions: {\n pluginApp?: {\n apiName: string;\n };\n apiName: string;\n }[],\n apiName?: string,\n): unknown => {\n if (!apiName) {\n return null;\n }\n\n const { pluginApiName, actionApiName } = splitScriptApiName(apiName);\n\n if (!pluginApiName) {\n const action = availableActions.find((act) => !act.pluginApp && act.apiName === actionApiName);\n\n return action;\n }\n\n const action = availableActions.find(\n (act) => act.apiName === actionApiName && act.pluginApp?.apiName === pluginApiName,\n );\n\n return action;\n};\n"]}
1
+ {"version":3,"sources":["../src/util/run.ts"],"names":["action"],"mappings":"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","file":"chunk-ML32XZC5.js","sourcesContent":["import { ROUTE_CHANGE_INTERNAL_EVENT } from '../communication/constants.js';\nimport type { PartialLocation } from '../types/common.js';\nimport type { CommonExecutionPlugin, CommonPluginDefinition } from '../types/run.js';\nimport type { AsyncFunctionConstructor, BuiltAsyncFn } from '../types/workers.js';\n\nexport const getPartialLocation = (): PartialLocation => {\n return {\n host: window.location.host,\n hash: window.location.hash,\n href: window.location.href,\n origin: window.location.origin,\n pathname: window.location.pathname,\n search: window.location.search,\n port: window.location.port,\n protocol: window.location.protocol,\n };\n};\n\nexport const generateUUIDV4 = (): string => {\n let d = new Date().getTime();\n\n if (typeof performance !== 'undefined' && typeof performance.now === 'function') {\n d += performance.now();\n }\n\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = ((d + Math.random() * 16) % 16) | 0;\n d = Math.floor(d / 16);\n return (c === 'x' ? r : (r & 0x3) | 0x8).toString(16);\n });\n};\n\nconst AsyncFunction = (\n Object.getPrototypeOf(async function () {\n /* empty */\n }) as { constructor: AsyncFunctionConstructor }\n).constructor;\n\nexport const buildCodeRunnerFunction = (script: string): BuiltAsyncFn => {\n const functionBody = `\n const __cleanup = this.__cleanup.bind(this);\n const __error = this.onError.bind(this);\n\n const console = this.console;\n\n let __kizen_internal_result;\n\n {\n this.__setup();\n }\n\n try {\n __kizen_internal_result = await (async () => { ${script} })();\n } catch (ex) {\n __error(ex);\n } finally {\n __cleanup(__kizen_internal_result);\n }\n `;\n\n try {\n const fn = new AsyncFunction(functionBody);\n\n return { fn, functionBody };\n } catch {\n const errorFnBody = `\n this.__setup();\n\n this.onError({ message: \"The script has a syntax error and could not be parsed\" });\n \n this.__cleanup();\n `;\n\n const fn = new AsyncFunction(errorFnBody);\n\n return { fn, functionBody: errorFnBody };\n }\n};\n\nexport const generateExecutionKey = (\n pluginConfig?: CommonPluginDefinition | CommonExecutionPlugin,\n): string => {\n return `${pluginConfig?.plugin_api_name ?? ''}-${pluginConfig?.id ?? ''}-${pluginConfig?.api_name ?? ''}-${pluginConfig?.script_id ?? ''}`;\n};\n\nexport const emitRouteChange = (): void => {\n const event = new CustomEvent(ROUTE_CHANGE_INTERNAL_EVENT, {\n detail: {\n location: getPartialLocation(),\n },\n });\n\n window.dispatchEvent(event);\n};\n\nconst splitScriptApiName = (\n scriptApiName: string,\n): { pluginApiName: string | undefined; actionApiName: string | undefined } => {\n const [pluginApiName, actionApiName] = scriptApiName.split('.');\n\n return {\n pluginApiName,\n actionApiName,\n };\n};\n\nexport const findMatchingAction = (\n availableActions: {\n pluginApp?: {\n apiName: string;\n };\n apiName: string;\n }[],\n apiName?: string,\n): unknown => {\n if (!apiName) {\n return null;\n }\n\n const { pluginApiName, actionApiName } = splitScriptApiName(apiName);\n\n if (!pluginApiName) {\n const action = availableActions.find((act) => !act.pluginApp && act.apiName === actionApiName);\n\n return action;\n }\n\n const action = availableActions.find(\n (act) => act.apiName === actionApiName && act.pluginApp?.apiName === pluginApiName,\n );\n\n return action;\n};\n"]}
@@ -1,4 +1,4 @@
1
- import { BaseWorkerContext } from './chunk-FSCARJX2.js';
1
+ import { BaseWorkerContext } from './chunk-DFMGBECP.js';
2
2
 
3
3
  // src/contexts/RecordDetailWorkerContext.ts
4
4
  var isPipelineObject = (obj) => {
@@ -116,5 +116,5 @@ var RecordDetailWorkerContext = class extends BaseWorkerContext {
116
116
  };
117
117
 
118
118
  export { RecordDetailWorkerContext };
119
- //# sourceMappingURL=chunk-5XPV4FO2.js.map
120
- //# sourceMappingURL=chunk-5XPV4FO2.js.map
119
+ //# sourceMappingURL=chunk-UPSXKOXC.js.map
120
+ //# sourceMappingURL=chunk-UPSXKOXC.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/contexts/RecordDetailWorkerContext.ts"],"names":[],"mappings":"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","file":"chunk-5XPV4FO2.js","sourcesContent":["import type { PartialCustomObject, PartialEntity } from '../types/common.js';\nimport type { WorkerContextArgs } from '../types/contexts.js';\nimport { BaseWorkerContext } from './BaseWorkerContext.js';\n\nconst isPipelineObject = (obj: PartialCustomObject): boolean => {\n return obj.object_type === 'pipeline' || obj.fetch_url === 'pipeline';\n};\n\nexport class RecordDetailWorkerContext extends BaseWorkerContext {\n public objectId: string | undefined;\n public entityId: string | undefined;\n public actionObjectId: string | undefined;\n public actionEntityId: string | undefined;\n\n constructor({\n objectId,\n entityId,\n actionObjectId,\n actionEntityId,\n ...rest\n }: WorkerContextArgs & {\n objectId?: string;\n entityId?: string;\n actionObjectId?: string;\n actionEntityId?: string;\n }) {\n super(rest);\n\n this.objectId = objectId;\n this.entityId = entityId;\n this.actionObjectId = actionObjectId;\n this.actionEntityId = actionEntityId;\n this.runnerType = 'recordDetail';\n }\n\n async currentObject(): Promise<unknown> {\n if (this.objectId) {\n return this.getObjectDetail(this.objectId);\n }\n }\n\n async currentEntity(): Promise<unknown> {\n if (this.entityId && this.objectId) {\n return this.getEntity(this.objectId, this.entityId);\n }\n }\n\n async actionEntity(): Promise<unknown> {\n if (this.actionEntityId && this.actionObjectId) {\n return this.getEntity(this.actionObjectId, this.actionEntityId);\n }\n }\n\n getFieldValue(entity: PartialEntity, fieldId: string): unknown {\n return entity.fields?.[fieldId]?.value;\n }\n\n private async getClientEntity(entityId: string): Promise<unknown> {\n const result = await this.get(`/client/${entityId}`);\n\n return result;\n }\n\n protected isClientObject(objectId: string): boolean {\n return objectId === this.clientObject?.id;\n }\n\n async getEntity(objectId: string, entityId: string): Promise<unknown> {\n try {\n if (this.isClientObject(objectId)) {\n return await this.getClientEntity(entityId);\n }\n\n const model = (await this.get(`/custom-objects/${objectId}`)) as PartialCustomObject;\n\n if (isPipelineObject(model)) {\n return await this.getPipelineEntity(objectId, entityId);\n }\n\n return await this.getCustomEntity(objectId, entityId);\n } catch (ex: unknown) {\n this.onError(ex as Error);\n }\n }\n\n async getRelatedEntitiesForField(\n objectId: string,\n entityId: string,\n fieldId: string,\n ): Promise<unknown[]> {\n try {\n const entity = (await this.getEntity(objectId, entityId)) as PartialEntity;\n\n const field = entity.fields?.[fieldId];\n\n if (!field) {\n this.onError(new Error(`Field not found for ID ${fieldId}`));\n return [];\n }\n\n const object = await this.getObjectDetail(objectId);\n\n const relatedObject = object?.related_objects?.find((o) => o.field_id === field.id);\n\n if (!relatedObject) {\n this.onError(new Error('Related object not found'));\n return [];\n }\n\n const relationships = await Promise.all(\n field.value\n .map((value) => {\n if (value.id === undefined) {\n return null;\n }\n\n return this.getEntity(relatedObject.related_object, value.id);\n })\n .filter((promise) => promise !== null),\n );\n\n const result = relationships.filter(Boolean);\n\n return result;\n } catch (ex: unknown) {\n this.onError(ex as Error);\n }\n\n return [];\n }\n\n private async getPipelineEntity(objectId: string, entityId: string): Promise<unknown> {\n const result = await this.get(`/pipelines/${objectId}/entity-records/${entityId}`);\n\n return result;\n }\n\n private async getCustomEntity(objectId: string, entityId: string): Promise<unknown> {\n const result = await this.get(`/custom-objects/${objectId}/entity-records/${entityId}`);\n\n return result;\n }\n\n async getObjectDetail(id: string): Promise<PartialCustomObject | undefined> {\n try {\n const result = await this.get(`/custom-objects/${id}/detail`);\n\n return result as PartialCustomObject;\n } catch (ex: unknown) {\n this.onError(ex as Error);\n }\n }\n\n public refreshTimeline(): void {\n this.refreshTimelineForId(this.entityId);\n }\n\n public refreshEntity(): void {\n this.refreshEntityForId(this.entityId);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/contexts/RecordDetailWorkerContext.ts"],"names":[],"mappings":"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","file":"chunk-UPSXKOXC.js","sourcesContent":["import type { PartialCustomObject, PartialEntity } from '../types/common.js';\nimport type { WorkerContextArgs } from '../types/contexts.js';\nimport { BaseWorkerContext } from './BaseWorkerContext.js';\n\nconst isPipelineObject = (obj: PartialCustomObject): boolean => {\n return obj.object_type === 'pipeline' || obj.fetch_url === 'pipeline';\n};\n\nexport class RecordDetailWorkerContext extends BaseWorkerContext {\n public objectId: string | undefined;\n public entityId: string | undefined;\n public actionObjectId: string | undefined;\n public actionEntityId: string | undefined;\n\n constructor({\n objectId,\n entityId,\n actionObjectId,\n actionEntityId,\n ...rest\n }: WorkerContextArgs & {\n objectId?: string;\n entityId?: string;\n actionObjectId?: string;\n actionEntityId?: string;\n }) {\n super(rest);\n\n this.objectId = objectId;\n this.entityId = entityId;\n this.actionObjectId = actionObjectId;\n this.actionEntityId = actionEntityId;\n this.runnerType = 'recordDetail';\n }\n\n async currentObject(): Promise<unknown> {\n if (this.objectId) {\n return this.getObjectDetail(this.objectId);\n }\n }\n\n async currentEntity(): Promise<unknown> {\n if (this.entityId && this.objectId) {\n return this.getEntity(this.objectId, this.entityId);\n }\n }\n\n async actionEntity(): Promise<unknown> {\n if (this.actionEntityId && this.actionObjectId) {\n return this.getEntity(this.actionObjectId, this.actionEntityId);\n }\n }\n\n getFieldValue(entity: PartialEntity, fieldId: string): unknown {\n return entity.fields?.[fieldId]?.value;\n }\n\n private async getClientEntity(entityId: string): Promise<unknown> {\n const result = await this.get(`/client/${entityId}`);\n\n return result;\n }\n\n protected isClientObject(objectId: string): boolean {\n return objectId === this.clientObject?.id;\n }\n\n async getEntity(objectId: string, entityId: string): Promise<unknown> {\n try {\n if (this.isClientObject(objectId)) {\n return await this.getClientEntity(entityId);\n }\n\n const model = (await this.get(`/custom-objects/${objectId}`)) as PartialCustomObject;\n\n if (isPipelineObject(model)) {\n return await this.getPipelineEntity(objectId, entityId);\n }\n\n return await this.getCustomEntity(objectId, entityId);\n } catch (ex: unknown) {\n this.onError(ex as Error);\n }\n }\n\n async getRelatedEntitiesForField(\n objectId: string,\n entityId: string,\n fieldId: string,\n ): Promise<unknown[]> {\n try {\n const entity = (await this.getEntity(objectId, entityId)) as PartialEntity;\n\n const field = entity.fields?.[fieldId];\n\n if (!field) {\n this.onError(new Error(`Field not found for ID ${fieldId}`));\n return [];\n }\n\n const object = await this.getObjectDetail(objectId);\n\n const relatedObject = object?.related_objects?.find((o) => o.field_id === field.id);\n\n if (!relatedObject) {\n this.onError(new Error('Related object not found'));\n return [];\n }\n\n const relationships = await Promise.all(\n field.value\n .map((value) => {\n if (value.id === undefined) {\n return null;\n }\n\n return this.getEntity(relatedObject.related_object, value.id);\n })\n .filter((promise) => promise !== null),\n );\n\n const result = relationships.filter(Boolean);\n\n return result;\n } catch (ex: unknown) {\n this.onError(ex as Error);\n }\n\n return [];\n }\n\n private async getPipelineEntity(objectId: string, entityId: string): Promise<unknown> {\n const result = await this.get(`/pipelines/${objectId}/entity-records/${entityId}`);\n\n return result;\n }\n\n private async getCustomEntity(objectId: string, entityId: string): Promise<unknown> {\n const result = await this.get(`/custom-objects/${objectId}/entity-records/${entityId}`);\n\n return result;\n }\n\n async getObjectDetail(id: string): Promise<PartialCustomObject | undefined> {\n try {\n const result = await this.get(`/custom-objects/${id}/detail`);\n\n return result as PartialCustomObject;\n } catch (ex: unknown) {\n this.onError(ex as Error);\n }\n }\n\n public refreshTimeline(): void {\n this.refreshTimelineForId(this.entityId);\n }\n\n public refreshEntity(): void {\n this.refreshEntityForId(this.entityId);\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
- import { BaseWorkerContext } from './chunk-FSCARJX2.js';
2
- import { ACTIONS } from './chunk-ALPMSMIU.js';
1
+ import { BaseWorkerContext } from './chunk-DFMGBECP.js';
2
+ import { ACTIONS } from './chunk-6FNI3N3L.js';
3
3
 
4
4
  // src/contexts/FloatingFrameWorkerContext.ts
5
5
  var FloatingFrameWorkerContext = class extends BaseWorkerContext {
@@ -57,5 +57,5 @@ var FloatingFrameWorkerContext = class extends BaseWorkerContext {
57
57
  };
58
58
 
59
59
  export { FloatingFrameWorkerContext };
60
- //# sourceMappingURL=chunk-K7FXR4JK.js.map
61
- //# sourceMappingURL=chunk-K7FXR4JK.js.map
60
+ //# sourceMappingURL=chunk-W6ODIN3B.js.map
61
+ //# sourceMappingURL=chunk-W6ODIN3B.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/contexts/FloatingFrameWorkerContext.ts"],"names":[],"mappings":";;;;AAKO,IAAM,0BAAA,GAAN,cAAyC,iBAAA,CAAkB;AAAA,EAChE,YAAY,IAAA,EAAyB;AACnC,IAAA,KAAA,CAAM,IAAI,CAAA;AACV,IAAA,IAAA,CAAK,UAAA,GAAa,eAAA;AAAA,EACpB;AAAA,EAEO,IAAA,CAAK,MAAA,GAAqB,EAAC,EAAS;AACzC,IAAA,IAAA,CAAK,QAAA,CAAS,WAAA;AAAA,MACZ,KAAK,SAAA,CAAU;AAAA,QACb,QAAQ,OAAA,CAAQ,IAAA;AAAA,QAChB;AAAA,OACD;AAAA,KACH;AAAA,EACF;AAAA,EAEO,UAAA,GAAmB;AACxB,IAAA,IAAA,CAAK,QAAA,CAAS,WAAA;AAAA,MACZ,KAAK,SAAA,CAAU;AAAA,QACb,QAAQ,OAAA,CAAQ;AAAA,OACjB;AAAA,KACH;AAAA,EACF;AAAA,EAEO,UAAA,GAAmB;AACxB,IAAA,IAAA,CAAK,QAAA,CAAS,WAAA;AAAA,MACZ,KAAK,SAAA,CAAU;AAAA,QACb,QAAQ,OAAA,CAAQ;AAAA,OACjB;AAAA,KACH;AAAA,EACF;AAAA,EAEO,IAAA,CAAK,MAAA,GAAqB,EAAC,EAAS;AACzC,IAAA,IAAA,CAAK,QAAA,CAAS,WAAA;AAAA,MACZ,KAAK,SAAA,CAAU;AAAA,QACb,QAAQ,OAAA,CAAQ,IAAA;AAAA,QAChB;AAAA,OACD;AAAA,KACH;AAAA,EACF;AAAA,EAEO,MAAA,GAAe;AACpB,IAAA,IAAA,CAAK,QAAA,CAAS,WAAA;AAAA,MACZ,KAAK,SAAA,CAAU;AAAA,QACb,QAAQ,OAAA,CAAQ;AAAA,OACjB;AAAA,KACH;AAAA,EACF;AAAA,EAEO,QAAA,GAAiB;AACtB,IAAA,IAAA,CAAK,QAAA,CAAS,WAAA;AAAA,MACZ,KAAK,SAAA,CAAU;AAAA,QACb,QAAQ,OAAA,CAAQ;AAAA,OACjB;AAAA,KACH;AAAA,EACF;AAAA,EAEmB,UAAA,GAAmB;AACpC,IAAA,IAAA,CAAK,IAAA,EAAK;AAAA,EACZ;AACF","file":"chunk-K7FXR4JK.js","sourcesContent":["import { ACTIONS } from '../communication/constants.js';\nimport type { WorkerContextArgs } from '../types/contexts.js';\nimport type { HideConfig, ShowConfig } from '../types/floatingFrames.js';\nimport { BaseWorkerContext } from './BaseWorkerContext.js';\n\nexport class FloatingFrameWorkerContext extends BaseWorkerContext {\n constructor(args: WorkerContextArgs) {\n super(args);\n this.runnerType = 'floatingFrame';\n }\n\n public hide(config: HideConfig = {}): void {\n this.instance.postMessage(\n JSON.stringify({\n action: ACTIONS.HIDE,\n config,\n }),\n );\n }\n\n public hideHeader(): void {\n this.instance.postMessage(\n JSON.stringify({\n action: ACTIONS.HIDE_HEADER,\n }),\n );\n }\n\n public showHeader(): void {\n this.instance.postMessage(\n JSON.stringify({\n action: ACTIONS.SHOW_HEADER,\n }),\n );\n }\n\n public show(config: ShowConfig = {}): void {\n this.instance.postMessage(\n JSON.stringify({\n action: ACTIONS.SHOW,\n config,\n }),\n );\n }\n\n public expand(): void {\n this.instance.postMessage(\n JSON.stringify({\n action: ACTIONS.EXPAND,\n }),\n );\n }\n\n public collapse(): void {\n this.instance.postMessage(\n JSON.stringify({\n action: ACTIONS.COLLAPSE,\n }),\n );\n }\n\n protected override afterSetup(): void {\n this.show();\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/contexts/FloatingFrameWorkerContext.ts"],"names":[],"mappings":";;;;AAKO,IAAM,0BAAA,GAAN,cAAyC,iBAAA,CAAkB;AAAA,EAChE,YAAY,IAAA,EAAyB;AACnC,IAAA,KAAA,CAAM,IAAI,CAAA;AACV,IAAA,IAAA,CAAK,UAAA,GAAa,eAAA;AAAA,EACpB;AAAA,EAEO,IAAA,CAAK,MAAA,GAAqB,EAAC,EAAS;AACzC,IAAA,IAAA,CAAK,QAAA,CAAS,WAAA;AAAA,MACZ,KAAK,SAAA,CAAU;AAAA,QACb,QAAQ,OAAA,CAAQ,IAAA;AAAA,QAChB;AAAA,OACD;AAAA,KACH;AAAA,EACF;AAAA,EAEO,UAAA,GAAmB;AACxB,IAAA,IAAA,CAAK,QAAA,CAAS,WAAA;AAAA,MACZ,KAAK,SAAA,CAAU;AAAA,QACb,QAAQ,OAAA,CAAQ;AAAA,OACjB;AAAA,KACH;AAAA,EACF;AAAA,EAEO,UAAA,GAAmB;AACxB,IAAA,IAAA,CAAK,QAAA,CAAS,WAAA;AAAA,MACZ,KAAK,SAAA,CAAU;AAAA,QACb,QAAQ,OAAA,CAAQ;AAAA,OACjB;AAAA,KACH;AAAA,EACF;AAAA,EAEO,IAAA,CAAK,MAAA,GAAqB,EAAC,EAAS;AACzC,IAAA,IAAA,CAAK,QAAA,CAAS,WAAA;AAAA,MACZ,KAAK,SAAA,CAAU;AAAA,QACb,QAAQ,OAAA,CAAQ,IAAA;AAAA,QAChB;AAAA,OACD;AAAA,KACH;AAAA,EACF;AAAA,EAEO,MAAA,GAAe;AACpB,IAAA,IAAA,CAAK,QAAA,CAAS,WAAA;AAAA,MACZ,KAAK,SAAA,CAAU;AAAA,QACb,QAAQ,OAAA,CAAQ;AAAA,OACjB;AAAA,KACH;AAAA,EACF;AAAA,EAEO,QAAA,GAAiB;AACtB,IAAA,IAAA,CAAK,QAAA,CAAS,WAAA;AAAA,MACZ,KAAK,SAAA,CAAU;AAAA,QACb,QAAQ,OAAA,CAAQ;AAAA,OACjB;AAAA,KACH;AAAA,EACF;AAAA,EAEmB,UAAA,GAAmB;AACpC,IAAA,IAAA,CAAK,IAAA,EAAK;AAAA,EACZ;AACF","file":"chunk-W6ODIN3B.js","sourcesContent":["import { ACTIONS } from '../communication/constants.js';\nimport type { WorkerContextArgs } from '../types/contexts.js';\nimport type { HideConfig, ShowConfig } from '../types/floatingFrames.js';\nimport { BaseWorkerContext } from './BaseWorkerContext.js';\n\nexport class FloatingFrameWorkerContext extends BaseWorkerContext {\n constructor(args: WorkerContextArgs) {\n super(args);\n this.runnerType = 'floatingFrame';\n }\n\n public hide(config: HideConfig = {}): void {\n this.instance.postMessage(\n JSON.stringify({\n action: ACTIONS.HIDE,\n config,\n }),\n );\n }\n\n public hideHeader(): void {\n this.instance.postMessage(\n JSON.stringify({\n action: ACTIONS.HIDE_HEADER,\n }),\n );\n }\n\n public showHeader(): void {\n this.instance.postMessage(\n JSON.stringify({\n action: ACTIONS.SHOW_HEADER,\n }),\n );\n }\n\n public show(config: ShowConfig = {}): void {\n this.instance.postMessage(\n JSON.stringify({\n action: ACTIONS.SHOW,\n config,\n }),\n );\n }\n\n public expand(): void {\n this.instance.postMessage(\n JSON.stringify({\n action: ACTIONS.EXPAND,\n }),\n );\n }\n\n public collapse(): void {\n this.instance.postMessage(\n JSON.stringify({\n action: ACTIONS.COLLAPSE,\n }),\n );\n }\n\n protected override afterSetup(): void {\n this.show();\n }\n}\n"]}
@@ -1,7 +1,8 @@
1
- import { COMMUNICATIONS, ACTIONS } from './chunk-ALPMSMIU.js';
1
+ import { COMMUNICATIONS, ACTIONS } from './chunk-6FNI3N3L.js';
2
2
 
3
3
  // src/communication/Communicate.ts
4
4
  var runFrameScriptEventName = `integration:${COMMUNICATIONS.RUN_FRAME_SCRIPT}`;
5
+ var runBlockScriptEventName = `integration:${COMMUNICATIONS.RUN_BLOCK_SCRIPT}`;
5
6
  var Communicate = class {
6
7
  instance;
7
8
  constructor(instance) {
@@ -21,6 +22,20 @@ var Communicate = class {
21
22
  })
22
23
  );
23
24
  }
25
+ runBlockScript(blockAPIName, scriptId, args) {
26
+ this.instance.postMessage(
27
+ JSON.stringify({
28
+ action: ACTIONS.COMMUNICATE,
29
+ type: COMMUNICATIONS.RUN_BLOCK_SCRIPT,
30
+ eventName: runBlockScriptEventName,
31
+ recipient: {
32
+ block: blockAPIName,
33
+ script: scriptId
34
+ },
35
+ args
36
+ })
37
+ );
38
+ }
24
39
  sendMessageToOwnFrame(payload, path) {
25
40
  this.instance.postMessage(
26
41
  JSON.stringify({
@@ -35,6 +50,6 @@ var Communicate = class {
35
50
  }
36
51
  };
37
52
 
38
- export { Communicate, runFrameScriptEventName };
39
- //# sourceMappingURL=chunk-2K5C4A54.js.map
40
- //# sourceMappingURL=chunk-2K5C4A54.js.map
53
+ export { Communicate, runBlockScriptEventName, runFrameScriptEventName };
54
+ //# sourceMappingURL=chunk-XR6WJWT4.js.map
55
+ //# sourceMappingURL=chunk-XR6WJWT4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/communication/Communicate.ts"],"names":[],"mappings":";;;AAGO,IAAM,uBAAA,GAA0B,CAAA,YAAA,EAAe,cAAA,CAAe,gBAAgB,CAAA;AAC9E,IAAM,uBAAA,GAA0B,CAAA,YAAA,EAAe,cAAA,CAAe,gBAAgB,CAAA;AAE9E,IAAM,cAAN,MAAkB;AAAA,EACf,QAAA;AAAA,EAER,YAAY,QAAA,EAAoB;AAC9B,IAAA,IAAA,CAAK,QAAA,GAAW,QAAA;AAAA,EAClB;AAAA,EAEO,cAAA,CACL,YAAA,EACA,QAAA,EACA,IAAA,EACM;AACN,IAAA,IAAA,CAAK,QAAA,CAAS,WAAA;AAAA,MACZ,KAAK,SAAA,CAAU;AAAA,QACb,QAAQ,OAAA,CAAQ,WAAA;AAAA,QAChB,MAAM,cAAA,CAAe,gBAAA;AAAA,QACrB,SAAA,EAAW,uBAAA;AAAA,QACX,SAAA,EAAW;AAAA,UACT,KAAA,EAAO,YAAA;AAAA,UACP,MAAA,EAAQ;AAAA,SACV;AAAA,QACA;AAAA,OACD;AAAA,KACH;AAAA,EACF;AAAA,EAEO,cAAA,CACL,YAAA,EACA,QAAA,EACA,IAAA,EACM;AACN,IAAA,IAAA,CAAK,QAAA,CAAS,WAAA;AAAA,MACZ,KAAK,SAAA,CAAU;AAAA,QACb,QAAQ,OAAA,CAAQ,WAAA;AAAA,QAChB,MAAM,cAAA,CAAe,gBAAA;AAAA,QACrB,SAAA,EAAW,uBAAA;AAAA,QACX,SAAA,EAAW;AAAA,UACT,KAAA,EAAO,YAAA;AAAA,UACP,MAAA,EAAQ;AAAA,SACV;AAAA,QACA;AAAA,OACD;AAAA,KACH;AAAA,EACF;AAAA,EAEO,qBAAA,CAAsB,SAAkB,IAAA,EAAoB;AACjE,IAAA,IAAA,CAAK,QAAA,CAAS,WAAA;AAAA,MACZ,KAAK,SAAA,CAAU;AAAA,QACb,QAAQ,OAAA,CAAQ,WAAA;AAAA,QAChB,MAAM,cAAA,CAAe,qBAAA;AAAA,QACrB,IAAA,EAAM;AAAA,UACJ,OAAA;AAAA,UACA;AAAA;AACF,OACD;AAAA,KACH;AAAA,EACF;AACF","file":"chunk-XR6WJWT4.js","sourcesContent":["import type { Instance } from '../types/contexts.js';\nimport { ACTIONS, COMMUNICATIONS } from './constants.js';\n\nexport const runFrameScriptEventName = `integration:${COMMUNICATIONS.RUN_FRAME_SCRIPT}`;\nexport const runBlockScriptEventName = `integration:${COMMUNICATIONS.RUN_BLOCK_SCRIPT}`;\n\nexport class Communicate {\n private instance: Instance;\n\n constructor(instance: Instance) {\n this.instance = instance;\n }\n\n public runFrameScript(\n frameAPIName: string,\n scriptId: string,\n args?: Record<string, string | number>,\n ): void {\n this.instance.postMessage(\n JSON.stringify({\n action: ACTIONS.COMMUNICATE,\n type: COMMUNICATIONS.RUN_FRAME_SCRIPT,\n eventName: runFrameScriptEventName,\n recipient: {\n frame: frameAPIName,\n script: scriptId,\n },\n args,\n }),\n );\n }\n\n public runBlockScript(\n blockAPIName: string,\n scriptId: string,\n args?: Record<string, string | number>,\n ): void {\n this.instance.postMessage(\n JSON.stringify({\n action: ACTIONS.COMMUNICATE,\n type: COMMUNICATIONS.RUN_BLOCK_SCRIPT,\n eventName: runBlockScriptEventName,\n recipient: {\n block: blockAPIName,\n script: scriptId,\n },\n args,\n }),\n );\n }\n\n public sendMessageToOwnFrame(payload: unknown, path: string): void {\n this.instance.postMessage(\n JSON.stringify({\n action: ACTIONS.COMMUNICATE,\n type: COMMUNICATIONS.SEND_MESSAGE_TO_FRAME,\n args: {\n payload,\n path,\n },\n }),\n );\n }\n}\n"]}
@@ -1,13 +1,15 @@
1
- import { I as Instance } from './ThirdPartyScript-CvOXQBiO.js';
2
- export { b4 as IFRAME_PREFIX, b5 as INDICATOR_TYPE, T as ThirdPartyScript } from './ThirdPartyScript-CvOXQBiO.js';
1
+ import { I as Instance } from './ThirdPartyScript-DauYx3B5.js';
2
+ export { b5 as IFRAME_PREFIX, b4 as INDICATOR_TYPE, T as ThirdPartyScript } from './ThirdPartyScript-DauYx3B5.js';
3
3
  import 'react';
4
4
 
5
5
  declare const runFrameScriptEventName: string;
6
+ declare const runBlockScriptEventName: string;
6
7
  declare class Communicate {
7
8
  private instance;
8
9
  constructor(instance: Instance);
9
10
  runFrameScript(frameAPIName: string, scriptId: string, args?: Record<string, string | number>): void;
11
+ runBlockScript(blockAPIName: string, scriptId: string, args?: Record<string, string | number>): void;
10
12
  sendMessageToOwnFrame(payload: unknown, path: string): void;
11
13
  }
12
14
 
13
- export { Communicate, runFrameScriptEventName };
15
+ export { Communicate, runBlockScriptEventName, runFrameScriptEventName };
@@ -1,6 +1,6 @@
1
1
  import './chunk-LGJYUPYZ.js';
2
- export { Communicate, runFrameScriptEventName } from './chunk-2K5C4A54.js';
3
- export { IFRAME_PREFIX, INDICATOR_TYPE, ThirdPartyScript } from './chunk-ALPMSMIU.js';
2
+ export { Communicate, runBlockScriptEventName, runFrameScriptEventName } from './chunk-XR6WJWT4.js';
3
+ export { IFRAME_PREFIX, INDICATOR_TYPE, ThirdPartyScript } from './chunk-6FNI3N3L.js';
4
4
  import './chunk-5WRI5ZAA.js';
5
5
  //# sourceMappingURL=communication.js.map
6
6
  //# sourceMappingURL=communication.js.map
@@ -1,5 +1,5 @@
1
1
  import { Communicate } from '../communication.js';
2
- import { b as PartialUser, c as PartialTeamMember, d as PartialBusiness, e as PartialClientObject, D as DataCache, f as PostFormDataFn, S as StateChangePayload, I as Instance, A as Args, g as PromptState, W as WorkerContextArgs, U as UnknownJSON, C as CurrentUser, h as InternalSessionData, i as PartialLocation, G as GetOptions, R as RequestWithErrorsResponse, j as RequestOptions, k as ShowToastOptions, M as ModalConfig, l as ShowViewInModalOptions, m as DynamicPromptConfig, T as ThirdPartyScript, n as ConsoleBridge } from '../ThirdPartyScript-CvOXQBiO.js';
2
+ import { b as PartialUser, c as PartialTeamMember, d as PartialBusiness, e as PartialClientObject, D as DataCache, f as PostFormDataFn, S as StateChangePayload, I as Instance, A as Args, g as PromptState, W as WorkerContextArgs, U as UnknownJSON, C as CurrentUser, h as InternalSessionData, i as PartialLocation, G as GetOptions, R as RequestWithErrorsResponse, j as RequestOptions, k as ShowToastOptions, M as ModalConfig, l as ShowViewInModalOptions, m as DynamicPromptConfig, T as ThirdPartyScript, n as ConsoleBridge } from '../ThirdPartyScript-DauYx3B5.js';
3
3
  import { B as BuildIframeURLWithProxyOptions } from '../frames-AOHUyPDP.js';
4
4
  import 'react';
5
5
 
@@ -1,7 +1,7 @@
1
- export { BaseWorkerContext } from '../chunk-FSCARJX2.js';
2
- import '../chunk-WY6MASDC.js';
3
- import '../chunk-2K5C4A54.js';
4
- import '../chunk-ALPMSMIU.js';
1
+ export { BaseWorkerContext } from '../chunk-DFMGBECP.js';
2
+ import '../chunk-JALBO44J.js';
3
+ import '../chunk-XR6WJWT4.js';
4
+ import '../chunk-6FNI3N3L.js';
5
5
  import '../chunk-5WRI5ZAA.js';
6
6
  //# sourceMappingURL=base.js.map
7
7
  //# sourceMappingURL=base.js.map
@@ -1,4 +1,4 @@
1
- import { W as WorkerContextArgs } from '../ThirdPartyScript-CvOXQBiO.js';
1
+ import { W as WorkerContextArgs } from '../ThirdPartyScript-DauYx3B5.js';
2
2
  import { H as HideConfig, S as ShowConfig } from '../floatingFrames-BzaoL7cq.js';
3
3
  import { BaseWorkerContext } from './base.js';
4
4
  import 'react';
@@ -1,8 +1,8 @@
1
- export { FloatingFrameWorkerContext } from '../chunk-K7FXR4JK.js';
2
- import '../chunk-FSCARJX2.js';
3
- import '../chunk-WY6MASDC.js';
4
- import '../chunk-2K5C4A54.js';
5
- import '../chunk-ALPMSMIU.js';
1
+ export { FloatingFrameWorkerContext } from '../chunk-W6ODIN3B.js';
2
+ import '../chunk-DFMGBECP.js';
3
+ import '../chunk-JALBO44J.js';
4
+ import '../chunk-XR6WJWT4.js';
5
+ import '../chunk-6FNI3N3L.js';
6
6
  import '../chunk-5WRI5ZAA.js';
7
7
  //# sourceMappingURL=floatingFrame.js.map
8
8
  //# sourceMappingURL=floatingFrame.js.map
@@ -1,4 +1,4 @@
1
- import { W as WorkerContextArgs, P as PartialEntity, a as PartialCustomObject } from '../ThirdPartyScript-CvOXQBiO.js';
1
+ import { W as WorkerContextArgs, P as PartialEntity, a as PartialCustomObject } from '../ThirdPartyScript-DauYx3B5.js';
2
2
  import { BaseWorkerContext } from './base.js';
3
3
  import 'react';
4
4
  import '../communication.js';
@@ -1,8 +1,8 @@
1
- export { RecordDetailWorkerContext } from '../chunk-5XPV4FO2.js';
2
- import '../chunk-FSCARJX2.js';
3
- import '../chunk-WY6MASDC.js';
4
- import '../chunk-2K5C4A54.js';
5
- import '../chunk-ALPMSMIU.js';
1
+ export { RecordDetailWorkerContext } from '../chunk-UPSXKOXC.js';
2
+ import '../chunk-DFMGBECP.js';
3
+ import '../chunk-JALBO44J.js';
4
+ import '../chunk-XR6WJWT4.js';
5
+ import '../chunk-6FNI3N3L.js';
6
6
  import '../chunk-5WRI5ZAA.js';
7
7
  //# sourceMappingURL=recordDetail.js.map
8
8
  //# sourceMappingURL=recordDetail.js.map
package/dist/index.d.ts CHANGED
@@ -1,10 +1,10 @@
1
- import { U as UnknownJSON, r as SelectOption } from './ThirdPartyScript-CvOXQBiO.js';
2
- export { q as AppPlugin, s as AppPlugins, A as Args, t as AssistantConfigAction, u as AssistantField, v as AssistantLink, B as BaseAPI, w as BooleanCleanValue, x as BooleanValueStore, y as ButtonConfig, z as CleanValueStore, E as CleanValueStoreType, F as CloseModalFn, H as ConfigService, n as ConsoleBridge, J as ConsoleLogLevel, K as CreateRecordModalQueue, L as CreateRelatedRecordModalQueue, C as CurrentUser, N as CurriedCloseModalFn, O as CurriedDynamicPromptFn, Q as CurriedInstallThirdPartyScriptFn, V as CurriedKizenRequestFn, X as CurriedOpenCreateRecordFn, Y as CurriedOpenCreateRelatedRecordFn, Z as CurriedPostFormDataFn, _ as CurriedPromptFn, $ as CurriedRefreshEntityFn, a0 as CurriedShowViewInModalFn, a1 as CurriedUploadFileFn, a2 as CustomObjectCleanValue, a3 as CustomObjectValueStore, D as DataCache, a4 as DataCacheEntry, a5 as DeleteReturnValue, m as DynamicPromptConfig, a6 as DynamicPromptFn, a7 as EmployeeConfig, a8 as ErrorHandler, a9 as ErrorResponse, aa as FieldCleanValue, ab as FieldValueStore, G as GetOptions, ac as GetReturnValue, o as IncludeOption, ad as InstallThirdPartyScriptFn, I as Instance, h as InternalSessionData, ae as JSONArray, af as JSONObject, ag as JSONPrimitive, ah as JSONValue, ai as KizenConfig, aj as KizenNetworkResponse, ak as KizenProxySuccessResponse, al as KizenRequestFn, am as KizenRequestFnHandler, an as KnownArgs, ao as MatchSetupAssistantField, ap as MaybeMessageError, aq as ModalBlock, ar as ModalCancelEventSource, M as ModalConfig, as as ModalContainer, at as ModalQueue, au as ModalSize, av as NumberCleanValue, aw as NumberValueStore, ax as OnCloseModalFn, ay as OnNetworkErrorFn, az as OnShowCreateRecordModalFn, aA as OnShowCreateRelatedRecordModalFn, aB as OnShowModalFn, aC as OpenCreateRecordFn, aD as OpenCreateRelatedRecordFn, d as PartialBusiness, e as PartialClientObject, a as PartialCustomObject, P as PartialEntity, i as PartialLocation, aE as PartialRelatedObject, c as PartialTeamMember, b as PartialUser, aF as PatchReturnValue, f as PostFormDataFn, aG as PostFormDataPayload, aH as PostReturnValue, aI as Profile, aJ as PromiseMap, aK as PromiseReject, aL as PromiseResolve, aM as PromiseState, aN as PromptFn, g as PromptState, aO as PutReturnValue, aP as RefreshEntityFn, aQ as ReleaseBlockingScriptHandler, j as RequestOptions, R as RequestWithErrorsResponse, aR as SelectCleanValue, aS as SelectValueStore, aT as SetInternalSessionDataFn, aU as SetupAssistantConfig, p as SetupAssistantField, k as ShowToastOptions, aV as ShowViewInModalFn, l as ShowViewInModalOptions, S as StateChangePayload, aW as TextValueStore, aX as UnknownFunction, aY as UploadFileData, aZ as UploadFileFn, a_ as UserConfig, a$ as ValueStore, W as WorkerContextArgs, b0 as modalSize } from './ThirdPartyScript-CvOXQBiO.js';
3
- import { d as RunScriptOptions } from './automation-CURkgisn.js';
4
- export { e as AuthorizeEvent, A as AutomationStepConfig, B as BaseEvent, f as CalendarDefinition, g as CalendarScriptReturnData, c as CalendarSourceConfig, h as CalendarSourceMap, i as CalendarSources, j as CloseModalRequestEvent, C as CommonExecutionPlugin, a as CommonPluginDefinition, k as CommunicateEvent, l as ConsoleLogEvent, m as CopyToClipboardEvent, n as CreateFileIdFn, D as DataAdornmentConfig, o as DoneEvent, p as DynamicPromptRequestEvent, E as ErrorEvent, q as ExecuteCalendarSourceScript, r as ExecuteFloatingFrameScript, F as FloatingFrameConfig, s as FloatingFrameEmployeeConfig, t as FrameQuadrant, G as GetPendingCacheCountFn, H as HideEvent, I as IframeOutputEvent, u as InstallThirdPartyScriptRequestEvent, v as InvalidateCacheFn, K as KizenFile, M as MessageEventData, w as MinimizedConfig, O as OnClearToastsFn, x as OnConsoleLogFn, y as OnNetworkRequestFn, z as OnRunEventScriptFn, J as OnShowToastFn, L as OpenCreateRecordModalRequestEvent, N as OpenCreateRelatedRecordModalRequestEvent, P as OpenWindowEvent, Q as PerformKizenFileUploadFn, S as PostFormDataRequestEvent, U as PromptRequestEvent, V as QueryRequestEvent, W as RecipientConfig, X as RefreshEntityEvent, Y as RefreshTimelineEvent, Z as RequestableQueryMethods, R as RoutablePageConfig, b as RouteScriptConfig, _ as RunEventScriptEvent, $ as SchemaValidation, a0 as SetStateEvent, a1 as ShowEvent, a2 as ShowToastEvent, a3 as ShowViewInModalRequestEvent, a4 as TerminatorContent, a5 as Terminators, T as ToolbarItemConfig, a6 as UIOutputEvent, a7 as UpdateSessionDataEvent, a8 as UploadFilePayload, a9 as UploadFileRequestEvent, aa as WindowPosition } from './automation-CURkgisn.js';
5
- export { AsyncFunctionConstructor, BlockConfig, BlockType, BuiltAsyncFn, CreateRecordResponsePayload, CreateRelatedRecordResponsePayload, ExpressionPayload, FunctionWithReturn, InstallThirdPartyScriptResponsePayload, ObjectSettingsMenuItemConfig, PostFormDataResponsePayload, PromptResponsePayload, QueryResponsePayload, RefreshEntityResponsePayload, UploadFileResponsePayload, WorkerEvent, WorkerSetup } from './types.js';
1
+ import { U as UnknownJSON, r as SelectOption } from './ThirdPartyScript-DauYx3B5.js';
2
+ export { q as AppPlugin, s as AppPlugins, A as Args, t as AssistantConfigAction, u as AssistantField, v as AssistantLink, B as BaseAPI, w as BooleanCleanValue, x as BooleanValueStore, y as ButtonConfig, z as CleanValueStore, E as CleanValueStoreType, F as CloseModalFn, H as ConfigService, n as ConsoleBridge, J as ConsoleLogLevel, K as CreateRecordModalQueue, L as CreateRelatedRecordModalQueue, C as CurrentUser, N as CurriedCloseModalFn, O as CurriedDynamicPromptFn, Q as CurriedInstallThirdPartyScriptFn, V as CurriedKizenRequestFn, X as CurriedOpenCreateRecordFn, Y as CurriedOpenCreateRelatedRecordFn, Z as CurriedPostFormDataFn, _ as CurriedPromptFn, $ as CurriedRefreshEntityFn, a0 as CurriedShowViewInModalFn, a1 as CurriedUploadFileFn, a2 as CustomObjectCleanValue, a3 as CustomObjectValueStore, D as DataCache, a4 as DataCacheEntry, a5 as DeleteReturnValue, m as DynamicPromptConfig, a6 as DynamicPromptFn, a7 as EmployeeConfig, a8 as ErrorHandler, a9 as ErrorResponse, aa as FieldCleanValue, ab as FieldValueStore, G as GetOptions, ac as GetReturnValue, o as IncludeOption, ad as InstallThirdPartyScriptFn, I as Instance, h as InternalSessionData, ae as JSONArray, af as JSONObject, ag as JSONPrimitive, ah as JSONValue, ai as KizenConfig, aj as KizenNetworkResponse, ak as KizenProxySuccessResponse, al as KizenRequestFn, am as KizenRequestFnHandler, an as KnownArgs, ao as MatchSetupAssistantField, ap as MaybeMessageError, aq as ModalBlock, ar as ModalCancelEventSource, M as ModalConfig, as as ModalContainer, at as ModalQueue, au as ModalSize, av as NumberCleanValue, aw as NumberValueStore, ax as OnCloseModalFn, ay as OnNetworkErrorFn, az as OnShowCreateRecordModalFn, aA as OnShowCreateRelatedRecordModalFn, aB as OnShowModalFn, aC as OpenCreateRecordFn, aD as OpenCreateRelatedRecordFn, d as PartialBusiness, e as PartialClientObject, a as PartialCustomObject, P as PartialEntity, i as PartialLocation, aE as PartialRelatedObject, c as PartialTeamMember, b as PartialUser, aF as PatchReturnValue, f as PostFormDataFn, aG as PostFormDataPayload, aH as PostReturnValue, aI as Profile, aJ as PromiseMap, aK as PromiseReject, aL as PromiseResolve, aM as PromiseState, aN as PromptFn, g as PromptState, aO as PutReturnValue, aP as RefreshEntityFn, aQ as ReleaseBlockingScriptHandler, j as RequestOptions, R as RequestWithErrorsResponse, aR as SelectCleanValue, aS as SelectValueStore, aT as SetInternalSessionDataFn, aU as SetupAssistantConfig, p as SetupAssistantField, k as ShowToastOptions, aV as ShowViewInModalFn, l as ShowViewInModalOptions, S as StateChangePayload, aW as TextValueStore, aX as UnknownFunction, aY as UploadFileData, aZ as UploadFileFn, a_ as UserConfig, a$ as ValueStore, W as WorkerContextArgs, b0 as modalSize } from './ThirdPartyScript-DauYx3B5.js';
3
+ import { b as RunScriptOptions } from './automation-Bpg6VoKc.js';
4
+ export { c as AuthorizeEvent, A as AutomationStepConfig, B as BaseEvent, d as CalendarDefinition, e as CalendarScriptReturnData, C as CalendarSourceConfig, f as CalendarSourceMap, g as CalendarSources, h as CloseModalRequestEvent, i as CommonExecutionPlugin, j as CommonPluginDefinition, k as CommunicateEvent, l as ConsoleLogEvent, m as CopyToClipboardEvent, n as CreateFileIdFn, D as DataAdornmentConfig, o as DoneEvent, p as DynamicPromptRequestEvent, E as ErrorEvent, q as ExecuteCalendarSourceScript, r as ExecuteFloatingFrameScript, F as FloatingFrameConfig, s as FloatingFrameEmployeeConfig, t as FrameQuadrant, G as GetPendingCacheCountFn, H as HideEvent, I as IframeOutputEvent, u as InstallThirdPartyScriptRequestEvent, v as InvalidateCacheFn, K as KizenFile, M as MessageEventData, w as MinimizedConfig, O as OnClearToastsFn, x as OnConsoleLogFn, y as OnNetworkRequestFn, z as OnRunEventScriptFn, J as OnShowToastFn, L as OpenCreateRecordModalRequestEvent, N as OpenCreateRelatedRecordModalRequestEvent, P as OpenWindowEvent, Q as PerformKizenFileUploadFn, S as PostFormDataRequestEvent, U as PromptRequestEvent, V as QueryRequestEvent, W as RecipientConfig, X as RefreshEntityEvent, Y as RefreshTimelineEvent, Z as RequestableQueryMethods, R as RoutablePageConfig, a as RouteScriptConfig, _ as RunEventScriptEvent, $ as SchemaValidation, a0 as SetStateEvent, a1 as ShowEvent, a2 as ShowToastEvent, a3 as ShowViewInModalRequestEvent, a4 as TerminatorContent, a5 as Terminators, T as ToolbarItemConfig, a6 as UIOutputEvent, a7 as UpdateSessionDataEvent, a8 as UploadFilePayload, a9 as UploadFileRequestEvent, aa as WindowPosition } from './automation-Bpg6VoKc.js';
5
+ export { AsyncFunctionConstructor, BuiltAsyncFn, CreateRecordResponsePayload, CreateRelatedRecordResponsePayload, ExpressionPayload, FunctionWithReturn, InstallThirdPartyScriptResponsePayload, ObjectSettingsMenuItemConfig, PostFormDataResponsePayload, PromptResponsePayload, QueryResponsePayload, RefreshEntityResponsePayload, UploadFileResponsePayload, WorkerEvent, WorkerSetup } from './types.js';
6
6
  export { H as HideConfig, S as ShowConfig } from './floatingFrames-BzaoL7cq.js';
7
- export { E as ExecuteGenericScript, G as GenericPluginConfig } from './generic-Bevgir2K.js';
7
+ export { B as BlockConfig, a as BlockType, E as ExecuteGenericScript, G as GenericPluginConfig } from './blocks-DuJJdwgj.js';
8
8
  import 'react';
9
9
  import './frames-AOHUyPDP.js';
10
10
 
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
- export { modalSize, runExpression, runObjectExpression, runOptionExpression, runScript, runStringExpression, version } from './chunk-JSV6L5QJ.js';
2
- import './chunk-B43UNY3G.js';
3
- import './chunk-WY6MASDC.js';
4
- import './chunk-ALPMSMIU.js';
1
+ export { modalSize, runExpression, runObjectExpression, runOptionExpression, runScript, runStringExpression, version } from './chunk-57E3SSWE.js';
2
+ import './chunk-ML32XZC5.js';
3
+ import './chunk-JALBO44J.js';
4
+ import './chunk-6FNI3N3L.js';
5
5
  import './chunk-5WRI5ZAA.js';
6
6
  //# sourceMappingURL=index.js.map
7
7
  //# sourceMappingURL=index.js.map
package/dist/react.d.ts CHANGED
@@ -1,9 +1,9 @@
1
- import { f as CalendarDefinition, c as CalendarSourceConfig, h as CalendarSourceMap, i as CalendarSources, J as OnShowToastFn, q as ExecuteCalendarSourceScript, F as FloatingFrameConfig, r as ExecuteFloatingFrameScript, R as RoutablePageConfig, aa as WindowPosition, s as FloatingFrameEmployeeConfig, y as OnNetworkRequestFn, n as CreateFileIdFn, Q as PerformKizenFileUploadFn, G as GetPendingCacheCountFn, v as InvalidateCacheFn, b as RouteScriptConfig } from './automation-CURkgisn.js';
2
- import { s as AppPlugins, W as WorkerContextArgs, U as UnknownJSON, b as PartialUser, c as PartialTeamMember, d as PartialBusiness, e as PartialClientObject, ar as ModalCancelEventSource, M as ModalConfig, ax as OnCloseModalFn, aU as SetupAssistantConfig, t as AssistantConfigAction, u as AssistantField } from './ThirdPartyScript-CvOXQBiO.js';
3
- import { G as GenericPluginConfig, E as ExecuteGenericScript } from './generic-Bevgir2K.js';
1
+ import { d as CalendarDefinition, C as CalendarSourceConfig, f as CalendarSourceMap, g as CalendarSources, J as OnShowToastFn, q as ExecuteCalendarSourceScript, F as FloatingFrameConfig, r as ExecuteFloatingFrameScript, R as RoutablePageConfig, aa as WindowPosition, s as FloatingFrameEmployeeConfig, y as OnNetworkRequestFn, n as CreateFileIdFn, Q as PerformKizenFileUploadFn, G as GetPendingCacheCountFn, v as InvalidateCacheFn, a as RouteScriptConfig } from './automation-Bpg6VoKc.js';
2
+ import { s as AppPlugins, W as WorkerContextArgs, b4 as INDICATOR_TYPE, U as UnknownJSON, b as PartialUser, c as PartialTeamMember, d as PartialBusiness, e as PartialClientObject, ar as ModalCancelEventSource, M as ModalConfig, ax as OnCloseModalFn, aU as SetupAssistantConfig, t as AssistantConfigAction, u as AssistantField } from './ThirdPartyScript-DauYx3B5.js';
3
+ import { G as GenericPluginConfig, E as ExecuteGenericScript, B as BlockConfig } from './blocks-DuJJdwgj.js';
4
4
  import { RefObject, JSX, ForwardedRef, ReactNode, FC, SetStateAction } from 'react';
5
5
  import { B as BuildIframeURLWithProxyOptions } from './frames-AOHUyPDP.js';
6
- import { R as RemovedHTML } from './values-DW0zm74v.js';
6
+ import { R as RemovedHTML } from './values-B_vFQrTp.js';
7
7
  import './floatingFrames-BzaoL7cq.js';
8
8
  import 'dompurify';
9
9
 
@@ -57,6 +57,7 @@ interface UseGenericPluginCustomScriptProps {
57
57
  }
58
58
  declare const useGenericAppCustomScript: ({ onError, scriptUIRef, plugin, }: UseGenericPluginCustomScriptProps) => [ExecuteGenericScript, {
59
59
  pending: boolean;
60
+ indicator: INDICATOR_TYPE;
60
61
  }];
61
62
 
62
63
  interface UseRecordDetailCustomScriptProps {
@@ -180,6 +181,27 @@ interface UseFloatingFrameResult {
180
181
  }
181
182
  declare const useFloatingFrame: (params: UseFloatingFrameArgs, options?: BuildIframeURLWithProxyOptions) => UseFloatingFrameResult;
182
183
 
184
+ interface UseCustomBlockArgs {
185
+ block?: BlockConfig;
186
+ args?: UnknownJSON;
187
+ instanceId: string;
188
+ isLoading?: boolean;
189
+ onError?: (error: unknown) => void;
190
+ }
191
+ interface UseCustomBlockResult {
192
+ scriptUIRef: RefObject<HTMLDivElement>;
193
+ outputUIRef: RefObject<HTMLDivElement>;
194
+ interactableScriptRef: RefObject<HTMLDivElement>;
195
+ scopedCss: string;
196
+ sanitizedHtml: string | null;
197
+ iframeURL?: string | undefined;
198
+ pending: boolean;
199
+ indicator: INDICATOR_TYPE;
200
+ execute: ExecuteGenericScript;
201
+ runEventScript: (scriptName: string, eventArgs?: Record<string, unknown>) => void;
202
+ }
203
+ declare const useCustomBlock: ({ block, args, instanceId, isLoading, onError }: UseCustomBlockArgs, frameOptions?: BuildIframeURLWithProxyOptions) => UseCustomBlockResult;
204
+
183
205
  declare const usePluginSafeHTML: (html?: string, pluginApiName?: string, options?: BuildIframeURLWithProxyOptions) => {
184
206
  html: string;
185
207
  error: Error | null;
@@ -387,4 +409,4 @@ interface TranslationContextValue {
387
409
  declare const TranslationWrapper: FC<TranslationWrapperProps>;
388
410
  declare const useTranslation: () => TranslationContextValue;
389
411
 
390
- export { AppBootstrapSuccess, AppEngineProvider, type CollectedFormData, type CollectedFormDataResponse, type ModalCustomContentHandle, RouteScriptRunner, SetupAssistantController, type TranslationFunction, TranslationWrapper, type TranslationWrapperProps, useAppCallback, useAppCustomHTML, useAppPage, useCalendarEvents, useCalendarOptions, useCalendarSourceCustomScript, useCalendarSourceReset, useFloatingFrame, useFloatingFrameCustomScript, useGenericAppCustomScript, useManualInteraction, usePluginSafeHTML, useRecordDetailCustomScript, useRegisterFormDataCollection, useSetupAssistant, useTranslation };
412
+ export { AppBootstrapSuccess, AppEngineProvider, type CollectedFormData, type CollectedFormDataResponse, type ModalCustomContentHandle, RouteScriptRunner, SetupAssistantController, type TranslationFunction, TranslationWrapper, type TranslationWrapperProps, useAppCallback, useAppCustomHTML, useAppPage, useCalendarEvents, useCalendarOptions, useCalendarSourceCustomScript, useCalendarSourceReset, useCustomBlock, useFloatingFrame, useFloatingFrameCustomScript, useGenericAppCustomScript, useManualInteraction, usePluginSafeHTML, useRecordDetailCustomScript, useRegisterFormDataCollection, useSetupAssistant, useTranslation };
package/dist/react.js CHANGED
@@ -1,9 +1,9 @@
1
- import { runScript, getPluginSafeHTML, runExpression, getStableHash, isFlagEnabled } from './chunk-JSV6L5QJ.js';
1
+ import { runScript, getPluginSafeHTML, getStableHash, runExpression, isFlagEnabled } from './chunk-57E3SSWE.js';
2
2
  import './chunk-LGJYUPYZ.js';
3
- import { generateExecutionKey } from './chunk-B43UNY3G.js';
4
- import { buildIframeURLWithProxy, unwrapProxyMessage, getAllNestedInputsFromConfig, getActionFieldKey, getFieldFromAction, getActionMenuFieldKey } from './chunk-WY6MASDC.js';
5
- import { runFrameScriptEventName } from './chunk-2K5C4A54.js';
6
- import { QUERY_KEYS, ROUTE_CHANGE_INTERNAL_EVENT, IFRAME_PREFIX, ROUTE_CHANGE_IFRAME_EVENT } from './chunk-ALPMSMIU.js';
3
+ import { generateExecutionKey } from './chunk-ML32XZC5.js';
4
+ import { buildIframeURLWithProxy, unwrapProxyMessage, getAllNestedInputsFromConfig, getActionFieldKey, getFieldFromAction, getActionMenuFieldKey } from './chunk-JALBO44J.js';
5
+ import { runFrameScriptEventName, runBlockScriptEventName } from './chunk-XR6WJWT4.js';
6
+ import { QUERY_KEYS, ROUTE_CHANGE_INTERNAL_EVENT, IFRAME_PREFIX, ROUTE_CHANGE_IFRAME_EVENT } from './chunk-6FNI3N3L.js';
7
7
  import './chunk-5WRI5ZAA.js';
8
8
  import { QueryClient, useQueries, useQueryClient, QueryClientContext, QueryClientProvider } from '@tanstack/react-query';
9
9
  import { createContext, useContext, useState, useCallback, useMemo, useRef, useEffect, useImperativeHandle } from 'react';
@@ -2049,6 +2049,111 @@ var useFloatingFrame = (params, options) => {
2049
2049
  scriptUIRef
2050
2050
  };
2051
2051
  };
2052
+ var useCustomBlock = ({ block, args, instanceId, isLoading, onError }, frameOptions) => {
2053
+ const scriptUIRef = useRef(null);
2054
+ const { showToast } = useToast();
2055
+ const { t } = useTranslation();
2056
+ const pageConfig = useMemo(() => {
2057
+ if (!block) {
2058
+ return void 0;
2059
+ }
2060
+ return {
2061
+ plugin_api_name: block.plugin_api_name,
2062
+ api_name: block.api_name,
2063
+ worker_key: instanceId,
2064
+ name: block.name,
2065
+ type: block.type ?? "script",
2066
+ ...block.script !== void 0 && { script: block.script },
2067
+ ...block.styles !== void 0 && { css: block.styles },
2068
+ ...block.html !== void 0 && { html: block.html },
2069
+ ...block.iframe_url !== void 0 && { iframe_url: block.iframe_url },
2070
+ ...block.event_scripts !== void 0 && { event_scripts: block.event_scripts },
2071
+ ...block.args !== void 0 && { args: block.args }
2072
+ };
2073
+ }, [block, instanceId]);
2074
+ const [execute, { pending, indicator }] = useGenericAppCustomScript({
2075
+ onError: (e) => {
2076
+ onError?.(e);
2077
+ showToast({
2078
+ message: `${t("Plugin error:")} ${e?.message ?? ""}`,
2079
+ variant: "failure"
2080
+ });
2081
+ },
2082
+ scriptUIRef,
2083
+ plugin: pageConfig
2084
+ });
2085
+ const scriptArgs = useMemo(() => ({ ...block?.args, ...args }), [block?.args, args]);
2086
+ const iframeURL = useMemo(
2087
+ () => block?.iframe_url ? buildIframeURLWithProxy(block.iframe_url, frameOptions).url : void 0,
2088
+ [block?.iframe_url, frameOptions]
2089
+ );
2090
+ const { outputUIRef, scopedCss, sanitizedHtml, interactableScriptRef } = useAppCustomHTML(
2091
+ pageConfig,
2092
+ scriptArgs,
2093
+ frameOptions
2094
+ );
2095
+ const runKey = useMemo(
2096
+ () => getStableHash({
2097
+ plugin: block?.plugin_api_name,
2098
+ block: block?.api_name,
2099
+ script: block?.script,
2100
+ args: scriptArgs
2101
+ }),
2102
+ [block?.plugin_api_name, block?.api_name, block?.script, scriptArgs]
2103
+ );
2104
+ const lastRunKey = useRef(null);
2105
+ useEffect(() => {
2106
+ if (iframeURL || isLoading || !block?.script || lastRunKey.current === runKey) {
2107
+ return;
2108
+ }
2109
+ lastRunKey.current = runKey;
2110
+ void execute(block.script, scriptArgs);
2111
+ }, [block, scriptArgs, runKey, iframeURL, isLoading, execute]);
2112
+ const runEventScript = useCallback(
2113
+ (scriptName, eventArgs) => {
2114
+ const body = block?.event_scripts?.[scriptName];
2115
+ if (!body) {
2116
+ return;
2117
+ }
2118
+ void execute(body, { ...eventArgs, ...scriptArgs });
2119
+ },
2120
+ [block, execute, scriptArgs]
2121
+ );
2122
+ useEffect(() => {
2123
+ if (!block) {
2124
+ return;
2125
+ }
2126
+ const handleRunBlockScript = (e) => {
2127
+ const event = e;
2128
+ const recipient = event?.detail?.recipient;
2129
+ if (recipient?.block !== block.api_name || recipient.plugin !== block.plugin_api_name) {
2130
+ return;
2131
+ }
2132
+ const scriptId = recipient.script;
2133
+ const scriptBody = scriptId ? block.event_scripts?.[scriptId] : void 0;
2134
+ if (scriptBody) {
2135
+ void execute(scriptBody, { ...event?.detail?.args, ...scriptArgs });
2136
+ }
2137
+ };
2138
+ window.addEventListener(runBlockScriptEventName, handleRunBlockScript);
2139
+ return () => {
2140
+ window.removeEventListener(runBlockScriptEventName, handleRunBlockScript);
2141
+ };
2142
+ }, [block, execute, scriptArgs]);
2143
+ useManualInteraction(execute, block, scriptUIRef, pending, scriptArgs);
2144
+ return {
2145
+ scriptUIRef,
2146
+ outputUIRef,
2147
+ interactableScriptRef,
2148
+ scopedCss,
2149
+ sanitizedHtml,
2150
+ iframeURL,
2151
+ pending,
2152
+ indicator,
2153
+ execute,
2154
+ runEventScript
2155
+ };
2156
+ };
2052
2157
  var useRegisterFormDataCollection = (ref, collectFormData) => {
2053
2158
  useImperativeHandle(ref, () => ({ collectFormData }), [collectFormData]);
2054
2159
  };
@@ -2835,6 +2940,6 @@ var useSetupAssistant = () => {
2835
2940
  return context;
2836
2941
  };
2837
2942
 
2838
- export { AppBootstrapSuccess, AppEngineProvider, RouteScriptRunner, SetupAssistantController, TranslationWrapper, useAppCallback, useAppCustomHTML, useAppPage, useCalendarEvents, useCalendarOptions, useCalendarSourceCustomScript, useCalendarSourceReset, useFloatingFrame, useFloatingFrameCustomScript, useGenericAppCustomScript, useManualInteraction, usePluginSafeHTML, useRecordDetailCustomScript, useRegisterFormDataCollection, useSetupAssistant, useTranslation };
2943
+ export { AppBootstrapSuccess, AppEngineProvider, RouteScriptRunner, SetupAssistantController, TranslationWrapper, useAppCallback, useAppCustomHTML, useAppPage, useCalendarEvents, useCalendarOptions, useCalendarSourceCustomScript, useCalendarSourceReset, useCustomBlock, useFloatingFrame, useFloatingFrameCustomScript, useGenericAppCustomScript, useManualInteraction, usePluginSafeHTML, useRecordDetailCustomScript, useRegisterFormDataCollection, useSetupAssistant, useTranslation };
2839
2944
  //# sourceMappingURL=react.js.map
2840
2945
  //# sourceMappingURL=react.js.map