@onecx/integration-interface 8.0.0-rc.4 → 8.0.0-rc.7

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 (115) hide show
  1. package/README.md +13 -7
  2. package/migrations/index.js +3 -6
  3. package/migrations/index.js.map +1 -1
  4. package/migrations/v5/warn-for-events-publisher-navigated.js +5 -8
  5. package/migrations/v5/warn-for-events-publisher-navigated.js.map +1 -1
  6. package/migrations/v5/warn-for-events-topic-navigated.js +8 -11
  7. package/migrations/v5/warn-for-events-topic-navigated.js.map +1 -1
  8. package/migrations/v6/migrate-onecx-to-v6.js +3 -6
  9. package/migrations/v6/migrate-onecx-to-v6.js.map +1 -1
  10. package/package.json +9 -5
  11. package/src/index.d.ts +9 -0
  12. package/src/index.js +53 -47
  13. package/src/index.js.map +1 -1
  14. package/src/lib/declarations.d.ts +5 -0
  15. package/src/lib/declarations.js +2 -0
  16. package/src/lib/declarations.js.map +1 -0
  17. package/src/lib/models/shell-capability.model.d.ts +11 -0
  18. package/src/lib/models/shell-capability.model.js +8 -0
  19. package/src/lib/models/shell-capability.model.js.map +1 -0
  20. package/src/lib/services/dynamic-translation.service.d.ts +87 -0
  21. package/src/lib/services/dynamic-translation.service.js +275 -0
  22. package/src/lib/services/dynamic-translation.service.js.map +1 -0
  23. package/src/lib/services/icon.service.d.ts +15 -0
  24. package/src/lib/services/icon.service.js +50 -0
  25. package/src/lib/services/icon.service.js.map +1 -0
  26. package/src/lib/services/image-repository.service.js +5 -9
  27. package/src/lib/services/image-repository.service.js.map +1 -1
  28. package/src/lib/topics/configuration/v1/configuration.topic.js +2 -6
  29. package/src/lib/topics/configuration/v1/configuration.topic.js.map +1 -1
  30. package/src/lib/topics/current-location/v1/current-location.model.js +0 -2
  31. package/src/lib/topics/current-location/v1/current-location.topic.js +2 -6
  32. package/src/lib/topics/current-location/v1/current-location.topic.js.map +1 -1
  33. package/src/lib/topics/current-mfe/v1/current-mfe.topic.js +2 -6
  34. package/src/lib/topics/current-mfe/v1/current-mfe.topic.js.map +1 -1
  35. package/src/lib/topics/current-mfe/v1/mfe-info.model.js +0 -2
  36. package/src/lib/topics/current-page/v1/current-page.topic.js +8 -12
  37. package/src/lib/topics/current-page/v1/current-page.topic.js.map +1 -1
  38. package/src/lib/topics/current-page/v1/page-info.model.js +0 -2
  39. package/src/lib/topics/current-theme/v1/current-theme.topic.js +2 -6
  40. package/src/lib/topics/current-theme/v1/current-theme.topic.js.map +1 -1
  41. package/src/lib/topics/current-theme/v1/theme-override.model.d.ts +8 -0
  42. package/src/lib/topics/current-theme/v1/theme-override.model.js +6 -0
  43. package/src/lib/topics/current-theme/v1/theme-override.model.js.map +1 -0
  44. package/src/lib/topics/current-theme/v1/theme.model.d.ts +2 -0
  45. package/src/lib/topics/current-theme/v1/theme.model.js +0 -2
  46. package/src/lib/topics/current-workspace/v1/current-workspace.topic.js +2 -6
  47. package/src/lib/topics/current-workspace/v1/current-workspace.topic.js.map +1 -1
  48. package/src/lib/topics/current-workspace/v1/endpoint.model.js +0 -2
  49. package/src/lib/topics/current-workspace/v1/mfe-portal-registration.model.js +0 -2
  50. package/src/lib/topics/current-workspace/v1/route.model.js +0 -2
  51. package/src/lib/topics/current-workspace/v1/workspace.model.js +0 -2
  52. package/src/lib/topics/dynamic-translations/v1/dynamic-translations.model.d.ts +15 -0
  53. package/src/lib/topics/dynamic-translations/v1/dynamic-translations.model.js +6 -0
  54. package/src/lib/topics/dynamic-translations/v1/dynamic-translations.model.js.map +1 -0
  55. package/src/lib/topics/dynamic-translations/v1/dynamic-translations.topic.d.ts +6 -0
  56. package/src/lib/topics/dynamic-translations/v1/dynamic-translations.topic.js +7 -0
  57. package/src/lib/topics/dynamic-translations/v1/dynamic-translations.topic.js.map +1 -0
  58. package/src/lib/topics/events/v1/event-type.js +2 -5
  59. package/src/lib/topics/events/v1/event-type.js.map +1 -1
  60. package/src/lib/topics/events/v1/events-topic.js +2 -6
  61. package/src/lib/topics/events/v1/events-topic.js.map +1 -1
  62. package/src/lib/topics/events/v1/navigated-event-payload.js +0 -2
  63. package/src/lib/topics/events/v1/navigated-event-type.js +0 -2
  64. package/src/lib/topics/events/v1/topic-event-type.js +0 -2
  65. package/src/lib/topics/global-error/v1/global-error.topic.js +2 -6
  66. package/src/lib/topics/global-error/v1/global-error.topic.js.map +1 -1
  67. package/src/lib/topics/global-loading/v1/global-loading.topic.js +2 -6
  68. package/src/lib/topics/global-loading/v1/global-loading.topic.js.map +1 -1
  69. package/src/lib/topics/icons/v1/icon.model.d.ts +15 -0
  70. package/src/lib/topics/icons/v1/icon.model.js +1 -0
  71. package/src/lib/topics/icons/v1/icon.model.js.map +1 -0
  72. package/src/lib/topics/icons/v1/icon.topic.d.ts +5 -0
  73. package/src/lib/topics/icons/v1/icon.topic.js +7 -0
  74. package/src/lib/topics/icons/v1/icon.topic.js.map +1 -0
  75. package/src/lib/topics/image-repository/image-repository.model.js +0 -2
  76. package/src/lib/topics/image-repository/image-repository.topic.js +2 -6
  77. package/src/lib/topics/image-repository/image-repository.topic.js.map +1 -1
  78. package/src/lib/topics/is-authenticated/v1/isAuthenticated.topic.js +2 -6
  79. package/src/lib/topics/is-authenticated/v1/isAuthenticated.topic.js.map +1 -1
  80. package/src/lib/topics/message/v1/message.model.js +0 -2
  81. package/src/lib/topics/message/v1/message.topic.js +2 -6
  82. package/src/lib/topics/message/v1/message.topic.js.map +1 -1
  83. package/src/lib/topics/parameters/v1/parameters.topic.js +2 -6
  84. package/src/lib/topics/parameters/v1/parameters.topic.js.map +1 -1
  85. package/src/lib/topics/permissions/v1/permissions.topic.js +2 -6
  86. package/src/lib/topics/permissions/v1/permissions.topic.js.map +1 -1
  87. package/src/lib/topics/permissions-rpc/v1/permissions-rpc.model.js +0 -2
  88. package/src/lib/topics/permissions-rpc/v1/permissions-rpc.topic.js +2 -6
  89. package/src/lib/topics/permissions-rpc/v1/permissions-rpc.topic.js.map +1 -1
  90. package/src/lib/topics/remote-components/v1/remote-component.model.js +2 -5
  91. package/src/lib/topics/remote-components/v1/remote-component.model.js.map +1 -1
  92. package/src/lib/topics/remote-components/v1/remote-components-info.model.js +0 -2
  93. package/src/lib/topics/remote-components/v1/remote-components.topic.js +2 -6
  94. package/src/lib/topics/remote-components/v1/remote-components.topic.js.map +1 -1
  95. package/src/lib/topics/remote-components/v1/slot.model.js +0 -2
  96. package/src/lib/topics/resized-events/v1/resized-event-type.js +2 -5
  97. package/src/lib/topics/resized-events/v1/resized-event-type.js.map +1 -1
  98. package/src/lib/topics/resized-events/v1/resized-events.topic.js +9 -13
  99. package/src/lib/topics/resized-events/v1/resized-events.topic.js.map +1 -1
  100. package/src/lib/topics/resized-events/v1/resized-update-requested-type.js +0 -2
  101. package/src/lib/topics/resized-events/v1/slot-groups-resized-type.js +0 -2
  102. package/src/lib/topics/resized-events/v1/slots-resized-type.js +0 -2
  103. package/src/lib/topics/resized-events/v1/topic-resized-event-type.js +0 -2
  104. package/src/lib/topics/user-profile/v1/user-profile.model.js +2 -5
  105. package/src/lib/topics/user-profile/v1/user-profile.model.js.map +1 -1
  106. package/src/lib/topics/user-profile/v1/user-profile.topic.js +2 -6
  107. package/src/lib/topics/user-profile/v1/user-profile.topic.js.map +1 -1
  108. package/src/lib/utils/logger.utils.js +2 -5
  109. package/src/lib/utils/logger.utils.js.map +1 -1
  110. package/src/lib/utils/shell-capability.utils.d.ts +2 -0
  111. package/src/lib/utils/shell-capability.utils.js +4 -0
  112. package/src/lib/utils/shell-capability.utils.js.map +1 -0
  113. package/src/version.d.ts +2 -0
  114. package/src/version.js +3 -0
  115. package/src/version.js.map +1 -0
@@ -0,0 +1,275 @@
1
+ import { filter, first, map, of } from 'rxjs';
2
+ import { ensureProperty } from '@onecx/accelerator';
3
+ import { rcompare, satisfies, valid } from 'semver';
4
+ import { DynamicTranslationsTopic, } from '../topics/dynamic-translations/v1/dynamic-translations.topic';
5
+ import { DynamicTranslationsMessageType, } from '../topics/dynamic-translations/v1/dynamic-translations.model';
6
+ import { LIB_NAME } from '../../version';
7
+ import { createLogger } from '../utils/logger.utils';
8
+ import { ShellCapability } from '../models/shell-capability.model';
9
+ import { hasShellCapability } from '../utils/shell-capability.utils';
10
+ /**
11
+ * Cache key used for translation contexts without an explicit version.
12
+ */
13
+ export const UNVERSIONED_KEY = 'undefined';
14
+ /**
15
+ * Returns the shared dynamic translations cache stored on `globalThis`.
16
+ *
17
+ * @returns Mutable cache object used by dynamic translation resolution.
18
+ */
19
+ export function getDynamicTranslationsCache() {
20
+ const global = ensureProperty(globalThis, [LIB_NAME, 'dynamicTranslationsCache'], {});
21
+ return global[LIB_NAME].dynamicTranslationsCache;
22
+ }
23
+ /**
24
+ * Resolves dynamic translations from a shared cache and topic-based shell communication.
25
+ *
26
+ * The service returns cached values immediately when possible and requests missing
27
+ * translations via `dynamicTranslationsTopic$` when needed.
28
+ */
29
+ export class DynamicTranslationService {
30
+ logger = createLogger('DynamicTranslationService');
31
+ _dynamicTranslationsTopic$;
32
+ /**
33
+ * Topic used to request and receive dynamic translations.
34
+ */
35
+ get dynamicTranslationsTopic$() {
36
+ this._dynamicTranslationsTopic$ ??= new DynamicTranslationsTopic();
37
+ return this._dynamicTranslationsTopic$;
38
+ }
39
+ set dynamicTranslationsTopic$(source) {
40
+ this._dynamicTranslationsTopic$ = source;
41
+ }
42
+ /**
43
+ * Returns translations for the given locale and contexts.
44
+ *
45
+ * The method first attempts to resolve from cache, requests missing entries,
46
+ * and waits for a `RECEIVED` message when data is still pending.
47
+ *
48
+ * @param locale Target locale (for example `en`, `de`).
49
+ * @param contexts Translation contexts to resolve.
50
+ * @returns An observable emitting a context-keyed translation map.
51
+ */
52
+ getTranslations(locale, contexts) {
53
+ this.logger.debug('getTranslations', { locale, contexts });
54
+ const safeContexts = contexts.filter((context) => this.isSafeContext(context));
55
+ if (safeContexts.length !== contexts.length) {
56
+ this.logger.debug('Skipping unsafe translation contexts', { locale, contexts });
57
+ }
58
+ if (!this.isSafeCacheKey(locale)) {
59
+ this.logger.debug('Skipping dynamic translation resolution for unsafe locale key', { locale });
60
+ return of(this.createEmptyRecords(safeContexts));
61
+ }
62
+ if (!hasShellCapability(ShellCapability.DYNAMIC_TRANSLATIONS_TOPIC)) {
63
+ this.logger.debug('Shell does not support dynamic translations, returning empty records');
64
+ return of(this.createEmptyRecords(safeContexts));
65
+ }
66
+ const cache = getDynamicTranslationsCache();
67
+ ensureProperty(cache, [locale], {});
68
+ const { missing, pending } = this.categorizeContexts(locale, safeContexts);
69
+ this.logger.debug('Categorized contexts', { missing, pending });
70
+ if (missing.length > 0) {
71
+ this.logger.debug('Marking contexts as requested and publishing request', { missing });
72
+ this.markContextsAsRequested(cache, locale, missing);
73
+ this.requestTranslations(locale, missing);
74
+ }
75
+ if (this.hasIncompleteContexts(missing, pending)) {
76
+ this.logger.debug('Waiting for translations', { missing, pending });
77
+ return this.waitForTranslations(locale, safeContexts);
78
+ }
79
+ const result = this.collectTranslations(locale, safeContexts);
80
+ this.logger.debug('Collected translations', { translations: result.translations });
81
+ return of(result.translations);
82
+ }
83
+ createEmptyRecords(contexts) {
84
+ const emptyRecords = {};
85
+ for (const context of contexts) {
86
+ const contextKey = this.getContextKey(context);
87
+ emptyRecords[contextKey] = {};
88
+ }
89
+ return emptyRecords;
90
+ }
91
+ categorizeContexts(locale, contexts) {
92
+ const missing = [];
93
+ const pending = [];
94
+ for (const context of contexts) {
95
+ const cachedVersion = this.findMatchingVersion(locale, context.name, context.version);
96
+ this.logger.debug('Context version match result', { context, cachedVersion });
97
+ if (cachedVersion === null) {
98
+ this.logger.debug('Context marked as null (no translations)', { context });
99
+ continue;
100
+ }
101
+ if (cachedVersion === undefined) {
102
+ this.logger.debug('Context missing in cache', { context });
103
+ missing.push(context);
104
+ }
105
+ else if (cachedVersion.value === undefined) {
106
+ this.logger.debug('Context pending (requested but not received)', { context });
107
+ pending.push(context);
108
+ }
109
+ }
110
+ return { missing, pending };
111
+ }
112
+ findMatchingVersion(locale, contextName, requestedVersion) {
113
+ const contextCache = this.getContextCache(locale, contextName);
114
+ if (!contextCache) {
115
+ return undefined;
116
+ }
117
+ const versions = Object.keys(contextCache);
118
+ if (versions.length === 0) {
119
+ return undefined;
120
+ }
121
+ const normalizedVersion = requestedVersion || UNVERSIONED_KEY;
122
+ if (!requestedVersion || requestedVersion === UNVERSIONED_KEY) {
123
+ return this.getFirstAvailableVersion(contextCache, versions);
124
+ }
125
+ return this.findBestMatchingVersion(contextCache, versions, normalizedVersion);
126
+ }
127
+ getContextCache(locale, contextName) {
128
+ if (!this.isSafeCacheKey(locale) || !this.isSafeCacheKey(contextName)) {
129
+ return undefined;
130
+ }
131
+ const cache = getDynamicTranslationsCache();
132
+ const localeCache = cache[locale];
133
+ if (!localeCache || !Object.hasOwn(localeCache, contextName)) {
134
+ return undefined;
135
+ }
136
+ return localeCache[contextName];
137
+ }
138
+ getFirstAvailableVersion(contextCache, versions) {
139
+ const firstVersion = versions[0];
140
+ return { value: contextCache[firstVersion], version: firstVersion };
141
+ }
142
+ findBestMatchingVersion(contextCache, versions, requestedVersion) {
143
+ if (contextCache[requestedVersion] !== undefined) {
144
+ this.logger.debug('Exact version match found in cache', { requestedVersion });
145
+ return { value: contextCache[requestedVersion], version: requestedVersion };
146
+ }
147
+ const semanticMatch = this.findSemanticVersionMatch(contextCache, versions, requestedVersion);
148
+ if (semanticMatch) {
149
+ this.logger.debug('Semantic version match found', { requestedVersion, matchedVersion: semanticMatch.version });
150
+ return semanticMatch;
151
+ }
152
+ const nullCheck = this.checkForNullTranslations(contextCache, versions);
153
+ const hasNullMatch = nullCheck === null;
154
+ if (hasNullMatch) {
155
+ this.logger.debug('Found null translations check result', { requestedVersion });
156
+ }
157
+ else {
158
+ this.logger.debug('No match found', { requestedVersion });
159
+ }
160
+ return nullCheck;
161
+ }
162
+ findSemanticVersionMatch(contextCache, versions, requestedVersion) {
163
+ const satisfyingVersions = versions
164
+ .filter((v) => v !== UNVERSIONED_KEY && valid(v) !== null && this.satisfiesVersion(v, requestedVersion))
165
+ .sort(rcompare);
166
+ if (satisfyingVersions.length > 0) {
167
+ const bestMatch = satisfyingVersions[0];
168
+ return { value: contextCache[bestMatch], version: bestMatch };
169
+ }
170
+ return undefined;
171
+ }
172
+ satisfiesVersion(availableVersion, requestedVersion) {
173
+ try {
174
+ return satisfies(availableVersion, requestedVersion, { includePrerelease: true });
175
+ }
176
+ catch {
177
+ return false;
178
+ }
179
+ }
180
+ checkForNullTranslations(contextCache, versions) {
181
+ const hasNullTranslation = versions.some((version) => contextCache[version] === null);
182
+ return hasNullTranslation ? null : undefined;
183
+ }
184
+ markContextsAsRequested(cache, locale, contexts) {
185
+ this.logger.debug('Marking contexts as requested', { locale, contexts });
186
+ for (const context of contexts) {
187
+ if (!this.isSafeContext(context)) {
188
+ this.logger.debug('Skipping unsafe context key while marking as requested', { locale, context });
189
+ continue;
190
+ }
191
+ ensureProperty(cache, [locale, context.name], {});
192
+ cache[locale][context.name][context.version ?? UNVERSIONED_KEY] = undefined;
193
+ this.logger.debug('Marked context as requested', { locale, context });
194
+ }
195
+ }
196
+ isSafeContext(context) {
197
+ return this.isSafeCacheKey(context.name) && this.isSafeCacheKey(context.version);
198
+ }
199
+ isSafeCacheKey(key) {
200
+ if (!key) {
201
+ return true;
202
+ }
203
+ return key !== '__proto__' && key !== 'prototype' && key !== 'constructor';
204
+ }
205
+ requestTranslations(locale, contexts) {
206
+ const message = {
207
+ type: DynamicTranslationsMessageType.REQUESTED,
208
+ locale,
209
+ contexts: contexts.map(({ name, version }) => ({ name, version })),
210
+ };
211
+ this.logger.debug('Publishing translation request message', { message });
212
+ this.dynamicTranslationsTopic$.publish(message);
213
+ }
214
+ hasIncompleteContexts(missing, pending) {
215
+ return missing.length > 0 || pending.length > 0;
216
+ }
217
+ waitForTranslations(locale, contexts) {
218
+ this.logger.debug('Starting to wait for translations', { locale, contexts });
219
+ return this.dynamicTranslationsTopic$.pipe(filter((msg) => {
220
+ const isReceived = msg.type === DynamicTranslationsMessageType.RECEIVED;
221
+ this.logger.debug('Received message', { type: msg.type, isReceived });
222
+ return isReceived;
223
+ }), map(() => {
224
+ const result = this.collectTranslations(locale, contexts);
225
+ this.logger.debug('Collected after message', { complete: result.complete });
226
+ return result;
227
+ }), filter((result) => result.complete), map((result) => {
228
+ this.logger.debug('Translations complete, returning', { contextCount: Object.keys(result.translations).length });
229
+ return result.translations;
230
+ }), first());
231
+ }
232
+ collectTranslations(locale, contexts) {
233
+ const translations = {};
234
+ let complete = true;
235
+ for (const context of contexts) {
236
+ const match = this.findMatchingVersion(locale, context.name, context.version);
237
+ if (this.shouldSkipContext(match)) {
238
+ this.logger.debug('Skipping context (null)', { context });
239
+ continue;
240
+ }
241
+ if (this.isContextIncomplete(match)) {
242
+ this.logger.debug('Context incomplete', { context });
243
+ complete = false;
244
+ continue;
245
+ }
246
+ this.addContextTranslations(translations, context, match);
247
+ }
248
+ this.logger.debug('Collection complete', { complete, contextCount: Object.keys(translations).length });
249
+ return { translations, complete };
250
+ }
251
+ shouldSkipContext(match) {
252
+ return match === null;
253
+ }
254
+ isContextIncomplete(match) {
255
+ return match?.value === undefined;
256
+ }
257
+ addContextTranslations(target, context, match) {
258
+ const matchedValue = match?.value;
259
+ if (matchedValue !== null && matchedValue !== undefined) {
260
+ const contextKey = this.getContextKey(context);
261
+ target[contextKey] = matchedValue;
262
+ this.logger.debug('Added context translations', { contextKey, translationKeys: Object.keys(matchedValue) });
263
+ }
264
+ }
265
+ getContextKey(context) {
266
+ return context.version ? `${context.name}@${context.version}` : context.name;
267
+ }
268
+ /**
269
+ * Releases topic resources held by this service instance.
270
+ */
271
+ destroy() {
272
+ this.dynamicTranslationsTopic$.destroy();
273
+ }
274
+ }
275
+ //# sourceMappingURL=dynamic-translation.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-translation.service.js","sourceRoot":"","sources":["../../../../../../libs/integration-interface/src/lib/services/dynamic-translation.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { IconClassType } from '../topics/icons/v1/icon.model';
2
+ import { IconTopic } from '../topics/icons/v1/icon.topic';
3
+ import '../declarations';
4
+ export declare function ensureIconCache(): void;
5
+ export declare function generateClassName(name: string, classType: IconClassType): string;
6
+ export declare function normalizeIconName(name: string): string;
7
+ export declare class IconService {
8
+ private _iconTopic$;
9
+ get iconTopic(): IconTopic;
10
+ set iconTopic(source: IconTopic);
11
+ constructor();
12
+ requestIcon(name: string, classType?: IconClassType): string;
13
+ requestIconAsync(name: string, classType?: IconClassType): Promise<string | null>;
14
+ destroy(): void;
15
+ }
@@ -0,0 +1,50 @@
1
+ import { filter, firstValueFrom, map } from 'rxjs';
2
+ import { IconTopic } from '../topics/icons/v1/icon.topic';
3
+ import { ensureProperty } from '@onecx/accelerator';
4
+ import '../declarations';
5
+ const DEFAULT_CLASS_TYPE = 'background-before';
6
+ export function ensureIconCache() {
7
+ ensureProperty(globalThis, ['onecxIcons'], {});
8
+ }
9
+ export function generateClassName(name, classType) {
10
+ const safeName = normalizeIconName(name);
11
+ return `onecx-theme-icon-${classType}-${safeName}`;
12
+ }
13
+ export function normalizeIconName(name) {
14
+ return name.replaceAll(/[^a-zA-Z0-9_-]+/g, '-');
15
+ }
16
+ export class IconService {
17
+ _iconTopic$;
18
+ get iconTopic() {
19
+ this._iconTopic$ ??= new IconTopic();
20
+ return this._iconTopic$;
21
+ }
22
+ set iconTopic(source) {
23
+ this._iconTopic$ = source;
24
+ }
25
+ constructor() {
26
+ ensureIconCache();
27
+ }
28
+ requestIcon(name, classType = DEFAULT_CLASS_TYPE) {
29
+ const className = generateClassName(name, classType);
30
+ if (globalThis.onecxIcons && !(name in globalThis.onecxIcons)) {
31
+ ensureProperty(globalThis, ['onecxIcons', name], undefined);
32
+ this.iconTopic.publish({ type: 'IconRequested', name });
33
+ }
34
+ return className;
35
+ }
36
+ async requestIconAsync(name, classType = DEFAULT_CLASS_TYPE) {
37
+ const className = this.requestIcon(name, classType);
38
+ const cached = globalThis.onecxIcons?.[name];
39
+ if (cached === null)
40
+ return null;
41
+ if (cached)
42
+ return className;
43
+ await firstValueFrom(this.iconTopic.pipe(filter(e => e.type === 'IconsReceived'), map(() => globalThis.onecxIcons?.[name]), filter(v => v !== undefined)));
44
+ return globalThis.onecxIcons?.[name] ? className : null;
45
+ }
46
+ destroy() {
47
+ this.iconTopic.destroy();
48
+ }
49
+ }
50
+ //# sourceMappingURL=icon.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon.service.js","sourceRoot":"","sources":["../../../../../../libs/integration-interface/src/lib/services/icon.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAEnD,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,iBAAiB,CAAC;AAEzB,MAAM,kBAAkB,GAAkB,mBAAmB,CAAA;AAG7D,MAAM,UAAU,eAAe;IAC7B,cAAc,CAAC,UAAU,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,CAAA;AAChD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,SAAwB;IACtE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAA;IACxC,OAAO,oBAAoB,SAAS,IAAI,QAAQ,EAAE,CAAA;AACpD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAA;AACjD,CAAC;AAGD,MAAM,OAAO,WAAW;IAEd,WAAW,CAAwB;IAC3C,IAAI,SAAS;QACX,IAAI,CAAC,WAAW,KAAK,IAAI,SAAS,EAAE,CAAA;QACpC,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IACD,IAAI,SAAS,CAAC,MAAiB;QAC7B,IAAI,CAAC,WAAW,GAAG,MAAM,CAAA;IAC3B,CAAC;IAED;QACE,eAAe,EAAE,CAAA;IACnB,CAAC;IAED,WAAW,CAAC,IAAY,EAAE,YAA2B,kBAAkB;QACrE,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;QAEpD,IAAI,UAAU,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9D,cAAc,CAAC,UAAU,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,SAAS,CAAC,CAAA;YAC3D,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAA;QACzD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,IAAY,EACZ,YAA2B,kBAAkB;QAE7C,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;QAEnD,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAA;QAC5C,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;QAChC,IAAI,MAAM;YAAE,OAAO,SAAS,CAAA;QAE5B,MAAM,cAAc,CAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CACjB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,EACvC,GAAG,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,EACxC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAC7B,CACF,CAAA;QAED,OAAO,UAAU,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAA;IACzD,CAAC;IAED,OAAO;QACL,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;CACF"}
@@ -1,12 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ImageRepositoryService = void 0;
4
- const rxjs_1 = require("rxjs");
5
- const image_repository_topic_1 = require("../topics/image-repository/image-repository.topic");
6
- class ImageRepositoryService {
1
+ import { firstValueFrom } from "rxjs";
2
+ import { ImageRepositoryTopic } from "../topics/image-repository/image-repository.topic";
3
+ export class ImageRepositoryService {
7
4
  _imageRepositoryTopic$;
8
5
  get imageRepositoryTopic() {
9
- this._imageRepositoryTopic$ ??= new image_repository_topic_1.ImageRepositoryTopic();
6
+ this._imageRepositoryTopic$ ??= new ImageRepositoryTopic();
10
7
  return this._imageRepositoryTopic$;
11
8
  }
12
9
  set imageRepositoryTopic(source) {
@@ -16,7 +13,7 @@ class ImageRepositoryService {
16
13
  if (!names || names.length === 0) {
17
14
  return fallbackUrl;
18
15
  }
19
- const imagePaths = await (0, rxjs_1.firstValueFrom)(this.imageRepositoryTopic.asObservable());
16
+ const imagePaths = await firstValueFrom(this.imageRepositoryTopic.asObservable());
20
17
  const urls = imagePaths.images || {};
21
18
  const isUrlListEmpty = Object.entries(urls).length === 0;
22
19
  if (isUrlListEmpty) {
@@ -33,5 +30,4 @@ class ImageRepositoryService {
33
30
  this.imageRepositoryTopic.destroy();
34
31
  }
35
32
  }
36
- exports.ImageRepositoryService = ImageRepositoryService;
37
33
  //# sourceMappingURL=image-repository.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"image-repository.service.js","sourceRoot":"","sources":["../../../../../../libs/integration-interface/src/lib/services/image-repository.service.ts"],"names":[],"mappings":";;;AAAA,+BAAsC;AACtC,8FAAyF;AAEzF,MAAa,sBAAsB;IACvB,sBAAsB,CAAmC;IAEjE,IAAI,oBAAoB;QACpB,IAAI,CAAC,sBAAsB,KAAK,IAAI,6CAAoB,EAAE,CAAA;QAC1D,OAAO,IAAI,CAAC,sBAAsB,CAAA;IACtC,CAAC;IACD,IAAI,oBAAoB,CAAC,MAA4B;QACjD,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAA;IACxC,CAAC;IAID,KAAK,CAAC,MAAM,CAAC,KAAe,EAAE,WAAoB;QAC9C,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,WAAW,CAAC;QACvB,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,IAAA,qBAAc,EAAC,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,CAAC,CAAC;QAClF,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,IAAI,EAAE,CAAC;QACrC,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;QACzD,IAAI,cAAc,EAAE,CAAC;YACjB,OAAO,WAAW,CAAC;QACvB,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;QACL,CAAC;QACD,OAAO,WAAW,CAAC;IACvB,CAAC;IAED,OAAO;QACH,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC;IACxC,CAAC;CACJ;AAlCD,wDAkCC"}
1
+ {"version":3,"file":"image-repository.service.js","sourceRoot":"","sources":["../../../../../../libs/integration-interface/src/lib/services/image-repository.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,mDAAmD,CAAC;AAEzF,MAAM,OAAO,sBAAsB;IACvB,sBAAsB,CAAmC;IAEjE,IAAI,oBAAoB;QACpB,IAAI,CAAC,sBAAsB,KAAK,IAAI,oBAAoB,EAAE,CAAA;QAC1D,OAAO,IAAI,CAAC,sBAAsB,CAAA;IACtC,CAAC;IACD,IAAI,oBAAoB,CAAC,MAA4B;QACjD,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAA;IACxC,CAAC;IAID,KAAK,CAAC,MAAM,CAAC,KAAe,EAAE,WAAoB;QAC9C,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,WAAW,CAAC;QACvB,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,CAAC,CAAC;QAClF,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,IAAI,EAAE,CAAC;QACrC,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;QACzD,IAAI,cAAc,EAAE,CAAC;YACjB,OAAO,WAAW,CAAC;QACvB,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;QACL,CAAC;QACD,OAAO,WAAW,CAAC;IACvB,CAAC;IAED,OAAO;QACH,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC;IACxC,CAAC;CACJ"}
@@ -1,11 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ConfigurationTopic = void 0;
4
- const accelerator_1 = require("@onecx/accelerator");
5
- class ConfigurationTopic extends accelerator_1.Topic {
1
+ import { Topic } from '@onecx/accelerator';
2
+ export class ConfigurationTopic extends Topic {
6
3
  constructor() {
7
4
  super('configuration', 1);
8
5
  }
9
6
  }
10
- exports.ConfigurationTopic = ConfigurationTopic;
11
7
  //# sourceMappingURL=configuration.topic.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"configuration.topic.js","sourceRoot":"","sources":["../../../../../../../../libs/integration-interface/src/lib/topics/configuration/v1/configuration.topic.ts"],"names":[],"mappings":";;;AAAA,oDAA0C;AAM1C,MAAa,kBAAmB,SAAQ,mBAAa;IACnD;QACE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAA;IAC3B,CAAC;CACF;AAJD,gDAIC"}
1
+ {"version":3,"file":"configuration.topic.js","sourceRoot":"","sources":["../../../../../../../../libs/integration-interface/src/lib/topics/configuration/v1/configuration.topic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAM1C,MAAM,OAAO,kBAAmB,SAAQ,KAAa;IACnD;QACE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAA;IAC3B,CAAC;CACF"}
@@ -1,3 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
1
  //# sourceMappingURL=current-location.model.js.map
@@ -1,11 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CurrentLocationTopic = void 0;
4
- const accelerator_1 = require("@onecx/accelerator");
5
- class CurrentLocationTopic extends accelerator_1.Topic {
1
+ import { Topic } from '@onecx/accelerator';
2
+ export class CurrentLocationTopic extends Topic {
6
3
  constructor() {
7
4
  super('currentLocation', 1);
8
5
  }
9
6
  }
10
- exports.CurrentLocationTopic = CurrentLocationTopic;
11
7
  //# sourceMappingURL=current-location.topic.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"current-location.topic.js","sourceRoot":"","sources":["../../../../../../../../libs/integration-interface/src/lib/topics/current-location/v1/current-location.topic.ts"],"names":[],"mappings":";;;AAAA,oDAA0C;AAG1C,MAAa,oBAAqB,SAAQ,mBAAkC;IAC1E;QACE,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAA;IAC7B,CAAC;CACF;AAJD,oDAIC"}
1
+ {"version":3,"file":"current-location.topic.js","sourceRoot":"","sources":["../../../../../../../../libs/integration-interface/src/lib/topics/current-location/v1/current-location.topic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAG1C,MAAM,OAAO,oBAAqB,SAAQ,KAAkC;IAC1E;QACE,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAA;IAC7B,CAAC;CACF"}
@@ -1,11 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CurrentMfeTopic = void 0;
4
- const accelerator_1 = require("@onecx/accelerator");
5
- class CurrentMfeTopic extends accelerator_1.Topic {
1
+ import { Topic } from '@onecx/accelerator';
2
+ export class CurrentMfeTopic extends Topic {
6
3
  constructor() {
7
4
  super('currentMfe', 1);
8
5
  }
9
6
  }
10
- exports.CurrentMfeTopic = CurrentMfeTopic;
11
7
  //# sourceMappingURL=current-mfe.topic.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"current-mfe.topic.js","sourceRoot":"","sources":["../../../../../../../../libs/integration-interface/src/lib/topics/current-mfe/v1/current-mfe.topic.ts"],"names":[],"mappings":";;;AAAA,oDAA0C;AAG1C,MAAa,eAAgB,SAAQ,mBAAc;IACjD;QACE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAA;IACxB,CAAC;CACF;AAJD,0CAIC"}
1
+ {"version":3,"file":"current-mfe.topic.js","sourceRoot":"","sources":["../../../../../../../../libs/integration-interface/src/lib/topics/current-mfe/v1/current-mfe.topic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAG1C,MAAM,OAAO,eAAgB,SAAQ,KAAc;IACjD;QACE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAA;IACxB,CAAC;CACF"}
@@ -1,3 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
1
  //# sourceMappingURL=mfe-info.model.js.map
@@ -1,23 +1,20 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CurrentPageTopic = void 0;
4
- const accelerator_1 = require("@onecx/accelerator");
5
- const rxjs_1 = require("rxjs");
6
- const BehaviorSubject_1 = require("rxjs/internal/BehaviorSubject");
7
- const logger_utils_1 = require("../../../utils/logger.utils");
8
- const logger = (0, logger_utils_1.createLogger)('CurrentPageTopic');
1
+ import { Topic } from '@onecx/accelerator';
2
+ import { combineLatest, distinctUntilChanged, map } from 'rxjs';
3
+ import { BehaviorSubject } from 'rxjs/internal/BehaviorSubject';
4
+ import { createLogger } from '../../../utils/logger.utils';
5
+ const logger = createLogger('CurrentPageTopic');
9
6
  /**
10
7
  * This topic will only fire when pageInfo.path matches document.location.pathname,
11
8
  * if not it will fire undefined.
12
9
  */
13
- class CurrentPageTopic extends accelerator_1.Topic {
14
- currentPath$ = new BehaviorSubject_1.BehaviorSubject(document.location.pathname);
10
+ export class CurrentPageTopic extends Topic {
11
+ currentPath$ = new BehaviorSubject(document.location.pathname);
15
12
  constructor() {
16
13
  super('currentPage', 1);
17
14
  this.watchForPathChanges();
18
15
  }
19
16
  asObservable() {
20
- return (0, rxjs_1.combineLatest)([super.asObservable(), this.currentPath$.pipe((0, rxjs_1.distinctUntilChanged)())]).pipe((0, rxjs_1.map)(([v, path]) => (v.path === path ? v : undefined)));
17
+ return combineLatest([super.asObservable(), this.currentPath$.pipe(distinctUntilChanged())]).pipe(map(([v, path]) => (v.path === path ? v : undefined)));
21
18
  }
22
19
  watchForPathChanges() {
23
20
  const body = document.querySelector('body');
@@ -31,5 +28,4 @@ class CurrentPageTopic extends accelerator_1.Topic {
31
28
  observer.observe(body, { childList: true, subtree: true });
32
29
  }
33
30
  }
34
- exports.CurrentPageTopic = CurrentPageTopic;
35
31
  //# sourceMappingURL=current-page.topic.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"current-page.topic.js","sourceRoot":"","sources":["../../../../../../../../libs/integration-interface/src/lib/topics/current-page/v1/current-page.topic.ts"],"names":[],"mappings":";;;AAAA,oDAA0C;AAC1C,+BAA+D;AAC/D,mEAA+D;AAE/D,8DAA0D;AAE1D,MAAM,MAAM,GAAG,IAAA,2BAAY,EAAC,kBAAkB,CAAC,CAAA;AAE/C;;;GAGG;AACH,MAAa,gBAAiB,SAAQ,mBAA2B;IACvD,YAAY,GAAG,IAAI,iCAAe,CAAS,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAE9E;QACE,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAA;QACvB,IAAI,CAAC,mBAAmB,EAAE,CAAA;IAC5B,CAAC;IAEe,YAAY;QAC1B,OAAO,IAAA,oBAAa,EAAC,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAA,2BAAoB,GAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAC/F,IAAA,UAAG,EAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAY,CAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAClE,CAAA;IACH,CAAC;IAEO,mBAAmB;QACzB,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QAC3C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAA;YACpD,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;QACzD,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,GAAG,EAAE;YACzC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QACpD,CAAC,CAAC,CAAA;QACF,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;IAC5D,CAAC;CACF;AAzBD,4CAyBC"}
1
+ {"version":3,"file":"current-page.topic.js","sourceRoot":"","sources":["../../../../../../../../libs/integration-interface/src/lib/topics/current-page/v1/current-page.topic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAE/D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAE1D,MAAM,MAAM,GAAG,YAAY,CAAC,kBAAkB,CAAC,CAAA;AAE/C;;;GAGG;AACH,MAAM,OAAO,gBAAiB,SAAQ,KAA2B;IACvD,YAAY,GAAG,IAAI,eAAe,CAAS,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAE9E;QACE,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAA;QACvB,IAAI,CAAC,mBAAmB,EAAE,CAAA;IAC5B,CAAC;IAEe,YAAY;QAC1B,OAAO,aAAa,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAC/F,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAY,CAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAClE,CAAA;IACH,CAAC;IAEO,mBAAmB;QACzB,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QAC3C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAA;YACpD,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;QACzD,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,GAAG,EAAE;YACzC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QACpD,CAAC,CAAC,CAAA;QACF,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;IAC5D,CAAC;CACF"}
@@ -1,3 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
1
  //# sourceMappingURL=page-info.model.js.map
@@ -1,11 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CurrentThemeTopic = void 0;
4
- const accelerator_1 = require("@onecx/accelerator");
5
- class CurrentThemeTopic extends accelerator_1.Topic {
1
+ import { Topic } from '@onecx/accelerator';
2
+ export class CurrentThemeTopic extends Topic {
6
3
  constructor() {
7
4
  super('currentTheme', 1);
8
5
  }
9
6
  }
10
- exports.CurrentThemeTopic = CurrentThemeTopic;
11
7
  //# sourceMappingURL=current-theme.topic.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"current-theme.topic.js","sourceRoot":"","sources":["../../../../../../../../libs/integration-interface/src/lib/topics/current-theme/v1/current-theme.topic.ts"],"names":[],"mappings":";;;AAAA,oDAA0C;AAG1C,MAAa,iBAAkB,SAAQ,mBAAY;IACjD;QACE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAA;IAC1B,CAAC;CACF;AAJD,8CAIC"}
1
+ {"version":3,"file":"current-theme.topic.js","sourceRoot":"","sources":["../../../../../../../../libs/integration-interface/src/lib/topics/current-theme/v1/current-theme.topic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAG1C,MAAM,OAAO,iBAAkB,SAAQ,KAAY;IACjD;QACE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAA;IAC1B,CAAC;CACF"}
@@ -0,0 +1,8 @@
1
+ export declare enum OverrideType {
2
+ PRIMENG = "PRIMENG",
3
+ CSS = "CSS"
4
+ }
5
+ export interface ThemeOverride {
6
+ type?: OverrideType;
7
+ value?: string;
8
+ }
@@ -0,0 +1,6 @@
1
+ export var OverrideType;
2
+ (function (OverrideType) {
3
+ OverrideType["PRIMENG"] = "PRIMENG";
4
+ OverrideType["CSS"] = "CSS";
5
+ })(OverrideType || (OverrideType = {}));
6
+ //# sourceMappingURL=theme-override.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-override.model.js","sourceRoot":"","sources":["../../../../../../../../libs/integration-interface/src/lib/topics/current-theme/v1/theme-override.model.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,YAGX;AAHD,WAAY,YAAY;IACpB,mCAAmB,CAAA;IACnB,2BAAW,CAAA;AACf,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB"}
@@ -1,3 +1,4 @@
1
+ import { ThemeOverride } from "./theme-override.model";
1
2
  export interface Theme {
2
3
  id?: string;
3
4
  assetsUpdateDate?: string;
@@ -13,4 +14,5 @@ export interface Theme {
13
14
  [key: string]: string;
14
15
  };
15
16
  };
17
+ overrides?: Array<ThemeOverride>;
16
18
  }
@@ -1,3 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
1
  //# sourceMappingURL=theme.model.js.map
@@ -1,11 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CurrentWorkspaceTopic = void 0;
4
- const accelerator_1 = require("@onecx/accelerator");
5
- class CurrentWorkspaceTopic extends accelerator_1.Topic {
1
+ import { Topic } from '@onecx/accelerator';
2
+ export class CurrentWorkspaceTopic extends Topic {
6
3
  constructor() {
7
4
  super('currentPortal', 1);
8
5
  }
9
6
  }
10
- exports.CurrentWorkspaceTopic = CurrentWorkspaceTopic;
11
7
  //# sourceMappingURL=current-workspace.topic.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"current-workspace.topic.js","sourceRoot":"","sources":["../../../../../../../../libs/integration-interface/src/lib/topics/current-workspace/v1/current-workspace.topic.ts"],"names":[],"mappings":";;;AAAA,oDAA0C;AAG1C,MAAa,qBAAsB,SAAQ,mBAAgB;IACzD;QACE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAA;IAC3B,CAAC;CACF;AAJD,sDAIC"}
1
+ {"version":3,"file":"current-workspace.topic.js","sourceRoot":"","sources":["../../../../../../../../libs/integration-interface/src/lib/topics/current-workspace/v1/current-workspace.topic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAG1C,MAAM,OAAO,qBAAsB,SAAQ,KAAgB;IACzD;QACE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAA;IAC3B,CAAC;CACF"}
@@ -1,3 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
1
  //# sourceMappingURL=endpoint.model.js.map
@@ -1,3 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
1
  //# sourceMappingURL=mfe-portal-registration.model.js.map