q2-tecton-platform 1.61.0 → 1.62.0

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 (98) hide show
  1. package/dist/bundle-report.json +1 -1
  2. package/dist/esm/actions/actionRequiredSetup.js +7 -2
  3. package/dist/esm/actions/authorizeTransactionWithMfaSetup.js +4 -1
  4. package/dist/esm/actions/clearCacheSetup.js +7 -4
  5. package/dist/esm/actions/clearParamsSetup.js +4 -1
  6. package/dist/esm/actions/closeOverpanelSetup.js +6 -3
  7. package/dist/esm/actions/index.js +51 -48
  8. package/dist/esm/actions/keepAliveSetup.js +4 -1
  9. package/dist/esm/actions/loadingModalSetup.js +4 -1
  10. package/dist/esm/actions/logToServerSetup.js +6 -3
  11. package/dist/esm/actions/manageChangesSetup.js +4 -1
  12. package/dist/esm/actions/navigateToSetup.js +8 -5
  13. package/dist/esm/actions/openURLSetup.js +4 -1
  14. package/dist/esm/actions/printWindowSetup.js +4 -1
  15. package/dist/esm/actions/refetchAccountsSetup.js +4 -1
  16. package/dist/esm/actions/scrollToSetup.js +7 -4
  17. package/dist/esm/actions/scrollToTopSetup.js +4 -1
  18. package/dist/esm/actions/sendAlertSetup.js +4 -1
  19. package/dist/esm/actions/setParamsSetup.js +6 -3
  20. package/dist/esm/actions/setTitleSetup.js +6 -3
  21. package/dist/esm/actions/showActionSheetSetup.js +4 -1
  22. package/dist/esm/actions/showModalSetup.js +4 -1
  23. package/dist/esm/actions/showOverpanelSetup.js +10 -7
  24. package/dist/esm/actions/t.d.ts.map +1 -1
  25. package/dist/esm/actions/t.js +18 -7
  26. package/dist/esm/actions/verifyMFASetup.js +4 -1
  27. package/dist/esm/index.js +5 -1
  28. package/dist/esm/outlets/index.js +9 -6
  29. package/dist/esm/outlets/platform-outlet.d.ts.map +1 -1
  30. package/dist/esm/outlets/platform-outlet.js +84 -50
  31. package/dist/esm/private-helpers/assetPathResolvers.js +11 -6
  32. package/dist/esm/private-helpers/cdnOverrideSetup.js +4 -1
  33. package/dist/esm/private-helpers/contextResolver.js +7 -2
  34. package/dist/esm/private-helpers/getApplicationModules.js +5 -1
  35. package/dist/esm/private-helpers/getAuthPayload.js +4 -1
  36. package/dist/esm/private-helpers/getModuleParams.js +4 -1
  37. package/dist/esm/private-helpers/index.js +22 -19
  38. package/dist/esm/private-helpers/mobileSDKCapabilities.js +4 -1
  39. package/dist/esm/private-helpers/platformCapabilities.js +4 -1
  40. package/dist/esm/private-helpers/resolveFeature.d.ts +2 -2
  41. package/dist/esm/private-helpers/resolveFeature.d.ts.map +1 -1
  42. package/dist/esm/private-helpers/resolveFeature.js +39 -28
  43. package/dist/esm/private-helpers/resolveMenu.js +23 -18
  44. package/dist/esm/private-helpers/resolveTabs.js +21 -16
  45. package/dist/esm/private-helpers/setupRegisterOutlet.js +7 -3
  46. package/dist/esm/setup/application-modules.js +11 -5
  47. package/dist/esm/setup/default-capabilities.js +4 -1
  48. package/dist/esm/setup/dynamic-capabilities.js +4 -1
  49. package/dist/esm/setup/index.d.ts +1 -1
  50. package/dist/esm/setup/index.d.ts.map +1 -1
  51. package/dist/esm/setup/index.js +32 -25
  52. package/dist/esm/setup/styles.d.ts.map +1 -1
  53. package/dist/esm/setup/styles.js +22 -11
  54. package/dist/esm/sources/cacheClearedSetup.js +7 -4
  55. package/dist/esm/sources/canUserSetup.js +4 -1
  56. package/dist/esm/sources/getAuthTokenSetup.js +4 -1
  57. package/dist/esm/sources/getFeatureConfigSetup.js +6 -3
  58. package/dist/esm/sources/getGlobalScriptsSetup.js +4 -1
  59. package/dist/esm/sources/getPendoInfoSetup.js +4 -1
  60. package/dist/esm/sources/getPlatformDimensionsSetup.js +9 -6
  61. package/dist/esm/sources/getPlatformInfoSetup.js +4 -1
  62. package/dist/esm/sources/getVersionInfoSetup.js +4 -1
  63. package/dist/esm/sources/index.js +44 -41
  64. package/dist/esm/sources/isNavigableSetup.js +6 -3
  65. package/dist/esm/sources/platformCssPropertiesChangedSetup.d.ts.map +1 -1
  66. package/dist/esm/sources/platformCssPropertiesChangedSetup.js +22 -12
  67. package/dist/esm/sources/platformEventNotificationSetup.js +7 -4
  68. package/dist/esm/sources/platformScrollChangedSetup.js +12 -9
  69. package/dist/esm/sources/promptForMFASetup.js +6 -3
  70. package/dist/esm/sources/refetchRequiredSetup.js +7 -4
  71. package/dist/esm/sources/requestExtensionDataSetup.js +6 -3
  72. package/dist/esm/sources/requestPlatformDataSetup.js +15 -8
  73. package/dist/esm/sources/setupModuleParams.js +10 -7
  74. package/dist/esm/sources/takePictureSetup.js +4 -1
  75. package/dist/esm/sources/tectonCacheSetup.js +4 -1
  76. package/dist/esm/types/alerts.js +5 -2
  77. package/dist/esm/types/config.d.ts +6 -6
  78. package/dist/esm/types/config.d.ts.map +1 -1
  79. package/dist/esm/types/config.js +2 -1
  80. package/dist/esm/types/index.d.ts +3 -3
  81. package/dist/esm/types/index.d.ts.map +1 -1
  82. package/dist/esm/types/index.js +2 -1
  83. package/dist/esm/types/pendo.js +2 -1
  84. package/dist/esm/types/utility.js +2 -1
  85. package/dist/esm/utility/dimensions-helpers.d.ts +1 -1
  86. package/dist/esm/utility/dimensions-helpers.d.ts.map +1 -1
  87. package/dist/esm/utility/dimensions-helpers.js +7 -2
  88. package/dist/esm/utility/filterPublicOverpanels.js +4 -1
  89. package/dist/esm/utility/getNavigationData.js +6 -3
  90. package/dist/esm/utility/message-bus.d.ts +4 -2
  91. package/dist/esm/utility/message-bus.d.ts.map +1 -1
  92. package/dist/esm/utility/message-bus.js +10 -5
  93. package/dist/esm/utility/showActionSheet.js +4 -2
  94. package/dist/esm/utility/validateActionParameters.js +4 -1
  95. package/dist/esm/utility/windowHelpers.js +7 -2
  96. package/dist/umd/q2-tecton-platform.js +1 -2
  97. package/package.json +14 -10
  98. package/dist/umd/q2-tecton-platform.js.LICENSE.txt +0 -14
@@ -1,16 +1,18 @@
1
- import { buildLoaders, setupOutletIFrameWrapper, setupOutletIFrameLoading, setupOutletIFrameResizer, setupOutletSetTitleListener, setupOutletInfo, getBaseClass, isBeta, } from 'q2-tecton-common/lib/outlets/tecton-outlet-base';
2
- import { sendMessage } from 'q2-tecton-common/lib/utility/message-bus';
3
- import { BehaviorSubject, combineLatest } from 'rxjs';
4
- import { map, filter, distinctUntilChanged, pairwise } from 'rxjs/operators';
5
- import addParamToURL from 'q2-tecton-common/lib/utility/addParamToURL';
6
- import { Maybe } from 'maybe-not';
7
- import getModuleParams from '../private-helpers/getModuleParams.js';
8
- import { validateContext } from '../private-helpers/contextResolver.js';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadTectonPlatformOutlet = exports.tectonPlatformOutletObservedAttrs = exports.createLoadingWrapper = exports.buildIframeSrc = exports.shouldDisplayOutlet = void 0;
4
+ const tecton_outlet_base_1 = require("q2-tecton-common/lib/outlets/tecton-outlet-base");
5
+ const message_bus_1 = require("q2-tecton-common/lib/utility/message-bus");
6
+ const rxjs_1 = require("rxjs");
7
+ const addParamToURL_1 = require("q2-tecton-common/lib/utility/addParamToURL");
8
+ const maybe_not_1 = require("maybe-not");
9
+ const getModuleParams_1 = require("../private-helpers/getModuleParams");
10
+ const contextResolver_1 = require("../private-helpers/contextResolver");
9
11
  /**
10
12
  * Determines if an outlet should be displayed based on rights, context validation,
11
13
  * and authentication requirements
12
14
  */
13
- export function shouldDisplayOutlet(module, feature, memorizedProps, contextHierarchy) {
15
+ function shouldDisplayOutlet(module, feature, memorizedProps, contextHierarchy) {
14
16
  var _a, _b, _c, _d;
15
17
  const isMFA = feature.isMFA;
16
18
  const isRightsEnabled = module.rightsEnabled !== false;
@@ -21,7 +23,7 @@ export function shouldDisplayOutlet(module, feature, memorizedProps, contextHier
21
23
  if (!isRightsEnabled) {
22
24
  return false;
23
25
  }
24
- return validateContext({
26
+ return (0, contextResolver_1.validateContext)({
25
27
  additionalContext: memorizedProps.additionalContext,
26
28
  additionalContextRequirements: module.additionalContextRequirements,
27
29
  contextValue: memorizedProps.contextValue,
@@ -30,30 +32,31 @@ export function shouldDisplayOutlet(module, feature, memorizedProps, contextHier
30
32
  resolvedContext: memorizedProps.resolvedType,
31
33
  }, contextHierarchy);
32
34
  }
35
+ exports.shouldDisplayOutlet = shouldDisplayOutlet;
33
36
  /**
34
37
  * Builds the iframe source URL with all necessary parameters
35
38
  */
36
- export function buildIframeSrc(urlFromConfig, moduleId, memorizedProps, platformOutletElement, params, formPostAuth, legacyControlBus) {
39
+ function buildIframeSrc(urlFromConfig, moduleId, memorizedProps, platformOutletElement, params, formPostAuth, legacyControlBus) {
37
40
  const urlBeforeParams = formPostAuth && legacyControlBus.buildIframeURL
38
41
  ? legacyControlBus.buildIframeURL(urlFromConfig)
39
42
  : urlFromConfig;
40
- let iframeSrc = addParamToURL(urlBeforeParams, Object.assign(Object.assign({ 'tct-id': moduleId, 'tct-ctxid': memorizedProps.contextValue || '', 'tct-ctxname': memorizedProps.contextId || '' }, getModuleParams(moduleId, params.currentParams)), { 'tct-maxHeight': platformOutletElement.style.maxHeight, 'tct-maxWidth': platformOutletElement.style.maxWidth, 'tct-baseClass': getBaseClass(platformOutletElement), 'tct-outlet-name': platformOutletElement.name || '' }));
41
- if (isBeta(platformOutletElement)) {
42
- iframeSrc = addParamToURL(iframeSrc, { 'tct-beta': 'true' });
43
+ let iframeSrc = (0, addParamToURL_1.default)(urlBeforeParams, Object.assign(Object.assign({ 'tct-id': moduleId, 'tct-ctxid': memorizedProps.contextValue || '', 'tct-ctxname': memorizedProps.contextId || '' }, (0, getModuleParams_1.default)(moduleId, params.currentParams)), { 'tct-maxHeight': platformOutletElement.style.maxHeight, 'tct-maxWidth': platformOutletElement.style.maxWidth, 'tct-baseClass': (0, tecton_outlet_base_1.getBaseClass)(platformOutletElement), 'tct-outlet-name': platformOutletElement.name || '' }));
44
+ if ((0, tecton_outlet_base_1.isBeta)(platformOutletElement)) {
45
+ iframeSrc = (0, addParamToURL_1.default)(iframeSrc, { 'tct-beta': 'true' });
43
46
  }
44
47
  return iframeSrc;
45
48
  }
49
+ exports.buildIframeSrc = buildIframeSrc;
46
50
  /**
47
51
  * Creates a loading wrapper element with loaders based on module configuration
48
52
  */
49
- export function createLoadingWrapper(module, minHeight) {
50
- var _a;
53
+ function createLoadingWrapper(module, minHeight) {
54
+ var _a, _b, _c;
51
55
  const loaderWrapper = document.createElement('div');
52
- loaderWrapper.style.minHeight = minHeight || '0px';
53
56
  loaderWrapper.slot = 'loading-wrapper';
54
57
  loaderWrapper.classList.add('loading-wrapper');
55
58
  loaderWrapper.setAttribute('data-tecton-module', '');
56
- const loaders = module.loadingOptions ? buildLoaders(module.loadingOptions) : buildLoaders();
59
+ const loaders = module.loadingOptions ? (0, tecton_outlet_base_1.buildLoaders)(module.loadingOptions) : (0, tecton_outlet_base_1.buildLoaders)();
57
60
  if ((_a = module.loadingOptions) === null || _a === void 0 ? void 0 : _a.outlet) {
58
61
  const outlet = module.loadingOptions.outlet;
59
62
  if (outlet.style)
@@ -61,6 +64,13 @@ export function createLoadingWrapper(module, minHeight) {
61
64
  if (outlet.classList)
62
65
  loaderWrapper.classList.add(...outlet.classList);
63
66
  }
67
+ // Add 'spinner-loader' class to vertically center spinner-type loaders
68
+ const loaderType = (_c = (_b = loaders[0]) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.getAttribute('type');
69
+ if (loaderType === null || loaderType === 'spinner') {
70
+ loaderWrapper.classList.add('spinner-loader');
71
+ }
72
+ // Set minHeight AFTER outlet.style to avoid being overwritten by setAttribute
73
+ loaderWrapper.style.minHeight = minHeight || '0px';
64
74
  for (const loaderRow of loaders) {
65
75
  const row = document.createElement('div');
66
76
  row.className = 'q2-row';
@@ -71,7 +81,8 @@ export function createLoadingWrapper(module, minHeight) {
71
81
  }
72
82
  return loaderWrapper;
73
83
  }
74
- export const tectonPlatformOutletObservedAttrs = [
84
+ exports.createLoadingWrapper = createLoadingWrapper;
85
+ exports.tectonPlatformOutletObservedAttrs = [
75
86
  { name: 'additionalContext', reflectAs: String },
76
87
  { name: 'configTree' },
77
88
  { name: 'context', reflectAs: String },
@@ -80,12 +91,12 @@ export const tectonPlatformOutletObservedAttrs = [
80
91
  { name: 'resolvedType', reflectAs: String },
81
92
  { name: 'routeName' },
82
93
  ];
83
- export function loadTectonPlatformOutlet(tectonConfig$, params$, legacyControlBus, contextHierarchy) {
94
+ function loadTectonPlatformOutlet(tectonConfig$, params$, legacyControlBus, contextHierarchy) {
84
95
  return function tectonPlatformOutlet(messageBus, outletPath, platformOutletElement, memorizedProps$) {
85
96
  const placeholder = document.createElement('div');
86
- const DOM$ = new BehaviorSubject(placeholder);
87
- const settled$ = new BehaviorSubject(false);
88
- const effect$ = new BehaviorSubject(() => {
97
+ const DOM$ = new rxjs_1.BehaviorSubject(placeholder);
98
+ const settled$ = new rxjs_1.BehaviorSubject(false);
99
+ const effect$ = new rxjs_1.BehaviorSubject(() => {
89
100
  return;
90
101
  });
91
102
  const getContent = function () {
@@ -96,29 +107,55 @@ export function loadTectonPlatformOutlet(tectonConfig$, params$, legacyControlBu
96
107
  };
97
108
  };
98
109
  let moduleId;
110
+ let currentModuleLoadingOptions;
99
111
  const getModuleId = function () {
100
112
  return moduleId;
101
113
  };
102
- const loadingSubscription = setupOutletIFrameLoading(messageBus, getModuleId, getContent);
103
- const outletInfoSubscription = setupOutletInfo(messageBus, getModuleId, getContent);
104
- const teardown$ = new BehaviorSubject(() => {
105
- loadingSubscription.unsubscribe();
106
- outletInfoSubscription.unsubscribe();
107
- DOM$.complete();
114
+ const getModuleLoadingOptions = function () {
115
+ return currentModuleLoadingOptions;
116
+ };
117
+ const getShadowRoot = function () {
118
+ return platformOutletElement.shadowRoot;
119
+ };
120
+ const loadingSubscription = (0, tecton_outlet_base_1.setupOutletIFrameLoading)(messageBus, getModuleId, getContent, getModuleLoadingOptions, getShadowRoot);
121
+ const outletInfoSubscription = (0, tecton_outlet_base_1.setupOutletInfo)(messageBus, getModuleId, getContent);
122
+ // Use Subscription to accumulate all cleanup, preventing memory leaks
123
+ const teardownsSubscription = new rxjs_1.Subscription();
124
+ teardownsSubscription.add(loadingSubscription);
125
+ teardownsSubscription.add(outletInfoSubscription);
126
+ // Add BehaviorSubject cleanup - must call .complete() separately from .unsubscribe()
127
+ teardownsSubscription.add(() => {
128
+ // Clear object/function references before completing
108
129
  DOM$.next(null);
130
+ DOM$.complete();
131
+ effect$.next(() => { });
132
+ effect$.complete();
133
+ // Primitives can be completed directly without clearing
134
+ settled$.complete();
135
+ });
136
+ // Wrapper BehaviorSubject for parent compatibility - parent expects BehaviorSubject<Teardown>
137
+ const teardown$ = new rxjs_1.BehaviorSubject(() => {
138
+ teardown$.complete();
139
+ teardownsSubscription.unsubscribe();
109
140
  });
110
- const configTree$ = memorizedProps$.pipe(map(props => props.configTree), filter(configTree => !!configTree), distinctUntilChanged());
111
- const isOverpanel$ = new BehaviorSubject(false);
141
+ const configTree$ = memorizedProps$.pipe((0, rxjs_1.map)(props => props.configTree), (0, rxjs_1.filter)(configTree => !!configTree), (0, rxjs_1.distinctUntilChanged)());
142
+ const isOverpanel$ = new rxjs_1.BehaviorSubject(false);
112
143
  const overpanelSubscription = memorizedProps$
113
- .pipe(map(props => props.overpanel), filter(overpanel => typeof overpanel === 'boolean'), distinctUntilChanged())
144
+ .pipe((0, rxjs_1.map)(props => props.overpanel), (0, rxjs_1.filter)(overpanel => typeof overpanel === 'boolean'), (0, rxjs_1.distinctUntilChanged)())
114
145
  .subscribe(isOverpanel$);
115
- const routeName$ = memorizedProps$.pipe(map(props => props.routeName), filter(routeName => !!routeName), distinctUntilChanged());
146
+ teardownsSubscription.add(overpanelSubscription);
147
+ // Add isOverpanel$ cleanup (primitive, just complete)
148
+ teardownsSubscription.add(() => {
149
+ isOverpanel$.complete();
150
+ });
151
+ const routeName$ = memorizedProps$.pipe((0, rxjs_1.map)(props => props.routeName), (0, rxjs_1.filter)(routeName => !!routeName), (0, rxjs_1.distinctUntilChanged)());
116
152
  const moduleIdChangeSubscription = routeName$
117
- .pipe(map(routeName => `${outletPath}.${routeName}`), pairwise())
153
+ .pipe((0, rxjs_1.map)(routeName => `${outletPath}.${routeName}`), (0, rxjs_1.pairwise)())
118
154
  .subscribe(([oldModuleId]) => {
119
- sendMessage('clearParams', Maybe.just(JSON.stringify({ moduleId: oldModuleId })));
155
+ (0, message_bus_1.sendMessage)('clearParams', maybe_not_1.Maybe.just(JSON.stringify({ moduleId: oldModuleId })));
120
156
  });
121
- const outletDataSubscription = combineLatest(configTree$, isOverpanel$, routeName$).subscribe(([configTree, isOverpanel, routeName]) => {
157
+ teardownsSubscription.add(moduleIdChangeSubscription);
158
+ const outletDataSubscription = (0, rxjs_1.combineLatest)(configTree$, isOverpanel$, routeName$).subscribe(([configTree, isOverpanel, routeName]) => {
122
159
  const tectonConfig = tectonConfig$.getValue();
123
160
  const feature = tectonConfig.features[configTree.featureName];
124
161
  if (!feature) {
@@ -129,6 +166,7 @@ export function loadTectonPlatformOutlet(tectonConfig$, params$, legacyControlBu
129
166
  const shouldDisplay = shouldDisplayOutlet(module, feature, memorizedProps, contextHierarchy);
130
167
  if (shouldDisplay) {
131
168
  moduleId = `${outletPath}.${routeName}`;
169
+ currentModuleLoadingOptions = module.loadingOptions;
132
170
  const minHeight = memorizedProps.minHeight;
133
171
  const featureConfig = tectonConfig.features[configTree.featureName];
134
172
  const formPostAuth = !!featureConfig.modules[configTree.moduleName].formPostAuth;
@@ -137,16 +175,12 @@ export function loadTectonPlatformOutlet(tectonConfig$, params$, legacyControlBu
137
175
  const allowDirectives = featureConfig.allowDirectives;
138
176
  const iframeSrc = buildIframeSrc(urlFromConfig, moduleId, memorizedProps, platformOutletElement, params$.getValue(), formPostAuth, legacyControlBus);
139
177
  if (!isOverpanel) {
140
- const resizerSubscription = setupOutletIFrameResizer(messageBus, getModuleId, getContent);
141
- teardown$.next(() => {
142
- resizerSubscription.unsubscribe();
143
- });
178
+ const resizerSubscription = (0, tecton_outlet_base_1.setupOutletIFrameResizer)(messageBus, getModuleId, getContent);
179
+ teardownsSubscription.add(resizerSubscription);
144
180
  }
145
- const titleSubscription = setupOutletSetTitleListener(messageBus, getModuleId, getContent);
146
- teardown$.next(() => {
147
- titleSubscription.unsubscribe();
148
- });
149
- const outletDOM = setupOutletIFrameWrapper(iframeSrc, moduleId, legacyControlBus.getAuthPayload ? legacyControlBus.getAuthPayload() : [], `${configTree.featureName}-${configTree.moduleName}`, platformOutletElement.style.maxHeight, platformOutletElement.style.maxWidth, isOverpanel, formPostAuth, additionalDomains, allowDirectives);
181
+ const titleSubscription = (0, tecton_outlet_base_1.setupOutletSetTitleListener)(messageBus, getModuleId, getContent);
182
+ teardownsSubscription.add(titleSubscription);
183
+ const { element: outletDOM, cleanup: iframeCleanup } = (0, tecton_outlet_base_1.setupOutletIFrameWrapper)(iframeSrc, moduleId, legacyControlBus.getAuthPayload ? legacyControlBus.getAuthPayload() : [], `${configTree.featureName}-${configTree.moduleName}`, platformOutletElement.style.maxHeight, platformOutletElement.style.maxWidth, isOverpanel, formPostAuth, additionalDomains, allowDirectives);
150
184
  const loaderWrapper = createLoadingWrapper(module, minHeight);
151
185
  DOM$.next(outletDOM);
152
186
  effect$.next(() => {
@@ -159,14 +193,13 @@ export function loadTectonPlatformOutlet(tectonConfig$, params$, legacyControlBu
159
193
  }
160
194
  settled$.next(true);
161
195
  });
162
- teardown$.next(() => {
163
- overpanelSubscription.unsubscribe();
164
- outletDataSubscription.unsubscribe();
165
- moduleIdChangeSubscription.unsubscribe();
166
- sendMessage('clearParams', Maybe.just(JSON.stringify({ moduleId })));
196
+ teardownsSubscription.add(() => {
197
+ iframeCleanup();
198
+ (0, message_bus_1.sendMessage)('clearParams', maybe_not_1.Maybe.just(JSON.stringify({ moduleId })));
167
199
  });
168
200
  }
169
201
  });
202
+ teardownsSubscription.add(outletDataSubscription);
170
203
  return {
171
204
  DOM$,
172
205
  settled$,
@@ -175,3 +208,4 @@ export function loadTectonPlatformOutlet(tectonConfig$, params$, legacyControlBu
175
208
  };
176
209
  };
177
210
  }
211
+ exports.loadTectonPlatformOutlet = loadTectonPlatformOutlet;
@@ -1,6 +1,9 @@
1
- import { getPathResolutionInfo } from './resolveFeature.js';
2
- export const NGAM_BASE = `${window.location.origin}${window.location.pathname.replace(/\/uux\.aspx/i, '')}`;
3
- export function setupPathResolvers(messageBus, capabilities, legacyControlBus, tectonConfig$, teardowns) {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ifRelativePrependOrigin = exports.setupPathResolvers = exports.NGAM_BASE = void 0;
4
+ const resolveFeature_1 = require("./resolveFeature");
5
+ exports.NGAM_BASE = `${window.location.origin}${window.location.pathname.replace(/\/uux\.aspx/i, '')}`;
6
+ function setupPathResolvers(messageBus, capabilities, legacyControlBus, tectonConfig$, teardowns) {
4
7
  let customLanguagePathSubscription;
5
8
  const customerAssetPathSubscription = messageBus.sendResponse('getCustomerAssetPath', ({ subPath }) => {
6
9
  return Promise.resolve({
@@ -10,7 +13,7 @@ export function setupPathResolvers(messageBus, capabilities, legacyControlBus, t
10
13
  if (legacyControlBus.getCustomLanguageURL) {
11
14
  capabilities.add('getCustomLanguageURL');
12
15
  customLanguagePathSubscription = messageBus.sendResponse('getCustomLanguageURL', async ({ moduleId, langKey }) => {
13
- const moduleInfo = await getPathResolutionInfo(moduleId.split('.'), legacyControlBus.dynamicConfigFetch);
16
+ const moduleInfo = await (0, resolveFeature_1.getPathResolutionInfo)(moduleId.split('.'), legacyControlBus.dynamicConfigFetch);
14
17
  return Promise.resolve({
15
18
  path: ifRelativePrependOrigin(legacyControlBus.getCustomLanguageURL(`${langKey}_${moduleInfo.featureName}.json`)),
16
19
  });
@@ -22,7 +25,7 @@ export function setupPathResolvers(messageBus, capabilities, legacyControlBus, t
22
25
  });
23
26
  });
24
27
  const getNgamBaseURL = messageBus.sendResponse('getNgamBaseUrl', () => {
25
- return Promise.resolve({ ngamBase: NGAM_BASE });
28
+ return Promise.resolve({ ngamBase: exports.NGAM_BASE });
26
29
  });
27
30
  teardowns.push(() => {
28
31
  customerAssetPathSubscription.unsubscribe();
@@ -33,6 +36,8 @@ export function setupPathResolvers(messageBus, capabilities, legacyControlBus, t
33
36
  }
34
37
  });
35
38
  }
36
- export function ifRelativePrependOrigin(url) {
39
+ exports.setupPathResolvers = setupPathResolvers;
40
+ function ifRelativePrependOrigin(url) {
37
41
  return /^http/.test(url) ? url : `${window.location.origin}/${url}`;
38
42
  }
43
+ exports.ifRelativePrependOrigin = ifRelativePrependOrigin;
@@ -1,4 +1,6 @@
1
- export default function cdnOverrideSetup(messageBus, legacyControlBus, capabilities, teardowns) {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function cdnOverrideSetup(messageBus, legacyControlBus, capabilities, teardowns) {
2
4
  if (legacyControlBus.cdnOverride) {
3
5
  capabilities.add('cdnOverride');
4
6
  const subscription = messageBus.sendResponse('cdnOverride', () => {
@@ -9,3 +11,4 @@ export default function cdnOverrideSetup(messageBus, legacyControlBus, capabilit
9
11
  teardowns.push(() => subscription.unsubscribe());
10
12
  }
11
13
  }
14
+ exports.default = cdnOverrideSetup;
@@ -1,3 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateContext = exports.getContextHierarchyPath = void 0;
1
4
  /**
2
5
  * Recursively searches for a node in the hierarchy and returns the path from leaf to root
3
6
  *
@@ -30,7 +33,7 @@ function findPathToRoot(targetNode, currentNode, currentPath = []) {
30
33
  * @param contextHierarchy - The hierarchical structure to navigate
31
34
  * @returns Array of context strings ordered from most specific to most general, or empty array if context not found
32
35
  */
33
- export function getContextHierarchyPath(contextString, contextHierarchy) {
36
+ function getContextHierarchyPath(contextString, contextHierarchy) {
34
37
  if (!contextString || typeof contextString !== 'string') {
35
38
  return [];
36
39
  }
@@ -45,6 +48,7 @@ export function getContextHierarchyPath(contextString, contextHierarchy) {
45
48
  const pathToRoot = findPathToRoot(dataType, categoryNode);
46
49
  return pathToRoot.map(type => `${category}::${type}`);
47
50
  }
51
+ exports.getContextHierarchyPath = getContextHierarchyPath;
48
52
  /**
49
53
  * Validates whether a resolved context is a valid subtype of a context rule
50
54
  *
@@ -54,7 +58,7 @@ export function getContextHierarchyPath(contextString, contextHierarchy) {
54
58
  * @param params.resolvedContext - The resolved context to validate
55
59
  * @returns True if resolvedContext is a valid subtype of moduleContext, or if moduleContext is unrestricted
56
60
  */
57
- export function validateContext(params, contextHierarchy) {
61
+ function validateContext(params, contextHierarchy) {
58
62
  const { outletContext, moduleContext, resolvedContext, additionalContext, additionalContextRequirements } = params;
59
63
  if ((additionalContextRequirements === null || additionalContextRequirements === void 0 ? void 0 : additionalContextRequirements.length) &&
60
64
  additionalContext &&
@@ -70,3 +74,4 @@ export function validateContext(params, contextHierarchy) {
70
74
  }
71
75
  return hierarchyPath.includes(resolvedContext || outletContext);
72
76
  }
77
+ exports.validateContext = validateContext;
@@ -1,4 +1,7 @@
1
- export function getApplicationModules(tectonConfig) {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getApplicationModules = void 0;
4
+ function getApplicationModules(tectonConfig) {
2
5
  var _a, _b, _c;
3
6
  const applicationModuleContext = 'Application::';
4
7
  const applicationModules = {};
@@ -23,3 +26,4 @@ export function getApplicationModules(tectonConfig) {
23
26
  }
24
27
  return applicationModules;
25
28
  }
29
+ exports.getApplicationModules = getApplicationModules;
@@ -1,6 +1,9 @@
1
- export default function getAuthPayloadSetup(messageBus, legacyControlBus, teardowns) {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function getAuthPayloadSetup(messageBus, legacyControlBus, teardowns) {
2
4
  const subscription = messageBus.sendResponse('getAuthPayload', () => {
3
5
  return Promise.resolve(legacyControlBus.getAuthPayload());
4
6
  });
5
7
  teardowns.push(() => subscription.unsubscribe());
6
8
  }
9
+ exports.default = getAuthPayloadSetup;
@@ -1,4 +1,6 @@
1
- export default function getModuleParams(moduleId, params = {}) {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function getModuleParams(moduleId, params = {}) {
2
4
  return Object.keys(params)
3
5
  .filter(item => {
4
6
  const lastIndex = item.lastIndexOf('.');
@@ -12,3 +14,4 @@ export default function getModuleParams(moduleId, params = {}) {
12
14
  return accumulator;
13
15
  }, Object.create({}));
14
16
  }
17
+ exports.default = getModuleParams;
@@ -1,20 +1,23 @@
1
- import { setupRegisterOutlet } from './setupRegisterOutlet.js';
2
- import { setupPathResolvers } from './assetPathResolvers.js';
3
- import setupResolveFeature from './resolveFeature.js';
4
- import setupResolveTabs from './resolveTabs.js';
5
- import setupResolveMenu from './resolveMenu.js';
6
- import platformCapabilitiesSetup from './platformCapabilities.js';
7
- import getAuthPayload from './getAuthPayload.js';
8
- import cdnOverrideSetup from './cdnOverrideSetup.js';
9
- import setupMobileSDKCapabilities from './mobileSDKCapabilities.js';
10
- export default function setupPrivateHelpers(messageBus, legacyControlBus, params$, tectonConfig$, capabilities, teardowns, contextHierarchy = {}) {
11
- setupMobileSDKCapabilities(messageBus, legacyControlBus, capabilities, teardowns);
12
- setupRegisterOutlet(messageBus, params$, teardowns);
13
- setupPathResolvers(messageBus, capabilities, legacyControlBus, tectonConfig$, teardowns);
14
- setupResolveFeature(legacyControlBus, messageBus, tectonConfig$, params$, teardowns, contextHierarchy);
15
- setupResolveTabs(legacyControlBus, messageBus, tectonConfig$, params$, teardowns, contextHierarchy);
16
- setupResolveMenu(legacyControlBus, messageBus, tectonConfig$, params$, teardowns, contextHierarchy);
17
- platformCapabilitiesSetup(messageBus, capabilities, teardowns);
18
- getAuthPayload(messageBus, legacyControlBus, teardowns);
19
- cdnOverrideSetup(messageBus, legacyControlBus, capabilities, teardowns);
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const setupRegisterOutlet_1 = require("./setupRegisterOutlet");
4
+ const assetPathResolvers_1 = require("./assetPathResolvers");
5
+ const resolveFeature_1 = require("./resolveFeature");
6
+ const resolveTabs_1 = require("./resolveTabs");
7
+ const resolveMenu_1 = require("./resolveMenu");
8
+ const platformCapabilities_1 = require("./platformCapabilities");
9
+ const getAuthPayload_1 = require("./getAuthPayload");
10
+ const cdnOverrideSetup_1 = require("./cdnOverrideSetup");
11
+ const mobileSDKCapabilities_1 = require("./mobileSDKCapabilities");
12
+ function setupPrivateHelpers(messageBus, legacyControlBus, params$, tectonConfig$, capabilities, teardowns, contextHierarchy = {}) {
13
+ (0, mobileSDKCapabilities_1.default)(messageBus, legacyControlBus, capabilities, teardowns);
14
+ (0, setupRegisterOutlet_1.setupRegisterOutlet)(messageBus, params$, teardowns);
15
+ (0, assetPathResolvers_1.setupPathResolvers)(messageBus, capabilities, legacyControlBus, tectonConfig$, teardowns);
16
+ (0, resolveFeature_1.default)(legacyControlBus, messageBus, tectonConfig$, params$, teardowns, contextHierarchy);
17
+ (0, resolveTabs_1.default)(legacyControlBus, messageBus, tectonConfig$, params$, teardowns, contextHierarchy);
18
+ (0, resolveMenu_1.default)(legacyControlBus, messageBus, tectonConfig$, params$, teardowns, contextHierarchy);
19
+ (0, platformCapabilities_1.default)(messageBus, capabilities, teardowns);
20
+ (0, getAuthPayload_1.default)(messageBus, legacyControlBus, teardowns);
21
+ (0, cdnOverrideSetup_1.default)(messageBus, legacyControlBus, capabilities, teardowns);
20
22
  }
23
+ exports.default = setupPrivateHelpers;
@@ -1,4 +1,6 @@
1
- export default function setupMobileSDKCapabilities(messageBus, legacyControlBus, capabilities, teardowns) {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function setupMobileSDKCapabilities(messageBus, legacyControlBus, capabilities, teardowns) {
2
4
  if (legacyControlBus.getMobileSDKCapabilities) {
3
5
  capabilities.add('getMobileSDKCapabilities');
4
6
  const subscription = messageBus.sendResponse('getMobileSDKCapabilities', () => {
@@ -7,3 +9,4 @@ export default function setupMobileSDKCapabilities(messageBus, legacyControlBus,
7
9
  teardowns.push(() => subscription.unsubscribe());
8
10
  }
9
11
  }
12
+ exports.default = setupMobileSDKCapabilities;
@@ -1,4 +1,6 @@
1
- export default function platformCapabilitiesSetup(messageBus, capabilities, teardowns) {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function platformCapabilitiesSetup(messageBus, capabilities, teardowns) {
2
4
  const subscription = messageBus.sendResponse('getPlatformCapabilities', () => {
3
5
  const platformCapabilities = Array.from(capabilities);
4
6
  return Promise.resolve({
@@ -7,3 +9,4 @@ export default function platformCapabilitiesSetup(messageBus, capabilities, tear
7
9
  });
8
10
  teardowns.push(() => subscription.unsubscribe());
9
11
  }
12
+ exports.default = platformCapabilitiesSetup;
@@ -58,8 +58,8 @@ export interface IOutletPathResolutionInfo {
58
58
  configPath: string[];
59
59
  pathOrigin: PathOrigin;
60
60
  }
61
- export declare type IPathResolutionInfo = IOutletPathResolutionInfo | IModulePathResolutionInfo;
62
- export declare type PathOrigin = 'legacy' | 'tectonRoute' | 'tectonOverpanel';
61
+ export type IPathResolutionInfo = IOutletPathResolutionInfo | IModulePathResolutionInfo;
62
+ export type PathOrigin = 'legacy' | 'tectonRoute' | 'tectonOverpanel';
63
63
  /**
64
64
  * Construct a dotnation path through the actual config for this request (configPath).
65
65
  * It also returns some ancillary information to that path.
@@ -1 +1 @@
1
- {"version":3,"file":"resolveFeature.d.ts","sourceRoot":"","sources":["../../../src/private-helpers/resolveFeature.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolveFeature.d.ts","sourceRoot":"","sources":["../../../src/private-helpers/resolveFeature.ts"],"names":[],"mappings":"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"}