piral-svelte 0.13.7 → 0.14.0-alpha.3154

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/convert.d.ts CHANGED
@@ -1,9 +1,11 @@
1
1
  import type { HtmlComponent } from 'piral-core';
2
- import { createExtension } from './lib/extension';
3
- declare const convert: <TProps extends import("piral-core").BaseComponentProps>(Component: import("./lib/types").SvelteModule<TProps>, captured?: Record<string, any>) => import("piral-core").ForeignComponent<TProps>;
2
+ import { createConverter } from './lib/converter';
4
3
  export interface SvelteConverter {
5
- (...params: Parameters<typeof convert>): HtmlComponent<any>;
4
+ (...params: Parameters<ReturnType<typeof createConverter>>): HtmlComponent<any>;
6
5
  }
7
- export declare const fromSvelte: SvelteConverter;
8
- export declare const createSvelteExtension: typeof createExtension;
9
- export {};
6
+ export declare function createSvelteConverter(...params: Parameters<typeof createConverter>): {
7
+ from: SvelteConverter;
8
+ Extension: string;
9
+ };
10
+ declare const fromSvelte: SvelteConverter, SvelteExtension: string;
11
+ export { fromSvelte, SvelteExtension };
package/convert.js CHANGED
@@ -1,12 +1,21 @@
1
1
  "use strict";
2
2
  exports.__esModule = true;
3
- exports.createSvelteExtension = exports.fromSvelte = void 0;
3
+ exports.SvelteExtension = exports.fromSvelte = exports.createSvelteConverter = void 0;
4
4
  var converter_1 = require("./lib/converter");
5
- var extension_1 = require("./lib/extension");
6
- var convert = converter_1.createConverter();
7
- var fromSvelte = function (Component, captured) { return ({
8
- type: 'html',
9
- component: convert(Component, captured)
10
- }); };
5
+ function createSvelteConverter() {
6
+ var params = [];
7
+ for (var _i = 0; _i < arguments.length; _i++) {
8
+ params[_i] = arguments[_i];
9
+ }
10
+ var convert = converter_1.createConverter.apply(void 0, params);
11
+ var Extension = convert.Extension;
12
+ var from = function (Component, captured) { return ({
13
+ type: 'html',
14
+ component: convert(Component, captured)
15
+ }); };
16
+ return { from: from, Extension: Extension };
17
+ }
18
+ exports.createSvelteConverter = createSvelteConverter;
19
+ var _a = createSvelteConverter(), fromSvelte = _a.from, SvelteExtension = _a.Extension;
11
20
  exports.fromSvelte = fromSvelte;
12
- exports.createSvelteExtension = extension_1.createExtension;
21
+ exports.SvelteExtension = SvelteExtension;
@@ -1,3 +1,13 @@
1
- import { ForeignComponent, BaseComponentProps } from 'piral-core';
2
- import { SvelteModule } from './types';
3
- export declare function createConverter(): <TProps extends BaseComponentProps>(Component: SvelteModule<TProps>, captured?: Record<string, any>) => ForeignComponent<TProps>;
1
+ import type { ForeignComponent, BaseComponentProps } from 'piral-core';
2
+ import type { SvelteModule } from './types';
3
+ export interface SvelteConverterOptions {
4
+ /**
5
+ * Defines the name of the extension component.
6
+ * @default svelte-extension
7
+ */
8
+ selector?: string;
9
+ }
10
+ export declare function createConverter(config?: SvelteConverterOptions): {
11
+ <TProps extends BaseComponentProps>(Component: SvelteModule<TProps>, captured?: Record<string, any>): ForeignComponent<TProps>;
12
+ Extension: string;
13
+ };
package/esm/converter.js CHANGED
@@ -1,30 +1,29 @@
1
- import { __assign } from "tslib";
2
- export function createConverter() {
3
- var convert = function (Component, captured) {
4
- var instance = undefined;
1
+ import { createExtension } from './extension';
2
+ export function createConverter(config = {}) {
3
+ const { selector = 'svelte-extension' } = config;
4
+ const Extension = createExtension(selector);
5
+ const convert = (Component, captured) => {
6
+ let instance = undefined;
5
7
  return {
6
- mount: function (parent, data, ctx) {
7
- parent.addEventListener('render-html', function (ev) {
8
- var piral = data.piral;
9
- piral.renderHtmlExtension(ev.detail.target, ev.detail.props);
10
- }, false);
8
+ mount(parent, data, ctx) {
11
9
  instance = new Component({
12
10
  target: parent,
13
- props: __assign(__assign(__assign({}, captured), ctx), data),
11
+ props: Object.assign(Object.assign(Object.assign({}, captured), ctx), data),
14
12
  });
15
13
  },
16
- update: function (_, data) {
17
- Object.keys(data).forEach(function (key) {
14
+ update(_, data) {
15
+ Object.keys(data).forEach((key) => {
18
16
  instance[key] = data[key];
19
17
  });
20
18
  },
21
- unmount: function (el) {
19
+ unmount(el) {
22
20
  instance.$destroy();
23
21
  instance = undefined;
24
22
  el.innerHTML = '';
25
23
  },
26
24
  };
27
25
  };
26
+ convert.Extension = Extension;
28
27
  return convert;
29
28
  }
30
29
  //# sourceMappingURL=converter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"converter.js","sourceRoot":"","sources":["../src/converter.ts"],"names":[],"mappings":";AAGA,MAAM,UAAU,eAAe;IAC7B,IAAM,OAAO,GAAG,UACd,SAA+B,EAC/B,QAA8B;QAE9B,IAAI,QAAQ,GAAiC,SAAS,CAAC;QAEvD,OAAO;YACL,KAAK,EAAL,UAAM,MAAM,EAAE,IAAI,EAAE,GAAG;gBACrB,MAAM,CAAC,gBAAgB,CACrB,aAAa,EACb,UAAC,EAAe;oBACN,IAAA,KAAK,GAAK,IAAI,MAAT,CAAU;oBACvB,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC/D,CAAC,EACD,KAAK,CACN,CAAC;gBACF,QAAQ,GAAG,IAAI,SAAS,CAAC;oBACvB,MAAM,EAAE,MAAM;oBACd,KAAK,iCACA,QAAQ,GACR,GAAG,GACH,IAAI,CACR;iBACF,CAAC,CAAC;YACL,CAAC;YACD,MAAM,YAAC,CAAC,EAAE,IAAI;gBACZ,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG;oBAC5B,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC5B,CAAC,CAAC,CAAC;YACL,CAAC;YACD,OAAO,YAAC,EAAE;gBACR,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACpB,QAAQ,GAAG,SAAS,CAAC;gBACrB,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC;YACpB,CAAC;SACF,CAAC;IACJ,CAAC,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"converter.js","sourceRoot":"","sources":["../src/converter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAW9C,MAAM,UAAU,eAAe,CAAC,SAAiC,EAAE;IACjE,MAAM,EAAE,QAAQ,GAAG,kBAAkB,EAAE,GAAG,MAAM,CAAC;IACjD,MAAM,SAAS,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,CACd,SAA+B,EAC/B,QAA8B,EACJ,EAAE;QAC5B,IAAI,QAAQ,GAAiC,SAAS,CAAC;QAEvD,OAAO;YACL,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG;gBACrB,QAAQ,GAAG,IAAI,SAAS,CAAC;oBACvB,MAAM,EAAE,MAAM;oBACd,KAAK,gDACA,QAAQ,GACR,GAAG,GACH,IAAI,CACR;iBACF,CAAC,CAAC;YACL,CAAC;YACD,MAAM,CAAC,CAAC,EAAE,IAAI;gBACZ,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;oBAChC,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC5B,CAAC,CAAC,CAAC;YACL,CAAC;YACD,OAAO,CAAC,EAAE;gBACR,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACpB,QAAQ,GAAG,SAAS,CAAC;gBACrB,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC;YACpB,CAAC;SACF,CAAC;IACJ,CAAC,CAAC;IACF,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAC9B,OAAO,OAAO,CAAC;AACjB,CAAC"}
package/esm/create.d.ts CHANGED
@@ -1,14 +1,10 @@
1
1
  import type { PiralPlugin } from 'piral-core';
2
+ import { SvelteConverterOptions } from './converter';
2
3
  import type { PiletSvelteApi } from './types';
3
4
  /**
4
5
  * Available configuration options for the Svelte plugin.
5
6
  */
6
- export interface SvelteConfig {
7
- /**
8
- * Defines the name of the extension component.
9
- * @default svelte-extension
10
- */
11
- selector?: string;
7
+ export interface SvelteConfig extends SvelteConverterOptions {
12
8
  }
13
9
  /**
14
10
  * Creates new Pilet API extensions for integration of Svelte.
package/esm/create.js CHANGED
@@ -1,27 +1,20 @@
1
1
  import { createConverter } from './converter';
2
- import { createExtension } from './extension';
3
2
  /**
4
3
  * Creates new Pilet API extensions for integration of Svelte.
5
4
  */
6
- export function createSvelteApi(config) {
7
- if (config === void 0) { config = {}; }
8
- var selector = config.selector;
9
- return function (context) {
10
- var convert = createConverter();
11
- context.converters.svelte = function (_a) {
12
- var Component = _a.Component, captured = _a.captured;
13
- return convert(Component, captured);
14
- };
15
- createExtension(selector);
5
+ export function createSvelteApi(config = {}) {
6
+ return (context) => {
7
+ const convert = createConverter(config);
8
+ context.converters.svelte = ({ Component, captured }) => convert(Component, captured);
16
9
  return {
17
- fromSvelte: function (Component, captured) {
10
+ fromSvelte(Component, captured) {
18
11
  return {
19
12
  type: 'svelte',
20
- Component: Component,
21
- captured: captured,
13
+ Component,
14
+ captured,
22
15
  };
23
16
  },
24
- SvelteExtension: selector,
17
+ SvelteExtension: convert.Extension,
25
18
  };
26
19
  };
27
20
  }
package/esm/create.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAc9C;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,MAAyB;IAAzB,uBAAA,EAAA,WAAyB;IAC/C,IAAA,QAAQ,GAAK,MAAM,SAAX,CAAY;IAE5B,OAAO,UAAC,OAAO;QACb,IAAM,OAAO,GAAG,eAAe,EAAE,CAAC;QAClC,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,UAAC,EAAuB;gBAArB,SAAS,eAAA,EAAE,QAAQ,cAAA;YAAO,OAAA,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC;QAA5B,CAA4B,CAAC;QAEtF,eAAe,CAAC,QAAQ,CAAC,CAAC;QAE1B,OAAO;YACL,UAAU,YAAC,SAAS,EAAE,QAAQ;gBAC5B,OAAO;oBACL,IAAI,EAAE,QAAQ;oBACd,SAAS,WAAA;oBACT,QAAQ,UAAA;iBACT,CAAC;YACJ,CAAC;YACD,eAAe,EAAE,QAAQ;SAC1B,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAA0B,MAAM,aAAa,CAAC;AAQtE;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,SAAuB,EAAE;IACvD,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QACxC,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAEtF,OAAO;YACL,UAAU,CAAC,SAAS,EAAE,QAAQ;gBAC5B,OAAO;oBACL,IAAI,EAAE,QAAQ;oBACd,SAAS;oBACT,QAAQ;iBACT,CAAC;YACJ,CAAC;YACD,eAAe,EAAE,OAAO,CAAC,SAAS;SACnC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- export declare function createExtension(selector?: string): void;
1
+ export declare function createExtension(selector: string): string;
package/esm/extension.js CHANGED
@@ -1,28 +1,11 @@
1
- import { __extends } from "tslib";
2
1
  export function createExtension(selector) {
3
- if (selector === void 0) { selector = 'svelte-extension'; }
4
- if ('customElements' in window) {
5
- var SvelteExtension = /** @class */ (function (_super) {
6
- __extends(SvelteExtension, _super);
7
- function SvelteExtension() {
8
- return _super !== null && _super.apply(this, arguments) || this;
9
- }
10
- SvelteExtension.prototype.connectedCallback = function () {
11
- if (this.isConnected) {
12
- this.dispatchEvent(new CustomEvent('render-html', {
13
- bubbles: true,
14
- detail: {
15
- target: this,
16
- props: {
17
- name: this.getAttribute('name'),
18
- },
19
- },
20
- }));
21
- }
22
- };
23
- return SvelteExtension;
24
- }(HTMLElement));
25
- customElements.define(selector, SvelteExtension);
2
+ const defaultExtensionSelector = 'piral-extension';
3
+ if ('customElements' in window && selector && selector !== defaultExtensionSelector) {
4
+ const ExtensionBase = customElements.get(defaultExtensionSelector);
5
+ class AliasExtension extends ExtensionBase {
6
+ }
7
+ customElements.define(selector, AliasExtension);
26
8
  }
9
+ return selector || defaultExtensionSelector;
27
10
  }
28
11
  //# sourceMappingURL=extension.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":";AAAA,MAAM,UAAU,eAAe,CAAC,QAA6B;IAA7B,yBAAA,EAAA,6BAA6B;IAC3D,IAAI,gBAAgB,IAAI,MAAM,EAAE;QAC9B;YAA8B,mCAAW;YAAzC;;YAgBA,CAAC;YAfC,2CAAiB,GAAjB;gBACE,IAAI,IAAI,CAAC,WAAW,EAAE;oBACpB,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,aAAa,EAAE;wBAC7B,OAAO,EAAE,IAAI;wBACb,MAAM,EAAE;4BACN,MAAM,EAAE,IAAI;4BACZ,KAAK,EAAE;gCACL,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;6BAChC;yBACF;qBACF,CAAC,CACH,CAAC;iBACH;YACH,CAAC;YACH,sBAAC;QAAD,CAAC,AAhBD,CAA8B,WAAW,GAgBxC;QAED,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;KAClD;AACH,CAAC"}
1
+ {"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,MAAM,wBAAwB,GAAG,iBAAiB,CAAC;IAEnD,IAAI,gBAAgB,IAAI,MAAM,IAAI,QAAQ,IAAI,QAAQ,KAAK,wBAAwB,EAAE;QACnF,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACnE,MAAM,cAAe,SAAQ,aAAa;SAAG;QAC7C,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;KACjD;IAED,OAAO,QAAQ,IAAI,wBAAwB,CAAC;AAC9C,CAAC"}
@@ -1,3 +1,13 @@
1
- import { ForeignComponent, BaseComponentProps } from 'piral-core';
2
- import { SvelteModule } from './types';
3
- export declare function createConverter(): <TProps extends BaseComponentProps>(Component: SvelteModule<TProps>, captured?: Record<string, any>) => ForeignComponent<TProps>;
1
+ import type { ForeignComponent, BaseComponentProps } from 'piral-core';
2
+ import type { SvelteModule } from './types';
3
+ export interface SvelteConverterOptions {
4
+ /**
5
+ * Defines the name of the extension component.
6
+ * @default svelte-extension
7
+ */
8
+ selector?: string;
9
+ }
10
+ export declare function createConverter(config?: SvelteConverterOptions): {
11
+ <TProps extends BaseComponentProps>(Component: SvelteModule<TProps>, captured?: Record<string, any>): ForeignComponent<TProps>;
12
+ Extension: string;
13
+ };
package/lib/converter.js CHANGED
@@ -1,33 +1,32 @@
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
- function createConverter() {
6
- var convert = function (Component, captured) {
7
- var instance = undefined;
4
+ const extension_1 = require("./extension");
5
+ function createConverter(config = {}) {
6
+ const { selector = 'svelte-extension' } = config;
7
+ const Extension = (0, extension_1.createExtension)(selector);
8
+ const convert = (Component, captured) => {
9
+ let instance = undefined;
8
10
  return {
9
- mount: function (parent, data, ctx) {
10
- parent.addEventListener('render-html', function (ev) {
11
- var piral = data.piral;
12
- piral.renderHtmlExtension(ev.detail.target, ev.detail.props);
13
- }, false);
11
+ mount(parent, data, ctx) {
14
12
  instance = new Component({
15
13
  target: parent,
16
- props: tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, captured), ctx), data),
14
+ props: Object.assign(Object.assign(Object.assign({}, captured), ctx), data),
17
15
  });
18
16
  },
19
- update: function (_, data) {
20
- Object.keys(data).forEach(function (key) {
17
+ update(_, data) {
18
+ Object.keys(data).forEach((key) => {
21
19
  instance[key] = data[key];
22
20
  });
23
21
  },
24
- unmount: function (el) {
22
+ unmount(el) {
25
23
  instance.$destroy();
26
24
  instance = undefined;
27
25
  el.innerHTML = '';
28
26
  },
29
27
  };
30
28
  };
29
+ convert.Extension = Extension;
31
30
  return convert;
32
31
  }
33
32
  exports.createConverter = createConverter;
@@ -1 +1 @@
1
- {"version":3,"file":"converter.js","sourceRoot":"","sources":["../src/converter.ts"],"names":[],"mappings":";;;;AAGA,SAAgB,eAAe;IAC7B,IAAM,OAAO,GAAG,UACd,SAA+B,EAC/B,QAA8B;QAE9B,IAAI,QAAQ,GAAiC,SAAS,CAAC;QAEvD,OAAO;YACL,KAAK,EAAL,UAAM,MAAM,EAAE,IAAI,EAAE,GAAG;gBACrB,MAAM,CAAC,gBAAgB,CACrB,aAAa,EACb,UAAC,EAAe;oBACN,IAAA,KAAK,GAAK,IAAI,MAAT,CAAU;oBACvB,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC/D,CAAC,EACD,KAAK,CACN,CAAC;gBACF,QAAQ,GAAG,IAAI,SAAS,CAAC;oBACvB,MAAM,EAAE,MAAM;oBACd,KAAK,yDACA,QAAQ,GACR,GAAG,GACH,IAAI,CACR;iBACF,CAAC,CAAC;YACL,CAAC;YACD,MAAM,YAAC,CAAC,EAAE,IAAI;gBACZ,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG;oBAC5B,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC5B,CAAC,CAAC,CAAC;YACL,CAAC;YACD,OAAO,YAAC,EAAE;gBACR,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACpB,QAAQ,GAAG,SAAS,CAAC;gBACrB,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC;YACpB,CAAC;SACF,CAAC;IACJ,CAAC,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC;AAvCD,0CAuCC"}
1
+ {"version":3,"file":"converter.js","sourceRoot":"","sources":["../src/converter.ts"],"names":[],"mappings":";;;AACA,2CAA8C;AAW9C,SAAgB,eAAe,CAAC,SAAiC,EAAE;IACjE,MAAM,EAAE,QAAQ,GAAG,kBAAkB,EAAE,GAAG,MAAM,CAAC;IACjD,MAAM,SAAS,GAAG,IAAA,2BAAe,EAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,CACd,SAA+B,EAC/B,QAA8B,EACJ,EAAE;QAC5B,IAAI,QAAQ,GAAiC,SAAS,CAAC;QAEvD,OAAO;YACL,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG;gBACrB,QAAQ,GAAG,IAAI,SAAS,CAAC;oBACvB,MAAM,EAAE,MAAM;oBACd,KAAK,gDACA,QAAQ,GACR,GAAG,GACH,IAAI,CACR;iBACF,CAAC,CAAC;YACL,CAAC;YACD,MAAM,CAAC,CAAC,EAAE,IAAI;gBACZ,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;oBAChC,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC5B,CAAC,CAAC,CAAC;YACL,CAAC;YACD,OAAO,CAAC,EAAE;gBACR,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACpB,QAAQ,GAAG,SAAS,CAAC;gBACrB,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC;YACpB,CAAC;SACF,CAAC;IACJ,CAAC,CAAC;IACF,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAC9B,OAAO,OAAO,CAAC;AACjB,CAAC;AAlCD,0CAkCC"}
package/lib/create.d.ts CHANGED
@@ -1,14 +1,10 @@
1
1
  import type { PiralPlugin } from 'piral-core';
2
+ import { SvelteConverterOptions } from './converter';
2
3
  import type { PiletSvelteApi } from './types';
3
4
  /**
4
5
  * Available configuration options for the Svelte plugin.
5
6
  */
6
- export interface SvelteConfig {
7
- /**
8
- * Defines the name of the extension component.
9
- * @default svelte-extension
10
- */
11
- selector?: string;
7
+ export interface SvelteConfig extends SvelteConverterOptions {
12
8
  }
13
9
  /**
14
10
  * Creates new Pilet API extensions for integration of Svelte.
package/lib/create.js CHANGED
@@ -1,30 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createSvelteApi = void 0;
4
- var converter_1 = require("./converter");
5
- var extension_1 = require("./extension");
4
+ const converter_1 = require("./converter");
6
5
  /**
7
6
  * Creates new Pilet API extensions for integration of Svelte.
8
7
  */
9
- function createSvelteApi(config) {
10
- if (config === void 0) { config = {}; }
11
- var selector = config.selector;
12
- return function (context) {
13
- var convert = converter_1.createConverter();
14
- context.converters.svelte = function (_a) {
15
- var Component = _a.Component, captured = _a.captured;
16
- return convert(Component, captured);
17
- };
18
- extension_1.createExtension(selector);
8
+ function createSvelteApi(config = {}) {
9
+ return (context) => {
10
+ const convert = (0, converter_1.createConverter)(config);
11
+ context.converters.svelte = ({ Component, captured }) => convert(Component, captured);
19
12
  return {
20
- fromSvelte: function (Component, captured) {
13
+ fromSvelte(Component, captured) {
21
14
  return {
22
15
  type: 'svelte',
23
- Component: Component,
24
- captured: captured,
16
+ Component,
17
+ captured,
25
18
  };
26
19
  },
27
- SvelteExtension: selector,
20
+ SvelteExtension: convert.Extension,
28
21
  };
29
22
  };
30
23
  }
package/lib/create.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":";;;AACA,yCAA8C;AAC9C,yCAA8C;AAc9C;;GAEG;AACH,SAAgB,eAAe,CAAC,MAAyB;IAAzB,uBAAA,EAAA,WAAyB;IAC/C,IAAA,QAAQ,GAAK,MAAM,SAAX,CAAY;IAE5B,OAAO,UAAC,OAAO;QACb,IAAM,OAAO,GAAG,2BAAe,EAAE,CAAC;QAClC,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,UAAC,EAAuB;gBAArB,SAAS,eAAA,EAAE,QAAQ,cAAA;YAAO,OAAA,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC;QAA5B,CAA4B,CAAC;QAEtF,2BAAe,CAAC,QAAQ,CAAC,CAAC;QAE1B,OAAO;YACL,UAAU,YAAC,SAAS,EAAE,QAAQ;gBAC5B,OAAO;oBACL,IAAI,EAAE,QAAQ;oBACd,SAAS,WAAA;oBACT,QAAQ,UAAA;iBACT,CAAC;YACJ,CAAC;YACD,eAAe,EAAE,QAAQ;SAC1B,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AApBD,0CAoBC"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":";;;AACA,2CAAsE;AAQtE;;GAEG;AACH,SAAgB,eAAe,CAAC,SAAuB,EAAE;IACvD,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,OAAO,GAAG,IAAA,2BAAe,EAAC,MAAM,CAAC,CAAC;QACxC,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAEtF,OAAO;YACL,UAAU,CAAC,SAAS,EAAE,QAAQ;gBAC5B,OAAO;oBACL,IAAI,EAAE,QAAQ;oBACd,SAAS;oBACT,QAAQ;iBACT,CAAC;YACJ,CAAC;YACD,eAAe,EAAE,OAAO,CAAC,SAAS;SACnC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAhBD,0CAgBC"}
@@ -1 +1 @@
1
- export declare function createExtension(selector?: string): void;
1
+ export declare function createExtension(selector: string): string;
package/lib/extension.js CHANGED
@@ -1,32 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createExtension = void 0;
4
- var tslib_1 = require("tslib");
5
4
  function createExtension(selector) {
6
- if (selector === void 0) { selector = 'svelte-extension'; }
7
- if ('customElements' in window) {
8
- var SvelteExtension = /** @class */ (function (_super) {
9
- tslib_1.__extends(SvelteExtension, _super);
10
- function SvelteExtension() {
11
- return _super !== null && _super.apply(this, arguments) || this;
12
- }
13
- SvelteExtension.prototype.connectedCallback = function () {
14
- if (this.isConnected) {
15
- this.dispatchEvent(new CustomEvent('render-html', {
16
- bubbles: true,
17
- detail: {
18
- target: this,
19
- props: {
20
- name: this.getAttribute('name'),
21
- },
22
- },
23
- }));
24
- }
25
- };
26
- return SvelteExtension;
27
- }(HTMLElement));
28
- customElements.define(selector, SvelteExtension);
5
+ const defaultExtensionSelector = 'piral-extension';
6
+ if ('customElements' in window && selector && selector !== defaultExtensionSelector) {
7
+ const ExtensionBase = customElements.get(defaultExtensionSelector);
8
+ class AliasExtension extends ExtensionBase {
9
+ }
10
+ customElements.define(selector, AliasExtension);
29
11
  }
12
+ return selector || defaultExtensionSelector;
30
13
  }
31
14
  exports.createExtension = createExtension;
32
15
  //# sourceMappingURL=extension.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":";;;;AAAA,SAAgB,eAAe,CAAC,QAA6B;IAA7B,yBAAA,EAAA,6BAA6B;IAC3D,IAAI,gBAAgB,IAAI,MAAM,EAAE;QAC9B;YAA8B,2CAAW;YAAzC;;YAgBA,CAAC;YAfC,2CAAiB,GAAjB;gBACE,IAAI,IAAI,CAAC,WAAW,EAAE;oBACpB,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,aAAa,EAAE;wBAC7B,OAAO,EAAE,IAAI;wBACb,MAAM,EAAE;4BACN,MAAM,EAAE,IAAI;4BACZ,KAAK,EAAE;gCACL,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;6BAChC;yBACF;qBACF,CAAC,CACH,CAAC;iBACH;YACH,CAAC;YACH,sBAAC;QAAD,CAAC,AAhBD,CAA8B,WAAW,GAgBxC;QAED,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;KAClD;AACH,CAAC;AAtBD,0CAsBC"}
1
+ {"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":";;;AAAA,SAAgB,eAAe,CAAC,QAAgB;IAC9C,MAAM,wBAAwB,GAAG,iBAAiB,CAAC;IAEnD,IAAI,gBAAgB,IAAI,MAAM,IAAI,QAAQ,IAAI,QAAQ,KAAK,wBAAwB,EAAE;QACnF,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACnE,MAAM,cAAe,SAAQ,aAAa;SAAG;QAC7C,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;KACjD;IAED,OAAO,QAAQ,IAAI,wBAAwB,CAAC;AAC9C,CAAC;AAVD,0CAUC"}
package/lib/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./create"), exports);
5
- tslib_1.__exportStar(require("./types"), exports);
3
+ const tslib_1 = require("tslib");
4
+ (0, tslib_1.__exportStar)(require("./create"), exports);
5
+ (0, tslib_1.__exportStar)(require("./types"), exports);
6
6
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mDAAyB;AACzB,kDAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,wDAAyB;AACzB,uDAAwB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "piral-svelte",
3
- "version": "0.13.7",
3
+ "version": "0.14.0-alpha.3154",
4
4
  "description": "Plugin for integrating Svelte components in Piral.",
5
5
  "keywords": [
6
6
  "piral",
@@ -25,7 +25,6 @@
25
25
  "lib",
26
26
  "src",
27
27
  "convert.d.ts",
28
- "convert.ts",
29
28
  "convert.js"
30
29
  ],
31
30
  "repository": {
@@ -44,10 +43,10 @@
44
43
  "test": "echo \"Error: run tests from root\" && exit 1"
45
44
  },
46
45
  "devDependencies": {
47
- "piral-core": "^0.13.7"
46
+ "piral-core": "^0.14.0-alpha.3154"
48
47
  },
49
48
  "peerDependencies": {
50
- "piral-core": "0.13.x"
49
+ "piral-core": "0.14.x"
51
50
  },
52
- "gitHead": "201de6c1cddaacb1e5f9646bdd17dc43acf09e8e"
51
+ "gitHead": "bc6cc60a59e6a8b1a154d187883cb794e8609939"
53
52
  }
package/src/converter.ts CHANGED
@@ -1,7 +1,18 @@
1
- import { ForeignComponent, BaseComponentProps } from 'piral-core';
2
- import { SvelteComponentInstance, SvelteModule } from './types';
1
+ import type { ForeignComponent, BaseComponentProps } from 'piral-core';
2
+ import { createExtension } from './extension';
3
+ import type { SvelteComponentInstance, SvelteModule } from './types';
3
4
 
4
- export function createConverter() {
5
+ export interface SvelteConverterOptions {
6
+ /**
7
+ * Defines the name of the extension component.
8
+ * @default svelte-extension
9
+ */
10
+ selector?: string;
11
+ }
12
+
13
+ export function createConverter(config: SvelteConverterOptions = {}) {
14
+ const { selector = 'svelte-extension' } = config;
15
+ const Extension = createExtension(selector);
5
16
  const convert = <TProps extends BaseComponentProps>(
6
17
  Component: SvelteModule<TProps>,
7
18
  captured?: Record<string, any>,
@@ -10,14 +21,6 @@ export function createConverter() {
10
21
 
11
22
  return {
12
23
  mount(parent, data, ctx) {
13
- parent.addEventListener(
14
- 'render-html',
15
- (ev: CustomEvent) => {
16
- const { piral } = data;
17
- piral.renderHtmlExtension(ev.detail.target, ev.detail.props);
18
- },
19
- false,
20
- );
21
24
  instance = new Component({
22
25
  target: parent,
23
26
  props: {
@@ -39,5 +42,6 @@ export function createConverter() {
39
42
  },
40
43
  };
41
44
  };
45
+ convert.Extension = Extension;
42
46
  return convert;
43
47
  }
package/src/create.ts CHANGED
@@ -1,31 +1,20 @@
1
1
  import type { PiralPlugin } from 'piral-core';
2
- import { createConverter } from './converter';
3
- import { createExtension } from './extension';
2
+ import { createConverter, SvelteConverterOptions } from './converter';
4
3
  import type { PiletSvelteApi } from './types';
5
4
 
6
5
  /**
7
6
  * Available configuration options for the Svelte plugin.
8
7
  */
9
- export interface SvelteConfig {
10
- /**
11
- * Defines the name of the extension component.
12
- * @default svelte-extension
13
- */
14
- selector?: string;
15
- }
8
+ export interface SvelteConfig extends SvelteConverterOptions {}
16
9
 
17
10
  /**
18
11
  * Creates new Pilet API extensions for integration of Svelte.
19
12
  */
20
13
  export function createSvelteApi(config: SvelteConfig = {}): PiralPlugin<PiletSvelteApi> {
21
- const { selector } = config;
22
-
23
14
  return (context) => {
24
- const convert = createConverter();
15
+ const convert = createConverter(config);
25
16
  context.converters.svelte = ({ Component, captured }) => convert(Component, captured);
26
17
 
27
- createExtension(selector);
28
-
29
18
  return {
30
19
  fromSvelte(Component, captured) {
31
20
  return {
@@ -34,7 +23,7 @@ export function createSvelteApi(config: SvelteConfig = {}): PiralPlugin<PiletSve
34
23
  captured,
35
24
  };
36
25
  },
37
- SvelteExtension: selector,
26
+ SvelteExtension: convert.Extension,
38
27
  };
39
28
  };
40
29
  }
package/src/extension.ts CHANGED
@@ -1,23 +1,11 @@
1
- export function createExtension(selector = 'svelte-extension') {
2
- if ('customElements' in window) {
3
- class SvelteExtension extends HTMLElement {
4
- connectedCallback() {
5
- if (this.isConnected) {
6
- this.dispatchEvent(
7
- new CustomEvent('render-html', {
8
- bubbles: true,
9
- detail: {
10
- target: this,
11
- props: {
12
- name: this.getAttribute('name'),
13
- },
14
- },
15
- }),
16
- );
17
- }
18
- }
19
- }
1
+ export function createExtension(selector: string) {
2
+ const defaultExtensionSelector = 'piral-extension';
20
3
 
21
- customElements.define(selector, SvelteExtension);
4
+ if ('customElements' in window && selector && selector !== defaultExtensionSelector) {
5
+ const ExtensionBase = customElements.get(defaultExtensionSelector);
6
+ class AliasExtension extends ExtensionBase {}
7
+ customElements.define(selector, AliasExtension);
22
8
  }
9
+
10
+ return selector || defaultExtensionSelector;
23
11
  }
package/convert.ts DELETED
@@ -1,16 +0,0 @@
1
- import type { HtmlComponent } from 'piral-core';
2
- import { createConverter } from './lib/converter';
3
- import { createExtension } from './lib/extension';
4
-
5
- const convert = createConverter();
6
-
7
- export interface SvelteConverter {
8
- (...params: Parameters<typeof convert>): HtmlComponent<any>;
9
- }
10
-
11
- export const fromSvelte: SvelteConverter = (Component, captured) => ({
12
- type: 'html',
13
- component: convert(Component, captured),
14
- });
15
-
16
- export const createSvelteExtension = createExtension;