@hai3/react 0.3.0-alpha.0 → 0.4.0-alpha.1

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.
package/dist/index.cjs CHANGED
@@ -20,139 +20,176 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/index.ts
21
21
  var src_exports = {};
22
22
  __export(src_exports, {
23
- ACCOUNTS_DOMAIN: () => import_framework2.ACCOUNTS_DOMAIN,
24
- ApiPlugin: () => import_framework2.ApiPlugin,
25
- ApiPluginBase: () => import_framework2.ApiPluginBase,
26
- ApiProtocol: () => import_framework2.ApiProtocol,
27
- AppRouter: () => AppRouter,
28
- BaseApiService: () => import_framework2.BaseApiService,
23
+ ACCOUNTS_DOMAIN: () => import_framework6.ACCOUNTS_DOMAIN,
24
+ ApiPlugin: () => import_framework6.ApiPlugin,
25
+ ApiPluginBase: () => import_framework6.ApiPluginBase,
26
+ ApiProtocol: () => import_framework6.ApiProtocol,
27
+ BaseApiService: () => import_framework6.BaseApiService,
28
+ ContainerProvider: () => import_framework15.ContainerProvider,
29
+ ExtensionDomainSlot: () => ExtensionDomainSlot,
29
30
  HAI3Context: () => HAI3Context,
30
31
  HAI3Provider: () => HAI3Provider,
31
- I18nRegistry: () => import_framework2.I18nRegistry,
32
- I18nRegistryImpl: () => import_framework2.I18nRegistryImpl,
33
- LAYOUT_SLICE_NAME: () => import_framework2.LAYOUT_SLICE_NAME,
34
- Language: () => import_framework3.Language,
35
- LanguageDisplayMode: () => import_framework3.LanguageDisplayMode,
36
- LayoutDomain: () => import_framework2.LayoutDomain,
37
- MOCK_PLUGIN: () => import_framework2.MOCK_PLUGIN,
38
- MockEventSource: () => import_framework2.MockEventSource,
39
- MockEvents: () => import_framework2.MockEvents,
40
- RestMockPlugin: () => import_framework2.RestMockPlugin,
41
- RestPlugin: () => import_framework2.RestPlugin,
42
- RestPluginWithConfig: () => import_framework2.RestPluginWithConfig,
43
- RestProtocol: () => import_framework2.RestProtocol,
44
- RouteParamsContext: () => RouteParamsContext,
45
- RouteParamsProvider: () => RouteParamsProvider,
46
- SUPPORTED_LANGUAGES: () => import_framework2.SUPPORTED_LANGUAGES,
47
- ScreensetCategory: () => import_framework2.ScreensetCategory,
48
- SseMockPlugin: () => import_framework2.SseMockPlugin,
49
- SsePlugin: () => import_framework2.SsePlugin,
50
- SsePluginWithConfig: () => import_framework2.SsePluginWithConfig,
51
- SseProtocol: () => import_framework2.SseProtocol,
52
- TENANT_SLICE_NAME: () => import_framework2.TENANT_SLICE_NAME,
53
- TenantEvents: () => import_framework2.TenantEvents,
54
- TextDirection: () => import_framework3.TextDirection,
55
- apiRegistry: () => import_framework2.apiRegistry,
56
- changeTenant: () => import_framework2.changeTenant,
57
- clearActiveScreen: () => import_framework2.clearActiveScreen,
58
- clearTenant: () => import_framework2.clearTenant,
59
- clearTenantAction: () => import_framework2.clearTenantAction,
60
- clearUser: () => import_framework2.clearUser,
61
- closeAllPopups: () => import_framework2.closeAllPopups,
62
- closePopup: () => import_framework2.closePopup,
63
- closeTopPopup: () => import_framework2.closeTopPopup,
64
- createHAI3: () => import_framework2.createHAI3,
65
- createHAI3App: () => import_framework2.createHAI3App,
66
- createI18nRegistry: () => import_framework2.createI18nRegistry,
67
- createRouteRegistry: () => import_framework2.createRouteRegistry,
68
- createScreensetRegistry: () => import_framework2.createScreensetRegistry,
69
- createSlice: () => import_framework2.createSlice,
70
- createStore: () => import_framework2.createStore,
71
- createThemeRegistry: () => import_framework2.createThemeRegistry,
72
- effects: () => import_framework2.effects,
32
+ HAI3_ACTION_LOAD_EXT: () => import_framework13.HAI3_ACTION_LOAD_EXT,
33
+ HAI3_ACTION_MOUNT_EXT: () => import_framework13.HAI3_ACTION_MOUNT_EXT,
34
+ HAI3_ACTION_UNMOUNT_EXT: () => import_framework13.HAI3_ACTION_UNMOUNT_EXT,
35
+ HAI3_MFE_ENTRY_MF: () => import_framework12.HAI3_MFE_ENTRY_MF,
36
+ HAI3_OVERLAY_DOMAIN: () => import_framework11.HAI3_OVERLAY_DOMAIN,
37
+ HAI3_POPUP_DOMAIN: () => import_framework11.HAI3_POPUP_DOMAIN,
38
+ HAI3_SCREEN_DOMAIN: () => import_framework11.HAI3_SCREEN_DOMAIN,
39
+ HAI3_SCREEN_EXTENSION_TYPE: () => import_framework12.HAI3_SCREEN_EXTENSION_TYPE,
40
+ HAI3_SHARED_PROPERTY_LANGUAGE: () => import_framework14.HAI3_SHARED_PROPERTY_LANGUAGE,
41
+ HAI3_SHARED_PROPERTY_THEME: () => import_framework14.HAI3_SHARED_PROPERTY_THEME,
42
+ HAI3_SIDEBAR_DOMAIN: () => import_framework11.HAI3_SIDEBAR_DOMAIN,
43
+ I18nRegistry: () => import_framework6.I18nRegistry,
44
+ I18nRegistryImpl: () => import_framework6.I18nRegistryImpl,
45
+ LAYOUT_SLICE_NAME: () => import_framework6.LAYOUT_SLICE_NAME,
46
+ Language: () => import_framework7.Language,
47
+ LanguageDisplayMode: () => import_framework7.LanguageDisplayMode,
48
+ LayoutDomain: () => import_framework6.LayoutDomain,
49
+ MOCK_PLUGIN: () => import_framework6.MOCK_PLUGIN,
50
+ MfeBridgeFactory: () => import_framework15.MfeBridgeFactory,
51
+ MfeContext: () => MfeContext,
52
+ MfeHandler: () => import_framework15.MfeHandler,
53
+ MfeHandlerMF: () => import_framework16.MfeHandlerMF,
54
+ MfeProvider: () => MfeProvider,
55
+ MockEventSource: () => import_framework6.MockEventSource,
56
+ MockEvents: () => import_framework6.MockEvents,
57
+ RefContainerProvider: () => RefContainerProvider,
58
+ RestMockPlugin: () => import_framework6.RestMockPlugin,
59
+ RestPlugin: () => import_framework6.RestPlugin,
60
+ RestPluginWithConfig: () => import_framework6.RestPluginWithConfig,
61
+ RestProtocol: () => import_framework6.RestProtocol,
62
+ SUPPORTED_LANGUAGES: () => import_framework6.SUPPORTED_LANGUAGES,
63
+ ScreensetsRegistry: () => import_framework15.ScreensetsRegistry,
64
+ ScreensetsRegistryFactory: () => import_framework15.ScreensetsRegistryFactory,
65
+ SseMockPlugin: () => import_framework6.SseMockPlugin,
66
+ SsePlugin: () => import_framework6.SsePlugin,
67
+ SsePluginWithConfig: () => import_framework6.SsePluginWithConfig,
68
+ SseProtocol: () => import_framework6.SseProtocol,
69
+ TENANT_SLICE_NAME: () => import_framework6.TENANT_SLICE_NAME,
70
+ TenantEvents: () => import_framework6.TenantEvents,
71
+ TextDirection: () => import_framework7.TextDirection,
72
+ apiRegistry: () => import_framework6.apiRegistry,
73
+ changeTenant: () => import_framework6.changeTenant,
74
+ clearActiveScreen: () => import_framework6.clearActiveScreen,
75
+ clearTenant: () => import_framework6.clearTenant,
76
+ clearTenantAction: () => import_framework6.clearTenantAction,
77
+ clearUser: () => import_framework6.clearUser,
78
+ closeAllPopups: () => import_framework6.closeAllPopups,
79
+ closePopup: () => import_framework6.closePopup,
80
+ closeTopPopup: () => import_framework6.closeTopPopup,
81
+ createHAI3: () => import_framework6.createHAI3,
82
+ createHAI3App: () => import_framework6.createHAI3App,
83
+ createI18nRegistry: () => import_framework6.createI18nRegistry,
84
+ createShadowRoot: () => import_framework17.createShadowRoot,
85
+ createSlice: () => import_framework6.createSlice,
86
+ createStore: () => import_framework6.createStore,
87
+ createThemeRegistry: () => import_framework6.createThemeRegistry,
88
+ effects: () => import_framework6.effects,
73
89
  eventBus: () => eventBus,
74
- footerActions: () => import_framework2.footerActions,
75
- footerSlice: () => import_framework2.footerSlice,
76
- getLanguageMetadata: () => import_framework2.getLanguageMetadata,
77
- getStore: () => import_framework2.getStore,
78
- hasSlice: () => import_framework2.hasSlice,
79
- headerActions: () => import_framework2.headerActions,
80
- headerSlice: () => import_framework2.headerSlice,
81
- hideOverlay: () => import_framework2.hideOverlay,
82
- i18n: () => import_framework2.i18n,
83
- i18nRegistry: () => import_framework2.i18nRegistry,
84
- initMockEffects: () => import_framework2.initMockEffects,
85
- initTenantEffects: () => import_framework2.initTenantEffects,
86
- isMockPlugin: () => import_framework2.isMockPlugin,
87
- isRestShortCircuit: () => import_framework2.isRestShortCircuit,
88
- isShortCircuit: () => import_framework2.isShortCircuit,
89
- isSseShortCircuit: () => import_framework2.isSseShortCircuit,
90
- layout: () => import_framework2.layout,
91
- layoutDomainReducers: () => import_framework2.layoutDomainReducers,
92
- layoutReducer: () => import_framework2.layoutReducer,
93
- menuActions: () => import_framework2.menuActions,
94
- menuSlice: () => import_framework2.menuSlice,
95
- mockActions: () => import_framework2.mockActions,
96
- mockSlice: () => import_framework2.mockSlice,
97
- navigateTo: () => import_framework2.navigateTo,
98
- navigation: () => import_framework2.navigation,
99
- openPopup: () => import_framework2.openPopup,
100
- overlayActions: () => import_framework2.overlayActions,
101
- overlaySlice: () => import_framework2.overlaySlice,
102
- popupActions: () => import_framework2.popupActions,
103
- popupSlice: () => import_framework2.popupSlice,
104
- presets: () => import_framework2.presets,
105
- registerSlice: () => import_framework2.registerSlice,
106
- routing: () => import_framework2.routing,
107
- screenActions: () => import_framework2.screenActions,
108
- screenSlice: () => import_framework2.screenSlice,
109
- screensetRegistry: () => import_framework2.screensetRegistry,
110
- screensets: () => import_framework2.screensets,
111
- setActiveScreen: () => import_framework2.setActiveScreen,
112
- setFooterConfig: () => import_framework2.setFooterConfig,
113
- setFooterVisible: () => import_framework2.setFooterVisible,
114
- setHeaderLoading: () => import_framework2.setHeaderLoading,
115
- setMenuCollapsed: () => import_framework2.setMenuCollapsed,
116
- setMenuConfig: () => import_framework2.setMenuConfig,
117
- setMenuItems: () => import_framework2.setMenuItems,
118
- setMenuVisible: () => import_framework2.setMenuVisible,
119
- setMockEnabled: () => import_framework2.setMockEnabled,
120
- setOverlayVisible: () => import_framework2.setOverlayVisible,
121
- setScreenLoading: () => import_framework2.setScreenLoading,
122
- setSidebarCollapsed: () => import_framework2.setSidebarCollapsed,
123
- setSidebarConfig: () => import_framework2.setSidebarConfig,
124
- setSidebarContent: () => import_framework2.setSidebarContent,
125
- setSidebarPosition: () => import_framework2.setSidebarPosition,
126
- setSidebarTitle: () => import_framework2.setSidebarTitle,
127
- setSidebarVisible: () => import_framework2.setSidebarVisible,
128
- setSidebarWidth: () => import_framework2.setSidebarWidth,
129
- setTenant: () => import_framework2.setTenant,
130
- setTenantLoading: () => import_framework2.setTenantLoading,
131
- setTenantLoadingState: () => import_framework2.setTenantLoadingState,
132
- setUser: () => import_framework2.setUser,
133
- showOverlay: () => import_framework2.showOverlay,
134
- sidebarActions: () => import_framework2.sidebarActions,
135
- sidebarSlice: () => import_framework2.sidebarSlice,
136
- tenantActions: () => import_framework2.tenantActions,
137
- tenantReducer: () => import_framework2.tenantReducer,
138
- tenantSlice: () => import_framework2.tenantSlice,
139
- themes: () => import_framework2.themes,
140
- toggleMenu: () => import_framework2.toggleMenu,
141
- toggleMockMode: () => import_framework2.toggleMockMode,
142
- toggleSidebar: () => import_framework2.toggleSidebar,
90
+ extractGtsPackage: () => import_framework17.extractGtsPackage,
91
+ footerActions: () => import_framework6.footerActions,
92
+ footerSlice: () => import_framework6.footerSlice,
93
+ getLanguageMetadata: () => import_framework6.getLanguageMetadata,
94
+ getStore: () => import_framework6.getStore,
95
+ gtsPlugin: () => import_framework16.gtsPlugin,
96
+ hasSlice: () => import_framework6.hasSlice,
97
+ headerActions: () => import_framework6.headerActions,
98
+ headerSlice: () => import_framework6.headerSlice,
99
+ hideOverlay: () => import_framework6.hideOverlay,
100
+ i18n: () => import_framework6.i18n,
101
+ i18nRegistry: () => import_framework6.i18nRegistry,
102
+ initMockEffects: () => import_framework6.initMockEffects,
103
+ initTenantEffects: () => import_framework6.initTenantEffects,
104
+ injectCssVariables: () => import_framework17.injectCssVariables,
105
+ isMockPlugin: () => import_framework6.isMockPlugin,
106
+ isRestShortCircuit: () => import_framework6.isRestShortCircuit,
107
+ isShortCircuit: () => import_framework6.isShortCircuit,
108
+ isSseShortCircuit: () => import_framework6.isSseShortCircuit,
109
+ layout: () => import_framework6.layout,
110
+ layoutDomainReducers: () => import_framework6.layoutDomainReducers,
111
+ layoutReducer: () => import_framework6.layoutReducer,
112
+ loadExtension: () => import_framework9.loadExtension,
113
+ menuActions: () => import_framework6.menuActions,
114
+ menuSlice: () => import_framework6.menuSlice,
115
+ microfrontends: () => import_framework8.microfrontends,
116
+ mock: () => import_framework8.mock,
117
+ mockActions: () => import_framework6.mockActions,
118
+ mockSlice: () => import_framework6.mockSlice,
119
+ mountExtension: () => import_framework9.mountExtension,
120
+ navigateTo: () => import_framework6.navigateTo,
121
+ openPopup: () => import_framework6.openPopup,
122
+ overlayActions: () => import_framework6.overlayActions,
123
+ overlayDomain: () => import_framework11.overlayDomain,
124
+ overlaySlice: () => import_framework6.overlaySlice,
125
+ popupActions: () => import_framework6.popupActions,
126
+ popupDomain: () => import_framework11.popupDomain,
127
+ popupSlice: () => import_framework6.popupSlice,
128
+ presets: () => import_framework6.presets,
129
+ registerExtension: () => import_framework9.registerExtension,
130
+ registerSlice: () => import_framework6.registerSlice,
131
+ screenActions: () => import_framework6.screenActions,
132
+ screenDomain: () => import_framework11.screenDomain,
133
+ screenSlice: () => import_framework6.screenSlice,
134
+ screensets: () => import_framework6.screensets,
135
+ screensetsRegistryFactory: () => import_framework15.screensetsRegistryFactory,
136
+ selectExtensionError: () => import_framework10.selectExtensionError,
137
+ selectExtensionState: () => import_framework10.selectExtensionState,
138
+ selectRegisteredExtensions: () => import_framework10.selectRegisteredExtensions,
139
+ setActiveScreen: () => import_framework6.setActiveScreen,
140
+ setFooterConfig: () => import_framework6.setFooterConfig,
141
+ setFooterVisible: () => import_framework6.setFooterVisible,
142
+ setHeaderLoading: () => import_framework6.setHeaderLoading,
143
+ setMenuCollapsed: () => import_framework6.setMenuCollapsed,
144
+ setMenuConfig: () => import_framework6.setMenuConfig,
145
+ setMenuItems: () => import_framework6.setMenuItems,
146
+ setMenuVisible: () => import_framework6.setMenuVisible,
147
+ setMockEnabled: () => import_framework6.setMockEnabled,
148
+ setOverlayVisible: () => import_framework6.setOverlayVisible,
149
+ setScreenLoading: () => import_framework6.setScreenLoading,
150
+ setSidebarCollapsed: () => import_framework6.setSidebarCollapsed,
151
+ setSidebarConfig: () => import_framework6.setSidebarConfig,
152
+ setSidebarContent: () => import_framework6.setSidebarContent,
153
+ setSidebarPosition: () => import_framework6.setSidebarPosition,
154
+ setSidebarTitle: () => import_framework6.setSidebarTitle,
155
+ setSidebarVisible: () => import_framework6.setSidebarVisible,
156
+ setSidebarWidth: () => import_framework6.setSidebarWidth,
157
+ setTenant: () => import_framework6.setTenant,
158
+ setTenantLoading: () => import_framework6.setTenantLoading,
159
+ setTenantLoadingState: () => import_framework6.setTenantLoadingState,
160
+ setUser: () => import_framework6.setUser,
161
+ showOverlay: () => import_framework6.showOverlay,
162
+ sidebarActions: () => import_framework6.sidebarActions,
163
+ sidebarDomain: () => import_framework11.sidebarDomain,
164
+ sidebarSlice: () => import_framework6.sidebarSlice,
165
+ tenantActions: () => import_framework6.tenantActions,
166
+ tenantReducer: () => import_framework6.tenantReducer,
167
+ tenantSlice: () => import_framework6.tenantSlice,
168
+ themes: () => import_framework6.themes,
169
+ toggleMenu: () => import_framework6.toggleMenu,
170
+ toggleMockMode: () => import_framework6.toggleMockMode,
171
+ toggleSidebar: () => import_framework6.toggleSidebar,
172
+ unmountExtension: () => import_framework9.unmountExtension,
173
+ unregisterExtension: () => import_framework9.unregisterExtension,
174
+ useActivePackage: () => useActivePackage,
143
175
  useAppDispatch: () => useAppDispatch,
144
176
  useAppSelector: () => useAppSelector,
177
+ useDomainExtensions: () => useDomainExtensions,
178
+ useFormatters: () => useFormatters,
145
179
  useHAI3: () => useHAI3,
146
- useNavigation: () => useNavigation,
147
- useRouteParams: () => useRouteParams,
180
+ useHostAction: () => useHostAction,
181
+ useMfeBridge: () => useMfeBridge,
182
+ useMfeContext: () => useMfeContext,
183
+ useRegisteredPackages: () => useRegisteredPackages,
148
184
  useScreenTranslations: () => useScreenTranslations,
185
+ useSharedProperty: () => useSharedProperty,
149
186
  useTheme: () => useTheme,
150
187
  useTranslation: () => useTranslation
151
188
  });
152
189
  module.exports = __toCommonJS(src_exports);
153
190
 
154
191
  // src/HAI3Provider.tsx
155
- var import_react2 = require("react");
192
+ var import_react3 = require("react");
156
193
  var import_react_redux = require("react-redux");
157
194
  var import_framework = require("@hai3/framework");
158
195
 
@@ -169,33 +206,51 @@ function useHAI3() {
169
206
  return context;
170
207
  }
171
208
 
172
- // src/HAI3Provider.tsx
209
+ // src/mfe/MfeContext.tsx
210
+ var import_react2 = require("react");
211
+ var MfeContext = (0, import_react2.createContext)(null);
212
+ function useMfeContext() {
213
+ const context = (0, import_react2.useContext)(MfeContext);
214
+ if (!context) {
215
+ throw new Error(
216
+ "useMfeContext must be used within a MfeProvider. This hook can only be used inside MFE components."
217
+ );
218
+ }
219
+ return context;
220
+ }
221
+
222
+ // src/mfe/MfeProvider.tsx
173
223
  var import_jsx_runtime = require("react/jsx-runtime");
224
+ var MfeProvider = ({ value, children }) => {
225
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MfeContext.Provider, { value, children });
226
+ };
227
+
228
+ // src/HAI3Provider.tsx
229
+ var import_jsx_runtime2 = require("react/jsx-runtime");
174
230
  var HAI3Provider = ({
175
231
  children,
176
232
  config,
177
233
  app: providedApp,
178
- router
234
+ mfeBridge
179
235
  }) => {
180
- const app = (0, import_react2.useMemo)(() => {
236
+ const app = (0, import_react3.useMemo)(() => {
181
237
  if (providedApp) {
182
238
  return providedApp;
183
239
  }
184
- const mergedConfig = {
185
- ...config,
186
- routerMode: router?.type,
187
- autoNavigate: router?.autoNavigate ?? config?.autoNavigate
188
- };
189
- return (0, import_framework.createHAI3App)(mergedConfig);
190
- }, [providedApp, config, router]);
191
- (0, import_react2.useEffect)(() => {
240
+ return (0, import_framework.createHAI3App)(config);
241
+ }, [providedApp, config]);
242
+ (0, import_react3.useEffect)(() => {
192
243
  return () => {
193
244
  if (!providedApp) {
194
245
  app.destroy();
195
246
  }
196
247
  };
197
248
  }, [app, providedApp]);
198
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(HAI3Context.Provider, { value: app, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_redux.Provider, { store: app.store, children }) });
249
+ const content = /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(HAI3Context.Provider, { value: app, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_redux.Provider, { store: app.store, children }) });
250
+ if (mfeBridge) {
251
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(MfeProvider, { value: mfeBridge, children: content });
252
+ }
253
+ return content;
199
254
  };
200
255
 
201
256
  // src/hooks/useAppDispatch.ts
@@ -209,12 +264,12 @@ var import_react_redux3 = require("react-redux");
209
264
  var useAppSelector = import_react_redux3.useSelector;
210
265
 
211
266
  // src/hooks/useTranslation.ts
212
- var import_react3 = require("react");
267
+ var import_react4 = require("react");
213
268
  function useTranslation() {
214
269
  const app = useHAI3();
215
270
  const { i18nRegistry: i18nRegistry2 } = app;
216
- const version = (0, import_react3.useSyncExternalStore)(
217
- (0, import_react3.useCallback)(
271
+ const version = (0, import_react4.useSyncExternalStore)(
272
+ (0, import_react4.useCallback)(
218
273
  (callback) => {
219
274
  return i18nRegistry2.subscribe(callback);
220
275
  },
@@ -223,23 +278,25 @@ function useTranslation() {
223
278
  () => i18nRegistry2.getVersion(),
224
279
  () => i18nRegistry2.getVersion()
225
280
  );
226
- const language = (0, import_react3.useMemo)(() => {
281
+ const language = (0, import_react4.useMemo)(() => {
227
282
  void version;
228
283
  return i18nRegistry2.getLanguage();
229
284
  }, [i18nRegistry2, version]);
230
- const t = (0, import_react3.useCallback)(
285
+ const t = (0, import_react4.useCallback)(
231
286
  (key, params) => {
232
287
  return i18nRegistry2.t(key, params);
233
288
  },
234
289
  [i18nRegistry2]
235
290
  );
236
- const setLanguage = (0, import_react3.useCallback)(
237
- async (lang) => {
238
- await i18nRegistry2.setLanguage(lang);
291
+ const setLanguage = (0, import_react4.useCallback)(
292
+ (lang) => {
293
+ if (app.actions.setLanguage) {
294
+ app.actions.setLanguage({ language: lang });
295
+ }
239
296
  },
240
- [i18nRegistry2]
297
+ [app.actions]
241
298
  );
242
- const isRTL = (0, import_react3.useMemo)(() => {
299
+ const isRTL = (0, import_react4.useMemo)(() => {
243
300
  void language;
244
301
  return i18nRegistry2.isRTL();
245
302
  }, [i18nRegistry2, language]);
@@ -252,29 +309,29 @@ function useTranslation() {
252
309
  }
253
310
 
254
311
  // src/hooks/useScreenTranslations.ts
255
- var import_react4 = require("react");
312
+ var import_react5 = require("react");
256
313
  function isTranslationLoader(input) {
257
314
  return typeof input === "function";
258
315
  }
259
316
  function useScreenTranslations(screensetId, screenId, translations) {
260
317
  const app = useHAI3();
261
318
  const { i18nRegistry: i18nRegistry2 } = app;
262
- const [loadedLanguage, setLoadedLanguage] = (0, import_react4.useState)(null);
263
- const [isLoading, setIsLoading] = (0, import_react4.useState)(false);
264
- const [error, setError] = (0, import_react4.useState)(null);
265
- const version = (0, import_react4.useSyncExternalStore)(
266
- (0, import_react4.useCallback)(
319
+ const [loadedLanguage, setLoadedLanguage] = (0, import_react5.useState)(null);
320
+ const [isLoading, setIsLoading] = (0, import_react5.useState)(false);
321
+ const [error, setError] = (0, import_react5.useState)(null);
322
+ const version = (0, import_react5.useSyncExternalStore)(
323
+ (0, import_react5.useCallback)(
267
324
  (callback) => i18nRegistry2.subscribe(callback),
268
325
  [i18nRegistry2]
269
326
  ),
270
327
  () => i18nRegistry2.getVersion(),
271
328
  () => i18nRegistry2.getVersion()
272
329
  );
273
- const currentLanguage = (0, import_react4.useMemo)(() => {
330
+ const currentLanguage = (0, import_react5.useMemo)(() => {
274
331
  void version;
275
332
  return i18nRegistry2.getLanguage();
276
333
  }, [i18nRegistry2, version]);
277
- const loader = (0, import_react4.useMemo)(() => {
334
+ const loader = (0, import_react5.useMemo)(() => {
278
335
  if (isTranslationLoader(translations)) {
279
336
  return translations;
280
337
  }
@@ -287,7 +344,7 @@ function useScreenTranslations(screensetId, screenId, translations) {
287
344
  return module2.default;
288
345
  };
289
346
  }, [translations]);
290
- (0, import_react4.useEffect)(() => {
347
+ (0, import_react5.useEffect)(() => {
291
348
  if (!currentLanguage || currentLanguage === loadedLanguage) {
292
349
  return;
293
350
  }
@@ -320,59 +377,29 @@ function useScreenTranslations(screensetId, screenId, translations) {
320
377
  return { isLoaded, error };
321
378
  }
322
379
 
323
- // src/hooks/useNavigation.ts
324
- var import_react5 = require("react");
325
- function useNavigation() {
326
- const app = useHAI3();
327
- const currentScreen = useAppSelector(
328
- (state) => {
329
- const flatKey = state;
330
- if (flatKey["layout/screen"]) {
331
- return flatKey["layout/screen"].activeScreen ?? null;
332
- }
333
- const nested = state;
334
- return nested.layout?.screen?.activeScreen ?? null;
335
- }
336
- );
337
- const navigateToScreen = (0, import_react5.useCallback)(
338
- (screensetId, screenId, params) => {
339
- if (app.actions.navigateToScreen) {
340
- app.actions.navigateToScreen({ screensetId, screenId, params });
341
- }
342
- },
343
- [app.actions]
344
- );
345
- const navigateToScreenset = (0, import_react5.useCallback)(
346
- (screensetId) => {
347
- if (app.actions.navigateToScreenset) {
348
- app.actions.navigateToScreenset({ screensetId });
349
- }
380
+ // src/hooks/useFormatters.ts
381
+ var import_react6 = require("react");
382
+ var import_framework2 = require("@hai3/framework");
383
+ function useFormatters() {
384
+ const { language } = useTranslation();
385
+ return (0, import_react6.useMemo)(
386
+ () => {
387
+ void language;
388
+ return {
389
+ formatDate: import_framework2.formatDate,
390
+ formatTime: import_framework2.formatTime,
391
+ formatDateTime: import_framework2.formatDateTime,
392
+ formatRelative: import_framework2.formatRelative,
393
+ formatNumber: import_framework2.formatNumber,
394
+ formatPercent: import_framework2.formatPercent,
395
+ formatCompact: import_framework2.formatCompact,
396
+ formatCurrency: import_framework2.formatCurrency,
397
+ compareStrings: import_framework2.compareStrings,
398
+ createCollator: import_framework2.createCollator
399
+ };
350
400
  },
351
- [app.actions]
401
+ [language]
352
402
  );
353
- const currentScreenset = currentScreen ? app.routeRegistry?.getScreensetForScreen(currentScreen) ?? null : null;
354
- return {
355
- navigateToScreen,
356
- navigateToScreenset,
357
- currentScreenset,
358
- currentScreen
359
- };
360
- }
361
-
362
- // src/contexts/RouteParamsContext.tsx
363
- var import_react6 = require("react");
364
- var import_jsx_runtime2 = require("react/jsx-runtime");
365
- var RouteParamsContext = (0, import_react6.createContext)({});
366
- function RouteParamsProvider({ params, children }) {
367
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(RouteParamsContext.Provider, { value: params, children });
368
- }
369
- function useRouteParamsContext() {
370
- return (0, import_react6.useContext)(RouteParamsContext);
371
- }
372
-
373
- // src/hooks/useRouteParams.ts
374
- function useRouteParams() {
375
- return useRouteParamsContext();
376
403
  }
377
404
 
378
405
  // src/hooks/useTheme.ts
@@ -416,101 +443,310 @@ function useTheme() {
416
443
  };
417
444
  }
418
445
 
419
- // src/components/AppRouter.tsx
446
+ // src/mfe/hooks/useMfeBridge.ts
447
+ function useMfeBridge() {
448
+ const { bridge } = useMfeContext();
449
+ return bridge;
450
+ }
451
+
452
+ // src/mfe/hooks/useSharedProperty.ts
420
453
  var import_react8 = require("react");
421
- var import_jsx_runtime3 = require("react/jsx-runtime");
422
- var AppRouter = ({
423
- fallback = null,
424
- errorFallback
425
- }) => {
454
+ function useSharedProperty(propertyTypeId) {
455
+ const { bridge } = useMfeContext();
456
+ const subscribe = (0, import_react8.useCallback)((callback) => {
457
+ return bridge.subscribeToProperty(propertyTypeId, () => {
458
+ callback();
459
+ });
460
+ }, [bridge, propertyTypeId]);
461
+ const getSnapshot = (0, import_react8.useCallback)(() => {
462
+ const property = bridge.getProperty(propertyTypeId);
463
+ return property?.value;
464
+ }, [bridge, propertyTypeId]);
465
+ const value = (0, import_react8.useSyncExternalStore)(subscribe, getSnapshot, getSnapshot);
466
+ return value;
467
+ }
468
+
469
+ // src/mfe/hooks/useHostAction.ts
470
+ var import_react9 = require("react");
471
+ function useHostAction(actionTypeId) {
472
+ const { bridge } = useMfeContext();
473
+ return (0, import_react9.useCallback)((payload) => {
474
+ const chain = {
475
+ action: {
476
+ type: actionTypeId,
477
+ target: bridge.domainId,
478
+ payload
479
+ }
480
+ };
481
+ bridge.executeActionsChain(chain).catch((error) => {
482
+ console.error(
483
+ `[useHostAction] Failed to send action '${actionTypeId}':`,
484
+ error
485
+ );
486
+ });
487
+ }, [actionTypeId, bridge]);
488
+ }
489
+
490
+ // src/mfe/hooks/useDomainExtensions.ts
491
+ var import_react10 = require("react");
492
+ function useDomainExtensions(domainId) {
426
493
  const app = useHAI3();
427
- const { currentScreenset, currentScreen } = useNavigation();
428
- const [ScreenComponent, setScreenComponent] = (0, import_react8.useState)(null);
429
- const [error, setError] = (0, import_react8.useState)(null);
430
- const [routeParams, setRouteParams] = (0, import_react8.useState)(() => {
431
- if (typeof window === "undefined") {
432
- return {};
494
+ const registry = app.screensetsRegistry;
495
+ if (!registry) {
496
+ throw new Error(
497
+ "useDomainExtensions requires the microfrontends plugin. Add microfrontends() to your HAI3 app configuration."
498
+ );
499
+ }
500
+ const subscribe = (0, import_react10.useCallback)(
501
+ (onStoreChange) => {
502
+ return app.store.subscribe(onStoreChange);
503
+ },
504
+ [app.store]
505
+ );
506
+ const cacheRef = (0, import_react10.useRef)({ ids: "", extensions: [] });
507
+ const getSnapshot = (0, import_react10.useCallback)(() => {
508
+ const extensions = registry.getExtensionsForDomain(domainId);
509
+ const ids = extensions.map((e) => e.id).join(",");
510
+ if (ids !== cacheRef.current.ids) {
511
+ cacheRef.current = { ids, extensions };
433
512
  }
434
- const pathname = window.location.pathname;
435
- const base = app.config.base || "";
436
- const internalPath = base && pathname.startsWith(base) ? pathname.slice(base.length) || "/" : pathname;
437
- const match = app.routeRegistry?.matchRoute(internalPath);
438
- return match?.params ?? {};
439
- });
440
- (0, import_react8.useEffect)(() => {
441
- if (typeof window === "undefined") {
442
- return;
513
+ return cacheRef.current.extensions;
514
+ }, [registry, domainId]);
515
+ return (0, import_react10.useSyncExternalStore)(subscribe, getSnapshot, getSnapshot);
516
+ }
517
+
518
+ // src/mfe/hooks/useRegisteredPackages.ts
519
+ var import_react11 = require("react");
520
+ function useRegisteredPackages() {
521
+ const app = useHAI3();
522
+ const registry = app.screensetsRegistry;
523
+ if (!registry) {
524
+ throw new Error(
525
+ "useRegisteredPackages requires the microfrontends plugin. Add microfrontends() to your HAI3 app configuration."
526
+ );
527
+ }
528
+ const subscribe = (0, import_react11.useCallback)(
529
+ (onStoreChange) => {
530
+ return app.store.subscribe(onStoreChange);
531
+ },
532
+ [app.store]
533
+ );
534
+ const cacheRef = (0, import_react11.useRef)({ packages: "", list: [] });
535
+ const getSnapshot = (0, import_react11.useCallback)(() => {
536
+ const list = registry.getRegisteredPackages();
537
+ const packages = list.join(",");
538
+ if (packages !== cacheRef.current.packages) {
539
+ cacheRef.current = { packages, list };
443
540
  }
444
- const pathname = window.location.pathname;
445
- const base = app.config.base || "";
446
- const internalPath = base && pathname.startsWith(base) ? pathname.slice(base.length) || "/" : pathname;
447
- const match = app.routeRegistry?.matchRoute(internalPath);
448
- setRouteParams(match?.params ?? {});
449
- }, [app.config.base, app.routeRegistry, currentScreen]);
450
- (0, import_react8.useEffect)(() => {
451
- let cancelled = false;
452
- const loadScreen = async () => {
453
- if (!currentScreenset || !currentScreen) {
454
- setScreenComponent(null);
541
+ return cacheRef.current.list;
542
+ }, [registry]);
543
+ return (0, import_react11.useSyncExternalStore)(subscribe, getSnapshot, getSnapshot);
544
+ }
545
+
546
+ // src/mfe/hooks/useActivePackage.ts
547
+ var import_react12 = require("react");
548
+ var import_framework3 = require("@hai3/framework");
549
+ function useActivePackage() {
550
+ const app = useHAI3();
551
+ const registry = app.screensetsRegistry;
552
+ if (!registry) {
553
+ throw new Error(
554
+ "useActivePackage requires the microfrontends plugin. Add microfrontends() to your HAI3 app configuration."
555
+ );
556
+ }
557
+ const subscribe = (0, import_react12.useCallback)(
558
+ (onStoreChange) => {
559
+ return app.store.subscribe(onStoreChange);
560
+ },
561
+ [app.store]
562
+ );
563
+ const cacheRef = (0, import_react12.useRef)({ activePackage: void 0 });
564
+ const getSnapshot = (0, import_react12.useCallback)(() => {
565
+ const mountedExtensionId = registry.getMountedExtension(import_framework3.HAI3_SCREEN_DOMAIN);
566
+ if (!mountedExtensionId) {
567
+ const result = void 0;
568
+ if (result !== cacheRef.current.activePackage) {
569
+ cacheRef.current = { activePackage: result };
570
+ }
571
+ return cacheRef.current.activePackage;
572
+ }
573
+ const activePackage = (0, import_framework3.extractGtsPackage)(mountedExtensionId);
574
+ if (activePackage !== cacheRef.current.activePackage) {
575
+ cacheRef.current = { activePackage };
576
+ }
577
+ return cacheRef.current.activePackage;
578
+ }, [registry]);
579
+ return (0, import_react12.useSyncExternalStore)(subscribe, getSnapshot, getSnapshot);
580
+ }
581
+
582
+ // src/mfe/components/RefContainerProvider.ts
583
+ var import_framework4 = require("@hai3/framework");
584
+ var RefContainerProvider = class extends import_framework4.ContainerProvider {
585
+ constructor(containerRef) {
586
+ super();
587
+ this.containerRef = containerRef;
588
+ }
589
+ getContainer(_extensionId) {
590
+ if (!this.containerRef.current) {
591
+ throw new Error("Container ref is not attached -- component may not be mounted yet");
592
+ }
593
+ return this.containerRef.current;
594
+ }
595
+ releaseContainer(_extensionId) {
596
+ }
597
+ };
598
+
599
+ // src/mfe/components/ExtensionDomainSlot.tsx
600
+ var import_react13 = require("react");
601
+ var import_framework5 = require("@hai3/framework");
602
+ var import_jsx_runtime3 = require("react/jsx-runtime");
603
+ function ExtensionDomainSlot(props) {
604
+ const {
605
+ registry,
606
+ domainId,
607
+ extensionId,
608
+ className,
609
+ onMounted,
610
+ onUnmounted,
611
+ onError,
612
+ loadingComponent,
613
+ errorComponent
614
+ } = props;
615
+ const containerRef = (0, import_react13.useRef)(null);
616
+ const [isLoading, setIsLoading] = (0, import_react13.useState)(true);
617
+ const [error, setError] = (0, import_react13.useState)(null);
618
+ const [bridge, setBridge] = (0, import_react13.useState)(null);
619
+ (0, import_react13.useEffect)(() => {
620
+ let mounted = true;
621
+ let currentBridge = null;
622
+ async function mountExtension2() {
623
+ if (!containerRef.current) {
455
624
  return;
456
625
  }
457
626
  try {
458
- const loader = app.routeRegistry.getScreen(currentScreenset, currentScreen);
459
- if (!loader) {
460
- throw new Error(
461
- `Screen "${currentScreen}" not found in screenset "${currentScreenset}".`
462
- );
627
+ setIsLoading(true);
628
+ setError(null);
629
+ await registry.executeActionsChain({
630
+ action: {
631
+ type: import_framework5.HAI3_ACTION_MOUNT_EXT,
632
+ target: domainId,
633
+ payload: {
634
+ extensionId
635
+ }
636
+ }
637
+ });
638
+ if (!mounted) {
639
+ await registry.executeActionsChain({
640
+ action: {
641
+ type: import_framework5.HAI3_ACTION_UNMOUNT_EXT,
642
+ target: domainId,
643
+ payload: {
644
+ extensionId
645
+ }
646
+ }
647
+ });
648
+ return;
463
649
  }
464
- const module2 = await loader();
465
- if (!cancelled) {
466
- setScreenComponent(() => module2.default);
467
- setError(null);
650
+ const newBridge = registry.getParentBridge(extensionId);
651
+ if (!newBridge) {
652
+ throw new Error(`Failed to obtain bridge for extension ${extensionId} after mount`);
653
+ }
654
+ currentBridge = newBridge;
655
+ setBridge(newBridge);
656
+ setIsLoading(false);
657
+ if (onMounted) {
658
+ onMounted(newBridge);
468
659
  }
469
660
  } catch (err) {
470
- if (!cancelled) {
471
- setError(err instanceof Error ? err : new Error(String(err)));
472
- setScreenComponent(null);
661
+ if (!mounted) {
662
+ return;
663
+ }
664
+ const errorObj = err instanceof Error ? err : new Error(String(err));
665
+ setError(errorObj);
666
+ setIsLoading(false);
667
+ if (onError) {
668
+ onError(errorObj);
473
669
  }
474
670
  }
475
- };
476
- loadScreen();
671
+ }
672
+ void mountExtension2();
477
673
  return () => {
478
- cancelled = true;
479
- };
480
- }, [currentScreenset, currentScreen, app.routeRegistry]);
481
- if (error) {
482
- if (errorFallback) {
483
- if (typeof errorFallback === "function") {
484
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, { children: errorFallback(error) });
674
+ mounted = false;
675
+ if (currentBridge) {
676
+ void registry.executeActionsChain({
677
+ action: {
678
+ type: import_framework5.HAI3_ACTION_UNMOUNT_EXT,
679
+ target: domainId,
680
+ payload: {
681
+ extensionId
682
+ }
683
+ }
684
+ }).then(() => {
685
+ if (onUnmounted) {
686
+ onUnmounted();
687
+ }
688
+ });
485
689
  }
486
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, { children: errorFallback });
487
- }
488
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: "p-5 text-destructive", children: [
489
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("h2", { children: "Error loading screen" }),
490
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("p", { children: error.message })
491
- ] });
690
+ };
691
+ }, [registry, domainId, extensionId, onMounted, onUnmounted, onError]);
692
+ if (isLoading) {
693
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className, "data-domain-id": domainId, "data-extension-id": extensionId, children: loadingComponent ?? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { children: "Loading extension..." }) });
492
694
  }
493
- if (!ScreenComponent) {
494
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, { children: fallback });
695
+ if (error) {
696
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className, "data-domain-id": domainId, "data-extension-id": extensionId, children: errorComponent ? errorComponent(error) : /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { children: [
697
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("strong", { children: "Error loading extension:" }),
698
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("pre", { children: error.message })
699
+ ] }) });
495
700
  }
496
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(RouteParamsProvider, { params: routeParams, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react8.Suspense, { fallback, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(ScreenComponent, {}) }) });
497
- };
701
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
702
+ "div",
703
+ {
704
+ ref: containerRef,
705
+ className,
706
+ "data-domain-id": domainId,
707
+ "data-extension-id": extensionId,
708
+ "data-bridge-active": bridge !== null
709
+ }
710
+ );
711
+ }
498
712
 
499
713
  // src/index.ts
500
- var import_framework2 = require("@hai3/framework");
501
- var import_framework3 = require("@hai3/framework");
502
- var import_framework4 = require("@hai3/framework");
503
- var eventBus = import_framework4.eventBus;
714
+ var import_framework6 = require("@hai3/framework");
715
+ var import_framework7 = require("@hai3/framework");
716
+ var import_framework8 = require("@hai3/framework");
717
+ var import_framework9 = require("@hai3/framework");
718
+ var import_framework10 = require("@hai3/framework");
719
+ var import_framework11 = require("@hai3/framework");
720
+ var import_framework12 = require("@hai3/framework");
721
+ var import_framework13 = require("@hai3/framework");
722
+ var import_framework14 = require("@hai3/framework");
723
+ var import_framework15 = require("@hai3/framework");
724
+ var import_framework16 = require("@hai3/framework");
725
+ var import_framework17 = require("@hai3/framework");
726
+ var import_framework18 = require("@hai3/framework");
727
+ var eventBus = import_framework18.eventBus;
504
728
  // Annotate the CommonJS export names for ESM import in node:
505
729
  0 && (module.exports = {
506
730
  ACCOUNTS_DOMAIN,
507
731
  ApiPlugin,
508
732
  ApiPluginBase,
509
733
  ApiProtocol,
510
- AppRouter,
511
734
  BaseApiService,
735
+ ContainerProvider,
736
+ ExtensionDomainSlot,
512
737
  HAI3Context,
513
738
  HAI3Provider,
739
+ HAI3_ACTION_LOAD_EXT,
740
+ HAI3_ACTION_MOUNT_EXT,
741
+ HAI3_ACTION_UNMOUNT_EXT,
742
+ HAI3_MFE_ENTRY_MF,
743
+ HAI3_OVERLAY_DOMAIN,
744
+ HAI3_POPUP_DOMAIN,
745
+ HAI3_SCREEN_DOMAIN,
746
+ HAI3_SCREEN_EXTENSION_TYPE,
747
+ HAI3_SHARED_PROPERTY_LANGUAGE,
748
+ HAI3_SHARED_PROPERTY_THEME,
749
+ HAI3_SIDEBAR_DOMAIN,
514
750
  I18nRegistry,
515
751
  I18nRegistryImpl,
516
752
  LAYOUT_SLICE_NAME,
@@ -518,16 +754,21 @@ var eventBus = import_framework4.eventBus;
518
754
  LanguageDisplayMode,
519
755
  LayoutDomain,
520
756
  MOCK_PLUGIN,
757
+ MfeBridgeFactory,
758
+ MfeContext,
759
+ MfeHandler,
760
+ MfeHandlerMF,
761
+ MfeProvider,
521
762
  MockEventSource,
522
763
  MockEvents,
764
+ RefContainerProvider,
523
765
  RestMockPlugin,
524
766
  RestPlugin,
525
767
  RestPluginWithConfig,
526
768
  RestProtocol,
527
- RouteParamsContext,
528
- RouteParamsProvider,
529
769
  SUPPORTED_LANGUAGES,
530
- ScreensetCategory,
770
+ ScreensetsRegistry,
771
+ ScreensetsRegistryFactory,
531
772
  SseMockPlugin,
532
773
  SsePlugin,
533
774
  SsePluginWithConfig,
@@ -547,17 +788,18 @@ var eventBus = import_framework4.eventBus;
547
788
  createHAI3,
548
789
  createHAI3App,
549
790
  createI18nRegistry,
550
- createRouteRegistry,
551
- createScreensetRegistry,
791
+ createShadowRoot,
552
792
  createSlice,
553
793
  createStore,
554
794
  createThemeRegistry,
555
795
  effects,
556
796
  eventBus,
797
+ extractGtsPackage,
557
798
  footerActions,
558
799
  footerSlice,
559
800
  getLanguageMetadata,
560
801
  getStore,
802
+ gtsPlugin,
561
803
  hasSlice,
562
804
  headerActions,
563
805
  headerSlice,
@@ -566,6 +808,7 @@ var eventBus = import_framework4.eventBus;
566
808
  i18nRegistry,
567
809
  initMockEffects,
568
810
  initTenantEffects,
811
+ injectCssVariables,
569
812
  isMockPlugin,
570
813
  isRestShortCircuit,
571
814
  isShortCircuit,
@@ -573,24 +816,33 @@ var eventBus = import_framework4.eventBus;
573
816
  layout,
574
817
  layoutDomainReducers,
575
818
  layoutReducer,
819
+ loadExtension,
576
820
  menuActions,
577
821
  menuSlice,
822
+ microfrontends,
823
+ mock,
578
824
  mockActions,
579
825
  mockSlice,
826
+ mountExtension,
580
827
  navigateTo,
581
- navigation,
582
828
  openPopup,
583
829
  overlayActions,
830
+ overlayDomain,
584
831
  overlaySlice,
585
832
  popupActions,
833
+ popupDomain,
586
834
  popupSlice,
587
835
  presets,
836
+ registerExtension,
588
837
  registerSlice,
589
- routing,
590
838
  screenActions,
839
+ screenDomain,
591
840
  screenSlice,
592
- screensetRegistry,
593
841
  screensets,
842
+ screensetsRegistryFactory,
843
+ selectExtensionError,
844
+ selectExtensionState,
845
+ selectRegisteredExtensions,
594
846
  setActiveScreen,
595
847
  setFooterConfig,
596
848
  setFooterVisible,
@@ -615,6 +867,7 @@ var eventBus = import_framework4.eventBus;
615
867
  setUser,
616
868
  showOverlay,
617
869
  sidebarActions,
870
+ sidebarDomain,
618
871
  sidebarSlice,
619
872
  tenantActions,
620
873
  tenantReducer,
@@ -623,12 +876,20 @@ var eventBus = import_framework4.eventBus;
623
876
  toggleMenu,
624
877
  toggleMockMode,
625
878
  toggleSidebar,
879
+ unmountExtension,
880
+ unregisterExtension,
881
+ useActivePackage,
626
882
  useAppDispatch,
627
883
  useAppSelector,
884
+ useDomainExtensions,
885
+ useFormatters,
628
886
  useHAI3,
629
- useNavigation,
630
- useRouteParams,
887
+ useHostAction,
888
+ useMfeBridge,
889
+ useMfeContext,
890
+ useRegisteredPackages,
631
891
  useScreenTranslations,
892
+ useSharedProperty,
632
893
  useTheme,
633
894
  useTranslation
634
895
  });