@memberjunction/react-runtime 2.89.0 → 2.90.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.
@@ -1,4 +1,4 @@
1
1
 
2
- > @memberjunction/react-runtime@2.89.0 build
2
+ > @memberjunction/react-runtime@2.90.0 build
3
3
  > tsc
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # @memberjunction/react-runtime
2
2
 
3
+ ## 2.90.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 187527b: migration
8
+ - da3eb4f: migration
9
+
10
+ ### Patch Changes
11
+
12
+ - Updated dependencies [d4530d7]
13
+ - Updated dependencies [146ebcc]
14
+ - @memberjunction/interactive-component-types@2.90.0
15
+ - @memberjunction/core@2.90.0
16
+ - @memberjunction/global@2.90.0
17
+
3
18
  ## 2.89.0
4
19
 
5
20
  ### Patch Changes
@@ -9,6 +9,9 @@ export declare class ComponentCompiler {
9
9
  compile(options: CompileOptions): Promise<CompilationResult>;
10
10
  private transpileComponent;
11
11
  private wrapComponentCode;
12
+ private loadRequiredLibraries;
13
+ private loadStyles;
14
+ private loadScript;
12
15
  private createComponentFactory;
13
16
  private validateCompileOptions;
14
17
  private generateComponentId;
@@ -1 +1 @@
1
- {"version":3,"file":"component-compiler.d.ts","sourceRoot":"","sources":["../../src/compiler/component-compiler.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,cAAc,EAEd,iBAAiB,EACjB,cAAc,EAGf,MAAM,UAAU,CAAC;AAoBlB,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,gBAAgB,CAAW;IACnC,OAAO,CAAC,aAAa,CAAM;gBAMf,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC;IAS5C,gBAAgB,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAS5B,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAqElE,OAAO,CAAC,kBAAkB;IAgC1B,OAAO,CAAC,iBAAiB;IAoCzB,OAAO,CAAC,sBAAsB;IA8D9B,OAAO,CAAC,sBAAsB;IAiE9B,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,cAAc;IAkBtB,OAAO,CAAC,sBAAsB;IAa9B,UAAU,IAAI,IAAI;IAQlB,YAAY,IAAI,MAAM;IAQtB,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI;CAGpD"}
1
+ {"version":3,"file":"component-compiler.d.ts","sourceRoot":"","sources":["../../src/compiler/component-compiler.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,cAAc,EAEd,iBAAiB,EACjB,cAAc,EAGf,MAAM,UAAU,CAAC;AAqBlB,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,gBAAgB,CAAW;IACnC,OAAO,CAAC,aAAa,CAAM;gBAMf,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC;IAS5C,gBAAgB,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAS5B,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAyElE,OAAO,CAAC,kBAAkB;IAiC1B,OAAO,CAAC,iBAAiB;YA2CX,qBAAqB;YAoErB,UAAU;IA+BxB,OAAO,CAAC,UAAU;IAgDlB,OAAO,CAAC,sBAAsB;IAwE9B,OAAO,CAAC,sBAAsB;IAiE9B,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,sBAAsB;IAa9B,UAAU,IAAI,IAAI;IAQlB,YAAY,IAAI,MAAM;IAQtB,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI;CAGpD"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ComponentCompiler = void 0;
4
+ const library_registry_1 = require("../utilities/library-registry");
4
5
  const DEFAULT_COMPILER_CONFIG = {
5
6
  babel: {
6
7
  presets: ['react'],
@@ -33,8 +34,9 @@ class ComponentCompiler {
33
34
  }
34
35
  }
35
36
  this.validateCompileOptions(options);
37
+ const loadedLibraries = await this.loadRequiredLibraries(options.libraries);
36
38
  const transpiledCode = this.transpileComponent(options.componentCode, options.componentName, options);
37
- const componentFactory = this.createComponentFactory(transpiledCode, options.componentName);
39
+ const componentFactory = this.createComponentFactory(transpiledCode, options.componentName, loadedLibraries);
38
40
  const compiledComponent = {
39
41
  component: componentFactory,
40
42
  id: this.generateComponentId(options.componentName),
@@ -64,7 +66,7 @@ class ComponentCompiler {
64
66
  if (!this.babelInstance) {
65
67
  throw new Error('Babel instance not set. Call setBabelInstance() first.');
66
68
  }
67
- const wrappedCode = this.wrapComponentCode(code, componentName);
69
+ const wrappedCode = this.wrapComponentCode(code, componentName, options.libraries);
68
70
  try {
69
71
  const result = this.babelInstance.transform(wrappedCode, {
70
72
  presets: options.babelPresets || this.config.babel.presets,
@@ -79,14 +81,20 @@ class ComponentCompiler {
79
81
  throw new Error(`Transpilation failed: ${error.message}`);
80
82
  }
81
83
  }
82
- wrapComponentCode(componentCode, componentName) {
84
+ wrapComponentCode(componentCode, componentName, libraries) {
85
+ const libraryDeclarations = libraries && libraries.length > 0
86
+ ? libraries
87
+ .filter(lib => lib.globalVariable)
88
+ .map(lib => `const ${lib.globalVariable} = libraries['${lib.globalVariable}'];`)
89
+ .join('\n ')
90
+ : '';
83
91
  return `
84
92
  function createComponent(
85
93
  React, ReactDOM,
86
94
  useState, useEffect, useCallback, useMemo, useRef, useContext, useReducer, useLayoutEffect,
87
95
  libraries, styles, console
88
96
  ) {
89
- ${componentCode}
97
+ ${libraryDeclarations ? libraryDeclarations + '\n ' : ''}${componentCode}
90
98
 
91
99
  // Ensure the component exists
92
100
  if (typeof ${componentName} === 'undefined') {
@@ -108,13 +116,110 @@ class ComponentCompiler {
108
116
  }
109
117
  `;
110
118
  }
111
- createComponentFactory(transpiledCode, componentName) {
119
+ async loadRequiredLibraries(libraries) {
120
+ const loadedLibraries = new Map();
121
+ if (!libraries || libraries.length === 0) {
122
+ return loadedLibraries;
123
+ }
124
+ if (typeof window === 'undefined') {
125
+ console.warn('Library loading is only supported in browser environments');
126
+ return loadedLibraries;
127
+ }
128
+ const loadPromises = libraries.map(async (lib) => {
129
+ if (!library_registry_1.LibraryRegistry.isApproved(lib.name)) {
130
+ throw new Error(`Library '${lib.name}' is not approved. Only approved libraries can be used.`);
131
+ }
132
+ const libraryDef = library_registry_1.LibraryRegistry.getLibrary(lib.name);
133
+ if (!libraryDef) {
134
+ throw new Error(`Library '${lib.name}' not found in registry`);
135
+ }
136
+ const resolvedVersion = library_registry_1.LibraryRegistry.resolveVersion(lib.name, lib.version);
137
+ const cdnUrl = library_registry_1.LibraryRegistry.getCdnUrl(lib.name, resolvedVersion);
138
+ if (!cdnUrl) {
139
+ throw new Error(`No CDN URL found for library '${lib.name}' version '${lib.version || 'default'}'`);
140
+ }
141
+ if (window[lib.globalVariable]) {
142
+ loadedLibraries.set(lib.globalVariable, window[lib.globalVariable]);
143
+ return;
144
+ }
145
+ const versionInfo = libraryDef.versions[resolvedVersion || libraryDef.defaultVersion];
146
+ if (versionInfo?.cssUrls) {
147
+ await this.loadStyles(versionInfo.cssUrls);
148
+ }
149
+ await this.loadScript(cdnUrl, lib.globalVariable);
150
+ const libraryValue = window[lib.globalVariable];
151
+ if (libraryValue) {
152
+ loadedLibraries.set(lib.globalVariable, libraryValue);
153
+ }
154
+ else {
155
+ throw new Error(`Library '${lib.name}' failed to load or did not expose '${lib.globalVariable}'`);
156
+ }
157
+ });
158
+ await Promise.all(loadPromises);
159
+ return loadedLibraries;
160
+ }
161
+ async loadStyles(urls) {
162
+ const loadPromises = urls.map(url => {
163
+ return new Promise((resolve) => {
164
+ const existingLink = document.querySelector(`link[href="${url}"]`);
165
+ if (existingLink) {
166
+ resolve();
167
+ return;
168
+ }
169
+ const link = document.createElement('link');
170
+ link.rel = 'stylesheet';
171
+ link.href = url;
172
+ document.head.appendChild(link);
173
+ resolve();
174
+ });
175
+ });
176
+ await Promise.all(loadPromises);
177
+ }
178
+ loadScript(url, globalName) {
179
+ return new Promise((resolve, reject) => {
180
+ const existingScript = document.querySelector(`script[src="${url}"]`);
181
+ if (existingScript) {
182
+ const checkLoaded = () => {
183
+ if (window[globalName]) {
184
+ resolve();
185
+ }
186
+ else {
187
+ setTimeout(checkLoaded, 100);
188
+ }
189
+ };
190
+ checkLoaded();
191
+ return;
192
+ }
193
+ const script = document.createElement('script');
194
+ script.src = url;
195
+ script.async = true;
196
+ script.onload = () => {
197
+ setTimeout(() => {
198
+ if (window[globalName]) {
199
+ resolve();
200
+ }
201
+ else {
202
+ reject(new Error(`${globalName} not found after loading script`));
203
+ }
204
+ }, 100);
205
+ };
206
+ script.onerror = () => {
207
+ reject(new Error(`Failed to load script: ${url}`));
208
+ };
209
+ document.head.appendChild(script);
210
+ });
211
+ }
212
+ createComponentFactory(transpiledCode, componentName, loadedLibraries) {
112
213
  try {
113
214
  const factoryCreator = new Function('React', 'ReactDOM', 'useState', 'useEffect', 'useCallback', 'useMemo', 'useRef', 'useContext', 'useReducer', 'useLayoutEffect', 'libraries', 'styles', 'console', `${transpiledCode}; return createComponent;`);
114
215
  return (context, styles = {}) => {
115
216
  const { React, ReactDOM, libraries = {} } = context;
116
- const createComponentFn = factoryCreator(React, ReactDOM, React.useState, React.useEffect, React.useCallback, React.useMemo, React.useRef, React.useContext, React.useReducer, React.useLayoutEffect, libraries, styles, console);
117
- const Component = createComponentFn(React, ReactDOM, React.useState, React.useEffect, React.useCallback, React.useMemo, React.useRef, React.useContext, React.useReducer, React.useLayoutEffect, libraries, styles, console);
217
+ const mergedLibraries = { ...libraries };
218
+ loadedLibraries.forEach((value, key) => {
219
+ mergedLibraries[key] = value;
220
+ });
221
+ const createComponentFn = factoryCreator(React, ReactDOM, React.useState, React.useEffect, React.useCallback, React.useMemo, React.useRef, React.useContext, React.useReducer, React.useLayoutEffect, mergedLibraries, styles, console);
222
+ const Component = createComponentFn(React, ReactDOM, React.useState, React.useEffect, React.useCallback, React.useMemo, React.useRef, React.useContext, React.useReducer, React.useLayoutEffect, mergedLibraries, styles, console);
118
223
  return Component;
119
224
  };
120
225
  }
@@ -177,7 +282,8 @@ class ComponentCompiler {
177
282
  cacheComponent(component, code) {
178
283
  if (this.compilationCache.size >= this.config.maxCacheSize) {
179
284
  const firstKey = this.compilationCache.keys().next().value;
180
- this.compilationCache.delete(firstKey);
285
+ if (firstKey)
286
+ this.compilationCache.delete(firstKey);
181
287
  }
182
288
  const cacheKey = this.createCacheKey(component.name, code);
183
289
  this.compilationCache.set(cacheKey, component);
@@ -1 +1 @@
1
- {"version":3,"file":"component-hierarchy.d.ts","sourceRoot":"","sources":["../../src/runtime/component-hierarchy.ts"],"names":[],"mappings":"AAMA,OAAO,EAGL,eAAe,EACf,cAAc,EACf,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAK5E,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,MAAM,EAAE,0BAA0B,EAAE,CAAC;IACrC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAKD,MAAM,WAAW,0BAA0B;IACzC,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,aAAa,GAAG,cAAc,GAAG,YAAY,CAAC;CACtD;AAKD,MAAM,WAAW,4BAA4B;IAE3C,MAAM,CAAC,EAAE,eAAe,CAAC;IAEzB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAKD,qBAAa,2BAA2B;IAEpC,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,cAAc;gBAFd,QAAQ,EAAE,iBAAiB,EAC3B,QAAQ,EAAE,iBAAiB,EAC3B,cAAc,EAAE,cAAc;IASlC,iBAAiB,CACrB,QAAQ,EAAE,aAAa,EACvB,OAAO,GAAE,4BAAiC,GACzC,OAAO,CAAC,2BAA2B,CAAC;IAsDjC,uBAAuB,CAC3B,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE;QACP,MAAM,CAAC,EAAE,eAAe,CAAC;QACzB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB,GACA,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,0BAA0B,CAAA;KAAE,CAAC;YA8EtD,uBAAuB;CAwCtC;AAWD,wBAAsB,0BAA0B,CAC9C,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,iBAAiB,EAC3B,QAAQ,EAAE,iBAAiB,EAC3B,cAAc,EAAE,cAAc,EAC9B,OAAO,GAAE,4BAAiC,GACzC,OAAO,CAAC,2BAA2B,CAAC,CAGtC;AAOD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,EAAE,CA2BnE;AAOD,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,aAAa,GAAG,aAAa,EAAE,CASlF;AAQD,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,aAAa,EACvB,YAAY,GAAE,OAAe,GAC5B,MAAM,CAaR"}
1
+ {"version":3,"file":"component-hierarchy.d.ts","sourceRoot":"","sources":["../../src/runtime/component-hierarchy.ts"],"names":[],"mappings":"AAMA,OAAO,EAGL,eAAe,EACf,cAAc,EACf,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAK5E,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,MAAM,EAAE,0BAA0B,EAAE,CAAC;IACrC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAKD,MAAM,WAAW,0BAA0B;IACzC,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,aAAa,GAAG,cAAc,GAAG,YAAY,CAAC;CACtD;AAKD,MAAM,WAAW,4BAA4B;IAE3C,MAAM,CAAC,EAAE,eAAe,CAAC;IAEzB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAKD,qBAAa,2BAA2B;IAEpC,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,cAAc;gBAFd,QAAQ,EAAE,iBAAiB,EAC3B,QAAQ,EAAE,iBAAiB,EAC3B,cAAc,EAAE,cAAc;IASlC,iBAAiB,CACrB,QAAQ,EAAE,aAAa,EACvB,OAAO,GAAE,4BAAiC,GACzC,OAAO,CAAC,2BAA2B,CAAC;IAsDjC,uBAAuB,CAC3B,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE;QACP,MAAM,CAAC,EAAE,eAAe,CAAC;QACzB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB,GACA,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,0BAA0B,CAAA;KAAE,CAAC;YA+EtD,uBAAuB;CAwCtC;AAWD,wBAAsB,0BAA0B,CAC9C,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,iBAAiB,EAC3B,QAAQ,EAAE,iBAAiB,EAC3B,cAAc,EAAE,cAAc,EAC9B,OAAO,GAAE,4BAAiC,GACzC,OAAO,CAAC,2BAA2B,CAAC,CAGtC;AAOD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,EAAE,CA2BnE;AAOD,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,aAAa,GAAG,aAAa,EAAE,CASlF;AAQD,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,aAAa,EACvB,YAAY,GAAE,OAAe,GAC5B,MAAM,CAaR"}
@@ -56,7 +56,8 @@ class ComponentHierarchyRegistrar {
56
56
  const compileOptions = {
57
57
  componentName: spec.name,
58
58
  componentCode: spec.code,
59
- styles
59
+ styles,
60
+ libraries: spec.libraries
60
61
  };
61
62
  const compilationResult = await this.compiler.compile(compileOptions);
62
63
  if (!compilationResult.success) {
@@ -12,6 +12,7 @@ export interface CompileOptions {
12
12
  production?: boolean;
13
13
  babelPlugins?: string[];
14
14
  babelPresets?: string[];
15
+ libraries?: any[];
15
16
  }
16
17
  export interface ComponentStyles {
17
18
  className?: string;
@@ -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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"}
@@ -2,6 +2,7 @@ export * from './runtime-utilities';
2
2
  export * from './component-styles';
3
3
  export * from './standard-libraries';
4
4
  export * from './library-loader';
5
+ export * from './library-registry';
5
6
  export * from './component-error-analyzer';
6
7
  export * from './resource-manager';
7
8
  export * from './cache-manager';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utilities/index.ts"],"names":[],"mappings":"AAKA,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,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,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC"}
@@ -18,6 +18,7 @@ __exportStar(require("./runtime-utilities"), exports);
18
18
  __exportStar(require("./component-styles"), exports);
19
19
  __exportStar(require("./standard-libraries"), exports);
20
20
  __exportStar(require("./library-loader"), exports);
21
+ __exportStar(require("./library-registry"), exports);
21
22
  __exportStar(require("./component-error-analyzer"), exports);
22
23
  __exportStar(require("./resource-manager"), exports);
23
24
  __exportStar(require("./cache-manager"), exports);
@@ -0,0 +1,22 @@
1
+ export interface LibraryDefinition {
2
+ name: string;
3
+ globalVariable: string;
4
+ category: string;
5
+ versions: {
6
+ [version: string]: {
7
+ cdnUrl: string;
8
+ cssUrls?: string[];
9
+ };
10
+ };
11
+ defaultVersion: string;
12
+ }
13
+ export declare class LibraryRegistry {
14
+ private static libraries;
15
+ private static initializeLibraries;
16
+ static getLibrary(name: string): LibraryDefinition | undefined;
17
+ static getCdnUrl(name: string, version?: string): string | undefined;
18
+ static isApproved(name: string): boolean;
19
+ static resolveVersion(name: string, versionPattern?: string): string | undefined;
20
+ static registerLibrary(definition: LibraryDefinition): void;
21
+ }
22
+ //# sourceMappingURL=library-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"library-registry.d.ts","sourceRoot":"","sources":["../../src/utilities/library-registry.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,iBAAiB;IAEhC,IAAI,EAAE,MAAM,CAAC;IAEb,cAAc,EAAE,MAAM,CAAC;IAEvB,QAAQ,EAAE,MAAM,CAAC;IAEjB,QAAQ,EAAE;QACR,CAAC,OAAO,EAAE,MAAM,GAAG;YACjB,MAAM,EAAE,MAAM,CAAC;YAEf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;SACpB,CAAC;KACH,CAAC;IAEF,cAAc,EAAE,MAAM,CAAC;CACxB;AAMD,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,SAAS,CAA6C;IAOrE,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAqiBlC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAU9D,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAWpE,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IASxC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAqBhF,MAAM,CAAC,eAAe,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;CAG5D"}