piral-riot 0.13.9 → 0.14.0-alpha.3152

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("riot").RiotComponentShell<TProps, object>, captured?: Record<string, any>) => import("piral-core").ForeignComponent<TProps>;
2
+ import { createConverter } from './lib/converter';
4
3
  export interface RiotConverter {
5
- (...params: Parameters<typeof convert>): HtmlComponent<any>;
4
+ (...params: Parameters<ReturnType<typeof createConverter>>): HtmlComponent<any>;
6
5
  }
7
- export declare const fromRiot: RiotConverter;
8
- export declare const createRiotExtension: typeof createExtension;
9
- export {};
6
+ export declare function createRiotConverter(...params: Parameters<typeof createConverter>): {
7
+ from: RiotConverter;
8
+ Extension: import("riot").RiotComponentShell<import("piral-core").ExtensionSlotProps<string>, object>;
9
+ };
10
+ declare const fromRiot: RiotConverter, RiotExtension: import("riot").RiotComponentShell<import("piral-core").ExtensionSlotProps<string>, object>;
11
+ export { fromRiot, RiotExtension };
package/convert.js CHANGED
@@ -1,12 +1,21 @@
1
1
  "use strict";
2
2
  exports.__esModule = true;
3
- exports.createRiotExtension = exports.fromRiot = void 0;
3
+ exports.RiotExtension = exports.fromRiot = exports.createRiotConverter = 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 fromRiot = function (component, captured) { return ({
8
- type: 'html',
9
- component: convert(component, captured)
10
- }); };
5
+ function createRiotConverter() {
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.createRiotConverter = createRiotConverter;
19
+ var _a = createRiotConverter(), fromRiot = _a.from, RiotExtension = _a.Extension;
11
20
  exports.fromRiot = fromRiot;
12
- exports.createRiotExtension = extension_1.createExtension;
21
+ exports.RiotExtension = RiotExtension;
@@ -1,3 +1,13 @@
1
1
  import * as Riot from 'riot';
2
- import { ForeignComponent, BaseComponentProps } from 'piral-core';
3
- export declare function createConverter(): <TProps extends BaseComponentProps>(component: Riot.RiotComponentShell<TProps, object>, captured?: Record<string, any>) => ForeignComponent<TProps>;
2
+ import type { ForeignComponent, BaseComponentProps } from 'piral-core';
3
+ export interface RiotConverterOptions {
4
+ /**
5
+ * Defines the name of the Riot extension element.
6
+ * @default riot-extension
7
+ */
8
+ extensionName?: string;
9
+ }
10
+ export declare function createConverter(config?: RiotConverterOptions): {
11
+ <TProps extends BaseComponentProps>(component: Riot.RiotComponentShell<TProps, object>, captured?: Record<string, any>): ForeignComponent<TProps>;
12
+ Extension: Riot.RiotComponentShell<import("piral-core").ExtensionSlotProps<string>, object>;
13
+ };
package/esm/converter.js CHANGED
@@ -1,20 +1,23 @@
1
- import { __assign } from "tslib";
2
1
  import * as Riot from 'riot';
3
- export function createConverter() {
4
- var convert = function (component, captured) {
5
- var mountApp = Riot.component(component);
6
- var app = undefined;
2
+ import { createExtension } from './extension';
3
+ export function createConverter(config = {}) {
4
+ const { extensionName = 'riot-extension' } = config;
5
+ const Extension = createExtension(extensionName);
6
+ const convert = (component, captured) => {
7
+ const mountApp = Riot.component(component);
8
+ let app = undefined;
7
9
  return {
8
- mount: function (el, props, ctx) {
9
- app = mountApp(el, __assign(__assign(__assign({}, captured), ctx), props));
10
+ mount(el, props, ctx) {
11
+ app = mountApp(el, Object.assign(Object.assign(Object.assign({}, captured), ctx), props));
10
12
  },
11
- unmount: function (el) {
13
+ unmount(el) {
12
14
  app.unmount(true);
13
15
  el.innerHTML = '';
14
16
  app = undefined;
15
17
  },
16
18
  };
17
19
  };
20
+ convert.Extension = Extension;
18
21
  return convert;
19
22
  }
20
23
  //# sourceMappingURL=converter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"converter.js","sourceRoot":"","sources":["../src/converter.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAG7B,MAAM,UAAU,eAAe;IAC7B,IAAM,OAAO,GAAG,UACd,SAA0C,EAC1C,QAA8B;QAE9B,IAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,GAAG,GAA+B,SAAS,CAAC;QAEhD,OAAO;YACL,KAAK,YAAC,EAAE,EAAE,KAAK,EAAE,GAAG;gBAClB,GAAG,GAAG,QAAQ,CAAC,EAAE,iCACZ,QAAQ,GACR,GAAG,GACH,KAAK,EACR,CAAC;YACL,CAAC;YACD,OAAO,YAAC,EAAE;gBACR,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAClB,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC;gBAClB,GAAG,GAAG,SAAS,CAAC;YAClB,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":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAU9C,MAAM,UAAU,eAAe,CAAC,SAA+B,EAAE;IAC/D,MAAM,EAAE,aAAa,GAAG,gBAAgB,EAAE,GAAG,MAAM,CAAC;IACpD,MAAM,SAAS,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,CACd,SAA0C,EAC1C,QAA8B,EACJ,EAAE;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,GAAG,GAA+B,SAAS,CAAC;QAEhD,OAAO;YACL,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG;gBAClB,GAAG,GAAG,QAAQ,CAAC,EAAE,gDACZ,QAAQ,GACR,GAAG,GACH,KAAK,EACR,CAAC;YACL,CAAC;YACD,OAAO,CAAC,EAAE;gBACR,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAClB,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC;gBAClB,GAAG,GAAG,SAAS,CAAC;YAClB,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,9 @@
1
- import { PiralPlugin } from 'piral-core';
2
- import { PiletRiotApi } from './types';
1
+ import type { PiralPlugin } from 'piral-core';
2
+ import type { PiletRiotApi } from './types';
3
3
  /**
4
4
  * Available configuration options for the Riot.js plugin.
5
5
  */
6
6
  export interface RiotConfig {
7
- /**
8
- * Defines the name of the Riot extension element.
9
- * @default riot-extension
10
- */
11
- extensionName?: string;
12
7
  }
13
8
  /**
14
9
  * Creates new Pilet API extensions for integrating Riot.js.
package/esm/create.js CHANGED
@@ -1,27 +1,21 @@
1
1
  import { createConverter } from './converter';
2
- import { createExtension } from './extension';
3
2
  /**
4
3
  * Creates new Pilet API extensions for integrating Riot.js.
5
4
  */
6
- export function createRiotApi(config) {
7
- if (config === void 0) { config = {}; }
8
- var extensionName = config.extensionName;
9
- return function (context) {
10
- var convert = createConverter();
11
- context.converters.riot = function (_a) {
12
- var component = _a.component, captured = _a.captured;
13
- return convert(component, captured);
14
- };
15
- return function (api) { return ({
16
- fromRiot: function (component, captured) {
5
+ export function createRiotApi(config = {}) {
6
+ return (context) => {
7
+ const convert = createConverter(config);
8
+ context.converters.riot = ({ component, captured }) => convert(component, captured);
9
+ return {
10
+ fromRiot(component, captured) {
17
11
  return {
18
12
  type: 'riot',
19
- component: component,
20
- captured: captured,
13
+ component,
14
+ captured,
21
15
  };
22
16
  },
23
- RiotExtension: createExtension(api, extensionName),
24
- }); };
17
+ RiotExtension: convert.Extension,
18
+ };
25
19
  };
26
20
  }
27
21
  //# sourceMappingURL=create.js.map
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;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAa9C;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,MAAuB;IAAvB,uBAAA,EAAA,WAAuB;IAC3C,IAAA,aAAa,GAAK,MAAM,cAAX,CAAY;IAEjC,OAAO,UAAC,OAAO;QACb,IAAM,OAAO,GAAG,eAAe,EAAE,CAAC;QAClC,OAAO,CAAC,UAAU,CAAC,IAAI,GAAG,UAAC,EAAuB;gBAArB,SAAS,eAAA,EAAE,QAAQ,cAAA;YAAO,OAAA,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC;QAA5B,CAA4B,CAAC;QAEpF,OAAO,UAAC,GAAG,IAAK,OAAA,CAAC;YACf,QAAQ,YAAC,SAAS,EAAE,QAAQ;gBAC1B,OAAO;oBACL,IAAI,EAAE,MAAM;oBACZ,SAAS,WAAA;oBACT,QAAQ,UAAA;iBACT,CAAC;YACJ,CAAC;YACD,aAAa,EAAE,eAAe,CAAC,GAAG,EAAE,aAAa,CAAC;SACnD,CAAC,EATc,CASd,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAQ9C;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,SAAqB,EAAE;IACnD,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QACxC,OAAO,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAEpF,OAAO;YACL,QAAQ,CAAC,SAAS,EAAE,QAAQ;gBAC1B,OAAO;oBACL,IAAI,EAAE,MAAM;oBACZ,SAAS;oBACT,QAAQ;iBACT,CAAC;YACJ,CAAC;YACD,aAAa,EAAE,OAAO,CAAC,SAAS;SACjC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
@@ -1,3 +1,3 @@
1
- import type { PiletApi, ExtensionSlotProps } from 'piral-core';
1
+ import type { ExtensionSlotProps } from 'piral-core';
2
2
  import type { RiotComponentShell } from 'riot';
3
- export declare function createExtension(api: PiletApi, extensionName?: string): RiotComponentShell<ExtensionSlotProps>;
3
+ export declare function createExtension(extensionName: string): RiotComponentShell<ExtensionSlotProps>;
package/esm/extension.js CHANGED
@@ -1,23 +1,28 @@
1
- export function createExtension(api, extensionName) {
2
- if (extensionName === void 0) { extensionName = 'riot-extension'; }
1
+ export function createExtension(extensionName) {
3
2
  return {
4
3
  name: extensionName,
5
- template: function () {
6
- var templateChunk = {
7
- mount: function (element, scope) {
8
- api.renderHtmlExtension(element, scope.props);
4
+ template() {
5
+ const templateChunk = {
6
+ mount(element, scope) {
7
+ element.dispatchEvent(new CustomEvent('render-html', {
8
+ bubbles: true,
9
+ detail: {
10
+ target: element,
11
+ props: scope.props,
12
+ },
13
+ }));
9
14
  return templateChunk;
10
15
  },
11
- update: function () {
16
+ update() {
12
17
  return templateChunk;
13
18
  },
14
- unmount: function () {
19
+ unmount() {
15
20
  return templateChunk;
16
21
  },
17
- createDOM: function () {
22
+ createDOM() {
18
23
  return templateChunk;
19
24
  },
20
- clone: function () {
25
+ clone() {
21
26
  return templateChunk;
22
27
  },
23
28
  };
@@ -1 +1 @@
1
- {"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,eAAe,CAC7B,GAAa,EACb,aAAgC;IAAhC,8BAAA,EAAA,gCAAgC;IAEhC,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAR;YACE,IAAM,aAAa,GAAkB;gBACnC,KAAK,YAAC,OAAO,EAAE,KAAK;oBAClB,GAAG,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;oBAC9C,OAAO,aAAa,CAAC;gBACvB,CAAC;gBACD,MAAM;oBACJ,OAAO,aAAa,CAAC;gBACvB,CAAC;gBACD,OAAO;oBACL,OAAO,aAAa,CAAC;gBACvB,CAAC;gBACD,SAAS;oBACP,OAAO,aAAa,CAAC;gBACvB,CAAC;gBACD,KAAK;oBACH,OAAO,aAAa,CAAC;gBACvB,CAAC;aACF,CAAC;YACF,OAAO,aAAa,CAAC;QACvB,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,eAAe,CAAC,aAAqB;IACnD,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,QAAQ;YACN,MAAM,aAAa,GAAkB;gBACnC,KAAK,CAAC,OAAO,EAAE,KAAK;oBAClB,OAAO,CAAC,aAAa,CACnB,IAAI,WAAW,CAAC,aAAa,EAAE;wBAC7B,OAAO,EAAE,IAAI;wBACb,MAAM,EAAE;4BACN,MAAM,EAAE,OAAO;4BACf,KAAK,EAAE,KAAK,CAAC,KAAK;yBACnB;qBACF,CAAC,CACH,CAAC;oBACF,OAAO,aAAa,CAAC;gBACvB,CAAC;gBACD,MAAM;oBACJ,OAAO,aAAa,CAAC;gBACvB,CAAC;gBACD,OAAO;oBACL,OAAO,aAAa,CAAC;gBACvB,CAAC;gBACD,SAAS;oBACP,OAAO,aAAa,CAAC;gBACvB,CAAC;gBACD,KAAK;oBACH,OAAO,aAAa,CAAC;gBACvB,CAAC;aACF,CAAC;YACF,OAAO,aAAa,CAAC;QACvB,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,3 +1,13 @@
1
1
  import * as Riot from 'riot';
2
- import { ForeignComponent, BaseComponentProps } from 'piral-core';
3
- export declare function createConverter(): <TProps extends BaseComponentProps>(component: Riot.RiotComponentShell<TProps, object>, captured?: Record<string, any>) => ForeignComponent<TProps>;
2
+ import type { ForeignComponent, BaseComponentProps } from 'piral-core';
3
+ export interface RiotConverterOptions {
4
+ /**
5
+ * Defines the name of the Riot extension element.
6
+ * @default riot-extension
7
+ */
8
+ extensionName?: string;
9
+ }
10
+ export declare function createConverter(config?: RiotConverterOptions): {
11
+ <TProps extends BaseComponentProps>(component: Riot.RiotComponentShell<TProps, object>, captured?: Record<string, any>): ForeignComponent<TProps>;
12
+ Extension: Riot.RiotComponentShell<import("piral-core").ExtensionSlotProps<string>, object>;
13
+ };
package/lib/converter.js CHANGED
@@ -1,23 +1,26 @@
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 Riot = require("riot");
6
- function createConverter() {
7
- var convert = function (component, captured) {
8
- var mountApp = Riot.component(component);
9
- var app = undefined;
4
+ const Riot = require("riot");
5
+ const extension_1 = require("./extension");
6
+ function createConverter(config = {}) {
7
+ const { extensionName = 'riot-extension' } = config;
8
+ const Extension = (0, extension_1.createExtension)(extensionName);
9
+ const convert = (component, captured) => {
10
+ const mountApp = Riot.component(component);
11
+ let app = undefined;
10
12
  return {
11
- mount: function (el, props, ctx) {
12
- app = mountApp(el, tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, captured), ctx), props));
13
+ mount(el, props, ctx) {
14
+ app = mountApp(el, Object.assign(Object.assign(Object.assign({}, captured), ctx), props));
13
15
  },
14
- unmount: function (el) {
16
+ unmount(el) {
15
17
  app.unmount(true);
16
18
  el.innerHTML = '';
17
19
  app = undefined;
18
20
  },
19
21
  };
20
22
  };
23
+ convert.Extension = Extension;
21
24
  return convert;
22
25
  }
23
26
  exports.createConverter = createConverter;
@@ -1 +1 @@
1
- {"version":3,"file":"converter.js","sourceRoot":"","sources":["../src/converter.ts"],"names":[],"mappings":";;;;AAAA,2BAA6B;AAG7B,SAAgB,eAAe;IAC7B,IAAM,OAAO,GAAG,UACd,SAA0C,EAC1C,QAA8B;QAE9B,IAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,GAAG,GAA+B,SAAS,CAAC;QAEhD,OAAO;YACL,KAAK,YAAC,EAAE,EAAE,KAAK,EAAE,GAAG;gBAClB,GAAG,GAAG,QAAQ,CAAC,EAAE,yDACZ,QAAQ,GACR,GAAG,GACH,KAAK,EACR,CAAC;YACL,CAAC;YACD,OAAO,YAAC,EAAE;gBACR,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAClB,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC;gBAClB,GAAG,GAAG,SAAS,CAAC;YAClB,CAAC;SACF,CAAC;IACJ,CAAC,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC;AAxBD,0CAwBC"}
1
+ {"version":3,"file":"converter.js","sourceRoot":"","sources":["../src/converter.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;AAE7B,2CAA8C;AAU9C,SAAgB,eAAe,CAAC,SAA+B,EAAE;IAC/D,MAAM,EAAE,aAAa,GAAG,gBAAgB,EAAE,GAAG,MAAM,CAAC;IACpD,MAAM,SAAS,GAAG,IAAA,2BAAe,EAAC,aAAa,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,CACd,SAA0C,EAC1C,QAA8B,EACJ,EAAE;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,GAAG,GAA+B,SAAS,CAAC;QAEhD,OAAO;YACL,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG;gBAClB,GAAG,GAAG,QAAQ,CAAC,EAAE,gDACZ,QAAQ,GACR,GAAG,GACH,KAAK,EACR,CAAC;YACL,CAAC;YACD,OAAO,CAAC,EAAE;gBACR,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAClB,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC;gBAClB,GAAG,GAAG,SAAS,CAAC;YAClB,CAAC;SACF,CAAC;IACJ,CAAC,CAAC;IACF,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAC9B,OAAO,OAAO,CAAC;AACjB,CAAC;AA3BD,0CA2BC"}
package/lib/create.d.ts CHANGED
@@ -1,14 +1,9 @@
1
- import { PiralPlugin } from 'piral-core';
2
- import { PiletRiotApi } from './types';
1
+ import type { PiralPlugin } from 'piral-core';
2
+ import type { PiletRiotApi } from './types';
3
3
  /**
4
4
  * Available configuration options for the Riot.js plugin.
5
5
  */
6
6
  export interface RiotConfig {
7
- /**
8
- * Defines the name of the Riot extension element.
9
- * @default riot-extension
10
- */
11
- extensionName?: string;
12
7
  }
13
8
  /**
14
9
  * Creates new Pilet API extensions for integrating Riot.js.
package/lib/create.js CHANGED
@@ -1,30 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createRiotApi = 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 integrating Riot.js.
8
7
  */
9
- function createRiotApi(config) {
10
- if (config === void 0) { config = {}; }
11
- var extensionName = config.extensionName;
12
- return function (context) {
13
- var convert = converter_1.createConverter();
14
- context.converters.riot = function (_a) {
15
- var component = _a.component, captured = _a.captured;
16
- return convert(component, captured);
17
- };
18
- return function (api) { return ({
19
- fromRiot: function (component, captured) {
8
+ function createRiotApi(config = {}) {
9
+ return (context) => {
10
+ const convert = (0, converter_1.createConverter)(config);
11
+ context.converters.riot = ({ component, captured }) => convert(component, captured);
12
+ return {
13
+ fromRiot(component, captured) {
20
14
  return {
21
15
  type: 'riot',
22
- component: component,
23
- captured: captured,
16
+ component,
17
+ captured,
24
18
  };
25
19
  },
26
- RiotExtension: extension_1.createExtension(api, extensionName),
27
- }); };
20
+ RiotExtension: convert.Extension,
21
+ };
28
22
  };
29
23
  }
30
24
  exports.createRiotApi = createRiotApi;
package/lib/create.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":";;;AACA,yCAA8C;AAE9C,yCAA8C;AAa9C;;GAEG;AACH,SAAgB,aAAa,CAAC,MAAuB;IAAvB,uBAAA,EAAA,WAAuB;IAC3C,IAAA,aAAa,GAAK,MAAM,cAAX,CAAY;IAEjC,OAAO,UAAC,OAAO;QACb,IAAM,OAAO,GAAG,2BAAe,EAAE,CAAC;QAClC,OAAO,CAAC,UAAU,CAAC,IAAI,GAAG,UAAC,EAAuB;gBAArB,SAAS,eAAA,EAAE,QAAQ,cAAA;YAAO,OAAA,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC;QAA5B,CAA4B,CAAC;QAEpF,OAAO,UAAC,GAAG,IAAK,OAAA,CAAC;YACf,QAAQ,YAAC,SAAS,EAAE,QAAQ;gBAC1B,OAAO;oBACL,IAAI,EAAE,MAAM;oBACZ,SAAS,WAAA;oBACT,QAAQ,UAAA;iBACT,CAAC;YACJ,CAAC;YACD,aAAa,EAAE,2BAAe,CAAC,GAAG,EAAE,aAAa,CAAC;SACnD,CAAC,EATc,CASd,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAlBD,sCAkBC"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":";;;AACA,2CAA8C;AAQ9C;;GAEG;AACH,SAAgB,aAAa,CAAC,SAAqB,EAAE;IACnD,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,OAAO,GAAG,IAAA,2BAAe,EAAC,MAAM,CAAC,CAAC;QACxC,OAAO,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAEpF,OAAO;YACL,QAAQ,CAAC,SAAS,EAAE,QAAQ;gBAC1B,OAAO;oBACL,IAAI,EAAE,MAAM;oBACZ,SAAS;oBACT,QAAQ;iBACT,CAAC;YACJ,CAAC;YACD,aAAa,EAAE,OAAO,CAAC,SAAS;SACjC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAhBD,sCAgBC"}
@@ -1,3 +1,3 @@
1
- import type { PiletApi, ExtensionSlotProps } from 'piral-core';
1
+ import type { ExtensionSlotProps } from 'piral-core';
2
2
  import type { RiotComponentShell } from 'riot';
3
- export declare function createExtension(api: PiletApi, extensionName?: string): RiotComponentShell<ExtensionSlotProps>;
3
+ export declare function createExtension(extensionName: string): RiotComponentShell<ExtensionSlotProps>;
package/lib/extension.js CHANGED
@@ -1,26 +1,31 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createExtension = void 0;
4
- function createExtension(api, extensionName) {
5
- if (extensionName === void 0) { extensionName = 'riot-extension'; }
4
+ function createExtension(extensionName) {
6
5
  return {
7
6
  name: extensionName,
8
- template: function () {
9
- var templateChunk = {
10
- mount: function (element, scope) {
11
- api.renderHtmlExtension(element, scope.props);
7
+ template() {
8
+ const templateChunk = {
9
+ mount(element, scope) {
10
+ element.dispatchEvent(new CustomEvent('render-html', {
11
+ bubbles: true,
12
+ detail: {
13
+ target: element,
14
+ props: scope.props,
15
+ },
16
+ }));
12
17
  return templateChunk;
13
18
  },
14
- update: function () {
19
+ update() {
15
20
  return templateChunk;
16
21
  },
17
- unmount: function () {
22
+ unmount() {
18
23
  return templateChunk;
19
24
  },
20
- createDOM: function () {
25
+ createDOM() {
21
26
  return templateChunk;
22
27
  },
23
- clone: function () {
28
+ clone() {
24
29
  return templateChunk;
25
30
  },
26
31
  };
@@ -1 +1 @@
1
- {"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":";;;AAIA,SAAgB,eAAe,CAC7B,GAAa,EACb,aAAgC;IAAhC,8BAAA,EAAA,gCAAgC;IAEhC,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAR;YACE,IAAM,aAAa,GAAkB;gBACnC,KAAK,YAAC,OAAO,EAAE,KAAK;oBAClB,GAAG,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;oBAC9C,OAAO,aAAa,CAAC;gBACvB,CAAC;gBACD,MAAM;oBACJ,OAAO,aAAa,CAAC;gBACvB,CAAC;gBACD,OAAO;oBACL,OAAO,aAAa,CAAC;gBACvB,CAAC;gBACD,SAAS;oBACP,OAAO,aAAa,CAAC;gBACvB,CAAC;gBACD,KAAK;oBACH,OAAO,aAAa,CAAC;gBACvB,CAAC;aACF,CAAC;YACF,OAAO,aAAa,CAAC;QACvB,CAAC;KACF,CAAC;AACJ,CAAC;AA5BD,0CA4BC"}
1
+ {"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":";;;AAIA,SAAgB,eAAe,CAAC,aAAqB;IACnD,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,QAAQ;YACN,MAAM,aAAa,GAAkB;gBACnC,KAAK,CAAC,OAAO,EAAE,KAAK;oBAClB,OAAO,CAAC,aAAa,CACnB,IAAI,WAAW,CAAC,aAAa,EAAE;wBAC7B,OAAO,EAAE,IAAI;wBACb,MAAM,EAAE;4BACN,MAAM,EAAE,OAAO;4BACf,KAAK,EAAE,KAAK,CAAC,KAAK;yBACnB;qBACF,CAAC,CACH,CAAC;oBACF,OAAO,aAAa,CAAC;gBACvB,CAAC;gBACD,MAAM;oBACJ,OAAO,aAAa,CAAC;gBACvB,CAAC;gBACD,OAAO;oBACL,OAAO,aAAa,CAAC;gBACvB,CAAC;gBACD,SAAS;oBACP,OAAO,aAAa,CAAC;gBACvB,CAAC;gBACD,KAAK;oBACH,OAAO,aAAa,CAAC;gBACvB,CAAC;aACF,CAAC;YACF,OAAO,aAAa,CAAC;QACvB,CAAC;KACF,CAAC;AACJ,CAAC;AAjCD,0CAiCC"}
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-riot",
3
- "version": "0.13.9",
3
+ "version": "0.14.0-alpha.3152",
4
4
  "description": "Plugin for integrating Riot.js components in Piral.",
5
5
  "keywords": [
6
6
  "piral",
@@ -43,12 +43,12 @@
43
43
  "test": "echo \"Error: run tests from root\" && exit 1"
44
44
  },
45
45
  "devDependencies": {
46
- "piral-core": "^0.13.9",
46
+ "piral-core": "^0.14.0-alpha.3152",
47
47
  "riot": "^4.7.2"
48
48
  },
49
49
  "peerDependencies": {
50
- "piral-core": "0.13.x",
50
+ "piral-core": "0.14.x",
51
51
  "riot": "^4.0.0"
52
52
  },
53
- "gitHead": "80de9fb69430283bc90f380d3254e0e6aad4c6ad"
53
+ "gitHead": "4ad88a8b8bcdee17f22e7e1e2e8feb41df6210e5"
54
54
  }
package/src/converter.ts CHANGED
@@ -1,7 +1,18 @@
1
1
  import * as Riot from 'riot';
2
- import { ForeignComponent, BaseComponentProps } from 'piral-core';
2
+ import type { ForeignComponent, BaseComponentProps } from 'piral-core';
3
+ import { createExtension } from './extension';
3
4
 
4
- export function createConverter() {
5
+ export interface RiotConverterOptions {
6
+ /**
7
+ * Defines the name of the Riot extension element.
8
+ * @default riot-extension
9
+ */
10
+ extensionName?: string;
11
+ }
12
+
13
+ export function createConverter(config: RiotConverterOptions = {}) {
14
+ const { extensionName = 'riot-extension' } = config;
15
+ const Extension = createExtension(extensionName);
5
16
  const convert = <TProps extends BaseComponentProps>(
6
17
  component: Riot.RiotComponentShell<TProps>,
7
18
  captured?: Record<string, any>,
@@ -24,5 +35,6 @@ export function createConverter() {
24
35
  },
25
36
  };
26
37
  };
38
+ convert.Extension = Extension;
27
39
  return convert;
28
40
  }
package/src/create.ts CHANGED
@@ -1,30 +1,21 @@
1
- import { PiralPlugin } from 'piral-core';
1
+ import type { PiralPlugin } from 'piral-core';
2
2
  import { createConverter } from './converter';
3
- import { PiletRiotApi } from './types';
4
- import { createExtension } from './extension';
3
+ import type { PiletRiotApi } from './types';
5
4
 
6
5
  /**
7
6
  * Available configuration options for the Riot.js plugin.
8
7
  */
9
- export interface RiotConfig {
10
- /**
11
- * Defines the name of the Riot extension element.
12
- * @default riot-extension
13
- */
14
- extensionName?: string;
15
- }
8
+ export interface RiotConfig {}
16
9
 
17
10
  /**
18
11
  * Creates new Pilet API extensions for integrating Riot.js.
19
12
  */
20
13
  export function createRiotApi(config: RiotConfig = {}): PiralPlugin<PiletRiotApi> {
21
- const { extensionName } = config;
22
-
23
14
  return (context) => {
24
- const convert = createConverter();
15
+ const convert = createConverter(config);
25
16
  context.converters.riot = ({ component, captured }) => convert(component, captured);
26
17
 
27
- return (api) => ({
18
+ return {
28
19
  fromRiot(component, captured) {
29
20
  return {
30
21
  type: 'riot',
@@ -32,7 +23,7 @@ export function createRiotApi(config: RiotConfig = {}): PiralPlugin<PiletRiotApi
32
23
  captured,
33
24
  };
34
25
  },
35
- RiotExtension: createExtension(api, extensionName),
36
- });
26
+ RiotExtension: convert.Extension,
27
+ };
37
28
  };
38
29
  }
package/src/extension.ts CHANGED
@@ -1,17 +1,22 @@
1
- import type { PiletApi, ExtensionSlotProps } from 'piral-core';
1
+ import type { ExtensionSlotProps } from 'piral-core';
2
2
  import type { RiotComponentShell } from 'riot';
3
3
  import type { TemplateChunk } from '@riotjs/dom-bindings';
4
4
 
5
- export function createExtension(
6
- api: PiletApi,
7
- extensionName = 'riot-extension',
8
- ): RiotComponentShell<ExtensionSlotProps> {
5
+ export function createExtension(extensionName: string): RiotComponentShell<ExtensionSlotProps> {
9
6
  return {
10
7
  name: extensionName,
11
8
  template() {
12
9
  const templateChunk: TemplateChunk = {
13
10
  mount(element, scope) {
14
- api.renderHtmlExtension(element, scope.props);
11
+ element.dispatchEvent(
12
+ new CustomEvent('render-html', {
13
+ bubbles: true,
14
+ detail: {
15
+ target: element,
16
+ props: scope.props,
17
+ },
18
+ }),
19
+ );
15
20
  return templateChunk;
16
21
  },
17
22
  update() {