@acorex-platform/module-workflow-management-client 0.0.54 → 0.0.57

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 (19) hide show
  1. package/fesm2022/{acorex-platform-module-workflow-management-client-acorex-platform-module-workflow-management-client-mxu-pura.mjs → acorex-platform-module-workflow-management-client-acorex-platform-module-workflow-management-client-Ce2bU1tZ.mjs} +16 -16
  2. package/fesm2022/{acorex-platform-module-workflow-management-client-acorex-platform-module-workflow-management-client-mxu-pura.mjs.map → acorex-platform-module-workflow-management-client-acorex-platform-module-workflow-management-client-Ce2bU1tZ.mjs.map} +1 -1
  3. package/fesm2022/{acorex-platform-module-workflow-management-client-execute-workflow.command-Cfdm1QAy.mjs → acorex-platform-module-workflow-management-client-execute-workflow.command-Cd1vcrzK.mjs} +16 -5
  4. package/fesm2022/acorex-platform-module-workflow-management-client-execute-workflow.command-Cd1vcrzK.mjs.map +1 -0
  5. package/fesm2022/{acorex-platform-module-workflow-management-client-index-C7OwbRxk.mjs → acorex-platform-module-workflow-management-client-index-B0-OPKmr.mjs} +44 -13
  6. package/fesm2022/acorex-platform-module-workflow-management-client-index-B0-OPKmr.mjs.map +1 -0
  7. package/fesm2022/{acorex-platform-module-workflow-management-client-index-BhzGxdyE.mjs → acorex-platform-module-workflow-management-client-index-DjvJZef8.mjs} +3 -3
  8. package/fesm2022/{acorex-platform-module-workflow-management-client-index-BhzGxdyE.mjs.map → acorex-platform-module-workflow-management-client-index-DjvJZef8.mjs.map} +1 -1
  9. package/fesm2022/{acorex-platform-module-workflow-management-client-workflow-run-history-popup.component-DBswxGAs.mjs → acorex-platform-module-workflow-management-client-workflow-run-history-popup.component-DMdO3uX7.mjs} +2 -2
  10. package/fesm2022/{acorex-platform-module-workflow-management-client-workflow-run-history-popup.component-DBswxGAs.mjs.map → acorex-platform-module-workflow-management-client-workflow-run-history-popup.component-DMdO3uX7.mjs.map} +1 -1
  11. package/fesm2022/{acorex-platform-module-workflow-management-client-workflow-task-popover.component-BDhOlDkg.mjs → acorex-platform-module-workflow-management-client-workflow-task-popover.component-Dmr9oHBd.mjs} +2 -2
  12. package/fesm2022/{acorex-platform-module-workflow-management-client-workflow-task-popover.component-BDhOlDkg.mjs.map → acorex-platform-module-workflow-management-client-workflow-task-popover.component-Dmr9oHBd.mjs.map} +1 -1
  13. package/fesm2022/acorex-platform-module-workflow-management-client.mjs +1 -1
  14. package/i18n/en-AU/workflow-management.json +917 -0
  15. package/i18n/en-US/workflow-management.json +917 -0
  16. package/i18n/fa-IR/workflow-management.json +917 -0
  17. package/package.json +2 -2
  18. package/fesm2022/acorex-platform-module-workflow-management-client-execute-workflow.command-Cfdm1QAy.mjs.map +0 -1
  19. package/fesm2022/acorex-platform-module-workflow-management-client-index-C7OwbRxk.mjs.map +0 -1
@@ -2,7 +2,9 @@ import { AXPWorkflowManager } from '@acorex-platform/framework-client/workflow';
2
2
  import * as i0 from '@angular/core';
3
3
  import { inject, Injectable } from '@angular/core';
4
4
  import { AXToastService } from '@acorex/components/toast';
5
+ import { AXTranslationService } from '@acorex/core/translation';
5
6
 
7
+ const WORKFLOW_EXECUTE_ERROR_I18N = '@workflow-management:workflow-instances.messages.error';
6
8
  //#endregion
7
9
  /**
8
10
  * Execute Workflow Command
@@ -15,6 +17,7 @@ class ExecuteWorkflowCommand {
15
17
  //#region ---- Services ----
16
18
  this.workflowManager = inject(AXPWorkflowManager);
17
19
  this.toastService = inject(AXToastService);
20
+ this.translationService = inject(AXTranslationService);
18
21
  }
19
22
  //#endregion
20
23
  //#region ---- Command Implementation ----
@@ -39,10 +42,14 @@ class ExecuteWorkflowCommand {
39
42
  });
40
43
  if (!result.success) {
41
44
  console.error(`[WorkflowManagement] ❌ Failed to start workflow '${input.workflowId}':`, result.error);
45
+ const unknownMessage = await this.translationService.translateAsync('@general:toggle.unknown');
46
+ const errorMessage = result.error || unknownMessage;
42
47
  this.toastService.show({
43
48
  color: 'danger',
44
- title: 'Workflow Execution Failed',
45
- content: result.error || 'Unknown error',
49
+ title: await this.translationService.translateAsync(`${WORKFLOW_EXECUTE_ERROR_I18N}.execution-failed-title`),
50
+ content: await this.translationService.translateAsync(`${WORKFLOW_EXECUTE_ERROR_I18N}.execution-error-content`, {
51
+ params: { message: errorMessage },
52
+ }),
46
53
  closeButton: true,
47
54
  timeOut: 5000,
48
55
  });
@@ -113,10 +120,14 @@ class ExecuteWorkflowCommand {
113
120
  }
114
121
  catch (error) {
115
122
  console.error(`[ExecuteWorkflowCommand] Error:`, error);
123
+ const unknownMessage = await this.translationService.translateAsync('@general:toggle.unknown');
124
+ const errorMessage = error.message || unknownMessage;
116
125
  this.toastService.show({
117
126
  color: 'danger',
118
- title: 'Workflow Execution Error',
119
- content: error.message || 'Unknown error',
127
+ title: await this.translationService.translateAsync(`${WORKFLOW_EXECUTE_ERROR_I18N}.execution-error-title`),
128
+ content: await this.translationService.translateAsync(`${WORKFLOW_EXECUTE_ERROR_I18N}.execution-error-content`, {
129
+ params: { message: errorMessage },
130
+ }),
120
131
  closeButton: true,
121
132
  timeOut: 5000,
122
133
  });
@@ -139,4 +150,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
139
150
  }] });
140
151
 
141
152
  export { ExecuteWorkflowCommand };
142
- //# sourceMappingURL=acorex-platform-module-workflow-management-client-execute-workflow.command-Cfdm1QAy.mjs.map
153
+ //# sourceMappingURL=acorex-platform-module-workflow-management-client-execute-workflow.command-Cd1vcrzK.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-module-workflow-management-client-execute-workflow.command-Cd1vcrzK.mjs","sources":["../../../../libs/modules/workflow-management/client/src/lib/features/entities/workflow-definition/commands/execute-workflow.command.ts"],"sourcesContent":["import { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport { AXPRuntimeCommandResult } from '@acorex-platform/framework-shared/core';\n\nimport { AXPWorkflowManager } from '@acorex-platform/framework-client/workflow';\nimport { Injectable, inject } from '@angular/core';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXTranslationService } from '@acorex/core/translation';\n\n//#region ---- Types ----\n\n/**\n * Input for ExecuteWorkflow command\n */\nexport interface ExecuteWorkflowInput {\n /**\n * Workflow name (unique key)\n */\n workflowId: string;\n\n /**\n * Initial input data\n */\n input?: Record<string, any>;\n}\n\n/**\n * Output for ExecuteWorkflow command\n */\nexport interface ExecuteWorkflowOutput {\n /**\n * Instance ID\n */\n instanceId: string;\n\n /**\n * Workflow output\n */\n output: any;\n}\n\nconst WORKFLOW_EXECUTE_ERROR_I18N = '@workflow-management:workflow-instances.messages.error';\n\n//#endregion\n\n/**\n * Execute Workflow Command\n * \n * Starts and manages workflow execution from entity list.\n * Handles the complete workflow lifecycle including frontend/backend activities.\n */\n@Injectable()\nexport class ExecuteWorkflowCommand implements AXPCommand<ExecuteWorkflowInput, ExecuteWorkflowOutput> {\n //#region ---- Services ----\n\n private readonly workflowManager = inject(AXPWorkflowManager);\n private readonly toastService = inject(AXToastService);\n private readonly translationService = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Command Implementation ----\n\n async execute(xx: any): AXPCommandExecuteResultPromise<ExecuteWorkflowOutput> {\n\n try {\n // Extract input from command context (entity actions pass options via options)\n const input = (xx?.options || xx) as ExecuteWorkflowInput;\n \n console.log(`[WorkflowManagement] 🚀 ExecuteWorkflowCommand: Starting workflow '${input.workflowId}'`, {\n workflowId: input.workflowId,\n input: input.input,\n context: xx,\n });\n\n // Start workflow execution\n // This uses the workflow engine which now queries definitions by name field\n const result = await this.workflowManager.start(input.workflowId, input.input || {});\n \n console.log(`[WorkflowManagement] 📊 Workflow start result:`, {\n success: result.success,\n instanceId: result.instanceId,\n error: result.error,\n stateStatus: result.state?.status,\n stateActivityOutputs: result.state?.activityOutputs,\n });\n\n if (!result.success) {\n console.error(`[WorkflowManagement] ❌ Failed to start workflow '${input.workflowId}':`, result.error);\n const unknownMessage = await this.translationService.translateAsync('@general:toggle.unknown');\n const errorMessage = result.error || unknownMessage;\n this.toastService.show({\n color: 'danger',\n title: await this.translationService.translateAsync(`${WORKFLOW_EXECUTE_ERROR_I18N}.execution-failed-title`),\n content: await this.translationService.translateAsync(`${WORKFLOW_EXECUTE_ERROR_I18N}.execution-error-content`, {\n params: { message: errorMessage },\n }),\n closeButton: true,\n timeOut: 5000,\n });\n\n return {\n success: false,\n message: { details: {\n instanceId: result.instanceId || '',\n output: null,\n },\n text: result.error || 'Unknown error'\n },\n };\n }\n\n console.log(`[WorkflowManagement] ✅ Workflow '${input.workflowId}' started successfully. Instance ID: ${result.instanceId}`);\n\n // Handle workflow execution loop\n // let currentResult = result;\n // let taskCount = 0;\n // while (currentResult.nextTask) {\n // taskCount++;\n // const task = currentResult.nextTask;\n\n // console.log(`[ExecuteWorkflowCommand] 🔄 Task ${taskCount}: Executing frontend task: ${task.activityType}`, task);\n\n // // Execute frontend task\n // console.log(`[ExecuteWorkflowCommand] ⚙️ Calling workflowManager.execute...`);\n // const executionResult = await this.workflowManager.execute(task);\n // console.log(`[ExecuteWorkflowCommand] ✅ Task executed:`, {\n // output: executionResult.output,\n // outcome: executionResult.outcome,\n // });\n \n // const { output, outcome } = executionResult;\n\n // // Complete task and get next\n // currentResult = await this.workflowManager.complete(\n // currentResult.instanceId!,\n // task,\n // outcome,\n // output\n // );\n\n // if (!currentResult.success) {\n // this.toastService.show({\n // color: 'danger',\n // title: 'Workflow Execution Failed',\n // content: currentResult.error || 'Unknown error',\n // closeButton: true,\n // timeOut: 5000,\n // });\n\n // return {\n // success: false,\n // message: {\n // text: currentResult.error || 'Unknown error'\n // },\n // data: {\n // instanceId: currentResult.instanceId || '',\n // output: null,\n // }\n // };\n // }\n // }\n\n // Workflow completed successfully\n // console.log(`[ExecuteWorkflowCommand] Workflow completed:`, currentResult.state?.output);\n\n return {\n success: true,\n kind: 'object',\n data: undefined as unknown as ExecuteWorkflowOutput,\n // data: {\n // instanceId: currentResult.instanceId!,\n // output: currentResult.state?.output,\n // }\n };\n } catch (error: any) {\n console.error(`[ExecuteWorkflowCommand] Error:`, error);\n\n const unknownMessage = await this.translationService.translateAsync('@general:toggle.unknown');\n const errorMessage = error.message || unknownMessage;\n this.toastService.show({\n color: 'danger',\n title: await this.translationService.translateAsync(`${WORKFLOW_EXECUTE_ERROR_I18N}.execution-error-title`),\n content: await this.translationService.translateAsync(`${WORKFLOW_EXECUTE_ERROR_I18N}.execution-error-content`, {\n params: { message: errorMessage },\n }),\n closeButton: true,\n timeOut: 5000,\n });\n\n return {\n success: false,\n message: { details: {\n instanceId: '',\n output: null,\n },\n text: error.message || 'Unknown error'\n },\n };\n }\n }\n\n //#endregion\n}\n\n"],"names":[],"mappings":";;;;;;AAwCA,MAAM,2BAA2B,GAAG,wDAAwD;AAE5F;AAEA;;;;;AAKG;MAEU,sBAAsB,CAAA;AADnC,IAAA,WAAA,GAAA;;AAImB,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAC5C,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC;AACrC,QAAA,IAAA,CAAA,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC;AAkJnE,IAAA;;;IA5IC,MAAM,OAAO,CAAC,EAAO,EAAA;AAEnB,QAAA,IAAI;;YAEF,MAAM,KAAK,IAAI,EAAE,EAAE,OAAO,IAAI,EAAE,CAAyB;YAEzD,OAAO,CAAC,GAAG,CAAC,CAAA,mEAAA,EAAsE,KAAK,CAAC,UAAU,GAAG,EAAE;gBACrG,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,KAAK,EAAE,KAAK,CAAC,KAAK;AAClB,gBAAA,OAAO,EAAE,EAAE;AACZ,aAAA,CAAC;;;AAIF,YAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;AAEpF,YAAA,OAAO,CAAC,GAAG,CAAC,CAAA,8CAAA,CAAgD,EAAE;gBAC5D,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,KAAK,EAAE,MAAM,CAAC,KAAK;AACnB,gBAAA,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM;AACjC,gBAAA,oBAAoB,EAAE,MAAM,CAAC,KAAK,EAAE,eAAe;AACpD,aAAA,CAAC;AAEF,YAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;AACnB,gBAAA,OAAO,CAAC,KAAK,CAAC,CAAA,iDAAA,EAAoD,KAAK,CAAC,UAAU,CAAA,EAAA,CAAI,EAAE,MAAM,CAAC,KAAK,CAAC;gBACrG,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,yBAAyB,CAAC;AAC9F,gBAAA,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,IAAI,cAAc;AACnD,gBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AACrB,oBAAA,KAAK,EAAE,QAAQ;oBACf,KAAK,EAAE,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAA,EAAG,2BAA2B,CAAA,uBAAA,CAAyB,CAAC;oBAC5G,OAAO,EAAE,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAA,EAAG,2BAA2B,CAAA,wBAAA,CAA0B,EAAE;AAC9G,wBAAA,MAAM,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE;qBAClC,CAAC;AACF,oBAAA,WAAW,EAAE,IAAI;AACjB,oBAAA,OAAO,EAAE,IAAI;AACd,iBAAA,CAAC;gBAEF,OAAO;AACP,oBAAA,OAAO,EAAE,KAAK;oBACZ,OAAO,EAAE,EAAE,OAAO,EAAE;AAClB,4BAAA,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,EAAE;AACnC,4BAAA,MAAM,EAAE,IAAI;AACb,yBAAA;AACC,wBAAA,IAAI,EAAE,MAAM,CAAC,KAAK,IAAI;AACvB,qBAAA;iBACA;YACL;AAEA,YAAA,OAAO,CAAC,GAAG,CAAC,CAAA,iCAAA,EAAoC,KAAK,CAAC,UAAU,CAAA,qCAAA,EAAwC,MAAM,CAAC,UAAU,CAAA,CAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAsD5H,OAAO;AACL,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,IAAI,EAAE,QAAQ;AACd,gBAAA,IAAI,EAAE,SAA6C;;;;;aAKpD;QACH;QAAE,OAAO,KAAU,EAAE;AACnB,YAAA,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC;YAEvD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,yBAAyB,CAAC;AAC9F,YAAA,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,IAAI,cAAc;AACpD,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AACrB,gBAAA,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAA,EAAG,2BAA2B,CAAA,sBAAA,CAAwB,CAAC;gBAC3G,OAAO,EAAE,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAA,EAAG,2BAA2B,CAAA,wBAAA,CAA0B,EAAE;AAC9G,oBAAA,MAAM,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE;iBAClC,CAAC;AACF,gBAAA,WAAW,EAAE,IAAI;AACjB,gBAAA,OAAO,EAAE,IAAI;AACd,aAAA,CAAC;YAEF,OAAO;AACL,gBAAA,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,EAAE,OAAO,EAAE;AAClB,wBAAA,UAAU,EAAE,EAAE;AACd,wBAAA,MAAM,EAAE,IAAI;AACb,qBAAA;AACC,oBAAA,IAAI,EAAE,KAAK,CAAC,OAAO,IAAI;AACxB,iBAAA;aACA;QACL;IACF;8GApJW,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAtB,sBAAsB,EAAA,CAAA,CAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBADlC;;;"}
@@ -87,6 +87,8 @@ const ADD_ACTIVITY_ACTION_ID = 'workflow-management.activities.add-activity';
87
87
  const TOGGLE_DETAIL_PANEL_ACTION_TITLE_KEY = '@workflow-management:workflow-definitions.entities.workflow-definition.pages.activities.node-actions.toggle-detail-panel';
88
88
  const ADD_ACTIVITY_ACTION_TITLE_KEY = '@workflow-management:workflow-definitions.entities.workflow-definition.pages.activities.node-actions.add-activity';
89
89
  const ARRANGE_LAYOUT_ACTION_TITLE_KEY = '@workflow-management:workflow-definitions.entities.workflow-definition.pages.activities.node-actions.arrange-layout';
90
+ const ACTIVITIES_DETAIL_PANEL_I18N = '@workflow-management:workflow-definitions.entities.workflow-definition.pages.activities.detail-panel';
91
+ const ACTIVITIES_INPUTS_GROUP_TITLE_KEY = '@workflow-management:workflow-definitions.entities.workflow-definition.pages.activities.inputs.title';
90
92
  //#endregion
91
93
  //#region ---- Helpers ----
92
94
  function normalizeActivityDefinitionInputs(raw) {
@@ -392,18 +394,27 @@ class AXMWorkflowDefinitionActivitiesPageComponent extends AXPPageLayoutBaseComp
392
394
  }
393
395
  const selectOption = this.activitySelectOptions().find((x) => x.value === selected.name);
394
396
  return [
395
- { title: 'Title', content: this.resolveNodeTitle(selected) || '---' },
396
- { title: 'Type', content: selected.name || '---' },
397
- { title: 'Id', content: selected.id || '---' },
398
- { title: 'Category', content: selectOption?.categoryTitle || '---' },
399
- { title: 'Inputs', content: `${Object.keys(selected.inputs ?? {}).length}` },
400
- { title: 'Outcomes', content: `${this.selectedActivityOutcomeRows().length}` },
397
+ { field: 'title', content: this.resolveNodeTitle(selected) || '---' },
398
+ { field: 'type', content: selected.name || '---' },
399
+ { field: 'id', content: selected.id || '---' },
400
+ { field: 'category', content: selectOption?.categoryTitle || '---' },
401
+ { field: 'inputs', content: `${Object.keys(selected.inputs ?? {}).length}` },
402
+ { field: 'outcomes', content: `${this.selectedActivityOutcomeRows().length}` },
401
403
  ];
402
404
  }, /* @ts-ignore */
403
405
  ...(ngDevMode ? [{ debugName: "selectedNodeInfoRows" }] : /* istanbul ignore next */ []));
406
+ this.detailRowLabels = signal({
407
+ title: '',
408
+ type: '',
409
+ id: '',
410
+ category: '',
411
+ inputs: '',
412
+ outcomes: '',
413
+ }, /* @ts-ignore */
414
+ ...(ngDevMode ? [{ debugName: "detailRowLabels" }] : /* istanbul ignore next */ []));
404
415
  this.workflowDetailPanelCopy = signal({
405
- panelTitle: 'Activity details',
406
- emptyMessage: 'Select a node to see details.',
416
+ panelTitle: '',
417
+ emptyMessage: '',
407
418
  }, /* @ts-ignore */
408
419
  ...(ngDevMode ? [{ debugName: "workflowDetailPanelCopy" }] : /* istanbul ignore next */ []));
409
420
  this.workflowDetailPanelHeader = computed(() => {
@@ -423,8 +434,9 @@ class AXMWorkflowDefinitionActivitiesPageComponent extends AXPPageLayoutBaseComp
423
434
  if (this.selectedRow() == null) {
424
435
  return [];
425
436
  }
437
+ const labels = this.detailRowLabels();
426
438
  return this.selectedNodeInfoRows().map((row) => ({
427
- label: row.title,
439
+ label: labels[row.field] || row.field,
428
440
  value: row.content,
429
441
  }));
430
442
  }, /* @ts-ignore */
@@ -441,6 +453,7 @@ class AXMWorkflowDefinitionActivitiesPageComponent extends AXPPageLayoutBaseComp
441
453
  };
442
454
  }, /* @ts-ignore */
443
455
  ...(ngDevMode ? [{ debugName: "workflowDetailPanelEmptyState" }] : /* istanbul ignore next */ []));
456
+ void this.bootstrapActivitiesDetailPanelI18n();
444
457
  let previousRootId = undefined;
445
458
  effect(() => {
446
459
  const ctx = this.rootContext();
@@ -463,6 +476,23 @@ class AXMWorkflowDefinitionActivitiesPageComponent extends AXPPageLayoutBaseComp
463
476
  this.destroyRef.onDestroy(() => this.clearAutoSaveTimer());
464
477
  }
465
478
  //#endregion
479
+ //#region ---- Detail panel i18n ----
480
+ async bootstrapActivitiesDetailPanelI18n() {
481
+ const base = ACTIVITIES_DETAIL_PANEL_I18N;
482
+ const [panelTitle, emptyMessage, title, type, id, category, inputs, outcomes] = await Promise.all([
483
+ this.mlResolver.translateAsync(`${base}.panel-title`),
484
+ this.mlResolver.translateAsync(`${base}.empty-message`),
485
+ this.mlResolver.translateAsync(`${base}.fields.title`),
486
+ this.mlResolver.translateAsync(`${base}.fields.type`),
487
+ this.mlResolver.translateAsync(`${base}.fields.id`),
488
+ this.mlResolver.translateAsync(`${base}.fields.category`),
489
+ this.mlResolver.translateAsync(`${base}.fields.inputs`),
490
+ this.mlResolver.translateAsync(`${base}.fields.outcomes`),
491
+ ]);
492
+ this.workflowDetailPanelCopy.set({ panelTitle, emptyMessage });
493
+ this.detailRowLabels.set({ title, type, id, category, inputs, outcomes });
494
+ }
495
+ //#endregion
466
496
  //#region ---- Page chrome / commands ----
467
497
  hasUnsavedChanges() {
468
498
  return this.isDirty();
@@ -1268,7 +1298,8 @@ class AXMWorkflowDefinitionActivitiesPageComponent extends AXPPageLayoutBaseComp
1268
1298
  const rowLatest = this.activities().find((r) => r.id === row.id) ?? row;
1269
1299
  this.selectedActivityOutcomeRows.set(this.buildOutcomeRows(row.id, rowLatest, def));
1270
1300
  const inputProps = normalizeActivityDefinitionInputs(def?.inputs);
1271
- const group = { name: 'activity-inputs', title: 'Inputs', order: 0 };
1301
+ const inputsGroupTitle = (await this.mlResolver.translateAsync(ACTIVITIES_INPUTS_GROUP_TITLE_KEY)) || 'Inputs';
1302
+ const group = { name: 'activity-inputs', title: inputsGroupTitle, order: 0 };
1272
1303
  const widgetProps = inputProps.map((p, index) => mapAXPPropertyToWidgetProperty(p, {
1273
1304
  group,
1274
1305
  order: index,
@@ -1294,7 +1325,7 @@ class AXMWorkflowDefinitionActivitiesPageComponent extends AXPPageLayoutBaseComp
1294
1325
  maybeLayout?.recompute?.();
1295
1326
  }
1296
1327
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMWorkflowDefinitionActivitiesPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1297
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXMWorkflowDefinitionActivitiesPageComponent, isStandalone: true, selector: "axm-workflow-definition-activities-page", inputs: { rootContext: { classPropertyName: "rootContext", publicName: "rootContext", isSignal: true, isRequired: false, transformFunction: null }, pageConfig: { classPropertyName: "pageConfig", publicName: "pageConfig", isSignal: true, isRequired: false, transformFunction: null } }, host: { styleAttribute: "display: block; width: 100%; height: 100%;" }, providers: [{ provide: AXPPageLayoutBase, useExisting: AXMWorkflowDefinitionActivitiesPageComponent }], viewQueries: [{ propertyName: "propertyViewerRef", first: true, predicate: AXPPropertyViewerComponent, descendants: true, isSignal: true }, { propertyName: "workflowDesignerRef", first: true, predicate: AXPWorkflowDesignerComponent, descendants: true, isSignal: true }, { propertyName: "contextMenu", first: true, predicate: AXContextMenuComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<!-- <axp-page-toolbar>\n <axp-layout-suffix>\n <div class=\"axm-workflow-definition-activities__toolbar-group\">\n <ax-button>\n <ax-icon icon=\"fa-light fa-sliders\"></ax-icon>\n <ax-dropdown-panel>\n <div class=\"axm-workflow-definition-activities__appearance-panel\">\n <label class=\"axm-workflow-definition-activities__pattern-label\" for=\"background-pattern-select\"\n >Background Pattern</label\n >\n <select\n id=\"background-pattern-select\"\n class=\"axm-workflow-definition-activities__pattern-select\"\n [value]=\"backgroundPattern()\"\n (change)=\"onBackgroundPatternChange($event)\"\n >\n <option value=\"dots\">Dots</option>\n <option value=\"line\">Lines</option>\n </select>\n </div>\n </ax-dropdown-panel>\n </ax-button>\n <ax-button (onClick)=\"toggleFullscreen()\">\n <ax-icon>\n <i class=\"fa-solid\" [class]=\"isFullscreen() ? 'fa-compress' : 'fa-expand'\"></i>\n </ax-icon>\n </ax-button>\n <ax-button (onClick)=\"toggleInfoPanel()\">\n <ax-icon [icon]=\"isInfoPanelOpen() ? 'fa-solid fa-square-info' : 'fa-light fa-square-info'\"></ax-icon>\n </ax-button>\n </div>\n </axp-layout-suffix>\n </axp-page-toolbar> -->\n\n<div\n class=\"axm-workflow-definition-activities\"\n [class.axm-workflow-definition-activities--with-palette]=\"isPaletteOpen()\"\n [class.axm-workflow-definition-activities--with-info]=\"isInfoPanelOpen()\"\n>\n @if (isPaletteOpen()) {\n <aside class=\"axm-workflow-definition-activities__palette\">\n <div class=\"axm-workflow-definition-activities__palette-head\">\n <div class=\"axm-workflow-definition-activities__palette-head-row\">\n <h3 class=\"axm-workflow-definition-activities__title\">\n {{\n ('@workflow-management:workflow-definitions.entities.workflow-definition.pages.activities.add-step'\n | translate\n | async) ?? 'Activities'\n }}\n </h3>\n <ax-button [look]=\"'blank'\" class=\"ax-sm rounded-full\" (onClick)=\"closePalette()\">\n <ax-icon icon=\"fa-solid fa-xmark\"></ax-icon>\n </ax-button>\n </div>\n <p class=\"axm-workflow-definition-activities__palette-sub\">\n {{\n ('@workflow-management:workflow-definitions.entities.workflow-definition.pages.activities.connections.hint'\n | translate\n | async) ?? ''\n }}\n </p>\n <ax-search-box\n class=\"axm-workflow-definition-activities__palette-search ax-sm\"\n [value]=\"paletteSearchTerm()\"\n (onValueChanged)=\"onPaletteSearchChange($event)\"\n [placeholder]=\"'@general:search.title' | translate | async\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-search-box>\n </div>\n <div class=\"axm-workflow-definition-activities__palette-list\">\n <div class=\"axm-workflow-definition-activities__accordion-group\" axAccordionGroup [accordion]=\"false\">\n @for (group of filteredPaletteGroups(); track group.id) {\n @if (group.items.length > 0) {\n <section\n class=\"axm-workflow-definition-activities__accordion-item\"\n axAccordionItem\n [isCollapsed]=\"false\"\n #acc=\"axAccordionItem\"\n >\n <header\n class=\"axm-workflow-definition-activities__accordion-header\"\n axAccordionItemHeader\n role=\"button\"\n >\n <div class=\"axm-workflow-definition-activities__accordion-header-main\">\n <span class=\"axm-workflow-definition-activities__accordion-title\">{{ group.title }}</span>\n </div>\n <span class=\"axm-workflow-definition-activities__accordion-chevron\">\n <i [class]=\"acc.isCollapsed() ? 'fa-light fa-chevron-down' : 'fa-light fa-chevron-up'\"></i>\n </span>\n </header>\n <div class=\"axm-workflow-definition-activities__accordion-content\" axAccordionItemContent>\n @for (item of group.items; track item.type) {\n <button\n type=\"button\"\n class=\"axm-workflow-definition-activities__palette-item\"\n [axpWorkflowPaletteItem]=\"item\"\n >\n <span class=\"axm-workflow-definition-activities__palette-item-icon\" aria-hidden=\"true\">\n <i [class]=\"'fa-light ' + item.icon\"></i>\n </span>\n <span class=\"axm-workflow-definition-activities__palette-item-body\">\n <span class=\"axm-workflow-definition-activities__palette-item-title\">{{ item.title }}</span>\n <span class=\"axm-workflow-definition-activities__palette-item-meta\">{{\n item.description\n }}</span>\n </span>\n </button>\n }\n </div>\n </section>\n }\n }\n </div>\n </div>\n </aside>\n }\n\n <div class=\"axm-workflow-definition-activities__main\">\n <section class=\"axm-workflow-definition-activities__canvas\" (contextmenu)=\"onDesignerSurfaceContextMenu($event)\">\n <axp-workflow-designer\n [model]=\"designerModel()\"\n [backgroundPattern]=\"backgroundPattern()\"\n (zoomChange)=\"onDesignerZoomChange($event)\"\n (modelChange)=\"onDesignerModelChange($event)\"\n (activationChange)=\"onDesignerActivationChange($event)\"\n (nodeContextMenu)=\"onDesignerNodeContextMenu($event)\"\n ></axp-workflow-designer>\n <ax-context-menu\n [orientation]=\"'vertical'\"\n [closeOn]=\"'leave'\"\n (onItemClick)=\"handleWorkflowContextMenuItemClick($event)\"\n />\n <axp-layout-floating-zoom-bar\n [zoomLevel]=\"zoomLevel()\"\n (zoomIn)=\"zoomIn()\"\n (zoomOut)=\"zoomOut()\"\n (zoomReset)=\"zoomReset()\"\n />\n </section>\n </div>\n @if (isInfoPanelOpen()) {\n <axp-layout-side-detail-panel\n class=\"axm-workflow-definition-activities__info sticky top-0 z-10 max-h-full flex-none\"\n [header]=\"workflowDetailPanelHeader()\"\n [rows]=\"workflowDetailPanelRows()\"\n [emptyState]=\"workflowDetailPanelEmptyState()\"\n (panelClose)=\"toggleInfoPanel()\"\n />\n }\n</div>\n", styles: ["@layer properties;.axm-workflow-definition-activities{display:grid;height:100%;align-items:stretch;grid-template-columns:minmax(0,1fr);gap:.75rem}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette{display:flex;min-height:0px;flex-direction:column;gap:.75rem;padding:.5rem;border-radius:16px}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-head{display:flex;flex-direction:column;gap:calc(var(--spacing, .25rem) * 2)}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-head-row{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--spacing, .25rem) * 2)}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-sub{margin:0;font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)));line-height:1.35;color:var(--ax-sys-color-on-light-surface)}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-search{width:100%}.axm-workflow-definition-activities .axm-workflow-definition-activities__main{display:flex;min-height:0px;min-width:0px;flex-direction:column;gap:.75rem}.axm-workflow-definition-activities .axm-workflow-definition-activities__toolbar{display:flex;justify-content:flex-end}.axm-workflow-definition-activities .axm-workflow-definition-activities__toolbar-group{display:inline-flex;align-items:center;gap:calc(var(--spacing, .25rem) * 2)}.axm-workflow-definition-activities .axm-workflow-definition-activities__appearance-panel{display:flex;flex-direction:column;gap:.75rem;min-width:220px;padding:.35rem}.axm-workflow-definition-activities .axm-workflow-definition-activities__zoom-actions{display:flex;align-items:center;gap:.4rem}.axm-workflow-definition-activities .axm-workflow-definition-activities__pattern-label{font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)));color:var(--ax-sys-color-on-light-surface)}.axm-workflow-definition-activities .axm-workflow-definition-activities__pattern-select{min-height:34px;border-radius:8px;border:1px solid rgb(var(--ax-sys-color-border-surface));background:rgb(var(--ax-sys-color-surface));color:var(--ax-sys-color-on-surface);padding:0 .5rem}.axm-workflow-definition-activities .axm-workflow-definition-activities__canvas{position:relative;min-height:0px;flex:auto;overflow:hidden;min-height:min(70vh,720px);border-radius:16px;background:var(--ax-sys-color-surface)}.axm-workflow-definition-activities .axm-workflow-definition-activities__canvas axp-axm-workflow-designer{display:block;height:100%;width:100%;min-height:inherit}.axm-workflow-definition-activities .axm-workflow-definition-activities__title{margin:0;--tw-font-weight: var(--font-weight-bold, 700);font-weight:var(--font-weight-bold, 700);font-size:.9375rem;letter-spacing:-.01em;color:var(--ax-sys-color-on-surface)}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-list{display:flex;flex-direction:column;overflow:auto;gap:.45rem;padding-inline-end:2px;margin-inline-end:-2px}.axm-workflow-definition-activities .axm-workflow-definition-activities__accordion-group{display:flex;flex-direction:column;gap:.45rem}.axm-workflow-definition-activities .axm-workflow-definition-activities__accordion-item{overflow:hidden;border-radius:var(--radius-xl, .75rem);transition:border-color .15s ease}.axm-workflow-definition-activities .axm-workflow-definition-activities__accordion-header{display:flex;cursor:pointer;align-items:center;justify-content:space-between;-webkit-user-select:none;user-select:none;gap:.5rem;padding:.62rem .7rem}.axm-workflow-definition-activities .axm-workflow-definition-activities__accordion-header-main{display:inline-flex;min-width:0px;align-items:center;gap:.45rem}.axm-workflow-definition-activities .axm-workflow-definition-activities__accordion-title{font-size:.8125rem;--tw-font-weight: var(--font-weight-bold, 700);font-weight:var(--font-weight-bold, 700);line-height:1.25;color:var(--ax-sys-color-on-surface)}.axm-workflow-definition-activities .axm-workflow-definition-activities__accordion-content{display:flex;flex-direction:column;gap:.4rem}.axm-workflow-definition-activities .axm-workflow-definition-activities__accordion-chevron{font-size:.8rem;--tw-leading: 1;line-height:1;color:var(--ax-sys-color-on-light-surface)}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-item{position:relative;display:flex;width:100%;cursor:grab;align-items:center;text-align:left;gap:.65rem;padding:.4rem .55rem;border-radius:12px;color:var(--ax-sys-color-on-surface);font:inherit;transition:border-color .15s ease}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-item:hover{background-color:rgb(var(--ax-sys-color-primary-50))}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-item:active{cursor:grabbing;background-color:rgb(var(--ax-sys-color-primary-100))}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-item-icon{display:flex;flex-shrink:0;align-items:center;justify-content:center;font-size:var(--text-base, 1rem);line-height:var(--tw-leading, var(--text-base--line-height, 1.5 ));width:2.25rem;height:2.25rem;border-radius:10px;color:rgb(var(--ax-sys-color-primary-600))}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-item-body{display:flex;min-width:0px;flex:1;flex-direction:column;gap:.1rem}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600);line-height:1.25}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-item-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);font-size:.6875rem;color:var(--ax-sys-color-on-light-surface)}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-item-grip{flex-shrink:0;font-size:.85rem;opacity:35%;color:var(--ax-sys-color-on-light-surface)}.axm-workflow-definition-activities .axm-workflow-definition-activities__info{min-height:0px}@media(max-width:1100px){.axm-workflow-definition-activities{grid-template-columns:1fr;min-height:auto}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette{max-height:280px}.axm-workflow-definition-activities .axm-workflow-definition-activities__canvas{min-height:480px}.axm-workflow-definition-activities .axm-workflow-definition-activities__info{max-height:280px}}.axm-workflow-definition-activities--with-palette{grid-template-columns:minmax(260px,300px) minmax(0,1fr)}.axm-workflow-definition-activities--with-info:not(.axm-workflow-definition-activities--with-palette){grid-template-columns:minmax(0,1fr) minmax(260px,320px)}.axm-workflow-definition-activities--with-palette.axm-axm-workflow-definition-activities--with-info{grid-template-columns:minmax(260px,300px) minmax(0,1fr) minmax(260px,320px)}.axm-workflow-definition-activities--fullscreen{position:fixed;z-index:400;box-sizing:border-box;inset:0;height:100vh;background:rgb(var(--ax-sys-color-lightest-surface));padding:.75rem}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-leading{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight: initial;--tw-leading: initial}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXAccordionCdkModule }, { kind: "directive", type: i1.AXAccordionGroupDirective, selector: "[axAccordionGroup]", inputs: ["accordion", "activeIndex", "collapsedOnItemClick"], exportAs: ["axAccordionGroup"] }, { kind: "directive", type: i1.AXAccordionItemContentDirective, selector: "[axAccordionItemContent]", inputs: ["transition"], exportAs: ["axAccordionItemContent"] }, { kind: "directive", type: i1.AXAccordionItemHeaderDirective, selector: "[axAccordionItemHeader]", exportAs: ["axAccordionItemHeader"] }, { kind: "directive", type: i1.AXAccordionItemDirective, selector: "[axAccordionItem]", inputs: ["isCollapsed"], outputs: ["isCollapsedChange", "onClick"], exportAs: ["axAccordionItem"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXMenuModule }, { kind: "component", type: i3.AXContextMenuComponent, selector: "ax-context-menu", inputs: ["orientation", "openOn", "closeOn", "closeOnRouteChange", "items", "target"], outputs: ["onItemClick", "onOpening", "onClose"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i4.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i4.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "ngmodule", type: AXSearchBoxModule }, { kind: "component", type: i5.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "class", "delayTime", "type", "autoSearch"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "component", type: AXPLayoutFloatingZoomBarComponent, selector: "axp-layout-floating-zoom-bar", inputs: ["zoomLevel"], outputs: ["zoomIn", "zoomOut", "zoomReset"] }, { kind: "component", type: AXPLayoutSideDetailPanelComponent, selector: "axp-layout-side-detail-panel", inputs: ["multiSelectLabel", "header", "sections", "rows", "rowsSectionTitle", "noRowsMessage", "emptyState"], outputs: ["panelClose"] }, { kind: "component", type: AXPWorkflowDesignerComponent, selector: "axp-workflow-designer", inputs: ["model", "readonly", "highlightedNodeIds", "gridSize", "snapToGrid", "connectionPreviewStyle", "connectorStub", "backgroundPattern", "canConnect", "paletteItems", "showPortLabels", "showPorts", "showConnectorLabels", "canvasPadding", "minCanvasSize", "nodeBodyTemplate"], outputs: ["modelChange", "zoomChange", "designerPointerDown", "designerClick", "designerDoubleClick", "nodePointerDown", "nodeClick", "nodeDoubleClick", "nodeContextMenu", "nodeDragStart", "nodeDragEnd", "portPointerDown", "linkDragStart", "linkDragMove", "linkDragEnd", "connectorClick", "connectorDoubleClick", "connectionCreated", "connectionRejected", "activationChange"] }, { kind: "directive", type: AXPWorkflowPaletteItemDragDirective, selector: "[axpWorkflowPaletteItem]", inputs: ["axpWorkflowPaletteItem", "axpWorkflowPaletteDragDisabled"], outputs: ["axpWorkflowPaletteDragStart", "axpWorkflowPaletteDragEnd"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1328
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXMWorkflowDefinitionActivitiesPageComponent, isStandalone: true, selector: "axm-workflow-definition-activities-page", inputs: { rootContext: { classPropertyName: "rootContext", publicName: "rootContext", isSignal: true, isRequired: false, transformFunction: null }, pageConfig: { classPropertyName: "pageConfig", publicName: "pageConfig", isSignal: true, isRequired: false, transformFunction: null } }, host: { styleAttribute: "display: block; width: 100%; height: 100%;" }, providers: [{ provide: AXPPageLayoutBase, useExisting: AXMWorkflowDefinitionActivitiesPageComponent }], viewQueries: [{ propertyName: "propertyViewerRef", first: true, predicate: AXPPropertyViewerComponent, descendants: true, isSignal: true }, { propertyName: "workflowDesignerRef", first: true, predicate: AXPWorkflowDesignerComponent, descendants: true, isSignal: true }, { propertyName: "contextMenu", first: true, predicate: AXContextMenuComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<!-- <axp-page-toolbar>\n <axp-layout-suffix>\n <div class=\"axm-workflow-definition-activities__toolbar-group\">\n <ax-button>\n <ax-icon icon=\"fa-light fa-sliders\"></ax-icon>\n <ax-dropdown-panel>\n <div class=\"axm-workflow-definition-activities__appearance-panel\">\n <label class=\"axm-workflow-definition-activities__pattern-label\" for=\"background-pattern-select\">{{\n '@workflow-management:workflow-definitions.entities.workflow-definition.pages.activities.appearance.background-pattern.label'\n | translate\n | async\n }}</label>\n <select\n id=\"background-pattern-select\"\n class=\"axm-workflow-definition-activities__pattern-select\"\n [value]=\"backgroundPattern()\"\n (change)=\"onBackgroundPatternChange($event)\"\n >\n <option value=\"dots\">\n {{\n '@workflow-management:workflow-definitions.entities.workflow-definition.pages.activities.appearance.background-pattern.options.dots'\n | translate\n | async\n }}\n </option>\n <option value=\"line\">\n {{\n '@workflow-management:workflow-definitions.entities.workflow-definition.pages.activities.appearance.background-pattern.options.lines'\n | translate\n | async\n }}\n </option>\n </select>\n </div>\n </ax-dropdown-panel>\n </ax-button>\n <ax-button (onClick)=\"toggleFullscreen()\">\n <ax-icon>\n <i class=\"fa-solid\" [class]=\"isFullscreen() ? 'fa-compress' : 'fa-expand'\"></i>\n </ax-icon>\n </ax-button>\n <ax-button (onClick)=\"toggleInfoPanel()\">\n <ax-icon [icon]=\"isInfoPanelOpen() ? 'fa-solid fa-square-info' : 'fa-light fa-square-info'\"></ax-icon>\n </ax-button>\n </div>\n </axp-layout-suffix>\n </axp-page-toolbar> -->\n\n<div\n class=\"axm-workflow-definition-activities\"\n [class.axm-workflow-definition-activities--with-palette]=\"isPaletteOpen()\"\n [class.axm-workflow-definition-activities--with-info]=\"isInfoPanelOpen()\"\n>\n @if (isPaletteOpen()) {\n <aside class=\"axm-workflow-definition-activities__palette\">\n <div class=\"axm-workflow-definition-activities__palette-head\">\n <div class=\"axm-workflow-definition-activities__palette-head-row\">\n <h3 class=\"axm-workflow-definition-activities__title\">\n {{\n '@workflow-management:workflow-definitions.entities.workflow-definition.pages.activities.add-step'\n | translate\n | async\n }}\n </h3>\n <ax-button [look]=\"'blank'\" class=\"ax-sm rounded-full\" (onClick)=\"closePalette()\">\n <ax-icon icon=\"fa-solid fa-xmark\"></ax-icon>\n </ax-button>\n </div>\n <p class=\"axm-workflow-definition-activities__palette-sub\">\n {{\n ('@workflow-management:workflow-definitions.entities.workflow-definition.pages.activities.connections.hint'\n | translate\n | async) ?? ''\n }}\n </p>\n <ax-search-box\n class=\"axm-workflow-definition-activities__palette-search ax-sm\"\n [value]=\"paletteSearchTerm()\"\n (onValueChanged)=\"onPaletteSearchChange($event)\"\n [placeholder]=\"'@general:search.title' | translate | async\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-search-box>\n </div>\n <div class=\"axm-workflow-definition-activities__palette-list\">\n <div class=\"axm-workflow-definition-activities__accordion-group\" axAccordionGroup [accordion]=\"false\">\n @for (group of filteredPaletteGroups(); track group.id) {\n @if (group.items.length > 0) {\n <section\n class=\"axm-workflow-definition-activities__accordion-item\"\n axAccordionItem\n [isCollapsed]=\"false\"\n #acc=\"axAccordionItem\"\n >\n <header\n class=\"axm-workflow-definition-activities__accordion-header\"\n axAccordionItemHeader\n role=\"button\"\n >\n <div class=\"axm-workflow-definition-activities__accordion-header-main\">\n <span class=\"axm-workflow-definition-activities__accordion-title\">{{ group.title }}</span>\n </div>\n <span class=\"axm-workflow-definition-activities__accordion-chevron\">\n <i [class]=\"acc.isCollapsed() ? 'fa-light fa-chevron-down' : 'fa-light fa-chevron-up'\"></i>\n </span>\n </header>\n <div class=\"axm-workflow-definition-activities__accordion-content\" axAccordionItemContent>\n @for (item of group.items; track item.type) {\n <button\n type=\"button\"\n class=\"axm-workflow-definition-activities__palette-item\"\n [axpWorkflowPaletteItem]=\"item\"\n >\n <span class=\"axm-workflow-definition-activities__palette-item-icon\" aria-hidden=\"true\">\n <i [class]=\"'fa-light ' + item.icon\"></i>\n </span>\n <span class=\"axm-workflow-definition-activities__palette-item-body\">\n <span class=\"axm-workflow-definition-activities__palette-item-title\">{{ item.title }}</span>\n <span class=\"axm-workflow-definition-activities__palette-item-meta\">{{\n item.description\n }}</span>\n </span>\n </button>\n }\n </div>\n </section>\n }\n }\n </div>\n </div>\n </aside>\n }\n\n <div class=\"axm-workflow-definition-activities__main\">\n <section class=\"axm-workflow-definition-activities__canvas\" (contextmenu)=\"onDesignerSurfaceContextMenu($event)\">\n <axp-workflow-designer\n [model]=\"designerModel()\"\n [backgroundPattern]=\"backgroundPattern()\"\n (zoomChange)=\"onDesignerZoomChange($event)\"\n (modelChange)=\"onDesignerModelChange($event)\"\n (activationChange)=\"onDesignerActivationChange($event)\"\n (nodeContextMenu)=\"onDesignerNodeContextMenu($event)\"\n ></axp-workflow-designer>\n <ax-context-menu\n [orientation]=\"'vertical'\"\n [closeOn]=\"'leave'\"\n (onItemClick)=\"handleWorkflowContextMenuItemClick($event)\"\n />\n <axp-layout-floating-zoom-bar\n [zoomLevel]=\"zoomLevel()\"\n (zoomIn)=\"zoomIn()\"\n (zoomOut)=\"zoomOut()\"\n (zoomReset)=\"zoomReset()\"\n />\n </section>\n </div>\n @if (isInfoPanelOpen()) {\n <axp-layout-side-detail-panel\n class=\"axm-workflow-definition-activities__info sticky top-0 z-10 max-h-full flex-none\"\n [header]=\"workflowDetailPanelHeader()\"\n [rows]=\"workflowDetailPanelRows()\"\n [emptyState]=\"workflowDetailPanelEmptyState()\"\n (panelClose)=\"toggleInfoPanel()\"\n />\n }\n</div>\n", styles: ["@layer properties;.axm-workflow-definition-activities{display:grid;height:100%;align-items:stretch;grid-template-columns:minmax(0,1fr);gap:.75rem}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette{display:flex;min-height:0px;flex-direction:column;gap:.75rem;padding:.5rem;border-radius:16px}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-head{display:flex;flex-direction:column;gap:calc(var(--spacing, .25rem) * 2)}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-head-row{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--spacing, .25rem) * 2)}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-sub{margin:0;font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)));line-height:1.35;color:var(--ax-sys-color-on-light-surface)}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-search{width:100%}.axm-workflow-definition-activities .axm-workflow-definition-activities__main{display:flex;min-height:0px;min-width:0px;flex-direction:column;gap:.75rem}.axm-workflow-definition-activities .axm-workflow-definition-activities__toolbar{display:flex;justify-content:flex-end}.axm-workflow-definition-activities .axm-workflow-definition-activities__toolbar-group{display:inline-flex;align-items:center;gap:calc(var(--spacing, .25rem) * 2)}.axm-workflow-definition-activities .axm-workflow-definition-activities__appearance-panel{display:flex;flex-direction:column;gap:.75rem;min-width:220px;padding:.35rem}.axm-workflow-definition-activities .axm-workflow-definition-activities__zoom-actions{display:flex;align-items:center;gap:.4rem}.axm-workflow-definition-activities .axm-workflow-definition-activities__pattern-label{font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)));color:var(--ax-sys-color-on-light-surface)}.axm-workflow-definition-activities .axm-workflow-definition-activities__pattern-select{min-height:34px;border-radius:8px;border:1px solid rgb(var(--ax-sys-color-border-surface));background:rgb(var(--ax-sys-color-surface));color:var(--ax-sys-color-on-surface);padding:0 .5rem}.axm-workflow-definition-activities .axm-workflow-definition-activities__canvas{position:relative;min-height:0px;flex:auto;overflow:hidden;min-height:min(70vh,720px);border-radius:16px;background:var(--ax-sys-color-surface)}.axm-workflow-definition-activities .axm-workflow-definition-activities__canvas axp-axm-workflow-designer{display:block;height:100%;width:100%;min-height:inherit}.axm-workflow-definition-activities .axm-workflow-definition-activities__title{margin:0;--tw-font-weight: var(--font-weight-bold, 700);font-weight:var(--font-weight-bold, 700);font-size:.9375rem;letter-spacing:-.01em;color:var(--ax-sys-color-on-surface)}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-list{display:flex;flex-direction:column;overflow:auto;gap:.45rem;padding-inline-end:2px;margin-inline-end:-2px}.axm-workflow-definition-activities .axm-workflow-definition-activities__accordion-group{display:flex;flex-direction:column;gap:.45rem}.axm-workflow-definition-activities .axm-workflow-definition-activities__accordion-item{overflow:hidden;border-radius:var(--radius-xl, .75rem);transition:border-color .15s ease}.axm-workflow-definition-activities .axm-workflow-definition-activities__accordion-header{display:flex;cursor:pointer;align-items:center;justify-content:space-between;-webkit-user-select:none;user-select:none;gap:.5rem;padding:.62rem .7rem}.axm-workflow-definition-activities .axm-workflow-definition-activities__accordion-header-main{display:inline-flex;min-width:0px;align-items:center;gap:.45rem}.axm-workflow-definition-activities .axm-workflow-definition-activities__accordion-title{font-size:.8125rem;--tw-font-weight: var(--font-weight-bold, 700);font-weight:var(--font-weight-bold, 700);line-height:1.25;color:var(--ax-sys-color-on-surface)}.axm-workflow-definition-activities .axm-workflow-definition-activities__accordion-content{display:flex;flex-direction:column;gap:.4rem}.axm-workflow-definition-activities .axm-workflow-definition-activities__accordion-chevron{font-size:.8rem;--tw-leading: 1;line-height:1;color:var(--ax-sys-color-on-light-surface)}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-item{position:relative;display:flex;width:100%;cursor:grab;align-items:center;text-align:left;gap:.65rem;padding:.4rem .55rem;border-radius:12px;color:var(--ax-sys-color-on-surface);font:inherit;transition:border-color .15s ease}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-item:hover{background-color:rgb(var(--ax-sys-color-primary-50))}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-item:active{cursor:grabbing;background-color:rgb(var(--ax-sys-color-primary-100))}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-item-icon{display:flex;flex-shrink:0;align-items:center;justify-content:center;font-size:var(--text-base, 1rem);line-height:var(--tw-leading, var(--text-base--line-height, 1.5 ));width:2.25rem;height:2.25rem;border-radius:10px;color:rgb(var(--ax-sys-color-primary-600))}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-item-body{display:flex;min-width:0px;flex:1;flex-direction:column;gap:.1rem}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600);line-height:1.25}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-item-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);font-size:.6875rem;color:var(--ax-sys-color-on-light-surface)}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-item-grip{flex-shrink:0;font-size:.85rem;opacity:35%;color:var(--ax-sys-color-on-light-surface)}.axm-workflow-definition-activities .axm-workflow-definition-activities__info{min-height:0px}@media(max-width:1100px){.axm-workflow-definition-activities{grid-template-columns:1fr;min-height:auto}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette{max-height:280px}.axm-workflow-definition-activities .axm-workflow-definition-activities__canvas{min-height:480px}.axm-workflow-definition-activities .axm-workflow-definition-activities__info{max-height:280px}}.axm-workflow-definition-activities--with-palette{grid-template-columns:minmax(260px,300px) minmax(0,1fr)}.axm-workflow-definition-activities--with-info:not(.axm-workflow-definition-activities--with-palette){grid-template-columns:minmax(0,1fr) minmax(260px,320px)}.axm-workflow-definition-activities--with-palette.axm-axm-workflow-definition-activities--with-info{grid-template-columns:minmax(260px,300px) minmax(0,1fr) minmax(260px,320px)}.axm-workflow-definition-activities--fullscreen{position:fixed;z-index:400;box-sizing:border-box;inset:0;height:100vh;background:rgb(var(--ax-sys-color-lightest-surface));padding:.75rem}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-leading{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight: initial;--tw-leading: initial}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXAccordionCdkModule }, { kind: "directive", type: i1.AXAccordionGroupDirective, selector: "[axAccordionGroup]", inputs: ["accordion", "activeIndex", "collapsedOnItemClick"], exportAs: ["axAccordionGroup"] }, { kind: "directive", type: i1.AXAccordionItemContentDirective, selector: "[axAccordionItemContent]", inputs: ["transition"], exportAs: ["axAccordionItemContent"] }, { kind: "directive", type: i1.AXAccordionItemHeaderDirective, selector: "[axAccordionItemHeader]", exportAs: ["axAccordionItemHeader"] }, { kind: "directive", type: i1.AXAccordionItemDirective, selector: "[axAccordionItem]", inputs: ["isCollapsed"], outputs: ["isCollapsedChange", "onClick"], exportAs: ["axAccordionItem"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXMenuModule }, { kind: "component", type: i3.AXContextMenuComponent, selector: "ax-context-menu", inputs: ["orientation", "openOn", "closeOn", "closeOnRouteChange", "items", "target"], outputs: ["onItemClick", "onOpening", "onClose"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i4.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i4.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "ngmodule", type: AXSearchBoxModule }, { kind: "component", type: i5.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "class", "delayTime", "type", "autoSearch"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "component", type: AXPLayoutFloatingZoomBarComponent, selector: "axp-layout-floating-zoom-bar", inputs: ["zoomLevel"], outputs: ["zoomIn", "zoomOut", "zoomReset"] }, { kind: "component", type: AXPLayoutSideDetailPanelComponent, selector: "axp-layout-side-detail-panel", inputs: ["multiSelectLabel", "header", "sections", "rows", "rowsSectionTitle", "noRowsMessage", "emptyState"], outputs: ["panelClose"] }, { kind: "component", type: AXPWorkflowDesignerComponent, selector: "axp-workflow-designer", inputs: ["model", "readonly", "highlightedNodeIds", "gridSize", "snapToGrid", "connectionPreviewStyle", "connectorStub", "backgroundPattern", "canConnect", "paletteItems", "showPortLabels", "showPorts", "showConnectorLabels", "canvasPadding", "minCanvasSize", "nodeBodyTemplate"], outputs: ["modelChange", "zoomChange", "designerPointerDown", "designerClick", "designerDoubleClick", "nodePointerDown", "nodeClick", "nodeDoubleClick", "nodeContextMenu", "nodeDragStart", "nodeDragEnd", "portPointerDown", "linkDragStart", "linkDragMove", "linkDragEnd", "connectorClick", "connectorDoubleClick", "connectionCreated", "connectionRejected", "activationChange"] }, { kind: "directive", type: AXPWorkflowPaletteItemDragDirective, selector: "[axpWorkflowPaletteItem]", inputs: ["axpWorkflowPaletteItem", "axpWorkflowPaletteDragDisabled"], outputs: ["axpWorkflowPaletteDragStart", "axpWorkflowPaletteDragEnd"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1298
1329
  }
1299
1330
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMWorkflowDefinitionActivitiesPageComponent, decorators: [{
1300
1331
  type: Component,
@@ -1315,7 +1346,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
1315
1346
  AXPWorkflowPaletteItemDragDirective,
1316
1347
  ], host: {
1317
1348
  style: 'display: block; width: 100%; height: 100%;',
1318
- }, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: AXPPageLayoutBase, useExisting: AXMWorkflowDefinitionActivitiesPageComponent }], template: "<!-- <axp-page-toolbar>\n <axp-layout-suffix>\n <div class=\"axm-workflow-definition-activities__toolbar-group\">\n <ax-button>\n <ax-icon icon=\"fa-light fa-sliders\"></ax-icon>\n <ax-dropdown-panel>\n <div class=\"axm-workflow-definition-activities__appearance-panel\">\n <label class=\"axm-workflow-definition-activities__pattern-label\" for=\"background-pattern-select\"\n >Background Pattern</label\n >\n <select\n id=\"background-pattern-select\"\n class=\"axm-workflow-definition-activities__pattern-select\"\n [value]=\"backgroundPattern()\"\n (change)=\"onBackgroundPatternChange($event)\"\n >\n <option value=\"dots\">Dots</option>\n <option value=\"line\">Lines</option>\n </select>\n </div>\n </ax-dropdown-panel>\n </ax-button>\n <ax-button (onClick)=\"toggleFullscreen()\">\n <ax-icon>\n <i class=\"fa-solid\" [class]=\"isFullscreen() ? 'fa-compress' : 'fa-expand'\"></i>\n </ax-icon>\n </ax-button>\n <ax-button (onClick)=\"toggleInfoPanel()\">\n <ax-icon [icon]=\"isInfoPanelOpen() ? 'fa-solid fa-square-info' : 'fa-light fa-square-info'\"></ax-icon>\n </ax-button>\n </div>\n </axp-layout-suffix>\n </axp-page-toolbar> -->\n\n<div\n class=\"axm-workflow-definition-activities\"\n [class.axm-workflow-definition-activities--with-palette]=\"isPaletteOpen()\"\n [class.axm-workflow-definition-activities--with-info]=\"isInfoPanelOpen()\"\n>\n @if (isPaletteOpen()) {\n <aside class=\"axm-workflow-definition-activities__palette\">\n <div class=\"axm-workflow-definition-activities__palette-head\">\n <div class=\"axm-workflow-definition-activities__palette-head-row\">\n <h3 class=\"axm-workflow-definition-activities__title\">\n {{\n ('@workflow-management:workflow-definitions.entities.workflow-definition.pages.activities.add-step'\n | translate\n | async) ?? 'Activities'\n }}\n </h3>\n <ax-button [look]=\"'blank'\" class=\"ax-sm rounded-full\" (onClick)=\"closePalette()\">\n <ax-icon icon=\"fa-solid fa-xmark\"></ax-icon>\n </ax-button>\n </div>\n <p class=\"axm-workflow-definition-activities__palette-sub\">\n {{\n ('@workflow-management:workflow-definitions.entities.workflow-definition.pages.activities.connections.hint'\n | translate\n | async) ?? ''\n }}\n </p>\n <ax-search-box\n class=\"axm-workflow-definition-activities__palette-search ax-sm\"\n [value]=\"paletteSearchTerm()\"\n (onValueChanged)=\"onPaletteSearchChange($event)\"\n [placeholder]=\"'@general:search.title' | translate | async\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-search-box>\n </div>\n <div class=\"axm-workflow-definition-activities__palette-list\">\n <div class=\"axm-workflow-definition-activities__accordion-group\" axAccordionGroup [accordion]=\"false\">\n @for (group of filteredPaletteGroups(); track group.id) {\n @if (group.items.length > 0) {\n <section\n class=\"axm-workflow-definition-activities__accordion-item\"\n axAccordionItem\n [isCollapsed]=\"false\"\n #acc=\"axAccordionItem\"\n >\n <header\n class=\"axm-workflow-definition-activities__accordion-header\"\n axAccordionItemHeader\n role=\"button\"\n >\n <div class=\"axm-workflow-definition-activities__accordion-header-main\">\n <span class=\"axm-workflow-definition-activities__accordion-title\">{{ group.title }}</span>\n </div>\n <span class=\"axm-workflow-definition-activities__accordion-chevron\">\n <i [class]=\"acc.isCollapsed() ? 'fa-light fa-chevron-down' : 'fa-light fa-chevron-up'\"></i>\n </span>\n </header>\n <div class=\"axm-workflow-definition-activities__accordion-content\" axAccordionItemContent>\n @for (item of group.items; track item.type) {\n <button\n type=\"button\"\n class=\"axm-workflow-definition-activities__palette-item\"\n [axpWorkflowPaletteItem]=\"item\"\n >\n <span class=\"axm-workflow-definition-activities__palette-item-icon\" aria-hidden=\"true\">\n <i [class]=\"'fa-light ' + item.icon\"></i>\n </span>\n <span class=\"axm-workflow-definition-activities__palette-item-body\">\n <span class=\"axm-workflow-definition-activities__palette-item-title\">{{ item.title }}</span>\n <span class=\"axm-workflow-definition-activities__palette-item-meta\">{{\n item.description\n }}</span>\n </span>\n </button>\n }\n </div>\n </section>\n }\n }\n </div>\n </div>\n </aside>\n }\n\n <div class=\"axm-workflow-definition-activities__main\">\n <section class=\"axm-workflow-definition-activities__canvas\" (contextmenu)=\"onDesignerSurfaceContextMenu($event)\">\n <axp-workflow-designer\n [model]=\"designerModel()\"\n [backgroundPattern]=\"backgroundPattern()\"\n (zoomChange)=\"onDesignerZoomChange($event)\"\n (modelChange)=\"onDesignerModelChange($event)\"\n (activationChange)=\"onDesignerActivationChange($event)\"\n (nodeContextMenu)=\"onDesignerNodeContextMenu($event)\"\n ></axp-workflow-designer>\n <ax-context-menu\n [orientation]=\"'vertical'\"\n [closeOn]=\"'leave'\"\n (onItemClick)=\"handleWorkflowContextMenuItemClick($event)\"\n />\n <axp-layout-floating-zoom-bar\n [zoomLevel]=\"zoomLevel()\"\n (zoomIn)=\"zoomIn()\"\n (zoomOut)=\"zoomOut()\"\n (zoomReset)=\"zoomReset()\"\n />\n </section>\n </div>\n @if (isInfoPanelOpen()) {\n <axp-layout-side-detail-panel\n class=\"axm-workflow-definition-activities__info sticky top-0 z-10 max-h-full flex-none\"\n [header]=\"workflowDetailPanelHeader()\"\n [rows]=\"workflowDetailPanelRows()\"\n [emptyState]=\"workflowDetailPanelEmptyState()\"\n (panelClose)=\"toggleInfoPanel()\"\n />\n }\n</div>\n", styles: ["@layer properties;.axm-workflow-definition-activities{display:grid;height:100%;align-items:stretch;grid-template-columns:minmax(0,1fr);gap:.75rem}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette{display:flex;min-height:0px;flex-direction:column;gap:.75rem;padding:.5rem;border-radius:16px}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-head{display:flex;flex-direction:column;gap:calc(var(--spacing, .25rem) * 2)}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-head-row{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--spacing, .25rem) * 2)}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-sub{margin:0;font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)));line-height:1.35;color:var(--ax-sys-color-on-light-surface)}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-search{width:100%}.axm-workflow-definition-activities .axm-workflow-definition-activities__main{display:flex;min-height:0px;min-width:0px;flex-direction:column;gap:.75rem}.axm-workflow-definition-activities .axm-workflow-definition-activities__toolbar{display:flex;justify-content:flex-end}.axm-workflow-definition-activities .axm-workflow-definition-activities__toolbar-group{display:inline-flex;align-items:center;gap:calc(var(--spacing, .25rem) * 2)}.axm-workflow-definition-activities .axm-workflow-definition-activities__appearance-panel{display:flex;flex-direction:column;gap:.75rem;min-width:220px;padding:.35rem}.axm-workflow-definition-activities .axm-workflow-definition-activities__zoom-actions{display:flex;align-items:center;gap:.4rem}.axm-workflow-definition-activities .axm-workflow-definition-activities__pattern-label{font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)));color:var(--ax-sys-color-on-light-surface)}.axm-workflow-definition-activities .axm-workflow-definition-activities__pattern-select{min-height:34px;border-radius:8px;border:1px solid rgb(var(--ax-sys-color-border-surface));background:rgb(var(--ax-sys-color-surface));color:var(--ax-sys-color-on-surface);padding:0 .5rem}.axm-workflow-definition-activities .axm-workflow-definition-activities__canvas{position:relative;min-height:0px;flex:auto;overflow:hidden;min-height:min(70vh,720px);border-radius:16px;background:var(--ax-sys-color-surface)}.axm-workflow-definition-activities .axm-workflow-definition-activities__canvas axp-axm-workflow-designer{display:block;height:100%;width:100%;min-height:inherit}.axm-workflow-definition-activities .axm-workflow-definition-activities__title{margin:0;--tw-font-weight: var(--font-weight-bold, 700);font-weight:var(--font-weight-bold, 700);font-size:.9375rem;letter-spacing:-.01em;color:var(--ax-sys-color-on-surface)}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-list{display:flex;flex-direction:column;overflow:auto;gap:.45rem;padding-inline-end:2px;margin-inline-end:-2px}.axm-workflow-definition-activities .axm-workflow-definition-activities__accordion-group{display:flex;flex-direction:column;gap:.45rem}.axm-workflow-definition-activities .axm-workflow-definition-activities__accordion-item{overflow:hidden;border-radius:var(--radius-xl, .75rem);transition:border-color .15s ease}.axm-workflow-definition-activities .axm-workflow-definition-activities__accordion-header{display:flex;cursor:pointer;align-items:center;justify-content:space-between;-webkit-user-select:none;user-select:none;gap:.5rem;padding:.62rem .7rem}.axm-workflow-definition-activities .axm-workflow-definition-activities__accordion-header-main{display:inline-flex;min-width:0px;align-items:center;gap:.45rem}.axm-workflow-definition-activities .axm-workflow-definition-activities__accordion-title{font-size:.8125rem;--tw-font-weight: var(--font-weight-bold, 700);font-weight:var(--font-weight-bold, 700);line-height:1.25;color:var(--ax-sys-color-on-surface)}.axm-workflow-definition-activities .axm-workflow-definition-activities__accordion-content{display:flex;flex-direction:column;gap:.4rem}.axm-workflow-definition-activities .axm-workflow-definition-activities__accordion-chevron{font-size:.8rem;--tw-leading: 1;line-height:1;color:var(--ax-sys-color-on-light-surface)}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-item{position:relative;display:flex;width:100%;cursor:grab;align-items:center;text-align:left;gap:.65rem;padding:.4rem .55rem;border-radius:12px;color:var(--ax-sys-color-on-surface);font:inherit;transition:border-color .15s ease}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-item:hover{background-color:rgb(var(--ax-sys-color-primary-50))}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-item:active{cursor:grabbing;background-color:rgb(var(--ax-sys-color-primary-100))}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-item-icon{display:flex;flex-shrink:0;align-items:center;justify-content:center;font-size:var(--text-base, 1rem);line-height:var(--tw-leading, var(--text-base--line-height, 1.5 ));width:2.25rem;height:2.25rem;border-radius:10px;color:rgb(var(--ax-sys-color-primary-600))}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-item-body{display:flex;min-width:0px;flex:1;flex-direction:column;gap:.1rem}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600);line-height:1.25}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-item-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);font-size:.6875rem;color:var(--ax-sys-color-on-light-surface)}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-item-grip{flex-shrink:0;font-size:.85rem;opacity:35%;color:var(--ax-sys-color-on-light-surface)}.axm-workflow-definition-activities .axm-workflow-definition-activities__info{min-height:0px}@media(max-width:1100px){.axm-workflow-definition-activities{grid-template-columns:1fr;min-height:auto}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette{max-height:280px}.axm-workflow-definition-activities .axm-workflow-definition-activities__canvas{min-height:480px}.axm-workflow-definition-activities .axm-workflow-definition-activities__info{max-height:280px}}.axm-workflow-definition-activities--with-palette{grid-template-columns:minmax(260px,300px) minmax(0,1fr)}.axm-workflow-definition-activities--with-info:not(.axm-workflow-definition-activities--with-palette){grid-template-columns:minmax(0,1fr) minmax(260px,320px)}.axm-workflow-definition-activities--with-palette.axm-axm-workflow-definition-activities--with-info{grid-template-columns:minmax(260px,300px) minmax(0,1fr) minmax(260px,320px)}.axm-workflow-definition-activities--fullscreen{position:fixed;z-index:400;box-sizing:border-box;inset:0;height:100vh;background:rgb(var(--ax-sys-color-lightest-surface));padding:.75rem}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-leading{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight: initial;--tw-leading: initial}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] }]
1349
+ }, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: AXPPageLayoutBase, useExisting: AXMWorkflowDefinitionActivitiesPageComponent }], template: "<!-- <axp-page-toolbar>\n <axp-layout-suffix>\n <div class=\"axm-workflow-definition-activities__toolbar-group\">\n <ax-button>\n <ax-icon icon=\"fa-light fa-sliders\"></ax-icon>\n <ax-dropdown-panel>\n <div class=\"axm-workflow-definition-activities__appearance-panel\">\n <label class=\"axm-workflow-definition-activities__pattern-label\" for=\"background-pattern-select\">{{\n '@workflow-management:workflow-definitions.entities.workflow-definition.pages.activities.appearance.background-pattern.label'\n | translate\n | async\n }}</label>\n <select\n id=\"background-pattern-select\"\n class=\"axm-workflow-definition-activities__pattern-select\"\n [value]=\"backgroundPattern()\"\n (change)=\"onBackgroundPatternChange($event)\"\n >\n <option value=\"dots\">\n {{\n '@workflow-management:workflow-definitions.entities.workflow-definition.pages.activities.appearance.background-pattern.options.dots'\n | translate\n | async\n }}\n </option>\n <option value=\"line\">\n {{\n '@workflow-management:workflow-definitions.entities.workflow-definition.pages.activities.appearance.background-pattern.options.lines'\n | translate\n | async\n }}\n </option>\n </select>\n </div>\n </ax-dropdown-panel>\n </ax-button>\n <ax-button (onClick)=\"toggleFullscreen()\">\n <ax-icon>\n <i class=\"fa-solid\" [class]=\"isFullscreen() ? 'fa-compress' : 'fa-expand'\"></i>\n </ax-icon>\n </ax-button>\n <ax-button (onClick)=\"toggleInfoPanel()\">\n <ax-icon [icon]=\"isInfoPanelOpen() ? 'fa-solid fa-square-info' : 'fa-light fa-square-info'\"></ax-icon>\n </ax-button>\n </div>\n </axp-layout-suffix>\n </axp-page-toolbar> -->\n\n<div\n class=\"axm-workflow-definition-activities\"\n [class.axm-workflow-definition-activities--with-palette]=\"isPaletteOpen()\"\n [class.axm-workflow-definition-activities--with-info]=\"isInfoPanelOpen()\"\n>\n @if (isPaletteOpen()) {\n <aside class=\"axm-workflow-definition-activities__palette\">\n <div class=\"axm-workflow-definition-activities__palette-head\">\n <div class=\"axm-workflow-definition-activities__palette-head-row\">\n <h3 class=\"axm-workflow-definition-activities__title\">\n {{\n '@workflow-management:workflow-definitions.entities.workflow-definition.pages.activities.add-step'\n | translate\n | async\n }}\n </h3>\n <ax-button [look]=\"'blank'\" class=\"ax-sm rounded-full\" (onClick)=\"closePalette()\">\n <ax-icon icon=\"fa-solid fa-xmark\"></ax-icon>\n </ax-button>\n </div>\n <p class=\"axm-workflow-definition-activities__palette-sub\">\n {{\n ('@workflow-management:workflow-definitions.entities.workflow-definition.pages.activities.connections.hint'\n | translate\n | async) ?? ''\n }}\n </p>\n <ax-search-box\n class=\"axm-workflow-definition-activities__palette-search ax-sm\"\n [value]=\"paletteSearchTerm()\"\n (onValueChanged)=\"onPaletteSearchChange($event)\"\n [placeholder]=\"'@general:search.title' | translate | async\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-search-box>\n </div>\n <div class=\"axm-workflow-definition-activities__palette-list\">\n <div class=\"axm-workflow-definition-activities__accordion-group\" axAccordionGroup [accordion]=\"false\">\n @for (group of filteredPaletteGroups(); track group.id) {\n @if (group.items.length > 0) {\n <section\n class=\"axm-workflow-definition-activities__accordion-item\"\n axAccordionItem\n [isCollapsed]=\"false\"\n #acc=\"axAccordionItem\"\n >\n <header\n class=\"axm-workflow-definition-activities__accordion-header\"\n axAccordionItemHeader\n role=\"button\"\n >\n <div class=\"axm-workflow-definition-activities__accordion-header-main\">\n <span class=\"axm-workflow-definition-activities__accordion-title\">{{ group.title }}</span>\n </div>\n <span class=\"axm-workflow-definition-activities__accordion-chevron\">\n <i [class]=\"acc.isCollapsed() ? 'fa-light fa-chevron-down' : 'fa-light fa-chevron-up'\"></i>\n </span>\n </header>\n <div class=\"axm-workflow-definition-activities__accordion-content\" axAccordionItemContent>\n @for (item of group.items; track item.type) {\n <button\n type=\"button\"\n class=\"axm-workflow-definition-activities__palette-item\"\n [axpWorkflowPaletteItem]=\"item\"\n >\n <span class=\"axm-workflow-definition-activities__palette-item-icon\" aria-hidden=\"true\">\n <i [class]=\"'fa-light ' + item.icon\"></i>\n </span>\n <span class=\"axm-workflow-definition-activities__palette-item-body\">\n <span class=\"axm-workflow-definition-activities__palette-item-title\">{{ item.title }}</span>\n <span class=\"axm-workflow-definition-activities__palette-item-meta\">{{\n item.description\n }}</span>\n </span>\n </button>\n }\n </div>\n </section>\n }\n }\n </div>\n </div>\n </aside>\n }\n\n <div class=\"axm-workflow-definition-activities__main\">\n <section class=\"axm-workflow-definition-activities__canvas\" (contextmenu)=\"onDesignerSurfaceContextMenu($event)\">\n <axp-workflow-designer\n [model]=\"designerModel()\"\n [backgroundPattern]=\"backgroundPattern()\"\n (zoomChange)=\"onDesignerZoomChange($event)\"\n (modelChange)=\"onDesignerModelChange($event)\"\n (activationChange)=\"onDesignerActivationChange($event)\"\n (nodeContextMenu)=\"onDesignerNodeContextMenu($event)\"\n ></axp-workflow-designer>\n <ax-context-menu\n [orientation]=\"'vertical'\"\n [closeOn]=\"'leave'\"\n (onItemClick)=\"handleWorkflowContextMenuItemClick($event)\"\n />\n <axp-layout-floating-zoom-bar\n [zoomLevel]=\"zoomLevel()\"\n (zoomIn)=\"zoomIn()\"\n (zoomOut)=\"zoomOut()\"\n (zoomReset)=\"zoomReset()\"\n />\n </section>\n </div>\n @if (isInfoPanelOpen()) {\n <axp-layout-side-detail-panel\n class=\"axm-workflow-definition-activities__info sticky top-0 z-10 max-h-full flex-none\"\n [header]=\"workflowDetailPanelHeader()\"\n [rows]=\"workflowDetailPanelRows()\"\n [emptyState]=\"workflowDetailPanelEmptyState()\"\n (panelClose)=\"toggleInfoPanel()\"\n />\n }\n</div>\n", styles: ["@layer properties;.axm-workflow-definition-activities{display:grid;height:100%;align-items:stretch;grid-template-columns:minmax(0,1fr);gap:.75rem}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette{display:flex;min-height:0px;flex-direction:column;gap:.75rem;padding:.5rem;border-radius:16px}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-head{display:flex;flex-direction:column;gap:calc(var(--spacing, .25rem) * 2)}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-head-row{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--spacing, .25rem) * 2)}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-sub{margin:0;font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)));line-height:1.35;color:var(--ax-sys-color-on-light-surface)}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-search{width:100%}.axm-workflow-definition-activities .axm-workflow-definition-activities__main{display:flex;min-height:0px;min-width:0px;flex-direction:column;gap:.75rem}.axm-workflow-definition-activities .axm-workflow-definition-activities__toolbar{display:flex;justify-content:flex-end}.axm-workflow-definition-activities .axm-workflow-definition-activities__toolbar-group{display:inline-flex;align-items:center;gap:calc(var(--spacing, .25rem) * 2)}.axm-workflow-definition-activities .axm-workflow-definition-activities__appearance-panel{display:flex;flex-direction:column;gap:.75rem;min-width:220px;padding:.35rem}.axm-workflow-definition-activities .axm-workflow-definition-activities__zoom-actions{display:flex;align-items:center;gap:.4rem}.axm-workflow-definition-activities .axm-workflow-definition-activities__pattern-label{font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)));color:var(--ax-sys-color-on-light-surface)}.axm-workflow-definition-activities .axm-workflow-definition-activities__pattern-select{min-height:34px;border-radius:8px;border:1px solid rgb(var(--ax-sys-color-border-surface));background:rgb(var(--ax-sys-color-surface));color:var(--ax-sys-color-on-surface);padding:0 .5rem}.axm-workflow-definition-activities .axm-workflow-definition-activities__canvas{position:relative;min-height:0px;flex:auto;overflow:hidden;min-height:min(70vh,720px);border-radius:16px;background:var(--ax-sys-color-surface)}.axm-workflow-definition-activities .axm-workflow-definition-activities__canvas axp-axm-workflow-designer{display:block;height:100%;width:100%;min-height:inherit}.axm-workflow-definition-activities .axm-workflow-definition-activities__title{margin:0;--tw-font-weight: var(--font-weight-bold, 700);font-weight:var(--font-weight-bold, 700);font-size:.9375rem;letter-spacing:-.01em;color:var(--ax-sys-color-on-surface)}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-list{display:flex;flex-direction:column;overflow:auto;gap:.45rem;padding-inline-end:2px;margin-inline-end:-2px}.axm-workflow-definition-activities .axm-workflow-definition-activities__accordion-group{display:flex;flex-direction:column;gap:.45rem}.axm-workflow-definition-activities .axm-workflow-definition-activities__accordion-item{overflow:hidden;border-radius:var(--radius-xl, .75rem);transition:border-color .15s ease}.axm-workflow-definition-activities .axm-workflow-definition-activities__accordion-header{display:flex;cursor:pointer;align-items:center;justify-content:space-between;-webkit-user-select:none;user-select:none;gap:.5rem;padding:.62rem .7rem}.axm-workflow-definition-activities .axm-workflow-definition-activities__accordion-header-main{display:inline-flex;min-width:0px;align-items:center;gap:.45rem}.axm-workflow-definition-activities .axm-workflow-definition-activities__accordion-title{font-size:.8125rem;--tw-font-weight: var(--font-weight-bold, 700);font-weight:var(--font-weight-bold, 700);line-height:1.25;color:var(--ax-sys-color-on-surface)}.axm-workflow-definition-activities .axm-workflow-definition-activities__accordion-content{display:flex;flex-direction:column;gap:.4rem}.axm-workflow-definition-activities .axm-workflow-definition-activities__accordion-chevron{font-size:.8rem;--tw-leading: 1;line-height:1;color:var(--ax-sys-color-on-light-surface)}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-item{position:relative;display:flex;width:100%;cursor:grab;align-items:center;text-align:left;gap:.65rem;padding:.4rem .55rem;border-radius:12px;color:var(--ax-sys-color-on-surface);font:inherit;transition:border-color .15s ease}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-item:hover{background-color:rgb(var(--ax-sys-color-primary-50))}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-item:active{cursor:grabbing;background-color:rgb(var(--ax-sys-color-primary-100))}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-item-icon{display:flex;flex-shrink:0;align-items:center;justify-content:center;font-size:var(--text-base, 1rem);line-height:var(--tw-leading, var(--text-base--line-height, 1.5 ));width:2.25rem;height:2.25rem;border-radius:10px;color:rgb(var(--ax-sys-color-primary-600))}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-item-body{display:flex;min-width:0px;flex:1;flex-direction:column;gap:.1rem}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600);line-height:1.25}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-item-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);font-size:.6875rem;color:var(--ax-sys-color-on-light-surface)}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette-item-grip{flex-shrink:0;font-size:.85rem;opacity:35%;color:var(--ax-sys-color-on-light-surface)}.axm-workflow-definition-activities .axm-workflow-definition-activities__info{min-height:0px}@media(max-width:1100px){.axm-workflow-definition-activities{grid-template-columns:1fr;min-height:auto}.axm-workflow-definition-activities .axm-workflow-definition-activities__palette{max-height:280px}.axm-workflow-definition-activities .axm-workflow-definition-activities__canvas{min-height:480px}.axm-workflow-definition-activities .axm-workflow-definition-activities__info{max-height:280px}}.axm-workflow-definition-activities--with-palette{grid-template-columns:minmax(260px,300px) minmax(0,1fr)}.axm-workflow-definition-activities--with-info:not(.axm-workflow-definition-activities--with-palette){grid-template-columns:minmax(0,1fr) minmax(260px,320px)}.axm-workflow-definition-activities--with-palette.axm-axm-workflow-definition-activities--with-info{grid-template-columns:minmax(260px,300px) minmax(0,1fr) minmax(260px,320px)}.axm-workflow-definition-activities--fullscreen{position:fixed;z-index:400;box-sizing:border-box;inset:0;height:100vh;background:rgb(var(--ax-sys-color-lightest-surface));padding:.75rem}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-leading{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight: initial;--tw-leading: initial}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] }]
1319
1350
  }], ctorParameters: () => [], propDecorators: { rootContext: [{ type: i0.Input, args: [{ isSignal: true, alias: "rootContext", required: false }] }], pageConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageConfig", required: false }] }], propertyViewerRef: [{ type: i0.ViewChild, args: [i0.forwardRef(() => AXPPropertyViewerComponent), { isSignal: true }] }], workflowDesignerRef: [{ type: i0.ViewChild, args: [i0.forwardRef(() => AXPWorkflowDesignerComponent), { isSignal: true }] }], contextMenu: [{ type: i0.ViewChild, args: [i0.forwardRef(() => AXContextMenuComponent), { isSignal: true }] }] } });
1320
1351
 
1321
1352
  var workflowDefinitionActivitiesPage_component = /*#__PURE__*/Object.freeze({
@@ -1324,4 +1355,4 @@ var workflowDefinitionActivitiesPage_component = /*#__PURE__*/Object.freeze({
1324
1355
  });
1325
1356
 
1326
1357
  export { AXMWorkflowDefinitionActivitiesPageComponent, AXMWorkflowDefinitionActivitiesPageComponentProvider, graphHasPersistedDesignerLayout, isDesignerLayoutArranged };
1327
- //# sourceMappingURL=acorex-platform-module-workflow-management-client-index-C7OwbRxk.mjs.map
1358
+ //# sourceMappingURL=acorex-platform-module-workflow-management-client-index-B0-OPKmr.mjs.map