piral-blazor 1.0.0-pre.2296 → 1.0.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 (53) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +51 -9
  3. package/convert.d.ts +13 -8
  4. package/convert.js +17 -12
  5. package/esm/converter.d.ts +10 -4
  6. package/esm/converter.js +164 -50
  7. package/esm/converter.js.map +1 -1
  8. package/esm/create.d.ts +21 -1
  9. package/esm/create.js +29 -15
  10. package/esm/create.js.map +1 -1
  11. package/esm/dependencies.d.ts +6 -3
  12. package/esm/dependencies.js +104 -14
  13. package/esm/dependencies.js.map +1 -1
  14. package/esm/events.d.ts +6 -0
  15. package/esm/events.js +145 -0
  16. package/esm/events.js.map +1 -0
  17. package/esm/interop.d.ts +29 -12
  18. package/esm/interop.js +181 -119
  19. package/esm/interop.js.map +1 -1
  20. package/esm/navigation.d.ts +2 -0
  21. package/esm/navigation.js +30 -0
  22. package/esm/navigation.js.map +1 -0
  23. package/esm/types.d.ts +97 -4
  24. package/infra.codegen +32 -23
  25. package/lib/converter.d.ts +10 -4
  26. package/lib/converter.js +164 -50
  27. package/lib/converter.js.map +1 -1
  28. package/lib/create.d.ts +21 -1
  29. package/lib/create.js +31 -17
  30. package/lib/create.js.map +1 -1
  31. package/lib/dependencies.d.ts +6 -3
  32. package/lib/dependencies.js +104 -14
  33. package/lib/dependencies.js.map +1 -1
  34. package/lib/events.d.ts +6 -0
  35. package/lib/events.js +154 -0
  36. package/lib/events.js.map +1 -0
  37. package/lib/index.js +1 -1
  38. package/lib/interop.d.ts +29 -12
  39. package/lib/interop.js +196 -124
  40. package/lib/interop.js.map +1 -1
  41. package/lib/navigation.d.ts +2 -0
  42. package/lib/navigation.js +35 -0
  43. package/lib/navigation.js.map +1 -0
  44. package/lib/types.d.ts +97 -4
  45. package/package.json +26 -7
  46. package/src/converter.ts +233 -63
  47. package/src/create.ts +53 -9
  48. package/src/dependencies.ts +122 -14
  49. package/src/events.ts +174 -0
  50. package/src/interop.ts +228 -117
  51. package/src/navigation.ts +36 -0
  52. package/src/types.ts +115 -4
  53. package/convert.ts +0 -17
@@ -1,21 +1,111 @@
1
- import { addReference } from './interop';
2
- export function createDependencyLoader(convert, lazy) {
3
- if (lazy === void 0) { lazy = true; }
4
- var dependency;
1
+ var _a, _b;
2
+ import { __awaiter } from "tslib";
3
+ import { loadBlazorPilet, loadResource, loadResourceWithSymbol, unloadBlazorPilet, unloadResource } from './interop';
4
+ const loadedDependencies = ((_a = window.$blazorDependencies) !== null && _a !== void 0 ? _a : (window.$blazorDependencies = []));
5
+ const depsWithPrios = ((_b = window.$blazorDependencyPrios) !== null && _b !== void 0 ? _b : (window.$blazorDependencyPrios = []));
6
+ export function createDependencyLoader(convert) {
7
+ const definedBlazorReferences = [];
8
+ const loadedBlazorPilets = [];
9
+ let dependency;
5
10
  return {
6
- getDependency: function () {
11
+ getDependency() {
7
12
  return dependency;
8
13
  },
9
- defineBlazorReferences: function (references) {
10
- var load = function () {
11
- return Promise.all(references.map(function (reference) {
12
- return fetch(reference)
13
- .then(function (res) { return res.blob(); })
14
- .then(addReference);
15
- }));
14
+ defineBlazorReferences(references, meta = {}, satellites = {}, prio = 0) {
15
+ prio = Math.max(prio, 0);
16
+ const depWithPrio = {
17
+ prio,
18
+ load() {
19
+ return Promise.resolve();
20
+ },
16
21
  };
17
- var result = !lazy && convert.loader.then(load);
18
- dependency = function () { return result || (result = load()); };
22
+ let result = false;
23
+ const load = ([_, capabilities]) => __awaiter(this, void 0, void 0, function* () {
24
+ // let others finish first
25
+ yield Promise.all(depsWithPrios.filter((m) => m.prio > prio).map((m) => m.load()));
26
+ window.dispatchEvent(new CustomEvent('loading-blazor-pilet', { detail: meta }));
27
+ if (capabilities.includes('load')) {
28
+ // new loading mechanism
29
+ if (!capabilities.includes('language')) {
30
+ satellites = undefined;
31
+ }
32
+ const dependencies = references.filter((m) => m.endsWith('.dll'));
33
+ const dllUrl = dependencies.pop();
34
+ const piletName = dllUrl.substring(0, dllUrl.length - 4);
35
+ const piletPdb = `${piletName}.pdb`;
36
+ const pdbUrl = references.find((m) => m === piletPdb);
37
+ const id = Math.random().toString(26).substring(2);
38
+ yield loadBlazorPilet(id, {
39
+ name: meta.name || '(unknown)',
40
+ version: meta.version || '0.0.0',
41
+ config: JSON.stringify(meta.config || {}),
42
+ baseUrl: meta.basePath || dllUrl.substring(0, dllUrl.lastIndexOf('/')).replace('/_framework/', '/'),
43
+ dependencies,
44
+ satellites,
45
+ dllUrl,
46
+ pdbUrl,
47
+ });
48
+ loadedBlazorPilets.push(id);
49
+ }
50
+ else {
51
+ // old loading mechanism
52
+ for (const dllUrl of references) {
53
+ const dllName = dllUrl.substring(dllUrl.lastIndexOf('/') + 1);
54
+ if (dllUrl.endsWith('.dll')) {
55
+ const entry = loadedDependencies.find((m) => m.name === dllName);
56
+ if (entry) {
57
+ entry.count++;
58
+ yield entry.promise;
59
+ }
60
+ else {
61
+ const urlWithoutExtension = dllUrl.substring(0, dllUrl.length - 4);
62
+ const pdbName = `${urlWithoutExtension}.pdb`;
63
+ const pdbUrl = references.find((m) => m === pdbName);
64
+ const promise = pdbUrl ? loadResourceWithSymbol(dllUrl, pdbUrl) : loadResource(dllUrl);
65
+ loadedDependencies.push({
66
+ name: dllName,
67
+ url: dllUrl,
68
+ count: 1,
69
+ promise,
70
+ });
71
+ yield promise;
72
+ }
73
+ definedBlazorReferences.push(dllName);
74
+ }
75
+ }
76
+ }
77
+ // inform remaining that this one finished
78
+ window.dispatchEvent(new CustomEvent('loaded-blazor-pilet', { detail: meta }));
79
+ });
80
+ depWithPrio.load = () => {
81
+ if (!result) {
82
+ result = convert.loader.then(load);
83
+ }
84
+ return result;
85
+ };
86
+ result = !convert.lazy && convert.loader.then(load);
87
+ dependency = (config) => result || (result = load(config));
88
+ if (prio) {
89
+ depsWithPrios.push(depWithPrio);
90
+ }
91
+ },
92
+ releaseBlazorReferences() {
93
+ return __awaiter(this, void 0, void 0, function* () {
94
+ const references = definedBlazorReferences.splice(0, definedBlazorReferences.length);
95
+ const ids = loadedBlazorPilets.splice(0, loadedBlazorPilets.length);
96
+ // old way of loading
97
+ for (const reference of references) {
98
+ const entry = loadedDependencies.find((m) => m.name === reference);
99
+ if (--entry.count === 0) {
100
+ loadedDependencies.splice(loadedDependencies.indexOf(entry), 1);
101
+ yield unloadResource(entry.url);
102
+ }
103
+ }
104
+ // new way of loading
105
+ for (const id of ids) {
106
+ yield unloadBlazorPilet(id);
107
+ }
108
+ });
19
109
  },
20
110
  };
21
111
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../src/dependencies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAGzC,MAAM,UAAU,sBAAsB,CAAC,OAA2C,EAAE,IAAW;IAAX,qBAAA,EAAA,WAAW;IAC7F,IAAI,UAA8B,CAAC;IAEnC,OAAO;QACL,aAAa;YACX,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,sBAAsB,YAAC,UAAU;YAC/B,IAAM,IAAI,GAAG;gBACX,OAAA,OAAO,CAAC,GAAG,CACT,UAAU,CAAC,GAAG,CAAC,UAAC,SAAS;oBACvB,OAAA,KAAK,CAAC,SAAS,CAAC;yBACb,IAAI,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,IAAI,EAAE,EAAV,CAAU,CAAC;yBACzB,IAAI,CAAC,YAAY,CAAC;gBAFrB,CAEqB,CACtB,CACF;YAND,CAMC,CAAC;YACJ,IAAI,MAAM,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChD,UAAU,GAAG,cAAM,OAAA,MAAM,IAAI,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC,EAA3B,CAA2B,CAAC;QACjD,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../src/dependencies.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare function emitRenderEvent(source: HTMLElement, name: string, params: any, sourceRef: any, fallbackComponent: string | null): void;
2
+ export declare function emitPiralEvent(type: string, args: any): void;
3
+ export declare function emitNavigateEvent(source: HTMLElement, to: string, replace?: boolean, state?: any): void;
4
+ export declare function attachEvents(host: HTMLElement, render: (ev: CustomEvent) => void, navigate: (ev: CustomEvent) => void, forward: (ev: CustomEvent) => void): () => void;
5
+ export declare function addGlobalEventListeners(el: HTMLElement): void;
6
+ export declare function removeGlobalEventListeners(el: HTMLElement): void;
package/esm/events.js ADDED
@@ -0,0 +1,145 @@
1
+ import { isInternalNavigation, performInternalNavigation } from './navigation';
2
+ const blazorRootId = 'blazor-root';
3
+ const eventParents = [];
4
+ const globalEventNames = [
5
+ 'abort',
6
+ 'blur',
7
+ 'change',
8
+ 'error',
9
+ 'focus',
10
+ 'load',
11
+ 'loadend',
12
+ 'loadstart',
13
+ 'mouseenter',
14
+ 'mouseleave',
15
+ 'progress',
16
+ 'reset',
17
+ 'scroll',
18
+ 'submit',
19
+ 'unload',
20
+ 'DOMNodeInsertedIntoDocument',
21
+ 'DOMNodeRemovedFromDocument',
22
+ 'click',
23
+ 'dblclick',
24
+ 'mousedown',
25
+ 'mousemove',
26
+ 'mouseup',
27
+ ];
28
+ const eventNames = {
29
+ render: 'render-blazor-extension',
30
+ navigate: 'navigate-blazor',
31
+ piral: 'piral-blazor',
32
+ };
33
+ function isRooted(target) {
34
+ let parent = target.parentElement;
35
+ while (parent) {
36
+ if (parent.id === blazorRootId) {
37
+ return true;
38
+ }
39
+ parent = parent.parentElement;
40
+ }
41
+ return false;
42
+ }
43
+ function findTarget(target = document.body) {
44
+ if (eventParents.length === 0) {
45
+ return target;
46
+ }
47
+ else if (target === document.body) {
48
+ return eventParents[0];
49
+ }
50
+ else {
51
+ return target;
52
+ }
53
+ }
54
+ function dispatchToRoot(event) {
55
+ var _a;
56
+ isInternalNavigation(event) && performInternalNavigation(event);
57
+ // the mutation event cannot be cloned (at least in Webkit-based browsers)
58
+ if (!(event instanceof MutationEvent) && !event.processed) {
59
+ const eventClone = new event.constructor(event.type, event);
60
+ (_a = document.getElementById(blazorRootId)) === null || _a === void 0 ? void 0 : _a.dispatchEvent(eventClone);
61
+ // make sure to only process every event once; even though multiple boundaries might be active
62
+ event.processed = true;
63
+ }
64
+ }
65
+ export function emitRenderEvent(source, name, params, sourceRef, fallbackComponent) {
66
+ const target = findTarget(source);
67
+ const empty = typeof fallbackComponent === 'string' ? () => { } : undefined;
68
+ const order = typeof sourceRef !== 'undefined'
69
+ ? (elements) => {
70
+ const oldItems = elements.map((el, id) => {
71
+ var _a;
72
+ return ({
73
+ id,
74
+ pilet: el.pilet,
75
+ defaults: (_a = el.defaults) !== null && _a !== void 0 ? _a : {},
76
+ });
77
+ });
78
+ const newItems = sourceRef.invokeMethod('Order', oldItems);
79
+ return newItems.map(({ id }) => elements[id]).filter(Boolean);
80
+ }
81
+ : undefined;
82
+ const eventInit = {
83
+ bubbles: true,
84
+ detail: {
85
+ target,
86
+ props: {
87
+ name,
88
+ params,
89
+ empty,
90
+ order,
91
+ },
92
+ },
93
+ };
94
+ const delayEmit = () => requestAnimationFrame(() => {
95
+ if (!isRooted(target)) {
96
+ target.dispatchEvent(new CustomEvent(eventNames.render, eventInit));
97
+ }
98
+ else {
99
+ delayEmit();
100
+ }
101
+ });
102
+ delayEmit();
103
+ }
104
+ export function emitPiralEvent(type, args) {
105
+ document.body.dispatchEvent(new CustomEvent(eventNames.piral, {
106
+ bubbles: false,
107
+ detail: {
108
+ type,
109
+ args,
110
+ },
111
+ }));
112
+ }
113
+ export function emitNavigateEvent(source, to, replace = false, state) {
114
+ findTarget(source).dispatchEvent(new CustomEvent(eventNames.navigate, {
115
+ bubbles: true,
116
+ detail: {
117
+ to,
118
+ replace,
119
+ state,
120
+ },
121
+ }));
122
+ }
123
+ export function attachEvents(host, render, navigate, forward) {
124
+ eventParents.push(host);
125
+ host.addEventListener(eventNames.render, render, false);
126
+ host.addEventListener(eventNames.navigate, navigate, false);
127
+ if (eventParents.length === 1) {
128
+ document.body.addEventListener(eventNames.piral, forward, false);
129
+ }
130
+ return () => {
131
+ eventParents.splice(eventParents.indexOf(host), 1);
132
+ host.removeEventListener(eventNames.render, render, false);
133
+ host.removeEventListener(eventNames.navigate, navigate, false);
134
+ if (eventParents.length === 0) {
135
+ document.body.removeEventListener(eventNames.piral, forward, false);
136
+ }
137
+ };
138
+ }
139
+ export function addGlobalEventListeners(el) {
140
+ globalEventNames.forEach((eventName) => el.addEventListener(eventName, dispatchToRoot));
141
+ }
142
+ export function removeGlobalEventListeners(el) {
143
+ globalEventNames.forEach((eventName) => el.removeEventListener(eventName, dispatchToRoot));
144
+ }
145
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAE/E,MAAM,YAAY,GAAG,aAAa,CAAC;AACnC,MAAM,YAAY,GAAuB,EAAE,CAAC;AAE5C,MAAM,gBAAgB,GAAG;IACvB,OAAO;IACP,MAAM;IACN,QAAQ;IACR,OAAO;IACP,OAAO;IACP,MAAM;IACN,SAAS;IACT,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,UAAU;IACV,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,6BAA6B;IAC7B,4BAA4B;IAC5B,OAAO;IACP,UAAU;IACV,WAAW;IACX,WAAW;IACX,SAAS;CACV,CAAC;AAEF,MAAM,UAAU,GAAG;IACjB,MAAM,EAAE,yBAAyB;IACjC,QAAQ,EAAE,iBAAiB;IAC3B,KAAK,EAAE,cAAc;CACtB,CAAC;AAEF,SAAS,QAAQ,CAAC,MAAmB;IACnC,IAAI,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;IAElC,OAAO,MAAM,EAAE;QACb,IAAI,MAAM,CAAC,EAAE,KAAK,YAAY,EAAE;YAC9B,OAAO,IAAI,CAAC;SACb;QAED,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;KAC/B;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,SAAsB,QAAQ,CAAC,IAAI;IACrD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;QAC7B,OAAO,MAAM,CAAC;KACf;SAAM,IAAI,MAAM,KAAK,QAAQ,CAAC,IAAI,EAAE;QACnC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;KACxB;SAAM;QACL,OAAO,MAAM,CAAC;KACf;AACH,CAAC;AAED,SAAS,cAAc,CAAC,KAAU;;IAChC,oBAAoB,CAAC,KAAK,CAAC,IAAI,yBAAyB,CAAC,KAAK,CAAC,CAAC;IAEhE,0EAA0E;IAC1E,IAAI,CAAC,CAAC,KAAK,YAAY,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;QACzD,MAAM,UAAU,GAAG,IAAI,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC5D,MAAA,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,0CAAE,aAAa,CAAC,UAAU,CAAC,CAAC;QACjE,8FAA8F;QAC9F,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;KACxB;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,MAAmB,EACnB,IAAY,EACZ,MAAW,EACX,SAAc,EACd,iBAAgC;IAEhC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,OAAO,iBAAiB,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3E,MAAM,KAAK,GACT,OAAO,SAAS,KAAK,WAAW;QAC9B,CAAC,CAAC,CAAC,QAAsC,EAAE,EAAE;YACzC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;;gBAAC,OAAA,CAAC;oBACzC,EAAE;oBACF,KAAK,EAAE,EAAE,CAAC,KAAK;oBACf,QAAQ,EAAE,MAAA,EAAE,CAAC,QAAQ,mCAAI,EAAE;iBAC5B,CAAC,CAAA;aAAA,CAAC,CAAC;YACJ,MAAM,QAAQ,GAA0B,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAClF,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChE,CAAC;QACH,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,SAAS,GAAG;QAChB,OAAO,EAAE,IAAI;QACb,MAAM,EAAE;YACN,MAAM;YACN,KAAK,EAAE;gBACL,IAAI;gBACJ,MAAM;gBACN,KAAK;gBACL,KAAK;aACN;SACF;KACF,CAAC;IACF,MAAM,SAAS,GAAG,GAAG,EAAE,CACrB,qBAAqB,CAAC,GAAG,EAAE;QACzB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YACrB,MAAM,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;SACrE;aAAM;YACL,SAAS,EAAE,CAAC;SACb;IACH,CAAC,CAAC,CAAC;IACL,SAAS,EAAE,CAAC;AACd,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,IAAS;IACpD,QAAQ,CAAC,IAAI,CAAC,aAAa,CACzB,IAAI,WAAW,CAAC,UAAU,CAAC,KAAK,EAAE;QAChC,OAAO,EAAE,KAAK;QACd,MAAM,EAAE;YACN,IAAI;YACJ,IAAI;SACL;KACF,CAAC,CACH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAmB,EAAE,EAAU,EAAE,OAAO,GAAG,KAAK,EAAE,KAAW;IAC7F,UAAU,CAAC,MAAM,CAAC,CAAC,aAAa,CAC9B,IAAI,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE;QACnC,OAAO,EAAE,IAAI;QACb,MAAM,EAAE;YACN,EAAE;YACF,OAAO;YACP,KAAK;SACN;KACF,CAAC,CACH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,IAAiB,EACjB,MAAiC,EACjC,QAAmC,EACnC,OAAkC;IAElC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACxD,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAE5D,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;QAC7B,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;KAClE;IAED,OAAO,GAAG,EAAE;QACV,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAC3D,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QAE/D,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;YAC7B,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;SACrE;IACH,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,EAAe;IACrD,gBAAgB,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;AAC1F,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,EAAe;IACxD,gBAAgB,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;AAC7F,CAAC"}
package/esm/interop.d.ts CHANGED
@@ -1,12 +1,29 @@
1
- export declare const eventNames: {
2
- render: string;
3
- navigate: string;
4
- };
5
- export declare function addGlobalEventListeners(el: HTMLElement): void;
6
- export declare function removeGlobalEventListeners(el: HTMLElement): void;
7
- export declare function activate(moduleName: string, props: any): any;
8
- export declare function deactivate(moduleName: string, referenceId: string): any;
9
- export declare function addReference(blob: Blob): Promise<unknown>;
10
- export declare function removeReference(name: string): any;
11
- export declare function attachEvents(host: HTMLElement, render: (ev: CustomEvent) => void, navigate: (ev: CustomEvent) => void): () => void;
12
- export declare function initialize(scriptUrl: string): Promise<unknown>;
1
+ import type { BlazorLogLevel, BlazorRootConfig, WebAssemblyStartOptions } from './types';
2
+ export declare function processEvent(type: string, args: any): any;
3
+ export declare function setLogLevel(logLevel: BlazorLogLevel): any;
4
+ export declare function createElement(moduleName: string, props: any): Promise<string>;
5
+ export declare function updateElement(referenceId: string, props: any): Promise<string>;
6
+ export declare function destroyElement(referenceId: string): Promise<string>;
7
+ export declare function activate(moduleName: string, props: any): Promise<string>;
8
+ export declare function reactivate(moduleName: string, referenceId: string, props: any): Promise<void>;
9
+ export declare function deactivate(moduleName: string, referenceId: string): Promise<void>;
10
+ export declare function callNotifyLocationChanged(url: string, replace: boolean, state: any): Promise<void>;
11
+ export declare function setLanguage(language: string): Promise<void>;
12
+ export declare function getCapabilities(): Promise<Array<string>>;
13
+ export declare function loadResource(url: string): Promise<void>;
14
+ export declare function loadResourceWithSymbol(dllUrl: string, pdbUrl: string): Promise<void>;
15
+ export declare function unloadResource(url: string): Promise<void>;
16
+ export interface PiletData {
17
+ dllUrl: string;
18
+ pdbUrl?: string;
19
+ name: string;
20
+ version: string;
21
+ config: string;
22
+ baseUrl: string;
23
+ satellites?: Record<string, Array<string>>;
24
+ dependencies: Array<string>;
25
+ }
26
+ export declare function loadBlazorPilet(id: string, data: PiletData): any;
27
+ export declare function unloadBlazorPilet(id: string): any;
28
+ export declare function initialize(scriptUrl: string, publicPath: string, opts?: WebAssemblyStartOptions): Promise<BlazorRootConfig>;
29
+ export declare function createBootLoader(scriptUrl: string, extraScriptUrls: Array<string>): (opts?: WebAssemblyStartOptions) => Promise<BlazorRootConfig>;