@acorex/connectivity 21.0.0-next.90 → 21.0.0-next.92

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 (32) hide show
  1. package/fesm2022/acorex-connectivity-api.mjs.map +1 -1
  2. package/fesm2022/{acorex-connectivity-mock-acorex-connectivity-mock-Lp5JVZi8.mjs → acorex-connectivity-mock-acorex-connectivity-mock-B5bnzTKN.mjs} +746 -658
  3. package/fesm2022/acorex-connectivity-mock-acorex-connectivity-mock-B5bnzTKN.mjs.map +1 -0
  4. package/fesm2022/{acorex-connectivity-mock-assign-to-manager.activity-dDsWQSTk.mjs → acorex-connectivity-mock-assign-to-manager.activity-Dv7Jzdhf.mjs} +2 -2
  5. package/fesm2022/{acorex-connectivity-mock-assign-to-manager.activity-dDsWQSTk.mjs.map → acorex-connectivity-mock-assign-to-manager.activity-Dv7Jzdhf.mjs.map} +1 -1
  6. package/fesm2022/acorex-connectivity-mock-category-metadata-inheritance.query-CIof4zTg.mjs.map +1 -1
  7. package/fesm2022/acorex-connectivity-mock-category-with-items.query-DAKUJIIt.mjs.map +1 -1
  8. package/fesm2022/{acorex-connectivity-mock-chat-generate-image.command-sPuslYfP.mjs → acorex-connectivity-mock-chat-generate-image.command-C_1j3JPR.mjs} +2 -2
  9. package/fesm2022/{acorex-connectivity-mock-chat-generate-image.command-sPuslYfP.mjs.map → acorex-connectivity-mock-chat-generate-image.command-C_1j3JPR.mjs.map} +1 -1
  10. package/fesm2022/{acorex-connectivity-mock-chat-synthesize-speech.command-CNWePQu6.mjs → acorex-connectivity-mock-chat-synthesize-speech.command-0y5swsxw.mjs} +2 -2
  11. package/fesm2022/{acorex-connectivity-mock-chat-synthesize-speech.command-CNWePQu6.mjs.map → acorex-connectivity-mock-chat-synthesize-speech.command-0y5swsxw.mjs.map} +1 -1
  12. package/fesm2022/{acorex-connectivity-mock-chat-transcribe-speech.command-C5b1_mDb.mjs → acorex-connectivity-mock-chat-transcribe-speech.command-D59NedG-.mjs} +2 -2
  13. package/fesm2022/{acorex-connectivity-mock-chat-transcribe-speech.command-C5b1_mDb.mjs.map → acorex-connectivity-mock-chat-transcribe-speech.command-D59NedG-.mjs.map} +1 -1
  14. package/fesm2022/acorex-connectivity-mock-entity-update.activity-06HTKiQQ.mjs.map +1 -1
  15. package/fesm2022/acorex-connectivity-mock-get-employee-list.query-BWbZj3tp.mjs.map +1 -1
  16. package/fesm2022/acorex-connectivity-mock-get-location-list.query-CQ2rFDUM.mjs.map +1 -1
  17. package/fesm2022/acorex-connectivity-mock-get-product-list.query-o9TcY_RC.mjs.map +1 -1
  18. package/fesm2022/acorex-connectivity-mock-get-subscriptions-timeline.query-D_jVT-7a.mjs.map +1 -1
  19. package/fesm2022/acorex-connectivity-mock-get-tenant-application-access.query-BG6t0137.mjs.map +1 -1
  20. package/fesm2022/acorex-connectivity-mock-get-tenant-registration-timeline.query-COmTsDCV.mjs.map +1 -1
  21. package/fesm2022/acorex-connectivity-mock-get-tenant-user-distribution.query-gqSqvIaa.mjs.map +1 -1
  22. package/fesm2022/acorex-connectivity-mock-index-D0jdkk2E.mjs +99 -0
  23. package/fesm2022/acorex-connectivity-mock-index-D0jdkk2E.mjs.map +1 -0
  24. package/fesm2022/acorex-connectivity-mock-notification-management-email-send.command-Df6E-9-c.mjs.map +1 -1
  25. package/fesm2022/acorex-connectivity-mock-sample.command-CJmDL4pL.mjs.map +1 -1
  26. package/fesm2022/{acorex-connectivity-mock-user-roles-for-list-column.query-_M6LBuCV.mjs → acorex-connectivity-mock-user-roles-for-list-column.query-DVuh_6NC.mjs} +2 -2
  27. package/fesm2022/{acorex-connectivity-mock-user-roles-for-list-column.query-_M6LBuCV.mjs.map → acorex-connectivity-mock-user-roles-for-list-column.query-DVuh_6NC.mjs.map} +1 -1
  28. package/fesm2022/acorex-connectivity-mock.mjs +1 -1
  29. package/package.json +2 -2
  30. package/types/acorex-connectivity-api.d.ts +2 -1
  31. package/types/acorex-connectivity-mock.d.ts +3 -3
  32. package/fesm2022/acorex-connectivity-mock-acorex-connectivity-mock-Lp5JVZi8.mjs.map +0 -1
@@ -2,26 +2,24 @@ import { AXSafePipe } from '@acorex/core/pipes';
2
2
  import * as i2$2 from '@acorex/platform/auth';
3
3
  import { AXPSessionService, AXP_PERMISSION_DEFINITION_PROVIDER, AXPPermissionDefinitionService, AXP_APPLICATION_LOADER, AXP_FEATURE_LOADER, AXP_PERMISSION_LOADER, AXP_TENANT_LOADER, AXP_PERMISSION_CHECKER, AXP_FEATURE_CHECKER, PkceUtil, AXPLoginChallengeComponentBase, AXPLoginChallengeProvider, AXPAuthStrategy, AXPAuthModule, AXP_LOGIN_CHALLENGE_PROVIDER } from '@acorex/platform/auth';
4
4
  import * as i1 from '@acorex/platform/core';
5
- import { isLocaleStringMap, AXPDataGenerator as AXPDataGenerator$1, AXPContextDefinitionProviderService, applyFilterArray, applySortArray, AXP_DISTRIBUTED_EVENT_LISTENER_PROVIDER, AXPIconLogoConfig, AXPModuleManifestRegistry, AXPActivityLogProvider, AXP_ACTIVITY_LOG_PROVIDER, AXP_DATASOURCE_DEFINITION_PROVIDER, AXPDataSourceDefinitionProviderService, AXPExpressionEvaluatorService, getSmart, AXPHookService, AXPIdleSchedulerService, AXPDebugService, provideLazyProvider } from '@acorex/platform/core';
6
- import { runEntityQuery, filterSortEntityRows, computeEntityAggregates, AXP_ENTITY_STORAGE_BACKEND, AXPEntityStorageService, isAXPMiddlewareAbortError, AXPEntityResolver, AXP_ENTITY_DEFINITION_CRUD_SERVICE, AXPEntityService, AXP_ENTITY_DEFINITION_LOADER, AXP_DATA_SEEDER_TOKEN, axpCreateEntityAiToolInputDefaults, AXPMiddlewareAbortError, AXP_ENTITY_STORAGE_MIDDLEWARE, AXPEntityDefinitionRegistryService, cloneLayoutArrays, ensureLayoutSection, ensureLayoutPropertyView, actionExists, AXP_ENTITY_ACTION_PLUGIN, eventDispatchMiddleware, buildAXPRecordWorkflowInfo, AXPDataSeederService } from '@acorex/platform/layout/entity';
5
+ import { AXPContextDefinitionProviderService, applyFilterArray, applySortArray, AXP_DISTRIBUTED_EVENT_LISTENER_PROVIDER, AXPIconLogoConfig, AXPModuleManifestRegistry, AXPActivityLogProvider, AXP_ACTIVITY_LOG_PROVIDER, AXP_DATASOURCE_DEFINITION_PROVIDER, AXPDataSourceDefinitionProviderService, AXPExpressionEvaluatorService, AXPHookService, AXPIdleSchedulerService, AXPDebugService, provideLazyProvider } from '@acorex/platform/core';
6
+ import { runEntityQuery, filterSortEntityRows, computeEntityAggregates, AXP_ENTITY_STORAGE_BACKEND, AXPEntityStorageService, isAXPMiddlewareAbortError, AXPEntityResolver, AXP_ENTITY_DEFINITION_CRUD_SERVICE, AXPEntityService, AXP_ENTITY_DEFINITION_LOADER, AXP_DATA_SEEDER_TOKEN, axpCreateEntityAiToolInputDefaults, AXPMiddlewareAbortError, AXP_ENTITY_STORAGE_MIDDLEWARE, AXPEntityDefinitionRegistryService, cloneLayoutArrays, ensureLayoutSection, ensureLayoutPropertyView, actionExists, AXP_ENTITY_ACTION_PLUGIN, eventDispatchMiddleware, AXPDataSeederService } from '@acorex/platform/layout/entity';
7
7
  import * as i0 from '@angular/core';
8
8
  import { InjectionToken, inject, Injectable, NgModule, isDevMode, Injector, Inject, DestroyRef, APP_INITIALIZER, provideAppInitializer, signal, Component } from '@angular/core';
9
- import { AXP_MENU_PROVIDER, AXPFileStorageService, AXPSettingsService, AXPAppVersionService, searchInRecordValues, AXVChangeType as AXVChangeType$1, AXP_SEARCH_PROVIDER, AXPLockService, AXPVersioningService, AXPBackgroundOperationProvider, AXPBackgroundOperationEntityStoreService, axpBuildBackgroundOperation, axpBackgroundOperationFailurePolicy, axpBackgroundOperationCapabilities, AXP_BACKGROUND_OPERATION_PROVIDERS, AXPEntityCommandScope, AXP_INTEGRATION_SECRET_STORE, AXP_INTEGRATION_OAUTH_SERVICE, AXPStatusDefinitionProviderService } from '@acorex/platform/common';
9
+ import { AXP_MENU_PROVIDER, AXPFileStorageService, AXPSettingsService, AXPAppVersionService, searchInRecordValues, AXVChangeType as AXVChangeType$1, AXP_SEARCH_PROVIDER, AXPLockService, AXPVersioningService, AXPBackgroundOperationProvider, AXPBackgroundOperationEntityStoreService, axpBuildBackgroundOperation, axpBackgroundOperationFailurePolicy, axpBackgroundOperationCapabilities, AXP_BACKGROUND_OPERATION_PROVIDERS, AXP_INTEGRATION_SECRET_STORE, AXP_INTEGRATION_OAUTH_SERVICE, AXPStatusDefinitionProviderService } from '@acorex/platform/common';
10
10
  import { provideCommandSetups, provideQuerySetups, AXPCommandService, AXPQueryService, AXPRuntimeModule } from '@acorex/platform/runtime';
11
11
  import { getApps, getApp, initializeApp } from 'firebase/app';
12
12
  import * as i1$1 from 'firebase/firestore';
13
13
  import { collection, getDocs, query, limit, writeBatch, where, doc, getDoc, updateDoc, deleteDoc, setDoc, getFirestore, orderBy, addDoc } from 'firebase/firestore';
14
- import { AXPDataGenerator, resolveMultiLanguageString, AXPSystemStatusType, createMultiLanguageString as createMultiLanguageString$1, AXPFileStorageStatus, AXPWidgetsCatalog, AXPPlatformScope, AXPWidgetsList, AXP_INTEGRATION_AUTH_METHOD_TYPE, AXP_INTEGRATION_CONNECTION_STATUS, AXPSystemStatuses } from '@acorex/platform/contracts';
14
+ import { AXPDataGenerator, isLocaleStringMap, resolveMultiLanguageString, createMultiLanguageString, AXPSystemStatusType, AXPFileStorageStatus, AXPWidgetsCatalog, AXPPlatformScope, getSmart, AXPWidgetsList, AXP_INTEGRATION_AUTH_METHOD_TYPE, AXP_INTEGRATION_CONNECTION_STATUS, AXPSystemStatuses } from '@acorex/platform/contracts';
15
15
  import Dexie from 'dexie';
16
- import { collectEntityQuickSearchFieldPaths } from '@acorex/platform/layout/entity-contracts';
16
+ import { collectEntityQuickSearchFieldPaths, AXPEntityCommandScope, buildAXPRecordWorkflowInfo } from '@acorex/platform/layout/entity-contracts';
17
17
  import { get, castArray, isString, isEmpty, trim, defaultTo, orderBy as orderBy$1, isArray, set } from 'lodash-es';
18
18
  import { AXP_WIDGET_DEFINITION_PROVIDER, AXPWidgetRegistryService } from '@acorex/platform/layout/widget-core';
19
19
  import { providePropertiesFromFactory, AXP_ENTITY_DEFINITION_CRUD_SERVICE as AXP_ENTITY_DEFINITION_CRUD_SERVICE$1 } from '@acorex/platform/domain';
20
20
  import { RootConfig, AXPHumanCapitalManagementFeatureKeys, HCM_CATALOG_SCOPE_HR, AXMPermissionsKeys as AXMPermissionsKeys$3, AXM_POSITION_ASSIGNMENT_OVERLAPPING_STATUS_IDS } from '@acorex/modules/human-capital-management';
21
21
  import { AXMAttendanceAbsenceTypeNone, AXMAttendanceDailySummaryCalculatedStatusId, RootConfig as RootConfig$1 } from '@acorex/modules/attendance-management';
22
22
  import { RootConfig as RootConfig$2 } from '@acorex/modules/timesheet-management';
23
- import * as i2$1 from '@acorex/core/translation';
24
- import { createMultiLanguageString, AXTranslationService, resolveMultiLanguageString as resolveMultiLanguageString$1, AXTranslationModule } from '@acorex/core/translation';
25
23
  import { RootConfig as RootConfig$3, axpAiChatMessageIsDelegatedReflectionExcluded, axpAiChatTextMessage, axpAiChatMessageGetText, AIMANAGEMENT_CHAT_GENERATE_IMAGE_COMMAND_KEY, AIMANAGEMENT_CHAT_TRANSCRIBE_SPEECH_COMMAND_KEY, AIMANAGEMENT_CHAT_SYNTHESIZE_SPEECH_COMMAND_KEY, axpAiChatToolResultBodyJson, getAiChatCommandLlmParametersOverride, AXPAiManagementSettings, axpAiChatToolOrAgentResultBodyJson, AXPAiChatToolRunContextService, modelRowHasPurpose, isChatPurposeModelRow, resolveAgentOutputContract, resolveOutputTranscriptSegment, validateAgainstContract, axpAiAgentOutputContractUsesStructuredFinalize, axpAiAgentOutputContractStructuredRetryCap, extractLastAssistantStructuredParts, buildStructuredOutputRetryUserText, axpAiParseSupervisorAgentToolName as axpAiParseSupervisorAgentToolName$1, deriveProviderResponseFormat, axpAiAgentOutputContractOmitsRoleBaseline, axpAiDelegatedAgentOutcomeResponsesPlainText, axpBuildDelegatedAgentRunInputSnapshot, axpSanitizeLastProviderPayloadForPersistence, AXPAiEngine, AXPAiOutputContractResolveService, AXMPermissionsKeys as AXMPermissionsKeys$6, createBrowserPlayableTtsBlobUrl, AXPAiPlatformRuntimeContextBuilder, AXPAiAssistChatModelCatalogService, axpAiAssistInitialMessagesToTranscript, axpAiChatUserMessage } from '@acorex/modules/ai-management';
26
24
  import { RootConfig as RootConfig$4, AXMPermissionsKeys as AXMPermissionsKeys$7 } from '@acorex/modules/application-management';
27
25
  import { AXMAssetManagementFeatureKeys, RootConfig as RootConfig$6, AXMAssetManagementPermissionKeys, AXMAssetStatus } from '@acorex/modules/asset-management';
@@ -47,6 +45,8 @@ import { AXMPersonCorePermissionKeys, RootConfig as RootConfig$x } from '@acorex
47
45
  import { AXMLocationManagementPermissionsKeys, RootConfig as RootConfig$t } from '@acorex/modules/location-management';
48
46
  import { AXMPermissionsKeys as AXMPermissionsKeys$5, RootConfig as RootConfig$b } from '@acorex/modules/calendar-management';
49
47
  import { RootConfig as RootConfig$a } from '@acorex/modules/business-core';
48
+ import * as i2$1 from '@acorex/core/translation';
49
+ import { AXTranslationService, AXTranslationModule } from '@acorex/core/translation';
50
50
  import { AXFileService } from '@acorex/core/file';
51
51
  import { RootConfig as RootConfig$d, resolveTextTemplateLocalizedString, replaceTextTemplatePlaceholders, AXC_TEXT_TEMPLATE_RENDER_COMMAND_KEY } from '@acorex/modules/content-management';
52
52
  import { AXUploaderService } from '@acorex/cdk/uploader';
@@ -83,7 +83,7 @@ import { RootConfig as RootConfig$v, AXMMeetingStatusProvider } from '@acorex/mo
83
83
  import { AXLoadingDialogService } from '@acorex/components/loading-dialog';
84
84
  import { RootConfig as RootConfig$y } from '@acorex/modules/platform-management';
85
85
  import { RootConfig as RootConfig$z } from '@acorex/modules/procurement-management';
86
- import { RootConfig as RootConfig$A } from '@acorex/modules/product-catalog';
86
+ import { RootConfig as RootConfig$A, AXM_PRODUCT_HISTORY_BAR_CHART_WIDGET_OPTIONS } from '@acorex/modules/product-catalog';
87
87
  import { RootConfig as RootConfig$C } from '@acorex/modules/project-management';
88
88
  import { RootConfig as RootConfig$D } from '@acorex/modules/reservation-management';
89
89
  import * as i1$3 from '@acorex/components/dialog';
@@ -13586,7 +13586,7 @@ class AXMTimeEntryDataSeeder {
13586
13586
  const today = new Date().toISOString().slice(0, 10);
13587
13587
  const rows = [
13588
13588
  {
13589
- id: AXPDataGenerator$1.uuid(),
13589
+ id: AXPDataGenerator.uuid(),
13590
13590
  employeeId: employee.id,
13591
13591
  periodId,
13592
13592
  workItemId: WORK_ITEM_MOCK_IDS.internalDev,
@@ -13668,7 +13668,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
13668
13668
 
13669
13669
  const TIMESHEET_POLICY_MOCK = [
13670
13670
  {
13671
- id: AXPDataGenerator$1.uuid(),
13671
+ id: AXPDataGenerator.uuid(),
13672
13672
  name: 'default',
13673
13673
  maxDailyHours: 12,
13674
13674
  maxWeeklyHours: 60,
@@ -13735,7 +13735,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
13735
13735
 
13736
13736
  //#region ---- Imports ----
13737
13737
  //#endregion
13738
- const M$1y = createMultiLanguageString$1;
13738
+ const M$1y = createMultiLanguageString;
13739
13739
  //#region ---- Stable IDs ----
13740
13740
  /**
13741
13741
  * Fixed UUIDs for OpenAI endpoint rows (referenced from AI model catalog).
@@ -13818,7 +13818,7 @@ const OPEN_AI_ENDPOINT_MOCK = [
13818
13818
 
13819
13819
  //#region ---- Imports ----
13820
13820
  //#endregion
13821
- const M$1x = createMultiLanguageString$1;
13821
+ const M$1x = createMultiLanguageString;
13822
13822
  //#region ---- Stable IDs (seed + assist references) ----
13823
13823
  /**
13824
13824
  * Fixed UUIDs so assists and settings can reference models deterministically across reseeds.
@@ -14593,7 +14593,7 @@ const AXM_PLATFORM_ENTITY_AGENT_OUTPUT_CONTRACT_JSON = JSON.stringify(AXM_PLATFO
14593
14593
 
14594
14594
  //#region ---- Imports ----
14595
14595
  //#endregion
14596
- const M$1w = createMultiLanguageString$1;
14596
+ const M$1w = createMultiLanguageString;
14597
14597
  //#region ---- Helpers ----
14598
14598
  function aiAgentCommandBinding(registryId, options = {}) {
14599
14599
  return {
@@ -15201,7 +15201,7 @@ const AI_AGENT_MOCK = [
15201
15201
 
15202
15202
  //#region ---- Imports ----
15203
15203
  //#endregion
15204
- const M$1v = createMultiLanguageString$1;
15204
+ const M$1v = createMultiLanguageString;
15205
15205
  //#region ---- Helpers ----
15206
15206
  function aiModelRef(catalogId) {
15207
15207
  const row = AI_MODEL_MOCK.find((m) => m.id === catalogId);
@@ -22752,7 +22752,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
22752
22752
 
22753
22753
  //#region ---- Imports ----
22754
22754
  //#endregion
22755
- const M$1u = createMultiLanguageString$1;
22755
+ const M$1u = createMultiLanguageString;
22756
22756
  //#region ---- Stable ids ----
22757
22757
  const AXMAiRuleMarkdownId = 'd0000001-0000-4000-8000-000000000001';
22758
22758
  /** Programmatic rule name for user-visible Markdown formatting. */
@@ -23071,7 +23071,7 @@ class AXCAiManagementMockModule {
23071
23071
  provideCommandSetups([
23072
23072
  {
23073
23073
  key: 'AiManagement:ChatGenerateImage',
23074
- command: () => import('./acorex-connectivity-mock-chat-generate-image.command-sPuslYfP.mjs').then((c) => c.AiManagementChatGenerateImageCommand),
23074
+ command: () => import('./acorex-connectivity-mock-chat-generate-image.command-C_1j3JPR.mjs').then((c) => c.AiManagementChatGenerateImageCommand),
23075
23075
  },
23076
23076
  {
23077
23077
  key: 'AiManagement:ExtractDocumentText',
@@ -23083,11 +23083,11 @@ class AXCAiManagementMockModule {
23083
23083
  },
23084
23084
  {
23085
23085
  key: 'AiManagement:ChatTranscribeSpeech',
23086
- command: () => import('./acorex-connectivity-mock-chat-transcribe-speech.command-C5b1_mDb.mjs').then((c) => c.AiManagementChatTranscribeSpeechCommand),
23086
+ command: () => import('./acorex-connectivity-mock-chat-transcribe-speech.command-D59NedG-.mjs').then((c) => c.AiManagementChatTranscribeSpeechCommand),
23087
23087
  },
23088
23088
  {
23089
23089
  key: 'AiManagement:ChatSynthesizeSpeech',
23090
- command: () => import('./acorex-connectivity-mock-chat-synthesize-speech.command-CNWePQu6.mjs').then((c) => c.AiManagementChatSynthesizeSpeechCommand),
23090
+ command: () => import('./acorex-connectivity-mock-chat-synthesize-speech.command-0y5swsxw.mjs').then((c) => c.AiManagementChatSynthesizeSpeechCommand),
23091
23091
  },
23092
23092
  ]),
23093
23093
  ] }); }
@@ -23140,7 +23140,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
23140
23140
  provideCommandSetups([
23141
23141
  {
23142
23142
  key: 'AiManagement:ChatGenerateImage',
23143
- command: () => import('./acorex-connectivity-mock-chat-generate-image.command-sPuslYfP.mjs').then((c) => c.AiManagementChatGenerateImageCommand),
23143
+ command: () => import('./acorex-connectivity-mock-chat-generate-image.command-C_1j3JPR.mjs').then((c) => c.AiManagementChatGenerateImageCommand),
23144
23144
  },
23145
23145
  {
23146
23146
  key: 'AiManagement:ExtractDocumentText',
@@ -23152,11 +23152,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
23152
23152
  },
23153
23153
  {
23154
23154
  key: 'AiManagement:ChatTranscribeSpeech',
23155
- command: () => import('./acorex-connectivity-mock-chat-transcribe-speech.command-C5b1_mDb.mjs').then((c) => c.AiManagementChatTranscribeSpeechCommand),
23155
+ command: () => import('./acorex-connectivity-mock-chat-transcribe-speech.command-D59NedG-.mjs').then((c) => c.AiManagementChatTranscribeSpeechCommand),
23156
23156
  },
23157
23157
  {
23158
23158
  key: 'AiManagement:ChatSynthesizeSpeech',
23159
- command: () => import('./acorex-connectivity-mock-chat-synthesize-speech.command-CNWePQu6.mjs').then((c) => c.AiManagementChatSynthesizeSpeechCommand),
23159
+ command: () => import('./acorex-connectivity-mock-chat-synthesize-speech.command-0y5swsxw.mjs').then((c) => c.AiManagementChatSynthesizeSpeechCommand),
23160
23160
  },
23161
23161
  ]),
23162
23162
  ],
@@ -23164,7 +23164,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
23164
23164
  }] });
23165
23165
 
23166
23166
  //#region ---- Helpers ----
23167
- const M$1t = createMultiLanguageString$1;
23167
+ const M$1t = createMultiLanguageString;
23168
23168
  //#endregion
23169
23169
  //#region ---- Category IDs (stable seeds for Application rows) ----
23170
23170
  /** Stable UUIDs for ApplicationManagement.ApplicationCategory demo data. */
@@ -24489,8 +24489,8 @@ const compliancePermitsQuestionBankItems = [
24489
24489
  {
24490
24490
  id: AXPDataGenerator.uuid(),
24491
24491
  name: 'comp_governance',
24492
- title: createMultiLanguageString$1('Governance score (1–5)', 'امتیاز حاکمیت (۱–۵)'),
24493
- question: createMultiLanguageString$1('<p>How strong is <strong>visible safety governance</strong> on this site (walks, actions, resources)? 1 weak, 5 strong.</p>', '<p>قدرت <strong>حاکمیت ایمنی آشکار</strong> در این سایت (گشت، اقدامات، منابع) چقدر است؟ ۱ ضعیف، ۵ قوی.</p>'),
24492
+ title: createMultiLanguageString('Governance score (1–5)', 'امتیاز حاکمیت (۱–۵)'),
24493
+ question: createMultiLanguageString('<p>How strong is <strong>visible safety governance</strong> on this site (walks, actions, resources)? 1 weak, 5 strong.</p>', '<p>قدرت <strong>حاکمیت ایمنی آشکار</strong> در این سایت (گشت، اقدامات، منابع) چقدر است؟ ۱ ضعیف، ۵ قوی.</p>'),
24494
24494
  interface: addPathToInterface(ratingInterface, 'answers.comp_governance'),
24495
24495
  difficulty: 'easy',
24496
24496
  estimatedTime: 45,
@@ -24502,8 +24502,8 @@ const compliancePermitsQuestionBankItems = [
24502
24502
  {
24503
24503
  id: AXPDataGenerator.uuid(),
24504
24504
  name: 'comp_months_drill',
24505
- title: createMultiLanguageString$1('Months since drill', 'ماه از آخرین مانور'),
24506
- question: createMultiLanguageString$1('<p>Approximate <strong>months since the last relevant emergency drill</strong> for your area (enter a number).</p>', '<p>تقریبی از <strong>ماه‌های گذشته از آخرین مانور اضطراری مرتبط</strong> با حوزهٔ شما (عدد وارد کنید).</p>'),
24505
+ title: createMultiLanguageString('Months since drill', 'ماه از آخرین مانور'),
24506
+ question: createMultiLanguageString('<p>Approximate <strong>months since the last relevant emergency drill</strong> for your area (enter a number).</p>', '<p>تقریبی از <strong>ماه‌های گذشته از آخرین مانور اضطراری مرتبط</strong> با حوزهٔ شما (عدد وارد کنید).</p>'),
24507
24507
  interface: addPathToInterface(numberInterface, 'answers.comp_months_drill'),
24508
24508
  difficulty: 'easy',
24509
24509
  estimatedTime: 45,
@@ -24515,8 +24515,8 @@ const compliancePermitsQuestionBankItems = [
24515
24515
  {
24516
24516
  id: AXPDataGenerator.uuid(),
24517
24517
  name: 'comp_followup',
24518
- title: createMultiLanguageString$1('Follow-up actions', 'اقدامات پیگیری'),
24519
- question: createMultiLanguageString$1('<p>List any <strong>open permit, audit, or regulatory follow-ups</strong> you are aware of for this area.</p>', '<p>هر <strong>مجوز باز، ممیزی یا پیگیری مقرراتی</strong> که در این حوزه می‌شناسید را فهرست کنید.</p>'),
24518
+ title: createMultiLanguageString('Follow-up actions', 'اقدامات پیگیری'),
24519
+ question: createMultiLanguageString('<p>List any <strong>open permit, audit, or regulatory follow-ups</strong> you are aware of for this area.</p>', '<p>هر <strong>مجوز باز، ممیزی یا پیگیری مقرراتی</strong> که در این حوزه می‌شناسید را فهرست کنید.</p>'),
24520
24520
  interface: addPathToInterface(longTextAnswerInterface, 'answers.comp_followup'),
24521
24521
  difficulty: 'easy',
24522
24522
  estimatedTime: 90,
@@ -24528,8 +24528,8 @@ const compliancePermitsQuestionBankItems = [
24528
24528
  {
24529
24529
  id: AXPDataGenerator.uuid(),
24530
24530
  name: 'comp_audit_ready',
24531
- title: createMultiLanguageString$1('Audit-ready documentation', 'مستندات آمادهٔ ممیزی'),
24532
- question: createMultiLanguageString$1('<p>Is your area <strong>audit-ready</strong> (records complete, permits current, training evidence on file)?</p>', '<p>آیا حوزهٔ شما <strong>آمادهٔ ممیزی</strong> است (سوابق کامل، مجوزها به‌روز، مدارک آموزش در پرونده)؟</p>'),
24531
+ title: createMultiLanguageString('Audit-ready documentation', 'مستندات آمادهٔ ممیزی'),
24532
+ question: createMultiLanguageString('<p>Is your area <strong>audit-ready</strong> (records complete, permits current, training evidence on file)?</p>', '<p>آیا حوزهٔ شما <strong>آمادهٔ ممیزی</strong> است (سوابق کامل، مجوزها به‌روز، مدارک آموزش در پرونده)؟</p>'),
24533
24533
  interface: addPathToInterface(yesNoInterface, 'answers.comp_audit_ready'),
24534
24534
  difficulty: 'easy',
24535
24535
  estimatedTime: 45,
@@ -24541,8 +24541,8 @@ const compliancePermitsQuestionBankItems = [
24541
24541
  {
24542
24542
  id: AXPDataGenerator.uuid(),
24543
24543
  name: 'comp_audit_findings',
24544
- title: createMultiLanguageString$1('Documentation gaps', 'شکاف‌های مستندات'),
24545
- question: createMultiLanguageString$1('<p>If not fully audit-ready, summarize <strong>missing records, expired items, or open findings</strong>.</p>', '<p>در صورت نبود آمادگی کامل، <strong>سوابق مفقود، موارد منقضی یا یافته‌های باز</strong> را خلاصه کنید.</p>'),
24544
+ title: createMultiLanguageString('Documentation gaps', 'شکاف‌های مستندات'),
24545
+ question: createMultiLanguageString('<p>If not fully audit-ready, summarize <strong>missing records, expired items, or open findings</strong>.</p>', '<p>در صورت نبود آمادگی کامل، <strong>سوابق مفقود، موارد منقضی یا یافته‌های باز</strong> را خلاصه کنید.</p>'),
24546
24546
  interface: addPathToInterface(longTextAnswerInterface, 'answers.comp_audit_findings'),
24547
24547
  difficulty: 'easy',
24548
24548
  estimatedTime: 120,
@@ -24554,8 +24554,8 @@ const compliancePermitsQuestionBankItems = [
24554
24554
  {
24555
24555
  id: AXPDataGenerator.uuid(),
24556
24556
  name: 'comp_permit_valid',
24557
- title: createMultiLanguageString$1('Permits current', 'مجوزها معتبر'),
24558
- question: createMultiLanguageString$1('<p>Are <strong>permits, licenses, or exemptions</strong> required for your work <strong>current and on file</strong>?</p>', '<p>آیا <strong>مجوزها، پروانه‌ها یا معافیت‌های</strong> لازم برای کار شما <strong>معتبر و در پرونده</strong> هستند؟</p>'),
24557
+ title: createMultiLanguageString('Permits current', 'مجوزها معتبر'),
24558
+ question: createMultiLanguageString('<p>Are <strong>permits, licenses, or exemptions</strong> required for your work <strong>current and on file</strong>?</p>', '<p>آیا <strong>مجوزها، پروانه‌ها یا معافیت‌های</strong> لازم برای کار شما <strong>معتبر و در پرونده</strong> هستند؟</p>'),
24559
24559
  interface: addPathToInterface(yesNoInterface, 'answers.comp_permit_valid'),
24560
24560
  difficulty: 'easy',
24561
24561
  estimatedTime: 45,
@@ -24567,8 +24567,8 @@ const compliancePermitsQuestionBankItems = [
24567
24567
  {
24568
24568
  id: AXPDataGenerator.uuid(),
24569
24569
  name: 'comp_permit_remediation',
24570
- title: createMultiLanguageString$1('Permit remediation plan', 'برنامه اصلاح مجوز'),
24571
- question: createMultiLanguageString$1('<p>If permits are missing or expired, what is the <strong>planned action and owner</strong>?</p>', '<p>در صورت نبود یا انقضای مجوز، <strong>اقدام برنامه‌ریزی‌شده و مسئول</strong> چیست؟</p>'),
24570
+ title: createMultiLanguageString('Permit remediation plan', 'برنامه اصلاح مجوز'),
24571
+ question: createMultiLanguageString('<p>If permits are missing or expired, what is the <strong>planned action and owner</strong>?</p>', '<p>در صورت نبود یا انقضای مجوز، <strong>اقدام برنامه‌ریزی‌شده و مسئول</strong> چیست؟</p>'),
24572
24572
  interface: addPathToInterface(longTextAnswerInterface, 'answers.comp_permit_remediation'),
24573
24573
  difficulty: 'easy',
24574
24574
  estimatedTime: 120,
@@ -24580,8 +24580,8 @@ const compliancePermitsQuestionBankItems = [
24580
24580
  {
24581
24581
  id: AXPDataGenerator.uuid(),
24582
24582
  name: 'comp_training_current',
24583
- title: createMultiLanguageString$1('Role training currency (1–5)', 'به‌روز بودن آموزش نقش (۱–۵)'),
24584
- question: createMultiLanguageString$1('<p>How current is <strong>mandatory role training</strong> (matrix green / no overdue)? 1 = many gaps, 5 = fully current.</p>', '<p><strong>آموزش اجباری نقش</strong> چقدر به‌روز است؟ ۱ = شکاف زیاد، ۵ = کاملاً به‌روز.</p>'),
24583
+ title: createMultiLanguageString('Role training currency (1–5)', 'به‌روز بودن آموزش نقش (۱–۵)'),
24584
+ question: createMultiLanguageString('<p>How current is <strong>mandatory role training</strong> (matrix green / no overdue)? 1 = many gaps, 5 = fully current.</p>', '<p><strong>آموزش اجباری نقش</strong> چقدر به‌روز است؟ ۱ = شکاف زیاد، ۵ = کاملاً به‌روز.</p>'),
24585
24585
  interface: addPathToInterface(ratingInterface, 'answers.comp_training_current'),
24586
24586
  difficulty: 'easy',
24587
24587
  estimatedTime: 45,
@@ -24598,8 +24598,8 @@ const generalQuestionBankItems = [
24598
24598
  {
24599
24599
  id: AXPDataGenerator.uuid(),
24600
24600
  name: 'gen_worksite',
24601
- title: createMultiLanguageString$1('Primary worksite', 'محل کار اصلی'),
24602
- question: createMultiLanguageString$1('<p>Which <strong>site, plant, or facility</strong> are you reporting for? Include the official site or cost code if known.</p>', '<p>برای کدام <strong>سایت، کارخانه یا تاسیسات</strong> گزارش می‌دهید؟ در صورت امکان نام رسمی سایت یا کد هزینه را ذکر کنید.</p>'),
24601
+ title: createMultiLanguageString('Primary worksite', 'محل کار اصلی'),
24602
+ question: createMultiLanguageString('<p>Which <strong>site, plant, or facility</strong> are you reporting for? Include the official site or cost code if known.</p>', '<p>برای کدام <strong>سایت، کارخانه یا تاسیسات</strong> گزارش می‌دهید؟ در صورت امکان نام رسمی سایت یا کد هزینه را ذکر کنید.</p>'),
24603
24603
  interface: addPathToInterface(longTextAnswerInterface, 'answers.gen_worksite'),
24604
24604
  difficulty: 'easy',
24605
24605
  estimatedTime: 60,
@@ -24611,8 +24611,8 @@ const generalQuestionBankItems = [
24611
24611
  {
24612
24612
  id: AXPDataGenerator.uuid(),
24613
24613
  name: 'gen_role',
24614
- title: createMultiLanguageString$1('Role / trade', 'نقش / شغل'),
24615
- question: createMultiLanguageString$1('<p>What is your <strong>current role or trade</strong> for this assessment?</p>', '<p><strong>نقش یا شغل فعلی</strong> شما برای این ارزیابی چیست؟</p>'),
24614
+ title: createMultiLanguageString('Role / trade', 'نقش / شغل'),
24615
+ question: createMultiLanguageString('<p>What is your <strong>current role or trade</strong> for this assessment?</p>', '<p><strong>نقش یا شغل فعلی</strong> شما برای این ارزیابی چیست؟</p>'),
24616
24616
  interface: addPathToInterface(longTextAnswerInterface, 'answers.gen_role'),
24617
24617
  difficulty: 'easy',
24618
24618
  estimatedTime: 60,
@@ -24624,8 +24624,8 @@ const generalQuestionBankItems = [
24624
24624
  {
24625
24625
  id: AXPDataGenerator.uuid(),
24626
24626
  name: 'gen_concern_today',
24627
- title: createMultiLanguageString$1('Top concern today', 'مهم‌ترین نگرانی امروز'),
24628
- question: createMultiLanguageString$1('<p>In one or two sentences, what is your <strong>main WHS or operational concern</strong> for today’s shift?</p>', '<p>در یک یا دو جمله، <strong>مهم‌ترین نگرانی ایمنی یا عملیاتی</strong> شما برای شیفت امروز چیست؟</p>'),
24627
+ title: createMultiLanguageString('Top concern today', 'مهم‌ترین نگرانی امروز'),
24628
+ question: createMultiLanguageString('<p>In one or two sentences, what is your <strong>main WHS or operational concern</strong> for today’s shift?</p>', '<p>در یک یا دو جمله، <strong>مهم‌ترین نگرانی ایمنی یا عملیاتی</strong> شما برای شیفت امروز چیست؟</p>'),
24629
24629
  interface: addPathToInterface(longTextAnswerInterface, 'answers.gen_concern_today'),
24630
24630
  difficulty: 'easy',
24631
24631
  estimatedTime: 90,
@@ -24637,8 +24637,8 @@ const generalQuestionBankItems = [
24637
24637
  {
24638
24638
  id: AXPDataGenerator.uuid(),
24639
24639
  name: 'gen_brief_ok',
24640
- title: createMultiLanguageString$1('Safety brief', 'توجیه ایمنی'),
24641
- question: createMultiLanguageString$1('<p>Have you received a <strong>site- or task-specific safety brief</strong> that covers relevant hazards and controls?</p>', '<p>آیا <strong>توجیه ایمنی مخصوص سایت یا وظیفه</strong> دریافت کرده‌اید که خطرات و کنترل‌های مرتبط را پوشش دهد؟</p>'),
24640
+ title: createMultiLanguageString('Safety brief', 'توجیه ایمنی'),
24641
+ question: createMultiLanguageString('<p>Have you received a <strong>site- or task-specific safety brief</strong> that covers relevant hazards and controls?</p>', '<p>آیا <strong>توجیه ایمنی مخصوص سایت یا وظیفه</strong> دریافت کرده‌اید که خطرات و کنترل‌های مرتبط را پوشش دهد؟</p>'),
24642
24642
  interface: addPathToInterface(yesNoInterface, 'answers.gen_brief_ok'),
24643
24643
  difficulty: 'easy',
24644
24644
  estimatedTime: 30,
@@ -24650,8 +24650,8 @@ const generalQuestionBankItems = [
24650
24650
  {
24651
24651
  id: AXPDataGenerator.uuid(),
24652
24652
  name: 'gen_shift_date',
24653
- title: createMultiLanguageString$1('Shift / visit date', 'تاریخ شیفت / بازدید'),
24654
- question: createMultiLanguageString$1('<p>Date this <strong>check-in applies to</strong> (today or your last shift).</p>', '<p>تاریخی که این <strong>ثبت حضور</strong> به آن تعلق دارد (امروز یا آخرین شیفت).</p>'),
24653
+ title: createMultiLanguageString('Shift / visit date', 'تاریخ شیفت / بازدید'),
24654
+ question: createMultiLanguageString('<p>Date this <strong>check-in applies to</strong> (today or your last shift).</p>', '<p>تاریخی که این <strong>ثبت حضور</strong> به آن تعلق دارد (امروز یا آخرین شیفت).</p>'),
24655
24655
  interface: addPathToInterface(dateInterface, 'answers.gen_shift_date'),
24656
24656
  difficulty: 'easy',
24657
24657
  estimatedTime: 30,
@@ -24663,8 +24663,8 @@ const generalQuestionBankItems = [
24663
24663
  {
24664
24664
  id: AXPDataGenerator.uuid(),
24665
24665
  name: 'gen_brief_gap',
24666
- title: createMultiLanguageString$1('Brief gap', 'شکاف توجیه'),
24667
- question: createMultiLanguageString$1('<p>If the brief was <strong>missing or incomplete</strong>, what should have been covered?</p>', '<p>اگر توجیه <strong>نبود یا ناقص بود</strong>، چه مواردی باید پوشش داده می‌شد؟</p>'),
24666
+ title: createMultiLanguageString('Brief gap', 'شکاف توجیه'),
24667
+ question: createMultiLanguageString('<p>If the brief was <strong>missing or incomplete</strong>, what should have been covered?</p>', '<p>اگر توجیه <strong>نبود یا ناقص بود</strong>، چه مواردی باید پوشش داده می‌شد؟</p>'),
24668
24668
  interface: addPathToInterface(longTextAnswerInterface, 'answers.gen_brief_gap'),
24669
24669
  difficulty: 'easy',
24670
24670
  estimatedTime: 90,
@@ -24676,8 +24676,8 @@ const generalQuestionBankItems = [
24676
24676
  {
24677
24677
  id: AXPDataGenerator.uuid(),
24678
24678
  name: 'gen_priority_clarity',
24679
- title: createMultiLanguageString$1('Priority clarity (1–5)', 'شفافیت اولویت‌ها (۱–۵)'),
24680
- question: createMultiLanguageString$1('<p>How clear are <strong>today’s top priorities</strong> from your manager or plan? 1 = unclear, 5 = very clear.</p>', '<p>تا چه حد <strong>اولویت‌های امروز</strong> از مدیر یا برنامه برای شما روشن است؟ ۱ = نامشخص، ۵ = بسیار روشن.</p>'),
24679
+ title: createMultiLanguageString('Priority clarity (1–5)', 'شفافیت اولویت‌ها (۱–۵)'),
24680
+ question: createMultiLanguageString('<p>How clear are <strong>today’s top priorities</strong> from your manager or plan? 1 = unclear, 5 = very clear.</p>', '<p>تا چه حد <strong>اولویت‌های امروز</strong> از مدیر یا برنامه برای شما روشن است؟ ۱ = نامشخص، ۵ = بسیار روشن.</p>'),
24681
24681
  interface: addPathToInterface(ratingInterface, 'answers.gen_priority_clarity'),
24682
24682
  difficulty: 'easy',
24683
24683
  estimatedTime: 45,
@@ -24689,8 +24689,8 @@ const generalQuestionBankItems = [
24689
24689
  {
24690
24690
  id: AXPDataGenerator.uuid(),
24691
24691
  name: 'gen_manager_support',
24692
- title: createMultiLanguageString$1('Support from leadership (1–5)', 'حمایت از رهبری (۱–۵)'),
24693
- question: createMultiLanguageString$1('<p>How supported do you feel to <strong>work safely and productively</strong>? 1 = not at all, 5 = fully supported.</p>', '<p>چقدر برای <strong>کار ایمن و مولد</strong> احساس حمایت می‌کنید؟ ۱ = اصلاً، ۵ = کاملاً.</p>'),
24692
+ title: createMultiLanguageString('Support from leadership (1–5)', 'حمایت از رهبری (۱–۵)'),
24693
+ question: createMultiLanguageString('<p>How supported do you feel to <strong>work safely and productively</strong>? 1 = not at all, 5 = fully supported.</p>', '<p>چقدر برای <strong>کار ایمن و مولد</strong> احساس حمایت می‌کنید؟ ۱ = اصلاً، ۵ = کاملاً.</p>'),
24694
24694
  interface: addPathToInterface(ratingInterface, 'answers.gen_manager_support'),
24695
24695
  difficulty: 'easy',
24696
24696
  estimatedTime: 45,
@@ -24702,8 +24702,8 @@ const generalQuestionBankItems = [
24702
24702
  {
24703
24703
  id: AXPDataGenerator.uuid(),
24704
24704
  name: 'off_ergo',
24705
- title: createMultiLanguageString$1('Desk & ergonomics (1–5)', 'میز و ارگونومی (۱–۵)'),
24706
- question: createMultiLanguageString$1('<p>How suitable are your <strong>chair, desk height, monitor, and input devices</strong> for sustained work? 1 = poor, 5 = excellent.</p>', '<p>صندلی، ارتفاع میز، مانیتور و <strong>دستگاه‌های ورودی</strong> تا چه حد برای کار مداوم مناسب‌اند؟ ۱ = ضعیف، ۵ = عالی.</p>'),
24705
+ title: createMultiLanguageString('Desk & ergonomics (1–5)', 'میز و ارگونومی (۱–۵)'),
24706
+ question: createMultiLanguageString('<p>How suitable are your <strong>chair, desk height, monitor, and input devices</strong> for sustained work? 1 = poor, 5 = excellent.</p>', '<p>صندلی، ارتفاع میز، مانیتور و <strong>دستگاه‌های ورودی</strong> تا چه حد برای کار مداوم مناسب‌اند؟ ۱ = ضعیف، ۵ = عالی.</p>'),
24707
24707
  interface: addPathToInterface(ratingInterface, 'answers.off_ergo'),
24708
24708
  difficulty: 'easy',
24709
24709
  estimatedTime: 45,
@@ -24715,8 +24715,8 @@ const generalQuestionBankItems = [
24715
24715
  {
24716
24716
  id: AXPDataGenerator.uuid(),
24717
24717
  name: 'off_light',
24718
- title: createMultiLanguageString$1('Lighting (1–5)', 'روشنایی (۱–۵)'),
24719
- question: createMultiLanguageString$1('<p>How comfortable is <strong>lighting</strong> for screen work (glare, brightness, natural light)? 1 = poor, 5 = excellent.</p>', '<p><strong>روشنایی</strong> برای کار با صفحه (تابش، شدت نور، نور طبیعی) چقدر راحت است؟ ۱ = ضعیف، ۵ = عالی.</p>'),
24718
+ title: createMultiLanguageString('Lighting (1–5)', 'روشنایی (۱–۵)'),
24719
+ question: createMultiLanguageString('<p>How comfortable is <strong>lighting</strong> for screen work (glare, brightness, natural light)? 1 = poor, 5 = excellent.</p>', '<p><strong>روشنایی</strong> برای کار با صفحه (تابش، شدت نور، نور طبیعی) چقدر راحت است؟ ۱ = ضعیف، ۵ = عالی.</p>'),
24720
24720
  interface: addPathToInterface(ratingInterface, 'answers.off_light'),
24721
24721
  difficulty: 'easy',
24722
24722
  estimatedTime: 30,
@@ -24728,8 +24728,8 @@ const generalQuestionBankItems = [
24728
24728
  {
24729
24729
  id: AXPDataGenerator.uuid(),
24730
24730
  name: 'off_noise',
24731
- title: createMultiLanguageString$1('Noise & acoustics (1–5)', 'صدا و آکوستیک (۱–۵)'),
24732
- question: createMultiLanguageString$1('<p>How well can you <strong>concentrate</strong> given ambient noise, speech, and room acoustics? 1 = very distracting, 5 = calm.</p>', '<p>با توجه به نویز محیط، گفت‌وگو و آکوستیک فضا، چقدر می‌توانید <strong>تمرکز</strong> کنید؟ ۱ = بسیار مزاحم، ۵ = آرام.</p>'),
24731
+ title: createMultiLanguageString('Noise & acoustics (1–5)', 'صدا و آکوستیک (۱–۵)'),
24732
+ question: createMultiLanguageString('<p>How well can you <strong>concentrate</strong> given ambient noise, speech, and room acoustics? 1 = very distracting, 5 = calm.</p>', '<p>با توجه به نویز محیط، گفت‌وگو و آکوستیک فضا، چقدر می‌توانید <strong>تمرکز</strong> کنید؟ ۱ = بسیار مزاحم، ۵ = آرام.</p>'),
24733
24733
  interface: addPathToInterface(ratingInterface, 'answers.off_noise'),
24734
24734
  difficulty: 'easy',
24735
24735
  estimatedTime: 30,
@@ -24741,8 +24741,8 @@ const generalQuestionBankItems = [
24741
24741
  {
24742
24742
  id: AXPDataGenerator.uuid(),
24743
24743
  name: 'off_climate',
24744
- title: createMultiLanguageString$1('Temperature & air (1–5)', 'دما و هوا (۱–۵)'),
24745
- question: createMultiLanguageString$1('<p>How comfortable are <strong>temperature, ventilation, and air quality</strong> in your usual workspace? 1 = poor, 5 = excellent.</p>', '<p><strong>دما، تهویه و کیفیت هوا</strong> در فضای معمول شما چقدر مطلوب است؟ ۱ = ضعیف، ۵ = عالی.</p>'),
24744
+ title: createMultiLanguageString('Temperature & air (1–5)', 'دما و هوا (۱–۵)'),
24745
+ question: createMultiLanguageString('<p>How comfortable are <strong>temperature, ventilation, and air quality</strong> in your usual workspace? 1 = poor, 5 = excellent.</p>', '<p><strong>دما، تهویه و کیفیت هوا</strong> در فضای معمول شما چقدر مطلوب است؟ ۱ = ضعیف، ۵ = عالی.</p>'),
24746
24746
  interface: addPathToInterface(ratingInterface, 'answers.off_climate'),
24747
24747
  difficulty: 'easy',
24748
24748
  estimatedTime: 30,
@@ -24754,8 +24754,8 @@ const generalQuestionBankItems = [
24754
24754
  {
24755
24755
  id: AXPDataGenerator.uuid(),
24756
24756
  name: 'off_space',
24757
- title: createMultiLanguageString$1('Space & layout (1–5)', 'فضا و چیدمان (۱–۵)'),
24758
- question: createMultiLanguageString$1('<p>How adequate is <strong>space for your role</strong> (storage, movement, meeting nearby)? 1 = cramped, 5 = ample.</p>', '<p><strong>فضا برای نقش شما</strong> (انبار، حرکت، جلسه در نزدیکی) چقدر کافی است؟ ۱ = شلوغ، ۵ = وسیع.</p>'),
24757
+ title: createMultiLanguageString('Space & layout (1–5)', 'فضا و چیدمان (۱–۵)'),
24758
+ question: createMultiLanguageString('<p>How adequate is <strong>space for your role</strong> (storage, movement, meeting nearby)? 1 = cramped, 5 = ample.</p>', '<p><strong>فضا برای نقش شما</strong> (انبار، حرکت، جلسه در نزدیکی) چقدر کافی است؟ ۱ = شلوغ، ۵ = وسیع.</p>'),
24759
24759
  interface: addPathToInterface(ratingInterface, 'answers.off_space'),
24760
24760
  difficulty: 'easy',
24761
24761
  estimatedTime: 30,
@@ -24767,8 +24767,8 @@ const generalQuestionBankItems = [
24767
24767
  {
24768
24768
  id: AXPDataGenerator.uuid(),
24769
24769
  name: 'off_focus',
24770
- title: createMultiLanguageString$1('Focus & privacy (1–5)', 'تمرکز و حریم خصوصی (۱–۵)'),
24771
- question: createMultiLanguageString$1('<p>Can you get <strong>uninterrupted focus</strong> when needed (booths, signals, norms)? 1 = rarely, 5 = reliably.</p>', '<p>در صورت نیاز می‌توانید <strong>تمرکز بدون وقفه</strong> داشته باشید (کابین، علائم، هنجارها)؟ ۱ = به‌ندرت، ۵ = به‌طور پایدار.</p>'),
24770
+ title: createMultiLanguageString('Focus & privacy (1–5)', 'تمرکز و حریم خصوصی (۱–۵)'),
24771
+ question: createMultiLanguageString('<p>Can you get <strong>uninterrupted focus</strong> when needed (booths, signals, norms)? 1 = rarely, 5 = reliably.</p>', '<p>در صورت نیاز می‌توانید <strong>تمرکز بدون وقفه</strong> داشته باشید (کابین، علائم، هنجارها)؟ ۱ = به‌ندرت، ۵ = به‌طور پایدار.</p>'),
24772
24772
  interface: addPathToInterface(ratingInterface, 'answers.off_focus'),
24773
24773
  difficulty: 'easy',
24774
24774
  estimatedTime: 30,
@@ -24780,8 +24780,8 @@ const generalQuestionBankItems = [
24780
24780
  {
24781
24781
  id: AXPDataGenerator.uuid(),
24782
24782
  name: 'off_amenities',
24783
- title: createMultiLanguageString$1('Amenities & wellbeing (1–5)', 'امکانات رفاهی (۱–۵)'),
24784
- question: createMultiLanguageString$1('<p>How would you rate <strong>rest areas, hydration, cleanliness, and facilities</strong> (WCs, mother’s room, etc.)? 1 = poor, 5 = excellent.</p>', '<p><strong>فضاهای استراحت، آب‌رسانی، نظافت و تاسیسات</strong> (سرویس، اتاق مادر و غیره) را چگونه ارزیابی می‌کنید؟ ۱ = ضعیف، ۵ = عالی.</p>'),
24783
+ title: createMultiLanguageString('Amenities & wellbeing (1–5)', 'امکانات رفاهی (۱–۵)'),
24784
+ question: createMultiLanguageString('<p>How would you rate <strong>rest areas, hydration, cleanliness, and facilities</strong> (WCs, mother’s room, etc.)? 1 = poor, 5 = excellent.</p>', '<p><strong>فضاهای استراحت، آب‌رسانی، نظافت و تاسیسات</strong> (سرویس، اتاق مادر و غیره) را چگونه ارزیابی می‌کنید؟ ۱ = ضعیف، ۵ = عالی.</p>'),
24785
24785
  interface: addPathToInterface(ratingInterface, 'answers.off_amenities'),
24786
24786
  difficulty: 'easy',
24787
24787
  estimatedTime: 45,
@@ -24793,8 +24793,8 @@ const generalQuestionBankItems = [
24793
24793
  {
24794
24794
  id: AXPDataGenerator.uuid(),
24795
24795
  name: 'off_suggestions',
24796
- title: createMultiLanguageString$1('Improvement ideas', 'ایده‌های بهبود'),
24797
- question: createMultiLanguageString$1('<p>Optional: what would <strong>most improve</strong> your office workplace (one or two sentences)?</p>', '<p>اختیاری: چه چیزی بیشترین <strong>بهبود</strong> را در محیط اداری شما ایجاد می‌کند (یک یا دو جمله)؟</p>'),
24796
+ title: createMultiLanguageString('Improvement ideas', 'ایده‌های بهبود'),
24797
+ question: createMultiLanguageString('<p>Optional: what would <strong>most improve</strong> your office workplace (one or two sentences)?</p>', '<p>اختیاری: چه چیزی بیشترین <strong>بهبود</strong> را در محیط اداری شما ایجاد می‌کند (یک یا دو جمله)؟</p>'),
24798
24798
  interface: addPathToInterface(longTextAnswerInterface, 'answers.off_suggestions'),
24799
24799
  difficulty: 'easy',
24800
24800
  estimatedTime: 90,
@@ -25081,8 +25081,8 @@ const healthWellnessQuestionBankItems = [
25081
25081
  {
25082
25082
  id: AXPDataGenerator.uuid(),
25083
25083
  name: 'height_cm',
25084
- title: createMultiLanguageString$1('Height (cm)', 'قد (سانتی‌متر)'),
25085
- question: createMultiLanguageString$1('<p>Standing <strong>height in centimetres</strong> (no shoes). Used with weight to calculate BMI.</p>', '<p><strong>قد ایستاده به سانتی‌متر</strong> (بدون کفش). همراه وزن برای محاسبهٔ BMI استفاده می‌شود.</p>'),
25084
+ title: createMultiLanguageString('Height (cm)', 'قد (سانتی‌متر)'),
25085
+ question: createMultiLanguageString('<p>Standing <strong>height in centimetres</strong> (no shoes). Used with weight to calculate BMI.</p>', '<p><strong>قد ایستاده به سانتی‌متر</strong> (بدون کفش). همراه وزن برای محاسبهٔ BMI استفاده می‌شود.</p>'),
25086
25086
  interface: addPathToInterface(numberInterface, 'answers.height_cm'),
25087
25087
  difficulty: 'easy',
25088
25088
  estimatedTime: 45,
@@ -25094,8 +25094,8 @@ const healthWellnessQuestionBankItems = [
25094
25094
  {
25095
25095
  id: AXPDataGenerator.uuid(),
25096
25096
  name: 'weight_kg',
25097
- title: createMultiLanguageString$1('Weight (kg)', 'وزن (کیلوگرم)'),
25098
- question: createMultiLanguageString$1('<p>Current <strong>body weight in kilograms</strong>. Use the same scale where possible.</p>', '<p><strong>وزن فعلی بدن به کیلوگرم</strong>. در صورت امکان از همان ترازو استفاده کنید.</p>'),
25097
+ title: createMultiLanguageString('Weight (kg)', 'وزن (کیلوگرم)'),
25098
+ question: createMultiLanguageString('<p>Current <strong>body weight in kilograms</strong>. Use the same scale where possible.</p>', '<p><strong>وزن فعلی بدن به کیلوگرم</strong>. در صورت امکان از همان ترازو استفاده کنید.</p>'),
25099
25099
  interface: addPathToInterface(numberInterface, 'answers.weight_kg'),
25100
25100
  difficulty: 'easy',
25101
25101
  estimatedTime: 45,
@@ -25107,8 +25107,8 @@ const healthWellnessQuestionBankItems = [
25107
25107
  {
25108
25108
  id: AXPDataGenerator.uuid(),
25109
25109
  name: 'age_years',
25110
- title: createMultiLanguageString$1('Age (years)', 'سن (سال)'),
25111
- question: createMultiLanguageString$1('<p>Your age in <strong>full years</strong> (required for eGFR and risk context).</p>', '<p>سن شما به <strong>سال تمام</strong> (برای eGFR و زمینهٔ ریسک لازم است).</p>'),
25110
+ title: createMultiLanguageString('Age (years)', 'سن (سال)'),
25111
+ question: createMultiLanguageString('<p>Your age in <strong>full years</strong> (required for eGFR and risk context).</p>', '<p>سن شما به <strong>سال تمام</strong> (برای eGFR و زمینهٔ ریسک لازم است).</p>'),
25112
25112
  interface: addPathToInterface(numberInterface, 'answers.age_years'),
25113
25113
  difficulty: 'easy',
25114
25114
  estimatedTime: 30,
@@ -25120,8 +25120,8 @@ const healthWellnessQuestionBankItems = [
25120
25120
  {
25121
25121
  id: AXPDataGenerator.uuid(),
25122
25122
  name: 'sex',
25123
- title: createMultiLanguageString$1('Sex at birth', 'جنسیت هنگام تولد'),
25124
- question: createMultiLanguageString$1('<p>Select sex at birth. Used only in the <strong>MDRD eGFR</strong> equation (female adjustment).</p>', '<p>جنسیت هنگام تولد را انتخاب کنید. فقط در معادلهٔ <strong>MDRD eGFR</strong> (تنظیم زنان) استفاده می‌شود.</p>'),
25123
+ title: createMultiLanguageString('Sex at birth', 'جنسیت هنگام تولد'),
25124
+ question: createMultiLanguageString('<p>Select sex at birth. Used only in the <strong>MDRD eGFR</strong> equation (female adjustment).</p>', '<p>جنسیت هنگام تولد را انتخاب کنید. فقط در معادلهٔ <strong>MDRD eGFR</strong> (تنظیم زنان) استفاده می‌شود.</p>'),
25125
25125
  interface: addPathToInterface(sexAtBirthInterface, 'answers.sex'),
25126
25126
  difficulty: 'easy',
25127
25127
  estimatedTime: 30,
@@ -25133,9 +25133,9 @@ const healthWellnessQuestionBankItems = [
25133
25133
  {
25134
25134
  id: AXPDataGenerator.uuid(),
25135
25135
  name: 'scr_mg_dl',
25136
- title: createMultiLanguageString$1('Serum creatinine', 'کراتینین سرم'),
25137
- question: createMultiLanguageString$1('<p>Most recent <strong>serum creatinine in mg/dL</strong> from a lab report. If unknown, enter your best documented value.</p>', '<p>جدیدترین <strong>کراتینین سرم به mg/dL</strong> از گزارش آزمایش. در صورت نبود، بهترین مقدار مستند را وارد کنید.</p>'),
25138
- note: createMultiLanguageString$1('Used for MDRD eGFR', 'برای eGFR مدل MDRD'),
25136
+ title: createMultiLanguageString('Serum creatinine', 'کراتینین سرم'),
25137
+ question: createMultiLanguageString('<p>Most recent <strong>serum creatinine in mg/dL</strong> from a lab report. If unknown, enter your best documented value.</p>', '<p>جدیدترین <strong>کراتینین سرم به mg/dL</strong> از گزارش آزمایش. در صورت نبود، بهترین مقدار مستند را وارد کنید.</p>'),
25138
+ note: createMultiLanguageString('Used for MDRD eGFR', 'برای eGFR مدل MDRD'),
25139
25139
  interface: addPathToInterface(numberInterface, 'answers.scr_mg_dl'),
25140
25140
  difficulty: 'easy',
25141
25141
  estimatedTime: 60,
@@ -25147,8 +25147,8 @@ const healthWellnessQuestionBankItems = [
25147
25147
  {
25148
25148
  id: AXPDataGenerator.uuid(),
25149
25149
  name: 'sleep_h',
25150
- title: createMultiLanguageString$1('Sleep (h/night)', 'خواب (ساعت/شب)'),
25151
- question: createMultiLanguageString$1('<p>Average <strong>hours of sleep per night</strong> over the last week (e.g. 6.5).</p>', '<p>میانگین <strong>ساعت خواب در شبانه‌روز</strong> در هفتهٔ گذشته (مثلاً ۶٫۵).</p>'),
25150
+ title: createMultiLanguageString('Sleep (h/night)', 'خواب (ساعت/شب)'),
25151
+ question: createMultiLanguageString('<p>Average <strong>hours of sleep per night</strong> over the last week (e.g. 6.5).</p>', '<p>میانگین <strong>ساعت خواب در شبانه‌روز</strong> در هفتهٔ گذشته (مثلاً ۶٫۵).</p>'),
25152
25152
  interface: addPathToInterface(numberInterface, 'answers.sleep_h'),
25153
25153
  difficulty: 'easy',
25154
25154
  estimatedTime: 45,
@@ -25160,8 +25160,8 @@ const healthWellnessQuestionBankItems = [
25160
25160
  {
25161
25161
  id: AXPDataGenerator.uuid(),
25162
25162
  name: 'stress_lv',
25163
- title: createMultiLanguageString$1('Work stress (1–5)', 'استرس کاری (۱–۵)'),
25164
- question: createMultiLanguageString$1('<p>How would you rate <strong>work-related stress this week</strong>? Higher = more stress.</p>', '<p><strong>استرس کاری این هفته</strong> را چگونه ارزیابی می‌کنید؟ بالاتر = استرس بیشتر.</p>'),
25163
+ title: createMultiLanguageString('Work stress (1–5)', 'استرس کاری (۱–۵)'),
25164
+ question: createMultiLanguageString('<p>How would you rate <strong>work-related stress this week</strong>? Higher = more stress.</p>', '<p><strong>استرس کاری این هفته</strong> را چگونه ارزیابی می‌کنید؟ بالاتر = استرس بیشتر.</p>'),
25165
25165
  interface: addPathToInterface(scaleInterface, 'answers.stress_lv'),
25166
25166
  difficulty: 'easy',
25167
25167
  estimatedTime: 30,
@@ -25173,8 +25173,8 @@ const healthWellnessQuestionBankItems = [
25173
25173
  {
25174
25174
  id: AXPDataGenerator.uuid(),
25175
25175
  name: 'exercise_m',
25176
- title: createMultiLanguageString$1('Exercise (min/wk)', 'ورزش (دقیقه/هفته)'),
25177
- question: createMultiLanguageString$1('<p>Approximate minutes of <strong>moderate activity</strong> (e.g. brisk walking) per week.</p>', '<p>دقایق تقریبی <strong>فعالیت متوسط</strong> (مثلاً پیاده‌روی تند) در هفته.</p>'),
25176
+ title: createMultiLanguageString('Exercise (min/wk)', 'ورزش (دقیقه/هفته)'),
25177
+ question: createMultiLanguageString('<p>Approximate minutes of <strong>moderate activity</strong> (e.g. brisk walking) per week.</p>', '<p>دقایق تقریبی <strong>فعالیت متوسط</strong> (مثلاً پیاده‌روی تند) در هفته.</p>'),
25178
25178
  interface: addPathToInterface(numberInterface, 'answers.exercise_m'),
25179
25179
  difficulty: 'easy',
25180
25180
  estimatedTime: 45,
@@ -25186,8 +25186,8 @@ const healthWellnessQuestionBankItems = [
25186
25186
  {
25187
25187
  id: AXPDataGenerator.uuid(),
25188
25188
  name: 'water_g',
25189
- title: createMultiLanguageString$1('Hydration (glasses/d)', 'آبرسانی (لیوان/روز)'),
25190
- question: createMultiLanguageString$1('<p>Typical <strong>glasses of water per day</strong> (≈250 ml each). Best estimate.</p>', '<p>تعداد معمول <strong>لیوان آب در روز</strong> (حدود ۲۵۰ میلی‌لیتر). بهترین برآورد.</p>'),
25189
+ title: createMultiLanguageString('Hydration (glasses/d)', 'آبرسانی (لیوان/روز)'),
25190
+ question: createMultiLanguageString('<p>Typical <strong>glasses of water per day</strong> (≈250 ml each). Best estimate.</p>', '<p>تعداد معمول <strong>لیوان آب در روز</strong> (حدود ۲۵۰ میلی‌لیتر). بهترین برآورد.</p>'),
25191
25191
  interface: addPathToInterface(numberInterface, 'answers.water_g'),
25192
25192
  difficulty: 'easy',
25193
25193
  estimatedTime: 30,
@@ -25199,8 +25199,8 @@ const healthWellnessQuestionBankItems = [
25199
25199
  {
25200
25200
  id: AXPDataGenerator.uuid(),
25201
25201
  name: 'energy_lv',
25202
- title: createMultiLanguageString$1('Energy level (1–5)', 'سطح انرژی (۱–۵)'),
25203
- question: createMultiLanguageString$1('<p>Overall <strong>energy for work tasks today</strong> — 1 very low, 5 very high.</p>', '<p><strong>انرژی کلی برای وظایف امروز</strong> — ۱ بسیار کم، ۵ بسیار زیاد.</p>'),
25202
+ title: createMultiLanguageString('Energy level (1–5)', 'سطح انرژی (۱–۵)'),
25203
+ question: createMultiLanguageString('<p>Overall <strong>energy for work tasks today</strong> — 1 very low, 5 very high.</p>', '<p><strong>انرژی کلی برای وظایف امروز</strong> — ۱ بسیار کم، ۵ بسیار زیاد.</p>'),
25204
25204
  interface: addPathToInterface(ratingInterface, 'answers.energy_lv'),
25205
25205
  difficulty: 'easy',
25206
25206
  estimatedTime: 30,
@@ -25212,8 +25212,8 @@ const healthWellnessQuestionBankItems = [
25212
25212
  {
25213
25213
  id: AXPDataGenerator.uuid(),
25214
25214
  name: 'hw_tobacco_use',
25215
- title: createMultiLanguageString$1('Tobacco use', 'مصرف تنباکو'),
25216
- question: createMultiLanguageString$1('<p>Do you currently use <strong>tobacco or nicotine</strong> products (smoke, vape, chew) on any day?</p>', '<p>آیا هم‌اکنون در هر روزی از محصولات <strong>تنباکو یا نیکوتین</strong> (سیگار، ویپ، جویدنی) استفاده می‌کنید؟</p>'),
25215
+ title: createMultiLanguageString('Tobacco use', 'مصرف تنباکو'),
25216
+ question: createMultiLanguageString('<p>Do you currently use <strong>tobacco or nicotine</strong> products (smoke, vape, chew) on any day?</p>', '<p>آیا هم‌اکنون در هر روزی از محصولات <strong>تنباکو یا نیکوتین</strong> (سیگار، ویپ، جویدنی) استفاده می‌کنید؟</p>'),
25217
25217
  interface: addPathToInterface(yesNoInterface, 'answers.hw_tobacco_use'),
25218
25218
  difficulty: 'easy',
25219
25219
  estimatedTime: 30,
@@ -25225,8 +25225,8 @@ const healthWellnessQuestionBankItems = [
25225
25225
  {
25226
25226
  id: AXPDataGenerator.uuid(),
25227
25227
  name: 'hw_cigs_per_day',
25228
- title: createMultiLanguageString$1('Typical daily amount', 'مقدار معمول روزانه'),
25229
- question: createMultiLanguageString$1('<p>If you use tobacco, approximate <strong>typical daily use</strong> (e.g. cigarettes per day, or sessions per day). Enter 0 if not applicable.</p>', '<p>در صورت مصرف، <strong>مصرف معمول روزانه</strong> را تقریبی وارد کنید (مثلاً نخ سیگار یا دفعات). در غیر این صورت ۰.</p>'),
25228
+ title: createMultiLanguageString('Typical daily amount', 'مقدار معمول روزانه'),
25229
+ question: createMultiLanguageString('<p>If you use tobacco, approximate <strong>typical daily use</strong> (e.g. cigarettes per day, or sessions per day). Enter 0 if not applicable.</p>', '<p>در صورت مصرف، <strong>مصرف معمول روزانه</strong> را تقریبی وارد کنید (مثلاً نخ سیگار یا دفعات). در غیر این صورت ۰.</p>'),
25230
25230
  interface: addPathToInterface(numberInterface, 'answers.hw_cigs_per_day'),
25231
25231
  difficulty: 'easy',
25232
25232
  estimatedTime: 45,
@@ -25248,7 +25248,7 @@ function pmPrestartStatusInterface(path) {
25248
25248
  metadata: {
25249
25249
  id: PM_PRESTART_STATUS_METADATA_ID,
25250
25250
  name: 'inspection-ok-x-na',
25251
- title: createMultiLanguageString$1('Inspection status (OK / X / N/A)', 'وضعیت بازرسی (OK / X / N/A)'),
25251
+ title: createMultiLanguageString('Inspection status (OK / X / N/A)', 'وضعیت بازرسی (OK / X / N/A)'),
25252
25252
  version: 0,
25253
25253
  },
25254
25254
  };
@@ -25257,8 +25257,8 @@ const plantMaintenanceQuestionBankItems = [
25257
25257
  {
25258
25258
  id: AXPDataGenerator.uuid(),
25259
25259
  name: 'maint_downtime_h',
25260
- title: createMultiLanguageString$1('Downtime (hours)', 'زمان توقف (ساعت)'),
25261
- question: createMultiLanguageString$1('<p>Approximate <strong>equipment downtime in hours</strong> for this event or work order.</p>', '<p>زمان تقریبی <strong>توقف تجهیز به ساعت</strong> برای این رویداد یا دستور کار.</p>'),
25260
+ title: createMultiLanguageString('Downtime (hours)', 'زمان توقف (ساعت)'),
25261
+ question: createMultiLanguageString('<p>Approximate <strong>equipment downtime in hours</strong> for this event or work order.</p>', '<p>زمان تقریبی <strong>توقف تجهیز به ساعت</strong> برای این رویداد یا دستور کار.</p>'),
25262
25262
  interface: addPathToInterface(numberInterface, 'answers.maint_downtime_h'),
25263
25263
  difficulty: 'easy',
25264
25264
  estimatedTime: 45,
@@ -25270,8 +25270,8 @@ const plantMaintenanceQuestionBankItems = [
25270
25270
  {
25271
25271
  id: AXPDataGenerator.uuid(),
25272
25272
  name: 'maint_loto',
25273
- title: createMultiLanguageString$1('LOTO complete', 'تکمیل LOTO'),
25274
- question: createMultiLanguageString$1('<p>Was <strong>lockout/tagout</strong> applied and verified before work on stored energy?</p>', '<p>آیا <strong>قفل و برچسب (LOTO)</strong> قبل از کار روی انرژی ذخیره‌شده اعمال و تأیید شد؟</p>'),
25273
+ title: createMultiLanguageString('LOTO complete', 'تکمیل LOTO'),
25274
+ question: createMultiLanguageString('<p>Was <strong>lockout/tagout</strong> applied and verified before work on stored energy?</p>', '<p>آیا <strong>قفل و برچسب (LOTO)</strong> قبل از کار روی انرژی ذخیره‌شده اعمال و تأیید شد؟</p>'),
25275
25275
  interface: addPathToInterface(yesNoInterface, 'answers.maint_loto'),
25276
25276
  difficulty: 'medium',
25277
25277
  estimatedTime: 30,
@@ -25283,8 +25283,8 @@ const plantMaintenanceQuestionBankItems = [
25283
25283
  {
25284
25284
  id: AXPDataGenerator.uuid(),
25285
25285
  name: 'maint_pm_quality',
25286
- title: createMultiLanguageString$1('PM quality (1–5)', 'کیفیت PM (۱–۵)'),
25287
- question: createMultiLanguageString$1('<p>How would you rate the <strong>quality of preventive maintenance planning</strong> for this asset? 1 poor, 5 excellent.</p>', '<p><strong>کیفیت برنامه‌ریزی نگهداری پیشگیرانه</strong> برای این دارایی را چگونه ارزیابی می‌کنید؟ ۱ ضعیف، ۵ عالی.</p>'),
25286
+ title: createMultiLanguageString('PM quality (1–5)', 'کیفیت PM (۱–۵)'),
25287
+ question: createMultiLanguageString('<p>How would you rate the <strong>quality of preventive maintenance planning</strong> for this asset? 1 poor, 5 excellent.</p>', '<p><strong>کیفیت برنامه‌ریزی نگهداری پیشگیرانه</strong> برای این دارایی را چگونه ارزیابی می‌کنید؟ ۱ ضعیف، ۵ عالی.</p>'),
25288
25288
  interface: addPathToInterface(ratingInterface, 'answers.maint_pm_quality'),
25289
25289
  difficulty: 'easy',
25290
25290
  estimatedTime: 45,
@@ -25296,8 +25296,8 @@ const plantMaintenanceQuestionBankItems = [
25296
25296
  {
25297
25297
  id: AXPDataGenerator.uuid(),
25298
25298
  name: 'maint_wo_ref',
25299
- title: createMultiLanguageString$1('Work order ref.', 'مرجع دستور کار'),
25300
- question: createMultiLanguageString$1('<p>Enter the <strong>work order or notification ID</strong> from your CMMS or paper system.</p>', '<p><strong>شناسه دستور کار یا اعلان</strong> را از CMMS یا سیستم کاغذی وارد کنید.</p>'),
25299
+ title: createMultiLanguageString('Work order ref.', 'مرجع دستور کار'),
25300
+ question: createMultiLanguageString('<p>Enter the <strong>work order or notification ID</strong> from your CMMS or paper system.</p>', '<p><strong>شناسه دستور کار یا اعلان</strong> را از CMMS یا سیستم کاغذی وارد کنید.</p>'),
25301
25301
  interface: addPathToInterface(longTextAnswerInterface, 'answers.maint_wo_ref'),
25302
25302
  difficulty: 'easy',
25303
25303
  estimatedTime: 60,
@@ -25309,8 +25309,8 @@ const plantMaintenanceQuestionBankItems = [
25309
25309
  {
25310
25310
  id: AXPDataGenerator.uuid(),
25311
25311
  name: 'maint_mttr_h',
25312
- title: createMultiLanguageString$1('MTTR (hours)', 'MTTR (ساعت)'),
25313
- question: createMultiLanguageString$1('<p>Approximate <strong>mean time to restore</strong> service for this asset class (hours), best estimate.</p>', '<p>میانگین تقریبی <strong>زمان بازیابی سرویس</strong> برای این کلاس دارایی (ساعت)، بهترین برآورد.</p>'),
25312
+ title: createMultiLanguageString('MTTR (hours)', 'MTTR (ساعت)'),
25313
+ question: createMultiLanguageString('<p>Approximate <strong>mean time to restore</strong> service for this asset class (hours), best estimate.</p>', '<p>میانگین تقریبی <strong>زمان بازیابی سرویس</strong> برای این کلاس دارایی (ساعت)، بهترین برآورد.</p>'),
25314
25314
  interface: addPathToInterface(numberInterface, 'answers.maint_mttr_h'),
25315
25315
  difficulty: 'medium',
25316
25316
  estimatedTime: 60,
@@ -25322,8 +25322,8 @@ const plantMaintenanceQuestionBankItems = [
25322
25322
  {
25323
25323
  id: AXPDataGenerator.uuid(),
25324
25324
  name: 'maint_spare_ok',
25325
- title: createMultiLanguageString$1('Critical spares on hand', 'یدکی‌های بحرانی موجود'),
25326
- question: createMultiLanguageString$1('<p>Are <strong>critical spares</strong> for this equipment available on site or within agreed lead time?</p>', '<p>آیا <strong>یدکی‌های بحرانی</strong> این تجهیز در محل یا در زمان تحویل توافق‌شده موجود است؟</p>'),
25325
+ title: createMultiLanguageString('Critical spares on hand', 'یدکی‌های بحرانی موجود'),
25326
+ question: createMultiLanguageString('<p>Are <strong>critical spares</strong> for this equipment available on site or within agreed lead time?</p>', '<p>آیا <strong>یدکی‌های بحرانی</strong> این تجهیز در محل یا در زمان تحویل توافق‌شده موجود است؟</p>'),
25327
25327
  interface: addPathToInterface(yesNoInterface, 'answers.maint_spare_ok'),
25328
25328
  difficulty: 'easy',
25329
25329
  estimatedTime: 30,
@@ -25335,8 +25335,8 @@ const plantMaintenanceQuestionBankItems = [
25335
25335
  {
25336
25336
  id: AXPDataGenerator.uuid(),
25337
25337
  name: 'maint_spare_gap',
25338
- title: createMultiLanguageString$1('Spares / logistics gap', 'شکاف یدکی / تدارکات'),
25339
- question: createMultiLanguageString$1('<p>If spares or logistics are a constraint, describe the <strong>part, supplier, or delay</strong>.</p>', '<p>در صورت محدودیت یدکی یا تدارکات، <strong>قطعه، تأمین‌کننده یا تأخیر</strong> را شرح دهید.</p>'),
25338
+ title: createMultiLanguageString('Spares / logistics gap', 'شکاف یدکی / تدارکات'),
25339
+ question: createMultiLanguageString('<p>If spares or logistics are a constraint, describe the <strong>part, supplier, or delay</strong>.</p>', '<p>در صورت محدودیت یدکی یا تدارکات، <strong>قطعه، تأمین‌کننده یا تأخیر</strong> را شرح دهید.</p>'),
25340
25340
  interface: addPathToInterface(longTextAnswerInterface, 'answers.maint_spare_gap'),
25341
25341
  difficulty: 'easy',
25342
25342
  estimatedTime: 90,
@@ -25348,8 +25348,8 @@ const plantMaintenanceQuestionBankItems = [
25348
25348
  {
25349
25349
  id: AXPDataGenerator.uuid(),
25350
25350
  name: 'pm_prestart_safety',
25351
- title: createMultiLanguageString$1('Safety', 'ایمنی'),
25352
- question: createMultiLanguageString$1('<ul>' +
25351
+ title: createMultiLanguageString('Safety', 'ایمنی'),
25352
+ question: createMultiLanguageString('<ul>' +
25353
25353
  '<li>Warning Flashing Light</li>' +
25354
25354
  '<li>Reverse Alarm</li>' +
25355
25355
  '<li>Horn</li>' +
@@ -25386,8 +25386,8 @@ const plantMaintenanceQuestionBankItems = [
25386
25386
  {
25387
25387
  id: AXPDataGenerator.uuid(),
25388
25388
  name: 'pm_prestart_visibility',
25389
- title: createMultiLanguageString$1('Visibility', 'دید'),
25390
- question: createMultiLanguageString$1('<ul>' +
25389
+ title: createMultiLanguageString('Visibility', 'دید'),
25390
+ question: createMultiLanguageString('<ul>' +
25391
25391
  '<li>Windscreen</li>' +
25392
25392
  '<li>Rear Vision Mirrors</li>' +
25393
25393
  '<li>Windscreen Wipers, Washer, Demister</li>' +
@@ -25404,8 +25404,8 @@ const plantMaintenanceQuestionBankItems = [
25404
25404
  {
25405
25405
  id: AXPDataGenerator.uuid(),
25406
25406
  name: 'pm_prestart_wheels',
25407
- title: createMultiLanguageString$1('Wheels/Tyres/Tracks', 'چرخ / لاستیک / ریل'),
25408
- question: createMultiLanguageString$1('<ul>' +
25407
+ title: createMultiLanguageString('Wheels/Tyres/Tracks', 'چرخ / لاستیک / ریل'),
25408
+ question: createMultiLanguageString('<ul>' +
25409
25409
  '<li>Tyre Wear, Condition and Alignment</li>' +
25410
25410
  '<li>Spare Tyre</li>' +
25411
25411
  '<li>Tyre pressure</li>' +
@@ -25430,8 +25430,8 @@ const plantMaintenanceQuestionBankItems = [
25430
25430
  {
25431
25431
  id: AXPDataGenerator.uuid(),
25432
25432
  name: 'pm_prestart_cabin',
25433
- title: createMultiLanguageString$1('Cabin', 'کابین'),
25434
- question: createMultiLanguageString$1('<ul>' +
25433
+ title: createMultiLanguageString('Cabin', 'کابین'),
25434
+ question: createMultiLanguageString('<ul>' +
25435
25435
  '<li>Air conditioner</li>' +
25436
25436
  '<li>Seating/ Seat Covers/Seat Belts</li>' +
25437
25437
  '<li>Access (Stairs/ Rails)</li>' +
@@ -25458,8 +25458,8 @@ const plantMaintenanceQuestionBankItems = [
25458
25458
  {
25459
25459
  id: AXPDataGenerator.uuid(),
25460
25460
  name: 'pm_prestart_hydraulics',
25461
- title: createMultiLanguageString$1('Operation - Hydraulics', 'عملکرد — هیدرولیک'),
25462
- question: createMultiLanguageString$1('<ul>' +
25461
+ title: createMultiLanguageString('Operation - Hydraulics', 'عملکرد — هیدرولیک'),
25462
+ question: createMultiLanguageString('<ul>' +
25463
25463
  '<li>Ram operation</li>' +
25464
25464
  '<li>Hose condition (Wear and Leaks)</li>' +
25465
25465
  '<li>Quickhitch Operation</li>' +
@@ -25482,8 +25482,8 @@ const plantMaintenanceQuestionBankItems = [
25482
25482
  {
25483
25483
  id: AXPDataGenerator.uuid(),
25484
25484
  name: 'pm_prestart_general',
25485
- title: createMultiLanguageString$1('Operation - General', 'عملکرد — عمومی'),
25486
- question: createMultiLanguageString$1('<ul>' +
25485
+ title: createMultiLanguageString('Operation - General', 'عملکرد — عمومی'),
25486
+ question: createMultiLanguageString('<ul>' +
25487
25487
  '<li>Levers</li>' +
25488
25488
  '<li>Steering</li>' +
25489
25489
  '<li>Brakes (incl. Hand Brake)</li>' +
@@ -25514,8 +25514,8 @@ const plantMaintenanceQuestionBankItems = [
25514
25514
  {
25515
25515
  id: AXPDataGenerator.uuid(),
25516
25516
  name: 'pm_prestart_fluids',
25517
- title: createMultiLanguageString$1('Operation - Fluids', 'عملکرد — مایعات'),
25518
- question: createMultiLanguageString$1('<ul>' + '<li>Coolant</li>' + '<li>Oil</li>' + '<li>Grease Level in Pins/Bushes etc</li>' + '</ul>', '<ul>' + '<li>خنک‌کننده</li>' + '<li>روغن</li>' + '<li>سطح گریس در پین‌ها / بوش‌ها و غیره</li>' + '</ul>'),
25517
+ title: createMultiLanguageString('Operation - Fluids', 'عملکرد — مایعات'),
25518
+ question: createMultiLanguageString('<ul>' + '<li>Coolant</li>' + '<li>Oil</li>' + '<li>Grease Level in Pins/Bushes etc</li>' + '</ul>', '<ul>' + '<li>خنک‌کننده</li>' + '<li>روغن</li>' + '<li>سطح گریس در پین‌ها / بوش‌ها و غیره</li>' + '</ul>'),
25519
25519
  interface: pmPrestartStatusInterface('answers.pm_prestart_fluids'),
25520
25520
  comment: { enabled: true, required: false },
25521
25521
  difficulty: 'easy',
@@ -25528,8 +25528,8 @@ const plantMaintenanceQuestionBankItems = [
25528
25528
  {
25529
25529
  id: AXPDataGenerator.uuid(),
25530
25530
  name: 'pm_prestart_other',
25531
- title: createMultiLanguageString$1('Other Items', 'سایر موارد'),
25532
- question: createMultiLanguageString$1('<p>Additional checks, defects, or notes not covered above. Use the comment field for details.</p>', '<p>موارد اضافی، نقص‌ها یا یادداشت‌هایی که در بالا نیامده‌اند. جزئیات را در فیلد توضیحات وارد کنید.</p>'),
25531
+ title: createMultiLanguageString('Other Items', 'سایر موارد'),
25532
+ question: createMultiLanguageString('<p>Additional checks, defects, or notes not covered above. Use the comment field for details.</p>', '<p>موارد اضافی، نقص‌ها یا یادداشت‌هایی که در بالا نیامده‌اند. جزئیات را در فیلد توضیحات وارد کنید.</p>'),
25533
25533
  interface: pmPrestartStatusInterface('answers.pm_prestart_other'),
25534
25534
  comment: { enabled: true, required: false },
25535
25535
  difficulty: 'easy',
@@ -25545,9 +25545,9 @@ const plantMaintenanceQuestionBankItems = [
25545
25545
  //#endregion
25546
25546
  //#region ---- Scope titles (aligned with module providers) ----
25547
25547
  const SCOPE_TITLE_BY_NAME = {
25548
- 'common.general': createMultiLanguageString$1('General', 'عمومی'),
25549
- 'human-capital-management.hr': createMultiLanguageString$1('Human Resources', 'منابع انسانی'),
25550
- 'risk-management.hazard': createMultiLanguageString$1('Hazard', 'خطر'),
25548
+ 'common.general': createMultiLanguageString('General', 'عمومی'),
25549
+ 'human-capital-management.hr': createMultiLanguageString('Human Resources', 'منابع انسانی'),
25550
+ 'risk-management.hazard': createMultiLanguageString('Hazard', 'خطر'),
25551
25551
  };
25552
25552
  //#endregion
25553
25553
  //#region ---- Helpers ----
@@ -25558,7 +25558,7 @@ const SCOPE_TITLE_BY_NAME = {
25558
25558
  function buildMockCatalogScopes(keys) {
25559
25559
  return keys.map((name) => ({
25560
25560
  name,
25561
- title: SCOPE_TITLE_BY_NAME[name] ?? createMultiLanguageString$1(name, name),
25561
+ title: SCOPE_TITLE_BY_NAME[name] ?? createMultiLanguageString(name, name),
25562
25562
  }));
25563
25563
  }
25564
25564
  //#endregion
@@ -25582,8 +25582,8 @@ function separationChecklistTopic(name, exactEn, titleFa, questionFa) {
25582
25582
  return {
25583
25583
  id: AXPDataGenerator.uuid(),
25584
25584
  name,
25585
- title: createMultiLanguageString$1(exactEn, titleFa),
25586
- question: createMultiLanguageString$1(`<p>${exactEn}</p>`, `<p>${questionFa}</p>`),
25585
+ title: createMultiLanguageString(exactEn, titleFa),
25586
+ question: createMultiLanguageString(`<p>${exactEn}</p>`, `<p>${questionFa}</p>`),
25587
25587
  interface: hrSeparationCompletionInterface(`answers.${name}`),
25588
25588
  comment: { enabled: true, required: false },
25589
25589
  difficulty: 'easy',
@@ -25635,8 +25635,8 @@ function inductionTopic(name, exactEn, titleFa, questionFa) {
25635
25635
  return {
25636
25636
  id: AXPDataGenerator.uuid(),
25637
25637
  name,
25638
- title: createMultiLanguageString$1(exactEn, titleFa),
25639
- question: createMultiLanguageString$1(`<p>${exactEn}</p>`, `<p>${questionFa}</p>`),
25638
+ title: createMultiLanguageString(exactEn, titleFa),
25639
+ question: createMultiLanguageString(`<p>${exactEn}</p>`, `<p>${questionFa}</p>`),
25640
25640
  interface: hrInductionCompletionInterface(`answers.${name}`),
25641
25641
  comment: { enabled: true, required: false },
25642
25642
  difficulty: 'easy',
@@ -25700,8 +25700,8 @@ function teamLeadScaleItem(name, titleEn, titleFa, questionEn, questionFa, categ
25700
25700
  return {
25701
25701
  id: AXPDataGenerator.uuid(),
25702
25702
  name,
25703
- title: createMultiLanguageString$1(titleEn, titleFa),
25704
- question: createMultiLanguageString$1(`<p>${questionEn}</p>`, `<p>${questionFa}</p>`),
25703
+ title: createMultiLanguageString(titleEn, titleFa),
25704
+ question: createMultiLanguageString(`<p>${questionEn}</p>`, `<p>${questionFa}</p>`),
25705
25705
  interface: addPathToInterface(scaleInterface, `answers.${name}`),
25706
25706
  difficulty: 'medium',
25707
25707
  estimatedTime: 45,
@@ -25957,8 +25957,8 @@ const take5ChecklistSpec = [
25957
25957
  const take5ChecklistQuestionBankItems = take5ChecklistSpec.map((row) => ({
25958
25958
  id: AXPDataGenerator.uuid(),
25959
25959
  name: row.name,
25960
- title: createMultiLanguageString$1(row.titleEn, row.titleFa),
25961
- question: createMultiLanguageString$1(row.qEn, row.qFa),
25960
+ title: createMultiLanguageString(row.titleEn, row.titleFa),
25961
+ question: createMultiLanguageString(row.qEn, row.qFa),
25962
25962
  interface: addPathToInterface(yesNoInterface, `answers.${row.name}`),
25963
25963
  difficulty: 'easy',
25964
25964
  estimatedTime: 30,
@@ -25971,8 +25971,8 @@ const workplaceSafetyQuestionBankItems = [
25971
25971
  {
25972
25972
  id: AXPDataGenerator.uuid(),
25973
25973
  name: 'whs_exp_people',
25974
- title: createMultiLanguageString$1('People exposed', 'افراد در معرض'),
25975
- question: createMultiLanguageString$1('<p>Estimated <strong>number of people</strong> who could be exposed to this hazard if not controlled.</p>', '<p>تعداد تقریبی <strong>افرادی</strong> که در صورت عدم کنترل در معرض این خطر قرار می‌گیرند.</p>'),
25974
+ title: createMultiLanguageString('People exposed', 'افراد در معرض'),
25975
+ question: createMultiLanguageString('<p>Estimated <strong>number of people</strong> who could be exposed to this hazard if not controlled.</p>', '<p>تعداد تقریبی <strong>افرادی</strong> که در صورت عدم کنترل در معرض این خطر قرار می‌گیرند.</p>'),
25976
25976
  interface: addPathToInterface(numberInterface, 'answers.whs_exp_people'),
25977
25977
  difficulty: 'easy',
25978
25978
  estimatedTime: 45,
@@ -25984,8 +25984,8 @@ const workplaceSafetyQuestionBankItems = [
25984
25984
  {
25985
25985
  id: AXPDataGenerator.uuid(),
25986
25986
  name: 'whs_exp_days',
25987
- title: createMultiLanguageString$1('Days open', 'روزهای باز'),
25988
- question: createMultiLanguageString$1('<p>How many <strong>days</strong> has this condition been open without an effective fix?</p>', '<p>این وضعیت چند <strong>روز</strong> بدون اقدام مؤثر باز مانده است؟</p>'),
25987
+ title: createMultiLanguageString('Days open', 'روزهای باز'),
25988
+ question: createMultiLanguageString('<p>How many <strong>days</strong> has this condition been open without an effective fix?</p>', '<p>این وضعیت چند <strong>روز</strong> بدون اقدام مؤثر باز مانده است؟</p>'),
25989
25989
  interface: addPathToInterface(numberInterface, 'answers.whs_exp_days'),
25990
25990
  difficulty: 'easy',
25991
25991
  estimatedTime: 45,
@@ -25997,8 +25997,8 @@ const workplaceSafetyQuestionBankItems = [
25997
25997
  {
25998
25998
  id: AXPDataGenerator.uuid(),
25999
25999
  name: 'whs_severity',
26000
- title: createMultiLanguageString$1('Hazard severity (1–5)', 'شدت خطر (۱–۵)'),
26001
- question: createMultiLanguageString$1('<p>Rate <strong>potential severity</strong> if the hazard caused harm: 1 = minor, 5 = catastrophic.</p>', '<p><strong>شدت بالقوه</strong> در صورت آسیب را امتیاز دهید: ۱ = جزئی، ۵ = فاجعه‌بار.</p>'),
26000
+ title: createMultiLanguageString('Hazard severity (1–5)', 'شدت خطر (۱–۵)'),
26001
+ question: createMultiLanguageString('<p>Rate <strong>potential severity</strong> if the hazard caused harm: 1 = minor, 5 = catastrophic.</p>', '<p><strong>شدت بالقوه</strong> در صورت آسیب را امتیاز دهید: ۱ = جزئی، ۵ = فاجعه‌بار.</p>'),
26002
26002
  interface: addPathToInterface(scaleInterface, 'answers.whs_severity'),
26003
26003
  difficulty: 'medium',
26004
26004
  estimatedTime: 45,
@@ -26010,8 +26010,8 @@ const workplaceSafetyQuestionBankItems = [
26010
26010
  {
26011
26011
  id: AXPDataGenerator.uuid(),
26012
26012
  name: 'whs_detail',
26013
- title: createMultiLanguageString$1('Hazard narrative', 'شرح خطر'),
26014
- question: createMultiLanguageString$1('<p>Briefly describe the <strong>hazard, location, and any immediate controls</strong> in place.</p>', '<p>به‌طور خلاصه <strong>خطر، مکان و کنترل‌های فوری</strong> اعمال‌شده را بنویسید.</p>'),
26013
+ title: createMultiLanguageString('Hazard narrative', 'شرح خطر'),
26014
+ question: createMultiLanguageString('<p>Briefly describe the <strong>hazard, location, and any immediate controls</strong> in place.</p>', '<p>به‌طور خلاصه <strong>خطر، مکان و کنترل‌های فوری</strong> اعمال‌شده را بنویسید.</p>'),
26015
26015
  interface: addPathToInterface(longTextAnswerInterface, 'answers.whs_detail'),
26016
26016
  difficulty: 'easy',
26017
26017
  estimatedTime: 120,
@@ -26023,8 +26023,8 @@ const workplaceSafetyQuestionBankItems = [
26023
26023
  {
26024
26024
  id: AXPDataGenerator.uuid(),
26025
26025
  name: 'whs_near_miss',
26026
- title: createMultiLanguageString$1('Near-miss reported?', 'نزدیک‌خطا گزارش شده؟'),
26027
- question: createMultiLanguageString$1('<p>Are you documenting a <strong>near-miss or close call</strong> (no injury, but potential for harm)?</p>', '<p>آیا یک <strong>نزدیک‌خطا</strong> (بدون آسیب ولی با پتانسیل آسیب) ثبت می‌کنید؟</p>'),
26026
+ title: createMultiLanguageString('Near-miss reported?', 'نزدیک‌خطا گزارش شده؟'),
26027
+ question: createMultiLanguageString('<p>Are you documenting a <strong>near-miss or close call</strong> (no injury, but potential for harm)?</p>', '<p>آیا یک <strong>نزدیک‌خطا</strong> (بدون آسیب ولی با پتانسیل آسیب) ثبت می‌کنید؟</p>'),
26028
26028
  interface: addPathToInterface(yesNoInterface, 'answers.whs_near_miss'),
26029
26029
  difficulty: 'easy',
26030
26030
  estimatedTime: 30,
@@ -26036,8 +26036,8 @@ const workplaceSafetyQuestionBankItems = [
26036
26036
  {
26037
26037
  id: AXPDataGenerator.uuid(),
26038
26038
  name: 'whs_ppe_ok',
26039
- title: createMultiLanguageString$1('PPE adequate for task', 'تجهیزات حفاظت فردی مناسب وظیفه'),
26040
- question: createMultiLanguageString$1('<p>For this task, is the <strong>required PPE available, fitted, and used</strong>?</p>', '<p>برای این وظیفه، آیا <strong>تجهیزات حفاظت فردی لازم در دسترس، مناسب و استفاده‌شده</strong> است؟</p>'),
26039
+ title: createMultiLanguageString('PPE adequate for task', 'تجهیزات حفاظت فردی مناسب وظیفه'),
26040
+ question: createMultiLanguageString('<p>For this task, is the <strong>required PPE available, fitted, and used</strong>?</p>', '<p>برای این وظیفه، آیا <strong>تجهیزات حفاظت فردی لازم در دسترس، مناسب و استفاده‌شده</strong> است؟</p>'),
26041
26041
  interface: addPathToInterface(yesNoInterface, 'answers.whs_ppe_ok'),
26042
26042
  difficulty: 'easy',
26043
26043
  estimatedTime: 30,
@@ -26049,8 +26049,8 @@ const workplaceSafetyQuestionBankItems = [
26049
26049
  {
26050
26050
  id: AXPDataGenerator.uuid(),
26051
26051
  name: 'whs_ppe_gap',
26052
- title: createMultiLanguageString$1('PPE gap', 'شکاف تجهیزات حفاظت فردی'),
26053
- question: createMultiLanguageString$1('<p>Describe the <strong>PPE or guarding gap</strong> (what is missing, damaged, or not used?).</p>', '<p><strong>شکاف تجهیزات یا محافظت</strong> را شرح دهید (چه چیزی نیست، آسیب‌دیده یا استفاده نمی‌شود؟).</p>'),
26052
+ title: createMultiLanguageString('PPE gap', 'شکاف تجهیزات حفاظت فردی'),
26053
+ question: createMultiLanguageString('<p>Describe the <strong>PPE or guarding gap</strong> (what is missing, damaged, or not used?).</p>', '<p><strong>شکاف تجهیزات یا محافظت</strong> را شرح دهید (چه چیزی نیست، آسیب‌دیده یا استفاده نمی‌شود؟).</p>'),
26054
26054
  interface: addPathToInterface(longTextAnswerInterface, 'answers.whs_ppe_gap'),
26055
26055
  difficulty: 'easy',
26056
26056
  estimatedTime: 90,
@@ -26107,47 +26107,47 @@ function generateQuestionnaireCategories() {
26107
26107
  return [
26108
26108
  {
26109
26109
  id: AXPDataGenerator.uuid(),
26110
- title: createMultiLanguageString$1('General', 'عمومی'),
26111
- description: createMultiLanguageString$1('Work context and narrative', 'زمینه و روایت کار'),
26110
+ title: createMultiLanguageString('General', 'عمومی'),
26111
+ description: createMultiLanguageString('Work context and narrative', 'زمینه و روایت کار'),
26112
26112
  childrenCount: 0,
26113
26113
  },
26114
26114
  {
26115
26115
  id: organizationHrRootId,
26116
- title: createMultiLanguageString$1('Organization & Human Resources', 'سازمان و منابع انسانی'),
26117
- description: createMultiLanguageString$1('People programs: wellbeing, leadership evaluation, and related questionnaires.', 'برنامه‌های پرسنلی: رفاه، ارزیابی مدیران و پرسشنامه‌های مرتبط.'),
26116
+ title: createMultiLanguageString('Organization & Human Resources', 'سازمان و منابع انسانی'),
26117
+ description: createMultiLanguageString('People programs: wellbeing, leadership evaluation, and related questionnaires.', 'برنامه‌های پرسنلی: رفاه، ارزیابی مدیران و پرسشنامه‌های مرتبط.'),
26118
26118
  childrenCount: 2,
26119
26119
  totalChildrenCount: 2,
26120
26120
  },
26121
26121
  {
26122
26122
  id: AXPDataGenerator.uuid(),
26123
26123
  parentId: organizationHrRootId,
26124
- title: createMultiLanguageString$1('Health & Wellness', 'سلامت و رفاه'),
26125
- description: createMultiLanguageString$1('Vitals, lifestyle, and wellbeing metrics', 'علائم حیاتی، سبک زندگی و شاخص‌های سلامت'),
26124
+ title: createMultiLanguageString('Health & Wellness', 'سلامت و رفاه'),
26125
+ description: createMultiLanguageString('Vitals, lifestyle, and wellbeing metrics', 'علائم حیاتی، سبک زندگی و شاخص‌های سلامت'),
26126
26126
  childrenCount: 0,
26127
26127
  },
26128
26128
  {
26129
26129
  id: AXPDataGenerator.uuid(),
26130
26130
  parentId: organizationHrRootId,
26131
- title: createMultiLanguageString$1('Team Lead Evaluation', 'ارزیابی سرپرست تیم'),
26132
- description: createMultiLanguageString$1('Evaluation questionnaires for team leads and supervisors (company-wide templates or team-specific variants).', 'پرسشنامه‌های ارزیابی برای سرپرستان تیم و ناظران (الگوهای سراسری سازمان یا نمونه‌های اختصاصی تیم).'),
26131
+ title: createMultiLanguageString('Team Lead Evaluation', 'ارزیابی سرپرست تیم'),
26132
+ description: createMultiLanguageString('Evaluation questionnaires for team leads and supervisors (company-wide templates or team-specific variants).', 'پرسشنامه‌های ارزیابی برای سرپرستان تیم و ناظران (الگوهای سراسری سازمان یا نمونه‌های اختصاصی تیم).'),
26133
26133
  childrenCount: 0,
26134
26134
  },
26135
26135
  {
26136
26136
  id: AXPDataGenerator.uuid(),
26137
- title: createMultiLanguageString$1('Workplace Safety', 'ایمنی محل کار'),
26138
- description: createMultiLanguageString$1('Hazard exposure and severity', 'میزان مواجهه با خطر و شدت آن'),
26137
+ title: createMultiLanguageString('Workplace Safety', 'ایمنی محل کار'),
26138
+ description: createMultiLanguageString('Hazard exposure and severity', 'میزان مواجهه با خطر و شدت آن'),
26139
26139
  childrenCount: 0,
26140
26140
  },
26141
26141
  {
26142
26142
  id: AXPDataGenerator.uuid(),
26143
- title: createMultiLanguageString$1('Plant Maintenance', 'نگهداری تجهیزات'),
26144
- description: createMultiLanguageString$1('Downtime and maintenance quality', 'زمان توقف و کیفیت نگهداری'),
26143
+ title: createMultiLanguageString('Plant Maintenance', 'نگهداری تجهیزات'),
26144
+ description: createMultiLanguageString('Downtime and maintenance quality', 'زمان توقف و کیفیت نگهداری'),
26145
26145
  childrenCount: 0,
26146
26146
  },
26147
26147
  {
26148
26148
  id: AXPDataGenerator.uuid(),
26149
- title: createMultiLanguageString$1('Compliance & Permits', 'انطباق و مجوزها'),
26150
- description: createMultiLanguageString$1('Governance and assurance', 'حاکمیت و تضمین انطباق'),
26149
+ title: createMultiLanguageString('Compliance & Permits', 'انطباق و مجوزها'),
26150
+ description: createMultiLanguageString('Governance and assurance', 'حاکمیت و تضمین انطباق'),
26151
26151
  childrenCount: 0,
26152
26152
  },
26153
26153
  ];
@@ -26170,7 +26170,7 @@ const QCP = () => pickQuestionnaireCategory('Compliance & Permits');
26170
26170
  /** Questionnaires folder for team lead / supervisor evaluations. */
26171
26171
  const QTLE = () => pickQuestionnaireCategory('Team Lead Evaluation');
26172
26172
  /** Wraps outcome items in the default single-section shape used by questionnaire mocks. */
26173
- function createQuestionnaireOutcomesSection(items, title = createMultiLanguageString$1('Outcomes', 'نتایج')) {
26173
+ function createQuestionnaireOutcomesSection(items, title = createMultiLanguageString('Outcomes', 'نتایج')) {
26174
26174
  return {
26175
26175
  sections: items.length
26176
26176
  ? [
@@ -26193,15 +26193,15 @@ const CP_GOVERNANCE_OUTCOMES = [
26193
26193
  {
26194
26194
  id: AXPDataGenerator.uuid(),
26195
26195
  name: 'comp_resilience_index',
26196
- title: createMultiLanguageString$1('Resilience index', 'شاخص تاب‌آوری'),
26197
- description: createMultiLanguageString$1('Governance strength minus drill decay', 'قدرت حاکمیتی منهای کهنگی مانور'),
26196
+ title: createMultiLanguageString('Resilience index', 'شاخص تاب‌آوری'),
26197
+ description: createMultiLanguageString('Governance strength minus drill decay', 'قدرت حاکمیتی منهای کهنگی مانور'),
26198
26198
  resultKind: 'number',
26199
26199
  expression: "fn.ROUND(fn.MIN(100, fn.MAX(0, Number(answer.eval('comp_governance')) * 18 - Number(answer.eval('comp_months_drill')) * 3 + 10)), 0)",
26200
26200
  },
26201
26201
  {
26202
26202
  id: AXPDataGenerator.uuid(),
26203
26203
  name: 'comp_resilience_status',
26204
- title: createMultiLanguageString$1('Resilience status', 'وضعیت تاب‌آوری'),
26204
+ title: createMultiLanguageString('Resilience status', 'وضعیت تاب‌آوری'),
26205
26205
  resultKind: 'string',
26206
26206
  expression: "Number(outcome.eval('comp_resilience_index')) >= 70 ? 'Strong' : Number(outcome.eval('comp_resilience_index')) >= 45 ? 'Moderate' : 'Improve'",
26207
26207
  },
@@ -26212,14 +26212,14 @@ const CP_PERMITS_OUTCOMES = [
26212
26212
  {
26213
26213
  id: AXPDataGenerator.uuid(),
26214
26214
  name: 'comp_readiness_score',
26215
- title: createMultiLanguageString$1('Readiness score', 'امتیاز آمادگی'),
26215
+ title: createMultiLanguageString('Readiness score', 'امتیاز آمادگی'),
26216
26216
  resultKind: 'number',
26217
26217
  expression: "fn.ROUND(fn.MIN(100, (answer.eval('comp_audit_ready') === 'yes' ? 42 : 8) + (answer.eval('comp_permit_valid') === 'yes' ? 42 : 12) + Number(answer.eval('comp_training_current')) * 3.2), 0)",
26218
26218
  },
26219
26219
  {
26220
26220
  id: AXPDataGenerator.uuid(),
26221
26221
  name: 'comp_readiness_next_step',
26222
- title: createMultiLanguageString$1('Next step', 'گام بعدی'),
26222
+ title: createMultiLanguageString('Next step', 'گام بعدی'),
26223
26223
  resultKind: 'string',
26224
26224
  expression: "Number(outcome.eval('comp_readiness_score')) >= 75 ? 'Keep cadence' : 'Schedule remediation workshop'",
26225
26225
  },
@@ -26235,8 +26235,8 @@ const QUESTIONNAIRE_ID_CP_PERMITS = AXPDataGenerator.uuid();
26235
26235
  const compliancePermitsQuestionnaires = [
26236
26236
  {
26237
26237
  id: QUESTIONNAIRE_ID_CP_GOVERNANCE,
26238
- title: createMultiLanguageString$1('Governance & drills snapshot', 'تصویر لحظه‌ای حاکمیت و مانورها'),
26239
- description: createMultiLanguageString$1('Governance strength, drill recency, and open follow-ups — resilience index combines both dimensions.', 'قدرت حاکمیت، تازگی مانور و پیگیری‌های باز — شاخص تاب‌آوری هر دو بعد را ترکیب می‌کند.'),
26238
+ title: createMultiLanguageString('Governance & drills snapshot', 'تصویر لحظه‌ای حاکمیت و مانورها'),
26239
+ description: createMultiLanguageString('Governance strength, drill recency, and open follow-ups — resilience index combines both dimensions.', 'قدرت حاکمیت، تازگی مانور و پیگیری‌های باز — شاخص تاب‌آوری هر دو بعد را ترکیب می‌کند.'),
26240
26240
  type: 'survey',
26241
26241
  categoryIds: [QCP().id],
26242
26242
  categories: [QCP()],
@@ -26273,7 +26273,7 @@ const compliancePermitsQuestionnaires = [
26273
26273
  sections: [
26274
26274
  {
26275
26275
  id: 'section-comp-gov',
26276
- title: createMultiLanguageString$1('Governance', 'حاکمیت'),
26276
+ title: createMultiLanguageString('Governance', 'حاکمیت'),
26277
26277
  order: 1,
26278
26278
  items: [
26279
26279
  {
@@ -26292,7 +26292,7 @@ const compliancePermitsQuestionnaires = [
26292
26292
  },
26293
26293
  {
26294
26294
  id: 'section-comp-follow',
26295
- title: createMultiLanguageString$1('Follow-ups', 'پیگیری‌ها'),
26295
+ title: createMultiLanguageString('Follow-ups', 'پیگیری‌ها'),
26296
26296
  order: 2,
26297
26297
  items: [
26298
26298
  {
@@ -26317,8 +26317,8 @@ const compliancePermitsQuestionnaires = [
26317
26317
  },
26318
26318
  {
26319
26319
  id: QUESTIONNAIRE_ID_CP_PERMITS,
26320
- title: createMultiLanguageString$1('Permit & training readiness', 'آمادگی مجوز و آموزش'),
26321
- description: createMultiLanguageString$1('Audit readiness, permit currency, and role training — with detail when gaps exist.', 'آمادگی ممیزی، اعتبار مجوز و آموزش نقش — با جزئیات در صورت وجود شکاف.'),
26320
+ title: createMultiLanguageString('Permit & training readiness', 'آمادگی مجوز و آموزش'),
26321
+ description: createMultiLanguageString('Audit readiness, permit currency, and role training — with detail when gaps exist.', 'آمادگی ممیزی، اعتبار مجوز و آموزش نقش — با جزئیات در صورت وجود شکاف.'),
26322
26322
  type: 'checklist',
26323
26323
  categoryIds: [QCP().id],
26324
26324
  categories: [QCP()],
@@ -26348,7 +26348,7 @@ const compliancePermitsQuestionnaires = [
26348
26348
  sections: [
26349
26349
  {
26350
26350
  id: 'section-comp-audit',
26351
- title: createMultiLanguageString$1('Documentation', 'مستندات'),
26351
+ title: createMultiLanguageString('Documentation', 'مستندات'),
26352
26352
  order: 1,
26353
26353
  items: [
26354
26354
  {
@@ -26368,7 +26368,7 @@ const compliancePermitsQuestionnaires = [
26368
26368
  },
26369
26369
  {
26370
26370
  id: 'section-comp-permit-train',
26371
- title: createMultiLanguageString$1('Permits & training', 'مجوزها و آموزش'),
26371
+ title: createMultiLanguageString('Permits & training', 'مجوزها و آموزش'),
26372
26372
  order: 2,
26373
26373
  items: [
26374
26374
  {
@@ -26414,15 +26414,15 @@ const GENERAL_TEAM_PULSE_OUTCOMES = [
26414
26414
  {
26415
26415
  id: AXPDataGenerator.uuid(),
26416
26416
  name: 'gen_alignment_index',
26417
- title: createMultiLanguageString$1('Alignment index', 'شاخص هم‌ترازی'),
26418
- description: createMultiLanguageString$1('0–100 from two 1–5 ratings', '۰–۱۰۰ از دو امتیاز ۱–۵'),
26417
+ title: createMultiLanguageString('Alignment index', 'شاخص هم‌ترازی'),
26418
+ description: createMultiLanguageString('0–100 from two 1–5 ratings', '۰–۱۰۰ از دو امتیاز ۱–۵'),
26419
26419
  resultKind: 'number',
26420
26420
  expression: "fn.ROUND(((Number(answer.eval('gen_priority_clarity')) + Number(answer.eval('gen_manager_support'))) / 2 - 1) / 4 * 100, 0)",
26421
26421
  },
26422
26422
  {
26423
26423
  id: AXPDataGenerator.uuid(),
26424
26424
  name: 'gen_alignment_band',
26425
- title: createMultiLanguageString$1('Alignment band', 'باند هم‌ترازی'),
26425
+ title: createMultiLanguageString('Alignment band', 'باند هم‌ترازی'),
26426
26426
  resultKind: 'string',
26427
26427
  expression: "Number(outcome.eval('gen_alignment_index')) >= 70 ? 'Aligned' : Number(outcome.eval('gen_alignment_index')) >= 40 ? 'Mixed' : 'At risk'",
26428
26428
  },
@@ -26433,15 +26433,15 @@ const GENERAL_OFFICE_QUALITY_OUTCOMES = [
26433
26433
  {
26434
26434
  id: AXPDataGenerator.uuid(),
26435
26435
  name: 'office_quality_index',
26436
- title: createMultiLanguageString$1('Office quality index', 'شاخص کیفیت محیط اداری'),
26437
- description: createMultiLanguageString$1('0–100 from seven 1–5 ratings (ergonomics through amenities)', '۰–۱۰۰ از هفت امتیاز ۱–۵ (ارگونومی تا امکانات)'),
26436
+ title: createMultiLanguageString('Office quality index', 'شاخص کیفیت محیط اداری'),
26437
+ description: createMultiLanguageString('0–100 from seven 1–5 ratings (ergonomics through amenities)', '۰–۱۰۰ از هفت امتیاز ۱–۵ (ارگونومی تا امکانات)'),
26438
26438
  resultKind: 'number',
26439
26439
  expression: "fn.ROUND(((Number(answer.eval('off_ergo')) + Number(answer.eval('off_light')) + Number(answer.eval('off_noise')) + Number(answer.eval('off_climate')) + Number(answer.eval('off_space')) + Number(answer.eval('off_focus')) + Number(answer.eval('off_amenities'))) / 7 - 1) / 4 * 100, 0)",
26440
26440
  },
26441
26441
  {
26442
26442
  id: AXPDataGenerator.uuid(),
26443
26443
  name: 'office_quality_band',
26444
- title: createMultiLanguageString$1('Office quality band', 'باند کیفیت محیط اداری'),
26444
+ title: createMultiLanguageString('Office quality band', 'باند کیفیت محیط اداری'),
26445
26445
  resultKind: 'string',
26446
26446
  expression: "Number(outcome.eval('office_quality_index')) >= 75 ? 'Good' : Number(outcome.eval('office_quality_index')) >= 50 ? 'Fair' : 'Poor'",
26447
26447
  },
@@ -26459,8 +26459,8 @@ const QUESTIONNAIRE_ID_GENERAL_OFFICE_QUALITY = AXPDataGenerator.uuid();
26459
26459
  const generalQuestionnaires = [
26460
26460
  {
26461
26461
  id: QUESTIONNAIRE_ID_GENERAL_SITE_BRIEF,
26462
- title: createMultiLanguageString$1('Site check-in & safety brief', 'ثبت حضور در محل و توجیه ایمنی'),
26463
- description: createMultiLanguageString$1('Where you work, your role, and whether the task-specific brief was adequate — with follow-up if not.', 'محل کار، نقش شما و کفایت توجیه ایمنی مرتبط با وظیفه — با پیگیری در صورت ناکافی بودن.'),
26462
+ title: createMultiLanguageString('Site check-in & safety brief', 'ثبت حضور در محل و توجیه ایمنی'),
26463
+ description: createMultiLanguageString('Where you work, your role, and whether the task-specific brief was adequate — with follow-up if not.', 'محل کار، نقش شما و کفایت توجیه ایمنی مرتبط با وظیفه — با پیگیری در صورت ناکافی بودن.'),
26464
26464
  type: 'checklist',
26465
26465
  categoryIds: [QGEN().id],
26466
26466
  categories: [QGEN()],
@@ -26487,8 +26487,8 @@ const generalQuestionnaires = [
26487
26487
  sections: [
26488
26488
  {
26489
26489
  id: 'section-gen-context',
26490
- title: createMultiLanguageString$1('Context', 'زمینه'),
26491
- description: createMultiLanguageString$1('Site and role for this visit', 'محل کار و نقش برای این بازدید'),
26490
+ title: createMultiLanguageString('Context', 'زمینه'),
26491
+ description: createMultiLanguageString('Site and role for this visit', 'محل کار و نقش برای این بازدید'),
26492
26492
  order: 1,
26493
26493
  items: [
26494
26494
  { id: 'gen_worksite', questionBankItemId: q$7('gen_worksite').id, order: 1, isRequired: true },
@@ -26498,8 +26498,8 @@ const generalQuestionnaires = [
26498
26498
  },
26499
26499
  {
26500
26500
  id: 'section-gen-brief',
26501
- title: createMultiLanguageString$1('Safety brief', 'توجیه ایمنی'),
26502
- description: createMultiLanguageString$1('Task-specific communication', 'ارتباط ویژهٔ وظیفه'),
26501
+ title: createMultiLanguageString('Safety brief', 'توجیه ایمنی'),
26502
+ description: createMultiLanguageString('Task-specific communication', 'ارتباط ویژهٔ وظیفه'),
26503
26503
  order: 2,
26504
26504
  items: [
26505
26505
  {
@@ -26530,8 +26530,8 @@ const generalQuestionnaires = [
26530
26530
  },
26531
26531
  {
26532
26532
  id: QUESTIONNAIRE_ID_GENERAL_TEAM_PULSE,
26533
- title: createMultiLanguageString$1('Team alignment pulse', 'نبض هم‌ترازی تیم'),
26534
- description: createMultiLanguageString$1('Short ratings on clarity and support, plus an open concern — summarized as an alignment index (0–100).', 'امتیاز کوتاه برای شفافیت و حمایت، به‌همراه یک نگرانی آزاد — خلاصه به‌صورت شاخص هم‌ترازی (۰–۱۰۰).'),
26533
+ title: createMultiLanguageString('Team alignment pulse', 'نبض هم‌ترازی تیم'),
26534
+ description: createMultiLanguageString('Short ratings on clarity and support, plus an open concern — summarized as an alignment index (0–100).', 'امتیاز کوتاه برای شفافیت و حمایت، به‌همراه یک نگرانی آزاد — خلاصه به‌صورت شاخص هم‌ترازی (۰–۱۰۰).'),
26535
26535
  type: 'survey',
26536
26536
  categoryIds: [QGEN().id],
26537
26537
  categories: [QGEN()],
@@ -26568,7 +26568,7 @@ const generalQuestionnaires = [
26568
26568
  sections: [
26569
26569
  {
26570
26570
  id: 'section-gen-pulse-ratings',
26571
- title: createMultiLanguageString$1('Ratings', 'امتیازها'),
26571
+ title: createMultiLanguageString('Ratings', 'امتیازها'),
26572
26572
  order: 1,
26573
26573
  items: [
26574
26574
  {
@@ -26587,7 +26587,7 @@ const generalQuestionnaires = [
26587
26587
  },
26588
26588
  {
26589
26589
  id: 'section-gen-pulse-open',
26590
- title: createMultiLanguageString$1('Open input', 'ورودی آزاد'),
26590
+ title: createMultiLanguageString('Open input', 'ورودی آزاد'),
26591
26591
  order: 2,
26592
26592
  items: [
26593
26593
  {
@@ -26612,8 +26612,8 @@ const generalQuestionnaires = [
26612
26612
  },
26613
26613
  {
26614
26614
  id: QUESTIONNAIRE_ID_GENERAL_OFFICE_QUALITY,
26615
- title: createMultiLanguageString$1('Office workplace quality', 'کیفیت محیط کار اداری'),
26616
- description: createMultiLanguageString$1('Rates ergonomics, lighting, noise, climate, space, focus, and amenities — summarized as a 0–100 workplace quality index.', 'ارگونومی، نور، صدا، اقلیم، فضا، تمرکز و امکانات را امتیاز می‌دهد — خلاصه به‌صورت شاخص ۰–۱۰۰ کیفیت محیط کار.'),
26615
+ title: createMultiLanguageString('Office workplace quality', 'کیفیت محیط کار اداری'),
26616
+ description: createMultiLanguageString('Rates ergonomics, lighting, noise, climate, space, focus, and amenities — summarized as a 0–100 workplace quality index.', 'ارگونومی، نور، صدا، اقلیم، فضا، تمرکز و امکانات را امتیاز می‌دهد — خلاصه به‌صورت شاخص ۰–۱۰۰ کیفیت محیط کار.'),
26617
26617
  type: 'survey',
26618
26618
  categoryIds: [QGEN().id],
26619
26619
  categories: [QGEN()],
@@ -26650,8 +26650,8 @@ const generalQuestionnaires = [
26650
26650
  sections: [
26651
26651
  {
26652
26652
  id: 'section-office-physical',
26653
- title: createMultiLanguageString$1('Physical environment', 'محیط فیزیکی'),
26654
- description: createMultiLanguageString$1('Comfort and ergonomics', 'راحتی و ارگونومی'),
26653
+ title: createMultiLanguageString('Physical environment', 'محیط فیزیکی'),
26654
+ description: createMultiLanguageString('Comfort and ergonomics', 'راحتی و ارگونومی'),
26655
26655
  order: 1,
26656
26656
  items: [
26657
26657
  { id: 'off_ergo', questionBankItemId: q$7('off_ergo').id, order: 1, isRequired: true },
@@ -26662,7 +26662,7 @@ const generalQuestionnaires = [
26662
26662
  },
26663
26663
  {
26664
26664
  id: 'section-office-space',
26665
- title: createMultiLanguageString$1('Space & focus', 'فضا و تمرکز'),
26665
+ title: createMultiLanguageString('Space & focus', 'فضا و تمرکز'),
26666
26666
  order: 2,
26667
26667
  items: [
26668
26668
  { id: 'off_space', questionBankItemId: q$7('off_space').id, order: 1, isRequired: true },
@@ -26672,7 +26672,7 @@ const generalQuestionnaires = [
26672
26672
  },
26673
26673
  {
26674
26674
  id: 'section-office-feedback',
26675
- title: createMultiLanguageString$1('Feedback', 'بازخورد'),
26675
+ title: createMultiLanguageString('Feedback', 'بازخورد'),
26676
26676
  order: 3,
26677
26677
  items: [
26678
26678
  {
@@ -26705,64 +26705,64 @@ const TEAM_LEAD_COMPANY_WIDE_OUTCOMES = [
26705
26705
  {
26706
26706
  id: AXPDataGenerator.uuid(),
26707
26707
  name: 'tls_pillar_technical_index',
26708
- title: createMultiLanguageString$1('Technical pillar index', 'شاخص ستون فنی'),
26709
- description: createMultiLanguageString$1('0–100 from nine 1–5 ratings (technical & professional)', '۰–۱۰۰ از نه امتیاز ۱–۵ (فنی و حرفه‌ای)'),
26708
+ title: createMultiLanguageString('Technical pillar index', 'شاخص ستون فنی'),
26709
+ description: createMultiLanguageString('0–100 from nine 1–5 ratings (technical & professional)', '۰–۱۰۰ از نه امتیاز ۱–۵ (فنی و حرفه‌ای)'),
26710
26710
  resultKind: 'number',
26711
26711
  expression: "fn.ROUND(((Number(answer.eval('tls_tp_stack_tools')) + Number(answer.eval('tls_tp_code_quality')) + Number(answer.eval('tls_tp_complex_problems')) + Number(answer.eval('tls_tp_architecture_decisions')) + Number(answer.eval('tls_tp_best_practices')) + Number(answer.eval('tls_tp_code_review_feedback')) + Number(answer.eval('tls_tp_debugging')) + Number(answer.eval('tls_tp_knowledge_currency')) + Number(answer.eval('tls_tp_mentoring_transfer'))) / 9 - 1) / 4 * 100, 0)",
26712
26712
  },
26713
26713
  {
26714
26714
  id: AXPDataGenerator.uuid(),
26715
26715
  name: 'tls_pillar_behavioral_index',
26716
- title: createMultiLanguageString$1('Behavioral pillar index', 'شاخص ستون رفتاری'),
26717
- description: createMultiLanguageString$1('0–100 from seven 1–5 ratings', '۰–۱۰۰ از هفت امتیاز ۱–۵'),
26716
+ title: createMultiLanguageString('Behavioral pillar index', 'شاخص ستون رفتاری'),
26717
+ description: createMultiLanguageString('0–100 from seven 1–5 ratings', '۰–۱۰۰ از هفت امتیاز ۱–۵'),
26718
26718
  resultKind: 'number',
26719
26719
  expression: "fn.ROUND(((Number(answer.eval('tls_bc_team_communication')) + Number(answer.eval('tls_bc_meetings_participation')) + Number(answer.eval('tls_bc_listening_inclusion')) + Number(answer.eval('tls_bc_feedback_tone')) + Number(answer.eval('tls_bc_disagreement_handling')) + Number(answer.eval('tls_bc_pressure_composure')) + Number(answer.eval('tls_bc_trust_collaboration'))) / 7 - 1) / 4 * 100, 0)",
26720
26720
  },
26721
26721
  {
26722
26722
  id: AXPDataGenerator.uuid(),
26723
26723
  name: 'tls_pillar_management_index',
26724
- title: createMultiLanguageString$1('Management pillar index', 'شاخص ستون مدیریتی'),
26725
- description: createMultiLanguageString$1('0–100 from ten 1–5 ratings', '۰–۱۰۰ از ده امتیاز ۱–۵'),
26724
+ title: createMultiLanguageString('Management pillar index', 'شاخص ستون مدیریتی'),
26725
+ description: createMultiLanguageString('0–100 from ten 1–5 ratings', '۰–۱۰۰ از ده امتیاز ۱–۵'),
26726
26726
  resultKind: 'number',
26727
26727
  expression: "fn.ROUND(((Number(answer.eval('tls_ml_work_distribution')) + Number(answer.eval('tls_ml_backlog_priorities')) + Number(answer.eval('tls_ml_agile_meetings')) + Number(answer.eval('tls_ml_task_breakdown')) + Number(answer.eval('tls_ml_progress_tracking')) + Number(answer.eval('tls_ml_blockers')) + Number(answer.eval('tls_ml_timely_decisions')) + Number(answer.eval('tls_ml_growth_coaching')) + Number(answer.eval('tls_ml_delivery_timing')) + Number(answer.eval('tls_ml_crisis_leadership'))) / 10 - 1) / 4 * 100, 0)",
26728
26728
  },
26729
26729
  {
26730
26730
  id: AXPDataGenerator.uuid(),
26731
26731
  name: 'tls_pillar_business_index',
26732
- title: createMultiLanguageString$1('Business pillar index', 'شاخص ستون کسب‌وکار'),
26733
- description: createMultiLanguageString$1('0–100 from eight 1–5 ratings', '۰–۱۰۰ از هشت امتیاز ۱–۵'),
26732
+ title: createMultiLanguageString('Business pillar index', 'شاخص ستون کسب‌وکار'),
26733
+ description: createMultiLanguageString('0–100 from eight 1–5 ratings', '۰–۱۰۰ از هشت امتیاز ۱–۵'),
26734
26734
  resultKind: 'number',
26735
26735
  expression: "fn.ROUND(((Number(answer.eval('tls_bo_product_user_understanding')) + Number(answer.eval('tls_bo_business_impact')) + Number(answer.eval('tls_bo_quality_time_cost')) + Number(answer.eval('tls_bo_value_prioritization')) + Number(answer.eval('tls_bo_product_owner_sync')) + Number(answer.eval('tls_bo_requirements_handoff')) + Number(answer.eval('tls_bo_roadmap_awareness')) + Number(answer.eval('tls_bo_customer_value'))) / 8 - 1) / 4 * 100, 0)",
26736
26736
  },
26737
26737
  {
26738
26738
  id: AXPDataGenerator.uuid(),
26739
26739
  name: 'tls_overall_competency_index',
26740
- title: createMultiLanguageString$1('Overall competency index', 'شاخص شایستگی کلی'),
26741
- description: createMultiLanguageString$1('0–100 across all 34 items (same weight per question)', '۰–۱۰۰ روی هر ۳۴ سوال (وزن یکسان)'),
26740
+ title: createMultiLanguageString('Overall competency index', 'شاخص شایستگی کلی'),
26741
+ description: createMultiLanguageString('0–100 across all 34 items (same weight per question)', '۰–۱۰۰ روی هر ۳۴ سوال (وزن یکسان)'),
26742
26742
  resultKind: 'number',
26743
26743
  expression: "fn.ROUND(((Number(answer.eval('tls_tp_stack_tools')) + Number(answer.eval('tls_tp_code_quality')) + Number(answer.eval('tls_tp_complex_problems')) + Number(answer.eval('tls_tp_architecture_decisions')) + Number(answer.eval('tls_tp_best_practices')) + Number(answer.eval('tls_tp_code_review_feedback')) + Number(answer.eval('tls_tp_debugging')) + Number(answer.eval('tls_tp_knowledge_currency')) + Number(answer.eval('tls_tp_mentoring_transfer')) + Number(answer.eval('tls_bc_team_communication')) + Number(answer.eval('tls_bc_meetings_participation')) + Number(answer.eval('tls_bc_listening_inclusion')) + Number(answer.eval('tls_bc_feedback_tone')) + Number(answer.eval('tls_bc_disagreement_handling')) + Number(answer.eval('tls_bc_pressure_composure')) + Number(answer.eval('tls_bc_trust_collaboration')) + Number(answer.eval('tls_ml_work_distribution')) + Number(answer.eval('tls_ml_backlog_priorities')) + Number(answer.eval('tls_ml_agile_meetings')) + Number(answer.eval('tls_ml_task_breakdown')) + Number(answer.eval('tls_ml_progress_tracking')) + Number(answer.eval('tls_ml_blockers')) + Number(answer.eval('tls_ml_timely_decisions')) + Number(answer.eval('tls_ml_growth_coaching')) + Number(answer.eval('tls_ml_delivery_timing')) + Number(answer.eval('tls_ml_crisis_leadership')) + Number(answer.eval('tls_bo_product_user_understanding')) + Number(answer.eval('tls_bo_business_impact')) + Number(answer.eval('tls_bo_quality_time_cost')) + Number(answer.eval('tls_bo_value_prioritization')) + Number(answer.eval('tls_bo_product_owner_sync')) + Number(answer.eval('tls_bo_requirements_handoff')) + Number(answer.eval('tls_bo_roadmap_awareness')) + Number(answer.eval('tls_bo_customer_value'))) / 34 - 1) / 4 * 100, 0)",
26744
26744
  },
26745
26745
  {
26746
26746
  id: AXPDataGenerator.uuid(),
26747
26747
  name: 'tls_competency_band',
26748
- title: createMultiLanguageString$1('Overall competency band', 'باند شایستگی کلی'),
26749
- description: createMultiLanguageString$1('Interpretation of tls_overall_competency_index', 'تفسیر شاخص شایستگی کلی'),
26748
+ title: createMultiLanguageString('Overall competency band', 'باند شایستگی کلی'),
26749
+ description: createMultiLanguageString('Interpretation of tls_overall_competency_index', 'تفسیر شاخص شایستگی کلی'),
26750
26750
  resultKind: 'string',
26751
26751
  expression: "Number(outcome.eval('tls_overall_competency_index')) >= 80 ? 'Leading' : Number(outcome.eval('tls_overall_competency_index')) >= 65 ? 'Strong' : Number(outcome.eval('tls_overall_competency_index')) >= 50 ? 'Solid' : Number(outcome.eval('tls_overall_competency_index')) >= 35 ? 'Developing' : 'Priority focus'",
26752
26752
  },
26753
26753
  {
26754
26754
  id: AXPDataGenerator.uuid(),
26755
26755
  name: 'tls_pillar_balance_spread',
26756
- title: createMultiLanguageString$1('Pillar balance spread', 'پراکندگی تعادل ستون‌ها'),
26757
- description: createMultiLanguageString$1('Difference between strongest and weakest pillar index (0–100)', 'تفاوت بین بالاترین و پایین‌ترین شاخص ستون (۰–۱۰۰)'),
26756
+ title: createMultiLanguageString('Pillar balance spread', 'پراکندگی تعادل ستون‌ها'),
26757
+ description: createMultiLanguageString('Difference between strongest and weakest pillar index (0–100)', 'تفاوت بین بالاترین و پایین‌ترین شاخص ستون (۰–۱۰۰)'),
26758
26758
  resultKind: 'number',
26759
26759
  expression: "fn.ROUND(fn.MAX(fn.MAX(Number(outcome.eval('tls_pillar_technical_index')), Number(outcome.eval('tls_pillar_behavioral_index'))), fn.MAX(Number(outcome.eval('tls_pillar_management_index')), Number(outcome.eval('tls_pillar_business_index')))) - fn.MIN(fn.MIN(Number(outcome.eval('tls_pillar_technical_index')), Number(outcome.eval('tls_pillar_behavioral_index'))), fn.MIN(Number(outcome.eval('tls_pillar_management_index')), Number(outcome.eval('tls_pillar_business_index')))), 0)",
26760
26760
  },
26761
26761
  {
26762
26762
  id: AXPDataGenerator.uuid(),
26763
26763
  name: 'tls_priority_focus_pillar',
26764
- title: createMultiLanguageString$1('Priority focus pillar', 'ستون تمرکز اولویت'),
26765
- description: createMultiLanguageString$1('Pillar with the lowest index (coaching hint)', 'ستونی با کمترین شاخص (راهنمای کوچینگ)'),
26764
+ title: createMultiLanguageString('Priority focus pillar', 'ستون تمرکز اولویت'),
26765
+ description: createMultiLanguageString('Pillar with the lowest index (coaching hint)', 'ستونی با کمترین شاخص (راهنمای کوچینگ)'),
26766
26766
  resultKind: 'string',
26767
26767
  expression: "Number(outcome.eval('tls_pillar_technical_index')) <= Number(outcome.eval('tls_pillar_behavioral_index')) && Number(outcome.eval('tls_pillar_technical_index')) <= Number(outcome.eval('tls_pillar_management_index')) && Number(outcome.eval('tls_pillar_technical_index')) <= Number(outcome.eval('tls_pillar_business_index')) ? 'Technical & professional' : Number(outcome.eval('tls_pillar_behavioral_index')) <= Number(outcome.eval('tls_pillar_technical_index')) && Number(outcome.eval('tls_pillar_behavioral_index')) <= Number(outcome.eval('tls_pillar_management_index')) && Number(outcome.eval('tls_pillar_behavioral_index')) <= Number(outcome.eval('tls_pillar_business_index')) ? 'Behavioral & communication' : Number(outcome.eval('tls_pillar_management_index')) <= Number(outcome.eval('tls_pillar_technical_index')) && Number(outcome.eval('tls_pillar_management_index')) <= Number(outcome.eval('tls_pillar_behavioral_index')) && Number(outcome.eval('tls_pillar_management_index')) <= Number(outcome.eval('tls_pillar_business_index')) ? 'Management & leadership' : 'Business & organizational'",
26768
26768
  },
@@ -26778,8 +26778,8 @@ const QUESTIONNAIRE_ID_TEAM_LEAD_COMPANY_WIDE = AXPDataGenerator.uuid();
26778
26778
  const teamLeadCompetenciesQuestionnaires = [
26779
26779
  {
26780
26780
  id: QUESTIONNAIRE_ID_TEAM_LEAD_COMPANY_WIDE,
26781
- title: createMultiLanguageString$1('Team lead competencies (company-wide)', 'شایستگی‌های سرپرست تیم (سراسری)'),
26782
- description: createMultiLanguageString$1('Four-pillar team-lead evaluation for software teams: technical, behavioral, management, and business alignment.', 'ارزیابی چهارستونه سرپرست تیم برای تیم‌های نرم‌افزار: فنی، رفتاری، مدیریتی و هم‌راستایی کسب‌وکار.'),
26781
+ title: createMultiLanguageString('Team lead competencies (company-wide)', 'شایستگی‌های سرپرست تیم (سراسری)'),
26782
+ description: createMultiLanguageString('Four-pillar team-lead evaluation for software teams: technical, behavioral, management, and business alignment.', 'ارزیابی چهارستونه سرپرست تیم برای تیم‌های نرم‌افزار: فنی، رفتاری، مدیریتی و هم‌راستایی کسب‌وکار.'),
26783
26783
  type: 'evaluation',
26784
26784
  categoryIds: [QTLE().id],
26785
26785
  categories: [QTLE()],
@@ -26820,8 +26820,8 @@ const teamLeadCompetenciesQuestionnaires = [
26820
26820
  sections: [
26821
26821
  {
26822
26822
  id: 'section-tls-technical',
26823
- title: createMultiLanguageString$1('Technical & professional competencies', 'شایستگی‌های فنی و حرفه‌ای'),
26824
- description: createMultiLanguageString$1('Technology stack, code quality, architecture, and engineering practices', 'پشته فناوری، کیفیت کد، معماری و شیوه‌های مهندسی'),
26823
+ title: createMultiLanguageString('Technical & professional competencies', 'شایستگی‌های فنی و حرفه‌ای'),
26824
+ description: createMultiLanguageString('Technology stack, code quality, architecture, and engineering practices', 'پشته فناوری، کیفیت کد، معماری و شیوه‌های مهندسی'),
26825
26825
  order: 1,
26826
26826
  scoringWeight: 1,
26827
26827
  items: [
@@ -26868,8 +26868,8 @@ const teamLeadCompetenciesQuestionnaires = [
26868
26868
  },
26869
26869
  {
26870
26870
  id: 'section-tls-behavioral',
26871
- title: createMultiLanguageString$1('Behavioral & communication competencies', 'شایستگی‌های رفتاری و ارتباطی'),
26872
- description: createMultiLanguageString$1('Communication, meetings, feedback, and team climate', 'ارتباط، جلسات، بازخورد و فضای تیم'),
26871
+ title: createMultiLanguageString('Behavioral & communication competencies', 'شایستگی‌های رفتاری و ارتباطی'),
26872
+ description: createMultiLanguageString('Communication, meetings, feedback, and team climate', 'ارتباط، جلسات، بازخورد و فضای تیم'),
26873
26873
  order: 2,
26874
26874
  scoringWeight: 1,
26875
26875
  items: [
@@ -26919,8 +26919,8 @@ const teamLeadCompetenciesQuestionnaires = [
26919
26919
  },
26920
26920
  {
26921
26921
  id: 'section-tls-management',
26922
- title: createMultiLanguageString$1('Management & leadership competencies', 'شایستگی‌های مدیریتی و رهبری'),
26923
- description: createMultiLanguageString$1('Planning, Agile ceremonies, follow-up, and team leadership', 'برنامه‌ریزی، مراسم چابک، پیگیری و رهبری تیم'),
26922
+ title: createMultiLanguageString('Management & leadership competencies', 'شایستگی‌های مدیریتی و رهبری'),
26923
+ description: createMultiLanguageString('Planning, Agile ceremonies, follow-up, and team leadership', 'برنامه‌ریزی، مراسم چابک، پیگیری و رهبری تیم'),
26924
26924
  order: 3,
26925
26925
  scoringWeight: 1,
26926
26926
  items: [
@@ -26983,8 +26983,8 @@ const teamLeadCompetenciesQuestionnaires = [
26983
26983
  },
26984
26984
  {
26985
26985
  id: 'section-tls-business',
26986
- title: createMultiLanguageString$1('Business & organizational competencies', 'شایستگی‌های کسب‌وکار و سازمانی'),
26987
- description: createMultiLanguageString$1('Product, business value, requirements, and customer focus', 'محصول، ارزش کسب‌وکار، نیازمندی‌ها و تمرکز بر مشتری'),
26986
+ title: createMultiLanguageString('Business & organizational competencies', 'شایستگی‌های کسب‌وکار و سازمانی'),
26987
+ description: createMultiLanguageString('Product, business value, requirements, and customer focus', 'محصول، ارزش کسب‌وکار، نیازمندی‌ها و تمرکز بر مشتری'),
26988
26988
  order: 4,
26989
26989
  scoringWeight: 1,
26990
26990
  items: [
@@ -27071,8 +27071,8 @@ const HEALTH_BMI_OUTCOMES = [
27071
27071
  {
27072
27072
  id: AXPDataGenerator.uuid(),
27073
27073
  name: 'bmi',
27074
- title: createMultiLanguageString$1('BMI', 'شاخص تودهٔ بدنی'),
27075
- description: createMultiLanguageString$1('Body mass index (kg/m²) from height (cm) and weight (kg)', 'شاخص تودهٔ بدنی (kg/m²) از قد (سانتی‌متر) و وزن (کیلوگرم)'),
27074
+ title: createMultiLanguageString('BMI', 'شاخص تودهٔ بدنی'),
27075
+ description: createMultiLanguageString('Body mass index (kg/m²) from height (cm) and weight (kg)', 'شاخص تودهٔ بدنی (kg/m²) از قد (سانتی‌متر) و وزن (کیلوگرم)'),
27076
27076
  resultKind: 'number',
27077
27077
  expression: "fn.ROUND(Number(answer.eval('weight_kg')) / ((Number(answer.eval('height_cm')) / 100) ** 2), 1)",
27078
27078
  displayRules: [
@@ -27117,8 +27117,8 @@ const HEALTH_BMI_OUTCOMES = [
27117
27117
  {
27118
27118
  id: AXPDataGenerator.uuid(),
27119
27119
  name: 'egfr_mdrd',
27120
- title: createMultiLanguageString$1('eGFR (MDRD)', 'eGFR (MDRD)'),
27121
- description: createMultiLanguageString$1('MDRD study equation (Scr mg/dL, age years); female multiplier 0.742.', 'معادلهٔ مطالعهٔ MDRD (کراتینین سرم mg/dL، سن به سال); ضریب ۰٫۷۴۲ برای زنان'),
27120
+ title: createMultiLanguageString('eGFR (MDRD)', 'eGFR (MDRD)'),
27121
+ description: createMultiLanguageString('MDRD study equation (Scr mg/dL, age years); female multiplier 0.742.', 'معادلهٔ مطالعهٔ MDRD (کراتینین سرم mg/dL، سن به سال); ضریب ۰٫۷۴۲ برای زنان'),
27122
27122
  resultKind: 'number',
27123
27123
  expression: "fn.ROUND(175 * (Number(answer.eval('scr_mg_dl')) ** -1.154) * (Number(answer.eval('age_years')) ** -0.203) * (answer.eval('sex') === 'female' ? 0.742 : 1), 1)",
27124
27124
  displayRules: [
@@ -27172,8 +27172,8 @@ const HEALTH_BMI_OUTCOMES = [
27172
27172
  {
27173
27173
  id: AXPDataGenerator.uuid(),
27174
27174
  name: 'bmi_category',
27175
- title: createMultiLanguageString$1('BMI category', 'دستهٔ BMI'),
27176
- description: createMultiLanguageString$1('WHO-style categories from computed BMI', 'دسته‌بندی سبک سازمان جهانی بهداشت بر اساس BMI محاسبه‌شده'),
27175
+ title: createMultiLanguageString('BMI category', 'دستهٔ BMI'),
27176
+ description: createMultiLanguageString('WHO-style categories from computed BMI', 'دسته‌بندی سبک سازمان جهانی بهداشت بر اساس BMI محاسبه‌شده'),
27177
27177
  resultKind: 'string',
27178
27178
  expression: "fn.IF(!Number.isFinite(Number(outcome.eval('bmi'))), '', Number(outcome.eval('bmi')) < 18.5 ? 'Underweight' : Number(outcome.eval('bmi')) < 25 ? 'Normal' : Number(outcome.eval('bmi')) < 30 ? 'Overweight' : 'Obese')",
27179
27179
  displayRules: [
@@ -27218,8 +27218,8 @@ const HEALTH_BMI_OUTCOMES = [
27218
27218
  {
27219
27219
  id: AXPDataGenerator.uuid(),
27220
27220
  name: 'egfr_category',
27221
- title: createMultiLanguageString$1('eGFR category', 'دستهٔ eGFR'),
27222
- description: createMultiLanguageString$1('KDIGO-style kidney function stage from computed eGFR (MDRD)', 'مرحلهٔ عملکرد کلیه بر اساس eGFR محاسبه‌شده (MDRD) به سبک KDIGO'),
27221
+ title: createMultiLanguageString('eGFR category', 'دستهٔ eGFR'),
27222
+ description: createMultiLanguageString('KDIGO-style kidney function stage from computed eGFR (MDRD)', 'مرحلهٔ عملکرد کلیه بر اساس eGFR محاسبه‌شده (MDRD) به سبک KDIGO'),
27223
27223
  resultKind: 'string',
27224
27224
  expression: "fn.IF(!Number.isFinite(Number(outcome.eval('egfr_mdrd'))), '', Number(outcome.eval('egfr_mdrd')) >= 90 ? 'Normal' : Number(outcome.eval('egfr_mdrd')) >= 60 ? 'Mildly decreased' : Number(outcome.eval('egfr_mdrd')) >= 30 ? 'Moderately decreased' : Number(outcome.eval('egfr_mdrd')) >= 15 ? 'Severely decreased' : 'Kidney failure')",
27225
27225
  displayRules: [
@@ -27277,16 +27277,16 @@ const HEALTH_WELLBEING_OUTCOMES = [
27277
27277
  {
27278
27278
  id: AXPDataGenerator.uuid(),
27279
27279
  name: 'wellness_index',
27280
- title: createMultiLanguageString$1('Lifestyle index', 'شاخص سبک زندگی'),
27281
- description: createMultiLanguageString$1('Weighted 0–100 from sleep, inverse stress, exercise, hydration, energy', 'میانگین وزنی ۰–۱۰۰ از خواب، کاهش استرس، ورزش، آبرسانی و انرژی'),
27280
+ title: createMultiLanguageString('Lifestyle index', 'شاخص سبک زندگی'),
27281
+ description: createMultiLanguageString('Weighted 0–100 from sleep, inverse stress, exercise, hydration, energy', 'میانگین وزنی ۰–۱۰۰ از خواب، کاهش استرس، ورزش، آبرسانی و انرژی'),
27282
27282
  resultKind: 'number',
27283
27283
  expression: "fn.ROUND((fn.IF(Number(answer.eval('sleep_h')) > 10, 10, Number(answer.eval('sleep_h')))) / 10 * 20 + (6 - Number(answer.eval('stress_lv'))) / 5 * 20 + (fn.IF(Number(answer.eval('exercise_m')) > 300, 300, Number(answer.eval('exercise_m')))) / 300 * 20 + (fn.IF(Number(answer.eval('water_g')) > 12, 12, Number(answer.eval('water_g')))) / 12 * 20 + Number(answer.eval('energy_lv')) / 5 * 20, 0)",
27284
27284
  },
27285
27285
  {
27286
27286
  id: AXPDataGenerator.uuid(),
27287
27287
  name: 'wellness_band',
27288
- title: createMultiLanguageString$1('Lifestyle band', 'باند سبک زندگی'),
27289
- description: createMultiLanguageString$1('Interpretation of composite index', 'تفسیر شاخص ترکیبی'),
27288
+ title: createMultiLanguageString('Lifestyle band', 'باند سبک زندگی'),
27289
+ description: createMultiLanguageString('Interpretation of composite index', 'تفسیر شاخص ترکیبی'),
27290
27290
  resultKind: 'string',
27291
27291
  expression: "Number(outcome.eval('wellness_index')) >= 75 ? 'Thriving' : Number(outcome.eval('wellness_index')) >= 50 ? 'Balanced' : 'Plan support'",
27292
27292
  },
@@ -27302,8 +27302,8 @@ const QUESTIONNAIRE_ID_HEALTH_WELLBEING = AXPDataGenerator.uuid();
27302
27302
  const healthWellnessQuestionnaires = [
27303
27303
  {
27304
27304
  id: QUESTIONNAIRE_ID_HEALTH_BMI,
27305
- title: createMultiLanguageString$1('Occupational health — BMI & eGFR', 'سلامت شغلی — BMI و eGFR'),
27306
- description: createMultiLanguageString$1('Height, weight, age, sex, and serum creatinine; outcomes derive BMI, WHO-style category, and eGFR (MDRD).', 'قد، وزن، سن، جنس و کراتینین سرم؛ محاسبهٔ BMI، دستهٔ سازمان جهانی بهداشت و eGFR (MDRD).'),
27305
+ title: createMultiLanguageString('Occupational health — BMI & eGFR', 'سلامت شغلی — BMI و eGFR'),
27306
+ description: createMultiLanguageString('Height, weight, age, sex, and serum creatinine; outcomes derive BMI, WHO-style category, and eGFR (MDRD).', 'قد، وزن، سن، جنس و کراتینین سرم؛ محاسبهٔ BMI، دستهٔ سازمان جهانی بهداشت و eGFR (MDRD).'),
27307
27307
  type: 'questionnaire',
27308
27308
  categoryIds: [QHW().id],
27309
27309
  categories: [QHW()],
@@ -27339,8 +27339,8 @@ const healthWellnessQuestionnaires = [
27339
27339
  sections: [
27340
27340
  {
27341
27341
  id: 'section-anthro',
27342
- title: createMultiLanguageString$1('Anthropometrics', 'آنتروپومتری'),
27343
- description: createMultiLanguageString$1('Height and weight for BMI', 'قد و وزن برای BMI'),
27342
+ title: createMultiLanguageString('Anthropometrics', 'آنتروپومتری'),
27343
+ description: createMultiLanguageString('Height and weight for BMI', 'قد و وزن برای BMI'),
27344
27344
  order: 1,
27345
27345
  items: [
27346
27346
  { id: 'height_cm', questionBankItemId: q$5('height_cm').id, order: 1, isRequired: true },
@@ -27349,8 +27349,8 @@ const healthWellnessQuestionnaires = [
27349
27349
  },
27350
27350
  {
27351
27351
  id: 'section-demographics-lab',
27352
- title: createMultiLanguageString$1('Demographics & lab', 'جمعیت‌شناسی و آزمایشگاه'),
27353
- description: createMultiLanguageString$1('Age, sex, and creatinine for eGFR (MDRD)', 'سن، جنس و کراتینین برای eGFR (MDRD)'),
27352
+ title: createMultiLanguageString('Demographics & lab', 'جمعیت‌شناسی و آزمایشگاه'),
27353
+ description: createMultiLanguageString('Age, sex, and creatinine for eGFR (MDRD)', 'سن، جنس و کراتینین برای eGFR (MDRD)'),
27354
27354
  order: 2,
27355
27355
  items: [
27356
27356
  { id: 'age_years', questionBankItemId: q$5('age_years').id, order: 1, isRequired: true },
@@ -27372,8 +27372,8 @@ const healthWellnessQuestionnaires = [
27372
27372
  },
27373
27373
  {
27374
27374
  id: QUESTIONNAIRE_ID_HEALTH_WELLBEING,
27375
- title: createMultiLanguageString$1('Workplace wellbeing pulse', 'نبض رفاه محیط کار'),
27376
- description: createMultiLanguageString$1('Lifestyle metrics and optional tobacco follow-up — combined into a 0–100 lifestyle index.', 'شاخص‌های سبک زندگی و پیگیری اختیاری تنباکو — ترکیب در شاخص سبک زندگی ۰–۱۰۰.'),
27375
+ title: createMultiLanguageString('Workplace wellbeing pulse', 'نبض رفاه محیط کار'),
27376
+ description: createMultiLanguageString('Lifestyle metrics and optional tobacco follow-up — combined into a 0–100 lifestyle index.', 'شاخص‌های سبک زندگی و پیگیری اختیاری تنباکو — ترکیب در شاخص سبک زندگی ۰–۱۰۰.'),
27377
27377
  type: 'questionnaire',
27378
27378
  categoryIds: [QHW().id],
27379
27379
  categories: [QHW()],
@@ -27410,7 +27410,7 @@ const healthWellnessQuestionnaires = [
27410
27410
  sections: [
27411
27411
  {
27412
27412
  id: 'section-lifestyle',
27413
- title: createMultiLanguageString$1('Lifestyle', 'سبک زندگی'),
27413
+ title: createMultiLanguageString('Lifestyle', 'سبک زندگی'),
27414
27414
  order: 1,
27415
27415
  items: [
27416
27416
  { id: 'sleep_h', questionBankItemId: q$5('sleep_h').id, order: 1, isRequired: true },
@@ -27422,8 +27422,8 @@ const healthWellnessQuestionnaires = [
27422
27422
  },
27423
27423
  {
27424
27424
  id: 'section-substance',
27425
- title: createMultiLanguageString$1('Tobacco', 'تنباکو'),
27426
- description: createMultiLanguageString$1('Use pattern; detail if you use tobacco', 'الگوی مصرف؛ در صورت مصرف، جزئیات را بنویسید'),
27425
+ title: createMultiLanguageString('Tobacco', 'تنباکو'),
27426
+ description: createMultiLanguageString('Use pattern; detail if you use tobacco', 'الگوی مصرف؛ در صورت مصرف، جزئیات را بنویسید'),
27427
27427
  order: 2,
27428
27428
  items: [
27429
27429
  {
@@ -27703,24 +27703,24 @@ const HR_INDUCTION_OUTCOMES = [
27703
27703
  {
27704
27704
  id: AXPDataGenerator.uuid(),
27705
27705
  name: 'hr_induction_completed_count',
27706
- title: createMultiLanguageString$1('Topics completed', 'موضوعات تکمیل‌شده'),
27707
- description: createMultiLanguageString$1('Checklist rows marked completed', 'سطرهای چک‌لیست علامت‌خورده به‌عنوان تکمیل‌شده'),
27706
+ title: createMultiLanguageString('Topics completed', 'موضوعات تکمیل‌شده'),
27707
+ description: createMultiLanguageString('Checklist rows marked completed', 'سطرهای چک‌لیست علامت‌خورده به‌عنوان تکمیل‌شده'),
27708
27708
  resultKind: 'number',
27709
27709
  expression: HR_INDUCTION_COMPLETED_COUNT_EXPR,
27710
27710
  },
27711
27711
  {
27712
27712
  id: AXPDataGenerator.uuid(),
27713
27713
  name: 'hr_induction_open_count',
27714
- title: createMultiLanguageString$1('Topics still open', 'موضوعات بازمانده'),
27715
- description: createMultiLanguageString$1('Rows not yet marked completed', 'سطرهایی که هنوز تکمیل نشده‌اند'),
27714
+ title: createMultiLanguageString('Topics still open', 'موضوعات بازمانده'),
27715
+ description: createMultiLanguageString('Rows not yet marked completed', 'سطرهایی که هنوز تکمیل نشده‌اند'),
27716
27716
  resultKind: 'number',
27717
27717
  expression: HR_INDUCTION_OPEN_COUNT_EXPR,
27718
27718
  },
27719
27719
  {
27720
27720
  id: AXPDataGenerator.uuid(),
27721
27721
  name: 'hr_induction_completion_percent',
27722
- title: createMultiLanguageString$1('Completion (%)', 'درصد تکمیل'),
27723
- description: createMultiLanguageString$1('0–100 from 37 induction topics', '۰–۱۰۰ از ۳۷ موضوع آشنایی'),
27722
+ title: createMultiLanguageString('Completion (%)', 'درصد تکمیل'),
27723
+ description: createMultiLanguageString('0–100 from 37 induction topics', '۰–۱۰۰ از ۳۷ موضوع آشنایی'),
27724
27724
  resultKind: 'number',
27725
27725
  expression: "fn.ROUND(Number(outcome.eval('hr_induction_completed_count')) / 37 * 100, 0)",
27726
27726
  displayRules: [
@@ -27756,24 +27756,24 @@ const HR_INDUCTION_OUTCOMES = [
27756
27756
  {
27757
27757
  id: AXPDataGenerator.uuid(),
27758
27758
  name: 'hr_induction_completion_band',
27759
- title: createMultiLanguageString$1('Completion band', 'باند تکمیل'),
27760
- description: createMultiLanguageString$1('Traffic-light summary for induction progress', 'خلاصه چراغ راهنمایی برای پیشرفت آشنایی'),
27759
+ title: createMultiLanguageString('Completion band', 'باند تکمیل'),
27760
+ description: createMultiLanguageString('Traffic-light summary for induction progress', 'خلاصه چراغ راهنمایی برای پیشرفت آشنایی'),
27761
27761
  resultKind: 'string',
27762
27762
  expression: "Number(outcome.eval('hr_induction_completion_percent')) >= 100 ? 'Complete — induction covered' : Number(outcome.eval('hr_induction_completion_percent')) >= 75 ? 'Nearly complete — finish remaining topics' : Number(outcome.eval('hr_induction_completion_percent')) >= 40 ? 'In progress — continue section by section' : 'Just started — schedule induction sessions'",
27763
27763
  },
27764
27764
  {
27765
27765
  id: AXPDataGenerator.uuid(),
27766
27766
  name: 'hr_induction_focus_message',
27767
- title: createMultiLanguageString$1('Focus message', 'پیام تمرکز'),
27768
- description: createMultiLanguageString$1('Which section to address next', 'کدام بخش را بعداً رسیدگی کنید'),
27767
+ title: createMultiLanguageString('Focus message', 'پیام تمرکز'),
27768
+ description: createMultiLanguageString('Which section to address next', 'کدام بخش را بعداً رسیدگی کنید'),
27769
27769
  resultKind: 'string',
27770
27770
  expression: `Number(outcome.eval('hr_induction_completion_percent')) >= 100 ? 'Induction checklist complete — file with HR' : ${openCountExpr(hrInductionIntroKeys)} > 0 ? 'Finish Introduction topics first' : ${openCountExpr(hrInductionEmploymentKeys)} > 0 ? 'Complete Employment Conditions' : ${openCountExpr(hrInductionPayrollKeys)} > 0 ? 'Complete Payroll topics' : ${openCountExpr(hrInductionWorkplaceKeys)} > 0 ? 'Complete General Workplace information' : ${openCountExpr(hrInductionWhsKeys)} > 0 ? 'Complete Health and Safety topics' : ${openCountExpr(hrInductionSecurityKeys)} > 0 ? 'Complete Security topics' : ${openCountExpr(hrInductionTrainingKeys)} > 0 ? 'Complete Training topics' : 'Review any optional comments before sign-off'`,
27771
27771
  },
27772
27772
  {
27773
27773
  id: AXPDataGenerator.uuid(),
27774
27774
  name: 'hr_induction_all_complete',
27775
- title: createMultiLanguageString$1('All topics complete', 'همهٔ موضوعات تکمیل'),
27776
- description: createMultiLanguageString$1('True when every induction row is checked', 'وقتی همهٔ سطرهای آشنایی تیک خورده باشد برابر true است'),
27775
+ title: createMultiLanguageString('All topics complete', 'همهٔ موضوعات تکمیل'),
27776
+ description: createMultiLanguageString('True when every induction row is checked', 'وقتی همهٔ سطرهای آشنایی تیک خورده باشد برابر true است'),
27777
27777
  resultKind: 'boolean',
27778
27778
  expression: "Number(outcome.eval('hr_induction_completed_count')) === 37",
27779
27779
  },
@@ -27784,24 +27784,24 @@ const HR_SEPARATION_OUTCOMES = [
27784
27784
  {
27785
27785
  id: AXPDataGenerator.uuid(),
27786
27786
  name: 'hr_separation_completed_count',
27787
- title: createMultiLanguageString$1('Items completed', 'موارد تکمیل‌شده'),
27788
- description: createMultiLanguageString$1('Offboarding rows marked completed', 'سطرهای خروج علامت‌خورده به‌عنوان تکمیل‌شده'),
27787
+ title: createMultiLanguageString('Items completed', 'موارد تکمیل‌شده'),
27788
+ description: createMultiLanguageString('Offboarding rows marked completed', 'سطرهای خروج علامت‌خورده به‌عنوان تکمیل‌شده'),
27789
27789
  resultKind: 'number',
27790
27790
  expression: HR_SEPARATION_COMPLETED_COUNT_EXPR,
27791
27791
  },
27792
27792
  {
27793
27793
  id: AXPDataGenerator.uuid(),
27794
27794
  name: 'hr_separation_open_count',
27795
- title: createMultiLanguageString$1('Items still open', 'موارد بازمانده'),
27796
- description: createMultiLanguageString$1('Rows not yet marked completed', 'سطرهایی که هنوز تکمیل نشده‌اند'),
27795
+ title: createMultiLanguageString('Items still open', 'موارد بازمانده'),
27796
+ description: createMultiLanguageString('Rows not yet marked completed', 'سطرهایی که هنوز تکمیل نشده‌اند'),
27797
27797
  resultKind: 'number',
27798
27798
  expression: HR_SEPARATION_OPEN_COUNT_EXPR,
27799
27799
  },
27800
27800
  {
27801
27801
  id: AXPDataGenerator.uuid(),
27802
27802
  name: 'hr_separation_completion_percent',
27803
- title: createMultiLanguageString$1('Completion (%)', 'درصد تکمیل'),
27804
- description: createMultiLanguageString$1('0–100 from 14 separation checklist items', '۰–۱۰۰ از ۱۴ مورد چک‌لیست جدایی'),
27803
+ title: createMultiLanguageString('Completion (%)', 'درصد تکمیل'),
27804
+ description: createMultiLanguageString('0–100 from 14 separation checklist items', '۰–۱۰۰ از ۱۴ مورد چک‌لیست جدایی'),
27805
27805
  resultKind: 'number',
27806
27806
  expression: "fn.ROUND(Number(outcome.eval('hr_separation_completed_count')) / 14 * 100, 0)",
27807
27807
  displayRules: [
@@ -27837,24 +27837,24 @@ const HR_SEPARATION_OUTCOMES = [
27837
27837
  {
27838
27838
  id: AXPDataGenerator.uuid(),
27839
27839
  name: 'hr_separation_completion_band',
27840
- title: createMultiLanguageString$1('Completion band', 'باند تکمیل'),
27841
- description: createMultiLanguageString$1('Traffic-light summary for offboarding progress', 'خلاصه چراغ راهنمایی برای پیشرفت خروج'),
27840
+ title: createMultiLanguageString('Completion band', 'باند تکمیل'),
27841
+ description: createMultiLanguageString('Traffic-light summary for offboarding progress', 'خلاصه چراغ راهنمایی برای پیشرفت خروج'),
27842
27842
  resultKind: 'string',
27843
27843
  expression: "Number(outcome.eval('hr_separation_completion_percent')) >= 100 ? 'Complete — ready for final payroll' : Number(outcome.eval('hr_separation_completion_percent')) >= 75 ? 'Nearly complete — confirm remaining returns' : Number(outcome.eval('hr_separation_completion_percent')) >= 40 ? 'In progress — chase outstanding assets' : 'Just started — assign owner per line'",
27844
27844
  },
27845
27845
  {
27846
27846
  id: AXPDataGenerator.uuid(),
27847
27847
  name: 'hr_separation_focus_message',
27848
- title: createMultiLanguageString$1('Focus message', 'پیام تمرکز'),
27849
- description: createMultiLanguageString$1('Short guidance for remaining offboarding work', 'راهنمای کوتاه برای کارهای باقی‌ماندهٔ خروج'),
27848
+ title: createMultiLanguageString('Focus message', 'پیام تمرکز'),
27849
+ description: createMultiLanguageString('Short guidance for remaining offboarding work', 'راهنمای کوتاه برای کارهای باقی‌ماندهٔ خروج'),
27850
27850
  resultKind: 'string',
27851
27851
  expression: "Number(outcome.eval('hr_separation_completion_percent')) >= 100 ? 'Separation checklist complete — proceed to exit interview' : Number(outcome.eval('hr_separation_open_count')) > 5 ? 'Prioritize asset returns and finance clearances' : Number(outcome.eval('hr_separation_open_count')) > 0 ? 'Complete remaining checklist rows and note N/A in comments' : 'Review comments and manager sign-off'",
27852
27852
  },
27853
27853
  {
27854
27854
  id: AXPDataGenerator.uuid(),
27855
27855
  name: 'hr_separation_all_complete',
27856
- title: createMultiLanguageString$1('All items complete', 'همهٔ موارد تکمیل'),
27857
- description: createMultiLanguageString$1('True when every separation row is checked', 'وقتی همهٔ سطرهای جدایی تیک خورده باشد برابر true است'),
27856
+ title: createMultiLanguageString('All items complete', 'همهٔ موارد تکمیل'),
27857
+ description: createMultiLanguageString('True when every separation row is checked', 'وقتی همهٔ سطرهای جدایی تیک خورده باشد برابر true است'),
27858
27858
  resultKind: 'boolean',
27859
27859
  expression: "Number(outcome.eval('hr_separation_completed_count')) === 14",
27860
27860
  },
@@ -27871,8 +27871,8 @@ const QUESTIONNAIRE_ID_EMPLOYEE_SEPARATION_CHECKLIST = AXPDataGenerator.uuid();
27871
27871
  const employeeSeparationQuestionnaires = [
27872
27872
  {
27873
27873
  id: QUESTIONNAIRE_ID_EMPLOYEE_SEPARATION_CHECKLIST,
27874
- title: createMultiLanguageString$1('Employee separation checklist', 'چک‌لیست جدایی کارمند'),
27875
- description: createMultiLanguageString$1('Offboarding asset return and handover items — completion tick and optional comments per row (employee, manager, or N/A tracked via comments as needed).', 'موارد بازگشت دارایی و تحویل کار هنگام خروج — تیک تکمیل و توضیحات اختیاری برای هر ردیف.'),
27874
+ title: createMultiLanguageString('Employee separation checklist', 'چک‌لیست جدایی کارمند'),
27875
+ description: createMultiLanguageString('Offboarding asset return and handover items — completion tick and optional comments per row (employee, manager, or N/A tracked via comments as needed).', 'موارد بازگشت دارایی و تحویل کار هنگام خروج — تیک تکمیل و توضیحات اختیاری برای هر ردیف.'),
27876
27876
  type: 'checklist',
27877
27877
  catalogScopeKeys: [...HCM_HR_CATALOG_SCOPE_KEYS$4],
27878
27878
  catalogScopes: buildMockCatalogScopes([...HCM_HR_CATALOG_SCOPE_KEYS$4]),
@@ -27910,8 +27910,8 @@ const employeeSeparationQuestionnaires = [
27910
27910
  sections: [
27911
27911
  {
27912
27912
  id: 'section-employee-separation-checklist',
27913
- title: createMultiLanguageString$1('Employee separation checklist', 'چک‌لیست جدایی کارمند'),
27914
- description: createMultiLanguageString$1('Confirm each item is completed, not applicable, or noted in comments.', 'هر مورد را تکمیل‌شده، نامرتبط، یا در توضیحات ثبت کنید.'),
27913
+ title: createMultiLanguageString('Employee separation checklist', 'چک‌لیست جدایی کارمند'),
27914
+ description: createMultiLanguageString('Confirm each item is completed, not applicable, or noted in comments.', 'هر مورد را تکمیل‌شده، نامرتبط، یا در توضیحات ثبت کنید.'),
27915
27915
  order: 1,
27916
27916
  items: [
27917
27917
  {
@@ -28011,8 +28011,8 @@ const QUESTIONNAIRE_ID_HR_EMPLOYEE_INDUCTION = AXPDataGenerator.uuid();
28011
28011
  const organizationHrQuestionnaires = [
28012
28012
  {
28013
28013
  id: QUESTIONNAIRE_ID_HR_EMPLOYEE_INDUCTION,
28014
- title: createMultiLanguageString$1('Employee induction checklist', 'چک‌لیست آشنایی کارمند'),
28015
- description: createMultiLanguageString$1('Topics to be discussed — general induction with completion tick and optional comments per item.', 'موضوعات مورد بحث — آشنایی عمومی با تیک تکمیل و توضیحات اختیاری برای هر مورد.'),
28014
+ title: createMultiLanguageString('Employee induction checklist', 'چک‌لیست آشنایی کارمند'),
28015
+ description: createMultiLanguageString('Topics to be discussed — general induction with completion tick and optional comments per item.', 'موضوعات مورد بحث — آشنایی عمومی با تیک تکمیل و توضیحات اختیاری برای هر مورد.'),
28016
28016
  type: 'checklist',
28017
28017
  catalogScopeKeys: [...HCM_HR_CATALOG_SCOPE_KEYS$3],
28018
28018
  catalogScopes: buildMockCatalogScopes([...HCM_HR_CATALOG_SCOPE_KEYS$3]),
@@ -28050,8 +28050,8 @@ const organizationHrQuestionnaires = [
28050
28050
  sections: [
28051
28051
  {
28052
28052
  id: 'section-hr-induction-introduction',
28053
- title: createMultiLanguageString$1('Introduction', 'معرفی'),
28054
- description: createMultiLanguageString$1('Explain', 'توضیح دهید'),
28053
+ title: createMultiLanguageString('Introduction', 'معرفی'),
28054
+ description: createMultiLanguageString('Explain', 'توضیح دهید'),
28055
28055
  order: 1,
28056
28056
  items: [
28057
28057
  {
@@ -28068,8 +28068,8 @@ const organizationHrQuestionnaires = [
28068
28068
  },
28069
28069
  {
28070
28070
  id: 'section-hr-induction-employment-conditions',
28071
- title: createMultiLanguageString$1('Employment Conditions', 'شرایط استخدام'),
28072
- description: createMultiLanguageString$1('Explain', 'توضیح دهید'),
28071
+ title: createMultiLanguageString('Employment Conditions', 'شرایط استخدام'),
28072
+ description: createMultiLanguageString('Explain', 'توضیح دهید'),
28073
28073
  order: 2,
28074
28074
  items: [
28075
28075
  {
@@ -28106,8 +28106,8 @@ const organizationHrQuestionnaires = [
28106
28106
  },
28107
28107
  {
28108
28108
  id: 'section-hr-induction-payroll',
28109
- title: createMultiLanguageString$1('Payroll', 'حقوق و دستمزد'),
28110
- description: createMultiLanguageString$1('Explain and provide', 'توضیح دهید و ارائه کنید'),
28109
+ title: createMultiLanguageString('Payroll', 'حقوق و دستمزد'),
28110
+ description: createMultiLanguageString('Explain and provide', 'توضیح دهید و ارائه کنید'),
28111
28111
  order: 3,
28112
28112
  items: [
28113
28113
  {
@@ -28139,8 +28139,8 @@ const organizationHrQuestionnaires = [
28139
28139
  },
28140
28140
  {
28141
28141
  id: 'section-hr-induction-workplace',
28142
- title: createMultiLanguageString$1('General Workplace information', 'اطلاعات عمومی محل کار'),
28143
- description: createMultiLanguageString$1('Explain and show', 'توضیح دهید و نشان دهید'),
28142
+ title: createMultiLanguageString('General Workplace information', 'اطلاعات عمومی محل کار'),
28143
+ description: createMultiLanguageString('Explain and show', 'توضیح دهید و نشان دهید'),
28144
28144
  order: 4,
28145
28145
  items: [
28146
28146
  {
@@ -28182,8 +28182,8 @@ const organizationHrQuestionnaires = [
28182
28182
  },
28183
28183
  {
28184
28184
  id: 'section-hr-induction-health-safety',
28185
- title: createMultiLanguageString$1('Health and Safety', 'ایمنی و بهداشت'),
28186
- description: createMultiLanguageString$1('Explain and provide', 'توضیح دهید و ارائه کنید'),
28185
+ title: createMultiLanguageString('Health and Safety', 'ایمنی و بهداشت'),
28186
+ description: createMultiLanguageString('Explain and provide', 'توضیح دهید و ارائه کنید'),
28187
28187
  order: 5,
28188
28188
  items: [
28189
28189
  {
@@ -28240,8 +28240,8 @@ const organizationHrQuestionnaires = [
28240
28240
  },
28241
28241
  {
28242
28242
  id: 'section-hr-induction-security',
28243
- title: createMultiLanguageString$1('Security', 'امنیت'),
28244
- description: createMultiLanguageString$1('Explain', 'توضیح دهید'),
28243
+ title: createMultiLanguageString('Security', 'امنیت'),
28244
+ description: createMultiLanguageString('Explain', 'توضیح دهید'),
28245
28245
  order: 6,
28246
28246
  items: [
28247
28247
  {
@@ -28268,8 +28268,8 @@ const organizationHrQuestionnaires = [
28268
28268
  },
28269
28269
  {
28270
28270
  id: 'section-hr-induction-training',
28271
- title: createMultiLanguageString$1('Training', 'آموزش'),
28272
- description: createMultiLanguageString$1('Explain and show', 'توضیح دهید و نشان دهید'),
28271
+ title: createMultiLanguageString('Training', 'آموزش'),
28272
+ description: createMultiLanguageString('Explain and show', 'توضیح دهید و نشان دهید'),
28273
28273
  order: 7,
28274
28274
  items: [
28275
28275
  {
@@ -28311,15 +28311,15 @@ const PM_WORK_ORDER_OUTCOMES = [
28311
28311
  {
28312
28312
  id: AXPDataGenerator.uuid(),
28313
28313
  name: 'maint_backlog_priority',
28314
- title: createMultiLanguageString$1('Backlog priority score', 'امتیاز اولویت انباشت کار'),
28315
- description: createMultiLanguageString$1('Downtime × quality gap × LOTO factor', 'زمان توقف × شکاف کیفیت × ضریب LOTO'),
28314
+ title: createMultiLanguageString('Backlog priority score', 'امتیاز اولویت انباشت کار'),
28315
+ description: createMultiLanguageString('Downtime × quality gap × LOTO factor', 'زمان توقف × شکاف کیفیت × ضریب LOTO'),
28316
28316
  resultKind: 'number',
28317
28317
  expression: "fn.ROUND(Number(answer.eval('maint_downtime_h')) * (6 - Number(answer.eval('maint_pm_quality'))) * (answer.eval('maint_loto') === 'yes' ? 1 : 1.5), 0)",
28318
28318
  },
28319
28319
  {
28320
28320
  id: AXPDataGenerator.uuid(),
28321
28321
  name: 'maint_backlog_tier',
28322
- title: createMultiLanguageString$1('Backlog tier', 'سطح انباشت کار'),
28322
+ title: createMultiLanguageString('Backlog tier', 'سطح انباشت کار'),
28323
28323
  resultKind: 'string',
28324
28324
  expression: "Number(outcome.eval('maint_backlog_priority')) > 80 ? 'Escalate' : Number(outcome.eval('maint_backlog_priority')) > 25 ? 'Plan work' : 'Monitor'",
28325
28325
  },
@@ -28330,15 +28330,15 @@ const PM_SPARES_OUTCOMES = [
28330
28330
  {
28331
28331
  id: AXPDataGenerator.uuid(),
28332
28332
  name: 'maint_logistics_risk',
28333
- title: createMultiLanguageString$1('Logistics risk score', 'امتیاز ریسک تدارکات'),
28334
- description: createMultiLanguageString$1('MTTR weighted when spares are not assured', 'MTTR وزن‌دار وقتی یدکی تضمین نشده است'),
28333
+ title: createMultiLanguageString('Logistics risk score', 'امتیاز ریسک تدارکات'),
28334
+ description: createMultiLanguageString('MTTR weighted when spares are not assured', 'MTTR وزن‌دار وقتی یدکی تضمین نشده است'),
28335
28335
  resultKind: 'number',
28336
28336
  expression: "fn.ROUND(Number(answer.eval('maint_mttr_h')) * (answer.eval('maint_spare_ok') === 'yes' ? 1 : 2.2), 0)",
28337
28337
  },
28338
28338
  {
28339
28339
  id: AXPDataGenerator.uuid(),
28340
28340
  name: 'maint_logistics_followup',
28341
- title: createMultiLanguageString$1('Logistics follow-up', 'پیگیری تدارکات'),
28341
+ title: createMultiLanguageString('Logistics follow-up', 'پیگیری تدارکات'),
28342
28342
  resultKind: 'string',
28343
28343
  expression: "Number(outcome.eval('maint_logistics_risk')) > 50 ? 'Source spares or expedite' : 'Monitor'",
28344
28344
  },
@@ -28354,14 +28354,14 @@ const QUESTIONNAIRE_ID_PM_PRESTART = AXPDataGenerator.uuid();
28354
28354
  const PM_PRESTART_STATUS_LEGEND_EN = '<p><strong>Mark Status Box:</strong> <strong>OK</strong> — <strong>X:</strong> Fault Identified — <strong>N/A:</strong> Item not Applicable</p>';
28355
28355
  const PM_PRESTART_STATUS_LEGEND_FA = '<p><strong>جعبه وضعیت:</strong> <strong>OK</strong> — <strong>X:</strong> نقص شناسایی‌شده — <strong>N/A:</strong> مورد قابل اعمال نیست</p>';
28356
28356
  /** Repeated on every section; same copy is embedded in pre-questionnaire content. */
28357
- const PM_PRESTART_STATUS_LEGEND = createMultiLanguageString$1(PM_PRESTART_STATUS_LEGEND_EN, PM_PRESTART_STATUS_LEGEND_FA);
28358
- const PM_PRESTART_PRE_CONTENT = createMultiLanguageString$1('<p><strong>Plant Daily Prestart Checklist</strong></p>' + PM_PRESTART_STATUS_LEGEND_EN, '<p><strong>چک‌لیست پیش از استارت روزانه تاسیسات</strong></p>' + PM_PRESTART_STATUS_LEGEND_FA);
28357
+ const PM_PRESTART_STATUS_LEGEND = createMultiLanguageString(PM_PRESTART_STATUS_LEGEND_EN, PM_PRESTART_STATUS_LEGEND_FA);
28358
+ const PM_PRESTART_PRE_CONTENT = createMultiLanguageString('<p><strong>Plant Daily Prestart Checklist</strong></p>' + PM_PRESTART_STATUS_LEGEND_EN, '<p><strong>چک‌لیست پیش از استارت روزانه تاسیسات</strong></p>' + PM_PRESTART_STATUS_LEGEND_FA);
28359
28359
  //#region ---- Mock Data ----
28360
28360
  const plantMaintenanceQuestionnaires = [
28361
28361
  {
28362
28362
  id: QUESTIONNAIRE_ID_PM_WORK_ORDER,
28363
- title: createMultiLanguageString$1('Work order impact & LOTO', 'تأثیر دستور کار و LOTO'),
28364
- description: createMultiLanguageString$1('Downtime, LOTO verification, PM quality, and work order reference — priority score highlights backlog risk.', 'زمان توقف، تأیید LOTO، کیفیت PM و مرجع دستور کار — امتیاز اولویت ریسک انباشت را برجسته می‌کند.'),
28363
+ title: createMultiLanguageString('Work order impact & LOTO', 'تأثیر دستور کار و LOTO'),
28364
+ description: createMultiLanguageString('Downtime, LOTO verification, PM quality, and work order reference — priority score highlights backlog risk.', 'زمان توقف، تأیید LOTO، کیفیت PM و مرجع دستور کار — امتیاز اولویت ریسک انباشت را برجسته می‌کند.'),
28365
28365
  type: 'evaluation',
28366
28366
  categoryIds: [QPM().id],
28367
28367
  categories: [QPM()],
@@ -28398,7 +28398,7 @@ const plantMaintenanceQuestionnaires = [
28398
28398
  sections: [
28399
28399
  {
28400
28400
  id: 'section-pm-impact',
28401
- title: createMultiLanguageString$1('Impact', 'تأثیر'),
28401
+ title: createMultiLanguageString('Impact', 'تأثیر'),
28402
28402
  order: 1,
28403
28403
  items: [
28404
28404
  {
@@ -28417,7 +28417,7 @@ const plantMaintenanceQuestionnaires = [
28417
28417
  },
28418
28418
  {
28419
28419
  id: 'section-pm-controls',
28420
- title: createMultiLanguageString$1('Controls & reference', 'کنترل‌ها و مرجع'),
28420
+ title: createMultiLanguageString('Controls & reference', 'کنترل‌ها و مرجع'),
28421
28421
  order: 2,
28422
28422
  items: [
28423
28423
  {
@@ -28448,8 +28448,8 @@ const plantMaintenanceQuestionnaires = [
28448
28448
  },
28449
28449
  {
28450
28450
  id: QUESTIONNAIRE_ID_PM_SPARES,
28451
- title: createMultiLanguageString$1('Spares & MTTR', 'قطعات یدکی و MTTR'),
28452
- description: createMultiLanguageString$1('Restore time estimate and spare-parts posture — logistics gap when spares are not assured.', 'برآورد زمان بازیابی و وضعیت قطعات یدکی — شکاف تدارکات وقتی یدکی تضمین نشده است.'),
28451
+ title: createMultiLanguageString('Spares & MTTR', 'قطعات یدکی و MTTR'),
28452
+ description: createMultiLanguageString('Restore time estimate and spare-parts posture — logistics gap when spares are not assured.', 'برآورد زمان بازیابی و وضعیت قطعات یدکی — شکاف تدارکات وقتی یدکی تضمین نشده است.'),
28453
28453
  type: 'questionnaire',
28454
28454
  categoryIds: [QPM().id],
28455
28455
  categories: [QPM()],
@@ -28479,7 +28479,7 @@ const plantMaintenanceQuestionnaires = [
28479
28479
  sections: [
28480
28480
  {
28481
28481
  id: 'section-pm-mttr',
28482
- title: createMultiLanguageString$1('Restore & spares', 'بازیابی و یدکی'),
28482
+ title: createMultiLanguageString('Restore & spares', 'بازیابی و یدکی'),
28483
28483
  order: 1,
28484
28484
  items: [
28485
28485
  {
@@ -28517,8 +28517,8 @@ const plantMaintenanceQuestionnaires = [
28517
28517
  },
28518
28518
  {
28519
28519
  id: QUESTIONNAIRE_ID_PM_PRESTART,
28520
- title: createMultiLanguageString$1('Plant Daily Prestart Checklist', 'چک‌لیست پیش از استارت روزانه تاسیسات'),
28521
- description: createMultiLanguageString$1('Daily plant equipment prestart inspection by section; one consolidated question per block with OK / X / N/A and comments.', 'بازرسی پیش از استارت تجهیزات به‌صورت بخش‌بخش؛ یک سؤال تجمیعی برای هر بلوک با OK / X / N/A و توضیحات.'),
28520
+ title: createMultiLanguageString('Plant Daily Prestart Checklist', 'چک‌لیست پیش از استارت روزانه تاسیسات'),
28521
+ description: createMultiLanguageString('Daily plant equipment prestart inspection by section; one consolidated question per block with OK / X / N/A and comments.', 'بازرسی پیش از استارت تجهیزات به‌صورت بخش‌بخش؛ یک سؤال تجمیعی برای هر بلوک با OK / X / N/A و توضیحات.'),
28522
28522
  type: 'checklist',
28523
28523
  categoryIds: [QPM().id],
28524
28524
  categories: [QPM()],
@@ -28548,7 +28548,7 @@ const plantMaintenanceQuestionnaires = [
28548
28548
  sections: [
28549
28549
  {
28550
28550
  id: 'section-pm-prestart-safety',
28551
- title: createMultiLanguageString$1('Safety', 'ایمنی'),
28551
+ title: createMultiLanguageString('Safety', 'ایمنی'),
28552
28552
  order: 1,
28553
28553
  items: [
28554
28554
  {
@@ -28561,7 +28561,7 @@ const plantMaintenanceQuestionnaires = [
28561
28561
  },
28562
28562
  {
28563
28563
  id: 'section-pm-prestart-visibility',
28564
- title: createMultiLanguageString$1('Visibility', 'دید'),
28564
+ title: createMultiLanguageString('Visibility', 'دید'),
28565
28565
  order: 2,
28566
28566
  items: [
28567
28567
  {
@@ -28574,7 +28574,7 @@ const plantMaintenanceQuestionnaires = [
28574
28574
  },
28575
28575
  {
28576
28576
  id: 'section-pm-prestart-wheels',
28577
- title: createMultiLanguageString$1('Wheels/Tyres/Tracks', 'چرخ / لاستیک / ریل'),
28577
+ title: createMultiLanguageString('Wheels/Tyres/Tracks', 'چرخ / لاستیک / ریل'),
28578
28578
  order: 3,
28579
28579
  items: [
28580
28580
  {
@@ -28587,7 +28587,7 @@ const plantMaintenanceQuestionnaires = [
28587
28587
  },
28588
28588
  {
28589
28589
  id: 'section-pm-prestart-cabin',
28590
- title: createMultiLanguageString$1('Cabin', 'کابین'),
28590
+ title: createMultiLanguageString('Cabin', 'کابین'),
28591
28591
  order: 4,
28592
28592
  items: [
28593
28593
  {
@@ -28600,7 +28600,7 @@ const plantMaintenanceQuestionnaires = [
28600
28600
  },
28601
28601
  {
28602
28602
  id: 'section-pm-prestart-hydraulics',
28603
- title: createMultiLanguageString$1('Operation - Hydraulics', 'عملکرد — هیدرولیک'),
28603
+ title: createMultiLanguageString('Operation - Hydraulics', 'عملکرد — هیدرولیک'),
28604
28604
  order: 5,
28605
28605
  items: [
28606
28606
  {
@@ -28613,7 +28613,7 @@ const plantMaintenanceQuestionnaires = [
28613
28613
  },
28614
28614
  {
28615
28615
  id: 'section-pm-prestart-general',
28616
- title: createMultiLanguageString$1('Operation - General', 'عملکرد — عمومی'),
28616
+ title: createMultiLanguageString('Operation - General', 'عملکرد — عمومی'),
28617
28617
  order: 6,
28618
28618
  items: [
28619
28619
  {
@@ -28626,7 +28626,7 @@ const plantMaintenanceQuestionnaires = [
28626
28626
  },
28627
28627
  {
28628
28628
  id: 'section-pm-prestart-fluids',
28629
- title: createMultiLanguageString$1('Operation - Fluids', 'عملکرد — مایعات'),
28629
+ title: createMultiLanguageString('Operation - Fluids', 'عملکرد — مایعات'),
28630
28630
  order: 7,
28631
28631
  items: [
28632
28632
  {
@@ -28639,7 +28639,7 @@ const plantMaintenanceQuestionnaires = [
28639
28639
  },
28640
28640
  {
28641
28641
  id: 'section-pm-prestart-other',
28642
- title: createMultiLanguageString$1('Other Items', 'سایر موارد'),
28642
+ title: createMultiLanguageString('Other Items', 'سایر موارد'),
28643
28643
  order: 8,
28644
28644
  items: [
28645
28645
  {
@@ -28689,16 +28689,16 @@ const WS_HAZARD_OUTCOMES = [
28689
28689
  {
28690
28690
  id: AXPDataGenerator.uuid(),
28691
28691
  name: 'risk_points',
28692
- title: createMultiLanguageString$1('Risk points', 'امتیاز ریسک'),
28693
- description: createMultiLanguageString$1('People × days open × severity (1–5)', 'نفر × روزهای باز × شدت (۱–۵)'),
28692
+ title: createMultiLanguageString('Risk points', 'امتیاز ریسک'),
28693
+ description: createMultiLanguageString('People × days open × severity (1–5)', 'نفر × روزهای باز × شدت (۱–۵)'),
28694
28694
  resultKind: 'number',
28695
28695
  expression: "fn.ROUND(Number(answer.eval('exp_people')) * Number(answer.eval('exp_days')) * Number(answer.eval('sev')), 0)",
28696
28696
  },
28697
28697
  {
28698
28698
  id: AXPDataGenerator.uuid(),
28699
28699
  name: 'risk_priority',
28700
- title: createMultiLanguageString$1('Action priority', 'اولویت اقدام'),
28701
- description: createMultiLanguageString$1('Tiered follow-up from risk points', 'پیگیری چندلایه بر اساس امتیاز ریسک'),
28700
+ title: createMultiLanguageString('Action priority', 'اولویت اقدام'),
28701
+ description: createMultiLanguageString('Tiered follow-up from risk points', 'پیگیری چندلایه بر اساس امتیاز ریسک'),
28702
28702
  resultKind: 'string',
28703
28703
  expression: "Number(outcome.eval('risk_points')) > 100 ? 'Escalate immediately' : Number(outcome.eval('risk_points')) > 30 ? 'Schedule control' : 'Monitor'",
28704
28704
  },
@@ -28709,16 +28709,16 @@ const WS_PPE_OUTCOMES = [
28709
28709
  {
28710
28710
  id: AXPDataGenerator.uuid(),
28711
28711
  name: 'ppe_compliance_score',
28712
- title: createMultiLanguageString$1('PPE compliance score', 'امتیاز رعایت تجهیزات حفاظت فردی'),
28713
- description: createMultiLanguageString$1('100 when PPE adequate; reduced when not', '۱۰۰ وقتی تجهیزات کافی است؛ در غیر این صورت کاهش می‌یابد'),
28712
+ title: createMultiLanguageString('PPE compliance score', 'امتیاز رعایت تجهیزات حفاظت فردی'),
28713
+ description: createMultiLanguageString('100 when PPE adequate; reduced when not', '۱۰۰ وقتی تجهیزات کافی است؛ در غیر این صورت کاهش می‌یابد'),
28714
28714
  resultKind: 'number',
28715
28715
  expression: "fn.ROUND(answer.eval('whs_ppe_ok') === 'yes' ? 100 : 35, 0)",
28716
28716
  },
28717
28717
  {
28718
28718
  id: AXPDataGenerator.uuid(),
28719
28719
  name: 'ppe_compliance_band',
28720
- title: createMultiLanguageString$1('PPE band', 'باند تجهیزات حفاظت فردی'),
28721
- description: createMultiLanguageString$1('Traffic-light style', 'سبک چراغ راهنمایی (قرمز/زرد/سبز)'),
28720
+ title: createMultiLanguageString('PPE band', 'باند تجهیزات حفاظت فردی'),
28721
+ description: createMultiLanguageString('Traffic-light style', 'سبک چراغ راهنمایی (قرمز/زرد/سبز)'),
28722
28722
  resultKind: 'string',
28723
28723
  expression: "Number(outcome.eval('ppe_compliance_score')) >= 80 ? 'Green' : Number(outcome.eval('ppe_compliance_score')) >= 50 ? 'Amber' : 'Red'",
28724
28724
  },
@@ -28729,64 +28729,64 @@ const WS_TAKE5_OUTCOMES = [
28729
28729
  {
28730
28730
  id: AXPDataGenerator.uuid(),
28731
28731
  name: 'take5_prep_gap_count',
28732
- title: createMultiLanguageString$1('Pre-task gaps (section 1)', 'شکاف‌های پیش از کار (بخش ۱)'),
28733
- description: createMultiLanguageString$1('Count of section 1 answers that are “No” (readiness gap).', 'تعداد پاسخ‌های «خیر» در بخش ۱ (شکاف آمادگی).'),
28732
+ title: createMultiLanguageString('Pre-task gaps (section 1)', 'شکاف‌های پیش از کار (بخش ۱)'),
28733
+ description: createMultiLanguageString('Count of section 1 answers that are “No” (readiness gap).', 'تعداد پاسخ‌های «خیر» در بخش ۱ (شکاف آمادگی).'),
28734
28734
  resultKind: 'number',
28735
28735
  expression: TAKE5_PREP_GAP_COUNT_EXPR,
28736
28736
  },
28737
28737
  {
28738
28738
  id: AXPDataGenerator.uuid(),
28739
28739
  name: 'take5_hazard_yes_count',
28740
- title: createMultiLanguageString$1('Hazards flagged (section 2)', 'خطرهای علامت‌خورده (بخش ۲)'),
28741
- description: createMultiLanguageString$1('Count of section 2 answers that are “Yes” (hazard or exposure applies).', 'تعداد پاسخ‌های «بله» در بخش ۲ (وجود خطر یا قرارگیری).'),
28740
+ title: createMultiLanguageString('Hazards flagged (section 2)', 'خطرهای علامت‌خورده (بخش ۲)'),
28741
+ description: createMultiLanguageString('Count of section 2 answers that are “Yes” (hazard or exposure applies).', 'تعداد پاسخ‌های «بله» در بخش ۲ (وجود خطر یا قرارگیری).'),
28742
28742
  resultKind: 'number',
28743
28743
  expression: TAKE5_HAZARD_YES_COUNT_EXPR,
28744
28744
  },
28745
28745
  {
28746
28746
  id: AXPDataGenerator.uuid(),
28747
28747
  name: 'take5_permit_yes_count',
28748
- title: createMultiLanguageString$1('Permit types required (section 3)', 'انواع مجوز لازم (بخش ۳)'),
28749
- description: createMultiLanguageString$1('Count of section 3 answers that are “Yes” (that permit pathway applies).', 'تعداد پاسخ‌های «بله» در بخش ۳ (مسیر مجوز مربوطه اعمال می‌شود).'),
28748
+ title: createMultiLanguageString('Permit types required (section 3)', 'انواع مجوز لازم (بخش ۳)'),
28749
+ description: createMultiLanguageString('Count of section 3 answers that are “Yes” (that permit pathway applies).', 'تعداد پاسخ‌های «بله» در بخش ۳ (مسیر مجوز مربوطه اعمال می‌شود).'),
28750
28750
  resultKind: 'number',
28751
28751
  expression: TAKE5_PERMIT_YES_COUNT_EXPR,
28752
28752
  },
28753
28753
  {
28754
28754
  id: AXPDataGenerator.uuid(),
28755
28755
  name: 'take5_favourable_count',
28756
- title: createMultiLanguageString$1('Favourable answers (0–27)', 'پاسخ‌های مطلوب (۰–۲۷)'),
28757
- description: createMultiLanguageString$1('Answers that match Take 5 “safe” polarity for each section.', 'پاسخ‌هایی که با قطبش «ایمن» فرم Take 5 برای هر بخش هم‌خوان است.'),
28756
+ title: createMultiLanguageString('Favourable answers (0–27)', 'پاسخ‌های مطلوب (۰–۲۷)'),
28757
+ description: createMultiLanguageString('Answers that match Take 5 “safe” polarity for each section.', 'پاسخ‌هایی که با قطبش «ایمن» فرم Take 5 برای هر بخش هم‌خوان است.'),
28758
28758
  resultKind: 'number',
28759
28759
  expression: TAKE5_FAVOURABLE_COUNT_EXPR,
28760
28760
  },
28761
28761
  {
28762
28762
  id: AXPDataGenerator.uuid(),
28763
28763
  name: 'take5_readiness_score',
28764
- title: createMultiLanguageString$1('Readiness score', 'امتیاز آمادگی'),
28765
- description: createMultiLanguageString$1('0–100 from favourable answers (27 questions, equal weight).', '۰–۱۰۰ از پاسخ‌های مطلوب (۲۷ سؤال، وزن یکسان).'),
28764
+ title: createMultiLanguageString('Readiness score', 'امتیاز آمادگی'),
28765
+ description: createMultiLanguageString('0–100 from favourable answers (27 questions, equal weight).', '۰–۱۰۰ از پاسخ‌های مطلوب (۲۷ سؤال، وزن یکسان).'),
28766
28766
  resultKind: 'number',
28767
28767
  expression: "fn.ROUND(Number(outcome.eval('take5_favourable_count')) / 27 * 100, 0)",
28768
28768
  },
28769
28769
  {
28770
28770
  id: AXPDataGenerator.uuid(),
28771
28771
  name: 'take5_readiness_band',
28772
- title: createMultiLanguageString$1('Readiness band', 'باند آمادگی'),
28773
- description: createMultiLanguageString$1('Traffic-light summary from readiness score.', 'خلاصه چراغ راهنمایی از امتیاز آمادگی.'),
28772
+ title: createMultiLanguageString('Readiness band', 'باند آمادگی'),
28773
+ description: createMultiLanguageString('Traffic-light summary from readiness score.', 'خلاصه چراغ راهنمایی از امتیاز آمادگی.'),
28774
28774
  resultKind: 'string',
28775
28775
  expression: "Number(outcome.eval('take5_readiness_score')) >= 100 ? 'Green — all checks favourable' : Number(outcome.eval('take5_readiness_score')) >= 85 ? 'Amber — review gaps' : 'Red — stop and reassess'",
28776
28776
  },
28777
28777
  {
28778
28778
  id: AXPDataGenerator.uuid(),
28779
28779
  name: 'take5_focus_message',
28780
- title: createMultiLanguageString$1('Focus message', 'پیام تمرکز'),
28781
- description: createMultiLanguageString$1('Short guidance: which section to address first.', 'راهنمای کوتاه: کدام بخش را اول رسیدگی کنید.'),
28780
+ title: createMultiLanguageString('Focus message', 'پیام تمرکز'),
28781
+ description: createMultiLanguageString('Short guidance: which section to address first.', 'راهنمای کوتاه: کدام بخش را اول رسیدگی کنید.'),
28782
28782
  resultKind: 'string',
28783
28783
  expression: "Number(outcome.eval('take5_prep_gap_count')) > 0 ? 'Address section 1 pre-task gaps before starting' : Number(outcome.eval('take5_hazard_yes_count')) > 0 ? 'Control section 2 hazards before work' : Number(outcome.eval('take5_permit_yes_count')) > 0 ? 'Confirm section 3 permits are issued and signed on' : Number(outcome.eval('take5_readiness_score')) >= 100 ? 'Proceed — maintain controls in place' : 'Review answers with your supervisor'",
28784
28784
  },
28785
28785
  {
28786
28786
  id: AXPDataGenerator.uuid(),
28787
28787
  name: 'take5_all_checks_pass',
28788
- title: createMultiLanguageString$1('All checks pass', 'همهٔ موارد قبول'),
28789
- description: createMultiLanguageString$1('True when every line matches the favourable Yes/No pattern.', 'وقتی همهٔ سطرها با الگوی مطلوب بله/خیر هم‌خوان باشد برابر true است.'),
28788
+ title: createMultiLanguageString('All checks pass', 'همهٔ موارد قبول'),
28789
+ description: createMultiLanguageString('True when every line matches the favourable Yes/No pattern.', 'وقتی همهٔ سطرها با الگوی مطلوب بله/خیر هم‌خوان باشد برابر true است.'),
28790
28790
  resultKind: 'boolean',
28791
28791
  expression: "Number(outcome.eval('take5_favourable_count')) === 27",
28792
28792
  },
@@ -28803,8 +28803,8 @@ const QUESTIONNAIRE_ID_WS_TAKE5 = AXPDataGenerator.uuid();
28803
28803
  const workplaceSafetyQuestionnaires = [
28804
28804
  {
28805
28805
  id: QUESTIONNAIRE_ID_WS_HAZARD,
28806
- title: createMultiLanguageString$1('Hazard exposure & near-miss', 'قرارگیری در معرض خطر و نزدیک‌خطا'),
28807
- description: createMultiLanguageString$1('Near-miss narrative when applicable, then exposure metrics — combined into weighted risk points.', 'روایت نزدیک‌خطا در صورت وجود، سپس شاخص‌های قرارگیری — ترکیب در امتیاز ریسک وزن‌دار.'),
28806
+ title: createMultiLanguageString('Hazard exposure & near-miss', 'قرارگیری در معرض خطر و نزدیک‌خطا'),
28807
+ description: createMultiLanguageString('Near-miss narrative when applicable, then exposure metrics — combined into weighted risk points.', 'روایت نزدیک‌خطا در صورت وجود، سپس شاخص‌های قرارگیری — ترکیب در امتیاز ریسک وزن‌دار.'),
28808
28808
  type: 'questionnaire',
28809
28809
  categoryIds: [QWS().id],
28810
28810
  categories: [QWS()],
@@ -28834,7 +28834,7 @@ const workplaceSafetyQuestionnaires = [
28834
28834
  sections: [
28835
28835
  {
28836
28836
  id: 'section-ws-incident',
28837
- title: createMultiLanguageString$1('Incident characterization', 'ویژگی‌سنجی رویداد'),
28837
+ title: createMultiLanguageString('Incident characterization', 'ویژگی‌سنجی رویداد'),
28838
28838
  order: 1,
28839
28839
  items: [
28840
28840
  {
@@ -28854,8 +28854,8 @@ const workplaceSafetyQuestionnaires = [
28854
28854
  },
28855
28855
  {
28856
28856
  id: 'section-ws-exposure',
28857
- title: createMultiLanguageString$1('Exposure', 'قرارگیری'),
28858
- description: createMultiLanguageString$1('People, duration, and severity', 'نفر، مدت و شدت'),
28857
+ title: createMultiLanguageString('Exposure', 'قرارگیری'),
28858
+ description: createMultiLanguageString('People, duration, and severity', 'نفر، مدت و شدت'),
28859
28859
  order: 2,
28860
28860
  items: [
28861
28861
  { id: 'exp_people', questionBankItemId: q('whs_exp_people').id, order: 1, isRequired: true },
@@ -28877,8 +28877,8 @@ const workplaceSafetyQuestionnaires = [
28877
28877
  },
28878
28878
  {
28879
28879
  id: QUESTIONNAIRE_ID_WS_PPE,
28880
- title: createMultiLanguageString$1('PPE & safeguards check', 'بررسی تجهیزات حفاظت فردی و تمهیدات'),
28881
- description: createMultiLanguageString$1('Quick check that PPE is adequate; capture gaps when not — summarized as a compliance score.', 'بررسی سریع کفایت تجهیزات حفاظت فردی؛ ثبت شکاف‌ها در صورت نبود — خلاصه به‌صورت امتیاز انطباق.'),
28880
+ title: createMultiLanguageString('PPE & safeguards check', 'بررسی تجهیزات حفاظت فردی و تمهیدات'),
28881
+ description: createMultiLanguageString('Quick check that PPE is adequate; capture gaps when not — summarized as a compliance score.', 'بررسی سریع کفایت تجهیزات حفاظت فردی؛ ثبت شکاف‌ها در صورت نبود — خلاصه به‌صورت امتیاز انطباق.'),
28882
28882
  type: 'checklist',
28883
28883
  categoryIds: [QWS().id],
28884
28884
  categories: [QWS()],
@@ -28908,7 +28908,7 @@ const workplaceSafetyQuestionnaires = [
28908
28908
  sections: [
28909
28909
  {
28910
28910
  id: 'section-ppe',
28911
- title: createMultiLanguageString$1('PPE', 'تجهیزات حفاظت فردی'),
28911
+ title: createMultiLanguageString('PPE', 'تجهیزات حفاظت فردی'),
28912
28912
  order: 1,
28913
28913
  items: [
28914
28914
  {
@@ -28940,8 +28940,8 @@ const workplaceSafetyQuestionnaires = [
28940
28940
  },
28941
28941
  {
28942
28942
  id: QUESTIONNAIRE_ID_WS_TAKE5,
28943
- title: createMultiLanguageString$1('Take 5 Checklist', 'چک‌لیست Take 5'),
28944
- description: createMultiLanguageString$1('Pre-task safety pause: think through the task, spot hazards, confirm permits, then verify it is safe to continue (Yes/No per line).', 'توقف ایمنی پیش از کار: مرور کار، شناسایی خطر، اطمینان از مجوزها، سپس تأیید ایمن بودن ادامه (بله/خیر برای هر سطر).'),
28943
+ title: createMultiLanguageString('Take 5 Checklist', 'چک‌لیست Take 5'),
28944
+ description: createMultiLanguageString('Pre-task safety pause: think through the task, spot hazards, confirm permits, then verify it is safe to continue (Yes/No per line).', 'توقف ایمنی پیش از کار: مرور کار، شناسایی خطر، اطمینان از مجوزها، سپس تأیید ایمن بودن ادامه (بله/خیر برای هر سطر).'),
28945
28945
  type: 'checklist',
28946
28946
  categoryIds: [QWS().id],
28947
28947
  categories: [QWS()],
@@ -28975,8 +28975,8 @@ const workplaceSafetyQuestionnaires = [
28975
28975
  sections: [
28976
28976
  {
28977
28977
  id: 'take5-s1-think',
28978
- title: createMultiLanguageString$1('1. Think through the task', '۱. کار را مرور کنید'),
28979
- description: createMultiLanguageString$1('<p>For this section, <strong>Yes</strong> indicates a positive, ready-to-work answer.</p>', '<p>در این بخش، پاسخ <strong>بله</strong> به‌معنای آمادگی مثبت برای کار است.</p>'),
28978
+ title: createMultiLanguageString('1. Think through the task', '۱. کار را مرور کنید'),
28979
+ description: createMultiLanguageString('<p>For this section, <strong>Yes</strong> indicates a positive, ready-to-work answer.</p>', '<p>در این بخش، پاسخ <strong>بله</strong> به‌معنای آمادگی مثبت برای کار است.</p>'),
28980
28980
  order: 1,
28981
28981
  items: [
28982
28982
  { id: 'take5-s1-i01', questionBankItemId: q('take5_1_01').id, order: 1, isRequired: true },
@@ -28992,8 +28992,8 @@ const workplaceSafetyQuestionnaires = [
28992
28992
  },
28993
28993
  {
28994
28994
  id: 'take5-s2-hazards',
28995
- title: createMultiLanguageString$1('2. Spot the hazards', '۲. خطرها را ببینید'),
28996
- description: createMultiLanguageString$1('<p>For hazard prompts, <strong>No</strong> means the risk does not apply (favourable). <strong>Yes</strong> means the hazard is present — stop and control before continuing.</p>', '<p>برای سؤالات خطر، <strong>خیر</strong> یعنی آن ریسک وجود ندارد (مطلوب). <strong>بله</strong> یعنی خطر هست — متوقف شوید و کنترل کنید.</p>'),
28995
+ title: createMultiLanguageString('2. Spot the hazards', '۲. خطرها را ببینید'),
28996
+ description: createMultiLanguageString('<p>For hazard prompts, <strong>No</strong> means the risk does not apply (favourable). <strong>Yes</strong> means the hazard is present — stop and control before continuing.</p>', '<p>برای سؤالات خطر، <strong>خیر</strong> یعنی آن ریسک وجود ندارد (مطلوب). <strong>بله</strong> یعنی خطر هست — متوقف شوید و کنترل کنید.</p>'),
28997
28997
  order: 2,
28998
28998
  items: [
28999
28999
  { id: 'take5-s2-i01', questionBankItemId: q('take5_2_01').id, order: 1, isRequired: true },
@@ -29009,8 +29009,8 @@ const workplaceSafetyQuestionnaires = [
29009
29009
  },
29010
29010
  {
29011
29011
  id: 'take5-s3-permits',
29012
- title: createMultiLanguageString$1('3. Do I need & have I signed onto the permit', '۳. آیا مجوز لازم است و امضا کرده‌ام'),
29013
- description: createMultiLanguageString$1('<p>For permit need prompts, <strong>No</strong> means a permit of that type is not required. <strong>Yes</strong> means you need it — ensure it is obtained and signed on before work.</p>', '<p>برای سؤال «نیاز به مجوز»، <strong>خیر</strong> یعنی آن نوع مجوز لازم نیست. <strong>بله</strong> یعنی لازم است — قبل از کار اخذ و امضا شود.</p>'),
29012
+ title: createMultiLanguageString('3. Do I need & have I signed onto the permit', '۳. آیا مجوز لازم است و امضا کرده‌ام'),
29013
+ description: createMultiLanguageString('<p>For permit need prompts, <strong>No</strong> means a permit of that type is not required. <strong>Yes</strong> means you need it — ensure it is obtained and signed on before work.</p>', '<p>برای سؤال «نیاز به مجوز»، <strong>خیر</strong> یعنی آن نوع مجوز لازم نیست. <strong>بله</strong> یعنی لازم است — قبل از کار اخذ و امضا شود.</p>'),
29014
29014
  order: 3,
29015
29015
  items: [
29016
29016
  { id: 'take5-s3-i01', questionBankItemId: q('take5_3_01').id, order: 1, isRequired: true },
@@ -29025,8 +29025,8 @@ const workplaceSafetyQuestionnaires = [
29025
29025
  },
29026
29026
  {
29027
29027
  id: 'take5-s4-continue',
29028
- title: createMultiLanguageString$1('4. Safe to continue', '۴. ایمن برای ادامه'),
29029
- description: createMultiLanguageString$1('<p>Final gate: <strong>Yes</strong> means controls are in place and work may proceed.</p>', '<p>درگاه نهایی: <strong>بله</strong> یعنی کنترل‌ها برقرار است و می‌توان ادامه داد.</p>'),
29028
+ title: createMultiLanguageString('4. Safe to continue', '۴. ایمن برای ادامه'),
29029
+ description: createMultiLanguageString('<p>Final gate: <strong>Yes</strong> means controls are in place and work may proceed.</p>', '<p>درگاه نهایی: <strong>بله</strong> یعنی کنترل‌ها برقرار است و می‌توان ادامه داد.</p>'),
29030
29030
  order: 4,
29031
29031
  items: [{ id: 'take5-s4-i01', questionBankItemId: q('take5_4_01').id, order: 1, isRequired: true }],
29032
29032
  },
@@ -30242,7 +30242,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
30242
30242
  type: Injectable
30243
30243
  }] });
30244
30244
 
30245
- const M$1s = createMultiLanguageString$1;
30245
+ const M$1s = createMultiLanguageString;
30246
30246
  const financialCoreCurrencyMocks = [
30247
30247
  {
30248
30248
  id: AXPDataGenerator.uuid(),
@@ -32784,7 +32784,7 @@ const COLLABORATION_TENANT_ID = MAGFA_TENANT_ID;
32784
32784
  //#endregion
32785
32785
 
32786
32786
  /** Competency / proficiency tiers for skills — not organizational job grades (see organization-management JobLevel mocks). */
32787
- const M$1r = createMultiLanguageString$1;
32787
+ const M$1r = createMultiLanguageString;
32788
32788
  const learningManagementSkillLevelMocks = [
32789
32789
  {
32790
32790
  id: AXPDataGenerator.uuid(),
@@ -32833,7 +32833,7 @@ const learningManagementSkillLevelMocks = [
32833
32833
  //#region ---- Imports ----
32834
32834
  //#endregion
32835
32835
  //#region ---- Skill category mocks ----
32836
- const M$1q = createMultiLanguageString$1;
32836
+ const M$1q = createMultiLanguageString;
32837
32837
  const learningManagementSkillCategoryMocks = [
32838
32838
  {
32839
32839
  id: AXPDataGenerator.uuid(),
@@ -32876,7 +32876,7 @@ const learningManagementSkillCategoryMocks = [
32876
32876
  //#region ---- Imports ----
32877
32877
  //#endregion
32878
32878
  //#region ---- Mock seed helpers ----
32879
- const M$1p = createMultiLanguageString$1;
32879
+ const M$1p = createMultiLanguageString;
32880
32880
  function findCategory$1(enDisplayTitle) {
32881
32881
  const cat = learningManagementSkillCategoryMocks.find((c) => resolveMultiLanguageString(c.title, 'en-US') === enDisplayTitle);
32882
32882
  if (!cat) {
@@ -33356,7 +33356,7 @@ const SKILL_SEED = [
33356
33356
  const learningManagementSkillMocks = SKILL_SEED.map((row) => seedSkill(row));
33357
33357
  //#endregion
33358
33358
 
33359
- const M$1o = createMultiLanguageString$1;
33359
+ const M$1o = createMultiLanguageString;
33360
33360
  const JOB_LEVELS_MOCK = [
33361
33361
  {
33362
33362
  id: AXPDataGenerator.uuid(),
@@ -33420,7 +33420,7 @@ const JOB_LEVELS_MOCK = [
33420
33420
  },
33421
33421
  ];
33422
33422
 
33423
- const M$1n = createMultiLanguageString$1;
33423
+ const M$1n = createMultiLanguageString;
33424
33424
  const organizationManagementResponsibilityLevelMocks = [
33425
33425
  {
33426
33426
  id: AXPDataGenerator.uuid(),
@@ -33466,7 +33466,7 @@ const organizationManagementResponsibilityLevelMocks = [
33466
33466
  },
33467
33467
  ];
33468
33468
 
33469
- const M$1m = createMultiLanguageString$1;
33469
+ const M$1m = createMultiLanguageString;
33470
33470
  /** English category keys → id (stable lookup after localized titles). */
33471
33471
  const RESPONSIBILITY_CATEGORY_KEY_TO_ID = {};
33472
33472
  //#region ---- Responsibility category i18n (seed) ----
@@ -33861,7 +33861,7 @@ const RESPONSIBILITIES_MOCK = [
33861
33861
  },
33862
33862
  ];
33863
33863
 
33864
- const M$1l = createMultiLanguageString$1;
33864
+ const M$1l = createMultiLanguageString;
33865
33865
  //#region ---- Job definition category i18n (seed) ----
33866
33866
  const JOB_DEFINITION_ROOT_CATEGORY_TITLE_FA = {
33867
33867
  'Manufacturing Leadership': 'رهبری تولید',
@@ -34306,10 +34306,10 @@ function axcCoerceToMultiLanguageString(value) {
34306
34306
  return value;
34307
34307
  }
34308
34308
  if (value == null || value === '') {
34309
- return createMultiLanguageString$1('', '');
34309
+ return createMultiLanguageString('', '');
34310
34310
  }
34311
34311
  const s = String(value);
34312
- return createMultiLanguageString$1(s, s);
34312
+ return createMultiLanguageString(s, s);
34313
34313
  }
34314
34314
  /** Ensures denormalized snapshot matches entity/widgets (UI may persist Position.title as a plain string). */
34315
34315
  function axcNormalizeActivePrimaryPositionSnapshot(pos) {
@@ -34622,7 +34622,7 @@ async function axcSyncAllEmployeeDenormalizedOrgFields(storage, orgRoot, hcmRoot
34622
34622
  }
34623
34623
  //#endregion
34624
34624
 
34625
- const M$1k = createMultiLanguageString$1;
34625
+ const M$1k = createMultiLanguageString;
34626
34626
  const en = (s) => resolveMultiLanguageString(s, 'en-US');
34627
34627
  /** English job title → Persian for {@link createMultiLanguageString}. */
34628
34628
  const POSITION_TITLE_FA = {
@@ -35058,7 +35058,7 @@ const POSITIONS_MOCK = (() => {
35058
35058
  return positions;
35059
35059
  })();
35060
35060
 
35061
- const M$1j = createMultiLanguageString$1;
35061
+ const M$1j = createMultiLanguageString;
35062
35062
  const uuid$k = AXPDataGenerator.uuid;
35063
35063
  const BUSINESS_UNIT_TYPES_MOCK = [
35064
35064
  {
@@ -35144,8 +35144,8 @@ const BUSINESS_UNITS_MOCK = (() => {
35144
35144
  const corporateHeadquarters = {
35145
35145
  id: AXM_CORPORATE_BUSINESS_UNIT_ID,
35146
35146
  code: 'BU-HQ',
35147
- title: createMultiLanguageString$1('Corporate Headquarters', 'دفتر مرکزی سازمان'),
35148
- description: createMultiLanguageString$1('Built-in company-level organization unit for executive and cross-enterprise positions.', 'واحد سازمانی داخلی برای سمت‌های اجرایی و فراسازمانی.'),
35147
+ title: createMultiLanguageString('Corporate Headquarters', 'دفتر مرکزی سازمان'),
35148
+ description: createMultiLanguageString('Built-in company-level organization unit for executive and cross-enterprise positions.', 'واحد سازمانی داخلی برای سمت‌های اجرایی و فراسازمانی.'),
35149
35149
  typeId: TYPE.division.id,
35150
35150
  type: mockType(TYPE.division),
35151
35151
  parentId: null,
@@ -35160,8 +35160,8 @@ const BUSINESS_UNITS_MOCK = (() => {
35160
35160
  const divisionOps = {
35161
35161
  id: uuid$j(),
35162
35162
  code: 'BU-DIV-OPS',
35163
- title: createMultiLanguageString$1('Operations Division', 'بخش عملیات'),
35164
- description: createMultiLanguageString$1('Core operations across plants', 'عملیات اصلی در کارخانه‌ها'),
35163
+ title: createMultiLanguageString('Operations Division', 'بخش عملیات'),
35164
+ description: createMultiLanguageString('Core operations across plants', 'عملیات اصلی در کارخانه‌ها'),
35165
35165
  typeId: TYPE.division.id,
35166
35166
  type: mockType(TYPE.division),
35167
35167
  parentId: corporateHeadquarters.id,
@@ -35180,8 +35180,8 @@ const BUSINESS_UNITS_MOCK = (() => {
35180
35180
  const divisionSales = {
35181
35181
  id: uuid$j(),
35182
35182
  code: 'BU-DIV-SALES',
35183
- title: createMultiLanguageString$1('Sales Division', 'بخش فروش'),
35184
- description: createMultiLanguageString$1('Global sales organization', 'سازمان فروش جهانی'),
35183
+ title: createMultiLanguageString('Sales Division', 'بخش فروش'),
35184
+ description: createMultiLanguageString('Global sales organization', 'سازمان فروش جهانی'),
35185
35185
  typeId: TYPE.division.id,
35186
35186
  type: mockType(TYPE.division),
35187
35187
  parentId: corporateHeadquarters.id,
@@ -35193,8 +35193,8 @@ const BUSINESS_UNITS_MOCK = (() => {
35193
35193
  const divisionEngineering = {
35194
35194
  id: uuid$j(),
35195
35195
  code: 'BU-DIV-ENG',
35196
- title: createMultiLanguageString$1('Engineering Division', 'بخش مهندسی'),
35197
- description: createMultiLanguageString$1('Product and platform engineering', 'مهندسی محصول و پلتفرم'),
35196
+ title: createMultiLanguageString('Engineering Division', 'بخش مهندسی'),
35197
+ description: createMultiLanguageString('Product and platform engineering', 'مهندسی محصول و پلتفرم'),
35198
35198
  typeId: TYPE.division.id,
35199
35199
  type: mockType(TYPE.division),
35200
35200
  parentId: corporateHeadquarters.id,
@@ -35208,8 +35208,8 @@ const BUSINESS_UNITS_MOCK = (() => {
35208
35208
  const depHSE = {
35209
35209
  id: uuid$j(),
35210
35210
  code: 'BU-DEPT-HSE',
35211
- title: createMultiLanguageString$1('Health, Safety & Environment', 'بهداشت، ایمنی و محیط زیست'),
35212
- description: createMultiLanguageString$1('WHS/OHS', 'بهداشت و ایمنی شغلی'),
35211
+ title: createMultiLanguageString('Health, Safety & Environment', 'بهداشت، ایمنی و محیط زیست'),
35212
+ description: createMultiLanguageString('WHS/OHS', 'بهداشت و ایمنی شغلی'),
35213
35213
  typeId: TYPE.department.id,
35214
35214
  type: mockType(TYPE.department),
35215
35215
  parentId: divisionOps.id,
@@ -35219,8 +35219,8 @@ const BUSINESS_UNITS_MOCK = (() => {
35219
35219
  const depQuality = {
35220
35220
  id: uuid$j(),
35221
35221
  code: 'BU-DEPT-QA',
35222
- title: createMultiLanguageString$1('Quality Assurance', 'تضمین کیفیت'),
35223
- description: createMultiLanguageString$1('QA and compliance', 'کنترل کیفیت و انطباق'),
35222
+ title: createMultiLanguageString('Quality Assurance', 'تضمین کیفیت'),
35223
+ description: createMultiLanguageString('QA and compliance', 'کنترل کیفیت و انطباق'),
35224
35224
  typeId: TYPE.department.id,
35225
35225
  type: mockType(TYPE.department),
35226
35226
  parentId: divisionOps.id,
@@ -35237,8 +35237,8 @@ const BUSINESS_UNITS_MOCK = (() => {
35237
35237
  const depMaintenance = {
35238
35238
  id: uuid$j(),
35239
35239
  code: 'BU-DEPT-MNT',
35240
- title: createMultiLanguageString$1('Maintenance', 'نگهداری و تعمیرات'),
35241
- description: createMultiLanguageString$1('Asset reliability and maintenance', 'قابلیت اطمینان دارایی و نگهداری'),
35240
+ title: createMultiLanguageString('Maintenance', 'نگهداری و تعمیرات'),
35241
+ description: createMultiLanguageString('Asset reliability and maintenance', 'قابلیت اطمینان دارایی و نگهداری'),
35242
35242
  typeId: TYPE.department.id,
35243
35243
  type: mockType(TYPE.department),
35244
35244
  parentId: divisionOps.id,
@@ -35250,8 +35250,8 @@ const BUSINESS_UNITS_MOCK = (() => {
35250
35250
  const depPlatform = {
35251
35251
  id: uuid$j(),
35252
35252
  code: 'BU-DEPT-PLAT',
35253
- title: createMultiLanguageString$1('Platform Engineering', 'مهندسی پلتفرم'),
35254
- description: createMultiLanguageString$1('Core platform teams', 'تیم‌های اصلی پلتفرم'),
35253
+ title: createMultiLanguageString('Platform Engineering', 'مهندسی پلتفرم'),
35254
+ description: createMultiLanguageString('Core platform teams', 'تیم‌های اصلی پلتفرم'),
35255
35255
  typeId: TYPE.department.id,
35256
35256
  type: mockType(TYPE.department),
35257
35257
  parentId: divisionEngineering.id,
@@ -35261,8 +35261,8 @@ const BUSINESS_UNITS_MOCK = (() => {
35261
35261
  const depProduct = {
35262
35262
  id: uuid$j(),
35263
35263
  code: 'BU-DEPT-PROD',
35264
- title: createMultiLanguageString$1('Product Engineering', 'مهندسی محصول'),
35265
- description: createMultiLanguageString$1('Product squads', 'اسکوادهای محصول'),
35264
+ title: createMultiLanguageString('Product Engineering', 'مهندسی محصول'),
35265
+ description: createMultiLanguageString('Product squads', 'اسکوادهای محصول'),
35266
35266
  typeId: TYPE.department.id,
35267
35267
  type: mockType(TYPE.department),
35268
35268
  parentId: divisionEngineering.id,
@@ -35274,8 +35274,8 @@ const BUSINESS_UNITS_MOCK = (() => {
35274
35274
  const branchLA = {
35275
35275
  id: uuid$j(),
35276
35276
  code: 'BU-BR-LA',
35277
- title: createMultiLanguageString$1('Los Angeles Branch', 'شعبه لس‌آنجلس'),
35278
- description: createMultiLanguageString$1('US West Region', 'منطقه غرب آمریکا'),
35277
+ title: createMultiLanguageString('Los Angeles Branch', 'شعبه لس‌آنجلس'),
35278
+ description: createMultiLanguageString('US West Region', 'منطقه غرب آمریکا'),
35279
35279
  typeId: TYPE.branch.id,
35280
35280
  type: mockType(TYPE.branch),
35281
35281
  parentId: divisionSales.id,
@@ -35286,8 +35286,8 @@ const BUSINESS_UNITS_MOCK = (() => {
35286
35286
  const branchSF = {
35287
35287
  id: uuid$j(),
35288
35288
  code: 'BU-BR-SF',
35289
- title: createMultiLanguageString$1('San Francisco Branch', 'شعبه سان‌فرانسیسکو'),
35290
- description: createMultiLanguageString$1('Bay Area', 'منطقه خلیج'),
35289
+ title: createMultiLanguageString('San Francisco Branch', 'شعبه سان‌فرانسیسکو'),
35290
+ description: createMultiLanguageString('Bay Area', 'منطقه خلیج'),
35291
35291
  typeId: TYPE.branch.id,
35292
35292
  type: mockType(TYPE.branch),
35293
35293
  parentId: divisionSales.id,
@@ -35298,8 +35298,8 @@ const BUSINESS_UNITS_MOCK = (() => {
35298
35298
  const branchSydney = {
35299
35299
  id: uuid$j(),
35300
35300
  code: 'BU-BR-SYD',
35301
- title: createMultiLanguageString$1('Sydney Branch', 'شعبه سیدنی'),
35302
- description: createMultiLanguageString$1('ANZ Region', 'منطقه استرالیا و نیوزیلند'),
35301
+ title: createMultiLanguageString('Sydney Branch', 'شعبه سیدنی'),
35302
+ description: createMultiLanguageString('ANZ Region', 'منطقه استرالیا و نیوزیلند'),
35303
35303
  typeId: TYPE.branch.id,
35304
35304
  type: mockType(TYPE.branch),
35305
35305
  parentId: divisionSales.id,
@@ -35327,7 +35327,7 @@ const BUSINESS_UNITS_MOCK = (() => {
35327
35327
  return items;
35328
35328
  })();
35329
35329
 
35330
- const M$1i = createMultiLanguageString$1;
35330
+ const M$1i = createMultiLanguageString;
35331
35331
  const educationLevelIds = {
35332
35332
  lessThanHighSchool: AXPDataGenerator.uuid(),
35333
35333
  highSchool: AXPDataGenerator.uuid(),
@@ -35375,7 +35375,7 @@ const educationLevelMocks = [
35375
35375
  },
35376
35376
  ];
35377
35377
 
35378
- const M$1h = createMultiLanguageString$1;
35378
+ const M$1h = createMultiLanguageString;
35379
35379
  const genderIds = {
35380
35380
  male: 'b3000001-0000-4000-8000-000000000001',
35381
35381
  female: 'b3000001-0000-4000-8000-000000000002',
@@ -35411,7 +35411,7 @@ const genderMocks = [
35411
35411
  },
35412
35412
  ];
35413
35413
 
35414
- const M$1g = createMultiLanguageString$1;
35414
+ const M$1g = createMultiLanguageString;
35415
35415
  const maritalStatusIds = {
35416
35416
  single: 'b1000001-0000-4000-8000-000000000001',
35417
35417
  married: 'b1000001-0000-4000-8000-000000000002',
@@ -35453,7 +35453,7 @@ const maritalStatusMocks = [
35453
35453
  },
35454
35454
  ];
35455
35455
 
35456
- const M$1f = createMultiLanguageString$1;
35456
+ const M$1f = createMultiLanguageString;
35457
35457
  const personTitleIds = {
35458
35458
  mr: 'b2000001-0000-4000-8000-000000000001',
35459
35459
  mrs: 'b2000001-0000-4000-8000-000000000002',
@@ -36715,7 +36715,7 @@ const personMock = [
36715
36715
 
36716
36716
  function generateEmploymentType() {
36717
36717
  const uuid = AXPDataGenerator.uuid;
36718
- const M = createMultiLanguageString$1;
36718
+ const M = createMultiLanguageString;
36719
36719
  return [
36720
36720
  {
36721
36721
  id: uuid(),
@@ -38282,7 +38282,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
38282
38282
  }]
38283
38283
  }] });
38284
38284
 
38285
- const M$1e = createMultiLanguageString$1;
38285
+ const M$1e = createMultiLanguageString;
38286
38286
  const manufacturerCategoryIds = {
38287
38287
  electronics: AXPDataGenerator.uuid(),
38288
38288
  semiconductors: AXPDataGenerator.uuid(),
@@ -38462,7 +38462,7 @@ const manufacturerCategoryMocks = [
38462
38462
  },
38463
38463
  ];
38464
38464
 
38465
- const M$1d = createMultiLanguageString$1;
38465
+ const M$1d = createMultiLanguageString;
38466
38466
  const manufacturerIds = {
38467
38467
  techCorp: AXPDataGenerator.uuid(),
38468
38468
  autoWorks: AXPDataGenerator.uuid(),
@@ -38675,7 +38675,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
38675
38675
  type: Injectable
38676
38676
  }] });
38677
38677
 
38678
- const M$1c = createMultiLanguageString$1;
38678
+ const M$1c = createMultiLanguageString;
38679
38679
  const industryMocks = [
38680
38680
  {
38681
38681
  id: AXPDataGenerator.uuid(),
@@ -38763,7 +38763,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
38763
38763
  type: Injectable
38764
38764
  }] });
38765
38765
 
38766
- const M$1b = createMultiLanguageString$1;
38766
+ const M$1b = createMultiLanguageString;
38767
38767
  const businessTypeMocks = [
38768
38768
  {
38769
38769
  id: AXPDataGenerator.uuid(),
@@ -38837,7 +38837,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
38837
38837
  type: Injectable
38838
38838
  }] });
38839
38839
 
38840
- const M$1a = createMultiLanguageString$1;
38840
+ const M$1a = createMultiLanguageString;
38841
38841
  const businessStatusMocks = [
38842
38842
  {
38843
38843
  id: AXPDataGenerator.uuid(),
@@ -38904,7 +38904,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
38904
38904
  type: Injectable
38905
38905
  }] });
38906
38906
 
38907
- const M$19 = createMultiLanguageString$1;
38907
+ const M$19 = createMultiLanguageString;
38908
38908
  const partyTypeMocks = [
38909
38909
  {
38910
38910
  id: AXPDataGenerator.uuid(),
@@ -39004,7 +39004,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
39004
39004
  type: Injectable
39005
39005
  }] });
39006
39006
 
39007
- const M$18 = createMultiLanguageString$1;
39007
+ const M$18 = createMultiLanguageString;
39008
39008
  const partySegmentMocks = [
39009
39009
  {
39010
39010
  id: AXPDataGenerator.uuid(),
@@ -39088,7 +39088,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
39088
39088
  type: Injectable
39089
39089
  }] });
39090
39090
 
39091
- const M$17 = createMultiLanguageString$1;
39091
+ const M$17 = createMultiLanguageString;
39092
39092
  const lifecycleStageMocks = [
39093
39093
  {
39094
39094
  id: AXPDataGenerator.uuid(),
@@ -39143,7 +39143,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
39143
39143
  type: Injectable
39144
39144
  }] });
39145
39145
 
39146
- const M$16 = createMultiLanguageString$1;
39146
+ const M$16 = createMultiLanguageString;
39147
39147
  const CUSTOMER_PARTIES = [
39148
39148
  { en: 'Tech Solutions Inc.', fa: 'فناوری راه‌حل (شرکت)' },
39149
39149
  { en: 'European Manufacturing Consortium', fa: 'کنسرسیوم تولید اروپا' },
@@ -39233,7 +39233,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
39233
39233
  type: Injectable
39234
39234
  }] });
39235
39235
 
39236
- const M$15 = createMultiLanguageString$1;
39236
+ const M$15 = createMultiLanguageString;
39237
39237
  // Export contact role IDs for use in other mocks (person, deal-contact-role, etc.)
39238
39238
  const contactRoleIds = {
39239
39239
  customer: AXPDataGenerator.uuid(),
@@ -39521,7 +39521,7 @@ const contactRoleMocks = [
39521
39521
  },
39522
39522
  ];
39523
39523
 
39524
- const M$14 = createMultiLanguageString$1;
39524
+ const M$14 = createMultiLanguageString;
39525
39525
  const PARTY_CONTACT_ROLES = [
39526
39526
  contactRoleIds.primaryContact,
39527
39527
  contactRoleIds.accountManager,
@@ -39848,7 +39848,7 @@ const MOCK_CALENDAR_INTERNATIONAL_GREGORIAN_ID = 'c0010002-0000-4000-a000-000000
39848
39848
  const MOCK_CALENDAR_AUSTRALIA_ID = 'c0010003-0000-4000-a000-000000000003';
39849
39849
  const MOCK_CALENDAR_NEW_ZEALAND_ID = 'c0010004-0000-4000-a000-000000000004';
39850
39850
 
39851
- const M$13 = createMultiLanguageString$1;
39851
+ const M$13 = createMultiLanguageString;
39852
39852
  const calendarMock = [
39853
39853
  {
39854
39854
  id: MOCK_CALENDAR_IRAN_PERSIAN_ID,
@@ -39899,7 +39899,7 @@ const MOCK_CALENDAR_OCCASION_TYPE_OBSERVANCE_ID = 'c0020002-0000-4000-a000-00000
39899
39899
  const MOCK_CALENDAR_OCCASION_TYPE_MEMORIAL_ID = 'c0020003-0000-4000-a000-000000000003';
39900
39900
  const MOCK_CALENDAR_OCCASION_TYPE_CELEBRATION_ID = 'c0020004-0000-4000-a000-000000000004';
39901
39901
 
39902
- const M$12 = createMultiLanguageString$1;
39902
+ const M$12 = createMultiLanguageString;
39903
39903
  const calendarOccasionTypeMockData = [
39904
39904
  {
39905
39905
  id: MOCK_CALENDAR_OCCASION_TYPE_HOLIDAY_ID,
@@ -39948,7 +39948,7 @@ const calendarOccasionTypeMockData = [
39948
39948
  },
39949
39949
  ];
39950
39950
 
39951
- const M$11 = createMultiLanguageString$1;
39951
+ const M$11 = createMultiLanguageString;
39952
39952
  const holidayTypeId = calendarOccasionTypeMockData.find((type) => type.id === MOCK_CALENDAR_OCCASION_TYPE_HOLIDAY_ID)?.id ??
39953
39953
  calendarOccasionTypeMockData[0].id;
39954
39954
  const observanceTypeId = calendarOccasionTypeMockData.find((type) => type.id === MOCK_CALENDAR_OCCASION_TYPE_OBSERVANCE_ID)?.id ??
@@ -41444,7 +41444,7 @@ const CONTACT_CORE_ENTITY_NAMES = {
41444
41444
  emergencyServiceCategory: 'EmergencyServiceCategory',
41445
41445
  };
41446
41446
 
41447
- const M$10 = createMultiLanguageString$1;
41447
+ const M$10 = createMultiLanguageString;
41448
41448
  const uuid$g = AXPDataGenerator.uuid;
41449
41449
  const emergencyServiceCategoryIds = {
41450
41450
  emergency: uuid$g(),
@@ -41514,7 +41514,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
41514
41514
  type: Injectable
41515
41515
  }] });
41516
41516
 
41517
- const M$$ = createMultiLanguageString$1;
41517
+ const M$$ = createMultiLanguageString;
41518
41518
  const emergencyServiceMocks = [
41519
41519
  {
41520
41520
  id: AXPDataGenerator.uuid(),
@@ -41873,7 +41873,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
41873
41873
  }] });
41874
41874
 
41875
41875
  //#region ---- Helpers ----
41876
- const M$_ = createMultiLanguageString$1;
41876
+ const M$_ = createMultiLanguageString;
41877
41877
  //#endregion
41878
41878
  //#region ---- Category ids ----
41879
41879
  const textTemplateCategoryIds = {
@@ -41953,7 +41953,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
41953
41953
  }] });
41954
41954
 
41955
41955
  //#region ---- Helpers ----
41956
- const M$Z = createMultiLanguageString$1;
41956
+ const M$Z = createMultiLanguageString;
41957
41957
  const getCategoryTitle$5 = (id) => textTemplateCategoryMocks.find((c) => c.id === id)?.title ?? M$Z('', '');
41958
41958
  //#endregion
41959
41959
  //#region ---- Seed data ----
@@ -46277,7 +46277,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
46277
46277
  }]
46278
46278
  }] });
46279
46279
 
46280
- const M$Y = createMultiLanguageString$1;
46280
+ const M$Y = createMultiLanguageString;
46281
46281
  /** Stable ids referenced by {@link DASHBOARDS} `categoryIds`. */
46282
46282
  const DASHBOARD_CATEGORY_IDS = {
46283
46283
  tenant: 'dcat-tenant',
@@ -46298,7 +46298,7 @@ const DASHBOARD_CATEGORY_MOCK = [
46298
46298
  },
46299
46299
  ];
46300
46300
 
46301
- const M$X = createMultiLanguageString$1;
46301
+ const M$X = createMultiLanguageString;
46302
46302
  const CONVERSATION_ONLY_ROLE_ID = mockRoleDefinitions.find((role) => role.name === 'conversation-only')?.id;
46303
46303
  if (!CONVERSATION_ONLY_ROLE_ID) {
46304
46304
  throw new Error('conversation-only role is required for MAGFA conversation dashboard mock');
@@ -46511,7 +46511,7 @@ const ALL_ROLE_IDS = mockRoleDefinitions
46511
46511
  .filter((role) => role.name !== 'conversation-only')
46512
46512
  .map((role) => role.id)
46513
46513
  .filter((id) => typeof id === 'string');
46514
- const M$W = createMultiLanguageString$1;
46514
+ const M$W = createMultiLanguageString;
46515
46515
  const OPERATIONS_COCKPIT = {
46516
46516
  id: '13814a7a-2eab-4392-aeee-3b262fee0e7d',
46517
46517
  title: M$W('Utility Dashboard', 'داشبورد ابزارها'),
@@ -47563,7 +47563,7 @@ const SYSTEM_METADATA_DEFAULT_FEATURES = {
47563
47563
  };
47564
47564
 
47565
47565
  function ml(enUs, faIr) {
47566
- return createMultiLanguageString$1(enUs, faIr);
47566
+ return createMultiLanguageString(enUs, faIr);
47567
47567
  }
47568
47568
  /**
47569
47569
  * One metadata row; supports multiple categories (e.g. same field in System › Foundation and General › Text).
@@ -49377,7 +49377,7 @@ const MOCK_DOCUMENT_TYPE_MANUAL_EQUIPMENT_ID = 'dm-mock-document-type-manual-equ
49377
49377
  //#region ---- Imports ----
49378
49378
  //#endregion
49379
49379
  //#region ---- Helpers ----
49380
- const M$V = createMultiLanguageString$1;
49380
+ const M$V = createMultiLanguageString;
49381
49381
  const EXT = {
49382
49382
  PDF: {
49383
49383
  name: 'document.pdf',
@@ -50930,7 +50930,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
50930
50930
  type: Injectable
50931
50931
  }] });
50932
50932
 
50933
- const M$U = createMultiLanguageString$1;
50933
+ const M$U = createMultiLanguageString;
50934
50934
  const financialCoreExchangeRateMocks = [
50935
50935
  {
50936
50936
  id: AXPDataGenerator.uuid(),
@@ -50968,7 +50968,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
50968
50968
  type: Injectable
50969
50969
  }] });
50970
50970
 
50971
- const M$T = createMultiLanguageString$1;
50971
+ const M$T = createMultiLanguageString;
50972
50972
  const financialCoreTaxClassMocks = [
50973
50973
  {
50974
50974
  id: AXPDataGenerator.uuid(),
@@ -51008,7 +51008,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
51008
51008
  type: Injectable
51009
51009
  }] });
51010
51010
 
51011
- const M$S = createMultiLanguageString$1;
51011
+ const M$S = createMultiLanguageString;
51012
51012
  const financialCoreTaxRegionMocks = [
51013
51013
  {
51014
51014
  id: AXPDataGenerator.uuid(),
@@ -51057,7 +51057,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
51057
51057
  }] });
51058
51058
 
51059
51059
  const now = new Date();
51060
- const M$R = createMultiLanguageString$1;
51060
+ const M$R = createMultiLanguageString;
51061
51061
  const financialCoreTaxRuleMocks = [
51062
51062
  {
51063
51063
  id: AXPDataGenerator.uuid(),
@@ -51098,7 +51098,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
51098
51098
  type: Injectable
51099
51099
  }] });
51100
51100
 
51101
- const M$Q = createMultiLanguageString$1;
51101
+ const M$Q = createMultiLanguageString;
51102
51102
  const financialCorePaymentTermMocks = [
51103
51103
  {
51104
51104
  id: AXPDataGenerator.uuid(),
@@ -51140,7 +51140,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
51140
51140
  type: Injectable
51141
51141
  }] });
51142
51142
 
51143
- const M$P = createMultiLanguageString$1;
51143
+ const M$P = createMultiLanguageString;
51144
51144
  const financialCorePaymentMethodMocks = [
51145
51145
  {
51146
51146
  id: AXPDataGenerator.uuid(),
@@ -51188,7 +51188,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
51188
51188
  type: Injectable
51189
51189
  }] });
51190
51190
 
51191
- const M$O = createMultiLanguageString$1;
51191
+ const M$O = createMultiLanguageString;
51192
51192
  const financialCoreFiscalCalendarMocks = [
51193
51193
  {
51194
51194
  id: AXPDataGenerator.uuid(),
@@ -51220,7 +51220,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
51220
51220
  type: Injectable
51221
51221
  }] });
51222
51222
 
51223
- const M$N = createMultiLanguageString$1;
51223
+ const M$N = createMultiLanguageString;
51224
51224
  const cc100Id = AXPDataGenerator.uuid();
51225
51225
  const cc200Id = AXPDataGenerator.uuid();
51226
51226
  const financialCoreFinancialDimensionMocks = [
@@ -52855,7 +52855,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
52855
52855
  }]
52856
52856
  }] });
52857
52857
 
52858
- const M$M = createMultiLanguageString$1;
52858
+ const M$M = createMultiLanguageString;
52859
52859
  const bloodTypeMocks = [
52860
52860
  { id: AXPDataGenerator.uuid(), title: M$M('A+', 'A+'), description: M$M('Blood type A Rh positive.', 'گروه خونی A رِز مثبت.') },
52861
52861
  { id: AXPDataGenerator.uuid(), title: M$M('A-', 'A-'), description: M$M('Blood type A Rh negative.', 'گروه خونی A رِز منفی.') },
@@ -52881,7 +52881,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
52881
52881
  type: Injectable
52882
52882
  }] });
52883
52883
 
52884
- const M$L = createMultiLanguageString$1;
52884
+ const M$L = createMultiLanguageString;
52885
52885
  const bodyPartMocks = [
52886
52886
  { id: AXPDataGenerator.uuid(), title: M$L('Head', 'سر'), description: M$L('Head and skull.', 'سر و جمجمه.') },
52887
52887
  { id: AXPDataGenerator.uuid(), title: M$L('Neck', 'گردن'), description: M$L('Neck region.', 'ناحیه گردن.') },
@@ -52910,7 +52910,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
52910
52910
  type: Injectable
52911
52911
  }] });
52912
52912
 
52913
- const M$K = createMultiLanguageString$1;
52913
+ const M$K = createMultiLanguageString;
52914
52914
  const disabilityStatusMocks = [
52915
52915
  { id: AXPDataGenerator.uuid(), title: M$K('None', 'بدون'), description: M$K('No disability reported.', 'بدون محدودیت گزارش‌شده.') },
52916
52916
  { id: AXPDataGenerator.uuid(), title: M$K('Physical', 'جسمی'), description: M$K('Physical or mobility disability.', 'محدودیت جسمی یا تحرک.') },
@@ -53128,7 +53128,7 @@ const healthRestrictionMocks = [
53128
53128
  const M$I = createMultiLanguageString;
53129
53129
  function suggestedRestrictions(...englishTitles) {
53130
53130
  const items = englishTitles
53131
- .map((title) => healthRestrictionMocks.find((r) => resolveMultiLanguageString$1(r.title, 'en-US') === title))
53131
+ .map((title) => healthRestrictionMocks.find((r) => resolveMultiLanguageString(r.title, 'en-US') === title))
53132
53132
  .filter((r) => r != null)
53133
53133
  .map((r) => ({ id: r.id, title: r.title }));
53134
53134
  return {
@@ -53336,7 +53336,7 @@ function createWorkflowDefinitionEntityMock(def, options) {
53336
53336
  //#endregion
53337
53337
 
53338
53338
  //#region ---- Mock Categories ----
53339
- const M$H = createMultiLanguageString$1;
53339
+ const M$H = createMultiLanguageString;
53340
53340
  /**
53341
53341
  * Stable lookup keys for assigning activities in activity-definition mock.
53342
53342
  */
@@ -53428,7 +53428,7 @@ function finalizeActivityCategoryItemCounts(definitions) {
53428
53428
  const activityCategoryMocks = ACTIVITY_CATEGORIES;
53429
53429
  //#endregion
53430
53430
 
53431
- const M$G = createMultiLanguageString$1;
53431
+ const M$G = createMultiLanguageString;
53432
53432
  const C = ACTIVITY_CATEGORY_ID_BY_KEY;
53433
53433
  const CATEGORY = {
53434
53434
  'control-flow': {
@@ -55202,7 +55202,7 @@ const activityDefinitionEntityMock = ACTIVITY_DEFINITIONS.map((def) => ({
55202
55202
  }));
55203
55203
  //#endregion
55204
55204
 
55205
- const M$F = createMultiLanguageString$1;
55205
+ const M$F = createMultiLanguageString;
55206
55206
  //#region ---- Activity display titles (graph seed for Activities UI) ----
55207
55207
  function buildCatalogTitleByActivityName() {
55208
55208
  const m = new Map();
@@ -56581,7 +56581,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
56581
56581
  type: Injectable
56582
56582
  }] });
56583
56583
 
56584
- const M$A = createMultiLanguageString$1;
56584
+ const M$A = createMultiLanguageString;
56585
56585
  const injuryTypeMocks = [
56586
56586
  { id: AXPDataGenerator.uuid(), title: M$A('Bruise', 'کبودی'), description: M$A('Contusion or bruising.', 'کبودی یا هماتوم سطحی.') },
56587
56587
  { id: AXPDataGenerator.uuid(), title: M$A('Cut', 'بریدگی'), description: M$A('Laceration or cut.', 'بریدگی یا پارگی پوست.') },
@@ -56665,7 +56665,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
56665
56665
  type: Injectable
56666
56666
  }] });
56667
56667
 
56668
- const M$z = createMultiLanguageString$1;
56668
+ const M$z = createMultiLanguageString;
56669
56669
  const vaccinationTypeMocks = [
56670
56670
  { id: AXPDataGenerator.uuid(), title: M$z('Influenza (Flu)', 'آنفلوآنزا'), description: M$z('Seasonal influenza vaccine.', 'واکسن آنفلوآنزای فصلی.') },
56671
56671
  { id: AXPDataGenerator.uuid(), title: M$z('COVID-19', 'کووید‑۱۹'), description: M$z('COVID-19 vaccine.', 'واکسن کووید‑۱۹.') },
@@ -57161,7 +57161,7 @@ function createLeaveRequestWorkflowDefinition$1(config) {
57161
57161
 
57162
57162
  //#region ---- Imports ----
57163
57163
  const HCM_HR_CATALOG_SCOPE_KEYS$2 = [HCM_CATALOG_SCOPE_HR];
57164
- const M$y = createMultiLanguageString$1;
57164
+ const M$y = createMultiLanguageString;
57165
57165
  //#endregion
57166
57166
  //#region ---- Definition ----
57167
57167
  const createLeaveRequestWorkflowDefinition = createLeaveRequestWorkflowDefinition$1({
@@ -57192,7 +57192,7 @@ function createGenericLeaveWorkflowConfig() {
57192
57192
  }
57193
57193
  function generateLeaveType() {
57194
57194
  const uuid = AXPDataGenerator.uuid;
57195
- const M = createMultiLanguageString$1;
57195
+ const M = createMultiLanguageString;
57196
57196
  const workflowConfig = createGenericLeaveWorkflowConfig();
57197
57197
  return [
57198
57198
  {
@@ -57264,7 +57264,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
57264
57264
  type: Injectable
57265
57265
  }] });
57266
57266
 
57267
- const M$x = createMultiLanguageString$1;
57267
+ const M$x = createMultiLanguageString;
57268
57268
  //#endregion
57269
57269
  //#region ---- Workflow property interfaces ----
57270
57270
  const workflowLookup = (entity, textField, options) => ({
@@ -57861,7 +57861,7 @@ function createEmployeeLifecycleWorkflowDefinition(config) {
57861
57861
 
57862
57862
  //#region ---- Imports ----
57863
57863
  const HCM_HR_CATALOG_SCOPE_KEYS$1 = [HCM_CATALOG_SCOPE_HR];
57864
- const M$w = createMultiLanguageString$1;
57864
+ const M$w = createMultiLanguageString;
57865
57865
  //#endregion
57866
57866
  //#region ---- Definition ----
57867
57867
  const employeeOffboardingWorkflowDefinition = createEmployeeLifecycleWorkflowDefinition({
@@ -57888,7 +57888,7 @@ const employeeOffboardingWorkflowEntityMock = {
57888
57888
 
57889
57889
  //#region ---- Imports ----
57890
57890
  const HCM_HR_CATALOG_SCOPE_KEYS = [HCM_CATALOG_SCOPE_HR];
57891
- const M$v = createMultiLanguageString$1;
57891
+ const M$v = createMultiLanguageString;
57892
57892
  //#endregion
57893
57893
  //#region ---- Definition ----
57894
57894
  const employeeOnboardingWorkflowDefinition = createEmployeeLifecycleWorkflowDefinition({
@@ -57925,7 +57925,7 @@ const MOCK_LIFECYCLE_EVENT_TYPE_RETURN_TO_WORK_ID = '7f000005-0005-4111-a111-050
57925
57925
  const MOCK_LIFECYCLE_EVENT_TYPE_LEAVE_OF_ABSENCE_ID = '7f000006-0006-4111-a111-060606060606';
57926
57926
  //#endregion
57927
57927
  //#region ---- Meta-data builder payloads ----
57928
- const M$u = createMultiLanguageString$1;
57928
+ const M$u = createMultiLanguageString;
57929
57929
  function createLifecycleMetaDataList(groupName, groupTitle, fields) {
57930
57930
  return {
57931
57931
  groups: [
@@ -58759,7 +58759,7 @@ const AXMJiraManagementMockIds = {
58759
58759
 
58760
58760
  //#region ---- Imports ----
58761
58761
  //#endregion
58762
- const M$t = createMultiLanguageString$1;
58762
+ const M$t = createMultiLanguageString;
58763
58763
  //#endregion
58764
58764
  //#region ---- Mock Data ----
58765
58765
  const JIRA_INSTANCE_MOCK = [
@@ -59308,7 +59308,7 @@ function assertContext(record, context) {
59308
59308
  }
59309
59309
  }
59310
59310
  //#endregion
59311
- //#region ---- Mock secret store ----
59311
+ //#region ---- Integration secret store ----
59312
59312
  /**
59313
59313
  * Development-only secret store. Do not use in production API builds.
59314
59314
  */
@@ -60527,7 +60527,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
60527
60527
  //#region ---- Imports ----
60528
60528
  //#endregion
60529
60529
  //#region ---- Course type mocks ----
60530
- const M$s = createMultiLanguageString$1;
60530
+ const M$s = createMultiLanguageString;
60531
60531
  const learningManagementCourseTypeMocks = [
60532
60532
  {
60533
60533
  id: AXPDataGenerator.uuid(),
@@ -60570,7 +60570,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
60570
60570
  //#region ---- Imports ----
60571
60571
  //#endregion
60572
60572
  //#region ---- Course mocks ----
60573
- const M$r = createMultiLanguageString$1;
60573
+ const M$r = createMultiLanguageString;
60574
60574
  const findCourseType = (code) => learningManagementCourseTypeMocks.find((type) => type.code === code);
60575
60575
  const learningManagementCourseMocks = (() => {
60576
60576
  const courseAngular = {
@@ -60648,7 +60648,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
60648
60648
  //#region ---- Imports ----
60649
60649
  //#endregion
60650
60650
  //#region ---- Training type mocks ----
60651
- const M$q = createMultiLanguageString$1;
60651
+ const M$q = createMultiLanguageString;
60652
60652
  const learningManagementTrainingTypeMocks = [
60653
60653
  {
60654
60654
  id: AXPDataGenerator.uuid(),
@@ -60688,7 +60688,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
60688
60688
  //#region ---- Imports ----
60689
60689
  //#endregion
60690
60690
  //#region ---- Training definition mocks ----
60691
- const M$p = createMultiLanguageString$1;
60691
+ const M$p = createMultiLanguageString;
60692
60692
  const findTrainingType$1 = (code) => learningManagementTrainingTypeMocks.find((type) => type.code === code);
60693
60693
  const fallbackLocation$1 = locationMock[0];
60694
60694
  const learningManagementTrainingDefinitionMocks = [
@@ -60922,7 +60922,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
60922
60922
  //#region ---- Imports ----
60923
60923
  //#endregion
60924
60924
  //#region ---- Certificate type mocks ----
60925
- const M$o = createMultiLanguageString$1;
60925
+ const M$o = createMultiLanguageString;
60926
60926
  const learningManagementCertificateTypeMocks = [
60927
60927
  {
60928
60928
  id: AXPDataGenerator.uuid(),
@@ -60960,7 +60960,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
60960
60960
  //#region ---- Imports ----
60961
60961
  //#endregion
60962
60962
  //#region ---- Certificate definition mocks ----
60963
- const M$n = createMultiLanguageString$1;
60963
+ const M$n = createMultiLanguageString;
60964
60964
  const learningManagementCertificateDefinitionMocks = (() => {
60965
60965
  const angularDefinition = {
60966
60966
  id: AXPDataGenerator.uuid(),
@@ -61082,7 +61082,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
61082
61082
  //#region ---- Imports ----
61083
61083
  //#endregion
61084
61084
  //#region ---- Learning path mocks ----
61085
- const M$m = createMultiLanguageString$1;
61085
+ const M$m = createMultiLanguageString;
61086
61086
  const learningManagementLearningPathMocks = [
61087
61087
  {
61088
61088
  id: AXPDataGenerator.uuid(),
@@ -61731,7 +61731,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
61731
61731
  }] });
61732
61732
 
61733
61733
  //#region ---- Quantity Type Mocks ----
61734
- const M$l = createMultiLanguageString$1;
61734
+ const M$l = createMultiLanguageString;
61735
61735
  const measurementCoreQuantityTypeMocks = [
61736
61736
  {
61737
61737
  id: AXPDataGenerator.uuid(),
@@ -61807,7 +61807,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
61807
61807
  }] });
61808
61808
 
61809
61809
  //#region ---- Helpers ----
61810
- const M$k = createMultiLanguageString$1;
61810
+ const M$k = createMultiLanguageString;
61811
61811
  const findQt$1 = (code) => measurementCoreQuantityTypeMocks.find((q) => q.code === code);
61812
61812
  const toQuantityType$1 = (code) => {
61813
61813
  const qt = findQt$1(code);
@@ -61858,7 +61858,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
61858
61858
  }] });
61859
61859
 
61860
61860
  //#region ---- Helper Functions ----
61861
- const M$j = createMultiLanguageString$1;
61861
+ const M$j = createMultiLanguageString;
61862
61862
  const findUnit = (code) => measurementCoreUnitOfMeasureMocks.find((unit) => unit.code === code);
61863
61863
  const u = (code) => {
61864
61864
  const unit = findUnit(code);
@@ -62157,7 +62157,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
62157
62157
  }] });
62158
62158
 
62159
62159
  //#region ---- Helpers ----
62160
- const M$i = createMultiLanguageString$1;
62160
+ const M$i = createMultiLanguageString;
62161
62161
  const findQt = (code) => measurementCoreQuantityTypeMocks.find((q) => q.code === code);
62162
62162
  const findUom$1 = (code) => measurementCoreUnitOfMeasureMocks.find((u) => u.code === code);
62163
62163
  const toQuantityType = (code) => {
@@ -62222,7 +62222,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
62222
62222
  }] });
62223
62223
 
62224
62224
  //#region ---- Helpers ----
62225
- const M$h = createMultiLanguageString$1;
62225
+ const M$h = createMultiLanguageString;
62226
62226
  const findDim$2 = (code) => measurementCoreMeasurementDimensionMocks.find((d) => d.code === code);
62227
62227
  const findUom = (code) => measurementCoreUnitOfMeasureMocks.find((u) => u.code === code);
62228
62228
  const toMeasurementDimension$2 = (code) => {
@@ -62327,7 +62327,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
62327
62327
  }] });
62328
62328
 
62329
62329
  //#region ---- Types & helpers ----
62330
- const M$g = createMultiLanguageString$1;
62330
+ const M$g = createMultiLanguageString;
62331
62331
  //#endregion
62332
62332
  //#region ---- Category IDs (for use in sizing-profile mock) ----
62333
62333
  const sizingProfileCategoryIds = {
@@ -62382,7 +62382,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
62382
62382
  }] });
62383
62383
 
62384
62384
  //#region ---- Helpers ----
62385
- const M$f = createMultiLanguageString$1;
62385
+ const M$f = createMultiLanguageString;
62386
62386
  const categoryListEntry = (id) => {
62387
62387
  const category = sizingProfileCategoryMocks.find((c) => c.id === id);
62388
62388
  return { id: category.id, title: category.title };
@@ -62696,7 +62696,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
62696
62696
  }] });
62697
62697
 
62698
62698
  //#region ---- Helpers ----
62699
- const M$e = createMultiLanguageString$1;
62699
+ const M$e = createMultiLanguageString;
62700
62700
  const findChart$1 = (code) => measurementCoreSizingProfileMocks.find((c) => c.code === code);
62701
62701
  const toSizeChart$1 = (code) => {
62702
62702
  const chart = findChart$1(code);
@@ -64675,7 +64675,7 @@ const createFileCastMiddleware = {
64675
64675
  const value = getValueByPath(ctx.data, keyPath);
64676
64676
  if (Array.isArray(value)) {
64677
64677
  // Process all files in parallel
64678
- const filePromises = value.map(async (file, index) => {
64678
+ const filePromises = value.map(async (file) => {
64679
64679
  if (isFileListItem(file)) {
64680
64680
  const processed = await processFileForStorage(file, ctx.id?.toString());
64681
64681
  if (processed) {
@@ -64691,6 +64691,9 @@ const createFileCastMiddleware = {
64691
64691
  return null;
64692
64692
  }
64693
64693
  }
64694
+ else if (typeof file === 'string' && isAnyFileRef(file)) {
64695
+ return file;
64696
+ }
64694
64697
  else {
64695
64698
  return null;
64696
64699
  }
@@ -66032,13 +66035,13 @@ const primaryMiddleware = {
66032
66035
  };
66033
66036
 
66034
66037
  /** Keys to omit from version snapshots so we don't duplicate audit metadata in the version store. */
66035
- const VERSION_SNAPSHOT_OMIT_KEYS = ['auditInfo', 'stateInfo', 'ownershipInfo', 'workflowInfo'];
66036
- function snapshotForVersion(record) {
66038
+ const VERSION_SNAPSHOT_OMIT_KEYS$1 = ['auditInfo', 'stateInfo', 'ownershipInfo', 'workflowInfo'];
66039
+ function snapshotForVersion$1(record) {
66037
66040
  if (record == null) {
66038
66041
  return null;
66039
66042
  }
66040
66043
  const out = { ...record };
66041
- for (const key of VERSION_SNAPSHOT_OMIT_KEYS) {
66044
+ for (const key of VERSION_SNAPSHOT_OMIT_KEYS$1) {
66042
66045
  delete out[key];
66043
66046
  }
66044
66047
  return out;
@@ -66144,7 +66147,7 @@ const historyMiddleware = {
66144
66147
  if (ctx.op === 'create') {
66145
66148
  const createdId = String(ctx.result);
66146
66149
  const fullSnapshot = { ...ctx.data, id: createdId };
66147
- const snapshot = snapshotForVersion(fullSnapshot);
66150
+ const snapshot = snapshotForVersion$1(fullSnapshot);
66148
66151
  const changes = computeDiff(undefined, snapshot);
66149
66152
  await versioning.createVersion(entityType, createdId, snapshot, changes, {
66150
66153
  changeType: AXVChangeType.Create,
@@ -66155,8 +66158,8 @@ const historyMiddleware = {
66155
66158
  else if (ctx.op === 'update') {
66156
66159
  const referenceId = String(ctx.id);
66157
66160
  const fullSnapshot = ctx.result;
66158
- const snapshot = snapshotForVersion(fullSnapshot);
66159
- const previousForDiff = snapshotForVersion(ctx.previous);
66161
+ const snapshot = snapshotForVersion$1(fullSnapshot);
66162
+ const previousForDiff = snapshotForVersion$1(ctx.previous);
66160
66163
  const changes = computeDiff(previousForDiff, snapshot);
66161
66164
  await versioning.createVersion(entityType, referenceId, snapshot, changes, {
66162
66165
  changeType: AXVChangeType.Update,
@@ -66166,7 +66169,7 @@ const historyMiddleware = {
66166
66169
  }
66167
66170
  else if (ctx.op === 'delete') {
66168
66171
  const referenceId = String(ctx.id);
66169
- const snapshot = snapshotForVersion(ctx.previous);
66172
+ const snapshot = snapshotForVersion$1(ctx.previous);
66170
66173
  const changes = computeDiff(snapshot, null);
66171
66174
  await versioning.createVersion(entityType, referenceId, snapshot, changes, {
66172
66175
  changeType: AXVChangeType.Delete,
@@ -67453,16 +67456,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
67453
67456
  * `organization-management.organization-chart.nodes` (en-US / fa-IR).
67454
67457
  */
67455
67458
  const AXM_ORG_CHART_NODE_LABELS = {
67456
- company: createMultiLanguageString$1('Company', 'شرکت'),
67457
- vacant: createMultiLanguageString$1('Vacant', 'خالی'),
67458
- headPrefix: createMultiLanguageString$1('Head', 'مسئول'),
67459
- demoOrganization: createMultiLanguageString$1('Demo Organization', 'سازمان نمونه'),
67460
- employee: createMultiLanguageString$1('Employee', 'کارمند'),
67461
- position: createMultiLanguageString$1('Position', 'سمت'),
67462
- region: createMultiLanguageString$1('Region', 'منطقه'),
67463
- assign: createMultiLanguageString$1('Assign', 'تخصیص'),
67464
- reassign: createMultiLanguageString$1('Reassign', 'تغییر تخصیص'),
67465
- directReports: createMultiLanguageString$1('Direct reports', 'گزارش مستقیم'),
67459
+ company: createMultiLanguageString('Company', 'شرکت'),
67460
+ vacant: createMultiLanguageString('Vacant', 'خالی'),
67461
+ headPrefix: createMultiLanguageString('Head', 'مسئول'),
67462
+ demoOrganization: createMultiLanguageString('Demo Organization', 'سازمان نمونه'),
67463
+ employee: createMultiLanguageString('Employee', 'کارمند'),
67464
+ position: createMultiLanguageString('Position', 'سمت'),
67465
+ region: createMultiLanguageString('Region', 'منطقه'),
67466
+ assign: createMultiLanguageString('Assign', 'تخصیص'),
67467
+ reassign: createMultiLanguageString('Reassign', 'تغییر تخصیص'),
67468
+ directReports: createMultiLanguageString('Direct reports', 'گزارش مستقیم'),
67466
67469
  };
67467
67470
  function axmNormalizeChartTitle(value, fallback) {
67468
67471
  if (value == null || value === '') {
@@ -69101,7 +69104,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
69101
69104
  type: Injectable
69102
69105
  }] });
69103
69106
 
69104
- const M$d = createMultiLanguageString$1;
69107
+ const M$d = createMultiLanguageString;
69105
69108
  //#region ---- Team category seed ----
69106
69109
  /** Stable English category keys → id (flat list; used when attaching teams). */
69107
69110
  const TEAM_CATEGORY_KEY_TO_ID = {};
@@ -69538,7 +69541,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
69538
69541
  type: Injectable
69539
69542
  }] });
69540
69543
 
69541
- const M$c = createMultiLanguageString$1;
69544
+ const M$c = createMultiLanguageString;
69542
69545
  const uuid$5 = AXPDataGenerator.uuid;
69543
69546
  const TEAM_MEMBER_ROLES_MOCK = [
69544
69547
  { id: uuid$5(), title: M$c('Leader', 'رهبر تیم'), name: 'leader' },
@@ -69947,7 +69950,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
69947
69950
  type: Injectable
69948
69951
  }] });
69949
69952
 
69950
- const M$b = createMultiLanguageString$1;
69953
+ const M$b = createMultiLanguageString;
69951
69954
  const personIdentifierTypeMock = [
69952
69955
  {
69953
69956
  id: AXPDataGenerator.uuid(),
@@ -70059,7 +70062,7 @@ const personRelationshipMock = [
70059
70062
  type: {
70060
70063
  id: contactRoleIds.employs,
70061
70064
  name: getContactRoleById(contactRoleIds.employs)?.name,
70062
- title: getContactRoleById(contactRoleIds.employs)?.title ?? createMultiLanguageString$1('Employs', 'استخدام‌کننده'),
70065
+ title: getContactRoleById(contactRoleIds.employs)?.title ?? createMultiLanguageString('Employs', 'استخدام‌کننده'),
70063
70066
  },
70064
70067
  notes: 'Sarah Johnson manages Mike Chen',
70065
70068
  created: { at: new Date('2018-03-15') },
@@ -70074,7 +70077,7 @@ const personRelationshipMock = [
70074
70077
  type: {
70075
70078
  id: contactRoleIds.employs,
70076
70079
  name: getContactRoleById(contactRoleIds.employs)?.name,
70077
- title: getContactRoleById(contactRoleIds.employs)?.title ?? createMultiLanguageString$1('Employs', 'استخدام‌کننده'),
70080
+ title: getContactRoleById(contactRoleIds.employs)?.title ?? createMultiLanguageString('Employs', 'استخدام‌کننده'),
70078
70081
  },
70079
70082
  notes: 'Sarah Johnson manages Emily Rodriguez',
70080
70083
  created: { at: new Date('2019-07-01') },
@@ -70089,7 +70092,7 @@ const personRelationshipMock = [
70089
70092
  type: {
70090
70093
  id: contactRoleIds.employs,
70091
70094
  name: getContactRoleById(contactRoleIds.employs)?.name,
70092
- title: getContactRoleById(contactRoleIds.employs)?.title ?? createMultiLanguageString$1('Employs', 'استخدام‌کننده'),
70095
+ title: getContactRoleById(contactRoleIds.employs)?.title ?? createMultiLanguageString('Employs', 'استخدام‌کننده'),
70093
70096
  },
70094
70097
  notes: 'Sarah Johnson manages David Thompson',
70095
70098
  created: { at: new Date('2017-11-01') },
@@ -70104,7 +70107,7 @@ const personRelationshipMock = [
70104
70107
  type: {
70105
70108
  id: contactRoleIds.employs,
70106
70109
  name: getContactRoleById(contactRoleIds.employs)?.name,
70107
- title: getContactRoleById(contactRoleIds.employs)?.title ?? createMultiLanguageString$1('Employs', 'استخدام‌کننده'),
70110
+ title: getContactRoleById(contactRoleIds.employs)?.title ?? createMultiLanguageString('Employs', 'استخدام‌کننده'),
70108
70111
  },
70109
70112
  notes: 'ACME Corporation employs John Smith',
70110
70113
  created: { at: new Date('2023-12-01') },
@@ -70119,7 +70122,7 @@ const personRelationshipMock = [
70119
70122
  type: {
70120
70123
  id: contactRoleIds.vendorOf,
70121
70124
  name: getContactRoleById(contactRoleIds.vendorOf)?.name,
70122
- title: getContactRoleById(contactRoleIds.vendorOf)?.title ?? createMultiLanguageString$1('Vendor Of', 'فروشندهٔ'),
70125
+ title: getContactRoleById(contactRoleIds.vendorOf)?.title ?? createMultiLanguageString('Vendor Of', 'فروشندهٔ'),
70123
70126
  },
70124
70127
  notes: 'Tech Solutions Inc. is a vendor to ACME Corporation',
70125
70128
  created: { at: new Date('2023-08-01') },
@@ -70134,7 +70137,7 @@ const personRelationshipMock = [
70134
70137
  type: {
70135
70138
  id: contactRoleIds.vendorOf,
70136
70139
  name: getContactRoleById(contactRoleIds.vendorOf)?.name,
70137
- title: getContactRoleById(contactRoleIds.vendorOf)?.title ?? createMultiLanguageString$1('Vendor Of', 'فروشندهٔ'),
70140
+ title: getContactRoleById(contactRoleIds.vendorOf)?.title ?? createMultiLanguageString('Vendor Of', 'فروشندهٔ'),
70138
70141
  },
70139
70142
  notes: 'Global Suppliers Ltd supplies components to Tech Solutions Inc.',
70140
70143
  created: { at: new Date('2020-01-01') },
@@ -70149,7 +70152,7 @@ const personRelationshipMock = [
70149
70152
  type: {
70150
70153
  id: contactRoleIds.partnerOf,
70151
70154
  name: getContactRoleById(contactRoleIds.partnerOf)?.name,
70152
- title: getContactRoleById(contactRoleIds.partnerOf)?.title ?? createMultiLanguageString$1('Partner Of', 'شریک'),
70155
+ title: getContactRoleById(contactRoleIds.partnerOf)?.title ?? createMultiLanguageString('Partner Of', 'شریک'),
70153
70156
  },
70154
70157
  notes: 'Tech Solutions Inc. partners with Global Suppliers Ltd',
70155
70158
  created: { at: new Date('2020-01-01') },
@@ -70164,7 +70167,7 @@ const personRelationshipMock = [
70164
70167
  type: {
70165
70168
  id: contactRoleIds.clientOf,
70166
70169
  name: getContactRoleById(contactRoleIds.clientOf)?.name,
70167
- title: getContactRoleById(contactRoleIds.clientOf)?.title ?? createMultiLanguageString$1('Client Of', 'کارفرمای'),
70170
+ title: getContactRoleById(contactRoleIds.clientOf)?.title ?? createMultiLanguageString('Client Of', 'کارفرمای'),
70168
70171
  },
70169
70172
  notes: 'ACME Corporation is a client of Tech Solutions Inc.',
70170
70173
  created: { at: new Date('2023-08-01') },
@@ -70187,7 +70190,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
70187
70190
  type: Injectable
70188
70191
  }] });
70189
70192
 
70190
- const M$a = createMultiLanguageString$1;
70193
+ const M$a = createMultiLanguageString;
70191
70194
  const religionMocks = [
70192
70195
  {
70193
70196
  id: AXPDataGenerator.uuid(),
@@ -72131,7 +72134,44 @@ function generateProducts() {
72131
72134
  });
72132
72135
  return products;
72133
72136
  }
72134
- const productMocks = generateProducts();
72137
+ //#region ---- Mock metadata enrichment ----
72138
+ const MOCK_SYSTEM_USER = {
72139
+ id: 'system',
72140
+ type: 'user',
72141
+ fullName: 'System',
72142
+ };
72143
+ function resolveProductSeedCreatedAt(product, index) {
72144
+ const productNumber = Number.parseInt((product.code ?? '').replace(/\D/g, ''), 10);
72145
+ const dayOffset = Number.isFinite(productNumber) && productNumber > 0 ? productNumber : index + 1;
72146
+ return new Date(Date.UTC(2024, 0, dayOffset, 9, 0, 0));
72147
+ }
72148
+ /** Align seeded products with entity storage middleware audit/state/ownership shape. */
72149
+ const productMocks = generateProducts().map((product, index) => {
72150
+ const createdAt = resolveProductSeedCreatedAt(product, index);
72151
+ return {
72152
+ ...product,
72153
+ auditInfo: {
72154
+ created: {
72155
+ at: createdAt,
72156
+ by: MOCK_SYSTEM_USER,
72157
+ },
72158
+ updated: {
72159
+ at: createdAt,
72160
+ by: MOCK_SYSTEM_USER,
72161
+ },
72162
+ },
72163
+ stateInfo: {
72164
+ isHidden: false,
72165
+ isSystem: false,
72166
+ isImmutable: false,
72167
+ },
72168
+ ownershipInfo: {
72169
+ tenantId: undefined,
72170
+ applicationId: undefined,
72171
+ },
72172
+ };
72173
+ });
72174
+ //#endregion
72135
72175
 
72136
72176
  function generateSupplierProducts() {
72137
72177
  const supplierProducts = [];
@@ -72659,7 +72699,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
72659
72699
  //#endregion
72660
72700
  //#region ---- Constants ----
72661
72701
  const PRODUCT_ENTITY_TYPE = `${RootConfig$A.module.name}.${RootConfig$A.entities.product.name}`;
72662
- const M$9 = createMultiLanguageString$1;
72702
+ const M$9 = createMultiLanguageString;
72663
72703
  //#endregion
72664
72704
  //#region ---- Widget builders ----
72665
72705
  function createLayoutConfig(widgetId, lg, md, sm) {
@@ -72689,9 +72729,9 @@ function buildProductOverviewNote() {
72689
72729
  },
72690
72730
  };
72691
72731
  }
72692
- function buildSalesTrendChart() {
72732
+ function buildProductHistoryBarChart() {
72693
72733
  const widgetId = AXPDataGenerator.uuid();
72694
- const type = RootConfig$g.widgets.lineChart;
72734
+ const type = RootConfig$A.widgets.productHistoryBar;
72695
72735
  return {
72696
72736
  config: createLayoutConfig(widgetId, { x: 4, y: 0, width: 5, height: 5, minWidth: 3, minHeight: 3 }, { width: 4, height: 4 }, { height: 4 }),
72697
72737
  node: {
@@ -72699,30 +72739,14 @@ function buildSalesTrendChart() {
72699
72739
  path: `${type}-${widgetId}`,
72700
72740
  type,
72701
72741
  options: {
72702
- title: M$9('Sales trend', 'روند فروش'),
72703
- xAxisLabel: M$9('Month', 'ماه'),
72704
- yAxisLabel: M$9('Units sold', 'تعداد فروش'),
72705
- fillArea: true,
72706
- dataSource: 'dashboard-line-chart-data',
72742
+ ...AXM_PRODUCT_HISTORY_BAR_CHART_WIDGET_OPTIONS,
72743
+ title: M$9('Base price history', 'تاریخچه قیمت پایه'),
72744
+ xAxisLabel: M$9('Date', 'تاریخ'),
72745
+ yAxisLabel: M$9('Base price', 'قیمت پایه'),
72707
72746
  },
72708
72747
  meta: {
72709
72748
  title: { visible: true },
72710
72749
  },
72711
- defaultValue: [
72712
- {
72713
- id: `series-${widgetId}`,
72714
- label: M$9('Sales', 'فروش'),
72715
- lineColor: '#0ea5e9',
72716
- fillColor: '#0ea5e920',
72717
- data: [
72718
- { x: 1, y: 14 },
72719
- { x: 2, y: 21 },
72720
- { x: 3, y: 18 },
72721
- { x: 4, y: 26 },
72722
- { x: 5, y: 30 },
72723
- ],
72724
- },
72725
- ],
72726
72750
  },
72727
72751
  };
72728
72752
  }
@@ -72753,7 +72777,7 @@ function buildShortcutWidget(title, icon, path, color, layout) {
72753
72777
  function buildProductDashboardWidgets() {
72754
72778
  return [
72755
72779
  buildProductOverviewNote(),
72756
- buildSalesTrendChart(),
72780
+ buildProductHistoryBarChart(),
72757
72781
  buildShortcutWidget('@product-catalog:skus.entities.product-sku.plural', 'fa-light fa-barcode', '/platform-console/m/ProductCatalog/e/ProductSku/list', '#6366f1', { x: 0, y: 4, width: 2, height: 2 }),
72758
72782
  buildShortcutWidget('@product-catalog:products.entities.product.plural', 'fa-light fa-box', '/platform-console/m/ProductCatalog/e/Product/list', '#22c55e', { x: 2, y: 4, width: 2, height: 2 }),
72759
72783
  ];
@@ -72767,7 +72791,7 @@ function buildProductEntityDashboard() {
72767
72791
  return {
72768
72792
  id: AXPDataGenerator.uuid(),
72769
72793
  title: M$9('Product dashboard', 'داشبورد محصول'),
72770
- description: M$9('Product overview with sales trend and catalog shortcuts.', 'نمای کلی محصول با روند فروش و میانبرهای کاتالوگ.'),
72794
+ description: M$9('Product overview with change history chart and catalog shortcuts.', 'نمای کلی محصول با نمودار تاریخچه تغییرات و میانبرهای کاتالوگ.'),
72771
72795
  widgets: buildProductDashboardWidgets(),
72772
72796
  scope: 'E',
72773
72797
  scopeRef: {
@@ -72781,6 +72805,33 @@ function buildProductEntityDashboard() {
72781
72805
 
72782
72806
  //#region ---- Imports ----
72783
72807
  //#endregion
72808
+ //#region ---- Helpers ----
72809
+ const PRODUCT_HISTORY_BAR_WIDGET_TYPE = RootConfig$A.widgets.productHistoryBar;
72810
+ const LINE_CHART_WIDGET_TYPE = RootConfig$g.widgets.lineChart;
72811
+ function dashboardHasProductHistoryBar(widgets) {
72812
+ return (isArray(widgets) &&
72813
+ widgets.some((widget) => get(widget, 'node.type') === PRODUCT_HISTORY_BAR_WIDGET_TYPE));
72814
+ }
72815
+ function upsertProductHistoryBarWidget(existingWidgets, seedWidgets) {
72816
+ const seedHistoryBar = seedWidgets.find((widget) => get(widget, 'node.type') === PRODUCT_HISTORY_BAR_WIDGET_TYPE);
72817
+ if (!seedHistoryBar) {
72818
+ return existingWidgets;
72819
+ }
72820
+ const widgets = [...existingWidgets];
72821
+ const historyBarIndex = widgets.findIndex((widget) => get(widget, 'node.type') === PRODUCT_HISTORY_BAR_WIDGET_TYPE);
72822
+ if (historyBarIndex >= 0) {
72823
+ widgets[historyBarIndex] = seedHistoryBar;
72824
+ return widgets;
72825
+ }
72826
+ const lineChartIndex = widgets.findIndex((widget) => get(widget, 'node.type') === LINE_CHART_WIDGET_TYPE);
72827
+ if (lineChartIndex >= 0) {
72828
+ widgets[lineChartIndex] = seedHistoryBar;
72829
+ return widgets;
72830
+ }
72831
+ widgets.push(seedHistoryBar);
72832
+ return widgets;
72833
+ }
72834
+ //#endregion
72784
72835
  //#region ---- Seeder ----
72785
72836
  /**
72786
72837
  * Seeds the shared entity-type product dashboard with demo widgets.
@@ -72813,13 +72864,25 @@ class AXCProductEntityDashboardSeeder {
72813
72864
  }
72814
72865
  const existingWidgets = match.widgets;
72815
72866
  const seedWidgets = seedDashboard.widgets;
72816
- if (isArray(existingWidgets) && existingWidgets.length === 0 && isArray(seedWidgets) && seedWidgets.length > 0) {
72867
+ if (!isArray(existingWidgets) || !isArray(seedWidgets) || seedWidgets.length === 0) {
72868
+ return;
72869
+ }
72870
+ if (existingWidgets.length === 0) {
72817
72871
  await this.storageService.updateOne(entityName, match.id, {
72818
72872
  widgets: seedWidgets,
72819
72873
  title: seedDashboard.title,
72820
72874
  description: seedDashboard.description,
72821
72875
  locked: true,
72822
72876
  });
72877
+ return;
72878
+ }
72879
+ if (!dashboardHasProductHistoryBar(existingWidgets)) {
72880
+ await this.storageService.updateOne(entityName, match.id, {
72881
+ widgets: upsertProductHistoryBarWidget(existingWidgets, seedWidgets),
72882
+ title: seedDashboard.title,
72883
+ description: seedDashboard.description,
72884
+ locked: true,
72885
+ });
72823
72886
  }
72824
72887
  }
72825
72888
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCProductEntityDashboardSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
@@ -72829,12 +72892,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
72829
72892
  type: Injectable
72830
72893
  }] });
72831
72894
 
72895
+ /** Keys omitted from version snapshots (same as history middleware). */
72896
+ const VERSION_SNAPSHOT_OMIT_KEYS = ['auditInfo', 'stateInfo', 'ownershipInfo', 'workflowInfo'];
72897
+ function snapshotForVersion(record) {
72898
+ const out = { ...record };
72899
+ for (const key of VERSION_SNAPSHOT_OMIT_KEYS) {
72900
+ delete out[key];
72901
+ }
72902
+ return out;
72903
+ }
72832
72904
  class AXCProductSeeder {
72833
72905
  constructor() {
72834
72906
  this.storageService = inject(AXPEntityStorageService);
72907
+ this.versioning = inject(AXCVersioningService);
72835
72908
  }
72836
72909
  async seed() {
72837
- await this.storageService.initial(`${RootConfig$A.module.name}.${RootConfig$A.entities.product.name}`, productMocks);
72910
+ const entityType = `${RootConfig$A.module.name}.${RootConfig$A.entities.product.name}`;
72911
+ await this.storageService.initial(entityType, productMocks);
72912
+ for (const product of productMocks) {
72913
+ const streamId = await this.versioning.getStreamIdIfExists(entityType, product.id);
72914
+ if (streamId) {
72915
+ continue;
72916
+ }
72917
+ const snapshot = snapshotForVersion(product);
72918
+ const changes = computeDiff(undefined, snapshot);
72919
+ await this.versioning.createVersion(entityType, product.id, snapshot, changes, {
72920
+ changeType: AXVChangeType.Create,
72921
+ changedBy: 'system',
72922
+ summary: 'Created',
72923
+ });
72924
+ }
72838
72925
  }
72839
72926
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCProductSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
72840
72927
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCProductSeeder }); }
@@ -73387,6 +73474,7 @@ class AXCProductCatalogMockModule {
73387
73474
  loader: () => import('./acorex-connectivity-mock-get-product-pdf-data.query-DUZvwsmY.mjs').then((q) => q.GetProductPdfDataQuery),
73388
73475
  },
73389
73476
  ]),
73477
+ provideLazyProvider(AXP_DATASOURCE_DEFINITION_PROVIDER, () => import('./acorex-connectivity-mock-index-D0jdkk2E.mjs').then((m) => m.AXCProductHistoryBarChartDataSourceDefinition)),
73390
73478
  ] }); }
73391
73479
  }
73392
73480
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCProductCatalogMockModule, decorators: [{
@@ -73443,6 +73531,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
73443
73531
  loader: () => import('./acorex-connectivity-mock-get-product-pdf-data.query-DUZvwsmY.mjs').then((q) => q.GetProductPdfDataQuery),
73444
73532
  },
73445
73533
  ]),
73534
+ provideLazyProvider(AXP_DATASOURCE_DEFINITION_PROVIDER, () => import('./acorex-connectivity-mock-index-D0jdkk2E.mjs').then((m) => m.AXCProductHistoryBarChartDataSourceDefinition)),
73446
73535
  ],
73447
73536
  }]
73448
73537
  }] });
@@ -73529,7 +73618,7 @@ const MOCK_HARDWARE_ASSEMBLY_TASK_TYPE_ID = 'pm-mock-task-type-hardware-assembly
73529
73618
  const MOCK_HARDWARE_QA_TASK_TYPE_ID = 'pm-mock-task-type-hardware-qa';
73530
73619
  const MOCK_MEETING_TASK_TYPE_ID = 'pm-mock-task-type-meeting';
73531
73620
 
73532
- const M$8 = createMultiLanguageString$1;
73621
+ const M$8 = createMultiLanguageString;
73533
73622
  const PROJECT_TYPE_CATEGORY_IDS = {
73534
73623
  ohs: 'pm-mock-project-type-category-ohs',
73535
73624
  software: 'pm-mock-project-type-category-software',
@@ -73579,7 +73668,7 @@ function withProjectTypeCategories(...keys) {
73579
73668
  };
73580
73669
  }
73581
73670
 
73582
- const M$7 = createMultiLanguageString$1;
73671
+ const M$7 = createMultiLanguageString;
73583
73672
  function allowedTaskTypes(rows) {
73584
73673
  return {
73585
73674
  allowedTaskTypeIds: rows.map((row) => row.id),
@@ -73878,7 +73967,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
73878
73967
  }]
73879
73968
  }] });
73880
73969
 
73881
- //#region ---- Imports ----
73882
73970
  //#endregion
73883
73971
  /**
73884
73972
  * Mock Report Viewer Service
@@ -75038,7 +75126,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
75038
75126
  }]
75039
75127
  }] });
75040
75128
 
75041
- const M$6 = createMultiLanguageString$1;
75129
+ const M$6 = createMultiLanguageString;
75042
75130
  const uuid$2 = AXPDataGenerator.uuid;
75043
75131
  const ReservationTypeMock = [
75044
75132
  {
@@ -75154,7 +75242,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
75154
75242
  type: Injectable
75155
75243
  }] });
75156
75244
 
75157
- const M$5 = createMultiLanguageString$1;
75245
+ const M$5 = createMultiLanguageString;
75158
75246
  const uuid = AXPDataGenerator.uuid;
75159
75247
  const ReservationStatusMock = [
75160
75248
  {
@@ -75662,7 +75750,7 @@ class AXCSecurityManagementMockModule {
75662
75750
  provideQuerySetups([
75663
75751
  {
75664
75752
  key: 'SecurityManagement:User:RolesForListColumn',
75665
- loader: () => import('./acorex-connectivity-mock-user-roles-for-list-column.query-_M6LBuCV.mjs').then((m) => m.UserRolesForListColumnQuery),
75753
+ loader: () => import('./acorex-connectivity-mock-user-roles-for-list-column.query-DVuh_6NC.mjs').then((m) => m.UserRolesForListColumnQuery),
75666
75754
  },
75667
75755
  ]),
75668
75756
  ] }); }
@@ -75706,7 +75794,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
75706
75794
  provideQuerySetups([
75707
75795
  {
75708
75796
  key: 'SecurityManagement:User:RolesForListColumn',
75709
- loader: () => import('./acorex-connectivity-mock-user-roles-for-list-column.query-_M6LBuCV.mjs').then((m) => m.UserRolesForListColumnQuery),
75797
+ loader: () => import('./acorex-connectivity-mock-user-roles-for-list-column.query-DVuh_6NC.mjs').then((m) => m.UserRolesForListColumnQuery),
75710
75798
  },
75711
75799
  ]),
75712
75800
  ],
@@ -76902,7 +76990,7 @@ function generateTaskTemplates(taskTypes) {
76902
76990
  const TASK_TEMPLATES = generateTaskTemplates(TASK_TYPES);
76903
76991
  //#endregion
76904
76992
 
76905
- const M$4 = createMultiLanguageString$1;
76993
+ const M$4 = createMultiLanguageString;
76906
76994
  const TASK_TYPE_CATEGORY_IDS = {
76907
76995
  software: 'tm-mock-task-type-category-software',
76908
76996
  safety: 'tm-mock-task-type-category-safety',
@@ -83568,7 +83656,7 @@ class AXCWorkflowManagementMockModule {
83568
83656
  provideCommandSetups([
83569
83657
  {
83570
83658
  key: 'workflow-activity:assign-to-manager',
83571
- command: () => import('./acorex-connectivity-mock-assign-to-manager.activity-dDsWQSTk.mjs').then((c) => c.AssignToManagerActivity),
83659
+ command: () => import('./acorex-connectivity-mock-assign-to-manager.activity-Dv7Jzdhf.mjs').then((c) => c.AssignToManagerActivity),
83572
83660
  },
83573
83661
  {
83574
83662
  key: 'workflow-activity:get-current-user-manager',
@@ -83663,7 +83751,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
83663
83751
  provideCommandSetups([
83664
83752
  {
83665
83753
  key: 'workflow-activity:assign-to-manager',
83666
- command: () => import('./acorex-connectivity-mock-assign-to-manager.activity-dDsWQSTk.mjs').then((c) => c.AssignToManagerActivity),
83754
+ command: () => import('./acorex-connectivity-mock-assign-to-manager.activity-Dv7Jzdhf.mjs').then((c) => c.AssignToManagerActivity),
83667
83755
  },
83668
83756
  {
83669
83757
  key: 'workflow-activity:get-current-user-manager',
@@ -84018,55 +84106,55 @@ class AXMWorkflowDashboardChartDataSourceDefinition {
84018
84106
  //#endregion
84019
84107
  //#region ---- Legacy / shared sample blocks ----
84020
84108
  this.pendingApprovalByAgeItems = this.withRandomColor([
84021
- { id: '0-24h', label: createMultiLanguageString$1('0-24h', '۰–۲۴ ساعت'), value: 24 },
84022
- { id: '1-3d', label: createMultiLanguageString$1('1-3d', '۱–۳ روز'), value: 37 },
84023
- { id: '4-7d', label: createMultiLanguageString$1('4-7d', '۴–۷ روز'), value: 19 },
84024
- { id: '>7d', label: createMultiLanguageString$1('>7d', 'بیش از ۷ روز'), value: 11 },
84109
+ { id: '0-24h', label: createMultiLanguageString('0-24h', '۰–۲۴ ساعت'), value: 24 },
84110
+ { id: '1-3d', label: createMultiLanguageString('1-3d', '۱–۳ روز'), value: 37 },
84111
+ { id: '4-7d', label: createMultiLanguageString('4-7d', '۴–۷ روز'), value: 19 },
84112
+ { id: '>7d', label: createMultiLanguageString('>7d', 'بیش از ۷ روز'), value: 11 },
84025
84113
  ]);
84026
84114
  this.workloadByProcessItems = this.withRandomColor([
84027
- { id: 'procurement', name: createMultiLanguageString$1('Procurement', 'تدارکات'), value: 34 },
84028
- { id: 'onboarding', name: createMultiLanguageString$1('Employee Onboarding', 'ورود کارکنان'), value: 27 },
84029
- { id: 'incident', name: createMultiLanguageString$1('Incident Review', 'بررسی حادثه'), value: 18 },
84030
- { id: 'leave', name: createMultiLanguageString$1('Leave Request', 'درخواست مرخصی'), value: 13 },
84031
- { id: 'access', name: createMultiLanguageString$1('Access Request', 'درخواست دسترسی'), value: 8 },
84115
+ { id: 'procurement', name: createMultiLanguageString('Procurement', 'تدارکات'), value: 34 },
84116
+ { id: 'onboarding', name: createMultiLanguageString('Employee Onboarding', 'ورود کارکنان'), value: 27 },
84117
+ { id: 'incident', name: createMultiLanguageString('Incident Review', 'بررسی حادثه'), value: 18 },
84118
+ { id: 'leave', name: createMultiLanguageString('Leave Request', 'درخواست مرخصی'), value: 13 },
84119
+ { id: 'access', name: createMultiLanguageString('Access Request', 'درخواست دسترسی'), value: 8 },
84032
84120
  ]);
84033
84121
  this.slaComplianceItems = 86;
84034
84122
  this.throughputItems = this.buildThroughputItems();
84035
84123
  //#endregion
84036
84124
  //#region ---- New dashboard samples ----
84037
84125
  this.systemHealthSummaryItems = this.withRandomColor([
84038
- { id: 'running', label: createMultiLanguageString$1('Running instances', 'نمونه‌های در حال اجرا'), value: 48 },
84039
- { id: 'completed', label: createMultiLanguageString$1('Completed instances', 'نمونه‌های تکمیل‌شده'), value: 312 },
84040
- { id: 'failed', label: createMultiLanguageString$1('Failed instances', 'نمونه‌های ناموفق'), value: 7 },
84041
- { id: 'pending', label: createMultiLanguageString$1('Pending tasks', 'وظایف در انتظار'), value: 63 },
84042
- { id: 'overdue', label: createMultiLanguageString$1('Overdue tasks', 'وظایف معوقه'), value: 14 },
84043
- { id: 'sla', label: createMultiLanguageString$1('SLA compliance (%)', 'انطباق SLA (٪)'), value: 89 },
84126
+ { id: 'running', label: createMultiLanguageString('Running instances', 'نمونه‌های در حال اجرا'), value: 48 },
84127
+ { id: 'completed', label: createMultiLanguageString('Completed instances', 'نمونه‌های تکمیل‌شده'), value: 312 },
84128
+ { id: 'failed', label: createMultiLanguageString('Failed instances', 'نمونه‌های ناموفق'), value: 7 },
84129
+ { id: 'pending', label: createMultiLanguageString('Pending tasks', 'وظایف در انتظار'), value: 63 },
84130
+ { id: 'overdue', label: createMultiLanguageString('Overdue tasks', 'وظایف معوقه'), value: 14 },
84131
+ { id: 'sla', label: createMultiLanguageString('SLA compliance (%)', 'انطباق SLA (٪)'), value: 89 },
84044
84132
  ]);
84045
84133
  this.throughputDailyItems = this.buildDailyThroughput(14);
84046
84134
  this.throughputWeeklyItems = this.buildWeeklyThroughput(12);
84047
84135
  this.instanceConversionFunnelItems = this.withRandomColor([
84048
- { id: 'created', name: createMultiLanguageString$1('Created', 'ایجادشده'), value: 524 },
84049
- { id: 'assigned', name: createMultiLanguageString$1('Assigned', 'ارجاع‌شده'), value: 468 },
84050
- { id: 'in-progress', name: createMultiLanguageString$1('In progress', 'در حال انجام'), value: 392 },
84051
- { id: 'completed', name: createMultiLanguageString$1('Completed', 'تکمیل‌شده'), value: 341 },
84136
+ { id: 'created', name: createMultiLanguageString('Created', 'ایجادشده'), value: 524 },
84137
+ { id: 'assigned', name: createMultiLanguageString('Assigned', 'ارجاع‌شده'), value: 468 },
84138
+ { id: 'in-progress', name: createMultiLanguageString('In progress', 'در حال انجام'), value: 392 },
84139
+ { id: 'completed', name: createMultiLanguageString('Completed', 'تکمیل‌شده'), value: 341 },
84052
84140
  ]);
84053
84141
  this.errorsByActivityDayHeatmapItems = (() => {
84054
84142
  const days = [
84055
- createMultiLanguageString$1('Mon', 'دوشنبه'),
84056
- createMultiLanguageString$1('Tue', 'سه‌شنبه'),
84057
- createMultiLanguageString$1('Wed', 'چهارشنبه'),
84058
- createMultiLanguageString$1('Thu', 'پنجشنبه'),
84059
- createMultiLanguageString$1('Fri', 'جمعه'),
84060
- createMultiLanguageString$1('Sat', 'شنبه'),
84061
- createMultiLanguageString$1('Sun', 'یکشنبه'),
84143
+ createMultiLanguageString('Mon', 'دوشنبه'),
84144
+ createMultiLanguageString('Tue', 'سه‌شنبه'),
84145
+ createMultiLanguageString('Wed', 'چهارشنبه'),
84146
+ createMultiLanguageString('Thu', 'پنجشنبه'),
84147
+ createMultiLanguageString('Fri', 'جمعه'),
84148
+ createMultiLanguageString('Sat', 'شنبه'),
84149
+ createMultiLanguageString('Sun', 'یکشنبه'),
84062
84150
  ];
84063
84151
  const activities = [
84064
- createMultiLanguageString$1('Validation', 'اعتبارسنجی'),
84065
- createMultiLanguageString$1('Approval', 'تأیید'),
84066
- createMultiLanguageString$1('Enrichment', 'تکمیل اطلاعات'),
84067
- createMultiLanguageString$1('Integration', 'یکپارچه‌سازی'),
84068
- createMultiLanguageString$1('Notification', 'اطلاع‌رسانی'),
84069
- createMultiLanguageString$1('Archiving', 'بایگانی'),
84152
+ createMultiLanguageString('Validation', 'اعتبارسنجی'),
84153
+ createMultiLanguageString('Approval', 'تأیید'),
84154
+ createMultiLanguageString('Enrichment', 'تکمیل اطلاعات'),
84155
+ createMultiLanguageString('Integration', 'یکپارچه‌سازی'),
84156
+ createMultiLanguageString('Notification', 'اطلاع‌رسانی'),
84157
+ createMultiLanguageString('Archiving', 'بایگانی'),
84070
84158
  ];
84071
84159
  const items = [];
84072
84160
  days.forEach((day, dayIndex) => {
@@ -84086,17 +84174,17 @@ class AXMWorkflowDashboardChartDataSourceDefinition {
84086
84174
  this.slaViolationsAndDelayItems = this.withRandomColor([
84087
84175
  {
84088
84176
  id: 'violations',
84089
- label: createMultiLanguageString$1('SLA violations (count)', 'تخلفات SLA (تعداد)'),
84177
+ label: createMultiLanguageString('SLA violations (count)', 'تخلفات SLA (تعداد)'),
84090
84178
  value: 23,
84091
84179
  },
84092
84180
  {
84093
84181
  id: 'avg-delay',
84094
- label: createMultiLanguageString$1('Avg SLA delay (hours)', 'میانگین تأخیر SLA (ساعت)'),
84182
+ label: createMultiLanguageString('Avg SLA delay (hours)', 'میانگین تأخیر SLA (ساعت)'),
84095
84183
  value: 4,
84096
84184
  },
84097
84185
  {
84098
84186
  id: 'median-delay',
84099
- label: createMultiLanguageString$1('Median SLA delay (hours)', 'میانه تأخیر SLA (ساعت)'),
84187
+ label: createMultiLanguageString('Median SLA delay (hours)', 'میانه تأخیر SLA (ساعت)'),
84100
84188
  value: 2,
84101
84189
  },
84102
84190
  ]);
@@ -84109,7 +84197,7 @@ class AXMWorkflowDashboardChartDataSourceDefinition {
84109
84197
  return [
84110
84198
  {
84111
84199
  id: 'sla-pct',
84112
- label: createMultiLanguageString$1('Resolved within SLA (%)', 'حل‌شده در SLA (٪)'),
84200
+ label: createMultiLanguageString('Resolved within SLA (%)', 'حل‌شده در SLA (٪)'),
84113
84201
  lineColor: this.asRgbVar(v),
84114
84202
  fillColor: this.asRgbVarWithAlpha(v, 0.12),
84115
84203
  data,
@@ -84117,20 +84205,20 @@ class AXMWorkflowDashboardChartDataSourceDefinition {
84117
84205
  ];
84118
84206
  })();
84119
84207
  this.pendingTasksByAgeItems = this.withRandomColor([
84120
- { id: '0-24h', label: createMultiLanguageString$1('0-24h', '۰–۲۴ ساعت'), value: 41 },
84121
- { id: '1-3d', label: createMultiLanguageString$1('1-3d', '۱–۳ روز'), value: 28 },
84122
- { id: '4-7d', label: createMultiLanguageString$1('4-7d', '۴–۷ روز'), value: 16 },
84123
- { id: '>7d', label: createMultiLanguageString$1('>7d', 'بیش از ۷ روز'), value: 9 },
84208
+ { id: '0-24h', label: createMultiLanguageString('0-24h', '۰–۲۴ ساعت'), value: 41 },
84209
+ { id: '1-3d', label: createMultiLanguageString('1-3d', '۱–۳ روز'), value: 28 },
84210
+ { id: '4-7d', label: createMultiLanguageString('4-7d', '۴–۷ روز'), value: 16 },
84211
+ { id: '>7d', label: createMultiLanguageString('>7d', 'بیش از ۷ روز'), value: 9 },
84124
84212
  ]);
84125
84213
  this.failedProcessesSummaryItems = this.withRandomColor([
84126
84214
  {
84127
84215
  id: 'total-failed',
84128
- label: createMultiLanguageString$1('Total failed instances', 'کل نمونه‌های ناموفق'),
84216
+ label: createMultiLanguageString('Total failed instances', 'کل نمونه‌های ناموفق'),
84129
84217
  value: 36,
84130
84218
  },
84131
84219
  {
84132
84220
  id: 'recent-failed',
84133
- label: createMultiLanguageString$1('Failed (last 7 days)', 'ناموفق (۷ روز اخیر)'),
84221
+ label: createMultiLanguageString('Failed (last 7 days)', 'ناموفق (۷ روز اخیر)'),
84134
84222
  value: 9,
84135
84223
  },
84136
84224
  ]);
@@ -84143,7 +84231,7 @@ class AXMWorkflowDashboardChartDataSourceDefinition {
84143
84231
  return [
84144
84232
  {
84145
84233
  id: 'failures',
84146
- label: createMultiLanguageString$1('Failed instances', 'نمونه‌های ناموفق'),
84234
+ label: createMultiLanguageString('Failed instances', 'نمونه‌های ناموفق'),
84147
84235
  lineColor: this.asRgbVar(v),
84148
84236
  fillColor: this.asRgbVarWithAlpha(v, 0.15),
84149
84237
  data,
@@ -84151,192 +84239,192 @@ class AXMWorkflowDashboardChartDataSourceDefinition {
84151
84239
  ];
84152
84240
  })();
84153
84241
  this.failedProcessesByTypeItems = this.withRandomColor([
84154
- { id: 'procurement', name: createMultiLanguageString$1('Procurement', 'تدارکات'), value: 11 },
84155
- { id: 'onboarding', name: createMultiLanguageString$1('Employee Onboarding', 'ورود کارکنان'), value: 9 },
84156
- { id: 'incident', name: createMultiLanguageString$1('Incident Review', 'بررسی حادثه'), value: 8 },
84157
- { id: 'leave', name: createMultiLanguageString$1('Leave Request', 'درخواست مرخصی'), value: 5 },
84158
- { id: 'access', name: createMultiLanguageString$1('Access Request', 'درخواست دسترسی'), value: 3 },
84242
+ { id: 'procurement', name: createMultiLanguageString('Procurement', 'تدارکات'), value: 11 },
84243
+ { id: 'onboarding', name: createMultiLanguageString('Employee Onboarding', 'ورود کارکنان'), value: 9 },
84244
+ { id: 'incident', name: createMultiLanguageString('Incident Review', 'بررسی حادثه'), value: 8 },
84245
+ { id: 'leave', name: createMultiLanguageString('Leave Request', 'درخواست مرخصی'), value: 5 },
84246
+ { id: 'access', name: createMultiLanguageString('Access Request', 'درخواست دسترسی'), value: 3 },
84159
84247
  ]);
84160
84248
  this.stuckProcessesItems = this.withRandomColor([
84161
84249
  {
84162
84250
  id: 's1',
84163
- label: createMultiLanguageString$1('Invoice approval · #18432', 'تأیید فاکتور · ۱۸۴۳۲'),
84251
+ label: createMultiLanguageString('Invoice approval · #18432', 'تأیید فاکتور · ۱۸۴۳۲'),
84164
84252
  value: 96,
84165
84253
  },
84166
84254
  {
84167
84255
  id: 's2',
84168
- label: createMultiLanguageString$1('Contract review · #9102', 'بررسی قرارداد · ۹۱۰۲'),
84256
+ label: createMultiLanguageString('Contract review · #9102', 'بررسی قرارداد · ۹۱۰۲'),
84169
84257
  value: 72,
84170
84258
  },
84171
84259
  {
84172
84260
  id: 's3',
84173
- label: createMultiLanguageString$1('Access request · #4410', 'درخواست دسترسی · ۴۴۱۰'),
84261
+ label: createMultiLanguageString('Access request · #4410', 'درخواست دسترسی · ۴۴۱۰'),
84174
84262
  value: 61,
84175
84263
  },
84176
84264
  {
84177
84265
  id: 's4',
84178
- label: createMultiLanguageString$1('Leave workflow · #2201', 'گردش کار مرخصی · ۲۲۰۱'),
84266
+ label: createMultiLanguageString('Leave workflow · #2201', 'گردش کار مرخصی · ۲۲۰۱'),
84179
84267
  value: 54,
84180
84268
  },
84181
84269
  {
84182
84270
  id: 's5',
84183
- label: createMultiLanguageString$1('Incident triage · #8831', 'اولویت‌بندی حادثه · ۸۸۳۱'),
84271
+ label: createMultiLanguageString('Incident triage · #8831', 'اولویت‌بندی حادثه · ۸۸۳۱'),
84184
84272
  value: 48,
84185
84273
  },
84186
84274
  ]);
84187
84275
  this.overdueTasksByProcessItems = this.withRandomColor([
84188
- { id: 'procurement', label: createMultiLanguageString$1('Procurement', 'تدارکات'), value: 12 },
84189
- { id: 'onboarding', label: createMultiLanguageString$1('Onboarding', 'ورود کارکنان'), value: 9 },
84190
- { id: 'incident', label: createMultiLanguageString$1('Incident', 'حادثه'), value: 7 },
84191
- { id: 'leave', label: createMultiLanguageString$1('Leave', 'مرخصی'), value: 5 },
84192
- { id: 'access', label: createMultiLanguageString$1('Access', 'دسترسی'), value: 3 },
84276
+ { id: 'procurement', label: createMultiLanguageString('Procurement', 'تدارکات'), value: 12 },
84277
+ { id: 'onboarding', label: createMultiLanguageString('Onboarding', 'ورود کارکنان'), value: 9 },
84278
+ { id: 'incident', label: createMultiLanguageString('Incident', 'حادثه'), value: 7 },
84279
+ { id: 'leave', label: createMultiLanguageString('Leave', 'مرخصی'), value: 5 },
84280
+ { id: 'access', label: createMultiLanguageString('Access', 'دسترسی'), value: 3 },
84193
84281
  ]);
84194
84282
  this.tasksNearDeadlineItems = this.withRandomColor([
84195
84283
  {
84196
84284
  id: 't1',
84197
- label: createMultiLanguageString$1('Review PO · 45m left · P1', 'بررسی PO · ۴۵ دقیقه مانده · اولویت ۱'),
84285
+ label: createMultiLanguageString('Review PO · 45m left · P1', 'بررسی PO · ۴۵ دقیقه مانده · اولویت ۱'),
84198
84286
  value: 45,
84199
84287
  },
84200
84288
  {
84201
84289
  id: 't2',
84202
- label: createMultiLanguageString$1('Sign-off · 1.2h left · P2', 'امضا · ۱٫۲ ساعت مانده · اولویت ۲'),
84290
+ label: createMultiLanguageString('Sign-off · 1.2h left · P2', 'امضا · ۱٫۲ ساعت مانده · اولویت ۲'),
84203
84291
  value: 72,
84204
84292
  },
84205
84293
  {
84206
84294
  id: 't3',
84207
- label: createMultiLanguageString$1('Verify ID · 2h left · P1', 'تأیید هویت · ۲ ساعت مانده · اولویت ۱'),
84295
+ label: createMultiLanguageString('Verify ID · 2h left · P1', 'تأیید هویت · ۲ ساعت مانده · اولویت ۱'),
84208
84296
  value: 120,
84209
84297
  },
84210
84298
  {
84211
84299
  id: 't4',
84212
- label: createMultiLanguageString$1('Manager approve · 3h left · P3', 'تأیید مدیر · ۳ ساعت مانده · اولویت ۳'),
84300
+ label: createMultiLanguageString('Manager approve · 3h left · P3', 'تأیید مدیر · ۳ ساعت مانده · اولویت ۳'),
84213
84301
  value: 180,
84214
84302
  },
84215
84303
  {
84216
84304
  id: 't5',
84217
- label: createMultiLanguageString$1('Legal check · 5h left · P2', 'بررسی حقوقی · ۵ ساعت مانده · اولویت ۲'),
84305
+ label: createMultiLanguageString('Legal check · 5h left · P2', 'بررسی حقوقی · ۵ ساعت مانده · اولویت ۲'),
84218
84306
  value: 300,
84219
84307
  },
84220
84308
  ]);
84221
84309
  this.bottleneckActivitiesItems = this.withRandomColor([
84222
84310
  {
84223
84311
  id: 'b1',
84224
- label: createMultiLanguageString$1('Manager approval (avg wait h)', 'تأیید مدیر (میانگین انتظار - ساعت)'),
84312
+ label: createMultiLanguageString('Manager approval (avg wait h)', 'تأیید مدیر (میانگین انتظار - ساعت)'),
84225
84313
  value: 18,
84226
84314
  },
84227
84315
  {
84228
84316
  id: 'b2',
84229
- label: createMultiLanguageString$1('Legal review (avg wait h)', 'بررسی حقوقی (میانگین انتظار - ساعت)'),
84317
+ label: createMultiLanguageString('Legal review (avg wait h)', 'بررسی حقوقی (میانگین انتظار - ساعت)'),
84230
84318
  value: 14,
84231
84319
  },
84232
84320
  {
84233
84321
  id: 'b3',
84234
- label: createMultiLanguageString$1('Finance check (avg wait h)', 'بررسی مالی (میانگین انتظار - ساعت)'),
84322
+ label: createMultiLanguageString('Finance check (avg wait h)', 'بررسی مالی (میانگین انتظار - ساعت)'),
84235
84323
  value: 11,
84236
84324
  },
84237
84325
  {
84238
84326
  id: 'b4',
84239
- label: createMultiLanguageString$1('HR validation (avg wait h)', 'اعتبارسنجی منابع انسانی (میانگین انتظار - ساعت)'),
84327
+ label: createMultiLanguageString('HR validation (avg wait h)', 'اعتبارسنجی منابع انسانی (میانگین انتظار - ساعت)'),
84240
84328
  value: 9,
84241
84329
  },
84242
84330
  {
84243
84331
  id: 'b5',
84244
- label: createMultiLanguageString$1('IT provisioning (avg wait h)', 'تأمین فناوری اطلاعات (میانگین انتظار - ساعت)'),
84332
+ label: createMultiLanguageString('IT provisioning (avg wait h)', 'تأمین فناوری اطلاعات (میانگین انتظار - ساعت)'),
84245
84333
  value: 7,
84246
84334
  },
84247
84335
  ]);
84248
84336
  this.errorsByCategoryItems = this.withRandomColor([
84249
84337
  {
84250
84338
  id: 'e-timeout',
84251
- label: createMultiLanguageString$1('Timeout · ACT-204', 'زمان‌انتظار · ACT-204'),
84339
+ label: createMultiLanguageString('Timeout · ACT-204', 'زمان‌انتظار · ACT-204'),
84252
84340
  value: 28,
84253
84341
  },
84254
84342
  {
84255
84343
  id: 'e-validation',
84256
- label: createMultiLanguageString$1('Validation · VAL-12', 'اعتبارسنجی · VAL-12'),
84344
+ label: createMultiLanguageString('Validation · VAL-12', 'اعتبارسنجی · VAL-12'),
84257
84345
  value: 21,
84258
84346
  },
84259
84347
  {
84260
84348
  id: 'e-permission',
84261
- label: createMultiLanguageString$1('Permission · SEC-09', 'مجوز · SEC-09'),
84349
+ label: createMultiLanguageString('Permission · SEC-09', 'مجوز · SEC-09'),
84262
84350
  value: 16,
84263
84351
  },
84264
84352
  {
84265
84353
  id: 'e-integration',
84266
- label: createMultiLanguageString$1('Integration · API-503', 'یکپارچه‌سازی · API-503'),
84354
+ label: createMultiLanguageString('Integration · API-503', 'یکپارچه‌سازی · API-503'),
84267
84355
  value: 12,
84268
84356
  },
84269
84357
  {
84270
84358
  id: 'e-unknown',
84271
- label: createMultiLanguageString$1('Unknown · GEN-01', 'نامشخص · GEN-01'),
84359
+ label: createMultiLanguageString('Unknown · GEN-01', 'نامشخص · GEN-01'),
84272
84360
  value: 7,
84273
84361
  },
84274
84362
  ]);
84275
84363
  this.workloadPerUserActiveItems = this.withRandomColor([
84276
- { id: 'u1', label: createMultiLanguageString$1('Alice Carter', 'Alice Carter'), value: 22 },
84277
- { id: 'u2', label: createMultiLanguageString$1('Ben Ortiz', 'Ben Ortiz'), value: 19 },
84278
- { id: 'u3', label: createMultiLanguageString$1('Chloe Nguyen', 'Chloe Nguyen'), value: 16 },
84279
- { id: 'u4', label: createMultiLanguageString$1('Diego Silva', 'Diego Silva'), value: 14 },
84280
- { id: 'u5', label: createMultiLanguageString$1('Elena Rossi', 'Elena Rossi'), value: 11 },
84281
- { id: 'u6', label: createMultiLanguageString$1('Frank Müller', 'Frank Müller'), value: 9 },
84364
+ { id: 'u1', label: createMultiLanguageString('Alice Carter', 'Alice Carter'), value: 22 },
84365
+ { id: 'u2', label: createMultiLanguageString('Ben Ortiz', 'Ben Ortiz'), value: 19 },
84366
+ { id: 'u3', label: createMultiLanguageString('Chloe Nguyen', 'Chloe Nguyen'), value: 16 },
84367
+ { id: 'u4', label: createMultiLanguageString('Diego Silva', 'Diego Silva'), value: 14 },
84368
+ { id: 'u5', label: createMultiLanguageString('Elena Rossi', 'Elena Rossi'), value: 11 },
84369
+ { id: 'u6', label: createMultiLanguageString('Frank Müller', 'Frank Müller'), value: 9 },
84282
84370
  ]);
84283
84371
  this.workloadPerUserOverdueItems = this.withRandomColor([
84284
- { id: 'u1', label: createMultiLanguageString$1('Alice Carter', 'Alice Carter'), value: 4 },
84285
- { id: 'u2', label: createMultiLanguageString$1('Ben Ortiz', 'Ben Ortiz'), value: 3 },
84286
- { id: 'u3', label: createMultiLanguageString$1('Chloe Nguyen', 'Chloe Nguyen'), value: 2 },
84287
- { id: 'u4', label: createMultiLanguageString$1('Diego Silva', 'Diego Silva'), value: 2 },
84288
- { id: 'u5', label: createMultiLanguageString$1('Elena Rossi', 'Elena Rossi'), value: 1 },
84289
- { id: 'u6', label: createMultiLanguageString$1('Frank Müller', 'Frank Müller'), value: 0 },
84372
+ { id: 'u1', label: createMultiLanguageString('Alice Carter', 'Alice Carter'), value: 4 },
84373
+ { id: 'u2', label: createMultiLanguageString('Ben Ortiz', 'Ben Ortiz'), value: 3 },
84374
+ { id: 'u3', label: createMultiLanguageString('Chloe Nguyen', 'Chloe Nguyen'), value: 2 },
84375
+ { id: 'u4', label: createMultiLanguageString('Diego Silva', 'Diego Silva'), value: 2 },
84376
+ { id: 'u5', label: createMultiLanguageString('Elena Rossi', 'Elena Rossi'), value: 1 },
84377
+ { id: 'u6', label: createMultiLanguageString('Frank Müller', 'Frank Müller'), value: 0 },
84290
84378
  ]);
84291
84379
  this.workloadPerUserAvgAgeHoursItems = this.withRandomColor([
84292
- { id: 'u1', label: createMultiLanguageString$1('Alice Carter', 'Alice Carter'), value: 38 },
84293
- { id: 'u2', label: createMultiLanguageString$1('Ben Ortiz', 'Ben Ortiz'), value: 52 },
84294
- { id: 'u3', label: createMultiLanguageString$1('Chloe Nguyen', 'Chloe Nguyen'), value: 29 },
84295
- { id: 'u4', label: createMultiLanguageString$1('Diego Silva', 'Diego Silva'), value: 44 },
84296
- { id: 'u5', label: createMultiLanguageString$1('Elena Rossi', 'Elena Rossi'), value: 21 },
84297
- { id: 'u6', label: createMultiLanguageString$1('Frank Müller', 'Frank Müller'), value: 33 },
84380
+ { id: 'u1', label: createMultiLanguageString('Alice Carter', 'Alice Carter'), value: 38 },
84381
+ { id: 'u2', label: createMultiLanguageString('Ben Ortiz', 'Ben Ortiz'), value: 52 },
84382
+ { id: 'u3', label: createMultiLanguageString('Chloe Nguyen', 'Chloe Nguyen'), value: 29 },
84383
+ { id: 'u4', label: createMultiLanguageString('Diego Silva', 'Diego Silva'), value: 44 },
84384
+ { id: 'u5', label: createMultiLanguageString('Elena Rossi', 'Elena Rossi'), value: 21 },
84385
+ { id: 'u6', label: createMultiLanguageString('Frank Müller', 'Frank Müller'), value: 33 },
84298
84386
  ]);
84299
84387
  this.workloadOverloadedUsersItems = this.withRandomColor([
84300
- { id: 'u1', label: createMultiLanguageString$1('Alice Carter', 'Alice Carter'), value: 22 },
84301
- { id: 'u2', label: createMultiLanguageString$1('Ben Ortiz', 'Ben Ortiz'), value: 19 },
84388
+ { id: 'u1', label: createMultiLanguageString('Alice Carter', 'Alice Carter'), value: 22 },
84389
+ { id: 'u2', label: createMultiLanguageString('Ben Ortiz', 'Ben Ortiz'), value: 19 },
84302
84390
  ]);
84303
84391
  this.slaRiskPredictionItems = this.withRandomColor([
84304
84392
  {
84305
84393
  id: 'r1',
84306
- label: createMultiLanguageString$1('Onboarding · #1209 · breach risk', 'ورود کارکنان · ۱۲۰۹ · ریسک نقض'),
84394
+ label: createMultiLanguageString('Onboarding · #1209 · breach risk', 'ورود کارکنان · ۱۲۰۹ · ریسک نقض'),
84307
84395
  value: 92,
84308
84396
  },
84309
84397
  {
84310
84398
  id: 'r2',
84311
- label: createMultiLanguageString$1('Procurement · #8841 · breach risk', 'تدارکات · ۸۸۴۱ · ریسک نقض'),
84399
+ label: createMultiLanguageString('Procurement · #8841 · breach risk', 'تدارکات · ۸۸۴۱ · ریسک نقض'),
84312
84400
  value: 87,
84313
84401
  },
84314
84402
  {
84315
84403
  id: 'r3',
84316
- label: createMultiLanguageString$1('Incident · #3310 · breach risk', 'حادثه · ۳۳۱۰ · ریسک نقض'),
84404
+ label: createMultiLanguageString('Incident · #3310 · breach risk', 'حادثه · ۳۳۱۰ · ریسک نقض'),
84317
84405
  value: 79,
84318
84406
  },
84319
84407
  {
84320
84408
  id: 'r4',
84321
- label: createMultiLanguageString$1('Leave · #2204 · breach risk', 'مرخصی · ۲۲۰۴ · ریسک نقض'),
84409
+ label: createMultiLanguageString('Leave · #2204 · breach risk', 'مرخصی · ۲۲۰۴ · ریسک نقض'),
84322
84410
  value: 71,
84323
84411
  },
84324
84412
  {
84325
84413
  id: 'r5',
84326
- label: createMultiLanguageString$1('Access · #1102 · breach risk', 'دسترسی · ۱۱۰۲ · ریسک نقض'),
84414
+ label: createMultiLanguageString('Access · #1102 · breach risk', 'دسترسی · ۱۱۰۲ · ریسک نقض'),
84327
84415
  value: 64,
84328
84416
  },
84329
84417
  ]);
84330
84418
  this.kpiTaskStatusBreakdownItems = this.withRandomColor([
84331
- { id: 'completed', label: createMultiLanguageString$1('Completed', 'تکمیل‌شده'), value: 312 },
84332
- { id: 'in-progress', label: createMultiLanguageString$1('In progress', 'در حال انجام'), value: 94 },
84333
- { id: 'pending', label: createMultiLanguageString$1('Pending', 'در انتظار'), value: 63 },
84334
- { id: 'overdue', label: createMultiLanguageString$1('Overdue', 'معوقه'), value: 14 },
84419
+ { id: 'completed', label: createMultiLanguageString('Completed', 'تکمیل‌شده'), value: 312 },
84420
+ { id: 'in-progress', label: createMultiLanguageString('In progress', 'در حال انجام'), value: 94 },
84421
+ { id: 'pending', label: createMultiLanguageString('Pending', 'در انتظار'), value: 63 },
84422
+ { id: 'overdue', label: createMultiLanguageString('Overdue', 'معوقه'), value: 14 },
84335
84423
  ]);
84336
84424
  this.kpiSlaComplianceSnapshotItem = {
84337
84425
  id: 'sla-compliance',
84338
- title: createMultiLanguageString$1('SLA Compliance', 'انطباق SLA'),
84339
- subtitle: createMultiLanguageString$1('Resolved in SLA this week', 'حل‌شده در SLA طی این هفته'),
84426
+ title: createMultiLanguageString('SLA Compliance', 'انطباق SLA'),
84427
+ subtitle: createMultiLanguageString('Resolved in SLA this week', 'حل‌شده در SLA طی این هفته'),
84340
84428
  value: 89,
84341
84429
  valueSuffix: '%',
84342
84430
  targetValue: 95,
@@ -84344,40 +84432,40 @@ class AXMWorkflowDashboardChartDataSourceDefinition {
84344
84432
  };
84345
84433
  this.kpiStatCardItem = {
84346
84434
  id: 'workflow-kpi-stat',
84347
- title: createMultiLanguageString$1('Pending human tasks', 'وظایف انسانی در انتظار'),
84435
+ title: createMultiLanguageString('Pending human tasks', 'وظایف انسانی در انتظار'),
84348
84436
  titleBadgeText: 'LIVE',
84349
84437
  titleBadgeTone: 'warning',
84350
84438
  value: 63,
84351
84439
  icon: 'fa-light fa-user-clock',
84352
84440
  iconTone: 'info',
84353
84441
  trendValue: '+4.1%',
84354
- trendLabel: createMultiLanguageString$1('More than average this week', 'بیشتر از میانگین این هفته'),
84442
+ trendLabel: createMultiLanguageString('More than average this week', 'بیشتر از میانگین این هفته'),
84355
84443
  trendStatus: 'success',
84356
84444
  };
84357
84445
  this.kpiThroughputOverviewItem = {
84358
84446
  id: 'throughput-overview',
84359
- title: createMultiLanguageString$1('Workflow Throughput', 'توان عملیاتی گردش کار'),
84360
- subtitle: createMultiLanguageString$1('Current month summary', 'خلاصه ماه جاری'),
84447
+ title: createMultiLanguageString('Workflow Throughput', 'توان عملیاتی گردش کار'),
84448
+ subtitle: createMultiLanguageString('Current month summary', 'خلاصه ماه جاری'),
84361
84449
  value: 428,
84362
- valueSuffix: createMultiLanguageString$1(' items', ' آیتم'),
84450
+ valueSuffix: createMultiLanguageString(' items', ' آیتم'),
84363
84451
  details: [
84364
84452
  {
84365
- label: createMultiLanguageString$1('Created', 'ایجادشده'),
84453
+ label: createMultiLanguageString('Created', 'ایجادشده'),
84366
84454
  value: 462,
84367
84455
  color: 'rgb(var(--ax-sys-color-accent2-600))',
84368
84456
  },
84369
84457
  {
84370
- label: createMultiLanguageString$1('Completed', 'تکمیل‌شده'),
84458
+ label: createMultiLanguageString('Completed', 'تکمیل‌شده'),
84371
84459
  value: 428,
84372
84460
  color: 'rgb(var(--ax-sys-color-success-600))',
84373
84461
  },
84374
84462
  {
84375
- label: createMultiLanguageString$1('Failed', 'ناموفق'),
84463
+ label: createMultiLanguageString('Failed', 'ناموفق'),
84376
84464
  value: 17,
84377
84465
  color: 'rgb(var(--ax-sys-color-danger-600))',
84378
84466
  },
84379
84467
  {
84380
- label: createMultiLanguageString$1('Avg cycle time', 'میانگین زمان چرخه'),
84468
+ label: createMultiLanguageString('Avg cycle time', 'میانگین زمان چرخه'),
84381
84469
  value: '7.4h',
84382
84470
  color: 'rgb(var(--ax-sys-color-warning-700))',
84383
84471
  },
@@ -84459,7 +84547,7 @@ class AXMWorkflowDashboardChartDataSourceDefinition {
84459
84547
  return [
84460
84548
  {
84461
84549
  id: 'created',
84462
- label: createMultiLanguageString$1('Created', 'ایجادشده'),
84550
+ label: createMultiLanguageString('Created', 'ایجادشده'),
84463
84551
  lineColor: this.asRgbVar(createdVar),
84464
84552
  fillColor: this.asRgbVarWithAlpha(createdVar, 0.12),
84465
84553
  data: [
@@ -84475,7 +84563,7 @@ class AXMWorkflowDashboardChartDataSourceDefinition {
84475
84563
  },
84476
84564
  {
84477
84565
  id: 'completed',
84478
- label: createMultiLanguageString$1('Completed', 'تکمیل‌شده'),
84566
+ label: createMultiLanguageString('Completed', 'تکمیل‌شده'),
84479
84567
  lineColor: this.asRgbVar(completedVar),
84480
84568
  fillColor: this.asRgbVarWithAlpha(completedVar, 0.12),
84481
84569
  data: [
@@ -84502,14 +84590,14 @@ class AXMWorkflowDashboardChartDataSourceDefinition {
84502
84590
  return [
84503
84591
  {
84504
84592
  id: 'created',
84505
- label: createMultiLanguageString$1('Created', 'ایجادشده'),
84593
+ label: createMultiLanguageString('Created', 'ایجادشده'),
84506
84594
  lineColor: this.asRgbVar(createdVar),
84507
84595
  fillColor: this.asRgbVarWithAlpha(createdVar, 0.12),
84508
84596
  data: created,
84509
84597
  },
84510
84598
  {
84511
84599
  id: 'completed',
84512
- label: createMultiLanguageString$1('Completed', 'تکمیل‌شده'),
84600
+ label: createMultiLanguageString('Completed', 'تکمیل‌شده'),
84513
84601
  lineColor: this.asRgbVar(completedVar),
84514
84602
  fillColor: this.asRgbVarWithAlpha(completedVar, 0.12),
84515
84603
  data: completed,
@@ -84527,14 +84615,14 @@ class AXMWorkflowDashboardChartDataSourceDefinition {
84527
84615
  return [
84528
84616
  {
84529
84617
  id: 'created',
84530
- label: createMultiLanguageString$1('Created', 'ایجادشده'),
84618
+ label: createMultiLanguageString('Created', 'ایجادشده'),
84531
84619
  lineColor: this.asRgbVar(createdVar),
84532
84620
  fillColor: this.asRgbVarWithAlpha(createdVar, 0.12),
84533
84621
  data: created,
84534
84622
  },
84535
84623
  {
84536
84624
  id: 'completed',
84537
- label: createMultiLanguageString$1('Completed', 'تکمیل‌شده'),
84625
+ label: createMultiLanguageString('Completed', 'تکمیل‌شده'),
84538
84626
  lineColor: this.asRgbVar(completedVar),
84539
84627
  fillColor: this.asRgbVarWithAlpha(completedVar, 0.12),
84540
84628
  data: completed,
@@ -88425,7 +88513,7 @@ const withControlHierarchyLevelCategory = () => ({
88425
88513
  //#region ---- Imports ----
88426
88514
  //#endregion
88427
88515
  //#region ---- Constants ----
88428
- const M$3 = createMultiLanguageString$1;
88516
+ const M$3 = createMultiLanguageString;
88429
88517
  const categoryAssignment = withControlHierarchyLevelCategory();
88430
88518
  const CONTROL_HIERARCHY_LEVELS_IDS = {
88431
88519
  elimination: 'e1f2a3b4-c5d6-4789-e012-345678901001',
@@ -88570,7 +88658,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
88570
88658
  //#region ---- Imports ----
88571
88659
  //#endregion
88572
88660
  //#region ---- Constants ----
88573
- const M$2 = createMultiLanguageString$1;
88661
+ const M$2 = createMultiLanguageString;
88574
88662
  const CONTROL_MEASURE_IDS = {
88575
88663
  machineGuarding: 'f1a2b3c4-d5e6-4789-f012-345678901001',
88576
88664
  toolboxTalk: 'f1a2b3c4-d5e6-4789-f012-345678901002',
@@ -89183,7 +89271,7 @@ const withPpeItemCategories = (...keys) => {
89183
89271
  //#region ---- Imports ----
89184
89272
  //#endregion
89185
89273
  //#region ---- Constants ----
89186
- const M$1 = createMultiLanguageString$1;
89274
+ const M$1 = createMultiLanguageString;
89187
89275
  const PPE_IMAGE_BASE = '/assets/workplacesafety-management/ppe';
89188
89276
  const MOCK_PPE_HARD_HAT_ID = 'a1b2c3d4-e5f6-4789-a012-345678901001';
89189
89277
  const MOCK_PPE_SAFETY_GLASSES_ID = 'a1b2c3d4-e5f6-4789-a012-345678901002';
@@ -89381,7 +89469,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
89381
89469
  //#region ---- Imports ----
89382
89470
  //#endregion
89383
89471
  //#region ---- Constants ----
89384
- const M = createMultiLanguageString$1;
89472
+ const M = createMultiLanguageString;
89385
89473
  const RISK_RATING_IDS = {
89386
89474
  low: 'f1a2b3c4-d5e6-4789-a012-345678901001',
89387
89475
  medium: 'f1a2b3c4-d5e6-4789-a012-345678901002',
@@ -90262,4 +90350,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
90262
90350
  */
90263
90351
 
90264
90352
  export { AXCFirestoreEntityStorageService as $, AXCAiChatRouterService as A, AXCAssetManagementMockModule as B, AXCAuthMockModule as C, AXCCalendarDataSeeder as D, AXCCalendarManagementMockModule as E, AXCCalendarOccasionDataSeeder as F, AXCCommandRegistryDataSeeder as G, AXCCommonMockModule as H, AXCContactCoreMockModule as I, AXCContentManagementMockModule as J, AXCConversationMockModule as K, AXCConversationMockUploaderService as L, AXCCustomerManagementMockModule as M, AXCDashboardManagementMockModule as N, OPENROUTER_GEMINI_FLASH_TTS_DEFAULT_FORMAT as O, AXCDataManagementMockModule as P, AXCDexieEntityStorageService as Q, AXCDocumentManagementMockModule as R, AXCEditionDataSeeder as S, AXCEntityDefinitionSeederService as T, AXCEntityDefinitionsModule as U, AXCEntityStorageInsertCommand as V, AXCEntityStorageModule as W, AXCEntityStorageQueryQuery as X, AXCFileStorageServiceDexie as Y, AXCFileStorageServiceFirestore as Z, AXCFinancialCoreMockModule as _, AXMAiModelStableIds as a, AXMAiDemisGeneralAssistId as a$, AXCFormTemplateManagementMockModule as a0, AXCGoogleStrategyMock as a1, AXCHealthCoreMockModule as a2, AXCHelpDeskMockModule as a3, AXCHumanCapitalManagementMockModule as a4, AXCIdentifierManagementMockModule as a5, AXCImageCaptchaChallengeProviderMock as a6, AXCIntegrationLifecycleEventsService as a7, AXCIntegrationManagementMockModule as a8, AXCIntegrationOAuthMockService as a9, AXCSecurityManagementMockModule as aA, AXCStoredEntityDefinitionLoader as aB, AXCSubscriptionManagementMockModule as aC, AXCSupplierManagementMockModule as aD, AXCTaskManagementMockModule as aE, AXCTenantManagementMockModule as aF, AXCTenantSeeder as aG, AXCTextTemplateRenderBackend as aH, AXCTokensDataSeeder as aI, AXCUserPassStrategyMock as aJ, AXCVersionDB as aK, AXCVersioningService as aL, AXCWidgetCatalogDataSeeder as aM, AXCWorkflowCategorySeeder as aN, AXCWorkflowDefinitionDataSeeder as aO, AXCWorkflowEngine as aP, AXCWorkflowExecutionDB as aQ, AXCWorkflowExecutionStoreDexie as aR, AXCWorkflowExecutionStoreFirestore as aS, AXCWorkflowInstanceCartableDemoSeeder as aT, AXCWorkflowManagementMockModule as aU, AXC_ENTITY_STORAGE_BACKEND_TYPE as aV, AXC_FIRESTORE_CONFIG as aW, AXC_FIRESTORE_DB as aX, AXC_WORKFLOW_EXECUTION_STORE as aY, AXMAiDemisAssistAgentUuid as aZ, AXMAiDemisAssistId as a_, AXCIntegrationSecretStoreMock as aa, AXCIntegrationTokenRefreshService as ab, AXCJiraManagementMockModule as ac, AXCLearningManagementMockModule as ad, AXCLocaleManagementMockModule as ae, AXCLocationManagementMockModule as af, AXCLockService as ag, AXCMeasurementCoreMockModule as ah, AXCMeetingManagementMockModule as ai, AXCMetaDataDefinitionDataSeeder as aj, AXCMetadataCategorySeeder as ak, AXCMiddlewaresModule as al, AXCMockCaptchaChallengeComponent as am, AXCMockEntityLogListener as an, AXCMockModule as ao, AXCMockShowMetaDataFormPopupCommand as ap, AXCNotificationManagementMockModule as aq, AXCOrderManagementMockModule as ar, AXCOrganizationManagementMockModule as as, AXCPersonCoreMockModule as at, AXCPlatformManagementMockModule as au, AXCProcurementManagementMockModule as av, AXCProductCatalogMockModule as aw, AXCProjectManagementMockModule as ax, AXCQueryRegistryDataSeeder as ay, AXCReportManagementMockModule as az, resolveAssistSpeechModelId as b, JOB_DEFINITIONS_CATEGORY_MOCK as b$, AXMAiPlatformAssistantAssistId as b0, AXMAutomationDataSeeder as b1, AXMBusinessUnitDataSeeder as b2, AXMCalendarOccasionTypeSeeder as b3, AXMDashboardChartDataSourceDefinition as b4, AXMEmployeeDataSeeder as b5, AXMEmploymentTypeDataSeeder as b6, AXMFormDataSourcesProvider as b7, AXMJiraManagementMockIds as b8, AXMJobDefinitionDataSeeder as b9, AXPIdentifierDB as bA, AXPMessageDataSeeder as bB, AXPMockChecksumProvider as bC, AXPMockClockProvider as bD, AXPMockIdentifierService as bE, AXPMockLookupProvider as bF, AXPMockPolicyProvider as bG, AXPMockSequenceProvider as bH, AXPRoomDataSeeder as bI, AXPSecurityManagementRoleDataSeeder as bJ, AXPSecurityManagementUserDataSeeder as bK, AXPTaskBoardPlatformManagementTaskProvider as bL, AXVChangeType as bM, BCC as bN, BOC as bO, BUSINESS_UNITS_MOCK as bP, COLLABORATION_STANDARD as bQ, CP as bR, DASHBOARDS as bS, EDITIONS as bT, EMPLOYEES_MOCK as bU, EMPLOYMENT_TYPES_MOCK as bV, ENTITY_DEFINITION_MAP as bW, ENTITY_REGISTRY as bX, G as bY, HR_ENTERPRISE as bZ, HW as b_, AXMJobLevelDataSeeder as ba, AXMLeaveRequestDataSeeder as bb, AXMMeetingDataSeeder as bc, AXMMeetingFilesDataSeeder as bd, AXMMeetingParticipantDataSeeder as be, AXMMeetingRoleTypeDataSeeder as bf, AXMMeetingSessionDataSeeder as bg, AXMMeetingTypeDataSeeder as bh, AXMMeetingTypeFileTemplateDataSeeder as bi, AXMPositionAssignmentDataSeeder as bj, AXMPositionDataSeeder as bk, AXMQuestionBankItemCategoryDataSeeder as bl, AXMQuestionBankItemDataSeeder as bm, AXMQuestionnaireCategoryDataSeeder as bn, AXMQuestionnaireDataSeeder as bo, AXMResponsibilityDataSeeder as bp, AXMTagDataSeeder as bq, AXMTeamBusinessUnitDataSeeder as br, AXMTeamDataSeeder as bs, AXMTeamMemberDataSeeder as bt, AXMTeamMemberRoleDataSeeder as bu, AXMWorkflowDashboardChartDataSourceDefinition as bv, AXM_AI_REGISTRY_COMMAND_NAME as bw, AXM_AI_REGISTRY_QUERY_NAME as bx, AXM_CORPORATE_BUSINESS_UNIT_ID as by, AXPDashboardDataSeeder as bz, resolveDelegatedAssistOptionString as c, automationCommandMiddleware as c$, JOB_DEFINITIONS_MOCK as c0, JOB_DEFINITION_CATEGORY_KEY_TO_ID as c1, JOB_LEVELS_MOCK as c2, LASER_PLUMBING_TENANT_ID as c3, LEAVE_REQUESTS_MOCK as c4, MAGFA_COMMERCE_STANDARD as c5, MAGFA_CONVERSATION_DASHBOARD as c6, MAGFA_TENANT_ID as c7, METADATA_CATEGORY_IDS as c8, METADATA_GENERAL_CATEGORY_REFS as c9, RESPONSIBILITIES_MOCK as cA, RESPONSIBILITY_CATEGORY_KEY_TO_ID as cB, SAFETYMINDER_BASIC as cC, SAFETYMINDER_ENTERPRISE as cD, SAFETYMINDER_PROFESSIONAL as cE, TAGS_MOCK as cF, TASKS as cG, TASK_STATUSES as cH, TASK_TEMPLATES as cI, TASK_TYPES as cJ, TEAMS_CATEGORY_MOCK as cK, TEAMS_MOCK as cL, TEAM_BUSINESS_UNITS_MOCK as cM, TEAM_CATEGORY_KEY_TO_ID as cN, TEAM_MEMBERS_MOCK as cO, TEAM_MEMBER_ROLES_MOCK as cP, TIMEPLICITY_TENANT_ID as cQ, TLA as cR, TOKENS as cS, TPC as cT, VISIBILITY_FILTER_BYPASS as cU, WORKFLOW_CATEGORIES as cV, WS as cW, activityCategoryMocks as cX, activityDefinitionEntityMock as cY, applyEntityDefinitionFirestoreSnapshot as cZ, attachmentsInterface as c_, METADATA_SYSTEM_CATEGORY_REFS as ca, MLC as cb, MOCK_CALENDAR_AUSTRALIA_ID as cc, MOCK_CALENDAR_INTERNATIONAL_GREGORIAN_ID as cd, MOCK_CALENDAR_IRAN_PERSIAN_ID as ce, MOCK_CALENDAR_NEW_ZEALAND_ID as cf, MOCK_DATA_SEED_VERSION as cg, MOCK_ENTITY_SEED_META_KEY as ch, OHR as ci, OWNERSHIP_FILTER_BYPASS as cj, PLATFORM_CONSOLE as ck, PLATFORM_TENANT_ID as cl, PM as cm, POSITIONS_CATEGORY_MOCK as cn, POSITIONS_MOCK as co, POSITION_ASSIGNMENTS_MOCK as cp, QCP as cq, QGEN as cr, QHW as cs, QOHR as ct, QPM as cu, QTLE as cv, QUESTIONNAIRE_CATEGORY_MOCK as cw, QUESTION_BANK_ITEM_CATEGORY_MOCK as cx, QWS as cy, RESPONSIBILITIES_CATEGORY_MOCK as cz, resolveOpenAiCompatibleTtsVoice as d, mergeQuickSearchIntoRequest as d$, automationMock as d0, avatarInterface as d1, axVersionDB as d2, axWorkflowExecutionDB as d3, axcPatchEmployeeActivePrimaryBusinessUnitRefsFromRows as d4, axcPatchEmployeeActivePrimaryPositionRefsFromRows as d5, axcPatchEmployeeManagerRefsFromRows as d6, axcResolveCommandRegistrySeedId as d7, axcResolveQueryRegistrySeedId as d8, axcResolveWidgetCatalogSeedId as d9, enrichWorkflowGraph as dA, entityDefDb as dB, entityValidationMiddleware as dC, finalizeActivityCategoryItemCounts as dD, findEmployeeById as dE, folderStorageMiddleware as dF, groupOrderItemCalculatorMiddleware as dG, historyMiddleware as dH, identifierCommitMiddleware as dI, imageInterface as dJ, inspectionOkXNaInterface as dK, loadMockPropertyDefinitions as dL, lockGuardMiddleware as dM, longTextAnswerInterface as dN, lookupInterface as dO, lookupResolverMiddleware as dP, mapInterface as dQ, meetingFilesMock as dR, meetingIds as dS, meetingMock as dT, meetingParticipantMock as dU, meetingRoleTypeMock as dV, meetingSessionMock as dW, meetingTimeSlotMock as dX, meetingTypeFileTemplateMock as dY, meetingTypeMock as dZ, mergeDetailRelationMiddleware as d_, bankCategory as da, buildEntityStorageQuickSearchFilter as db, buildWorkflowInstanceCartableDemoRows as dc, bypassAllFilters as dd, bypassOwnershipFilter as de, bypassVisibilityFilter as df, calendarMock as dg, calendarOccasionMock as dh, calendarOccasionSeedData as di, calendarOccasionTypeMockData as dj, checkboxInterface as dk, childCountMiddleware as dl, clearEntityDefinitionFirestoreCollections as dm, colorInterface as dn, computeDiff as dp, contactInterface as dq, createFileCastMiddleware as dr, createWidgetLayoutConfig as ds, createWorkflowDefinitionEntityMock as dt, dateInterface as du, dateTimeInterface as dv, descriptionInterface as dw, documentFolderSyncMiddleware as dx, emailInterface as dy, enrichCalendarOccasionForStorage as dz, axcSyncSingleEmployeeDenormalizedOrgFields as e, metadataCategoryMocks as e0, mockQuestionBankItemByName as e1, mockRoleDefinitions as e2, multipleChoiceInterface as e3, multipleSelectInterface as e4, normalizeAnyFileArrayForView as e5, normalizeSnapshotFileFieldsForView as e6, numberInterface as e7, parseEntityStorageInsertData as e8, parseEntityStorageQueryRequest as e9, titleInterface as eA, toUiRows as eB, toggleInterface as eC, tokenCategoryIds as eD, tokenCategoryMocks as eE, urlInterface as eF, versionInterface as eG, visibilityFilterMiddleware as eH, workflowDefinitionEntityMock as eI, workflowDefinitionIds as eJ, workflowDefinitionMock as eK, yesNoInterface as eL, participantIds as ea, passwordInterface as eb, personIdentifierTypeMock as ec, personIds as ed, personLegalIds as ee, personMock as ef, personNaturalIds as eg, phoneInterface as eh, primaryMiddleware as ei, provideMockPropertySetups as ej, qrcodeInterface as ek, questionBankItemMock as el, questionnaireMock as em, ratingInterface as en, richTextInterface as eo, scaleInterface as ep, selectInterface as eq, selectionListInterface as er, sexAtBirthInterface as es, signatureInterface as et, statusDefaultMiddleware as eu, tagInterface as ev, tenantMocks as ew, textAreaInterface as ex, textInterface as ey, timeDurationInterface as ez, ACTIVITY_CATEGORIES as f, ACTIVITY_CATEGORY_ID_BY_KEY as g, ACTIVITY_DEFINITIONS as h, AI_ASSIST_MOCK as i, AI_MODEL_MOCK as j, APPLICATIONS as k, APPLICATION_CATEGORY_IDS as l, mockUsers as m, APPLICATION_CATEGORY_MOCKS as n, AXCActivityCategorySeeder as o, AXCActivityDefinitionSeeder as p, AXCAiAssistSeeder as q, resolveDelegatedAssistOptionModel as r, AXCAiManagementMockModule as s, AXCAiModelSeeder as t, AXCAppTermDataSeeder as u, AXCAppVersionDataSeeder as v, AXCApplicationCategoryDataSeeder as w, AXCApplicationDataSeeder as x, AXCApplicationManagementMockModule as y, AXCAssessmentManagementMockModule as z };
90265
- //# sourceMappingURL=acorex-connectivity-mock-acorex-connectivity-mock-Lp5JVZi8.mjs.map
90353
+ //# sourceMappingURL=acorex-connectivity-mock-acorex-connectivity-mock-B5bnzTKN.mjs.map