@memberjunction/react-runtime 2.98.0 → 2.100.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 (71) hide show
  1. package/.turbo/turbo-build.log +15 -20
  2. package/CHANGELOG.md +26 -0
  3. package/README.md +171 -1
  4. package/dist/compiler/component-compiler.d.ts.map +1 -1
  5. package/dist/compiler/component-compiler.js +59 -8
  6. package/dist/compiler/component-compiler.js.map +1 -1
  7. package/dist/component-manager/component-manager.d.ts +39 -0
  8. package/dist/component-manager/component-manager.d.ts.map +1 -0
  9. package/dist/component-manager/component-manager.js +474 -0
  10. package/dist/component-manager/component-manager.js.map +1 -0
  11. package/dist/component-manager/index.d.ts +3 -0
  12. package/dist/component-manager/index.d.ts.map +1 -0
  13. package/dist/component-manager/index.js +6 -0
  14. package/dist/component-manager/index.js.map +1 -0
  15. package/dist/component-manager/types.d.ts +62 -0
  16. package/dist/component-manager/types.d.ts.map +1 -0
  17. package/dist/component-manager/types.js +3 -0
  18. package/dist/component-manager/types.js.map +1 -0
  19. package/dist/index.d.ts +7 -1
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +18 -1
  22. package/dist/index.js.map +1 -1
  23. package/dist/registry/component-registry-service.d.ts +16 -1
  24. package/dist/registry/component-registry-service.d.ts.map +1 -1
  25. package/dist/registry/component-registry-service.js +212 -10
  26. package/dist/registry/component-registry-service.js.map +1 -1
  27. package/dist/registry/component-registry.d.ts +1 -1
  28. package/dist/registry/component-registry.d.ts.map +1 -1
  29. package/dist/registry/component-registry.js.map +1 -1
  30. package/dist/registry/component-resolver.d.ts.map +1 -1
  31. package/dist/registry/component-resolver.js +122 -52
  32. package/dist/registry/component-resolver.js.map +1 -1
  33. package/dist/registry/index.d.ts +1 -1
  34. package/dist/registry/index.d.ts.map +1 -1
  35. package/dist/registry/index.js.map +1 -1
  36. package/dist/runtime/component-hierarchy.d.ts +4 -0
  37. package/dist/runtime/component-hierarchy.d.ts.map +1 -1
  38. package/dist/runtime/component-hierarchy.js +127 -12
  39. package/dist/runtime/component-hierarchy.js.map +1 -1
  40. package/dist/runtime.umd.js +535 -1
  41. package/dist/types/index.d.ts +1 -0
  42. package/dist/types/index.d.ts.map +1 -1
  43. package/dist/types/index.js.map +1 -1
  44. package/dist/utilities/component-unwrapper.d.ts +7 -0
  45. package/dist/utilities/component-unwrapper.d.ts.map +1 -0
  46. package/dist/utilities/component-unwrapper.js +369 -0
  47. package/dist/utilities/component-unwrapper.js.map +1 -0
  48. package/dist/utilities/index.d.ts +1 -0
  49. package/dist/utilities/index.d.ts.map +1 -1
  50. package/dist/utilities/index.js +1 -0
  51. package/dist/utilities/index.js.map +1 -1
  52. package/dist/utilities/library-loader.d.ts +3 -0
  53. package/dist/utilities/library-loader.d.ts.map +1 -1
  54. package/dist/utilities/library-loader.js +101 -17
  55. package/dist/utilities/library-loader.js.map +1 -1
  56. package/examples/component-registry-integration.ts +191 -0
  57. package/package.json +6 -5
  58. package/src/compiler/component-compiler.ts +101 -23
  59. package/src/component-manager/component-manager.ts +736 -0
  60. package/src/component-manager/index.ts +13 -0
  61. package/src/component-manager/types.ts +204 -0
  62. package/src/index.ts +37 -1
  63. package/src/registry/component-registry-service.ts +315 -18
  64. package/src/registry/component-registry.ts +1 -1
  65. package/src/registry/component-resolver.ts +159 -67
  66. package/src/registry/index.ts +1 -1
  67. package/src/runtime/component-hierarchy.ts +124 -13
  68. package/src/types/index.ts +2 -0
  69. package/src/utilities/component-unwrapper.ts +481 -0
  70. package/src/utilities/index.ts +2 -1
  71. package/src/utilities/library-loader.ts +155 -22
@@ -75,6 +75,7 @@ export interface CompilationResult {
75
75
  error?: ComponentError;
76
76
  duration: number;
77
77
  size?: number;
78
+ loadedLibraries?: Map<string, any>;
78
79
  }
79
80
  export interface RuntimeContext {
80
81
  React: any;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAgOA,mDAAiC;AAGjC,qDAAmC","sourcesContent":["/**\n * @fileoverview Core type definitions for the MemberJunction React Runtime.\n * These types are platform-agnostic and can be used in any JavaScript environment.\n * @module @memberjunction/react-runtime/types\n */\n\nimport { UserInfo } from '@memberjunction/core';\nimport { ComponentLibraryEntity } from '@memberjunction/core-entities';\nimport { ComponentLibraryDependency, ComponentStyles, ComponentObject } from '@memberjunction/interactive-component-types';\n\n/**\n * Represents a compiled React component with its metadata\n */\nexport interface CompiledComponent {\n /** Factory function that creates a ComponentObject when called with context */\n factory: (context: RuntimeContext, styles?: ComponentStyles, components?: Record<string, any>) => ComponentObject;\n /** Unique identifier for the component */\n id: string;\n /** Original component name */\n name: string;\n /** Compilation timestamp */\n compiledAt: Date;\n /** Any compilation warnings */\n warnings?: string[];\n}\n\n/**\n * Options for compiling a React component\n */\nexport interface CompileOptions {\n /** Component name for identification */\n componentName: string;\n /** Raw component code to compile */\n componentCode: string;\n /** Optional styles to inject */\n styles?: ComponentStyles;\n /** Whether to use production mode optimizations */\n production?: boolean;\n /** Custom Babel plugins to use */\n babelPlugins?: string[];\n /** Custom Babel presets to use */\n babelPresets?: string[];\n\n /** Library dependencies that the component requires */\n libraries?: ComponentLibraryDependency[];\n \n /** Child component dependencies that the component requires */\n dependencies?: Array<{ name: string; code?: string }>;\n\n /**\n * Required, metadata for all possible libraries allowed by the system\n */\n allLibraries: ComponentLibraryEntity[];\n}\n\n\n/**\n * Registry entry for a compiled component\n */\nexport interface RegistryEntry {\n /** The compiled component object with all methods */\n component: ComponentObject;\n /** Component metadata */\n metadata: ComponentMetadata;\n /** Last access time for LRU cache */\n lastAccessed: Date;\n /** Reference count for cleanup */\n refCount: number;\n}\n\n/**\n * Metadata about a registered component\n */\nexport interface ComponentMetadata {\n /** Unique component identifier */\n id: string;\n /** Component name */\n name: string;\n /** Component version */\n version: string;\n /** Namespace for organization */\n namespace: string;\n /** Registration timestamp */\n registeredAt: Date;\n /** Optional tags for categorization */\n tags?: string[];\n}\n\n/**\n * Error information from component execution\n */\nexport interface ComponentError {\n /** Error message */\n message: string;\n /** Error stack trace */\n stack?: string;\n /** Component name where error occurred */\n componentName: string;\n /** Error phase (compilation, render, etc.) */\n phase: 'compilation' | 'registration' | 'render' | 'runtime';\n /** Additional error details */\n details?: any;\n}\n\n/**\n * Props passed to React components\n */\nexport interface ComponentProps {\n /** Data object for the component */\n data: any;\n /** User-managed state */\n userState: any;\n /** Utility functions available to the component */\n utilities: any;\n /** Callback functions */\n callbacks: any;\n /** Child components available for use */\n components?: Record<string, any>;\n /** Component styles */\n styles?: ComponentStyles;\n /** Standard state change handler for controlled components */\n onStateChanged?: (stateUpdate: Record<string, any>) => void;\n}\n\n/**\n * Configuration for the component compiler\n */\nexport interface CompilerConfig {\n /** Babel configuration */\n babel: {\n /** Presets to use */\n presets: string[];\n /** Plugins to use */\n plugins: string[];\n };\n /** Whether to minify output */\n minify: boolean;\n /** Source map generation */\n sourceMaps: boolean;\n /** Cache compiled components */\n cache: boolean;\n /** Maximum cache size */\n maxCacheSize: number;\n /** Enable debug logging */\n debug?: boolean;\n}\n\n/**\n * Configuration for the component registry\n */\nexport interface RegistryConfig {\n /** Maximum number of components to keep in memory */\n maxComponents: number;\n /** Time in ms before removing unused components */\n cleanupInterval: number;\n /** Whether to use LRU eviction */\n useLRU: boolean;\n /** Namespace isolation */\n enableNamespaces: boolean;\n /** Enable debug logging */\n debug?: boolean;\n}\n\n/**\n * Result of a compilation operation\n */\nexport interface CompilationResult {\n /** Whether compilation succeeded */\n success: boolean;\n /** The compiled component if successful */\n component?: CompiledComponent;\n /** Error information if failed */\n error?: ComponentError;\n /** Compilation duration in ms */\n duration: number;\n /** Size of compiled code in bytes */\n size?: number;\n}\n\n/**\n * Runtime context for component execution\n */\nexport interface RuntimeContext {\n /** React library reference */\n React: any;\n /** ReactDOM library reference */\n ReactDOM?: any;\n /** Additional libraries available */\n libraries?: Record<string, any>;\n /** Global utilities */\n utilities?: Record<string, any>;\n}\n\n/**\n * Component lifecycle events\n */\nexport interface ComponentLifecycle {\n /** Called before component mounts */\n beforeMount?: () => void;\n /** Called after component mounts */\n afterMount?: () => void;\n /** Called before component updates */\n beforeUpdate?: (prevProps: any, nextProps: any) => void;\n /** Called after component updates */\n afterUpdate?: (prevProps: any, currentProps: any) => void;\n /** Called before component unmounts */\n beforeUnmount?: () => void;\n}\n\n/**\n * Options for creating an error boundary\n */\nexport interface ErrorBoundaryOptions {\n /** Custom error handler */\n onError?: (error: Error, errorInfo: any) => void;\n /** Fallback UI to render on error */\n fallback?: any;\n /** Whether to log errors */\n logErrors?: boolean;\n /** Error recovery strategy */\n recovery?: 'retry' | 'reset' | 'none';\n}\n\n// Export library configuration types\nexport * from './library-config';\n\n// Export dependency types\nexport * from './dependency-types';\n\n// Re-export ComponentObject for convenience\nexport { ComponentObject } from '@memberjunction/interactive-component-types';"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAkOA,mDAAiC;AAGjC,qDAAmC","sourcesContent":["/**\n * @fileoverview Core type definitions for the MemberJunction React Runtime.\n * These types are platform-agnostic and can be used in any JavaScript environment.\n * @module @memberjunction/react-runtime/types\n */\n\nimport { UserInfo } from '@memberjunction/core';\nimport { ComponentLibraryEntity } from '@memberjunction/core-entities';\nimport { ComponentLibraryDependency, ComponentStyles, ComponentObject } from '@memberjunction/interactive-component-types';\n\n/**\n * Represents a compiled React component with its metadata\n */\nexport interface CompiledComponent {\n /** Factory function that creates a ComponentObject when called with context */\n factory: (context: RuntimeContext, styles?: ComponentStyles, components?: Record<string, any>) => ComponentObject;\n /** Unique identifier for the component */\n id: string;\n /** Original component name */\n name: string;\n /** Compilation timestamp */\n compiledAt: Date;\n /** Any compilation warnings */\n warnings?: string[];\n}\n\n/**\n * Options for compiling a React component\n */\nexport interface CompileOptions {\n /** Component name for identification */\n componentName: string;\n /** Raw component code to compile */\n componentCode: string;\n /** Optional styles to inject */\n styles?: ComponentStyles;\n /** Whether to use production mode optimizations */\n production?: boolean;\n /** Custom Babel plugins to use */\n babelPlugins?: string[];\n /** Custom Babel presets to use */\n babelPresets?: string[];\n\n /** Library dependencies that the component requires */\n libraries?: ComponentLibraryDependency[];\n \n /** Child component dependencies that the component requires */\n dependencies?: Array<{ name: string; code?: string }>;\n\n /**\n * Required, metadata for all possible libraries allowed by the system\n */\n allLibraries: ComponentLibraryEntity[];\n}\n\n\n/**\n * Registry entry for a compiled component\n */\nexport interface RegistryEntry {\n /** The compiled component object with all methods */\n component: ComponentObject;\n /** Component metadata */\n metadata: ComponentMetadata;\n /** Last access time for LRU cache */\n lastAccessed: Date;\n /** Reference count for cleanup */\n refCount: number;\n}\n\n/**\n * Metadata about a registered component\n */\nexport interface ComponentMetadata {\n /** Unique component identifier */\n id: string;\n /** Component name */\n name: string;\n /** Component version */\n version: string;\n /** Namespace for organization */\n namespace: string;\n /** Registration timestamp */\n registeredAt: Date;\n /** Optional tags for categorization */\n tags?: string[];\n}\n\n/**\n * Error information from component execution\n */\nexport interface ComponentError {\n /** Error message */\n message: string;\n /** Error stack trace */\n stack?: string;\n /** Component name where error occurred */\n componentName: string;\n /** Error phase (compilation, render, etc.) */\n phase: 'compilation' | 'registration' | 'render' | 'runtime';\n /** Additional error details */\n details?: any;\n}\n\n/**\n * Props passed to React components\n */\nexport interface ComponentProps {\n /** Data object for the component */\n data: any;\n /** User-managed state */\n userState: any;\n /** Utility functions available to the component */\n utilities: any;\n /** Callback functions */\n callbacks: any;\n /** Child components available for use */\n components?: Record<string, any>;\n /** Component styles */\n styles?: ComponentStyles;\n /** Standard state change handler for controlled components */\n onStateChanged?: (stateUpdate: Record<string, any>) => void;\n}\n\n/**\n * Configuration for the component compiler\n */\nexport interface CompilerConfig {\n /** Babel configuration */\n babel: {\n /** Presets to use */\n presets: string[];\n /** Plugins to use */\n plugins: string[];\n };\n /** Whether to minify output */\n minify: boolean;\n /** Source map generation */\n sourceMaps: boolean;\n /** Cache compiled components */\n cache: boolean;\n /** Maximum cache size */\n maxCacheSize: number;\n /** Enable debug logging */\n debug?: boolean;\n}\n\n/**\n * Configuration for the component registry\n */\nexport interface RegistryConfig {\n /** Maximum number of components to keep in memory */\n maxComponents: number;\n /** Time in ms before removing unused components */\n cleanupInterval: number;\n /** Whether to use LRU eviction */\n useLRU: boolean;\n /** Namespace isolation */\n enableNamespaces: boolean;\n /** Enable debug logging */\n debug?: boolean;\n}\n\n/**\n * Result of a compilation operation\n */\nexport interface CompilationResult {\n /** Whether compilation succeeded */\n success: boolean;\n /** The compiled component if successful */\n component?: CompiledComponent;\n /** Error information if failed */\n error?: ComponentError;\n /** Compilation duration in ms */\n duration: number;\n /** Size of compiled code in bytes */\n size?: number;\n /** Libraries loaded during compilation */\n loadedLibraries?: Map<string, any>;\n}\n\n/**\n * Runtime context for component execution\n */\nexport interface RuntimeContext {\n /** React library reference */\n React: any;\n /** ReactDOM library reference */\n ReactDOM?: any;\n /** Additional libraries available */\n libraries?: Record<string, any>;\n /** Global utilities */\n utilities?: Record<string, any>;\n}\n\n/**\n * Component lifecycle events\n */\nexport interface ComponentLifecycle {\n /** Called before component mounts */\n beforeMount?: () => void;\n /** Called after component mounts */\n afterMount?: () => void;\n /** Called before component updates */\n beforeUpdate?: (prevProps: any, nextProps: any) => void;\n /** Called after component updates */\n afterUpdate?: (prevProps: any, currentProps: any) => void;\n /** Called before component unmounts */\n beforeUnmount?: () => void;\n}\n\n/**\n * Options for creating an error boundary\n */\nexport interface ErrorBoundaryOptions {\n /** Custom error handler */\n onError?: (error: Error, errorInfo: any) => void;\n /** Fallback UI to render on error */\n fallback?: any;\n /** Whether to log errors */\n logErrors?: boolean;\n /** Error recovery strategy */\n recovery?: 'retry' | 'reset' | 'none';\n}\n\n// Export library configuration types\nexport * from './library-config';\n\n// Export dependency types\nexport * from './dependency-types';\n\n// Re-export ComponentObject for convenience\nexport { ComponentObject } from '@memberjunction/interactive-component-types';"]}
@@ -0,0 +1,7 @@
1
+ export declare function unwrapLibraryComponent(library: any, exportName: string, debug?: boolean): any;
2
+ export declare function unwrapLibraryComponents(library: any, ...exportNames: string[]): Record<string, any>;
3
+ export declare function unwrapAllLibraryComponents(library: any, debug?: boolean): Record<string, any>;
4
+ export declare const unwrapComponent: typeof unwrapLibraryComponent;
5
+ export declare const unwrapComponents: (library: any, exportNames: string[], debug?: boolean) => Record<string, any>;
6
+ export declare const unwrapAllComponents: typeof unwrapAllLibraryComponents;
7
+ //# sourceMappingURL=component-unwrapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-unwrapper.d.ts","sourceRoot":"","sources":["../../src/utilities/component-unwrapper.ts"],"names":[],"mappings":"AAwQA,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,GAAE,OAAe,GAAG,GAAG,CASpG;AASD,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,GAAG,EACZ,GAAG,WAAW,EAAE,MAAM,EAAE,GACvB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAqFrB;AASD,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,GAAE,OAAe,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CA8FpG;AAGD,eAAO,MAAM,eAAe,+BAAyB,CAAC;AACtD,eAAO,MAAM,gBAAgB,YAAa,GAAG,eAAe,MAAM,EAAE,UAAS,OAAO,wBAEnF,CAAC;AACF,eAAO,MAAM,mBAAmB,mCAA6B,CAAC"}
@@ -0,0 +1,369 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.unwrapAllComponents = exports.unwrapComponents = exports.unwrapComponent = exports.unwrapAllLibraryComponents = exports.unwrapLibraryComponents = exports.unwrapLibraryComponent = void 0;
4
+ function coreUnwrapLogic(library, exportName, debug = false) {
5
+ if (library == null) {
6
+ throw new Error(`Cannot unwrap export '${exportName}' from null or undefined library`);
7
+ }
8
+ const libraryType = typeof library;
9
+ if (libraryType === 'string' || libraryType === 'number' || libraryType === 'boolean' || libraryType === 'symbol' || libraryType === 'bigint') {
10
+ throw new Error(`Cannot unwrap export '${exportName}' from ${libraryType} value. Library must be an object or function.`);
11
+ }
12
+ if (libraryType === 'function') {
13
+ if (debug) {
14
+ console.log(`📦 Library is a single function/class, returning it for '${exportName}'`);
15
+ console.log(` Function name: ${library.name || 'anonymous'}`);
16
+ const hasStatics = Object.keys(library).some(key => key !== 'prototype' && key !== 'length' && key !== 'name' && key !== 'caller' && key !== 'arguments');
17
+ if (hasStatics) {
18
+ console.log(` Has static properties: ${Object.keys(library).filter(k => k !== 'prototype' && k !== 'length' && k !== 'name' && k !== 'caller' && k !== 'arguments').join(', ')}`);
19
+ }
20
+ }
21
+ return library;
22
+ }
23
+ if (libraryType === 'object') {
24
+ const objectKeys = Object.keys(library).filter(key => key !== '__esModule' && key !== 'default');
25
+ if (objectKeys.length === 1 && typeof library[objectKeys[0]] === 'function') {
26
+ if (debug) {
27
+ console.log(`📦 Library has single exported function '${objectKeys[0]}', using it for '${exportName}'`);
28
+ }
29
+ return library[objectKeys[0]];
30
+ }
31
+ if (objectKeys.length === 0 && library.default && typeof library.default === 'function') {
32
+ if (debug) {
33
+ console.log(`📦 Library only has default export (function), using it for '${exportName}'`);
34
+ }
35
+ return library.default;
36
+ }
37
+ }
38
+ if (debug) {
39
+ console.log(`📦 Library is a complex object, attempting standard unwrapping for '${exportName}'`);
40
+ }
41
+ if (exportName.includes('.')) {
42
+ const parts = exportName.split('.');
43
+ let current = library;
44
+ let pathTaken = 'library';
45
+ for (let i = 0; i < parts.length; i++) {
46
+ const part = parts[i];
47
+ if (!current) {
48
+ if (debug) {
49
+ console.log(` ❌ Cannot access '${part}' - parent is null/undefined at path: ${pathTaken}`);
50
+ }
51
+ return undefined;
52
+ }
53
+ if (i === 0) {
54
+ if (debug) {
55
+ console.log(` Checking library.${part}...`);
56
+ }
57
+ const firstComponent = current[part];
58
+ if (debug) {
59
+ console.log(` Checking library.default.${part}...`);
60
+ }
61
+ const firstDefault = current.default?.[part];
62
+ if (firstComponent) {
63
+ current = firstComponent;
64
+ pathTaken = `library.${part}`;
65
+ if (debug) {
66
+ console.log(` ✅ Found via ${pathTaken}`);
67
+ }
68
+ }
69
+ else if (firstDefault) {
70
+ current = firstDefault;
71
+ pathTaken = `library.default.${part}`;
72
+ if (debug) {
73
+ console.log(` ✅ Found via ${pathTaken}`);
74
+ }
75
+ }
76
+ else {
77
+ if (debug) {
78
+ console.log(` ❌ Could not find '${part}' in library`);
79
+ }
80
+ return undefined;
81
+ }
82
+ }
83
+ else {
84
+ if (debug) {
85
+ console.log(` Checking ${pathTaken}.${part}...`);
86
+ }
87
+ if (current[part]) {
88
+ current = current[part];
89
+ pathTaken += `.${part}`;
90
+ if (debug) {
91
+ console.log(` ✅ Found via ${pathTaken}`);
92
+ }
93
+ }
94
+ else if (current.default?.[part]) {
95
+ current = current.default[part];
96
+ pathTaken += `.default.${part}`;
97
+ if (debug) {
98
+ console.log(` ✅ Found via ${pathTaken}.default`);
99
+ }
100
+ }
101
+ else {
102
+ if (debug) {
103
+ console.log(` ❌ Could not find '${part}' at path: ${pathTaken}`);
104
+ }
105
+ return undefined;
106
+ }
107
+ }
108
+ }
109
+ const isValidExport = (obj) => {
110
+ return obj != null;
111
+ };
112
+ if (isValidExport(current)) {
113
+ if (debug) {
114
+ console.log(`✅ Successfully unwrapped '${exportName}' via: ${pathTaken}`);
115
+ const exportType = typeof current === 'function' ?
116
+ (current.prototype?.isReactComponent ? 'React class component' : 'function/component') :
117
+ (typeof current === 'object' ? 'object/utility' : typeof current);
118
+ console.log(` Export type: ${exportType}`);
119
+ }
120
+ return current;
121
+ }
122
+ else if (current?.default && isValidExport(current.default)) {
123
+ if (debug) {
124
+ console.log(`✅ Successfully unwrapped '${exportName}' via: ${pathTaken}.default`);
125
+ }
126
+ return current.default;
127
+ }
128
+ else {
129
+ if (debug) {
130
+ console.log(` ❌ '${exportName}' at ${pathTaken} is null/undefined`);
131
+ }
132
+ return undefined;
133
+ }
134
+ }
135
+ let unwrapPath = '';
136
+ let component;
137
+ const isValidExport = (obj) => {
138
+ return obj != null;
139
+ };
140
+ if (debug) {
141
+ console.log(` Checking library.${exportName}...`);
142
+ }
143
+ const directComponent = library[exportName];
144
+ if (debug && directComponent) {
145
+ console.log(` Checking library.${exportName}.default...`);
146
+ }
147
+ const moduleDefault = directComponent?.default;
148
+ if (debug && library.default) {
149
+ console.log(` Checking library.default.${exportName}...`);
150
+ }
151
+ const libraryDefault = library.default?.[exportName];
152
+ if (debug && libraryDefault) {
153
+ console.log(` Checking library.default.${exportName}.default...`);
154
+ }
155
+ const libraryDefaultModule = library.default?.[exportName]?.default;
156
+ if (isValidExport(directComponent)) {
157
+ component = directComponent;
158
+ unwrapPath = `library.${exportName}`;
159
+ if (debug) {
160
+ console.log(` ✅ Found via ${unwrapPath}`);
161
+ const exportType = typeof directComponent === 'function' ? 'function' :
162
+ typeof directComponent === 'object' ? 'object' : typeof directComponent;
163
+ console.log(` Export type: ${exportType}`);
164
+ }
165
+ }
166
+ else if (isValidExport(moduleDefault)) {
167
+ component = moduleDefault;
168
+ unwrapPath = `library.${exportName}.default`;
169
+ if (debug) {
170
+ console.log(` ✅ Found via ${unwrapPath}`);
171
+ }
172
+ }
173
+ else if (isValidExport(libraryDefault)) {
174
+ component = libraryDefault;
175
+ unwrapPath = `library.default.${exportName}`;
176
+ if (debug) {
177
+ console.log(` ✅ Found via ${unwrapPath}`);
178
+ }
179
+ }
180
+ else if (isValidExport(libraryDefaultModule)) {
181
+ component = libraryDefaultModule;
182
+ unwrapPath = `library.default.${exportName}.default`;
183
+ if (debug) {
184
+ console.log(` ✅ Found via ${unwrapPath}`);
185
+ }
186
+ }
187
+ if (debug && !component) {
188
+ console.log(` ❌ Could not unwrap '${exportName}' from library (all paths were null/undefined)`);
189
+ console.log(' Library structure:');
190
+ console.log(' - Top-level keys:', Object.keys(library).slice(0, 10).join(', '), Object.keys(library).length > 10 ? '...' : '');
191
+ console.log(` - library.${exportName}:`, directComponent);
192
+ if (library.default) {
193
+ console.log(' - library.default exists, keys:', Object.keys(library.default).slice(0, 10).join(', '));
194
+ }
195
+ }
196
+ return component;
197
+ }
198
+ function unwrapLibraryComponent(library, exportName, debug = false) {
199
+ try {
200
+ return coreUnwrapLogic(library, exportName, debug);
201
+ }
202
+ catch (error) {
203
+ if (debug) {
204
+ console.error(`🚫 Error unwrapping export '${exportName}':`, error.message);
205
+ }
206
+ throw error;
207
+ }
208
+ }
209
+ exports.unwrapLibraryComponent = unwrapLibraryComponent;
210
+ function unwrapLibraryComponents(library, ...exportNames) {
211
+ let debug = false;
212
+ let names = exportNames;
213
+ const lastArg = exportNames[exportNames.length - 1];
214
+ if (typeof lastArg === 'boolean') {
215
+ debug = lastArg;
216
+ names = exportNames.slice(0, -1);
217
+ }
218
+ const components = {};
219
+ const found = [];
220
+ const notFound = [];
221
+ const libraryType = typeof library;
222
+ if (library == null ||
223
+ libraryType === 'string' ||
224
+ libraryType === 'number' ||
225
+ libraryType === 'boolean' ||
226
+ libraryType === 'symbol' ||
227
+ libraryType === 'bigint') {
228
+ try {
229
+ coreUnwrapLogic(library, names[0] || 'unknown', debug);
230
+ }
231
+ catch (error) {
232
+ if (debug) {
233
+ console.error(`🚫 ${error.message}`);
234
+ }
235
+ throw error;
236
+ }
237
+ }
238
+ if (libraryType === 'function') {
239
+ if (debug) {
240
+ console.log(`📦 Library is a single function/class, returning it for all ${names.length} requested names`);
241
+ }
242
+ for (const name of names) {
243
+ components[name] = library;
244
+ found.push(name);
245
+ }
246
+ }
247
+ else {
248
+ for (const name of names) {
249
+ try {
250
+ const component = coreUnwrapLogic(library, name, false);
251
+ if (component) {
252
+ components[name] = component;
253
+ if (name.includes('.')) {
254
+ const lastPart = name.split('.').pop();
255
+ if (lastPart && !components[lastPart]) {
256
+ components[lastPart] = component;
257
+ }
258
+ }
259
+ found.push(name);
260
+ }
261
+ else {
262
+ notFound.push(name);
263
+ }
264
+ }
265
+ catch (error) {
266
+ throw error;
267
+ }
268
+ }
269
+ }
270
+ if (debug) {
271
+ if (found.length > 0) {
272
+ console.log(`📦 Successfully unwrapped ${found.length} components:`, found.join(', '));
273
+ }
274
+ if (notFound.length > 0) {
275
+ console.warn(`⚠️ Could not unwrap ${notFound.length} components:`, notFound.join(', '));
276
+ }
277
+ }
278
+ return components;
279
+ }
280
+ exports.unwrapLibraryComponents = unwrapLibraryComponents;
281
+ function unwrapAllLibraryComponents(library, debug = false) {
282
+ const components = {};
283
+ const libraryType = typeof library;
284
+ if (library == null ||
285
+ libraryType === 'string' ||
286
+ libraryType === 'number' ||
287
+ libraryType === 'boolean' ||
288
+ libraryType === 'symbol' ||
289
+ libraryType === 'bigint') {
290
+ try {
291
+ coreUnwrapLogic(library, 'auto-detect', debug);
292
+ }
293
+ catch (error) {
294
+ if (debug) {
295
+ console.error(`🚫 ${error.message}`);
296
+ }
297
+ throw error;
298
+ }
299
+ }
300
+ if (libraryType === 'function') {
301
+ const functionName = library.name || 'Component';
302
+ if (debug) {
303
+ console.log(`📦 Library is a single function/class '${functionName}', returning it as the only component`);
304
+ }
305
+ components[functionName] = library;
306
+ return components;
307
+ }
308
+ const looksLikeComponentName = (key) => {
309
+ if (!key || key.length === 0)
310
+ return false;
311
+ if (key[0] !== key[0].toUpperCase())
312
+ return false;
313
+ if (['__esModule', 'VERSION', 'version', 'default'].includes(key))
314
+ return false;
315
+ return /[a-z]/.test(key);
316
+ };
317
+ const checkedKeys = new Set();
318
+ for (const key of Object.keys(library)) {
319
+ if (looksLikeComponentName(key)) {
320
+ try {
321
+ const component = coreUnwrapLogic(library, key, false);
322
+ if (component) {
323
+ components[key] = component;
324
+ checkedKeys.add(key);
325
+ }
326
+ }
327
+ catch (error) {
328
+ }
329
+ }
330
+ }
331
+ if (library.default && typeof library.default === 'object') {
332
+ for (const key of Object.keys(library.default)) {
333
+ if (!checkedKeys.has(key) && looksLikeComponentName(key)) {
334
+ try {
335
+ const component = coreUnwrapLogic(library, key, false);
336
+ if (component) {
337
+ components[key] = component;
338
+ checkedKeys.add(key);
339
+ }
340
+ }
341
+ catch (error) {
342
+ }
343
+ }
344
+ }
345
+ }
346
+ if (debug) {
347
+ const exportNames = Object.keys(components);
348
+ if (exportNames.length > 0) {
349
+ console.log(`🔍 Auto-detected ${exportNames.length} components from library`);
350
+ console.log(' Components:', exportNames.slice(0, 20).join(', '), exportNames.length > 20 ? `... and ${exportNames.length - 20} more` : '');
351
+ }
352
+ else {
353
+ console.warn('⚠️ No components auto-detected from library');
354
+ console.log(' Library type:', typeof library);
355
+ if (library) {
356
+ console.log(' Top-level keys:', Object.keys(library).slice(0, 10).join(', '));
357
+ }
358
+ }
359
+ }
360
+ return components;
361
+ }
362
+ exports.unwrapAllLibraryComponents = unwrapAllLibraryComponents;
363
+ exports.unwrapComponent = unwrapLibraryComponent;
364
+ const unwrapComponents = (library, exportNames, debug = false) => {
365
+ return unwrapLibraryComponents(library, ...exportNames, debug);
366
+ };
367
+ exports.unwrapComponents = unwrapComponents;
368
+ exports.unwrapAllComponents = unwrapAllLibraryComponents;
369
+ //# sourceMappingURL=component-unwrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-unwrapper.js","sourceRoot":"","sources":["../../src/utilities/component-unwrapper.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @fileoverview Utility functions for unwrapping exports (components, utilities, objects) from UMD-bundled libraries\n * Handles various UMD bundle structures and module wrapping patterns\n * Intelligently handles simple functions, complex objects, and nested exports\n * @module @memberjunction/react-runtime/utilities\n */\n\n/**\n * Core unwrapping logic - handles smart detection and various library patterns\n * @param library - The library object (e.g., antd, MaterialUI, XLSX, or a simple function like ApexCharts)\n * @param exportName - Name of the export to unwrap (e.g., 'Button', 'utils', 'DatePicker.RangePicker')\n * @param debug - Whether to log debug information\n * @returns The unwrapped export (component, utility object, function, etc.) or undefined if not found\n */\nfunction coreUnwrapLogic(library: any, exportName: string, debug: boolean = false): any {\n // 1. Handle null/undefined/primitives - THROW EXCEPTION\n if (library == null) {\n throw new Error(`Cannot unwrap export '${exportName}' from null or undefined library`);\n }\n \n const libraryType = typeof library;\n if (libraryType === 'string' || libraryType === 'number' || libraryType === 'boolean' || libraryType === 'symbol' || libraryType === 'bigint') {\n throw new Error(`Cannot unwrap export '${exportName}' from ${libraryType} value. Library must be an object or function.`);\n }\n\n // 2. Handle simple function/class (like ApexCharts or a single exported component)\n if (libraryType === 'function') {\n if (debug) {\n console.log(`📦 Library is a single function/class, returning it for '${exportName}'`);\n console.log(` Function name: ${library.name || 'anonymous'}`);\n \n // Check if it's a class with static methods\n const hasStatics = Object.keys(library).some(key => \n key !== 'prototype' && key !== 'length' && key !== 'name' && key !== 'caller' && key !== 'arguments'\n );\n if (hasStatics) {\n console.log(` Has static properties: ${Object.keys(library).filter(k => \n k !== 'prototype' && k !== 'length' && k !== 'name' && k !== 'caller' && k !== 'arguments'\n ).join(', ')}`);\n }\n }\n return library;\n }\n\n // 3. Handle object with single property (auto-detect pattern)\n if (libraryType === 'object') {\n const objectKeys = Object.keys(library).filter(key => key !== '__esModule' && key !== 'default');\n \n if (objectKeys.length === 1 && typeof library[objectKeys[0]] === 'function') {\n if (debug) {\n console.log(`📦 Library has single exported function '${objectKeys[0]}', using it for '${exportName}'`);\n }\n return library[objectKeys[0]];\n }\n \n // Also check if library.default is the only meaningful export\n if (objectKeys.length === 0 && library.default && typeof library.default === 'function') {\n if (debug) {\n console.log(`📦 Library only has default export (function), using it for '${exportName}'`);\n }\n return library.default;\n }\n }\n\n // 4. Standard unwrapping for complex libraries\n if (debug) {\n console.log(`📦 Library is a complex object, attempting standard unwrapping for '${exportName}'`);\n }\n\n // Check if exportName contains dot notation (e.g., 'DatePicker.RangePicker')\n if (exportName.includes('.')) {\n const parts = exportName.split('.');\n let current = library;\n let pathTaken = 'library';\n \n // Navigate through the path\n for (let i = 0; i < parts.length; i++) {\n const part = parts[i];\n \n if (!current) {\n if (debug) {\n console.log(` ❌ Cannot access '${part}' - parent is null/undefined at path: ${pathTaken}`);\n }\n return undefined;\n }\n \n // For the first part, try various unwrapping strategies\n if (i === 0) {\n // Try different paths for the first component\n if (debug) {\n console.log(` Checking library.${part}...`);\n }\n const firstComponent = current[part];\n \n if (debug) {\n console.log(` Checking library.default.${part}...`);\n }\n const firstDefault = current.default?.[part];\n \n if (firstComponent) {\n current = firstComponent;\n pathTaken = `library.${part}`;\n if (debug) {\n console.log(` ✅ Found via ${pathTaken}`);\n }\n } else if (firstDefault) {\n current = firstDefault;\n pathTaken = `library.default.${part}`;\n if (debug) {\n console.log(` ✅ Found via ${pathTaken}`);\n }\n } else {\n if (debug) {\n console.log(` ❌ Could not find '${part}' in library`);\n }\n return undefined;\n }\n } else {\n // For nested parts, just access directly (they should be properties on the component object)\n if (debug) {\n console.log(` Checking ${pathTaken}.${part}...`);\n }\n if (current[part]) {\n current = current[part];\n pathTaken += `.${part}`;\n if (debug) {\n console.log(` ✅ Found via ${pathTaken}`);\n }\n } else if (current.default?.[part]) {\n // Sometimes nested components are also wrapped in default\n current = current.default[part];\n pathTaken += `.default.${part}`;\n if (debug) {\n console.log(` ✅ Found via ${pathTaken}.default`);\n }\n } else {\n if (debug) {\n console.log(` ❌ Could not find '${part}' at path: ${pathTaken}`);\n }\n return undefined;\n }\n }\n }\n \n // Check if the final result is a valid export (component, utility, object, etc.)\n // We accept anything except null/undefined\n const isValidExport = (obj: any): boolean => {\n return obj != null; // This checks for both null and undefined\n };\n \n if (isValidExport(current)) {\n if (debug) {\n console.log(`✅ Successfully unwrapped '${exportName}' via: ${pathTaken}`);\n const exportType = typeof current === 'function' ? \n (current.prototype?.isReactComponent ? 'React class component' : 'function/component') :\n (typeof current === 'object' ? 'object/utility' : typeof current);\n console.log(` Export type: ${exportType}`);\n }\n return current;\n } else if (current?.default && isValidExport(current.default)) {\n // One more check: the final export might have a default export\n if (debug) {\n console.log(`✅ Successfully unwrapped '${exportName}' via: ${pathTaken}.default`);\n }\n return current.default;\n } else {\n if (debug) {\n console.log(` ❌ '${exportName}' at ${pathTaken} is null/undefined`);\n }\n return undefined;\n }\n }\n\n // Original logic for non-dot notation components\n // Track which path we used for debugging\n let unwrapPath: string = '';\n let component: any;\n\n // Helper to check if something is a valid export (any non-null value)\n // This allows components, utilities, objects, classes, etc.\n const isValidExport = (obj: any): boolean => {\n return obj != null; // Checks for both null and undefined\n };\n\n // Path 1: Direct access (library.Component)\n if (debug) {\n console.log(` Checking library.${exportName}...`);\n }\n const directComponent = library[exportName];\n \n // Path 2: Module with default export (library.Component.default)\n if (debug && directComponent) {\n console.log(` Checking library.${exportName}.default...`);\n }\n const moduleDefault = directComponent?.default;\n \n // Path 3: Library wrapped in default (library.default.Component)\n if (debug && library.default) {\n console.log(` Checking library.default.${exportName}...`);\n }\n const libraryDefault = library.default?.[exportName];\n \n // Path 4: Library wrapped in default with module default (library.default.Component.default)\n if (debug && libraryDefault) {\n console.log(` Checking library.default.${exportName}.default...`);\n }\n const libraryDefaultModule = library.default?.[exportName]?.default;\n\n // Check each path in order of likelihood\n if (isValidExport(directComponent)) {\n component = directComponent;\n unwrapPath = `library.${exportName}`;\n if (debug) {\n console.log(` ✅ Found via ${unwrapPath}`);\n const exportType = typeof directComponent === 'function' ? 'function' : \n typeof directComponent === 'object' ? 'object' : typeof directComponent;\n console.log(` Export type: ${exportType}`);\n }\n } else if (isValidExport(moduleDefault)) {\n component = moduleDefault;\n unwrapPath = `library.${exportName}.default`;\n if (debug) {\n console.log(` ✅ Found via ${unwrapPath}`);\n }\n } else if (isValidExport(libraryDefault)) {\n component = libraryDefault;\n unwrapPath = `library.default.${exportName}`;\n if (debug) {\n console.log(` ✅ Found via ${unwrapPath}`);\n }\n } else if (isValidExport(libraryDefaultModule)) {\n component = libraryDefaultModule;\n unwrapPath = `library.default.${exportName}.default`;\n if (debug) {\n console.log(` ✅ Found via ${unwrapPath}`);\n }\n }\n\n // Debug logging for failure cases\n if (debug && !component) {\n console.log(` ❌ Could not unwrap '${exportName}' from library (all paths were null/undefined)`);\n console.log(' Library structure:');\n console.log(' - Top-level keys:', Object.keys(library).slice(0, 10).join(', '), \n Object.keys(library).length > 10 ? '...' : '');\n \n console.log(` - library.${exportName}:`, directComponent);\n \n if (library.default) {\n console.log(' - library.default exists, keys:', \n Object.keys(library.default).slice(0, 10).join(', '));\n }\n }\n\n return component;\n}\n\n/**\n * Unwraps a single export from a UMD library, handling various bundle structures\n * Works with components, utilities, objects, functions, and any other exports\n * @param library - The library object (e.g., antd, MaterialUI, XLSX)\n * @param exportName - Name of the export to unwrap (e.g., 'Button', 'utils', 'writeFile')\n * @param debug - Whether to log debug information\n * @returns The unwrapped export or undefined if not found\n */\nexport function unwrapLibraryComponent(library: any, exportName: string, debug: boolean = false): any {\n try {\n return coreUnwrapLogic(library, exportName, debug);\n } catch (error: any) {\n if (debug) {\n console.error(`🚫 Error unwrapping export '${exportName}':`, error.message);\n }\n throw error;\n }\n}\n\n/**\n * Unwraps multiple exports from a UMD library using varargs\n * Works with any type of export: components, utilities, objects, functions, etc.\n * @param library - The library object (e.g., antd, XLSX, ApexCharts)\n * @param exportNames - Export names to unwrap (e.g., 'Button', 'utils', 'writeFile')\n * @returns Object with export names as keys and unwrapped values as values\n */\nexport function unwrapLibraryComponents(\n library: any,\n ...exportNames: string[]\n): Record<string, any> {\n // Determine debug mode from the last parameter if it's a boolean\n let debug = false;\n let names = exportNames;\n \n // Check if the last argument is a debug flag (for backward compatibility)\n const lastArg = exportNames[exportNames.length - 1];\n if (typeof lastArg === 'boolean') {\n debug = lastArg;\n names = exportNames.slice(0, -1);\n }\n \n const components: Record<string, any> = {};\n const found: string[] = [];\n const notFound: string[] = [];\n \n // Check if library is a simple function/class that should be returned for all names\n const libraryType = typeof library;\n \n // Handle null/undefined/primitives early\n if (library == null || \n libraryType === 'string' || \n libraryType === 'number' || \n libraryType === 'boolean' ||\n libraryType === 'symbol' ||\n libraryType === 'bigint') {\n // Let the core logic throw the appropriate error\n try {\n coreUnwrapLogic(library, names[0] || 'unknown', debug);\n } catch (error: any) {\n if (debug) {\n console.error(`🚫 ${error.message}`);\n }\n throw error;\n }\n }\n \n // For simple functions/classes, return the same function for all requested names\n if (libraryType === 'function') {\n if (debug) {\n console.log(`📦 Library is a single function/class, returning it for all ${names.length} requested names`);\n }\n for (const name of names) {\n components[name] = library;\n found.push(name);\n }\n } else {\n // For complex objects, use the core unwrap logic for each component\n for (const name of names) {\n try {\n const component = coreUnwrapLogic(library, name, false); // Use false to avoid verbose logging per component\n if (component) {\n components[name] = component;\n \n // Also provide a convenience mapping for the last part of the name\n // e.g., 'DatePicker.RangePicker' also available as 'RangePicker'\n if (name.includes('.')) {\n const lastPart = name.split('.').pop();\n if (lastPart && !components[lastPart]) {\n // Only add the short name if it doesn't conflict with another component\n components[lastPart] = component;\n }\n }\n \n found.push(name);\n } else {\n notFound.push(name);\n }\n } catch (error: any) {\n // If core logic throws an error, it's a critical failure\n throw error;\n }\n }\n }\n \n if (debug) {\n if (found.length > 0) {\n console.log(`📦 Successfully unwrapped ${found.length} components:`, found.join(', '));\n }\n if (notFound.length > 0) {\n console.warn(`⚠️ Could not unwrap ${notFound.length} components:`, notFound.join(', '));\n }\n }\n \n return components;\n}\n\n/**\n * Auto-detects and unwraps all components from a library\n * Uses PascalCase detection to identify likely component exports\n * @param library - The library object\n * @param debug - Whether to log debug information\n * @returns Object with all detected components\n */\nexport function unwrapAllLibraryComponents(library: any, debug: boolean = false): Record<string, any> {\n const components: Record<string, any> = {};\n \n // Handle simple function/class case\n const libraryType = typeof library;\n \n // Handle null/undefined/primitives early\n if (library == null || \n libraryType === 'string' || \n libraryType === 'number' || \n libraryType === 'boolean' ||\n libraryType === 'symbol' ||\n libraryType === 'bigint') {\n try {\n coreUnwrapLogic(library, 'auto-detect', debug);\n } catch (error: any) {\n if (debug) {\n console.error(`🚫 ${error.message}`);\n }\n throw error;\n }\n }\n \n // For simple functions/classes, return it with its name\n if (libraryType === 'function') {\n const functionName = library.name || 'Component';\n if (debug) {\n console.log(`📦 Library is a single function/class '${functionName}', returning it as the only component`);\n }\n components[functionName] = library;\n return components;\n }\n \n // Helper to check if a key looks like a component name (PascalCase)\n const looksLikeComponentName = (key: string): boolean => {\n if (!key || key.length === 0) return false;\n // Must start with uppercase letter\n if (key[0] !== key[0].toUpperCase()) return false;\n // Exclude common non-component exports\n if (['__esModule', 'VERSION', 'version', 'default'].includes(key)) return false;\n // Should have at least one lowercase letter (to distinguish from CONSTANTS)\n return /[a-z]/.test(key);\n };\n \n const checkedKeys = new Set<string>();\n \n // Check direct properties\n for (const key of Object.keys(library)) {\n if (looksLikeComponentName(key)) {\n try {\n const component = coreUnwrapLogic(library, key, false);\n if (component) {\n components[key] = component;\n checkedKeys.add(key);\n }\n } catch (error) {\n // Skip components that can't be unwrapped\n }\n }\n }\n \n // Check library.default properties if it exists\n if (library.default && typeof library.default === 'object') {\n for (const key of Object.keys(library.default)) {\n if (!checkedKeys.has(key) && looksLikeComponentName(key)) {\n try {\n const component = coreUnwrapLogic(library, key, false);\n if (component) {\n components[key] = component;\n checkedKeys.add(key);\n }\n } catch (error) {\n // Skip components that can't be unwrapped\n }\n }\n }\n }\n \n if (debug) {\n const exportNames = Object.keys(components);\n if (exportNames.length > 0) {\n console.log(`🔍 Auto-detected ${exportNames.length} components from library`);\n console.log(' Components:', exportNames.slice(0, 20).join(', '),\n exportNames.length > 20 ? `... and ${exportNames.length - 20} more` : '');\n } else {\n console.warn('⚠️ No components auto-detected from library');\n console.log(' Library type:', typeof library);\n if (library) {\n console.log(' Top-level keys:', Object.keys(library).slice(0, 10).join(', '));\n }\n }\n }\n \n return components;\n}\n\n// Legacy exports for backward compatibility\nexport const unwrapComponent = unwrapLibraryComponent;\nexport const unwrapComponents = (library: any, exportNames: string[], debug: boolean = false) => {\n return unwrapLibraryComponents(library, ...exportNames, debug as any);\n};\nexport const unwrapAllComponents = unwrapAllLibraryComponents;"]}
@@ -6,4 +6,5 @@ export * from './library-dependency-resolver';
6
6
  export * from './component-error-analyzer';
7
7
  export * from './resource-manager';
8
8
  export * from './cache-manager';
9
+ export * from './component-unwrapper';
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utilities/index.ts"],"names":[],"mappings":"AAKA,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utilities/index.ts"],"names":[],"mappings":"AAKA,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC"}
@@ -22,4 +22,5 @@ __exportStar(require("./library-dependency-resolver"), exports);
22
22
  __exportStar(require("./component-error-analyzer"), exports);
23
23
  __exportStar(require("./resource-manager"), exports);
24
24
  __exportStar(require("./cache-manager"), exports);
25
+ __exportStar(require("./component-unwrapper"), exports);
25
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utilities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAKA,qDAAmC;AACnC,uDAAqC;AACrC,mDAAiC;AACjC,qDAAmC;AACnC,gEAA8C;AAC9C,6DAA2C;AAC3C,qDAAmC;AACnC,kDAAgC","sourcesContent":["/**\n * @fileoverview Utilities module exports\n * @module @memberjunction/react-runtime/utilities\n */\n\nexport * from './component-styles';\nexport * from './standard-libraries';\nexport * from './library-loader';\nexport * from './library-registry';\nexport * from './library-dependency-resolver';\nexport * from './component-error-analyzer';\nexport * from './resource-manager';\nexport * from './cache-manager';"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utilities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAKA,qDAAmC;AACnC,uDAAqC;AACrC,mDAAiC;AACjC,qDAAmC;AACnC,gEAA8C;AAC9C,6DAA2C;AAC3C,qDAAmC;AACnC,kDAAgC;AAChC,wDAAsC","sourcesContent":["/**\n * @fileoverview Utilities module exports\n * @module @memberjunction/react-runtime/utilities\n */\n\nexport * from './component-styles';\nexport * from './standard-libraries';\nexport * from './library-loader';\nexport * from './library-registry';\nexport * from './library-dependency-resolver';\nexport * from './component-error-analyzer';\nexport * from './resource-manager';\nexport * from './cache-manager';\nexport * from './component-unwrapper';"]}
@@ -25,12 +25,15 @@ export declare class LibraryLoader {
25
25
  private static loadedResources;
26
26
  private static loadedLibraryStates;
27
27
  private static dependencyResolver;
28
+ static enableProgressiveDelay: boolean;
28
29
  static loadAllLibraries(config?: LibraryConfiguration, additionalLibraries?: ExternalLibraryConfig[], options?: {
29
30
  debug?: boolean;
30
31
  }): Promise<LibraryLoadResult>;
31
32
  static loadLibrariesFromConfig(options?: ConfigLoadOptions, debug?: boolean): Promise<LibraryLoadResult>;
32
33
  static loadLibraries(options: LibraryLoadOptions): Promise<LibraryLoadResult>;
33
34
  private static loadScript;
35
+ private static isLibraryReady;
36
+ private static waitForGlobalVariable;
34
37
  private static loadCSS;
35
38
  private static waitForScriptLoad;
36
39
  static getLoadedResources(): Map<string, LoadedResource>;
@@ -1 +1 @@
1
- {"version":3,"file":"library-loader.d.ts","sourceRoot":"","sources":["../../src/utilities/library-loader.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,iBAAiB,EAElB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,kBAAkB,IAAI,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG/H,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,OAAO,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAS5F,UAAU,cAAc;IACtB,OAAO,EAAE,iBAAiB,GAAG,eAAe,CAAC;IAC7C,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;CACvB;AAMD,MAAM,WAAW,kBAAkB;IAEjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,eAAe,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACzD;AAKD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,GAAG,CAAC;IACX,QAAQ,EAAE,GAAG,CAAC;IACd,KAAK,EAAE,GAAG,CAAC;IACX,SAAS,EAAE,iBAAiB,CAAC;CAC9B;AAKD,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,eAAe,CAAqC;IACnE,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAyC;IAC3E,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAmD;WASvE,gBAAgB,CAC3B,MAAM,CAAC,EAAE,oBAAoB,EAC7B,mBAAmB,CAAC,EAAE,qBAAqB,EAAE,EAC7C,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAC5B,OAAO,CAAC,iBAAiB,CAAC;WAwBhB,uBAAuB,CAAC,OAAO,CAAC,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC;WAkFjG,aAAa,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;mBAuC9D,UAAU;IAgG/B,OAAO,CAAC,MAAM,CAAC,OAAO;IA2BtB,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAmDhC,MAAM,CAAC,kBAAkB,IAAI,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC;IAOxD,MAAM,CAAC,UAAU,IAAI,IAAI;WAuBZ,2BAA2B,CACtC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,sBAAsB,EAAE,EACtC,WAAW,GAAE,MAAe,EAC5B,OAAO,CAAC,EAAE,2BAA2B,GACpC,OAAO,CAAC,GAAG,CAAC;WA6GF,6BAA6B,CACxC,YAAY,EAAE,MAAM,EAAE,EACtB,YAAY,EAAE,sBAAsB,EAAE,EACtC,WAAW,GAAE,MAAe,EAC5B,OAAO,CAAC,EAAE,2BAA2B,GACpC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAsH5B,MAAM,CAAC,sBAAsB,IAAI,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC;IAShE,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IASpD,MAAM,CAAC,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAGxE"}
1
+ {"version":3,"file":"library-loader.d.ts","sourceRoot":"","sources":["../../src/utilities/library-loader.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,iBAAiB,EAElB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,kBAAkB,IAAI,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG/H,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,OAAO,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAS5F,UAAU,cAAc;IACtB,OAAO,EAAE,iBAAiB,GAAG,eAAe,CAAC;IAC7C,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;CACvB;AAMD,MAAM,WAAW,kBAAkB;IAEjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,eAAe,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACzD;AAKD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,GAAG,CAAC;IACX,QAAQ,EAAE,GAAG,CAAC;IACd,KAAK,EAAE,GAAG,CAAC;IACX,SAAS,EAAE,iBAAiB,CAAC;CAC9B;AAKD,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,eAAe,CAAqC;IACnE,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAyC;IAC3E,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAmD;IAKpF,OAAc,sBAAsB,EAAE,OAAO,CAAS;WASzC,gBAAgB,CAC3B,MAAM,CAAC,EAAE,oBAAoB,EAC7B,mBAAmB,CAAC,EAAE,qBAAqB,EAAE,EAC7C,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAC5B,OAAO,CAAC,iBAAiB,CAAC;WAwBhB,uBAAuB,CAAC,OAAO,CAAC,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC;WAkFjG,aAAa,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;mBAuC9D,UAAU;IA6G/B,OAAO,CAAC,MAAM,CAAC,cAAc;mBAgCR,qBAAqB;IA6D1C,OAAO,CAAC,MAAM,CAAC,OAAO;IA2BtB,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAmDhC,MAAM,CAAC,kBAAkB,IAAI,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC;IAOxD,MAAM,CAAC,UAAU,IAAI,IAAI;WAuBZ,2BAA2B,CACtC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,sBAAsB,EAAE,EACtC,WAAW,GAAE,MAAe,EAC5B,OAAO,CAAC,EAAE,2BAA2B,GACpC,OAAO,CAAC,GAAG,CAAC;WAwHF,6BAA6B,CACxC,YAAY,EAAE,MAAM,EAAE,EACtB,YAAY,EAAE,sBAAsB,EAAE,EACtC,WAAW,GAAE,MAAe,EAC5B,OAAO,CAAC,EAAE,2BAA2B,GACpC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAiI5B,MAAM,CAAC,sBAAsB,IAAI,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC;IAShE,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IASpD,MAAM,CAAC,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAGxE"}