@hai3/react 0.2.0-alpha.1 → 0.2.0-alpha.3

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.d.cts CHANGED
@@ -1,13 +1,11 @@
1
1
  import * as React from 'react';
2
- import React__default, { ReactNode } from 'react';
3
- import { HAI3ProviderProps, UseTranslationReturn, UseScreenTranslationsReturn, UseNavigationReturn, UseThemeReturn, TextLoaderProps, AppRouterProps } from './types.cjs';
4
- export { AppRouterComponent, HAI3ProviderComponent, TextLoaderComponent, UseAppDispatchReturn, UseAppSelector, UseHAI3Return, UseLanguageReturn, UseMenuReturn, UseOverlayReturn, UsePopupReturn, UseScreenReturn, UseScreensetReturn } from './types.cjs';
5
- import { HAI3App, AppDispatch, RootState, TranslationMap, TranslationLoader } from '@hai3/framework';
6
- export { ACCOUNTS_DOMAIN, ApiProtocol, ApiService, ApiServiceConfig, ApiServicesMap, AppDispatch, BaseApiService, ChangeThemePayload, EventHandler, EventPayloadMap, FooterConfig, FooterState, HAI3App, HAI3AppBuilder, HAI3Config, HAI3Plugin, HAI3Store, HeaderConfig, HeaderState, HeaderUser, I18nConfig, I18nRegistry, I18nRegistryImpl, I18nRegistryType, JsonCompatible, JsonObject, JsonPrimitive, JsonValue, LAYOUT_SLICE_NAME, LanguageMetadata, LayoutDomain, LayoutDomainReducers, LayoutDomainState, LayoutState, LegacyTheme, MenuItem, MenuItemConfig, MenuScreenItem, MenuState, MockMap, MockPlugin, NavigateToScreenPayload, NavigateToScreensetPayload, OverlayConfig, OverlayState, PluginFactory, PluginLifecycle, PluginProvides, PopupConfig, PopupSliceState, PopupState, Preset, Presets, RestProtocol, RestProtocolConfig, RootState, RootStateWithLayout, RouteRegistry, SUPPORTED_LANGUAGES, ScreenConfig, ScreenId, ScreenLoader, ScreenState, ScreensetCategory, ScreensetConfig, ScreensetDefinition, ScreensetId, ScreensetRegistry, ScreensetsConfig, SetLanguagePayload, ShowPopupPayload, SidebarPosition, SidebarState, SliceObject, SseProtocol, SseProtocolConfig, Subscription, TENANT_SLICE_NAME, Tenant, TenantChangedPayload, TenantClearedPayload, TenantEvents, TenantState, ThemeApplyFn, ThemeConfig, ThemeRegistry, TranslationDictionary, TranslationLoader, TranslationMap, apiRegistry, changeTenant, clearActiveScreen, clearTenant, clearTenantAction, clearUser, closeAllPopups, closePopup, closeTopPopup, createHAI3, createHAI3App, createI18nRegistry, createRouteRegistry, createScreensetRegistry, createSlice, createStore, createThemeRegistry, effects, eventBus, fetchCurrentUser, footerActions, footerSlice, getLanguageMetadata, getStore, hasSlice, headerActions, headerSlice, hideOverlay, i18n, i18nRegistry, initTenantEffects, layout, layoutDomainReducers, layoutReducer, menuActions, menuSlice, navigateTo, navigateToScreen, navigation, openPopup, overlayActions, overlaySlice, popupActions, popupSlice, presets, registerSlice, routeRegistry, routing, screenActions, screenSlice, screensetRegistry, screensets, setActiveScreen, setFooterConfig, setFooterVisible, setHeaderLoading, setMenuCollapsed, setMenuConfig, setMenuItems, setMenuVisible, setOverlayVisible, setScreenLoading, setSidebarCollapsed, setSidebarConfig, setSidebarContent, setSidebarPosition, setSidebarTitle, setSidebarVisible, setSidebarWidth, setTenant, setTenantLoading, setTenantLoadingState, setUser, showOverlay, sidebarActions, sidebarSlice, tenantActions, tenantReducer, tenantSlice, themeRegistry, themes, toggleMenu, toggleSidebar } from '@hai3/framework';
2
+ import React__default from 'react';
3
+ import { HAI3ProviderProps, UseTranslationReturn, UseScreenTranslationsReturn, UseNavigationReturn, UseThemeReturn, AppRouterProps } from './types.cjs';
4
+ export { AppRouterComponent, HAI3ProviderComponent, UseAppDispatchReturn, UseAppSelector, UseHAI3Return, UseLanguageReturn, UseMenuReturn, UseOverlayReturn, UsePopupReturn, UseScreenReturn, UseScreensetReturn } from './types.cjs';
5
+ import { HAI3App, AppDispatch, RootState, TranslationMap, TranslationLoader, EventPayloadMap as EventPayloadMap$1 } from '@hai3/framework';
6
+ export { ACCOUNTS_DOMAIN, ApiPlugin, ApiPluginBase, ApiPluginErrorContext, ApiProtocol, ApiRequestContext, ApiResponseContext, ApiServiceConfig, AppDispatch, BaseApiService, BasePluginHooks, ChangeThemePayload, EventHandler, EventSourceLike, FooterConfig, FooterState, HAI3App, HAI3AppBuilder, HAI3Config, HAI3Plugin, HAI3Store, HeaderConfig, HeaderState, HeaderUser, I18nConfig, I18nRegistry, I18nRegistryImpl, I18nRegistryType, JsonCompatible, JsonObject, JsonPrimitive, JsonValue, LAYOUT_SLICE_NAME, Language, LanguageDisplayMode, LanguageMetadata, LayoutDomain, LayoutDomainReducers, LayoutDomainState, LayoutState, MOCK_PLUGIN, MenuItem, MenuItemConfig, MenuScreenItem, MenuState, MockEventSource, MockEvents, MockMap, MockState, MockTogglePayload, NavigateToScreenPayload, NavigateToScreensetPayload, OverlayConfig, OverlayState, PluginClass, PluginFactory, PluginLifecycle, PluginProvides, PopupConfig, PopupSliceState, PopupState, Preset, Presets, ProtocolClass, ProtocolPluginType, RestMockConfig, RestMockPlugin, RestPlugin, RestPluginHooks, RestPluginWithConfig, RestProtocol, RestProtocolConfig, RestRequestContext, RestResponseContext, RestShortCircuitResponse, RootState, RootStateWithLayout, RouteRegistry, SUPPORTED_LANGUAGES, ScreenConfig, ScreenId, ScreenLoader, ScreenState, ScreensetCategory, ScreensetConfig, ScreensetDefinition, ScreensetId, ScreensetRegistry, ScreensetsConfig, SetLanguagePayload, ShortCircuitResponse, ShowPopupPayload, SidebarPosition, SidebarState, SliceObject, SseConnectContext, SseMockConfig, SseMockEvent, SseMockPlugin, SsePlugin, SsePluginHooks, SsePluginWithConfig, SseProtocol, SseProtocolConfig, SseShortCircuitResponse, Subscription, TENANT_SLICE_NAME, Tenant, TenantChangedPayload, TenantClearedPayload, TenantEvents, TenantState, TextDirection, ThemeApplyFn, ThemeConfig, ThemeRegistry, TranslationDictionary, TranslationLoader, TranslationMap, UikitTheme, apiRegistry, changeTenant, clearActiveScreen, clearTenant, clearTenantAction, clearUser, closeAllPopups, closePopup, closeTopPopup, createHAI3, createHAI3App, createI18nRegistry, createRouteRegistry, createScreensetRegistry, createSlice, createStore, createThemeRegistry, effects, footerActions, footerSlice, getLanguageMetadata, getStore, hasSlice, headerActions, headerSlice, hideOverlay, i18n, i18nRegistry, initMockEffects, initTenantEffects, isMockPlugin, isRestShortCircuit, isShortCircuit, isSseShortCircuit, layout, layoutDomainReducers, layoutReducer, menuActions, menuSlice, mockActions, mockSlice, navigateTo, navigation, openPopup, overlayActions, overlaySlice, popupActions, popupSlice, presets, registerSlice, routing, screenActions, screenSlice, screensetRegistry, screensets, setActiveScreen, setFooterConfig, setFooterVisible, setHeaderLoading, setMenuCollapsed, setMenuConfig, setMenuItems, setMenuVisible, setMockEnabled, setOverlayVisible, setScreenLoading, setSidebarCollapsed, setSidebarConfig, setSidebarContent, setSidebarPosition, setSidebarTitle, setSidebarVisible, setSidebarWidth, setTenant, setTenantLoading, setTenantLoadingState, setUser, showOverlay, sidebarActions, sidebarSlice, tenantActions, tenantReducer, tenantSlice, themes, toggleMenu, toggleMockMode, toggleSidebar } from '@hai3/framework';
7
7
  import { TypedUseSelectorHook } from 'react-redux';
8
- import { ComponentName, UiKitComponentMap, UiKitIcon } from '@hai3/uikit';
9
- export { ComponentName, UiKitComponent, UiKitComponentMap, UiKitIcon } from '@hai3/uikit';
10
- export { Language, LanguageDisplayMode, TextDirection } from '@hai3/i18n';
8
+ import { EventBus } from '@hai3/state';
11
9
 
12
10
  /**
13
11
  * HAI3 Provider - Main provider component for HAI3 applications
@@ -218,36 +216,6 @@ declare function useNavigation(): UseNavigationReturn;
218
216
  */
219
217
  declare function useTheme(): UseThemeReturn;
220
218
 
221
- /**
222
- * TextLoader Component - Prevents flash of untranslated content
223
- *
224
- * React Layer: L3
225
- */
226
-
227
- /**
228
- * TextLoader Component
229
- *
230
- * Generic wrapper for translated text that automatically shows a skeleton loader
231
- * while translations are being loaded. This eliminates the need for manual
232
- * loading state checks throughout the application.
233
- *
234
- * @example
235
- * ```tsx
236
- * // Heading - default bg-muted skeleton
237
- * <TextLoader skeletonClassName="h-10 w-64">
238
- * <h1 className="text-4xl font-bold">{t('screen.title')}</h1>
239
- * </TextLoader>
240
- *
241
- * // Button label - inherits button text color
242
- * <Button>
243
- * <TextLoader skeletonClassName="h-4 w-24" inheritColor>
244
- * {t('button.submit')}
245
- * </TextLoader>
246
- * </Button>
247
- * ```
248
- */
249
- declare const TextLoader: React__default.FC<TextLoaderProps>;
250
-
251
219
  /**
252
220
  * AppRouter Component - Renders the active screen
253
221
  *
@@ -275,71 +243,23 @@ declare const TextLoader: React__default.FC<TextLoaderProps>;
275
243
  declare const AppRouter: React__default.FC<AppRouterProps>;
276
244
 
277
245
  /**
278
- * UI Kit Registry Service
279
- * Unified registry for UI components and icons
280
- * Allows applications to register UI Kit implementations at runtime
281
- *
282
- * OPEN/CLOSED PRINCIPLE:
283
- * - Registry is CLOSED for modification
284
- * - UI elements register themselves at app level
285
- * - UI Core depends on interfaces, not implementations
246
+ * @hai3/react - React Bindings
247
+ *
248
+ * This package provides:
249
+ * - HAI3Provider context provider
250
+ * - Type-safe hooks for state and actions
251
+ * - AppRouter for screen rendering
252
+ *
253
+ * Layer: L3 (Depends on @hai3/framework)
286
254
  */
287
255
 
288
- declare class UiKitRegistry {
289
- private components;
290
- private icons;
291
- /**
292
- * Register a component implementation
293
- */
294
- registerComponent<K extends ComponentName>(name: K, component: UiKitComponentMap[K]): void;
295
- /**
296
- * Register multiple components at once
297
- * Type-safe: only accepts components defined in UiKitComponentMap
298
- */
299
- registerComponents(components: Partial<UiKitComponentMap>): void;
300
- /**
301
- * Get a component by name
302
- */
303
- getComponent<K extends ComponentName>(name: K): UiKitComponentMap[K];
304
- /**
305
- * Check if a component is registered
306
- */
307
- hasComponent(name: ComponentName): boolean;
308
- /**
309
- * Get all registered component names
310
- */
311
- getRegisteredComponents(): ComponentName[];
312
- /**
313
- * Register an icon
314
- * Only accepts UiKitIcon enum or exported string constants
315
- * NO hardcoded string literals
316
- */
317
- registerIcon(id: UiKitIcon | string, icon: ReactNode): void;
318
- /**
319
- * Register multiple icons at once
320
- * Only accepts UiKitIcon enum or exported string constants
321
- * NO hardcoded string literals
322
- */
323
- registerIcons(icons: Record<string, ReactNode>): void;
324
- /**
325
- * Get an icon by ID
326
- * Accepts UiKitIcon enum or exported string constants
327
- */
328
- getIcon(id: UiKitIcon | string): ReactNode | undefined;
329
- /**
330
- * Get all registered icons
331
- */
332
- getAllIcons(): Record<string, ReactNode>;
333
- /**
334
- * Check if an icon is registered
335
- * Accepts UiKitIcon enum or exported string constants
336
- */
337
- hasIcon(id: UiKitIcon | string): boolean;
338
- /**
339
- * Clear all registrations (for testing)
340
- */
341
- clear(): void;
256
+ interface EventPayloadMap extends EventPayloadMap$1 {
342
257
  }
343
- declare const uikitRegistry: UiKitRegistry;
258
+ /**
259
+ * Re-export eventBus with augmented EventPayloadMap type.
260
+ * This ensures that code importing eventBus from @hai3/react gets
261
+ * type-safe access to both framework events and app-layer augmented events.
262
+ */
263
+ declare const eventBus: EventBus<EventPayloadMap>;
344
264
 
345
- export { AppRouter, AppRouterProps, HAI3Context, HAI3Provider, HAI3ProviderProps, TextLoader, TextLoaderProps, UseNavigationReturn, UseScreenTranslationsReturn, UseThemeReturn, UseTranslationReturn, uikitRegistry, useAppDispatch, useAppSelector, useHAI3, useNavigation, useScreenTranslations, useTheme, useTranslation };
265
+ export { AppRouter, AppRouterProps, type EventPayloadMap, HAI3Context, HAI3Provider, HAI3ProviderProps, UseNavigationReturn, UseScreenTranslationsReturn, UseThemeReturn, UseTranslationReturn, eventBus, useAppDispatch, useAppSelector, useHAI3, useNavigation, useScreenTranslations, useTheme, useTranslation };
package/dist/index.d.ts CHANGED
@@ -1,13 +1,11 @@
1
1
  import * as React from 'react';
2
- import React__default, { ReactNode } from 'react';
3
- import { HAI3ProviderProps, UseTranslationReturn, UseScreenTranslationsReturn, UseNavigationReturn, UseThemeReturn, TextLoaderProps, AppRouterProps } from './types.js';
4
- export { AppRouterComponent, HAI3ProviderComponent, TextLoaderComponent, UseAppDispatchReturn, UseAppSelector, UseHAI3Return, UseLanguageReturn, UseMenuReturn, UseOverlayReturn, UsePopupReturn, UseScreenReturn, UseScreensetReturn } from './types.js';
5
- import { HAI3App, AppDispatch, RootState, TranslationMap, TranslationLoader } from '@hai3/framework';
6
- export { ACCOUNTS_DOMAIN, ApiProtocol, ApiService, ApiServiceConfig, ApiServicesMap, AppDispatch, BaseApiService, ChangeThemePayload, EventHandler, EventPayloadMap, FooterConfig, FooterState, HAI3App, HAI3AppBuilder, HAI3Config, HAI3Plugin, HAI3Store, HeaderConfig, HeaderState, HeaderUser, I18nConfig, I18nRegistry, I18nRegistryImpl, I18nRegistryType, JsonCompatible, JsonObject, JsonPrimitive, JsonValue, LAYOUT_SLICE_NAME, LanguageMetadata, LayoutDomain, LayoutDomainReducers, LayoutDomainState, LayoutState, LegacyTheme, MenuItem, MenuItemConfig, MenuScreenItem, MenuState, MockMap, MockPlugin, NavigateToScreenPayload, NavigateToScreensetPayload, OverlayConfig, OverlayState, PluginFactory, PluginLifecycle, PluginProvides, PopupConfig, PopupSliceState, PopupState, Preset, Presets, RestProtocol, RestProtocolConfig, RootState, RootStateWithLayout, RouteRegistry, SUPPORTED_LANGUAGES, ScreenConfig, ScreenId, ScreenLoader, ScreenState, ScreensetCategory, ScreensetConfig, ScreensetDefinition, ScreensetId, ScreensetRegistry, ScreensetsConfig, SetLanguagePayload, ShowPopupPayload, SidebarPosition, SidebarState, SliceObject, SseProtocol, SseProtocolConfig, Subscription, TENANT_SLICE_NAME, Tenant, TenantChangedPayload, TenantClearedPayload, TenantEvents, TenantState, ThemeApplyFn, ThemeConfig, ThemeRegistry, TranslationDictionary, TranslationLoader, TranslationMap, apiRegistry, changeTenant, clearActiveScreen, clearTenant, clearTenantAction, clearUser, closeAllPopups, closePopup, closeTopPopup, createHAI3, createHAI3App, createI18nRegistry, createRouteRegistry, createScreensetRegistry, createSlice, createStore, createThemeRegistry, effects, eventBus, fetchCurrentUser, footerActions, footerSlice, getLanguageMetadata, getStore, hasSlice, headerActions, headerSlice, hideOverlay, i18n, i18nRegistry, initTenantEffects, layout, layoutDomainReducers, layoutReducer, menuActions, menuSlice, navigateTo, navigateToScreen, navigation, openPopup, overlayActions, overlaySlice, popupActions, popupSlice, presets, registerSlice, routeRegistry, routing, screenActions, screenSlice, screensetRegistry, screensets, setActiveScreen, setFooterConfig, setFooterVisible, setHeaderLoading, setMenuCollapsed, setMenuConfig, setMenuItems, setMenuVisible, setOverlayVisible, setScreenLoading, setSidebarCollapsed, setSidebarConfig, setSidebarContent, setSidebarPosition, setSidebarTitle, setSidebarVisible, setSidebarWidth, setTenant, setTenantLoading, setTenantLoadingState, setUser, showOverlay, sidebarActions, sidebarSlice, tenantActions, tenantReducer, tenantSlice, themeRegistry, themes, toggleMenu, toggleSidebar } from '@hai3/framework';
2
+ import React__default from 'react';
3
+ import { HAI3ProviderProps, UseTranslationReturn, UseScreenTranslationsReturn, UseNavigationReturn, UseThemeReturn, AppRouterProps } from './types.js';
4
+ export { AppRouterComponent, HAI3ProviderComponent, UseAppDispatchReturn, UseAppSelector, UseHAI3Return, UseLanguageReturn, UseMenuReturn, UseOverlayReturn, UsePopupReturn, UseScreenReturn, UseScreensetReturn } from './types.js';
5
+ import { HAI3App, AppDispatch, RootState, TranslationMap, TranslationLoader, EventPayloadMap as EventPayloadMap$1 } from '@hai3/framework';
6
+ export { ACCOUNTS_DOMAIN, ApiPlugin, ApiPluginBase, ApiPluginErrorContext, ApiProtocol, ApiRequestContext, ApiResponseContext, ApiServiceConfig, AppDispatch, BaseApiService, BasePluginHooks, ChangeThemePayload, EventHandler, EventSourceLike, FooterConfig, FooterState, HAI3App, HAI3AppBuilder, HAI3Config, HAI3Plugin, HAI3Store, HeaderConfig, HeaderState, HeaderUser, I18nConfig, I18nRegistry, I18nRegistryImpl, I18nRegistryType, JsonCompatible, JsonObject, JsonPrimitive, JsonValue, LAYOUT_SLICE_NAME, Language, LanguageDisplayMode, LanguageMetadata, LayoutDomain, LayoutDomainReducers, LayoutDomainState, LayoutState, MOCK_PLUGIN, MenuItem, MenuItemConfig, MenuScreenItem, MenuState, MockEventSource, MockEvents, MockMap, MockState, MockTogglePayload, NavigateToScreenPayload, NavigateToScreensetPayload, OverlayConfig, OverlayState, PluginClass, PluginFactory, PluginLifecycle, PluginProvides, PopupConfig, PopupSliceState, PopupState, Preset, Presets, ProtocolClass, ProtocolPluginType, RestMockConfig, RestMockPlugin, RestPlugin, RestPluginHooks, RestPluginWithConfig, RestProtocol, RestProtocolConfig, RestRequestContext, RestResponseContext, RestShortCircuitResponse, RootState, RootStateWithLayout, RouteRegistry, SUPPORTED_LANGUAGES, ScreenConfig, ScreenId, ScreenLoader, ScreenState, ScreensetCategory, ScreensetConfig, ScreensetDefinition, ScreensetId, ScreensetRegistry, ScreensetsConfig, SetLanguagePayload, ShortCircuitResponse, ShowPopupPayload, SidebarPosition, SidebarState, SliceObject, SseConnectContext, SseMockConfig, SseMockEvent, SseMockPlugin, SsePlugin, SsePluginHooks, SsePluginWithConfig, SseProtocol, SseProtocolConfig, SseShortCircuitResponse, Subscription, TENANT_SLICE_NAME, Tenant, TenantChangedPayload, TenantClearedPayload, TenantEvents, TenantState, TextDirection, ThemeApplyFn, ThemeConfig, ThemeRegistry, TranslationDictionary, TranslationLoader, TranslationMap, UikitTheme, apiRegistry, changeTenant, clearActiveScreen, clearTenant, clearTenantAction, clearUser, closeAllPopups, closePopup, closeTopPopup, createHAI3, createHAI3App, createI18nRegistry, createRouteRegistry, createScreensetRegistry, createSlice, createStore, createThemeRegistry, effects, footerActions, footerSlice, getLanguageMetadata, getStore, hasSlice, headerActions, headerSlice, hideOverlay, i18n, i18nRegistry, initMockEffects, initTenantEffects, isMockPlugin, isRestShortCircuit, isShortCircuit, isSseShortCircuit, layout, layoutDomainReducers, layoutReducer, menuActions, menuSlice, mockActions, mockSlice, navigateTo, navigation, openPopup, overlayActions, overlaySlice, popupActions, popupSlice, presets, registerSlice, routing, screenActions, screenSlice, screensetRegistry, screensets, setActiveScreen, setFooterConfig, setFooterVisible, setHeaderLoading, setMenuCollapsed, setMenuConfig, setMenuItems, setMenuVisible, setMockEnabled, setOverlayVisible, setScreenLoading, setSidebarCollapsed, setSidebarConfig, setSidebarContent, setSidebarPosition, setSidebarTitle, setSidebarVisible, setSidebarWidth, setTenant, setTenantLoading, setTenantLoadingState, setUser, showOverlay, sidebarActions, sidebarSlice, tenantActions, tenantReducer, tenantSlice, themes, toggleMenu, toggleMockMode, toggleSidebar } from '@hai3/framework';
7
7
  import { TypedUseSelectorHook } from 'react-redux';
8
- import { ComponentName, UiKitComponentMap, UiKitIcon } from '@hai3/uikit';
9
- export { ComponentName, UiKitComponent, UiKitComponentMap, UiKitIcon } from '@hai3/uikit';
10
- export { Language, LanguageDisplayMode, TextDirection } from '@hai3/i18n';
8
+ import { EventBus } from '@hai3/state';
11
9
 
12
10
  /**
13
11
  * HAI3 Provider - Main provider component for HAI3 applications
@@ -218,36 +216,6 @@ declare function useNavigation(): UseNavigationReturn;
218
216
  */
219
217
  declare function useTheme(): UseThemeReturn;
220
218
 
221
- /**
222
- * TextLoader Component - Prevents flash of untranslated content
223
- *
224
- * React Layer: L3
225
- */
226
-
227
- /**
228
- * TextLoader Component
229
- *
230
- * Generic wrapper for translated text that automatically shows a skeleton loader
231
- * while translations are being loaded. This eliminates the need for manual
232
- * loading state checks throughout the application.
233
- *
234
- * @example
235
- * ```tsx
236
- * // Heading - default bg-muted skeleton
237
- * <TextLoader skeletonClassName="h-10 w-64">
238
- * <h1 className="text-4xl font-bold">{t('screen.title')}</h1>
239
- * </TextLoader>
240
- *
241
- * // Button label - inherits button text color
242
- * <Button>
243
- * <TextLoader skeletonClassName="h-4 w-24" inheritColor>
244
- * {t('button.submit')}
245
- * </TextLoader>
246
- * </Button>
247
- * ```
248
- */
249
- declare const TextLoader: React__default.FC<TextLoaderProps>;
250
-
251
219
  /**
252
220
  * AppRouter Component - Renders the active screen
253
221
  *
@@ -275,71 +243,23 @@ declare const TextLoader: React__default.FC<TextLoaderProps>;
275
243
  declare const AppRouter: React__default.FC<AppRouterProps>;
276
244
 
277
245
  /**
278
- * UI Kit Registry Service
279
- * Unified registry for UI components and icons
280
- * Allows applications to register UI Kit implementations at runtime
281
- *
282
- * OPEN/CLOSED PRINCIPLE:
283
- * - Registry is CLOSED for modification
284
- * - UI elements register themselves at app level
285
- * - UI Core depends on interfaces, not implementations
246
+ * @hai3/react - React Bindings
247
+ *
248
+ * This package provides:
249
+ * - HAI3Provider context provider
250
+ * - Type-safe hooks for state and actions
251
+ * - AppRouter for screen rendering
252
+ *
253
+ * Layer: L3 (Depends on @hai3/framework)
286
254
  */
287
255
 
288
- declare class UiKitRegistry {
289
- private components;
290
- private icons;
291
- /**
292
- * Register a component implementation
293
- */
294
- registerComponent<K extends ComponentName>(name: K, component: UiKitComponentMap[K]): void;
295
- /**
296
- * Register multiple components at once
297
- * Type-safe: only accepts components defined in UiKitComponentMap
298
- */
299
- registerComponents(components: Partial<UiKitComponentMap>): void;
300
- /**
301
- * Get a component by name
302
- */
303
- getComponent<K extends ComponentName>(name: K): UiKitComponentMap[K];
304
- /**
305
- * Check if a component is registered
306
- */
307
- hasComponent(name: ComponentName): boolean;
308
- /**
309
- * Get all registered component names
310
- */
311
- getRegisteredComponents(): ComponentName[];
312
- /**
313
- * Register an icon
314
- * Only accepts UiKitIcon enum or exported string constants
315
- * NO hardcoded string literals
316
- */
317
- registerIcon(id: UiKitIcon | string, icon: ReactNode): void;
318
- /**
319
- * Register multiple icons at once
320
- * Only accepts UiKitIcon enum or exported string constants
321
- * NO hardcoded string literals
322
- */
323
- registerIcons(icons: Record<string, ReactNode>): void;
324
- /**
325
- * Get an icon by ID
326
- * Accepts UiKitIcon enum or exported string constants
327
- */
328
- getIcon(id: UiKitIcon | string): ReactNode | undefined;
329
- /**
330
- * Get all registered icons
331
- */
332
- getAllIcons(): Record<string, ReactNode>;
333
- /**
334
- * Check if an icon is registered
335
- * Accepts UiKitIcon enum or exported string constants
336
- */
337
- hasIcon(id: UiKitIcon | string): boolean;
338
- /**
339
- * Clear all registrations (for testing)
340
- */
341
- clear(): void;
256
+ interface EventPayloadMap extends EventPayloadMap$1 {
342
257
  }
343
- declare const uikitRegistry: UiKitRegistry;
258
+ /**
259
+ * Re-export eventBus with augmented EventPayloadMap type.
260
+ * This ensures that code importing eventBus from @hai3/react gets
261
+ * type-safe access to both framework events and app-layer augmented events.
262
+ */
263
+ declare const eventBus: EventBus<EventPayloadMap>;
344
264
 
345
- export { AppRouter, AppRouterProps, HAI3Context, HAI3Provider, HAI3ProviderProps, TextLoader, TextLoaderProps, UseNavigationReturn, UseScreenTranslationsReturn, UseThemeReturn, UseTranslationReturn, uikitRegistry, useAppDispatch, useAppSelector, useHAI3, useNavigation, useScreenTranslations, useTheme, useTranslation };
265
+ export { AppRouter, AppRouterProps, type EventPayloadMap, HAI3Context, HAI3Provider, HAI3ProviderProps, UseNavigationReturn, UseScreenTranslationsReturn, UseThemeReturn, UseTranslationReturn, eventBus, useAppDispatch, useAppSelector, useHAI3, useNavigation, useScreenTranslations, useTheme, useTranslation };