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
package/lib/converter.js CHANGED
@@ -1,60 +1,174 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createConverter = void 0;
4
- var tslib_1 = require("tslib");
5
- var interop_1 = require("./interop");
6
- function createConverter(lazy) {
7
- if (lazy === void 0) { lazy = true; }
8
- var bootConfig = require('../infra.codegen');
9
- var boot = function () { return interop_1.initialize(bootConfig); };
10
- var root = document.body.appendChild(document.createElement('div'));
11
- var loader = !lazy && boot();
12
- root.style.display = 'none';
13
- root.id = 'blazor-root';
14
- var convert = function (moduleName, dependency, args) {
15
- var id;
16
- var referenceId;
17
- var node;
18
- var dispose = function () { };
19
- var state;
20
- return {
21
- mount: function (el, data, ctx) {
22
- var props = tslib_1.__assign(tslib_1.__assign({}, args), data);
23
- el.setAttribute('data-blazor-pilet-root', 'true');
24
- interop_1.addGlobalEventListeners(el);
25
- (loader || (loader = boot()))
26
- .then(dependency)
27
- .then(function () { return interop_1.activate(moduleName, props); })
28
- .then(function (refId) {
29
- if (state === 'fresh') {
30
- id = moduleName + "-" + refId;
31
- node = el.appendChild(root.querySelector("#" + id + " > div"));
32
- state = 'mounted';
33
- referenceId = refId;
4
+ const tslib_1 = require("tslib");
5
+ const events_1 = require("./events");
6
+ const interop_1 = require("./interop");
7
+ const infra_codegen_1 = require("../infra.codegen");
8
+ const noop = () => { };
9
+ const mediaRules = [
10
+ { attribute: 'src', selector: 'img, embed, video > source, video > track, audio > source' },
11
+ { attribute: 'srcset', selector: 'picture > source' },
12
+ ];
13
+ function prefixMediaSources(component, prefix) {
14
+ const prefixAttributeValue = (el, attr) => el.setAttribute(attr, prefix + el.getAttribute(attr));
15
+ for (const { attribute, selector } of mediaRules) {
16
+ Array.from(component.querySelectorAll(selector))
17
+ .filter((el) => el.hasAttribute(attribute) && !el.getAttribute(attribute).match(/^https?:/))
18
+ .forEach((el) => prefixAttributeValue(el, attribute));
19
+ }
20
+ }
21
+ function project(component, destination, options) {
22
+ if ((options === null || options === void 0 ? void 0 : options.resourcePathRoot) && !infra_codegen_1.default.noMutation) {
23
+ prefixMediaSources(component, options.resourcePathRoot);
24
+ }
25
+ destination.appendChild(component);
26
+ }
27
+ function makeUrl(href) {
28
+ const origin = document.location.origin;
29
+ if (!href.startsWith(origin)) {
30
+ return `${origin}${href}`;
31
+ }
32
+ return href;
33
+ }
34
+ function createConverter(lazy, opts, language, logLevel) {
35
+ const bootLoader = (0, interop_1.createBootLoader)(infra_codegen_1.default.url, infra_codegen_1.default.satellites);
36
+ const boot = (opts) => bootLoader(opts).then((res) => tslib_1.__awaiter(this, void 0, void 0, function* () {
37
+ const [_, capabilities] = res;
38
+ if (capabilities.includes('logging')) {
39
+ if (typeof logLevel === 'number') {
40
+ yield (0, interop_1.setLogLevel)(logLevel);
41
+ }
42
+ }
43
+ if (language && capabilities.includes('language')) {
44
+ if (typeof language.current === 'string') {
45
+ yield (0, interop_1.setLanguage)(language.current);
46
+ }
47
+ if (capabilities.includes('events')) {
48
+ const eventDispatcher = document.body.dispatchEvent;
49
+ // listen to all events for forwarding them
50
+ document.body.dispatchEvent = function (ev) {
51
+ if (ev.type.startsWith('piral-')) {
52
+ const type = ev.type.replace('piral-', '');
53
+ const args = ev.detail.arg;
54
+ (0, interop_1.processEvent)(type, args);
55
+ }
56
+ return eventDispatcher.call(this, ev);
57
+ };
58
+ }
59
+ if (typeof language.onChange === 'function') {
60
+ language.onChange(interop_1.setLanguage);
61
+ }
62
+ }
63
+ window.dispatchEvent(new CustomEvent('loaded-blazor-core'));
64
+ return res;
65
+ }));
66
+ let loader = !lazy && boot(opts);
67
+ let listener = undefined;
68
+ const enqueueChange = (locals, update) => {
69
+ if (typeof update !== 'function') {
70
+ // nothing to do in this case
71
+ }
72
+ else if (locals.state === 'mounted') {
73
+ loader.then(update);
74
+ }
75
+ else {
76
+ locals.next = update;
77
+ }
78
+ };
79
+ const convert = (moduleName, dependency, args, options) => ({
80
+ mount(el, data, ctx, locals) {
81
+ const props = Object.assign(Object.assign({}, args), data);
82
+ const { piral } = data;
83
+ const nav = ctx.navigation;
84
+ el.setAttribute('data-blazor-pilet-root', 'true');
85
+ (0, events_1.addGlobalEventListeners)(el);
86
+ if (listener === undefined) {
87
+ listener = nav.listen(({ location, action }) => {
88
+ // POP is already handled by .NET
89
+ if (action !== 'POP') {
90
+ const url = makeUrl(location.href);
91
+ (0, interop_1.callNotifyLocationChanged)(url, action === 'REPLACE', location.state);
34
92
  }
35
- })
36
- .catch(function (err) { return console.error(err); });
37
- dispose = interop_1.attachEvents(el, function (ev) { return data.piral.renderHtmlExtension(ev.detail.target, ev.detail.props); }, function (ev) {
38
- return ev.detail.replace
39
- ? ctx.router.history.replace(ev.detail.to, ev.detail.store)
40
- : ctx.router.history.push(ev.detail.to, ev.detail.state);
41
93
  });
42
- state = 'fresh';
43
- },
44
- unmount: function (el) {
45
- interop_1.removeGlobalEventListeners(el);
46
- el.removeAttribute('data-blazor-pilet-root');
47
- dispose();
48
- if (state === 'mounted') {
49
- root.querySelector("#" + id).appendChild(node);
50
- interop_1.deactivate(moduleName, referenceId);
94
+ }
95
+ locals.state = 'fresh';
96
+ locals.next = noop;
97
+ locals.dispose = (0, events_1.attachEvents)(el, (ev) => {
98
+ ev.stopPropagation();
99
+ const { target, props } = ev.detail;
100
+ piral.renderHtmlExtension(target, props);
101
+ }, (ev) => {
102
+ ev.stopPropagation();
103
+ const { to, state, replace } = ev.detail;
104
+ replace ? nav.replace(to, state) : nav.push(to, state);
105
+ }, (ev) => {
106
+ ev.stopPropagation();
107
+ const { type, args } = ev.detail;
108
+ piral.emit(type, args);
109
+ });
110
+ function mountClassic(config) {
111
+ return (0, interop_1.activate)(moduleName, props).then((refId) => {
112
+ const [root] = config;
113
+ const node = root.querySelector(`#${refId} > div`);
114
+ locals.unmount = () => {
115
+ var _a;
116
+ (_a = root.querySelector(`#${refId}`)) === null || _a === void 0 ? void 0 : _a.appendChild(node);
117
+ (0, interop_1.deactivate)(moduleName, refId);
118
+ el.innerHTML = '';
119
+ };
120
+ locals.update = (props) => {
121
+ (0, interop_1.reactivate)(moduleName, refId, props);
122
+ };
123
+ project(node, el, options);
124
+ });
125
+ }
126
+ function mountModern(_) {
127
+ return (0, interop_1.createElement)(moduleName, props).then((refId) => {
128
+ const child = document.createElement('piral-blazor-component');
129
+ child.setAttribute('rid', refId);
130
+ el.appendChild(child);
131
+ locals.unmount = () => {
132
+ (0, interop_1.destroyElement)(refId);
133
+ child.remove();
134
+ el.innerHTML = '';
135
+ };
136
+ locals.update = (props) => {
137
+ (0, interop_1.updateElement)(refId, props);
138
+ };
139
+ });
140
+ }
141
+ (loader || (convert.loader = loader = boot(opts)))
142
+ .then((config) => dependency(config).then(() => {
143
+ if (locals.state === 'fresh') {
144
+ const [_, capabilities, applyChanges] = config;
145
+ const fn = capabilities.includes('custom-element') ? mountModern : mountClassic;
146
+ applyChanges(piral);
147
+ return fn(config).then(() => {
148
+ locals.state = 'mounted';
149
+ locals.next(config);
150
+ locals.next = noop;
151
+ });
51
152
  }
52
- el.innerHTML = '';
53
- state = 'removed';
54
- },
55
- };
56
- };
153
+ }))
154
+ .catch((err) => console.error(err));
155
+ },
156
+ update(el, data, ctx, locals) {
157
+ enqueueChange(locals, () => {
158
+ var _a;
159
+ (_a = locals.update) === null || _a === void 0 ? void 0 : _a.call(locals, Object.assign(Object.assign({}, args), data));
160
+ });
161
+ },
162
+ unmount(el, locals) {
163
+ (0, events_1.removeGlobalEventListeners)(el);
164
+ el.removeAttribute('data-blazor-pilet-root');
165
+ locals.dispose();
166
+ enqueueChange(locals, locals.unmount);
167
+ locals.state = 'removed';
168
+ },
169
+ });
57
170
  convert.loader = loader;
171
+ convert.lazy = lazy;
58
172
  return convert;
59
173
  }
60
174
  exports.createConverter = createConverter;
@@ -1 +1 @@
1
- {"version":3,"file":"converter.js","sourceRoot":"","sources":["../src/converter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"converter.js","sourceRoot":"","sources":["../src/converter.ts"],"names":[],"mappings":"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"}
package/lib/create.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { PiralPlugin } from 'piral-core';
2
- import type { PiletBlazorApi } from './types';
2
+ import type { BlazorLogLevel, PiletBlazorApi, WebAssemblyStartOptions } from './types';
3
3
  /**
4
4
  * Available configuration options for the Blazor plugin.
5
5
  */
@@ -9,6 +9,26 @@ export interface BlazorConfig {
9
9
  * @default true
10
10
  */
11
11
  lazy?: boolean;
12
+ /**
13
+ * Determines the used log level, if any. Otherwise, will use
14
+ * the default log level (info).
15
+ */
16
+ logLevel?: BlazorLogLevel;
17
+ /**
18
+ * Determines the initial language to use, if any.
19
+ * Otherwise, falls back to Blazor's default language.
20
+ */
21
+ initialLanguage?: string;
22
+ /**
23
+ * Installs a function to handle language change. By default,
24
+ * this will hook on to the `select-language` event from Piral.
25
+ * @param inform The callback to use for passing in a new locale.
26
+ */
27
+ onLanguageChange?: ((inform: (language: string) => void) => void) | false;
28
+ /**
29
+ * Determines the start options to use for booting Blazor.
30
+ */
31
+ options?: WebAssemblyStartOptions;
12
32
  }
13
33
  /**
14
34
  * Creates new Pilet API extensions for integration of Blazor.
package/lib/create.js CHANGED
@@ -1,30 +1,44 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createBlazorApi = void 0;
4
- var converter_1 = require("./converter");
5
- var dependencies_1 = require("./dependencies");
4
+ const converter_1 = require("./converter");
5
+ const dependencies_1 = require("./dependencies");
6
+ function createDefaultHandler(context) {
7
+ return (inform) => {
8
+ context.on('select-language', (ev) => {
9
+ inform(ev.currentLanguage);
10
+ });
11
+ };
12
+ }
6
13
  /**
7
14
  * Creates new Pilet API extensions for integration of Blazor.
8
15
  */
9
- function createBlazorApi(config) {
10
- if (config === void 0) { config = {}; }
11
- var lazy = config.lazy;
12
- return function (context) {
13
- var convert = converter_1.createConverter(lazy);
14
- context.converters.blazor = function (_a) {
15
- var moduleName = _a.moduleName, args = _a.args, dependency = _a.dependency;
16
- return convert(moduleName, dependency, args);
17
- };
18
- return function () {
19
- var loader = dependencies_1.createDependencyLoader(convert, lazy);
16
+ function createBlazorApi(config = {}) {
17
+ return (context) => {
18
+ const { lazy = true, initialLanguage, onLanguageChange = createDefaultHandler(context), logLevel } = config;
19
+ const convert = (0, converter_1.createConverter)(lazy, config.options, {
20
+ current: initialLanguage,
21
+ onChange: onLanguageChange || (() => { }),
22
+ }, logLevel);
23
+ context.converters.blazor = ({ moduleName, args, dependency, options }) => convert(moduleName, dependency, args, options);
24
+ return (_, meta) => {
25
+ const loader = (0, dependencies_1.createDependencyLoader)(convert);
26
+ let options;
20
27
  return {
21
- defineBlazorReferences: loader.defineBlazorReferences,
22
- fromBlazor: function (moduleName, args) {
28
+ defineBlazorReferences(references, satellites, prio) {
29
+ return loader.defineBlazorReferences(references, meta, satellites, prio);
30
+ },
31
+ defineBlazorOptions(blazorOptions) {
32
+ options = blazorOptions;
33
+ },
34
+ releaseBlazorReferences: loader.releaseBlazorReferences,
35
+ fromBlazor(moduleName, args) {
23
36
  return {
24
37
  type: 'blazor',
25
38
  dependency: loader.getDependency(),
26
- moduleName: moduleName,
27
- args: args,
39
+ moduleName,
40
+ args,
41
+ options,
28
42
  };
29
43
  },
30
44
  };
package/lib/create.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":";;;AACA,yCAA8C;AAC9C,+CAAwD;AAcxD;;GAEG;AACH,SAAgB,eAAe,CAAC,MAAyB;IAAzB,uBAAA,EAAA,WAAyB;IAC/C,IAAA,IAAI,GAAK,MAAM,KAAX,CAAY;IAExB,OAAO,UAAC,OAAO;QACb,IAAM,OAAO,GAAG,2BAAe,CAAC,IAAI,CAAC,CAAC;QACtC,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,UAAC,EAAgC;gBAA9B,UAAU,gBAAA,EAAE,IAAI,UAAA,EAAE,UAAU,gBAAA;YAAO,OAAA,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,CAAC;QAArC,CAAqC,CAAC;QAExG,OAAO;YACL,IAAM,MAAM,GAAG,qCAAsB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAErD,OAAO;gBACL,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;gBACrD,UAAU,YAAC,UAAU,EAAE,IAAI;oBACzB,OAAO;wBACL,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE,MAAM,CAAC,aAAa,EAAE;wBAClC,UAAU,YAAA;wBACV,IAAI,MAAA;qBACL,CAAC;gBACJ,CAAC;aACF,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAvBD,0CAuBC"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":";;;AACA,2CAA8C;AAC9C,iDAAwD;AAkCxD,SAAS,oBAAoB,CAAC,OAAqB;IACjD,OAAO,CAAC,MAAkC,EAAE,EAAE;QAC5C,OAAO,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,EAAE,EAAE,EAAE;YACnC,MAAM,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,SAAuB,EAAE;IACvD,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,eAAe,EAAE,gBAAgB,GAAG,oBAAoB,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;QAC5G,MAAM,OAAO,GAAG,IAAA,2BAAe,EAC7B,IAAI,EACJ,MAAM,CAAC,OAAO,EACd;YACE,OAAO,EAAE,eAAe;YACxB,QAAQ,EAAE,gBAAgB,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;SACzC,EACD,QAAQ,CACT,CAAC;QACF,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,CACxE,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAEjD,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;YACjB,MAAM,MAAM,GAAG,IAAA,qCAAsB,EAAC,OAAO,CAAC,CAAC;YAC/C,IAAI,OAAsB,CAAC;YAE3B,OAAO;gBACL,sBAAsB,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI;oBACjD,OAAO,MAAM,CAAC,sBAAsB,CAAC,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;gBAC3E,CAAC;gBACD,mBAAmB,CAAC,aAA4B;oBAC9C,OAAO,GAAG,aAAa,CAAC;gBAC1B,CAAC;gBACD,uBAAuB,EAAE,MAAM,CAAC,uBAAuB;gBACvD,UAAU,CAAC,UAAU,EAAE,IAAI;oBACzB,OAAO;wBACL,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE,MAAM,CAAC,aAAa,EAAE;wBAClC,UAAU;wBACV,IAAI;wBACJ,OAAO;qBACR,CAAC;gBACJ,CAAC;aACF,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAvCD,0CAuCC"}
@@ -1,5 +1,8 @@
1
+ import type { PiletMetadata } from 'piral-core';
1
2
  import type { createConverter } from './converter';
2
- export declare function createDependencyLoader(convert: ReturnType<typeof createConverter>, lazy?: boolean): {
3
- getDependency(): () => Promise<any>;
4
- defineBlazorReferences(references: any): void;
3
+ import type { BlazorDependencyLoader } from './types';
4
+ export declare function createDependencyLoader(convert: ReturnType<typeof createConverter>): {
5
+ getDependency(): BlazorDependencyLoader;
6
+ defineBlazorReferences(references: Array<string>, meta?: Partial<PiletMetadata>, satellites?: {}, prio?: number): void;
7
+ releaseBlazorReferences(): Promise<void>;
5
8
  };
@@ -1,24 +1,114 @@
1
1
  "use strict";
2
+ var _a, _b;
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.createDependencyLoader = void 0;
4
- var interop_1 = require("./interop");
5
- function createDependencyLoader(convert, lazy) {
6
- if (lazy === void 0) { lazy = true; }
7
- var dependency;
5
+ const tslib_1 = require("tslib");
6
+ const interop_1 = require("./interop");
7
+ const loadedDependencies = ((_a = window.$blazorDependencies) !== null && _a !== void 0 ? _a : (window.$blazorDependencies = []));
8
+ const depsWithPrios = ((_b = window.$blazorDependencyPrios) !== null && _b !== void 0 ? _b : (window.$blazorDependencyPrios = []));
9
+ function createDependencyLoader(convert) {
10
+ const definedBlazorReferences = [];
11
+ const loadedBlazorPilets = [];
12
+ let dependency;
8
13
  return {
9
- getDependency: function () {
14
+ getDependency() {
10
15
  return dependency;
11
16
  },
12
- defineBlazorReferences: function (references) {
13
- var load = function () {
14
- return Promise.all(references.map(function (reference) {
15
- return fetch(reference)
16
- .then(function (res) { return res.blob(); })
17
- .then(interop_1.addReference);
18
- }));
17
+ defineBlazorReferences(references, meta = {}, satellites = {}, prio = 0) {
18
+ prio = Math.max(prio, 0);
19
+ const depWithPrio = {
20
+ prio,
21
+ load() {
22
+ return Promise.resolve();
23
+ },
19
24
  };
20
- var result = !lazy && convert.loader.then(load);
21
- dependency = function () { return result || (result = load()); };
25
+ let result = false;
26
+ const load = ([_, capabilities]) => tslib_1.__awaiter(this, void 0, void 0, function* () {
27
+ // let others finish first
28
+ yield Promise.all(depsWithPrios.filter((m) => m.prio > prio).map((m) => m.load()));
29
+ window.dispatchEvent(new CustomEvent('loading-blazor-pilet', { detail: meta }));
30
+ if (capabilities.includes('load')) {
31
+ // new loading mechanism
32
+ if (!capabilities.includes('language')) {
33
+ satellites = undefined;
34
+ }
35
+ const dependencies = references.filter((m) => m.endsWith('.dll'));
36
+ const dllUrl = dependencies.pop();
37
+ const piletName = dllUrl.substring(0, dllUrl.length - 4);
38
+ const piletPdb = `${piletName}.pdb`;
39
+ const pdbUrl = references.find((m) => m === piletPdb);
40
+ const id = Math.random().toString(26).substring(2);
41
+ yield (0, interop_1.loadBlazorPilet)(id, {
42
+ name: meta.name || '(unknown)',
43
+ version: meta.version || '0.0.0',
44
+ config: JSON.stringify(meta.config || {}),
45
+ baseUrl: meta.basePath || dllUrl.substring(0, dllUrl.lastIndexOf('/')).replace('/_framework/', '/'),
46
+ dependencies,
47
+ satellites,
48
+ dllUrl,
49
+ pdbUrl,
50
+ });
51
+ loadedBlazorPilets.push(id);
52
+ }
53
+ else {
54
+ // old loading mechanism
55
+ for (const dllUrl of references) {
56
+ const dllName = dllUrl.substring(dllUrl.lastIndexOf('/') + 1);
57
+ if (dllUrl.endsWith('.dll')) {
58
+ const entry = loadedDependencies.find((m) => m.name === dllName);
59
+ if (entry) {
60
+ entry.count++;
61
+ yield entry.promise;
62
+ }
63
+ else {
64
+ const urlWithoutExtension = dllUrl.substring(0, dllUrl.length - 4);
65
+ const pdbName = `${urlWithoutExtension}.pdb`;
66
+ const pdbUrl = references.find((m) => m === pdbName);
67
+ const promise = pdbUrl ? (0, interop_1.loadResourceWithSymbol)(dllUrl, pdbUrl) : (0, interop_1.loadResource)(dllUrl);
68
+ loadedDependencies.push({
69
+ name: dllName,
70
+ url: dllUrl,
71
+ count: 1,
72
+ promise,
73
+ });
74
+ yield promise;
75
+ }
76
+ definedBlazorReferences.push(dllName);
77
+ }
78
+ }
79
+ }
80
+ // inform remaining that this one finished
81
+ window.dispatchEvent(new CustomEvent('loaded-blazor-pilet', { detail: meta }));
82
+ });
83
+ depWithPrio.load = () => {
84
+ if (!result) {
85
+ result = convert.loader.then(load);
86
+ }
87
+ return result;
88
+ };
89
+ result = !convert.lazy && convert.loader.then(load);
90
+ dependency = (config) => result || (result = load(config));
91
+ if (prio) {
92
+ depsWithPrios.push(depWithPrio);
93
+ }
94
+ },
95
+ releaseBlazorReferences() {
96
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
97
+ const references = definedBlazorReferences.splice(0, definedBlazorReferences.length);
98
+ const ids = loadedBlazorPilets.splice(0, loadedBlazorPilets.length);
99
+ // old way of loading
100
+ for (const reference of references) {
101
+ const entry = loadedDependencies.find((m) => m.name === reference);
102
+ if (--entry.count === 0) {
103
+ loadedDependencies.splice(loadedDependencies.indexOf(entry), 1);
104
+ yield (0, interop_1.unloadResource)(entry.url);
105
+ }
106
+ }
107
+ // new way of loading
108
+ for (const id of ids) {
109
+ yield (0, interop_1.unloadBlazorPilet)(id);
110
+ }
111
+ });
22
112
  },
23
113
  };
24
114
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../src/dependencies.ts"],"names":[],"mappings":";;;AAAA,qCAAyC;AAGzC,SAAgB,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,sBAAY,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;AApBD,wDAoBC"}
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;