@acorex-platform/module-locale-management-client 0.0.38 → 0.0.46

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 (24) hide show
  1. package/fesm2022/acorex-platform-module-locale-management-client-contracts-entities-languages.mjs +15 -0
  2. package/fesm2022/acorex-platform-module-locale-management-client-contracts-entities-languages.mjs.map +1 -1
  3. package/fesm2022/acorex-platform-module-locale-management-client-contracts-entities-locales.mjs +15 -0
  4. package/fesm2022/acorex-platform-module-locale-management-client-contracts-entities-locales.mjs.map +1 -1
  5. package/fesm2022/acorex-platform-module-locale-management-client-contracts-entities-timezones.mjs +14 -0
  6. package/fesm2022/acorex-platform-module-locale-management-client-contracts-entities-timezones.mjs.map +1 -1
  7. package/fesm2022/{acorex-platform-module-locale-management-client-contracts-entity-catalog-acorex-platform-module-locale-management-client-contracts-entity-catalog-B_BhbZxS.mjs → acorex-platform-module-locale-management-client-contracts-entity-catalog-acorex-platform-module-locale-management-client-contracts-entity-catalog-DOzoxwbc.mjs} +4 -4
  8. package/fesm2022/{acorex-platform-module-locale-management-client-contracts-entity-catalog-acorex-platform-module-locale-management-client-contracts-entity-catalog-B_BhbZxS.mjs.map → acorex-platform-module-locale-management-client-contracts-entity-catalog-acorex-platform-module-locale-management-client-contracts-entity-catalog-DOzoxwbc.mjs.map} +1 -1
  9. package/fesm2022/{acorex-platform-module-locale-management-client-contracts-entity-catalog-languages.entity-DRZszos9.mjs → acorex-platform-module-locale-management-client-contracts-entity-catalog-languages.entity-IOvg246r.mjs} +17 -2
  10. package/fesm2022/acorex-platform-module-locale-management-client-contracts-entity-catalog-languages.entity-IOvg246r.mjs.map +1 -0
  11. package/fesm2022/{acorex-platform-module-locale-management-client-contracts-entity-catalog-locales.entity-DZFu6qeI.mjs → acorex-platform-module-locale-management-client-contracts-entity-catalog-locales.entity-TQnEUIIO.mjs} +17 -2
  12. package/fesm2022/acorex-platform-module-locale-management-client-contracts-entity-catalog-locales.entity-TQnEUIIO.mjs.map +1 -0
  13. package/fesm2022/{acorex-platform-module-locale-management-client-contracts-entity-catalog-timezones.entity-CpQC5lS7.mjs → acorex-platform-module-locale-management-client-contracts-entity-catalog-timezones.entity-BLNew12v.mjs} +16 -2
  14. package/fesm2022/acorex-platform-module-locale-management-client-contracts-entity-catalog-timezones.entity-BLNew12v.mjs.map +1 -0
  15. package/fesm2022/acorex-platform-module-locale-management-client-contracts-entity-catalog.mjs +1 -1
  16. package/fesm2022/acorex-platform-module-locale-management-client-contracts.mjs +21 -1
  17. package/fesm2022/acorex-platform-module-locale-management-client-contracts.mjs.map +1 -1
  18. package/fesm2022/acorex-platform-module-locale-management-client.mjs +14 -47
  19. package/fesm2022/acorex-platform-module-locale-management-client.mjs.map +1 -1
  20. package/package.json +1 -1
  21. package/types/acorex-platform-module-locale-management-client-contracts.d.ts +8 -2
  22. package/fesm2022/acorex-platform-module-locale-management-client-contracts-entity-catalog-languages.entity-DRZszos9.mjs.map +0 -1
  23. package/fesm2022/acorex-platform-module-locale-management-client-contracts-entity-catalog-locales.entity-DZFu6qeI.mjs.map +0 -1
  24. package/fesm2022/acorex-platform-module-locale-management-client-contracts-entity-catalog-timezones.entity-CpQC5lS7.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-locale-management-client.mjs","sources":["../../../../libs/modules/locale-management/client/src/lib/manifest.ts","../../../../libs/modules/locale-management/client/src/lib/features/shared/regional-store.service.ts","../../../../libs/modules/locale-management/client/src/lib/features/shared/locale-management.service.ts","../../../../libs/modules/locale-management/client/src/lib/features/shared/language-slot/language-slot.component.ts","../../../../libs/modules/locale-management/client/src/lib/features/shared/language-slot/language-slot.component.html","../../../../libs/modules/locale-management/client/src/lib/features/shared/locale-profile-provider.service.ts","../../../../libs/modules/locale-management/client/src/lib/permission-definition.provider.ts","../../../../libs/modules/locale-management/client/src/lib/menu.provider.ts","../../../../libs/modules/locale-management/client/src/lib/settings.provider.ts","../../../../libs/modules/locale-management/client/src/lib/search-command.provider.ts","../../../../libs/modules/locale-management/client/src/lib/context-definition.provider.ts","../../../../libs/modules/locale-management/client/src/lib/locale-management.module.ts","../../../../libs/modules/locale-management/client/src/acorex-platform-module-locale-management-client.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPModuleManifest } from '@acorex-platform/framework-client/core';\nimport { RootConfig } from '@acorex-platform/module-locale-management-client/contracts';\n\n//#endregion\n\n//#region ---- Manifest Definition ----\n\n/**\n * Locale Management Module Manifest.\n * Defines module metadata, features, and provider references.\n */\nexport const LocaleManagementManifest: AXPModuleManifest = {\n name: RootConfig.module.name,\n version: '1.0.0',\n title: RootConfig.module.title,\n icon: RootConfig.module.icon,\n i18n: RootConfig.config.i18n,\n type: 'platform',\n domain: 'platform',\n required: true,\n\n // Module dependencies (optional)\n};\n\n//#endregion\n\n","import { AXPPlatformScope, AXPRegionalSetting } from '@acorex-platform/framework-shared/core';\nimport { AXPSettingsService } from '@acorex-platform/framework-client/common';\n\nimport { AXCalendarService } from '@acorex/core/date-time';\nimport { AXLocaleProfile, AXLocaleService } from '@acorex/core/locale';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { inject } from '@angular/core';\nimport { patchState, signalStore, withHooks, withMethods, withState } from '@ngrx/signals';\n\nconst REGIONAL_SETTING_KEYS = [\n AXPRegionalSetting.LocaleProfile,\n AXPRegionalSetting.Language,\n AXPRegionalSetting.Calendar,\n] as const;\n\n// Regional Store - Manages regional settings and system changes\nexport const AXPRegionalStoreService = signalStore(\n { providedIn: 'root' },\n // Initial State\n withState(() => {\n // Initialize with safe defaults - actual values will be loaded via loadSetting()\n const state = {\n profile: null as string | null,\n language: null as string | null,\n calendar: null as string | null,\n };\n return state;\n }),\n\n // Computed Signals\n // withComputed(({ }) => ({\n\n // })),\n\n // Methods for State Management\n withMethods(\n (\n store,\n settingsService = inject(AXPSettingsService),\n localeService = inject(AXLocaleService),\n calendarService = inject(AXCalendarService),\n translateService = inject(AXTranslationService)\n ) => {\n\n const applyChanges = async () => {\n const profile = localeService.activeProfile();\n const html = document.getElementsByTagName('html')[0];\n profile.i18nMeta?.rtl ? html.setAttribute('dir', 'rtl') : html.removeAttribute('dir');\n };\n\n const applyProfileFormats = async (profile: AXLocaleProfile) => {\n const date = profile.formats?.date;\n if (date?.short) {\n await settingsService.scope(AXPPlatformScope.User).set(AXPRegionalSetting.ShortDate, date.short);\n }\n if (date?.medium) {\n await settingsService.scope(AXPPlatformScope.User).set(AXPRegionalSetting.MediumDate, date.medium);\n }\n if (date?.long) {\n await settingsService.scope(AXPPlatformScope.User).set(AXPRegionalSetting.LongDate, date.long);\n }\n const time = profile.formats?.time;\n if (time?.short) {\n await settingsService.scope(AXPPlatformScope.User).set(AXPRegionalSetting.ShortTime, time.short);\n }\n if (time?.medium) {\n await settingsService.scope(AXPPlatformScope.User).set(AXPRegionalSetting.MediumTime, time.medium);\n }\n if (time?.long) {\n await settingsService.scope(AXPPlatformScope.User).set(AXPRegionalSetting.LongTime, time.long);\n }\n };\n\n return {\n async changeProfile(profileCode: string) {\n await localeService.setProfile(profileCode);\n const profile = localeService.activeProfile();\n if (store.profile() != profile.localeInfo.code) {\n settingsService.scope(AXPPlatformScope.User).set(AXPRegionalSetting.LocaleProfile, profile.localeInfo.code);\n settingsService.scope(AXPPlatformScope.User).set(AXPRegionalSetting.Language, profile.localeInfo.code);\n patchState(store, { profile: profile.localeInfo.code });\n }\n await applyProfileFormats(profile);\n await applyChanges();\n },\n /**\n * Applies effective regional settings (user → tenant → platform) to locale, calendar, i18n, and document direction.\n */\n async loadSetting() {\n const profileCode =\n ((await settingsService.get(AXPRegionalSetting.LocaleProfile)) as string) || 'en-US';\n patchState(store, { profile: profileCode });\n if (profileCode) {\n await localeService.setProfile(profileCode);\n }\n\n const calendar = (await settingsService.get(AXPRegionalSetting.Calendar)) as string | undefined;\n if (calendar) {\n patchState(store, { calendar });\n calendarService.setActiveCalendar(calendar);\n }\n\n const language = (await settingsService.get(AXPRegionalSetting.Language)) as string | undefined;\n if (language) {\n patchState(store, { language });\n translateService.setActiveLang(language);\n }\n\n await applyChanges();\n },\n };\n }\n ),\n withHooks((store, settingsService = inject(AXPSettingsService)) => ({\n onInit() {\n settingsService.onLoaded.subscribe(() => {\n void store.loadSetting();\n });\n settingsService.onChanged.subscribe(async (setting) => {\n if (REGIONAL_SETTING_KEYS.some((k) => setting.keys.includes(k))) {\n await store.loadSetting();\n }\n });\n },\n onDestroy() {},\n })),\n);\n","import { AXPQueryRequest } from '@acorex-platform/framework-shared/core';\nimport {\n AXPLanguage,\n AXPLocaleManagementPort,\n AXPLocaleProfile,\n AXPSettingsService,\n AXPTimeZone,\n resolveEffectiveAvailableLanguageCodes,\n} from '@acorex-platform/framework-client/common';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\n\nimport {\n getLocaleProfileCatalogCodes,\n RootConfig,\n AXMLocaleManagementLanguagesEntityModel,\n AXMLocaleManagementLocalesEntityModel,\n AXMLocaleManagementTimezonesEntityModel,\n} from '@acorex-platform/module-locale-management-client/contracts';\n\n/** Simple cache - timezones are static reference data */\nlet timezonesCache: AXPTimeZone[] | null = null;\n/** Dedupes concurrent bootstrap callers so a failed/slow query cannot storm the API. */\nlet timezonesLoadPromise: Promise<AXPTimeZone[]> | null = null;\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXMLocaleManagementService implements AXPLocaleManagementPort {\n private readonly entityService = inject(AXPEntityService);\n private readonly settingsService = inject(AXPSettingsService);\n private readonly languagesDataAccessor = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.languages.name)\n .data<string, AXMLocaleManagementLanguagesEntityModel>();\n private readonly timezonesDataAccessor = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.timezones.name)\n .data<string, AXMLocaleManagementTimezonesEntityModel>();\n private readonly localesDataAccessor = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.locales.name)\n .data<string, AXMLocaleManagementLocalesEntityModel>();\n\n private activeQuery: AXPQueryRequest = {\n skip: 0,\n take: 1000,\n filter: {\n logic: 'and',\n filters: [\n {\n field: 'isActive',\n operator: {\n type: 'equal',\n },\n value: true,\n },\n ],\n },\n sort: [\n {\n field: 'title',\n dir: 'asc',\n },\n ],\n };\n\n async getLocaleProfiles(): Promise<AXPLocaleProfile[]> {\n const { profiles } = await import('./data/profiles');\n const catalogCodes = getLocaleProfileCatalogCodes();\n if (!catalogCodes?.length) {\n return profiles;\n }\n const allowSet = new Set(catalogCodes);\n const filtered = profiles.filter((profile) => allowSet.has(profile.code));\n return filtered.length > 0 ? filtered : profiles;\n }\n\n async getAvailableLocaleProfiles(): Promise<AXPLocaleProfile[]> {\n const profiles = await this.getLocaleProfiles();\n const allowed = await resolveEffectiveAvailableLanguageCodes(this.settingsService);\n if (allowed.length === 0) {\n return profiles;\n }\n const allowSet = new Set(allowed);\n return profiles.filter((profile) => allowSet.has(profile.code));\n }\n\n async getLanguages(): Promise<AXPLanguage[]> {\n const result = await this.languagesDataAccessor.query(this.activeQuery);\n return result.items.map((c: AXMLocaleManagementLanguagesEntityModel) => ({\n code: c.code,\n title: c.title,\n } as AXPLanguage));\n }\n\n async getLocales(): Promise<AXPLanguage[]> {\n const result = await this.localesDataAccessor.query(this.activeQuery);\n return result.items.map((c: AXMLocaleManagementLocalesEntityModel) => ({\n code: c.code,\n title: c.title,\n } as AXPLanguage));\n }\n\n async getAvailableLanguages(): Promise<AXPLanguage[]> {\n const profiles = await this.getAvailableLocaleProfiles();\n return profiles.map((profile) => ({\n code: profile.code,\n title: profile.title,\n }));\n }\n\n async getTimeZones(): Promise<AXPTimeZone[]> {\n if (timezonesCache) {\n return timezonesCache;\n }\n if (!timezonesLoadPromise) {\n timezonesLoadPromise = this.loadTimeZones().finally(() => {\n timezonesLoadPromise = null;\n });\n }\n return timezonesLoadPromise;\n }\n\n async getBrowserTimeZoneCode(): Promise<string> {\n // Prefer browser IANA zone — no network needed during app bootstrap / login.\n const browserIana =\n typeof Intl !== 'undefined'\n ? Intl.DateTimeFormat().resolvedOptions().timeZone\n : undefined;\n if (browserIana) {\n return browserIana;\n }\n\n try {\n const timeZones = await this.getTimeZones();\n const offsetMinutes = new Date().getTimezoneOffset() * -1;\n const matchedZone = timeZones.find((zone) => zone.offset === offsetMinutes);\n return matchedZone?.code ?? 'UTC';\n } catch {\n return 'UTC';\n }\n }\n\n private async loadTimeZones(): Promise<AXPTimeZone[]> {\n try {\n const result = await this.timezonesDataAccessor.query({\n ...this.activeQuery,\n sort: [{ field: 'standardOffset', dir: 'asc' }],\n });\n const padZero = (value: number) => value.toString().padStart(2, '0');\n const formatOffset = (offset: number) => {\n const sign = offset > 0 ? '+' : '-';\n const hours = padZero(Math.floor(Math.abs(offset) / 60));\n const minutes = padZero(Math.abs(offset % 60));\n return `${sign}${hours}:${minutes}`;\n };\n timezonesCache = result.items.map((c: AXMLocaleManagementTimezonesEntityModel) => ({\n code: c.code,\n title: `${c.title} (${formatOffset(c.standardOffset)})`,\n offset: c.standardOffset,\n iana: c.code,\n abbr: c.abbreviation,\n } as AXPTimeZone));\n return timezonesCache;\n } catch {\n // Do not cache failures — allow retry after login when auth is available.\n return [];\n }\n }\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXPLocaleProfile } from '@acorex-platform/framework-client/common';\n\nimport { ChangeDetectionStrategy, Component, inject, signal } from '@angular/core';\nimport { AXPLayoutThemeService } from '@acorex-platform/framework-client/themes/shared';\nimport { AXPRegionalStoreService } from '../regional-store.service';\nimport { AXMLocaleManagementService } from '../locale-management.service';\n\n@Component({\n imports: [AXDropdownModule, AXDecoratorModule, AXPopoverModule, AXButtonModule],\n templateUrl: './language-slot.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXMLanguageSlotComponent {\n private localeManagementService = inject(AXMLocaleManagementService);\n protected store = inject(AXPRegionalStoreService);\n protected themeStore = inject(AXPLayoutThemeService);\n protected items = signal<AXPLocaleProfile[]>([]);\n\n async ngOnInit() {\n const items = await this.localeManagementService.getAvailableLocaleProfiles();\n this.items.set(items);\n }\n}\n","<ax-button [color]=\"themeStore.headerButtonColor()\" [look]=\"themeStore.headerButtonLook()\">\n <ax-icon class=\"fa-regular fa-globe\"> </ax-icon>\n <ax-dropdown-panel>\n <ax-button-item-list>\n @for(lang of items(); track lang){\n <ax-button-item\n [text]=\"lang.title\"\n [selected]=\"store.profile() === lang.code\"\n (onClick)=\"store.changeProfile(lang.code)\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-flag\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n</ax-button>\n","import { inject, Injectable } from '@angular/core';\nimport { AXLocaleProfile, AXLocaleProfileProvider } from '@acorex/core/locale';\nimport { AXMLocaleManagementService } from './locale-management.service';\n\n/**\n * Custom locale profile provider that integrates with the locale-management module\n * to provide profiles from the platform's data instead of the default UI library profiles\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class AXMLocaleProfileProviderService implements AXLocaleProfileProvider {\n private readonly localeManagementService = inject(AXMLocaleManagementService);\n\n /**\n * Provides locale profiles from the locale-management module\n * This allows the platform to override the default UI library profiles\n */\n async provide(): Promise<Record<string, () => Promise<AXLocaleProfile> | AXLocaleProfile>> {\n try {\n // Get profiles from the locale-management module\n const profiles = await this.localeManagementService.getLocaleProfiles();\n\n // Convert to the format expected by the UI library\n const result: Record<string, () => Promise<AXLocaleProfile> | AXLocaleProfile> = {};\n\n for (const profile of profiles) {\n try {\n // Convert AXPLocaleProfile to AXLocaleProfile (remove platform-specific properties)\n const coreProfile: AXLocaleProfile = {\n localeInfo: profile.localeInfo,\n calendar: profile.calendar,\n formats: profile.formats,\n units: profile.units,\n i18nMeta: profile.i18nMeta,\n };\n\n // Validate that the profile has all required properties\n if (this.isValidProfile(coreProfile)) {\n // Store the profile with lazy loading for better performance\n result[profile.code] = () => Promise.resolve(coreProfile);\n } else {\n console.warn(`[AXMLocaleProfileProviderService] Profile ${profile.code} is missing required properties, skipping`);\n }\n } catch (profileError) {\n console.error(`[AXMLocaleProfileProviderService] Error processing profile ${profile.code}:`, profileError);\n }\n }\n\n if (Object.keys(result).length === 0) {\n console.warn('[AXMLocaleProfileProviderService] No valid profiles found, falling back to default behavior');\n } else {\n //console.log(`[AXMLocaleProfileProviderService] Successfully loaded ${Object.keys(result).length} profiles:`, Object.keys(result));\n }\n\n return result;\n } catch (error) {\n console.error('[AXMLocaleProfileProviderService] Failed to load profiles:', error);\n\n // Fallback to empty result if loading fails\n return {};\n }\n }\n\n /**\n * Validates that a profile has all required properties\n */\n private isValidProfile(profile: any): profile is AXLocaleProfile {\n return (\n profile &&\n profile.localeInfo &&\n profile.calendar &&\n profile.formats &&\n profile.units &&\n typeof profile.localeInfo.code === 'string' &&\n typeof profile.localeInfo.language === 'string'\n );\n }\n\n /**\n * Gets the list of available locale codes from the locale-management module\n * This can be used by other services to check available locales\n */\n async getAvailableLocaleCodes(): Promise<string[]> {\n try {\n const profiles = await this.localeManagementService.getLocaleProfiles();\n return profiles.map(p => p.code);\n } catch (error) {\n console.error('[AXMLocaleProfileProviderService] Failed to get available locale codes:', error);\n return [];\n }\n }\n\n /**\n * Checks if a specific locale is available\n */\n async hasLocale(localeCode: string): Promise<boolean> {\n try {\n const codes = await this.getAvailableLocaleCodes();\n return codes.includes(localeCode);\n } catch (error) {\n console.error(`[AXMLocaleProfileProviderService] Failed to check locale ${localeCode}:`, error);\n return false;\n }\n }\n}\n","//#region ---- Imports ----\n\nimport {\n AXPPermissionDefinitionProvider,\n AXPPermissionDefinitionProviderContext,\n} from '@acorex-platform/framework-client/auth';\nimport {\n AXPCommonPermissionGroupKeys\n} from '@acorex-platform/module-common-client/contracts';\nimport {\n AXPApplicationsPlatformPermissionKeys\n} from '@acorex-platform/module-locale-management-client/contracts';\n\nimport { Injectable } from '@angular/core';\n\n//#endregion\n\n//#region ---- Permission Definition Provider ----\n\n/**\n * Registers MaintainLocales under Applications & Platform.\n */\n@Injectable()\nexport class AXMLocaleManagementPermissionDefinitionProvider implements AXPPermissionDefinitionProvider {\n async define(context: AXPPermissionDefinitionProviderContext): Promise<void> {\n const keys = AXPApplicationsPlatformPermissionKeys;\n const groups = AXPCommonPermissionGroupKeys;\n const P = '@common:applications-platform.permissions';\n const G = '@common:permission-groups';\n\n context.addGroup(groups.ApplicationsPlatform.Root, `${G}.applications-platform.title`, `${G}.applications-platform.description`, { order: 110 });\n\n context\n .addGroup(\n groups.ApplicationsPlatform.Configuration,\n `${G}.applications-platform-configuration.title`,\n `${G}.applications-platform-configuration.description`,\n { parent: groups.ApplicationsPlatform.Root, order: 30 },\n )\n .addPermission(keys.MaintainLocales, `${P}.maintain-locales.title`, `${P}.maintain-locales.description`, {\n modules: ['LocaleManagement'],\n requiredFeatures: ['LocaleManagement'],\n })\n .endPermission()\n .endGroup();\n }\n}\n\n//#endregion\n","import { AXPMenuProvider, AXPMenuProviderContext } from '@acorex-platform/framework-client/common';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { inject } from '@angular/core';\nimport { AXPCommonMenuKeys } from '@acorex-platform/module-common-client/contracts';\nimport { RootConfig } from '@acorex-platform/module-locale-management-client/contracts';\nimport { AXPLocaleManagementMenuKeys } from '@acorex-platform/module-locale-management-client/contracts';\nimport { AXPApplicationsPlatformPermissionKeys } from '@acorex-platform/module-locale-management-client/contracts';\n\nexport class AXMLocaleManagementMenuProvider implements AXPMenuProvider {\n private entityService = inject(AXPEntityService);\n\n async provide(context: AXPMenuProviderContext): Promise<void> {\n const module = RootConfig.module;\n const maintainLocales = AXPApplicationsPlatformPermissionKeys.MaintainLocales;\n\n // Languages under Configuration/Region\n context.find(AXPCommonMenuKeys.Region).addItems([\n {\n name: AXPLocaleManagementMenuKeys.Languages,\n text: '@locale-management:languages.menus.languages.title',\n path: this.entityService.createPath(module.name, RootConfig.entities.languages.name),\n icon: RootConfig.entities.languages.icon,\n priority: 3,\n policy: {\n features: [module.name],\n permissions: [maintainLocales],\n },\n },\n ]);\n\n // Timezones under Configuration/Date and Time\n context.find(AXPCommonMenuKeys.DateAndTime).addItems([\n {\n name: AXPLocaleManagementMenuKeys.Timezones,\n text: '@locale-management:timezones.menus.timezones.title',\n path: this.entityService.createPath(module.name, RootConfig.entities.timezones.name),\n icon: RootConfig.entities.timezones.icon,\n priority: 1,\n policy: {\n features: [module.name],\n permissions: [maintainLocales],\n },\n },\n ]);\n }\n}\n","\nimport { AXPRegionalSetting, AXPWidgetsCatalog, AXPWidgetsList } from '@acorex-platform/framework-shared/core';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport {\n AXPSettingDefinitionProvider,\n AXPSettingDefinitionProviderContext,\n} from '@acorex-platform/framework-client/common';\n\nimport { objectKeyValueTransforms } from '@acorex-platform/framework-client/core';\nimport { Injectable, Injector } from '@angular/core';\n\nimport { AXMLocaleManagementService } from './features/shared/locale-management.service';\n\n@Injectable()\nexport class AXMRegionalSettingProvider implements AXPSettingDefinitionProvider {\n private readonly regionalService = this.injector.get(AXMLocaleManagementService);\n private readonly translateService = this.injector.get(AXTranslationService);\n\n constructor(private injector: Injector) { }\n\n async provide(context: AXPSettingDefinitionProviderContext): Promise<void> {\n const i18n = (key: string) => `@locale-management:settings.settings.regional.${key}`;\n const profiles = await this.regionalService.getLocaleProfiles();\n const defaultProfile = profiles.find((p) => p.code === 'en-US')!;\n const defaultAvailableLanguages = profiles.map((p) => p.code);\n const multipleLanguagesVisibility = `{{ ((await settings.get('${AXPRegionalSetting.AvailableLanguages}')) || []).length > 1 }}`;\n\n context\n .addGroup(\n 'regional-settings',\n i18n('nav-title'),\n i18n('description'),\n 'fa-light fa-earth-americas',\n i18n('title'),\n 30,\n )\n\n // Date & Time Section\n .addSection('date-time', i18n('datetime.title'), i18n('datetime.description'))\n .addSetting({\n key: AXPRegionalSetting.TimeZone,\n title: i18n('datetime.timezone.title'),\n scope: 'T',\n overridableAt: ['U'],\n isInherited: true,\n defaultValue: 'UTC',\n valueTransforms: objectKeyValueTransforms('code'),\n widget: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: 'LocaleManagement.Timezones',\n look: 'select',\n allowSearch: true,\n valueField: 'code',\n textField: 'title',\n filter: {\n logic: 'and',\n filters: [{ field: 'isActive', operator: { type: 'equal' }, value: true }],\n },\n },\n },\n description: i18n('datetime.timezone.description'),\n })\n .endSection()\n\n // Region Section\n .addSection('region', i18n('region.title'), i18n('region.description'))\n .addSetting({\n key: AXPRegionalSetting.AvailableLanguages,\n title: i18n('region.available-languages.title'),\n scope: 'P',\n overridableAt: ['T'],\n isInherited: true,\n defaultValue: defaultAvailableLanguages,\n widget: {\n type: AXPWidgetsList.Editors.SelectionList,\n options: {\n multiple: true,\n valueField: 'code',\n textField: 'title',\n dataSource: 'LocaleManagement:ListLocaleProfiles',\n },\n },\n description: i18n('region.available-languages.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.LocaleProfile,\n title: i18n('region.format.title'),\n scope: 'U',\n overridableAt: [],\n isInherited: true,\n defaultValue: defaultProfile.code,\n valueTransforms: objectKeyValueTransforms('code'),\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'code',\n textField: 'title',\n dataSource: 'LocaleManagement:ListAvailableLocaleProfiles',\n visibility: multipleLanguagesVisibility,\n },\n },\n description: i18n('region.format.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.Language,\n title: i18n('region.language.title'),\n scope: 'U',\n overridableAt: [],\n isInherited: true,\n defaultValue: await this.translateService.getDefaultLang(),\n valueTransforms: objectKeyValueTransforms('code'),\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'code',\n textField: 'title',\n dataSource: 'LocaleManagement:ListAvailableLocaleProfiles',\n visibility: multipleLanguagesVisibility,\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: `{{ widget.setValue(context.eval('${AXPRegionalSetting.LocaleProfile}')) }}`,\n },\n ],\n },\n description: i18n('region.language.description'),\n })\n\n .addSetting({\n key: AXPRegionalSetting.Calendar,\n title: i18n('region.calendar.title'),\n scope: 'U',\n overridableAt: [],\n isInherited: true,\n defaultValue: defaultProfile.calendar.system,\n valueTransforms: objectKeyValueTransforms('id'),\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'id',\n textField: 'title',\n dataSource: 'CalendarManagement:ListCalendarSystems',\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').calendar.system) }}`,\n ],\n },\n ],\n },\n description: i18n('region.calendar.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.CalendarEvents,\n title: i18n('region.calendar-events.title'),\n scope: 'U',\n overridableAt: [],\n isInherited: true,\n defaultValue: [],\n widget: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: 'CalendarManagement.Calendar',\n look: 'select',\n multiple: true,\n valueField: 'id',\n textField: 'title',\n filter: {\n logic: 'or',\n filters: [\n { field: 'isArchived', operator: { type: 'equal' }, value: false },\n { field: 'isArchived', operator: { type: 'isNull' } },\n ],\n },\n },\n },\n description: i18n('region.calendar-events.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.FirstDayOfWeek,\n title: i18n('region.firstday.title'),\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: defaultProfile.calendar.week.startsOn,\n valueTransforms: objectKeyValueTransforms('value'),\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: [\n {\n text: i18n('region.firstday.options.saturday'),\n value: 6,\n },\n {\n text: i18n('region.firstday.options.sunday'),\n value: 0,\n },\n {\n text: i18n('region.firstday.options.monday'),\n value: 1,\n },\n ],\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').calendar.week.startsOn) }}`,\n ],\n },\n ],\n },\n },\n description: i18n('region.firstday.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.WeekendDays,\n title: i18n('region.workdays.title'),\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: defaultProfile.calendar.week.weekends,\n widget: {\n type: AXPWidgetsList.Editors.SelectionList,\n options: {\n multiple: true,\n valueField: 'value',\n textField: 'text',\n dataSource: [\n { text: i18n('region.workdays.options.monday'), value: 1 },\n { text: i18n('region.workdays.options.tuesday'), value: 2 },\n { text: i18n('region.workdays.options.wednesday'), value: 3 },\n { text: i18n('region.workdays.options.thursday'), value: 4 },\n { text: i18n('region.workdays.options.friday'), value: 5 },\n { text: i18n('region.workdays.options.saturday'), value: 6 },\n { text: i18n('region.workdays.options.sunday'), value: 0 },\n ],\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').calendar.week.weekends) }}`,\n ],\n },\n ],\n },\n description: i18n('region.workdays.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.MultiLanguageSupport,\n title: i18n('region.multilanguage-support.title'),\n scope: 'T',\n overridableAt: [],\n isInherited: true,\n defaultValue: false,\n widget: {\n type: AXPWidgetsCatalog.toggle,\n options: {\n label: null,\n },\n },\n description: i18n('region.multilanguage-support.description'),\n })\n // .addSetting({\n // key: AXPRegionalSetting.ShortDate,\n // title: i18n('region.shortdate.title'),\n // scope: 'U',\n // isInherited: true,\n // defaultValue: defaultProfile.formats.date.medium,\n // valueTransforms: objectKeyValueTransforms('value'),\n // widget: {\n // type: AXPWidgetsList.Editors.SelectBox,\n // options: {\n // valueField: 'value',\n // textField: 'text',\n // dataSource: await Promise.all(\n // profiles.map(async (c) => ({\n // text: `${c.formats.date.medium} (${await this.formatService.format(new Date(), 'datetime', { format: c.formats.date.medium })})`,\n // value: c.formats.date.medium,\n // })),\n // ),\n // },\n // triggers: [\n // {\n // event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n // action: [\n // `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').formats.date.short) }}`,\n // ],\n // },\n // ],\n // },\n // description: i18n('region.shortdate.description'),\n // })\n // .addSetting({\n // key: AXPRegionalSetting.LongDate,\n // title: i18n('region.longdate.title'),\n // scope: 'U',\n // isInherited: true,\n // defaultValue: defaultProfile.formats.date.long,\n // valueTransforms: objectKeyValueTransforms('value'),\n // widget: {\n // type: AXPWidgetsList.Editors.SelectBox,\n // options: {\n // valueField: 'value',\n // textField: 'text',\n // dataSource: await Promise.all(\n // profiles.map(async (c) => ({\n // text: `${c.formats.date.long} (${await this.formatService.format(new Date(), 'datetime', { format: c.formats.date.long })})`,\n // value: c.formats.date.long,\n // })),\n // ),\n // },\n // triggers: [\n // {\n // event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n // action: [\n // `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').formats.date.long) }}`,\n // ],\n // },\n // ],\n // },\n // description: i18n('region.longdate.description'),\n // })\n // .addSetting({\n // key: AXPRegionalSetting.ShortTime,\n // title: i18n('region.shorttime.title'),\n // scope: 'U',\n // isInherited: true,\n // defaultValue: defaultProfile.formats.time.short,\n // valueTransforms: objectKeyValueTransforms('value'),\n // widget: {\n // type: AXPWidgetsList.Editors.SelectBox,\n // options: {\n // valueField: 'value',\n // textField: 'text',\n // dataSource: await Promise.all(\n // profiles.map(async (c) => ({\n // text: `${c.formats.time.short} (${await this.formatService.format(new Date(), 'datetime', { format: c.formats.time.short })})`,\n // value: c.formats.time.short,\n // })),\n // ),\n // },\n // triggers: [\n // {\n // event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n // action: [\n // `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').formats.time.short) }}`,\n // ],\n // },\n // ],\n // },\n // description: i18n('region.shorttime.description'),\n // })\n // .addSetting({\n // key: AXPRegionalSetting.LongTime,\n // title: i18n('region.longtime.title'),\n // scope: 'U',\n // isInherited: true,\n // defaultValue: defaultProfile.formats.time.long,\n // valueTransforms: objectKeyValueTransforms('value'),\n // widget: {\n // type: AXPWidgetsList.Editors.SelectBox,\n // options: {\n // valueField: 'value',\n // textField: 'text',\n // dataSource: await Promise.all(\n // profiles.map(async (c) => ({\n // text: `${c.formats.time.long} (${await this.formatService.format(new Date(), 'datetime', { format: c.formats.time.long })})`,\n // value: c.formats.time.long,\n // })),\n // ),\n // },\n // triggers: [\n // {\n // event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n // action: [\n // `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').formats.time.long) }}`,\n // ],\n // },\n // ],\n // },\n // description: i18n('region.longtime.description'),\n // })\n .endSection()\n\n // Unit Settings Section\n .addSection('units', i18n('units.title'), i18n('units.description'))\n .addSetting({\n key: AXPRegionalSetting.TemperatureUnits,\n title: i18n('units.temperature.title'),\n scope: 'U',\n overridableAt: [],\n isInherited: true,\n defaultValue: defaultProfile.units!.temperature,\n valueTransforms: objectKeyValueTransforms('value'),\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: profiles.map((c) => ({\n text: i18n(`units.temperature.options.${c.units!.temperature}`),\n value: c.units!.temperature,\n })),\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').units.temperature) }}`,\n ],\n },\n ],\n },\n description: i18n('units.temperature.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.DistanceUnits,\n title: i18n('units.distance.title'),\n scope: 'U',\n overridableAt: [],\n isInherited: true,\n defaultValue: defaultProfile.units!.distance,\n valueTransforms: objectKeyValueTransforms('value'),\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: profiles.map((c) => ({\n text: i18n(`units.distance.options.${c.units!.distance}`),\n value: c.units!.distance,\n })),\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').units.distance) }}`,\n ],\n },\n ],\n },\n description: i18n('units.distance.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.WeightUnits,\n title: i18n('units.weight.title'),\n scope: 'U',\n overridableAt: [],\n isInherited: true,\n defaultValue: defaultProfile.units!.weight,\n valueTransforms: objectKeyValueTransforms('value'),\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: profiles.map((c) => ({\n text: i18n(`units.weight.options.${c.units!.weight}`),\n value: c.units!.weight,\n })),\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').units.weight) }}`,\n ],\n },\n ],\n },\n description: i18n('units.weight.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.VolumeUnits,\n title: i18n('units.volume.title'),\n scope: 'U',\n overridableAt: [],\n isInherited: true,\n defaultValue: defaultProfile.units!.volume,\n valueTransforms: objectKeyValueTransforms('value'),\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: [\n { text: i18n('units.volume.options.liters'), value: 'liters' },\n { text: i18n('units.volume.options.gallons'), value: 'gallons' },\n ],\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').units.volume) }}`,\n ],\n },\n ],\n },\n description: i18n('units.volume.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.SpeedUnits,\n title: i18n('units.speed.title'),\n scope: 'U',\n overridableAt: [],\n isInherited: true,\n defaultValue: defaultProfile.units!.speed,\n valueTransforms: objectKeyValueTransforms('value'),\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: profiles.map((c) => ({\n text: i18n(`units.speed.options.${c.units!.speed}`),\n value: c.units!.speed,\n })),\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').units.speed) }}`,\n ],\n },\n ],\n },\n description: i18n('units.speed.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.AreaUnits,\n title: i18n('units.area.title'),\n scope: 'U',\n overridableAt: [],\n isInherited: true,\n defaultValue: defaultProfile.units!.area,\n valueTransforms: objectKeyValueTransforms('value'),\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: profiles.map((c) => ({\n text: i18n(`units.area.options.${c.units!.area}`),\n value: c.units!.area,\n })),\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').units.area) }}`,\n ],\n },\n ],\n },\n description: i18n('units.area.description'),\n })\n .endSection()\n .endGroup();\n }\n}\n","import { AXPSearchCommandProvider, AXPSearchResult, createEntityCommandOptions } from '@acorex-platform/framework-client/common';\nimport { RootConfig } from '@acorex-platform/module-locale-management-client/contracts';\n\nexport class AXMLocaleManagementSearchCommandProvider extends AXPSearchCommandProvider {\n commands: AXPSearchResult[] = [\n {\n id: 'create-language',\n group: 'command',\n title: 'New Language',\n icon: RootConfig.entities.languages.icon,\n description: 'Create a new language with locales.',\n command: {\n name: 'Entity:Create',\n options: createEntityCommandOptions(\n `${RootConfig.module.name}.${RootConfig.entities.languages.name}`,\n {\n name: RootConfig.entities.languages.name,\n module: RootConfig.module.name,\n title: RootConfig.entities.languages.title,\n }\n ),\n },\n },\n {\n id: 'create-timezone',\n group: 'command',\n title: 'New Timezone',\n icon: RootConfig.entities.timezones.icon,\n description: 'Create a new timezone definition.',\n command: {\n name: 'Entity:Create',\n options: createEntityCommandOptions(\n `${RootConfig.module.name}.${RootConfig.entities.timezones.name}`,\n {\n name: RootConfig.entities.timezones.name,\n module: RootConfig.module.name,\n title: RootConfig.entities.timezones.title,\n }\n ),\n },\n },\n ];\n}\n","import { Injectable } from '@angular/core';\nimport type { AXPContextDefinition, AXPContextDefinitionProvider } from '@acorex-platform/framework-client/core';\nimport { AXM_LOCALE_CONTEXT_DEFINITIONS } from '@acorex-platform/module-locale-management-client/contracts';\n\n//#region ---- Locale & regional context definitions ----\n\n@Injectable()\nexport class AXMLocaleManagementContextDefinitionProvider implements AXPContextDefinitionProvider {\n async items(): Promise<AXPContextDefinition[]> {\n return AXM_LOCALE_CONTEXT_DEFINITIONS;\n }\n}\n\n//#endregion\n","import { Injector, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {\n AXP_CONTEXT_DEFINITION_PROVIDER,\n AXP_MODULE_MANIFEST_PROVIDER,\n AXPAppStartUpService,\n AXP_APP_STARTUP_PRIORITY,\n} from '@acorex-platform/framework-client/core';\nimport { provideQuerySetups } from '@acorex-platform/framework-client/runtime';\n\nimport { LocaleManagementManifest } from './manifest';\nimport { AXPComponentSlotModule } from '@acorex-platform/framework-client/core';\nimport { AXMLanguageSlotComponent } from './features/shared/language-slot/language-slot.component';\nimport { AXPRegionalStoreService } from './features/shared/regional-store.service';\nimport {\n AXP_LOCALE_MANAGEMENT_PORT,\n AXP_MENU_PROVIDER,\n AXP_SEARCH_PROVIDER,\n AXP_SETTING_DEFINITION_PROVIDER,\n AXPPlatformSettingsLoadState,\n AXPRegionalCalendarService,\n} from '@acorex-platform/framework-client/common';\nimport { AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex-platform/framework-client/auth';\nimport { AXPRegionalSetting } from '@acorex-platform/framework-shared/core';\n\n// Locale Profile Provider Integration\nimport { AX_LOCALE_PROFILE_PROVIDERS } from '@acorex/core/locale';\nimport { AXMLocaleProfileProviderService } from './features/shared/locale-profile-provider.service';\nimport { AXMLocaleManagementPermissionDefinitionProvider } from './permission-definition.provider';\nimport { AXMLocaleManagementMenuProvider } from './menu.provider';\n\nimport { AXMRegionalSettingProvider } from './settings.provider';\nimport { AXMLocaleManagementSearchCommandProvider } from './search-command.provider';\nimport { AXMLocaleManagementService } from './features/shared/locale-management.service';\nimport { AXMLocaleManagementContextDefinitionProvider } from './context-definition.provider';\nimport { AXCalendarService } from '@acorex/core/date-time';\n\n/** Hide the header language switch when the tenant allow-list has at most one profile. */\nconst LANGUAGE_SLOT_VISIBLE_WHEN_MULTIPLE = `{{ ((await settings.get('${AXPRegionalSetting.AvailableLanguages}')) || []).length > 1 }}`;\n\n@NgModule({\n imports: [\n CommonModule,\n AXPComponentSlotModule.forChild({\n 'root-header-end': [\n {\n name: 'language',\n component: AXMLanguageSlotComponent,\n condition: LANGUAGE_SLOT_VISIBLE_WHEN_MULTIPLE,\n },\n ],\n }),\n ],\n providers: [\n {\n provide: AXP_LOCALE_MANAGEMENT_PORT,\n useExisting: AXMLocaleManagementService,\n },\n // Module-specific providers (not part of manifest system)\n {\n provide: AX_LOCALE_PROFILE_PROVIDERS,\n useClass: AXMLocaleProfileProviderService,\n multi: true,\n },\n {\n provide: AXCalendarService,\n useClass: AXPRegionalCalendarService,\n },\n // Module Manifest Provider\n {\n provide: AXP_MODULE_MANIFEST_PROVIDER,\n useValue: LocaleManagementManifest,\n multi: true,\n },\n // Provider references (now using tokens)\n {\n provide: AXP_PERMISSION_DEFINITION_PROVIDER,\n useClass: AXMLocaleManagementPermissionDefinitionProvider,\n multi: true,\n },\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMLocaleManagementMenuProvider,\n multi: true,\n },\n \n {\n provide: AXP_SETTING_DEFINITION_PROVIDER,\n useClass: AXMRegionalSettingProvider,\n multi: true,\n },\n {\n provide: AXP_SEARCH_PROVIDER,\n useClass: AXMLocaleManagementSearchCommandProvider,\n multi: true,\n },\n provideQuerySetups([\n {\n key: 'LocaleManagement:ListLocaleProfiles',\n loader: () =>\n import('./features/queries/list-locale-profiles.query').then(\n (c) => c.AXMListLocaleProfilesQuery,\n ),\n },\n {\n key: 'LocaleManagement:ListAvailableLocaleProfiles',\n loader: () =>\n import('./features/queries/list-available-locale-profiles.query').then(\n (c) => c.AXMListAvailableLocaleProfilesQuery,\n ),\n },\n ]),\n {\n provide: AXP_CONTEXT_DEFINITION_PROVIDER,\n useClass: AXMLocaleManagementContextDefinitionProvider,\n multi: true,\n },\n ],\n})\nexport class AXMLocaleManagementModule {\n constructor(\n appInitService: AXPAppStartUpService,\n injector: Injector\n ) {\n const service = injector.get(AXPRegionalStoreService);\n const platformSettingsLoadState = injector.get(AXPPlatformSettingsLoadState);\n appInitService.registerTask({\n name: 'regional-settings',\n statusText: '@locale-management:app-startup.applying-regional-settings',\n priority: AXP_APP_STARTUP_PRIORITY.regionalSettings,\n run: async () => {\n if (\n platformSettingsLoadState.hasFailure() ||\n platformSettingsLoadState.hasPendingOfflineContinue() ||\n platformSettingsLoadState.isOfflineMode()\n ) {\n return;\n }\n await service.loadSetting();\n },\n });\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAKA;AAEA;AAEA;;;AAGG;AACI,MAAM,wBAAwB,GAAsB;AACzD,IAAA,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI;AAC5B,IAAA,OAAO,EAAE,OAAO;AAChB,IAAA,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK;AAC9B,IAAA,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI;AAC5B,IAAA,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI;AAC5B,IAAA,IAAI,EAAE,UAAU;AAChB,IAAA,MAAM,EAAE,UAAU;AAClB,IAAA,QAAQ,EAAE,IAAI;;CAGf;AAED;;ACjBA,MAAM,qBAAqB,GAAG;AAC5B,IAAA,kBAAkB,CAAC,aAAa;AAChC,IAAA,kBAAkB,CAAC,QAAQ;AAC3B,IAAA,kBAAkB,CAAC,QAAQ;CACnB;AAEV;AACO,MAAM,uBAAuB,GAAG,WAAW,CAChD,EAAE,UAAU,EAAE,MAAM,EAAE;AACtB;AACA,SAAS,CAAC,MAAK;;AAEb,IAAA,MAAM,KAAK,GAAG;AACZ,QAAA,OAAO,EAAE,IAAqB;AAC9B,QAAA,QAAQ,EAAE,IAAqB;AAC/B,QAAA,QAAQ,EAAE,IAAqB;KAChC;AACD,IAAA,OAAO,KAAK;AACd,CAAC,CAAC;AAEF;AACA;AAEA;AAEA;AACA,WAAW,CACT,CACE,KAAK,EACL,eAAe,GAAG,MAAM,CAAC,kBAAkB,CAAC,EAC5C,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC,EACvC,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAAC,EAC3C,gBAAgB,GAAG,MAAM,CAAC,oBAAoB,CAAC,KAC7C;AAEF,IAAA,MAAM,YAAY,GAAG,YAAW;AAC9B,QAAA,MAAM,OAAO,GAAG,aAAa,CAAC,aAAa,EAAE;QAC7C,MAAM,IAAI,GAAG,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACrD,OAAO,CAAC,QAAQ,EAAE,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;AACvF,IAAA,CAAC;AAED,IAAA,MAAM,mBAAmB,GAAG,OAAO,OAAwB,KAAI;AAC7D,QAAA,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI;AAClC,QAAA,IAAI,IAAI,EAAE,KAAK,EAAE;AACf,YAAA,MAAM,eAAe,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC;QAClG;AACA,QAAA,IAAI,IAAI,EAAE,MAAM,EAAE;AAChB,YAAA,MAAM,eAAe,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;QACpG;AACA,QAAA,IAAI,IAAI,EAAE,IAAI,EAAE;AACd,YAAA,MAAM,eAAe,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC;QAChG;AACA,QAAA,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI;AAClC,QAAA,IAAI,IAAI,EAAE,KAAK,EAAE;AACf,YAAA,MAAM,eAAe,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC;QAClG;AACA,QAAA,IAAI,IAAI,EAAE,MAAM,EAAE;AAChB,YAAA,MAAM,eAAe,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;QACpG;AACA,QAAA,IAAI,IAAI,EAAE,IAAI,EAAE;AACd,YAAA,MAAM,eAAe,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC;QAChG;AACF,IAAA,CAAC;IAED,OAAO;QACL,MAAM,aAAa,CAAC,WAAmB,EAAA;AACrC,YAAA,MAAM,aAAa,CAAC,UAAU,CAAC,WAAW,CAAC;AAC3C,YAAA,MAAM,OAAO,GAAG,aAAa,CAAC,aAAa,EAAE;YAC7C,IAAI,KAAK,CAAC,OAAO,EAAE,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE;gBAC9C,eAAe,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,aAAa,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBAC3G,eAAe,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;AACtG,gBAAA,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YACzD;AACA,YAAA,MAAM,mBAAmB,CAAC,OAAO,CAAC;YAClC,MAAM,YAAY,EAAE;QACtB,CAAC;AACD;;AAEG;AACH,QAAA,MAAM,WAAW,GAAA;AACf,YAAA,MAAM,WAAW,GACd,CAAC,MAAM,eAAe,CAAC,GAAG,CAAC,kBAAkB,CAAC,aAAa,CAAC,KAAgB,OAAO;YACtF,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;YAC3C,IAAI,WAAW,EAAE;AACf,gBAAA,MAAM,aAAa,CAAC,UAAU,CAAC,WAAW,CAAC;YAC7C;AAEA,YAAA,MAAM,QAAQ,IAAI,MAAM,eAAe,CAAC,GAAG,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAuB;YAC/F,IAAI,QAAQ,EAAE;AACZ,gBAAA,UAAU,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC;AAC/B,gBAAA,eAAe,CAAC,iBAAiB,CAAC,QAAQ,CAAC;YAC7C;AAEA,YAAA,MAAM,QAAQ,IAAI,MAAM,eAAe,CAAC,GAAG,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAuB;YAC/F,IAAI,QAAQ,EAAE;AACZ,gBAAA,UAAU,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC;AAC/B,gBAAA,gBAAgB,CAAC,aAAa,CAAC,QAAQ,CAAC;YAC1C;YAEA,MAAM,YAAY,EAAE;QACtB,CAAC;KACF;AACH,CAAC,CACF,EACD,SAAS,CAAC,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAAC,kBAAkB,CAAC,MAAM;IAClE,MAAM,GAAA;AACJ,QAAA,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAK;AACtC,YAAA,KAAK,KAAK,CAAC,WAAW,EAAE;AAC1B,QAAA,CAAC,CAAC;QACF,eAAe,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,OAAO,KAAI;AACpD,YAAA,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;AAC/D,gBAAA,MAAM,KAAK,CAAC,WAAW,EAAE;YAC3B;AACF,QAAA,CAAC,CAAC;IACJ,CAAC;AACD,IAAA,SAAS,KAAI,CAAC;CACf,CAAC,CAAC,CACJ;;AC1GD;AACA,IAAI,cAAc,GAAyB,IAAI;AAC/C;AACA,IAAI,oBAAoB,GAAkC,IAAI;MAKjD,0BAA0B,CAAA;AAHvC,IAAA,WAAA,GAAA;AAImB,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACxC,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,kBAAkB,CAAC;QAC5C,IAAA,CAAA,qBAAqB,GAAG,IAAI,CAAC;AAC3C,aAAA,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI;AACrE,aAAA,IAAI,EAAmD;QACzC,IAAA,CAAA,qBAAqB,GAAG,IAAI,CAAC;AAC3C,aAAA,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI;AACrE,aAAA,IAAI,EAAmD;QACzC,IAAA,CAAA,mBAAmB,GAAG,IAAI,CAAC;AACzC,aAAA,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI;AACnE,aAAA,IAAI,EAAiD;AAEhD,QAAA,IAAA,CAAA,WAAW,GAAoB;AACrC,YAAA,IAAI,EAAE,CAAC;AACP,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,MAAM,EAAE;AACN,gBAAA,KAAK,EAAE,KAAK;AACZ,gBAAA,OAAO,EAAE;AACP,oBAAA;AACE,wBAAA,KAAK,EAAE,UAAU;AACjB,wBAAA,QAAQ,EAAE;AACR,4BAAA,IAAI,EAAE,OAAO;AACd,yBAAA;AACD,wBAAA,KAAK,EAAE,IAAI;AACZ,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,IAAI,EAAE;AACJ,gBAAA;AACE,oBAAA,KAAK,EAAE,OAAO;AACd,oBAAA,GAAG,EAAE,KAAK;AACX,iBAAA;AACF,aAAA;SACF;AAyGF,IAAA;AAvGC,IAAA,MAAM,iBAAiB,GAAA;QACrB,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,OAAO,yEAAiB,CAAC;AACpD,QAAA,MAAM,YAAY,GAAG,4BAA4B,EAAE;AACnD,QAAA,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE;AACzB,YAAA,OAAO,QAAQ;QACjB;AACA,QAAA,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC;QACtC,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACzE,QAAA,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,QAAQ,GAAG,QAAQ;IAClD;AAEA,IAAA,MAAM,0BAA0B,GAAA;AAC9B,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE;QAC/C,MAAM,OAAO,GAAG,MAAM,sCAAsC,CAAC,IAAI,CAAC,eAAe,CAAC;AAClF,QAAA,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;AACxB,YAAA,OAAO,QAAQ;QACjB;AACA,QAAA,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC;AACjC,QAAA,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE;AAEA,IAAA,MAAM,YAAY,GAAA;AAChB,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;QACvE,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAA0C,MAAM;YACvE,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,KAAK,EAAE,CAAC,CAAC,KAAK;AACC,SAAA,CAAA,CAAC;IACpB;AAEA,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;QACrE,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAwC,MAAM;YACrE,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,KAAK,EAAE,CAAC,CAAC,KAAK;AACC,SAAA,CAAA,CAAC;IACpB;AAEA,IAAA,MAAM,qBAAqB,GAAA;AACzB,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,0BAA0B,EAAE;QACxD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,MAAM;YAChC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;AACrB,SAAA,CAAC,CAAC;IACL;AAEA,IAAA,MAAM,YAAY,GAAA;QAChB,IAAI,cAAc,EAAE;AAClB,YAAA,OAAO,cAAc;QACvB;QACA,IAAI,CAAC,oBAAoB,EAAE;YACzB,oBAAoB,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,MAAK;gBACvD,oBAAoB,GAAG,IAAI;AAC7B,YAAA,CAAC,CAAC;QACJ;AACA,QAAA,OAAO,oBAAoB;IAC7B;AAEA,IAAA,MAAM,sBAAsB,GAAA;;AAE1B,QAAA,MAAM,WAAW,GACf,OAAO,IAAI,KAAK;cACZ,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC;cACxC,SAAS;QACf,IAAI,WAAW,EAAE;AACf,YAAA,OAAO,WAAW;QACpB;AAEA,QAAA,IAAI;AACF,YAAA,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE;YAC3C,MAAM,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;AACzD,YAAA,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,KAAK,aAAa,CAAC;AAC3E,YAAA,OAAO,WAAW,EAAE,IAAI,IAAI,KAAK;QACnC;AAAE,QAAA,MAAM;AACN,YAAA,OAAO,KAAK;QACd;IACF;AAEQ,IAAA,MAAM,aAAa,GAAA;AACzB,QAAA,IAAI;YACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;gBACpD,GAAG,IAAI,CAAC,WAAW;gBACnB,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;AAChD,aAAA,CAAC;AACF,YAAA,MAAM,OAAO,GAAG,CAAC,KAAa,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AACpE,YAAA,MAAM,YAAY,GAAG,CAAC,MAAc,KAAI;AACtC,gBAAA,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG;AACnC,gBAAA,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;AACxD,gBAAA,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAC9C,gBAAA,OAAO,GAAG,IAAI,CAAA,EAAG,KAAK,CAAA,CAAA,EAAI,OAAO,EAAE;AACrC,YAAA,CAAC;AACD,YAAA,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAA0C,MAAM;gBACjF,IAAI,EAAE,CAAC,CAAC,IAAI;AACZ,gBAAA,KAAK,EAAE,CAAA,EAAG,CAAC,CAAC,KAAK,CAAA,EAAA,EAAK,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAA,CAAA,CAAG;gBACvD,MAAM,EAAE,CAAC,CAAC,cAAc;gBACxB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,IAAI,EAAE,CAAC,CAAC,YAAY;AACL,aAAA,CAAA,CAAC;AAClB,YAAA,OAAO,cAAc;QACvB;AAAE,QAAA,MAAM;;AAEN,YAAA,OAAO,EAAE;QACX;IACF;8GA1IW,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,cAFzB,MAAM,EAAA,CAAA,CAAA;;2FAEP,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCXY,wBAAwB,CAAA;AALrC,IAAA,WAAA,GAAA;AAMU,QAAA,IAAA,CAAA,uBAAuB,GAAG,MAAM,CAAC,0BAA0B,CAAC;AAC1D,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,uBAAuB,CAAC;AACvC,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,qBAAqB,CAAC;QAC1C,IAAA,CAAA,KAAK,GAAG,MAAM,CAAqB,EAAE;kFAAC;AAMjD,IAAA;AAJC,IAAA,MAAM,QAAQ,GAAA;QACZ,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,0BAA0B,EAAE;AAC7E,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;IACvB;8GATW,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChBrC,ymBAkBA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDNY,gBAAgB,qQAAE,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,8IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,QAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,oBAAA,EAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAInE,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;8BACC,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,eAAe,EAAE,cAAc,CAAC,EAAA,eAAA,EAE9D,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,ymBAAA,EAAA;;;AEVjD;;;AAGG;MAIU,+BAA+B,CAAA;AAH5C,IAAA,WAAA,GAAA;AAIqB,QAAA,IAAA,CAAA,uBAAuB,GAAG,MAAM,CAAC,0BAA0B,CAAC;AA6FhF,IAAA;AA3FG;;;AAGG;AACH,IAAA,MAAM,OAAO,GAAA;AACT,QAAA,IAAI;;YAEA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,EAAE;;YAGvE,MAAM,MAAM,GAAqE,EAAE;AAEnF,YAAA,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;AAC5B,gBAAA,IAAI;;AAEA,oBAAA,MAAM,WAAW,GAAoB;wBACjC,UAAU,EAAE,OAAO,CAAC,UAAU;wBAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;wBAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;wBACxB,KAAK,EAAE,OAAO,CAAC,KAAK;wBACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;qBAC7B;;AAGD,oBAAA,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE;;AAElC,wBAAA,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC;oBAC7D;yBAAO;wBACH,OAAO,CAAC,IAAI,CAAC,CAAA,0CAAA,EAA6C,OAAO,CAAC,IAAI,CAAA,yCAAA,CAA2C,CAAC;oBACtH;gBACJ;gBAAE,OAAO,YAAY,EAAE;oBACnB,OAAO,CAAC,KAAK,CAAC,CAAA,2DAAA,EAA8D,OAAO,CAAC,IAAI,CAAA,CAAA,CAAG,EAAE,YAAY,CAAC;gBAC9G;YACJ;YAEA,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;AAClC,gBAAA,OAAO,CAAC,IAAI,CAAC,6FAA6F,CAAC;YAC/G;iBAAO;;YAEP;AAEA,YAAA,OAAO,MAAM;QACjB;QAAE,OAAO,KAAK,EAAE;AACZ,YAAA,OAAO,CAAC,KAAK,CAAC,4DAA4D,EAAE,KAAK,CAAC;;AAGlF,YAAA,OAAO,EAAE;QACb;IACJ;AAEA;;AAEG;AACK,IAAA,cAAc,CAAC,OAAY,EAAA;AAC/B,QAAA,QACI,OAAO;AACP,YAAA,OAAO,CAAC,UAAU;AAClB,YAAA,OAAO,CAAC,QAAQ;AAChB,YAAA,OAAO,CAAC,OAAO;AACf,YAAA,OAAO,CAAC,KAAK;AACb,YAAA,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,KAAK,QAAQ;YAC3C,OAAO,OAAO,CAAC,UAAU,CAAC,QAAQ,KAAK,QAAQ;IAEvD;AAEA;;;AAGG;AACH,IAAA,MAAM,uBAAuB,GAAA;AACzB,QAAA,IAAI;YACA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,EAAE;AACvE,YAAA,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;QACpC;QAAE,OAAO,KAAK,EAAE;AACZ,YAAA,OAAO,CAAC,KAAK,CAAC,yEAAyE,EAAE,KAAK,CAAC;AAC/F,YAAA,OAAO,EAAE;QACb;IACJ;AAEA;;AAEG;IACH,MAAM,SAAS,CAAC,UAAkB,EAAA;AAC9B,QAAA,IAAI;AACA,YAAA,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,uBAAuB,EAAE;AAClD,YAAA,OAAO,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;QACrC;QAAE,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,CAAA,yDAAA,EAA4D,UAAU,CAAA,CAAA,CAAG,EAAE,KAAK,CAAC;AAC/F,YAAA,OAAO,KAAK;QAChB;IACJ;8GA7FS,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAA/B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,+BAA+B,cAF5B,MAAM,EAAA,CAAA,CAAA;;2FAET,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAH3C,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA;;;ACKD;AAEA;AAEA;;AAEG;MAEU,+CAA+C,CAAA;IAC1D,MAAM,MAAM,CAAC,OAA+C,EAAA;QAC1D,MAAM,IAAI,GAAG,qCAAqC;QAClD,MAAM,MAAM,GAAG,4BAA4B;QAC3C,MAAM,CAAC,GAAG,2CAA2C;QACrD,MAAM,CAAC,GAAG,2BAA2B;QAErC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAA,EAAG,CAAC,8BAA8B,EAAE,CAAA,EAAG,CAAC,CAAA,kCAAA,CAAoC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;QAEhJ;AACG,aAAA,QAAQ,CACP,MAAM,CAAC,oBAAoB,CAAC,aAAa,EACzC,CAAA,EAAG,CAAC,CAAA,0CAAA,CAA4C,EAChD,CAAA,EAAG,CAAC,CAAA,gDAAA,CAAkD,EACtD,EAAE,MAAM,EAAE,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;AAExD,aAAA,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,CAAA,EAAG,CAAC,CAAA,uBAAA,CAAyB,EAAE,CAAA,EAAG,CAAC,CAAA,6BAAA,CAA+B,EAAE;YACvG,OAAO,EAAE,CAAC,kBAAkB,CAAC;YAC7B,gBAAgB,EAAE,CAAC,kBAAkB,CAAC;SACvC;AACA,aAAA,aAAa;AACb,aAAA,QAAQ,EAAE;IACf;8GAtBW,+CAA+C,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAA/C,+CAA+C,EAAA,CAAA,CAAA;;2FAA/C,+CAA+C,EAAA,UAAA,EAAA,CAAA;kBAD3D;;;MCdY,+BAA+B,CAAA;AAA5C,IAAA,WAAA,GAAA;AACU,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;IAoClD;IAlCE,MAAM,OAAO,CAAC,OAA+B,EAAA;AAC3C,QAAA,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM;AAChC,QAAA,MAAM,eAAe,GAAG,qCAAqC,CAAC,eAAe;;QAG7E,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC;AAC9C,YAAA;gBACE,IAAI,EAAE,2BAA2B,CAAC,SAAS;AAC3C,gBAAA,IAAI,EAAE,oDAAoD;AAC1D,gBAAA,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC;AACpF,gBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI;AACxC,gBAAA,QAAQ,EAAE,CAAC;AACX,gBAAA,MAAM,EAAE;AACN,oBAAA,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;oBACvB,WAAW,EAAE,CAAC,eAAe,CAAC;AAC/B,iBAAA;AACF,aAAA;AACF,SAAA,CAAC;;QAGF,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC;AACnD,YAAA;gBACE,IAAI,EAAE,2BAA2B,CAAC,SAAS;AAC3C,gBAAA,IAAI,EAAE,oDAAoD;AAC1D,gBAAA,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC;AACpF,gBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI;AACxC,gBAAA,QAAQ,EAAE,CAAC;AACX,gBAAA,MAAM,EAAE;AACN,oBAAA,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;oBACvB,WAAW,EAAE,CAAC,eAAe,CAAC;AAC/B,iBAAA;AACF,aAAA;AACF,SAAA,CAAC;IACJ;AACD;;MC/BY,0BAA0B,CAAA;AAIrC,IAAA,WAAA,CAAoB,QAAkB,EAAA;QAAlB,IAAA,CAAA,QAAQ,GAAR,QAAQ;QAHX,IAAA,CAAA,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,0BAA0B,CAAC;QAC/D,IAAA,CAAA,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,oBAAoB,CAAC;IAEjC;IAE1C,MAAM,OAAO,CAAC,OAA4C,EAAA;QACxD,MAAM,IAAI,GAAG,CAAC,GAAW,KAAK,CAAA,8CAAA,EAAiD,GAAG,CAAA,CAAE;QACpF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE;AAC/D,QAAA,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,OAAO,CAAE;AAChE,QAAA,MAAM,yBAAyB,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;AAC7D,QAAA,MAAM,2BAA2B,GAAG,CAAA,yBAAA,EAA4B,kBAAkB,CAAC,kBAAkB,0BAA0B;QAE/H;aACG,QAAQ,CACP,mBAAmB,EACnB,IAAI,CAAC,WAAW,CAAC,EACjB,IAAI,CAAC,aAAa,CAAC,EACnB,4BAA4B,EAC5B,IAAI,CAAC,OAAO,CAAC,EACb,EAAE;;AAIH,aAAA,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAC,sBAAsB,CAAC;AAC5E,aAAA,UAAU,CAAC;YACV,GAAG,EAAE,kBAAkB,CAAC,QAAQ;AAChC,YAAA,KAAK,EAAE,IAAI,CAAC,yBAAyB,CAAC;AACtC,YAAA,KAAK,EAAE,GAAG;YACV,aAAa,EAAE,CAAC,GAAG,CAAC;AACpB,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,eAAe,EAAE,wBAAwB,CAAC,MAAM,CAAC;AACjD,YAAA,MAAM,EAAE;AACN,gBAAA,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,SAAS;AACtC,gBAAA,OAAO,EAAE;AACP,oBAAA,MAAM,EAAE,4BAA4B;AACpC,oBAAA,IAAI,EAAE,QAAQ;AACd,oBAAA,WAAW,EAAE,IAAI;AACjB,oBAAA,UAAU,EAAE,MAAM;AAClB,oBAAA,SAAS,EAAE,OAAO;AAClB,oBAAA,MAAM,EAAE;AACN,wBAAA,KAAK,EAAE,KAAK;AACZ,wBAAA,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC3E,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,WAAW,EAAE,IAAI,CAAC,+BAA+B,CAAC;SACnD;AACA,aAAA,UAAU;;AAGV,aAAA,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC,oBAAoB,CAAC;AACrE,aAAA,UAAU,CAAC;YACV,GAAG,EAAE,kBAAkB,CAAC,kBAAkB;AAC1C,YAAA,KAAK,EAAE,IAAI,CAAC,kCAAkC,CAAC;AAC/C,YAAA,KAAK,EAAE,GAAG;YACV,aAAa,EAAE,CAAC,GAAG,CAAC;AACpB,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,YAAY,EAAE,yBAAyB;AACvC,YAAA,MAAM,EAAE;AACN,gBAAA,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,aAAa;AAC1C,gBAAA,OAAO,EAAE;AACP,oBAAA,QAAQ,EAAE,IAAI;AACd,oBAAA,UAAU,EAAE,MAAM;AAClB,oBAAA,SAAS,EAAE,OAAO;AAClB,oBAAA,UAAU,EAAE,qCAAqC;AAClD,iBAAA;AACF,aAAA;AACD,YAAA,WAAW,EAAE,IAAI,CAAC,wCAAwC,CAAC;SAC5D;AACA,aAAA,UAAU,CAAC;YACV,GAAG,EAAE,kBAAkB,CAAC,aAAa;AACrC,YAAA,KAAK,EAAE,IAAI,CAAC,qBAAqB,CAAC;AAClC,YAAA,KAAK,EAAE,GAAG;AACV,YAAA,aAAa,EAAE,EAAE;AACjB,YAAA,WAAW,EAAE,IAAI;YACjB,YAAY,EAAE,cAAc,CAAC,IAAI;AACjC,YAAA,eAAe,EAAE,wBAAwB,CAAC,MAAM,CAAC;AACjD,YAAA,MAAM,EAAE;AACN,gBAAA,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,SAAS;AACtC,gBAAA,OAAO,EAAE;AACP,oBAAA,UAAU,EAAE,MAAM;AAClB,oBAAA,SAAS,EAAE,OAAO;AAClB,oBAAA,UAAU,EAAE,8CAA8C;AAC1D,oBAAA,UAAU,EAAE,2BAA2B;AACxC,iBAAA;AACF,aAAA;AACD,YAAA,WAAW,EAAE,IAAI,CAAC,2BAA2B,CAAC;SAC/C;AACA,aAAA,UAAU,CAAC;YACV,GAAG,EAAE,kBAAkB,CAAC,QAAQ;AAChC,YAAA,KAAK,EAAE,IAAI,CAAC,uBAAuB,CAAC;AACpC,YAAA,KAAK,EAAE,GAAG;AACV,YAAA,aAAa,EAAE,EAAE;AACjB,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,YAAY,EAAE,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE;AAC1D,YAAA,eAAe,EAAE,wBAAwB,CAAC,MAAM,CAAC;AACjD,YAAA,MAAM,EAAE;AACN,gBAAA,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,SAAS;AACtC,gBAAA,OAAO,EAAE;AACP,oBAAA,UAAU,EAAE,MAAM;AAClB,oBAAA,SAAS,EAAE,OAAO;AAClB,oBAAA,UAAU,EAAE,8CAA8C;AAC1D,oBAAA,UAAU,EAAE,2BAA2B;AACxC,iBAAA;AACD,gBAAA,QAAQ,EAAE;AACR,oBAAA;AACE,wBAAA,KAAK,EAAE,CAAA,mBAAA,EAAsB,kBAAkB,CAAC,aAAa,CAAA,KAAA,CAAO;AACpE,wBAAA,MAAM,EAAE,CAAA,iCAAA,EAAoC,kBAAkB,CAAC,aAAa,CAAA,MAAA,CAAQ;AACrF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,WAAW,EAAE,IAAI,CAAC,6BAA6B,CAAC;SACjD;AAEA,aAAA,UAAU,CAAC;YACV,GAAG,EAAE,kBAAkB,CAAC,QAAQ;AAChC,YAAA,KAAK,EAAE,IAAI,CAAC,uBAAuB,CAAC;AACpC,YAAA,KAAK,EAAE,GAAG;AACV,YAAA,aAAa,EAAE,EAAE;AACjB,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,YAAY,EAAE,cAAc,CAAC,QAAQ,CAAC,MAAM;AAC5C,YAAA,eAAe,EAAE,wBAAwB,CAAC,IAAI,CAAC;AAC/C,YAAA,MAAM,EAAE;AACN,gBAAA,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,SAAS;AACtC,gBAAA,OAAO,EAAE;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,SAAS,EAAE,OAAO;AAClB,oBAAA,UAAU,EAAE,wCAAwC;AACrD,iBAAA;AACD,gBAAA,QAAQ,EAAE;AACR,oBAAA;AACE,wBAAA,KAAK,EAAE,CAAA,mBAAA,EAAsB,kBAAkB,CAAC,aAAa,CAAA,KAAA,CAAO;AACpE,wBAAA,MAAM,EAAE;4BACN,CAAA,gCAAA,EAAmC,kBAAkB,CAAC,aAAa,CAAA,qCAAA,CAAuC;AAC3G,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,WAAW,EAAE,IAAI,CAAC,6BAA6B,CAAC;SACjD;AACA,aAAA,UAAU,CAAC;YACV,GAAG,EAAE,kBAAkB,CAAC,cAAc;AACtC,YAAA,KAAK,EAAE,IAAI,CAAC,8BAA8B,CAAC;AAC3C,YAAA,KAAK,EAAE,GAAG;AACV,YAAA,aAAa,EAAE,EAAE;AACjB,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,YAAY,EAAE,EAAE;AAChB,YAAA,MAAM,EAAE;AACN,gBAAA,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,SAAS;AACtC,gBAAA,OAAO,EAAE;AACP,oBAAA,MAAM,EAAE,6BAA6B;AACrC,oBAAA,IAAI,EAAE,QAAQ;AACd,oBAAA,QAAQ,EAAE,IAAI;AACd,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,SAAS,EAAE,OAAO;AAClB,oBAAA,MAAM,EAAE;AACN,wBAAA,KAAK,EAAE,IAAI;AACX,wBAAA,OAAO,EAAE;AACP,4BAAA,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;4BAClE,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;AACtD,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,WAAW,EAAE,IAAI,CAAC,oCAAoC,CAAC;SACxD;AACA,aAAA,UAAU,CAAC;YACV,GAAG,EAAE,kBAAkB,CAAC,cAAc;AACtC,YAAA,KAAK,EAAE,IAAI,CAAC,uBAAuB,CAAC;AACpC,YAAA,KAAK,EAAE,GAAG;AACV,YAAA,aAAa,EAAE,EAAE;AACjB,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,YAAY,EAAE,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ;AACnD,YAAA,eAAe,EAAE,wBAAwB,CAAC,OAAO,CAAC;AAClD,YAAA,MAAM,EAAE;AACN,gBAAA,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,SAAS;AACtC,gBAAA,OAAO,EAAE;AACP,oBAAA,UAAU,EAAE,OAAO;AACnB,oBAAA,SAAS,EAAE,MAAM;AACjB,oBAAA,UAAU,EAAE;AACV,wBAAA;AACE,4BAAA,IAAI,EAAE,IAAI,CAAC,kCAAkC,CAAC;AAC9C,4BAAA,KAAK,EAAE,CAAC;AACT,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,IAAI,CAAC,gCAAgC,CAAC;AAC5C,4BAAA,KAAK,EAAE,CAAC;AACT,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,IAAI,CAAC,gCAAgC,CAAC;AAC5C,4BAAA,KAAK,EAAE,CAAC;AACT,yBAAA;AACF,qBAAA;AACD,oBAAA,QAAQ,EAAE;AACR,wBAAA;AACE,4BAAA,KAAK,EAAE,CAAA,mBAAA,EAAsB,kBAAkB,CAAC,aAAa,CAAA,KAAA,CAAO;AACpE,4BAAA,MAAM,EAAE;gCACN,CAAA,gCAAA,EAAmC,kBAAkB,CAAC,aAAa,CAAA,4CAAA,CAA8C;AAClH,6BAAA;AACF,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,WAAW,EAAE,IAAI,CAAC,6BAA6B,CAAC;SACjD;AACA,aAAA,UAAU,CAAC;YACV,GAAG,EAAE,kBAAkB,CAAC,WAAW;AACnC,YAAA,KAAK,EAAE,IAAI,CAAC,uBAAuB,CAAC;AACpC,YAAA,KAAK,EAAE,GAAG;AACV,YAAA,aAAa,EAAE,EAAE;AACjB,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,YAAY,EAAE,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ;AACnD,YAAA,MAAM,EAAE;AACN,gBAAA,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,aAAa;AAC1C,gBAAA,OAAO,EAAE;AACP,oBAAA,QAAQ,EAAE,IAAI;AACd,oBAAA,UAAU,EAAE,OAAO;AACnB,oBAAA,SAAS,EAAE,MAAM;AACjB,oBAAA,UAAU,EAAE;wBACV,EAAE,IAAI,EAAE,IAAI,CAAC,gCAAgC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;wBAC1D,EAAE,IAAI,EAAE,IAAI,CAAC,iCAAiC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;wBAC3D,EAAE,IAAI,EAAE,IAAI,CAAC,mCAAmC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;wBAC7D,EAAE,IAAI,EAAE,IAAI,CAAC,kCAAkC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;wBAC5D,EAAE,IAAI,EAAE,IAAI,CAAC,gCAAgC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;wBAC1D,EAAE,IAAI,EAAE,IAAI,CAAC,kCAAkC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;wBAC5D,EAAE,IAAI,EAAE,IAAI,CAAC,gCAAgC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;AAC3D,qBAAA;AACF,iBAAA;AACD,gBAAA,QAAQ,EAAE;AACR,oBAAA;AACE,wBAAA,KAAK,EAAE,CAAA,mBAAA,EAAsB,kBAAkB,CAAC,aAAa,CAAA,KAAA,CAAO;AACpE,wBAAA,MAAM,EAAE;4BACN,CAAA,gCAAA,EAAmC,kBAAkB,CAAC,aAAa,CAAA,4CAAA,CAA8C;AAClH,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,WAAW,EAAE,IAAI,CAAC,6BAA6B,CAAC;SACjD;AACA,aAAA,UAAU,CAAC;YACV,GAAG,EAAE,kBAAkB,CAAC,oBAAoB;AAC5C,YAAA,KAAK,EAAE,IAAI,CAAC,oCAAoC,CAAC;AACjD,YAAA,KAAK,EAAE,GAAG;AACV,YAAA,aAAa,EAAE,EAAE;AACjB,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,MAAM,EAAE;gBACN,IAAI,EAAE,iBAAiB,CAAC,MAAM;AAC9B,gBAAA,OAAO,EAAE;AACP,oBAAA,KAAK,EAAE,IAAI;AACZ,iBAAA;AACF,aAAA;AACD,YAAA,WAAW,EAAE,IAAI,CAAC,0CAA0C,CAAC;SAC9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyHA,aAAA,UAAU;;AAGV,aAAA,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC;AAClE,aAAA,UAAU,CAAC;YACV,GAAG,EAAE,kBAAkB,CAAC,gBAAgB;AACxC,YAAA,KAAK,EAAE,IAAI,CAAC,yBAAyB,CAAC;AACtC,YAAA,KAAK,EAAE,GAAG;AACV,YAAA,aAAa,EAAE,EAAE;AACjB,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,YAAY,EAAE,cAAc,CAAC,KAAM,CAAC,WAAW;AAC/C,YAAA,eAAe,EAAE,wBAAwB,CAAC,OAAO,CAAC;AAClD,YAAA,MAAM,EAAE;AACN,gBAAA,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,SAAS;AACtC,gBAAA,OAAO,EAAE;AACP,oBAAA,UAAU,EAAE,OAAO;AACnB,oBAAA,SAAS,EAAE,MAAM;oBACjB,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;wBAC/B,IAAI,EAAE,IAAI,CAAC,CAAA,0BAAA,EAA6B,CAAC,CAAC,KAAM,CAAC,WAAW,CAAA,CAAE,CAAC;AAC/D,wBAAA,KAAK,EAAE,CAAC,CAAC,KAAM,CAAC,WAAW;AAC5B,qBAAA,CAAC,CAAC;AACJ,iBAAA;AACD,gBAAA,QAAQ,EAAE;AACR,oBAAA;AACE,wBAAA,KAAK,EAAE,CAAA,mBAAA,EAAsB,kBAAkB,CAAC,aAAa,CAAA,KAAA,CAAO;AACpE,wBAAA,MAAM,EAAE;4BACN,CAAA,gCAAA,EAAmC,kBAAkB,CAAC,aAAa,CAAA,uCAAA,CAAyC;AAC7G,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,WAAW,EAAE,IAAI,CAAC,+BAA+B,CAAC;SACnD;AACA,aAAA,UAAU,CAAC;YACV,GAAG,EAAE,kBAAkB,CAAC,aAAa;AACrC,YAAA,KAAK,EAAE,IAAI,CAAC,sBAAsB,CAAC;AACnC,YAAA,KAAK,EAAE,GAAG;AACV,YAAA,aAAa,EAAE,EAAE;AACjB,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,YAAY,EAAE,cAAc,CAAC,KAAM,CAAC,QAAQ;AAC5C,YAAA,eAAe,EAAE,wBAAwB,CAAC,OAAO,CAAC;AAClD,YAAA,MAAM,EAAE;AACN,gBAAA,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,SAAS;AACtC,gBAAA,OAAO,EAAE;AACP,oBAAA,UAAU,EAAE,OAAO;AACnB,oBAAA,SAAS,EAAE,MAAM;oBACjB,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;wBAC/B,IAAI,EAAE,IAAI,CAAC,CAAA,uBAAA,EAA0B,CAAC,CAAC,KAAM,CAAC,QAAQ,CAAA,CAAE,CAAC;AACzD,wBAAA,KAAK,EAAE,CAAC,CAAC,KAAM,CAAC,QAAQ;AACzB,qBAAA,CAAC,CAAC;AACJ,iBAAA;AACD,gBAAA,QAAQ,EAAE;AACR,oBAAA;AACE,wBAAA,KAAK,EAAE,CAAA,mBAAA,EAAsB,kBAAkB,CAAC,aAAa,CAAA,KAAA,CAAO;AACpE,wBAAA,MAAM,EAAE;4BACN,CAAA,gCAAA,EAAmC,kBAAkB,CAAC,aAAa,CAAA,oCAAA,CAAsC;AAC1G,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,WAAW,EAAE,IAAI,CAAC,4BAA4B,CAAC;SAChD;AACA,aAAA,UAAU,CAAC;YACV,GAAG,EAAE,kBAAkB,CAAC,WAAW;AACnC,YAAA,KAAK,EAAE,IAAI,CAAC,oBAAoB,CAAC;AACjC,YAAA,KAAK,EAAE,GAAG;AACV,YAAA,aAAa,EAAE,EAAE;AACjB,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,YAAY,EAAE,cAAc,CAAC,KAAM,CAAC,MAAM;AAC1C,YAAA,eAAe,EAAE,wBAAwB,CAAC,OAAO,CAAC;AAClD,YAAA,MAAM,EAAE;AACN,gBAAA,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,SAAS;AACtC,gBAAA,OAAO,EAAE;AACP,oBAAA,UAAU,EAAE,OAAO;AACnB,oBAAA,SAAS,EAAE,MAAM;oBACjB,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;wBAC/B,IAAI,EAAE,IAAI,CAAC,CAAA,qBAAA,EAAwB,CAAC,CAAC,KAAM,CAAC,MAAM,CAAA,CAAE,CAAC;AACrD,wBAAA,KAAK,EAAE,CAAC,CAAC,KAAM,CAAC,MAAM;AACvB,qBAAA,CAAC,CAAC;AACJ,iBAAA;AACD,gBAAA,QAAQ,EAAE;AACR,oBAAA;AACE,wBAAA,KAAK,EAAE,CAAA,mBAAA,EAAsB,kBAAkB,CAAC,aAAa,CAAA,KAAA,CAAO;AACpE,wBAAA,MAAM,EAAE;4BACN,CAAA,gCAAA,EAAmC,kBAAkB,CAAC,aAAa,CAAA,kCAAA,CAAoC;AACxG,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,WAAW,EAAE,IAAI,CAAC,0BAA0B,CAAC;SAC9C;AACA,aAAA,UAAU,CAAC;YACV,GAAG,EAAE,kBAAkB,CAAC,WAAW;AACnC,YAAA,KAAK,EAAE,IAAI,CAAC,oBAAoB,CAAC;AACjC,YAAA,KAAK,EAAE,GAAG;AACV,YAAA,aAAa,EAAE,EAAE;AACjB,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,YAAY,EAAE,cAAc,CAAC,KAAM,CAAC,MAAM;AAC1C,YAAA,eAAe,EAAE,wBAAwB,CAAC,OAAO,CAAC;AAClD,YAAA,MAAM,EAAE;AACN,gBAAA,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,SAAS;AACtC,gBAAA,OAAO,EAAE;AACP,oBAAA,UAAU,EAAE,OAAO;AACnB,oBAAA,SAAS,EAAE,MAAM;AACjB,oBAAA,UAAU,EAAE;wBACV,EAAE,IAAI,EAAE,IAAI,CAAC,6BAA6B,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE;wBAC9D,EAAE,IAAI,EAAE,IAAI,CAAC,8BAA8B,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE;AACjE,qBAAA;AACF,iBAAA;AACD,gBAAA,QAAQ,EAAE;AACR,oBAAA;AACE,wBAAA,KAAK,EAAE,CAAA,mBAAA,EAAsB,kBAAkB,CAAC,aAAa,CAAA,KAAA,CAAO;AACpE,wBAAA,MAAM,EAAE;4BACN,CAAA,gCAAA,EAAmC,kBAAkB,CAAC,aAAa,CAAA,kCAAA,CAAoC;AACxG,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,WAAW,EAAE,IAAI,CAAC,0BAA0B,CAAC;SAC9C;AACA,aAAA,UAAU,CAAC;YACV,GAAG,EAAE,kBAAkB,CAAC,UAAU;AAClC,YAAA,KAAK,EAAE,IAAI,CAAC,mBAAmB,CAAC;AAChC,YAAA,KAAK,EAAE,GAAG;AACV,YAAA,aAAa,EAAE,EAAE;AACjB,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,YAAY,EAAE,cAAc,CAAC,KAAM,CAAC,KAAK;AACzC,YAAA,eAAe,EAAE,wBAAwB,CAAC,OAAO,CAAC;AAClD,YAAA,MAAM,EAAE;AACN,gBAAA,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,SAAS;AACtC,gBAAA,OAAO,EAAE;AACP,oBAAA,UAAU,EAAE,OAAO;AACnB,oBAAA,SAAS,EAAE,MAAM;oBACjB,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;wBAC/B,IAAI,EAAE,IAAI,CAAC,CAAA,oBAAA,EAAuB,CAAC,CAAC,KAAM,CAAC,KAAK,CAAA,CAAE,CAAC;AACnD,wBAAA,KAAK,EAAE,CAAC,CAAC,KAAM,CAAC,KAAK;AACtB,qBAAA,CAAC,CAAC;AACJ,iBAAA;AACD,gBAAA,QAAQ,EAAE;AACR,oBAAA;AACE,wBAAA,KAAK,EAAE,CAAA,mBAAA,EAAsB,kBAAkB,CAAC,aAAa,CAAA,KAAA,CAAO;AACpE,wBAAA,MAAM,EAAE;4BACN,CAAA,gCAAA,EAAmC,kBAAkB,CAAC,aAAa,CAAA,iCAAA,CAAmC;AACvG,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,WAAW,EAAE,IAAI,CAAC,yBAAyB,CAAC;SAC7C;AACA,aAAA,UAAU,CAAC;YACV,GAAG,EAAE,kBAAkB,CAAC,SAAS;AACjC,YAAA,KAAK,EAAE,IAAI,CAAC,kBAAkB,CAAC;AAC/B,YAAA,KAAK,EAAE,GAAG;AACV,YAAA,aAAa,EAAE,EAAE;AACjB,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,YAAY,EAAE,cAAc,CAAC,KAAM,CAAC,IAAI;AACxC,YAAA,eAAe,EAAE,wBAAwB,CAAC,OAAO,CAAC;AAClD,YAAA,MAAM,EAAE;AACN,gBAAA,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,SAAS;AACtC,gBAAA,OAAO,EAAE;AACP,oBAAA,UAAU,EAAE,OAAO;AACnB,oBAAA,SAAS,EAAE,MAAM;oBACjB,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;wBAC/B,IAAI,EAAE,IAAI,CAAC,CAAA,mBAAA,EAAsB,CAAC,CAAC,KAAM,CAAC,IAAI,CAAA,CAAE,CAAC;AACjD,wBAAA,KAAK,EAAE,CAAC,CAAC,KAAM,CAAC,IAAI;AACrB,qBAAA,CAAC,CAAC;AACJ,iBAAA;AACD,gBAAA,QAAQ,EAAE;AACR,oBAAA;AACE,wBAAA,KAAK,EAAE,CAAA,mBAAA,EAAsB,kBAAkB,CAAC,aAAa,CAAA,KAAA,CAAO;AACpE,wBAAA,MAAM,EAAE;4BACN,CAAA,gCAAA,EAAmC,kBAAkB,CAAC,aAAa,CAAA,gCAAA,CAAkC;AACtG,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,WAAW,EAAE,IAAI,CAAC,wBAAwB,CAAC;SAC5C;AACA,aAAA,UAAU;AACV,aAAA,QAAQ,EAAE;IACf;8GA5iBW,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAA1B,0BAA0B,EAAA,CAAA,CAAA;;2FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBADtC;;;ACVK,MAAO,wCAAyC,SAAQ,wBAAwB,CAAA;AAAtF,IAAA,WAAA,GAAA;;AACE,QAAA,IAAA,CAAA,QAAQ,GAAsB;AAC5B,YAAA;AACE,gBAAA,EAAE,EAAE,iBAAiB;AACrB,gBAAA,KAAK,EAAE,SAAS;AAChB,gBAAA,KAAK,EAAE,cAAc;AACrB,gBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI;AACxC,gBAAA,WAAW,EAAE,qCAAqC;AAClD,gBAAA,OAAO,EAAE;AACP,oBAAA,IAAI,EAAE,eAAe;AACrB,oBAAA,OAAO,EAAE,0BAA0B,CACjC,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAA,CAAA,EAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,EACjE;AACE,wBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI;AACxC,wBAAA,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI;AAC9B,wBAAA,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK;qBAC3C,CACF;AACF,iBAAA;AACF,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,EAAE,iBAAiB;AACrB,gBAAA,KAAK,EAAE,SAAS;AAChB,gBAAA,KAAK,EAAE,cAAc;AACrB,gBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI;AACxC,gBAAA,WAAW,EAAE,mCAAmC;AAChD,gBAAA,OAAO,EAAE;AACP,oBAAA,IAAI,EAAE,eAAe;AACrB,oBAAA,OAAO,EAAE,0BAA0B,CACjC,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAA,CAAA,EAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,EACjE;AACE,wBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI;AACxC,wBAAA,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI;AAC9B,wBAAA,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK;qBAC3C,CACF;AACF,iBAAA;AACF,aAAA;SACF;IACH;AAAC;;ACtCD;MAGa,4CAA4C,CAAA;AACvD,IAAA,MAAM,KAAK,GAAA;AACT,QAAA,OAAO,8BAA8B;IACvC;8GAHW,4CAA4C,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAA5C,4CAA4C,EAAA,CAAA,CAAA;;2FAA5C,4CAA4C,EAAA,UAAA,EAAA,CAAA;kBADxD;;;AC+BD;AACA,MAAM,mCAAmC,GAAG,CAAA,yBAAA,EAA4B,kBAAkB,CAAC,kBAAkB,0BAA0B;MAiF1H,yBAAyB,CAAA;IACpC,WAAA,CACE,cAAoC,EACpC,QAAkB,EAAA;QAElB,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,uBAAuB,CAAC;QACrD,MAAM,yBAAyB,GAAG,QAAQ,CAAC,GAAG,CAAC,4BAA4B,CAAC;QAC5E,cAAc,CAAC,YAAY,CAAC;AAC1B,YAAA,IAAI,EAAE,mBAAmB;AACzB,YAAA,UAAU,EAAE,2DAA2D;YACvE,QAAQ,EAAE,wBAAwB,CAAC,gBAAgB;YACnD,GAAG,EAAE,YAAW;gBACd,IACE,yBAAyB,CAAC,UAAU,EAAE;oBACtC,yBAAyB,CAAC,yBAAyB,EAAE;AACrD,oBAAA,yBAAyB,CAAC,aAAa,EAAE,EACzC;oBACA;gBACF;AACA,gBAAA,MAAM,OAAO,CAAC,WAAW,EAAE;YAC7B,CAAC;AACF,SAAA,CAAC;IACJ;8GAtBW,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,YA7ElC,YAAY,EAAAA,IAAA,CAAA,sBAAA,CAAA,EAAA,CAAA,CAAA;AA6EH,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,EAAA,SAAA,EAlEzB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,0BAA0B;AACnC,gBAAA,WAAW,EAAE,0BAA0B;AACxC,aAAA;;AAED,YAAA;AACE,gBAAA,OAAO,EAAE,2BAA2B;AACpC,gBAAA,QAAQ,EAAE,+BAA+B;AACzC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,QAAQ,EAAE,0BAA0B;AACrC,aAAA;;AAED,YAAA;AACE,gBAAA,OAAO,EAAE,4BAA4B;AACrC,gBAAA,QAAQ,EAAE,wBAAwB;AAClC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;;AAED,YAAA;AACE,gBAAA,OAAO,EAAE,kCAAkC;AAC3C,gBAAA,QAAQ,EAAE,+CAA+C;AACzD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,QAAQ,EAAE,+BAA+B;AACzC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AAED,YAAA;AACE,gBAAA,OAAO,EAAE,+BAA+B;AACxC,gBAAA,QAAQ,EAAE,0BAA0B;AACpC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,mBAAmB;AAC5B,gBAAA,QAAQ,EAAE,wCAAwC;AAClD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACD,YAAA,kBAAkB,CAAC;AACjB,gBAAA;AACE,oBAAA,GAAG,EAAE,qCAAqC;AAC1C,oBAAA,MAAM,EAAE,MACN,OAAO,2FAA+C,CAAC,CAAC,IAAI,CAC1D,CAAC,CAAC,KAAK,CAAC,CAAC,0BAA0B,CACpC;AACJ,iBAAA;AACD,gBAAA;AACE,oBAAA,GAAG,EAAE,8CAA8C;AACnD,oBAAA,MAAM,EAAE,MACN,OAAO,qGAAyD,CAAC,CAAC,IAAI,CACpE,CAAC,CAAC,KAAK,CAAC,CAAC,mCAAmC,CAC7C;AACJ,iBAAA;aACF,CAAC;AACF,YAAA;AACE,gBAAA,OAAO,EAAE,+BAA+B;AACxC,gBAAA,QAAQ,EAAE,4CAA4C;AACtD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,OAAA,EAAA,CA3EC,YAAY;YACZ,sBAAsB,CAAC,QAAQ,CAAC;AAC9B,gBAAA,iBAAiB,EAAE;AACjB,oBAAA;AACE,wBAAA,IAAI,EAAE,UAAU;AAChB,wBAAA,SAAS,EAAE,wBAAwB;AACnC,wBAAA,SAAS,EAAE,mCAAmC;AAC/C,qBAAA;AACF,iBAAA;aACF,CAAC,CAAA,EAAA,CAAA,CAAA;;2FAoEO,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBA/ErC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,sBAAsB,CAAC,QAAQ,CAAC;AAC9B,4BAAA,iBAAiB,EAAE;AACjB,gCAAA;AACE,oCAAA,IAAI,EAAE,UAAU;AAChB,oCAAA,SAAS,EAAE,wBAAwB;AACnC,oCAAA,SAAS,EAAE,mCAAmC;AAC/C,iCAAA;AACF,6BAAA;yBACF,CAAC;AACH,qBAAA;AACD,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,0BAA0B;AACnC,4BAAA,WAAW,EAAE,0BAA0B;AACxC,yBAAA;;AAED,wBAAA;AACE,4BAAA,OAAO,EAAE,2BAA2B;AACpC,4BAAA,QAAQ,EAAE,+BAA+B;AACzC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,QAAQ,EAAE,0BAA0B;AACrC,yBAAA;;AAED,wBAAA;AACE,4BAAA,OAAO,EAAE,4BAA4B;AACrC,4BAAA,QAAQ,EAAE,wBAAwB;AAClC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;;AAED,wBAAA;AACE,4BAAA,OAAO,EAAE,kCAAkC;AAC3C,4BAAA,QAAQ,EAAE,+CAA+C;AACzD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,QAAQ,EAAE,+BAA+B;AACzC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AAED,wBAAA;AACE,4BAAA,OAAO,EAAE,+BAA+B;AACxC,4BAAA,QAAQ,EAAE,0BAA0B;AACpC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,mBAAmB;AAC5B,4BAAA,QAAQ,EAAE,wCAAwC;AAClD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACD,wBAAA,kBAAkB,CAAC;AACjB,4BAAA;AACE,gCAAA,GAAG,EAAE,qCAAqC;AAC1C,gCAAA,MAAM,EAAE,MACN,OAAO,2FAA+C,CAAC,CAAC,IAAI,CAC1D,CAAC,CAAC,KAAK,CAAC,CAAC,0BAA0B,CACpC;AACJ,6BAAA;AACD,4BAAA;AACE,gCAAA,GAAG,EAAE,8CAA8C;AACnD,gCAAA,MAAM,EAAE,MACN,OAAO,qGAAyD,CAAC,CAAC,IAAI,CACpE,CAAC,CAAC,KAAK,CAAC,CAAC,mCAAmC,CAC7C;AACJ,6BAAA;yBACF,CAAC;AACF,wBAAA;AACE,4BAAA,OAAO,EAAE,+BAA+B;AACxC,4BAAA,QAAQ,EAAE,4CAA4C;AACtD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;AACF,iBAAA;;;ACtHD;;AAEG;;"}
1
+ {"version":3,"file":"acorex-platform-module-locale-management-client.mjs","sources":["../../../../libs/modules/locale-management/client/src/lib/features/shared/regional-store.service.ts","../../../../libs/modules/locale-management/client/src/lib/features/shared/locale-management.service.ts","../../../../libs/modules/locale-management/client/src/lib/features/shared/language-slot/language-slot.component.ts","../../../../libs/modules/locale-management/client/src/lib/features/shared/language-slot/language-slot.component.html","../../../../libs/modules/locale-management/client/src/lib/features/shared/locale-profile-provider.service.ts","../../../../libs/modules/locale-management/client/src/lib/permission-definition.provider.ts","../../../../libs/modules/locale-management/client/src/lib/menu.provider.ts","../../../../libs/modules/locale-management/client/src/lib/settings.provider.ts","../../../../libs/modules/locale-management/client/src/lib/search-command.provider.ts","../../../../libs/modules/locale-management/client/src/lib/context-definition.provider.ts","../../../../libs/modules/locale-management/client/src/lib/locale-management.module.ts","../../../../libs/modules/locale-management/client/src/acorex-platform-module-locale-management-client.ts"],"sourcesContent":["import { AXPPlatformScope, AXPRegionalSetting } from '@acorex-platform/framework-shared/core';\nimport { AXPSettingsService } from '@acorex-platform/framework-client/common';\n\nimport { AXCalendarService } from '@acorex/core/date-time';\nimport { AXLocaleProfile, AXLocaleService } from '@acorex/core/locale';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { inject } from '@angular/core';\nimport { patchState, signalStore, withHooks, withMethods, withState } from '@ngrx/signals';\n\nconst REGIONAL_SETTING_KEYS = [\n AXPRegionalSetting.LocaleProfile,\n AXPRegionalSetting.Language,\n AXPRegionalSetting.Calendar,\n] as const;\n\n// Regional Store - Manages regional settings and system changes\nexport const AXPRegionalStoreService = signalStore(\n { providedIn: 'root' },\n // Initial State\n withState(() => {\n // Initialize with safe defaults - actual values will be loaded via loadSetting()\n const state = {\n profile: null as string | null,\n language: null as string | null,\n calendar: null as string | null,\n };\n return state;\n }),\n\n // Computed Signals\n // withComputed(({ }) => ({\n\n // })),\n\n // Methods for State Management\n withMethods(\n (\n store,\n settingsService = inject(AXPSettingsService),\n localeService = inject(AXLocaleService),\n calendarService = inject(AXCalendarService),\n translateService = inject(AXTranslationService)\n ) => {\n\n const applyChanges = async () => {\n const profile = localeService.activeProfile();\n const html = document.getElementsByTagName('html')[0];\n profile.i18nMeta?.rtl ? html.setAttribute('dir', 'rtl') : html.removeAttribute('dir');\n };\n\n const applyProfileFormats = async (profile: AXLocaleProfile) => {\n const date = profile.formats?.date;\n if (date?.short) {\n await settingsService.scope(AXPPlatformScope.User).set(AXPRegionalSetting.ShortDate, date.short);\n }\n if (date?.medium) {\n await settingsService.scope(AXPPlatformScope.User).set(AXPRegionalSetting.MediumDate, date.medium);\n }\n if (date?.long) {\n await settingsService.scope(AXPPlatformScope.User).set(AXPRegionalSetting.LongDate, date.long);\n }\n const time = profile.formats?.time;\n if (time?.short) {\n await settingsService.scope(AXPPlatformScope.User).set(AXPRegionalSetting.ShortTime, time.short);\n }\n if (time?.medium) {\n await settingsService.scope(AXPPlatformScope.User).set(AXPRegionalSetting.MediumTime, time.medium);\n }\n if (time?.long) {\n await settingsService.scope(AXPPlatformScope.User).set(AXPRegionalSetting.LongTime, time.long);\n }\n };\n\n return {\n async changeProfile(profileCode: string) {\n await localeService.setProfile(profileCode);\n const profile = localeService.activeProfile();\n if (store.profile() != profile.localeInfo.code) {\n settingsService.scope(AXPPlatformScope.User).set(AXPRegionalSetting.LocaleProfile, profile.localeInfo.code);\n settingsService.scope(AXPPlatformScope.User).set(AXPRegionalSetting.Language, profile.localeInfo.code);\n patchState(store, { profile: profile.localeInfo.code });\n }\n await applyProfileFormats(profile);\n await applyChanges();\n },\n /**\n * Applies effective regional settings (user → tenant → platform) to locale, calendar, i18n, and document direction.\n */\n async loadSetting() {\n const profileCode =\n ((await settingsService.get(AXPRegionalSetting.LocaleProfile)) as string) || 'en-US';\n patchState(store, { profile: profileCode });\n const currentProfileCode = localeService.activeProfile()?.localeInfo?.code;\n if (profileCode && profileCode !== currentProfileCode) {\n await localeService.setProfile(profileCode);\n }\n\n const calendar = (await settingsService.get(AXPRegionalSetting.Calendar)) as string | undefined;\n if (calendar) {\n const calendarChanged = store.calendar() !== calendar;\n patchState(store, { calendar });\n if (calendarChanged) {\n calendarService.setActiveCalendar(calendar);\n }\n }\n\n const language = (await settingsService.get(AXPRegionalSetting.Language)) as string | undefined;\n if (language) {\n patchState(store, { language });\n if (translateService.getActiveLang() !== language) {\n translateService.setActiveLang(language);\n }\n }\n\n await applyChanges();\n },\n };\n }\n ),\n withHooks((store, settingsService = inject(AXPSettingsService)) => ({\n onInit() {\n settingsService.onLoaded.subscribe(() => {\n void store.loadSetting();\n });\n settingsService.onChanged.subscribe(async (setting) => {\n if (REGIONAL_SETTING_KEYS.some((k) => setting.keys.includes(k))) {\n await store.loadSetting();\n }\n });\n },\n onDestroy() {},\n })),\n);\n","import { AXPQueryRequest } from '@acorex-platform/framework-shared/core';\nimport {\n AXPLanguage,\n AXPLocaleManagementPort,\n AXPLocaleProfile,\n AXPSettingsService,\n AXPTimeZone,\n resolveEffectiveAvailableLanguageCodes,\n} from '@acorex-platform/framework-client/common';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\n\nimport {\n getLocaleProfileCatalogCodes,\n RootConfig,\n AXMLocaleManagementLanguagesEntityModel,\n AXMLocaleManagementLocalesEntityModel,\n AXMLocaleManagementTimezonesEntityModel,\n} from '@acorex-platform/module-locale-management-client/contracts';\n\n/** Simple cache - timezones are static reference data */\nlet timezonesCache: AXPTimeZone[] | null = null;\n/** Dedupes concurrent bootstrap callers so a failed/slow query cannot storm the API. */\nlet timezonesLoadPromise: Promise<AXPTimeZone[]> | null = null;\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXMLocaleManagementService implements AXPLocaleManagementPort {\n private readonly entityService = inject(AXPEntityService);\n private readonly settingsService = inject(AXPSettingsService);\n private readonly languagesDataAccessor = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.languages.name)\n .data<string, AXMLocaleManagementLanguagesEntityModel>();\n private readonly timezonesDataAccessor = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.timezones.name)\n .data<string, AXMLocaleManagementTimezonesEntityModel>();\n private readonly localesDataAccessor = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.locales.name)\n .data<string, AXMLocaleManagementLocalesEntityModel>();\n\n private activeQuery: AXPQueryRequest = {\n skip: 0,\n take: 1000,\n filter: {\n logic: 'and',\n filters: [\n {\n field: 'isActive',\n operator: {\n type: 'equal',\n },\n value: true,\n },\n ],\n },\n sort: [\n {\n field: 'title',\n dir: 'asc',\n },\n ],\n };\n\n async getLocaleProfiles(): Promise<AXPLocaleProfile[]> {\n const { profiles } = await import('./data/profiles');\n const catalogCodes = getLocaleProfileCatalogCodes();\n if (!catalogCodes?.length) {\n return profiles;\n }\n const allowSet = new Set(catalogCodes);\n const filtered = profiles.filter((profile) => allowSet.has(profile.code));\n return filtered.length > 0 ? filtered : profiles;\n }\n\n async getAvailableLocaleProfiles(): Promise<AXPLocaleProfile[]> {\n const profiles = await this.getLocaleProfiles();\n const allowed = await resolveEffectiveAvailableLanguageCodes(this.settingsService);\n if (allowed.length === 0) {\n return profiles;\n }\n const allowSet = new Set(allowed);\n return profiles.filter((profile) => allowSet.has(profile.code));\n }\n\n async getLanguages(): Promise<AXPLanguage[]> {\n const result = await this.languagesDataAccessor.query(this.activeQuery);\n return result.items.map((c: AXMLocaleManagementLanguagesEntityModel) => ({\n code: c.code,\n title: c.title,\n } as AXPLanguage));\n }\n\n async getLocales(): Promise<AXPLanguage[]> {\n const result = await this.localesDataAccessor.query(this.activeQuery);\n return result.items.map((c: AXMLocaleManagementLocalesEntityModel) => ({\n code: c.code,\n title: c.title,\n } as AXPLanguage));\n }\n\n async getAvailableLanguages(): Promise<AXPLanguage[]> {\n const profiles = await this.getAvailableLocaleProfiles();\n return profiles.map((profile) => ({\n code: profile.code,\n title: profile.title,\n }));\n }\n\n async getTimeZones(): Promise<AXPTimeZone[]> {\n if (timezonesCache) {\n return timezonesCache;\n }\n if (!timezonesLoadPromise) {\n timezonesLoadPromise = this.loadTimeZones().finally(() => {\n timezonesLoadPromise = null;\n });\n }\n return timezonesLoadPromise;\n }\n\n async getBrowserTimeZoneCode(): Promise<string> {\n // Prefer browser IANA zone — no network needed during app bootstrap / login.\n const browserIana =\n typeof Intl !== 'undefined'\n ? Intl.DateTimeFormat().resolvedOptions().timeZone\n : undefined;\n if (browserIana) {\n return browserIana;\n }\n\n try {\n const timeZones = await this.getTimeZones();\n const offsetMinutes = new Date().getTimezoneOffset() * -1;\n const matchedZone = timeZones.find((zone) => zone.offset === offsetMinutes);\n return matchedZone?.code ?? 'UTC';\n } catch {\n return 'UTC';\n }\n }\n\n private async loadTimeZones(): Promise<AXPTimeZone[]> {\n try {\n const result = await this.timezonesDataAccessor.query({\n ...this.activeQuery,\n sort: [{ field: 'standardOffset', dir: 'asc' }],\n });\n const padZero = (value: number) => value.toString().padStart(2, '0');\n const formatOffset = (offset: number) => {\n const sign = offset > 0 ? '+' : '-';\n const hours = padZero(Math.floor(Math.abs(offset) / 60));\n const minutes = padZero(Math.abs(offset % 60));\n return `${sign}${hours}:${minutes}`;\n };\n timezonesCache = result.items.map((c: AXMLocaleManagementTimezonesEntityModel) => ({\n code: c.code,\n title: `${c.title} (${formatOffset(c.standardOffset)})`,\n offset: c.standardOffset,\n iana: c.code,\n abbr: c.abbreviation,\n } as AXPTimeZone));\n return timezonesCache;\n } catch {\n // Do not cache failures — allow retry after login when auth is available.\n return [];\n }\n }\n}\n","import { AXPDeviceService } from '@acorex-platform/framework-client/core';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXPLocaleProfile } from '@acorex-platform/framework-client/common';\n\nimport { ChangeDetectionStrategy, Component, inject, signal } from '@angular/core';\nimport { AXPLayoutThemeService } from '@acorex-platform/framework-client/themes/shared';\nimport { AXPRegionalStoreService } from '../regional-store.service';\nimport { AXMLocaleManagementService } from '../locale-management.service';\n\n@Component({\n imports: [AXDropdownModule, AXDecoratorModule, AXPopoverModule, AXButtonModule],\n templateUrl: './language-slot.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXMLanguageSlotComponent {\n private localeManagementService = inject(AXMLocaleManagementService);\n protected store = inject(AXPRegionalStoreService);\n protected themeStore = inject(AXPLayoutThemeService);\n protected readonly deviceService = inject(AXPDeviceService);\n protected items = signal<AXPLocaleProfile[]>([]);\n\n async ngOnInit() {\n const items = await this.localeManagementService.getAvailableLocaleProfiles();\n this.items.set(items);\n }\n}\n","@if (!deviceService.isSmall()) {\n<ax-button [color]=\"themeStore.headerButtonColor()\" [look]=\"themeStore.headerButtonLook()\">\n <ax-icon class=\"fa-regular fa-globe\"> </ax-icon>\n <ax-dropdown-panel>\n <ax-button-item-list>\n @for(lang of items(); track lang){\n <ax-button-item\n [text]=\"lang.title\"\n [selected]=\"store.profile() === lang.code\"\n (onClick)=\"store.changeProfile(lang.code)\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-flag\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n</ax-button>\n}\n","import { inject, Injectable } from '@angular/core';\nimport { AXLocaleProfile, AXLocaleProfileProvider } from '@acorex/core/locale';\nimport { AXMLocaleManagementService } from './locale-management.service';\n\n/**\n * Custom locale profile provider that integrates with the locale-management module\n * to provide profiles from the platform's data instead of the default UI library profiles\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class AXMLocaleProfileProviderService implements AXLocaleProfileProvider {\n private readonly localeManagementService = inject(AXMLocaleManagementService);\n\n /**\n * Provides locale profiles from the locale-management module\n * This allows the platform to override the default UI library profiles\n */\n async provide(): Promise<Record<string, () => Promise<AXLocaleProfile> | AXLocaleProfile>> {\n try {\n // Get profiles from the locale-management module\n const profiles = await this.localeManagementService.getLocaleProfiles();\n\n // Convert to the format expected by the UI library\n const result: Record<string, () => Promise<AXLocaleProfile> | AXLocaleProfile> = {};\n\n for (const profile of profiles) {\n try {\n // Convert AXPLocaleProfile to AXLocaleProfile (remove platform-specific properties)\n const coreProfile: AXLocaleProfile = {\n localeInfo: profile.localeInfo,\n calendar: profile.calendar,\n formats: profile.formats,\n units: profile.units,\n i18nMeta: profile.i18nMeta,\n };\n\n // Validate that the profile has all required properties\n if (this.isValidProfile(coreProfile)) {\n // Store the profile with lazy loading for better performance\n result[profile.code] = () => Promise.resolve(coreProfile);\n } else {\n console.warn(`[AXMLocaleProfileProviderService] Profile ${profile.code} is missing required properties, skipping`);\n }\n } catch (profileError) {\n console.error(`[AXMLocaleProfileProviderService] Error processing profile ${profile.code}:`, profileError);\n }\n }\n\n if (Object.keys(result).length === 0) {\n console.warn('[AXMLocaleProfileProviderService] No valid profiles found, falling back to default behavior');\n } else {\n //console.log(`[AXMLocaleProfileProviderService] Successfully loaded ${Object.keys(result).length} profiles:`, Object.keys(result));\n }\n\n return result;\n } catch (error) {\n console.error('[AXMLocaleProfileProviderService] Failed to load profiles:', error);\n\n // Fallback to empty result if loading fails\n return {};\n }\n }\n\n /**\n * Validates that a profile has all required properties\n */\n private isValidProfile(profile: any): profile is AXLocaleProfile {\n return (\n profile &&\n profile.localeInfo &&\n profile.calendar &&\n profile.formats &&\n profile.units &&\n typeof profile.localeInfo.code === 'string' &&\n typeof profile.localeInfo.language === 'string'\n );\n }\n\n /**\n * Gets the list of available locale codes from the locale-management module\n * This can be used by other services to check available locales\n */\n async getAvailableLocaleCodes(): Promise<string[]> {\n try {\n const profiles = await this.localeManagementService.getLocaleProfiles();\n return profiles.map(p => p.code);\n } catch (error) {\n console.error('[AXMLocaleProfileProviderService] Failed to get available locale codes:', error);\n return [];\n }\n }\n\n /**\n * Checks if a specific locale is available\n */\n async hasLocale(localeCode: string): Promise<boolean> {\n try {\n const codes = await this.getAvailableLocaleCodes();\n return codes.includes(localeCode);\n } catch (error) {\n console.error(`[AXMLocaleProfileProviderService] Failed to check locale ${localeCode}:`, error);\n return false;\n }\n }\n}\n","//#region ---- Imports ----\n\nimport {\n AXPPermissionDefinitionProvider,\n AXPPermissionDefinitionProviderContext,\n} from '@acorex-platform/framework-client/auth';\nimport {\n AXPCommonPermissionGroupKeys\n} from '@acorex-platform/module-common-client/contracts';\nimport {\n AXPApplicationsPlatformPermissionKeys\n} from '@acorex-platform/module-locale-management-client/contracts';\n\nimport { Injectable } from '@angular/core';\n\n//#endregion\n\n//#region ---- Permission Definition Provider ----\n\n/**\n * Registers MaintainLocales under Applications & Platform.\n */\n@Injectable()\nexport class AXMLocaleManagementPermissionDefinitionProvider implements AXPPermissionDefinitionProvider {\n async define(context: AXPPermissionDefinitionProviderContext): Promise<void> {\n const keys = AXPApplicationsPlatformPermissionKeys;\n const groups = AXPCommonPermissionGroupKeys;\n const P = '@common:applications-platform.permissions';\n const G = '@common:permission-groups';\n\n context.addGroup(groups.ApplicationsPlatform.Root, `${G}.applications-platform.title`, `${G}.applications-platform.description`, { order: 110 });\n\n context\n .addGroup(\n groups.ApplicationsPlatform.Configuration,\n `${G}.applications-platform-configuration.title`,\n `${G}.applications-platform-configuration.description`,\n { parent: groups.ApplicationsPlatform.Root, order: 30 },\n )\n .addPermission(keys.MaintainLocales, `${P}.maintain-locales.title`, `${P}.maintain-locales.description`, {\n modules: ['LocaleManagement'],\n requiredFeatures: ['LocaleManagement'],\n })\n .endPermission()\n .endGroup();\n }\n}\n\n//#endregion\n","import { AXPMenuProvider, AXPMenuProviderContext } from '@acorex-platform/framework-client/common';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { inject } from '@angular/core';\nimport { AXPCommonMenuKeys } from '@acorex-platform/module-common-client/contracts';\nimport { RootConfig } from '@acorex-platform/module-locale-management-client/contracts';\nimport { AXPLocaleManagementMenuKeys } from '@acorex-platform/module-locale-management-client/contracts';\nimport { AXPApplicationsPlatformPermissionKeys } from '@acorex-platform/module-locale-management-client/contracts';\n\nexport class AXMLocaleManagementMenuProvider implements AXPMenuProvider {\n private entityService = inject(AXPEntityService);\n\n async provide(context: AXPMenuProviderContext): Promise<void> {\n const module = RootConfig.module;\n const maintainLocales = AXPApplicationsPlatformPermissionKeys.MaintainLocales;\n\n // Languages under Configuration/Region\n context.find(AXPCommonMenuKeys.Region).addItems([\n {\n name: AXPLocaleManagementMenuKeys.Languages,\n text: '@locale-management:languages.menus.languages.title',\n path: this.entityService.createPath(module.name, RootConfig.entities.languages.name),\n icon: RootConfig.entities.languages.icon,\n priority: 3,\n policy: {\n features: [module.name],\n permissions: [maintainLocales],\n },\n },\n ]);\n\n // Timezones under Configuration/Date and Time\n context.find(AXPCommonMenuKeys.DateAndTime).addItems([\n {\n name: AXPLocaleManagementMenuKeys.Timezones,\n text: '@locale-management:timezones.menus.timezones.title',\n path: this.entityService.createPath(module.name, RootConfig.entities.timezones.name),\n icon: RootConfig.entities.timezones.icon,\n priority: 1,\n policy: {\n features: [module.name],\n permissions: [maintainLocales],\n },\n },\n ]);\n }\n}\n","\nimport { AXPRegionalSetting, AXPWidgetsCatalog, AXPWidgetsList } from '@acorex-platform/framework-shared/core';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport {\n AXPSettingDefinitionProvider,\n AXPSettingDefinitionProviderContext,\n} from '@acorex-platform/framework-client/common';\n\nimport { objectKeyValueTransforms } from '@acorex-platform/framework-client/core';\nimport { Injectable, Injector } from '@angular/core';\n\nimport { AXMLocaleManagementService } from './features/shared/locale-management.service';\n\n@Injectable()\nexport class AXMRegionalSettingProvider implements AXPSettingDefinitionProvider {\n private readonly regionalService = this.injector.get(AXMLocaleManagementService);\n private readonly translateService = this.injector.get(AXTranslationService);\n\n constructor(private injector: Injector) { }\n\n async provide(context: AXPSettingDefinitionProviderContext): Promise<void> {\n const i18n = (key: string) => `@locale-management:settings.settings.regional.${key}`;\n const profiles = await this.regionalService.getLocaleProfiles();\n const defaultProfile = profiles.find((p) => p.code === 'en-US')!;\n const defaultAvailableLanguages = profiles.map((p) => p.code);\n const multipleLanguagesVisibility = `{{ ((await settings.get('${AXPRegionalSetting.AvailableLanguages}')) || []).length > 1 }}`;\n\n context\n .addGroup(\n 'regional-settings',\n i18n('nav-title'),\n i18n('description'),\n 'fa-light fa-earth-americas',\n i18n('title'),\n 30,\n )\n\n // Date & Time Section\n .addSection('date-time', i18n('datetime.title'), i18n('datetime.description'))\n .addSetting({\n key: AXPRegionalSetting.TimeZone,\n title: i18n('datetime.timezone.title'),\n scope: 'T',\n overridableAt: ['U'],\n isInherited: true,\n defaultValue: 'UTC',\n valueTransforms: objectKeyValueTransforms('code'),\n widget: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: 'LocaleManagement.Timezones',\n look: 'select',\n allowSearch: true,\n valueField: 'code',\n textField: 'title',\n filter: {\n logic: 'and',\n filters: [{ field: 'isActive', operator: { type: 'equal' }, value: true }],\n },\n },\n },\n description: i18n('datetime.timezone.description'),\n })\n .endSection()\n\n // Region Section\n .addSection('region', i18n('region.title'), i18n('region.description'))\n .addSetting({\n key: AXPRegionalSetting.AvailableLanguages,\n title: i18n('region.available-languages.title'),\n scope: 'P',\n overridableAt: ['T'],\n isInherited: true,\n defaultValue: defaultAvailableLanguages,\n widget: {\n type: AXPWidgetsList.Editors.SelectionList,\n options: {\n multiple: true,\n valueField: 'code',\n textField: 'title',\n dataSource: 'LocaleManagement:ListLocaleProfiles',\n },\n },\n description: i18n('region.available-languages.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.LocaleProfile,\n title: i18n('region.format.title'),\n scope: 'U',\n overridableAt: [],\n isInherited: true,\n defaultValue: defaultProfile.code,\n valueTransforms: objectKeyValueTransforms('code'),\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'code',\n textField: 'title',\n dataSource: 'LocaleManagement:ListAvailableLocaleProfiles',\n visibility: multipleLanguagesVisibility,\n },\n },\n description: i18n('region.format.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.Language,\n title: i18n('region.language.title'),\n scope: 'U',\n overridableAt: [],\n isInherited: true,\n defaultValue: await this.translateService.getDefaultLang(),\n valueTransforms: objectKeyValueTransforms('code'),\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'code',\n textField: 'title',\n dataSource: 'LocaleManagement:ListAvailableLocaleProfiles',\n visibility: multipleLanguagesVisibility,\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: `{{ widget.setValue(context.eval('${AXPRegionalSetting.LocaleProfile}')) }}`,\n },\n ],\n },\n description: i18n('region.language.description'),\n })\n\n .addSetting({\n key: AXPRegionalSetting.Calendar,\n title: i18n('region.calendar.title'),\n scope: 'U',\n overridableAt: [],\n isInherited: true,\n defaultValue: defaultProfile.calendar.system,\n valueTransforms: objectKeyValueTransforms('id'),\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'id',\n textField: 'title',\n dataSource: 'CalendarManagement:ListCalendarSystems',\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').calendar.system) }}`,\n ],\n },\n ],\n },\n description: i18n('region.calendar.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.CalendarEvents,\n title: i18n('region.calendar-events.title'),\n scope: 'U',\n overridableAt: [],\n isInherited: true,\n defaultValue: [],\n widget: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: 'CalendarManagement.Calendar',\n look: 'select',\n multiple: true,\n valueField: 'id',\n textField: 'title',\n filter: {\n logic: 'or',\n filters: [\n { field: 'isArchived', operator: { type: 'equal' }, value: false },\n { field: 'isArchived', operator: { type: 'isNull' } },\n ],\n },\n },\n },\n description: i18n('region.calendar-events.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.FirstDayOfWeek,\n title: i18n('region.firstday.title'),\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: defaultProfile.calendar.week.startsOn,\n valueTransforms: objectKeyValueTransforms('value'),\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: [\n {\n text: i18n('region.firstday.options.saturday'),\n value: 6,\n },\n {\n text: i18n('region.firstday.options.sunday'),\n value: 0,\n },\n {\n text: i18n('region.firstday.options.monday'),\n value: 1,\n },\n ],\n },\n },\n description: i18n('region.firstday.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.WeekendDays,\n title: i18n('region.workdays.title'),\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: defaultProfile.calendar.week.weekends,\n widget: {\n type: AXPWidgetsList.Editors.SelectionList,\n options: {\n multiple: true,\n valueField: 'value',\n textField: 'text',\n dataSource: [\n { text: i18n('region.workdays.options.monday'), value: 1 },\n { text: i18n('region.workdays.options.tuesday'), value: 2 },\n { text: i18n('region.workdays.options.wednesday'), value: 3 },\n { text: i18n('region.workdays.options.thursday'), value: 4 },\n { text: i18n('region.workdays.options.friday'), value: 5 },\n { text: i18n('region.workdays.options.saturday'), value: 6 },\n { text: i18n('region.workdays.options.sunday'), value: 0 },\n ],\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').calendar.week.weekends) }}`,\n ],\n },\n ],\n },\n description: i18n('region.workdays.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.MultiLanguageSupport,\n title: i18n('region.multilanguage-support.title'),\n scope: 'T',\n overridableAt: [],\n isInherited: true,\n defaultValue: false,\n widget: {\n type: AXPWidgetsCatalog.toggle,\n options: {\n label: null,\n },\n },\n description: i18n('region.multilanguage-support.description'),\n })\n // .addSetting({\n // key: AXPRegionalSetting.ShortDate,\n // title: i18n('region.shortdate.title'),\n // scope: 'U',\n // isInherited: true,\n // defaultValue: defaultProfile.formats.date.medium,\n // valueTransforms: objectKeyValueTransforms('value'),\n // widget: {\n // type: AXPWidgetsList.Editors.SelectBox,\n // options: {\n // valueField: 'value',\n // textField: 'text',\n // dataSource: await Promise.all(\n // profiles.map(async (c) => ({\n // text: `${c.formats.date.medium} (${await this.formatService.format(new Date(), 'datetime', { format: c.formats.date.medium })})`,\n // value: c.formats.date.medium,\n // })),\n // ),\n // },\n // triggers: [\n // {\n // event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n // action: [\n // `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').formats.date.short) }}`,\n // ],\n // },\n // ],\n // },\n // description: i18n('region.shortdate.description'),\n // })\n // .addSetting({\n // key: AXPRegionalSetting.LongDate,\n // title: i18n('region.longdate.title'),\n // scope: 'U',\n // isInherited: true,\n // defaultValue: defaultProfile.formats.date.long,\n // valueTransforms: objectKeyValueTransforms('value'),\n // widget: {\n // type: AXPWidgetsList.Editors.SelectBox,\n // options: {\n // valueField: 'value',\n // textField: 'text',\n // dataSource: await Promise.all(\n // profiles.map(async (c) => ({\n // text: `${c.formats.date.long} (${await this.formatService.format(new Date(), 'datetime', { format: c.formats.date.long })})`,\n // value: c.formats.date.long,\n // })),\n // ),\n // },\n // triggers: [\n // {\n // event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n // action: [\n // `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').formats.date.long) }}`,\n // ],\n // },\n // ],\n // },\n // description: i18n('region.longdate.description'),\n // })\n // .addSetting({\n // key: AXPRegionalSetting.ShortTime,\n // title: i18n('region.shorttime.title'),\n // scope: 'U',\n // isInherited: true,\n // defaultValue: defaultProfile.formats.time.short,\n // valueTransforms: objectKeyValueTransforms('value'),\n // widget: {\n // type: AXPWidgetsList.Editors.SelectBox,\n // options: {\n // valueField: 'value',\n // textField: 'text',\n // dataSource: await Promise.all(\n // profiles.map(async (c) => ({\n // text: `${c.formats.time.short} (${await this.formatService.format(new Date(), 'datetime', { format: c.formats.time.short })})`,\n // value: c.formats.time.short,\n // })),\n // ),\n // },\n // triggers: [\n // {\n // event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n // action: [\n // `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').formats.time.short) }}`,\n // ],\n // },\n // ],\n // },\n // description: i18n('region.shorttime.description'),\n // })\n // .addSetting({\n // key: AXPRegionalSetting.LongTime,\n // title: i18n('region.longtime.title'),\n // scope: 'U',\n // isInherited: true,\n // defaultValue: defaultProfile.formats.time.long,\n // valueTransforms: objectKeyValueTransforms('value'),\n // widget: {\n // type: AXPWidgetsList.Editors.SelectBox,\n // options: {\n // valueField: 'value',\n // textField: 'text',\n // dataSource: await Promise.all(\n // profiles.map(async (c) => ({\n // text: `${c.formats.time.long} (${await this.formatService.format(new Date(), 'datetime', { format: c.formats.time.long })})`,\n // value: c.formats.time.long,\n // })),\n // ),\n // },\n // triggers: [\n // {\n // event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n // action: [\n // `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').formats.time.long) }}`,\n // ],\n // },\n // ],\n // },\n // description: i18n('region.longtime.description'),\n // })\n .endSection()\n\n // Unit Settings Section\n .addSection('units', i18n('units.title'), i18n('units.description'))\n .addSetting({\n key: AXPRegionalSetting.TemperatureUnits,\n title: i18n('units.temperature.title'),\n scope: 'U',\n overridableAt: [],\n isInherited: true,\n defaultValue: defaultProfile.units!.temperature,\n valueTransforms: objectKeyValueTransforms('value'),\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: profiles.map((c) => ({\n text: i18n(`units.temperature.options.${c.units!.temperature}`),\n value: c.units!.temperature,\n })),\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').units.temperature) }}`,\n ],\n },\n ],\n },\n description: i18n('units.temperature.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.DistanceUnits,\n title: i18n('units.distance.title'),\n scope: 'U',\n overridableAt: [],\n isInherited: true,\n defaultValue: defaultProfile.units!.distance,\n valueTransforms: objectKeyValueTransforms('value'),\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: profiles.map((c) => ({\n text: i18n(`units.distance.options.${c.units!.distance}`),\n value: c.units!.distance,\n })),\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').units.distance) }}`,\n ],\n },\n ],\n },\n description: i18n('units.distance.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.WeightUnits,\n title: i18n('units.weight.title'),\n scope: 'U',\n overridableAt: [],\n isInherited: true,\n defaultValue: defaultProfile.units!.weight,\n valueTransforms: objectKeyValueTransforms('value'),\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: profiles.map((c) => ({\n text: i18n(`units.weight.options.${c.units!.weight}`),\n value: c.units!.weight,\n })),\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').units.weight) }}`,\n ],\n },\n ],\n },\n description: i18n('units.weight.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.VolumeUnits,\n title: i18n('units.volume.title'),\n scope: 'U',\n overridableAt: [],\n isInherited: true,\n defaultValue: defaultProfile.units!.volume,\n valueTransforms: objectKeyValueTransforms('value'),\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: [\n { text: i18n('units.volume.options.liters'), value: 'liters' },\n { text: i18n('units.volume.options.gallons'), value: 'gallons' },\n ],\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').units.volume) }}`,\n ],\n },\n ],\n },\n description: i18n('units.volume.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.SpeedUnits,\n title: i18n('units.speed.title'),\n scope: 'U',\n overridableAt: [],\n isInherited: true,\n defaultValue: defaultProfile.units!.speed,\n valueTransforms: objectKeyValueTransforms('value'),\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: profiles.map((c) => ({\n text: i18n(`units.speed.options.${c.units!.speed}`),\n value: c.units!.speed,\n })),\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').units.speed) }}`,\n ],\n },\n ],\n },\n description: i18n('units.speed.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.AreaUnits,\n title: i18n('units.area.title'),\n scope: 'U',\n overridableAt: [],\n isInherited: true,\n defaultValue: defaultProfile.units!.area,\n valueTransforms: objectKeyValueTransforms('value'),\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: profiles.map((c) => ({\n text: i18n(`units.area.options.${c.units!.area}`),\n value: c.units!.area,\n })),\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').units.area) }}`,\n ],\n },\n ],\n },\n description: i18n('units.area.description'),\n })\n .endSection()\n .endGroup();\n }\n}\n","import { AXPSearchCommandProvider, AXPSearchResult, createEntityCommandOptions } from '@acorex-platform/framework-client/common';\nimport { RootConfig } from '@acorex-platform/module-locale-management-client/contracts';\n\nexport class AXMLocaleManagementSearchCommandProvider extends AXPSearchCommandProvider {\n commands: AXPSearchResult[] = [\n {\n id: 'create-language',\n group: 'command',\n title: 'New Language',\n icon: RootConfig.entities.languages.icon,\n description: 'Create a new language with locales.',\n command: {\n name: 'Entity:Create',\n options: createEntityCommandOptions(\n `${RootConfig.module.name}.${RootConfig.entities.languages.name}`,\n {\n name: RootConfig.entities.languages.name,\n module: RootConfig.module.name,\n title: RootConfig.entities.languages.title,\n }\n ),\n },\n },\n {\n id: 'create-timezone',\n group: 'command',\n title: 'New Timezone',\n icon: RootConfig.entities.timezones.icon,\n description: 'Create a new timezone definition.',\n command: {\n name: 'Entity:Create',\n options: createEntityCommandOptions(\n `${RootConfig.module.name}.${RootConfig.entities.timezones.name}`,\n {\n name: RootConfig.entities.timezones.name,\n module: RootConfig.module.name,\n title: RootConfig.entities.timezones.title,\n }\n ),\n },\n },\n ];\n}\n","import { Injectable } from '@angular/core';\nimport type { AXPContextDefinition, AXPContextDefinitionProvider } from '@acorex-platform/framework-client/core';\nimport { AXM_LOCALE_CONTEXT_DEFINITIONS } from '@acorex-platform/module-locale-management-client/contracts';\n\n//#region ---- Locale & regional context definitions ----\n\n@Injectable()\nexport class AXMLocaleManagementContextDefinitionProvider implements AXPContextDefinitionProvider {\n async items(): Promise<AXPContextDefinition[]> {\n return AXM_LOCALE_CONTEXT_DEFINITIONS;\n }\n}\n\n//#endregion\n","import { Injector, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {\n AXP_CONTEXT_DEFINITION_PROVIDER,\n AXPAppStartUpService,\n AXP_APP_STARTUP_PRIORITY,\n} from '@acorex-platform/framework-client/core';\nimport { provideQuerySetups } from '@acorex-platform/framework-client/runtime';\n\nimport { AXPComponentSlotModule } from '@acorex-platform/framework-client/core';\nimport { AXMLanguageSlotComponent } from './features/shared/language-slot/language-slot.component';\nimport { AXPRegionalStoreService } from './features/shared/regional-store.service';\nimport {\n AXP_LOCALE_MANAGEMENT_PORT,\n AXP_MENU_PROVIDER,\n AXP_SEARCH_PROVIDER,\n AXP_SETTING_DEFINITION_PROVIDER,\n AXPPlatformSettingsLoadState,\n AXPRegionalCalendarService,\n} from '@acorex-platform/framework-client/common';\nimport { AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex-platform/framework-client/auth';\nimport { AXPRegionalSetting } from '@acorex-platform/framework-shared/core';\n\n// Locale Profile Provider Integration\nimport { AX_LOCALE_PROFILE_PROVIDERS } from '@acorex/core/locale';\nimport { AXMLocaleProfileProviderService } from './features/shared/locale-profile-provider.service';\nimport { AXMLocaleManagementPermissionDefinitionProvider } from './permission-definition.provider';\nimport { AXMLocaleManagementMenuProvider } from './menu.provider';\n\nimport { AXMRegionalSettingProvider } from './settings.provider';\nimport { AXMLocaleManagementSearchCommandProvider } from './search-command.provider';\nimport { AXMLocaleManagementService } from './features/shared/locale-management.service';\nimport { AXMLocaleManagementContextDefinitionProvider } from './context-definition.provider';\nimport { AXCalendarService } from '@acorex/core/date-time';\n\n/** Hide the header language switch when the tenant allow-list has at most one profile. */\nconst LANGUAGE_SLOT_VISIBLE_WHEN_MULTIPLE = `{{ ((await settings.get('${AXPRegionalSetting.AvailableLanguages}')) || []).length > 1 }}`;\n\n@NgModule({\n imports: [\n CommonModule,\n AXPComponentSlotModule.forChild({\n 'root-header-end': [\n {\n name: 'language',\n component: AXMLanguageSlotComponent,\n condition: LANGUAGE_SLOT_VISIBLE_WHEN_MULTIPLE,\n },\n ],\n }),\n ],\n providers: [\n {\n provide: AXP_LOCALE_MANAGEMENT_PORT,\n useExisting: AXMLocaleManagementService,\n },\n // Module-specific providers (not part of manifest system)\n {\n provide: AX_LOCALE_PROFILE_PROVIDERS,\n useClass: AXMLocaleProfileProviderService,\n multi: true,\n },\n {\n provide: AXCalendarService,\n useClass: AXPRegionalCalendarService,\n },\n // Provider references (now using tokens)\n {\n provide: AXP_PERMISSION_DEFINITION_PROVIDER,\n useClass: AXMLocaleManagementPermissionDefinitionProvider,\n multi: true,\n },\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMLocaleManagementMenuProvider,\n multi: true,\n },\n \n {\n provide: AXP_SETTING_DEFINITION_PROVIDER,\n useClass: AXMRegionalSettingProvider,\n multi: true,\n },\n {\n provide: AXP_SEARCH_PROVIDER,\n useClass: AXMLocaleManagementSearchCommandProvider,\n multi: true,\n },\n provideQuerySetups([\n {\n key: 'LocaleManagement:ListLocaleProfiles',\n loader: () =>\n import('./features/queries/list-locale-profiles.query').then(\n (c) => c.AXMListLocaleProfilesQuery,\n ),\n },\n {\n key: 'LocaleManagement:ListAvailableLocaleProfiles',\n loader: () =>\n import('./features/queries/list-available-locale-profiles.query').then(\n (c) => c.AXMListAvailableLocaleProfilesQuery,\n ),\n },\n ]),\n {\n provide: AXP_CONTEXT_DEFINITION_PROVIDER,\n useClass: AXMLocaleManagementContextDefinitionProvider,\n multi: true,\n },\n ],\n})\nexport class AXMLocaleManagementModule {\n constructor(\n appInitService: AXPAppStartUpService,\n injector: Injector\n ) {\n const service = injector.get(AXPRegionalStoreService);\n const platformSettingsLoadState = injector.get(AXPPlatformSettingsLoadState);\n appInitService.registerTask({\n name: 'regional-settings',\n statusText: '@locale-management:app-startup.applying-regional-settings',\n priority: AXP_APP_STARTUP_PRIORITY.regionalSettings,\n run: async () => {\n if (\n platformSettingsLoadState.hasFailure() ||\n platformSettingsLoadState.hasPendingOfflineContinue() ||\n platformSettingsLoadState.isOfflineMode()\n ) {\n return;\n }\n await service.loadSetting();\n },\n });\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acorex-platform/module-locale-management-client",
3
- "version": "0.0.38",
3
+ "version": "0.0.46",
4
4
  "sideEffects": false,
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^21.0.0 || ^22.0.0",
@@ -1,4 +1,4 @@
1
- import { AXPContextDefinition } from '@acorex-platform/framework-shared/core';
1
+ import { AXPContextDefinition, AXPModuleManifest } from '@acorex-platform/framework-shared/core';
2
2
  import { AXPEntityModel } from '@acorex-platform/framework-shared/entity';
3
3
 
4
4
  declare const AXM_LOCALE_CONTEXT_DEFINITIONS: AXPContextDefinition[];
@@ -89,6 +89,12 @@ declare const RootConfig: {
89
89
  };
90
90
  };
91
91
 
92
+ /**
93
+ * Locale Management Module Manifest.
94
+ * Defines module metadata, features, and provider references.
95
+ */
96
+ declare const LocaleManagementManifest: AXPModuleManifest;
97
+
92
98
  interface AXMLocaleManagementLanguagesEntityModel extends AXPEntityModel<string> {
93
99
  code: string;
94
100
  title: string;
@@ -122,5 +128,5 @@ interface AXMLocaleManagementTimezonesEntityModel extends AXPEntityModel<string>
122
128
  updatedAt: Date;
123
129
  }
124
130
 
125
- export { AXMPermissionsKeys, AXM_LOCALE_CONTEXT_DEFINITIONS, AXPApplicationsPlatformPermissionKeys, AXPLocaleManagementMenuKeys, RootConfig, configureLocaleProfileCatalogCodes, getLocaleProfileCatalogCodes };
131
+ export { AXMPermissionsKeys, AXM_LOCALE_CONTEXT_DEFINITIONS, AXPApplicationsPlatformPermissionKeys, AXPLocaleManagementMenuKeys, LocaleManagementManifest, RootConfig, configureLocaleProfileCatalogCodes, getLocaleProfileCatalogCodes };
126
132
  export type { AXMLocaleManagementLanguagesEntityModel, AXMLocaleManagementLocalesEntityModel, AXMLocaleManagementTimezonesEntityModel };
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-platform-module-locale-management-client-contracts-entity-catalog-languages.entity-DRZszos9.mjs","sources":["../../../../libs/modules/locale-management/contracts/src/entities/languages/languages.entity.ts"],"sourcesContent":["import { AXPWidgetsCatalog } from '@acorex-platform/framework-shared/core';\nimport { AXPEntity, createAllQueryView, entityDetailsCreateActions, entityDetailsSimpleCondition, entityMasterCrudActions, entityMasterRecordActions } from '@acorex-platform/framework-shared/entity';\nimport { RootConfig } from '../../root-config';\n\nexport async function languagesFactory(): Promise<AXPEntity | null> {\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.languages.name,\n title: RootConfig.entities.languages.title,\n icon: RootConfig.entities.languages.icon,\n formats: {\n individual: RootConfig.entities.languages.title,\n plural: RootConfig.entities.languages.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: '{{ nativeTitle }}',\n },\n },\n relatedEntities: [\n {\n entity: `${RootConfig.module.name}.${RootConfig.entities.locales.name}`,\n title: RootConfig.entities.locales.title,\n columns: ['code', 'title', 'countryCode', 'isDefault', 'isActive'],\n conditions: [\n entityDetailsSimpleCondition('languageId')\n ],\n actions: [\n entityDetailsCreateActions('languageId'),\n ],\n },\n ],\n plugins: [\n { name: 'archive' },\n ],\n groups: [\n {\n id: 'basic-info',\n title: '@general:terms.interface.basic-info',\n },\n {\n id: 'settings',\n title: '@general:terms.interface.settings',\n },\n ],\n properties: [\n {\n name: 'code',\n title: '@general:terms.common.code',\n groupId: 'basic-info',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n options: {\n placeholder: 'e.g., en, es, fr',\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'title',\n title: '@general:terms.common.title',\n groupId: 'basic-info',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n options: {\n placeholder: 'e.g., English, Spanish',\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'nativeTitle',\n title: '@locale-management:languages.entities.language.fields.native-title',\n groupId: 'basic-info',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n options: {\n placeholder: 'e.g., English, Español',\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'isRTL',\n title: '@locale-management:languages.entities.language.fields.is-rtl',\n groupId: 'settings',\n options: {\n filter: {\n advance: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'boolean',\n interface: {\n type: AXPWidgetsCatalog.toggle,\n options: {\n trulyText: '@general:terms.common.text-direction.rtl',\n falsyText: '@general:terms.common.text-direction.ltr',\n },\n },\n },\n },\n ],\n columns: [\n { name: 'code', options: { width: '100px', order: 1 } },\n { name: 'title', options: { width: '200px', order: 2 } },\n { name: 'nativeTitle', options: { width: '200px', order: 3 } },\n { name: 'isRTL', options: { width: '80px', order: 4 } },\n ],\n interfaces: {\n master: {\n create: {\n sections: [{ id: 'basic-info' }, { id: 'settings' }],\n properties: [\n { name: 'code', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'nativeTitle', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },\n { name: 'isRTL', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },\n ],\n },\n update: {\n sections: [{ id: 'basic-info' }, { id: 'settings' }],\n properties: [\n { name: 'code', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'nativeTitle', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },\n { name: 'isRTL', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },\n ],\n },\n single: {\n title: RootConfig.entities.languages.title,\n sections: [{ id: 'basic-info' }, { id: 'settings' }],\n properties: [\n { name: 'code', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'nativeTitle', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },\n { name: 'isRTL', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },\n ],\n actions: [\n ...entityMasterRecordActions(),\n ],\n },\n list: {\n actions: [\n ...entityMasterCrudActions(),\n ],\n views: [\n createAllQueryView({\n sorts: [{ name: 'title', dir: 'asc' }],\n }),\n ],\n },\n },\n },\n };\n\n return entityDef;\n}"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-platform-module-locale-management-client-contracts-entity-catalog-locales.entity-DZFu6qeI.mjs","sources":["../../../../libs/modules/locale-management/contracts/src/entities/locales/locales.entity.ts"],"sourcesContent":["import { AXPWidgetsCatalog } from '@acorex-platform/framework-shared/core';\nimport { AXPEntity, AXPEntityCommandScope, createAllQueryView, entityMasterCrudActions, entityMasterRecordActions } from '@acorex-platform/framework-shared/entity';\nimport { RootConfig } from '../../root-config';\n\nexport async function localesFactory(): Promise<AXPEntity | null> {\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.locales.name,\n title: RootConfig.entities.locales.title,\n formats: {\n individual: RootConfig.entities.locales.title,\n plural: RootConfig.entities.locales.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: '{{ code }}',\n },\n },\n plugins: [\n { name: 'archive' },\n { name: 'default' },\n ],\n groups: [\n {\n id: 'basic-info',\n title: '@general:terms.interface.basic-info',\n },\n ],\n properties: [\n {\n name: 'languageId',\n title: '@locale-management:locales.entities.locale.fields.language',\n groupId: 'basic-info',\n options: {\n filter: {\n advance: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'object',\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.languages.name}`,\n expose: [\n { source: 'id', target: 'language.id' },\n { source: 'title', target: 'language.title' }\n ]\n }\n }\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'code',\n title: '@general:terms.common.code',\n groupId: 'basic-info',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n options: {\n placeholder: 'e.g., en-US, es-MX',\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'title',\n title: '@general:terms.common.title',\n groupId: 'basic-info',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n options: {\n placeholder: 'e.g., English (United States)',\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'countryCode',\n title: '@locale-management:locales.entities.locale.fields.country-code',\n groupId: 'basic-info',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n options: {\n placeholder: 'e.g., US, MX',\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n ],\n columns: [\n { name: 'code', options: { width: '120px', order: 1 } },\n { name: 'title', options: { width: '250px', order: 2 } },\n { name: 'countryCode', options: { width: '100px', order: 3 } },\n ],\n interfaces: {\n master: {\n create: {\n sections: [{ id: 'basic-info' }],\n properties: [\n // NOTE: languageId is NOT included here - it's passed via context\n { name: 'code', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'countryCode', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },\n ],\n },\n update: {\n sections: [{ id: 'basic-info' }],\n properties: [\n // NOTE: languageId is NOT included here - it's immutable in update\n { name: 'code', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'countryCode', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },\n ],\n },\n single: {\n title: RootConfig.entities.locales.title,\n sections: [{ id: 'basic-info' }],\n actions: [\n ...entityMasterRecordActions(),\n {\n title: '@general:actions.edit.title',\n command: 'Entity:Edit',\n priority: 'primary',\n type: 'update',\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n },\n list: {\n actions: [\n ...entityMasterCrudActions(),\n {\n title: '@general:actions.edit.title',\n command: 'Entity:Edit',\n priority: 'secondary',\n type: 'update',\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n views: [\n createAllQueryView({\n sorts: [{ name: 'title', dir: 'asc' }],\n }),\n ],\n },\n },\n },\n };\n\n return entityDef;\n}"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-platform-module-locale-management-client-contracts-entity-catalog-timezones.entity-CpQC5lS7.mjs","sources":["../../../../libs/modules/locale-management/contracts/src/entities/timezones/timezones.entity.ts"],"sourcesContent":["import { AXPWidgetsCatalog } from '@acorex-platform/framework-shared/core';\nimport { AXPEntity, createAllQueryView, entityMasterCrudActions, entityMasterRecordActions } from '@acorex-platform/framework-shared/entity';\nimport { RootConfig } from '../../root-config';\n\nexport async function timezonesFactory(): Promise<AXPEntity | null> {\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.timezones.name,\n title: RootConfig.entities.timezones.title,\n icon: RootConfig.entities.timezones.icon,\n formats: {\n individual: RootConfig.entities.timezones.title,\n plural: RootConfig.entities.timezones.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: '{{ code }}',\n },\n },\n plugins: [\n { name: 'archive' },\n ],\n groups: [\n {\n id: 'basic-info',\n title: '@general:terms.interface.basic-info',\n },\n {\n id: 'settings',\n title: '@general:terms.interface.settings',\n },\n ],\n properties: [\n {\n name: 'code',\n title: '@general:terms.common.code',\n groupId: 'basic-info',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n options: {\n placeholder: 'e.g., America/New_York',\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'title',\n title: '@general:terms.common.title',\n groupId: 'basic-info',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n options: {\n placeholder: 'e.g., Eastern Standard Time',\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'abbreviation',\n title: '@locale-management:timezones.entities.timezone.fields.abbreviation',\n groupId: 'basic-info',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n options: {\n placeholder: 'e.g., EST, PST',\n },\n },\n },\n },\n {\n name: 'standardOffset',\n title: '@locale-management:timezones.entities.timezone.fields.standard-offset',\n groupId: 'basic-info',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'number',\n interface: {\n type: AXPWidgetsCatalog.number,\n options: {\n placeholder: 'Offset in minutes from UTC',\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'region',\n title: '@locale-management:timezones.entities.timezone.fields.region',\n groupId: 'basic-info',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n options: {\n placeholder: 'e.g., Americas, Europe',\n },\n },\n },\n },\n {\n name: 'supportsDST',\n title: '@locale-management:timezones.entities.timezone.fields.supports-dst',\n groupId: 'settings',\n options: {\n filter: {\n advance: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'boolean',\n interface: {\n type: AXPWidgetsCatalog.toggle,\n },\n },\n },\n ],\n columns: [\n { name: 'code', options: { width: '200px', order: 1 } },\n { name: 'title', options: { width: '250px', order: 2 } },\n { name: 'abbreviation', options: { width: '100px', order: 3 } },\n { name: 'standardOffset', options: { width: '120px', order: 4 } },\n { name: 'supportsDST', options: { width: '80px', order: 5 } },\n ],\n interfaces: {\n master: {\n create: {\n sections: [{ id: 'basic-info' }, { id: 'settings' }],\n properties: [\n { name: 'code', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'abbreviation', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },\n { name: 'standardOffset', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },\n { name: 'region', layout: { positions: { lg: { colSpan: 12, order: 5 } } } },\n { name: 'supportsDST', layout: { positions: { lg: { colSpan: 6, order: 6 } } } },\n ],\n },\n update: {\n sections: [{ id: 'basic-info' }, { id: 'settings' }],\n properties: [\n { name: 'code', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'abbreviation', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },\n { name: 'standardOffset', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },\n { name: 'region', layout: { positions: { lg: { colSpan: 12, order: 5 } } } },\n { name: 'supportsDST', layout: { positions: { lg: { colSpan: 6, order: 6 } } } },\n ],\n },\n single: {\n title: RootConfig.entities.timezones.title,\n sections: [{ id: 'basic-info' }, { id: 'settings' }],\n properties: [\n { name: 'code', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'abbreviation', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },\n { name: 'standardOffset', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },\n { name: 'region', layout: { positions: { lg: { colSpan: 12, order: 5 } } } },\n { name: 'supportsDST', layout: { positions: { lg: { colSpan: 6, order: 6 } } } },\n ],\n actions: [\n ...entityMasterRecordActions(),\n ],\n },\n list: {\n actions: [\n ...entityMasterCrudActions(),\n ],\n views: [\n createAllQueryView({\n sorts: [{ name: 'region', dir: 'asc' }, { name: 'title', dir: 'asc' }],\n }),\n ],\n },\n },\n },\n };\n\n return entityDef;\n}"],"names":[],"mappings":"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"}