piral-ng 1.0.0-pre.2296 → 1.0.1-beta.5640

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 (120) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +709 -41
  3. package/common/NgExtension.d.ts +14 -0
  4. package/common/ResourceUrlPipe.d.ts +10 -0
  5. package/common/SharedModule.d.ts +10 -0
  6. package/common/esm2022/NgExtension.mjs +47 -0
  7. package/common/esm2022/ResourceUrlPipe.mjs +23 -0
  8. package/common/esm2022/SharedModule.mjs +25 -0
  9. package/common/esm2022/piral-ng-common.mjs +5 -0
  10. package/common/esm2022/public_api.mjs +4 -0
  11. package/common/fesm2022/piral-ng-common.mjs +93 -0
  12. package/common/fesm2022/piral-ng-common.mjs.map +1 -0
  13. package/common/index.d.ts +1 -0
  14. package/common/package.json +35 -0
  15. package/common/piral-ng-common.js +3 -0
  16. package/common/public_api.d.ts +3 -0
  17. package/convert.d.ts +17 -7
  18. package/convert.js +17 -11
  19. package/esm/RoutingService.d.ts +13 -0
  20. package/esm/RoutingService.js +109 -0
  21. package/esm/RoutingService.js.map +1 -0
  22. package/esm/bootstrap.d.ts +6 -5
  23. package/esm/bootstrap.js +52 -87
  24. package/esm/bootstrap.js.map +1 -1
  25. package/esm/common/NgExtension.d.ts +11 -0
  26. package/esm/common/NgExtension.js +41 -0
  27. package/esm/common/NgExtension.js.map +1 -0
  28. package/esm/common/ResourceUrlPipe.d.ts +7 -0
  29. package/esm/common/ResourceUrlPipe.js +18 -0
  30. package/esm/common/ResourceUrlPipe.js.map +1 -0
  31. package/esm/common/SharedModule.d.ts +3 -0
  32. package/esm/common/SharedModule.js +21 -0
  33. package/esm/common/SharedModule.js.map +1 -0
  34. package/esm/common/public_api.d.ts +3 -0
  35. package/esm/common/public_api.js +4 -0
  36. package/esm/common/public_api.js.map +1 -0
  37. package/esm/converter.d.ts +10 -2
  38. package/esm/converter.js +35 -16
  39. package/esm/converter.js.map +1 -1
  40. package/esm/create.d.ts +2 -16
  41. package/esm/create.js +9 -13
  42. package/esm/create.js.map +1 -1
  43. package/esm/module.d.ts +24 -0
  44. package/esm/module.js +131 -0
  45. package/esm/module.js.map +1 -0
  46. package/esm/queue.d.ts +1 -1
  47. package/esm/queue.js +3 -3
  48. package/esm/queue.js.map +1 -1
  49. package/esm/startup.d.ts +8 -0
  50. package/esm/startup.js +115 -0
  51. package/esm/startup.js.map +1 -0
  52. package/esm/types.d.ts +71 -3
  53. package/esm/utils.d.ts +18 -0
  54. package/esm/utils.js +46 -0
  55. package/esm/utils.js.map +1 -0
  56. package/extend-webpack.js +107 -0
  57. package/lib/RoutingService.d.ts +13 -0
  58. package/lib/RoutingService.js +112 -0
  59. package/lib/RoutingService.js.map +1 -0
  60. package/lib/bootstrap.d.ts +6 -5
  61. package/lib/bootstrap.js +55 -91
  62. package/lib/bootstrap.js.map +1 -1
  63. package/lib/common/NgExtension.d.ts +11 -0
  64. package/lib/common/NgExtension.js +44 -0
  65. package/lib/common/NgExtension.js.map +1 -0
  66. package/lib/common/ResourceUrlPipe.d.ts +7 -0
  67. package/lib/common/ResourceUrlPipe.js +21 -0
  68. package/lib/common/ResourceUrlPipe.js.map +1 -0
  69. package/lib/common/SharedModule.d.ts +3 -0
  70. package/lib/common/SharedModule.js +24 -0
  71. package/lib/common/SharedModule.js.map +1 -0
  72. package/lib/common/public_api.d.ts +3 -0
  73. package/lib/common/public_api.js +7 -0
  74. package/lib/common/public_api.js.map +1 -0
  75. package/lib/converter.d.ts +10 -2
  76. package/lib/converter.js +36 -17
  77. package/lib/converter.js.map +1 -1
  78. package/lib/create.d.ts +2 -16
  79. package/lib/create.js +10 -14
  80. package/lib/create.js.map +1 -1
  81. package/lib/index.js +1 -1
  82. package/lib/module.d.ts +24 -0
  83. package/lib/module.js +139 -0
  84. package/lib/module.js.map +1 -0
  85. package/lib/queue.d.ts +1 -1
  86. package/lib/queue.js +3 -3
  87. package/lib/queue.js.map +1 -1
  88. package/lib/startup.d.ts +8 -0
  89. package/lib/startup.js +120 -0
  90. package/lib/startup.js.map +1 -0
  91. package/lib/types.d.ts +71 -3
  92. package/lib/utils.d.ts +18 -0
  93. package/lib/utils.js +55 -0
  94. package/lib/utils.js.map +1 -0
  95. package/package.json +45 -18
  96. package/src/RoutingService.ts +114 -0
  97. package/src/bootstrap.ts +57 -104
  98. package/src/common/NgExtension.ts +33 -0
  99. package/src/common/ResourceUrlPipe.ts +12 -0
  100. package/src/common/SharedModule.ts +18 -0
  101. package/src/common/index.d.ts +1 -0
  102. package/src/common/ng-package.json +11 -0
  103. package/src/common/package.json +19 -0
  104. package/src/common/piral-ng-common.js +3 -0
  105. package/src/common/public_api.ts +3 -0
  106. package/src/converter.ts +58 -20
  107. package/src/create.ts +6 -23
  108. package/src/module.ts +163 -0
  109. package/src/queue.ts +1 -1
  110. package/src/startup.ts +148 -0
  111. package/src/types.ts +73 -3
  112. package/src/utils.ts +69 -0
  113. package/convert.ts +0 -16
  114. package/esm/extension.d.ts +0 -1
  115. package/esm/extension.js +0 -41
  116. package/esm/extension.js.map +0 -1
  117. package/lib/extension.d.ts +0 -1
  118. package/lib/extension.js +0 -45
  119. package/lib/extension.js.map +0 -1
  120. package/src/extension.ts +0 -29
@@ -0,0 +1,14 @@
1
+ import type { PiletApi } from 'piral-core';
2
+ import { ElementRef, OnChanges } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ export declare class NgExtension implements OnChanges {
5
+ private elRef;
6
+ private piral;
7
+ name: string | undefined;
8
+ params: object | undefined;
9
+ constructor(elRef: ElementRef<HTMLElement>, piral: PiletApi);
10
+ ngOnChanges(): void;
11
+ ngAfterContentInit(): void;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgExtension, never>;
13
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgExtension, "extension-component", never, { "name": { "alias": "name"; "required": false; }; "params": { "alias": "params"; "required": false; }; }, {}, never, never, false, never>;
14
+ }
@@ -0,0 +1,10 @@
1
+ import type { PiletApi } from 'piral-core';
2
+ import { PipeTransform } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ export declare class ResourceUrlPipe implements PipeTransform {
5
+ private piral;
6
+ constructor(piral: PiletApi);
7
+ transform(value: string): string;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<ResourceUrlPipe, never>;
9
+ static ɵpipe: i0.ɵɵPipeDeclaration<ResourceUrlPipe, "resourceUrl", false>;
10
+ }
@@ -0,0 +1,10 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./NgExtension";
3
+ import * as i2 from "./ResourceUrlPipe";
4
+ import * as i3 from "@angular/common";
5
+ export declare class SharedModule {
6
+ static props: {};
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<SharedModule, never>;
8
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SharedModule, [typeof i1.NgExtension, typeof i2.ResourceUrlPipe], [typeof i3.CommonModule], [typeof i1.NgExtension, typeof i2.ResourceUrlPipe]>;
9
+ static ɵinj: i0.ɵɵInjectorDeclaration<SharedModule>;
10
+ }
@@ -0,0 +1,47 @@
1
+ import { Component, Input, Inject } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ const selector = 'extension-component';
4
+ class NgExtension {
5
+ elRef;
6
+ piral;
7
+ name;
8
+ params;
9
+ constructor(elRef, piral) {
10
+ this.elRef = elRef;
11
+ this.piral = piral;
12
+ }
13
+ ngOnChanges() {
14
+ this.elRef.nativeElement.dispatchEvent(new CustomEvent('extension-props-changed', {
15
+ detail: {
16
+ name: this.name,
17
+ params: this.params,
18
+ },
19
+ }));
20
+ }
21
+ ngAfterContentInit() {
22
+ this.piral.renderHtmlExtension(this.elRef.nativeElement, {
23
+ name: this.name,
24
+ params: this.params,
25
+ });
26
+ }
27
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: NgExtension, deps: [{ token: i0.ElementRef }, { token: 'piral' }], target: i0.ɵɵFactoryTarget.Component });
28
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: NgExtension, selector: "extension-component", inputs: { name: "name", params: "params" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
29
+ }
30
+ export { NgExtension };
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: NgExtension, decorators: [{
32
+ type: Component,
33
+ args: [{
34
+ selector,
35
+ template: '',
36
+ }]
37
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: undefined, decorators: [{
38
+ type: Inject,
39
+ args: ['piral']
40
+ }] }]; }, propDecorators: { name: [{
41
+ type: Input,
42
+ args: ['name']
43
+ }], params: [{
44
+ type: Input,
45
+ args: ['params']
46
+ }] } });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmdFeHRlbnNpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbW9uL05nRXh0ZW5zaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFFLE1BQU0sRUFBYSxNQUFNLGVBQWUsQ0FBQzs7QUFFaEYsTUFBTSxRQUFRLEdBQUcscUJBQXFCLENBQUM7QUFFdkMsTUFJYSxXQUFXO0lBSUY7SUFBeUQ7SUFIdkQsSUFBSSxDQUFxQjtJQUN2QixNQUFNLENBQXFCO0lBRW5ELFlBQW9CLEtBQThCLEVBQTJCLEtBQWU7UUFBeEUsVUFBSyxHQUFMLEtBQUssQ0FBeUI7UUFBMkIsVUFBSyxHQUFMLEtBQUssQ0FBVTtJQUFHLENBQUM7SUFFaEcsV0FBVztRQUNULElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FDcEMsSUFBSSxXQUFXLENBQUMseUJBQXlCLEVBQUU7WUFDekMsTUFBTSxFQUFFO2dCQUNOLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtnQkFDZixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07YUFDcEI7U0FDRixDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRTtZQUN2RCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt1R0F0QlUsV0FBVyw0Q0FJc0MsT0FBTzsyRkFKeEQsV0FBVyw0SEFGWixFQUFFOztTQUVELFdBQVc7MkZBQVgsV0FBVztrQkFKdkIsU0FBUzttQkFBQztvQkFDVCxRQUFRO29CQUNSLFFBQVEsRUFBRSxFQUFFO2lCQUNiOzswQkFLc0QsTUFBTTsyQkFBQyxPQUFPOzRDQUg3QyxJQUFJO3NCQUF6QixLQUFLO3VCQUFDLE1BQU07Z0JBQ1csTUFBTTtzQkFBN0IsS0FBSzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQaWxldEFwaSB9IGZyb20gJ3BpcmFsLWNvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgSW5qZWN0LCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuY29uc3Qgc2VsZWN0b3IgPSAnZXh0ZW5zaW9uLWNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcixcbiAgdGVtcGxhdGU6ICcnLFxufSlcbmV4cG9ydCBjbGFzcyBOZ0V4dGVuc2lvbiBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgnbmFtZScpIHB1YmxpYyBuYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgncGFyYW1zJykgcHVibGljIHBhcmFtczogb2JqZWN0IHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LCBASW5qZWN0KCdwaXJhbCcpIHByaXZhdGUgcGlyYWw6IFBpbGV0QXBpKSB7fVxuXG4gIG5nT25DaGFuZ2VzKCkge1xuICAgIHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5kaXNwYXRjaEV2ZW50KFxuICAgICAgbmV3IEN1c3RvbUV2ZW50KCdleHRlbnNpb24tcHJvcHMtY2hhbmdlZCcsIHtcbiAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgbmFtZTogdGhpcy5uYW1lLFxuICAgICAgICAgIHBhcmFtczogdGhpcy5wYXJhbXMsXG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIHRoaXMucGlyYWwucmVuZGVySHRtbEV4dGVuc2lvbih0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQsIHtcbiAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgIHBhcmFtczogdGhpcy5wYXJhbXMsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,23 @@
1
+ import { Inject, Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ class ResourceUrlPipe {
4
+ piral;
5
+ constructor(piral) {
6
+ this.piral = piral;
7
+ }
8
+ transform(value) {
9
+ const { basePath = '/' } = this.piral.meta;
10
+ return basePath + value;
11
+ }
12
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ResourceUrlPipe, deps: [{ token: 'piral' }], target: i0.ɵɵFactoryTarget.Pipe });
13
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: ResourceUrlPipe, name: "resourceUrl" });
14
+ }
15
+ export { ResourceUrlPipe };
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ResourceUrlPipe, decorators: [{
17
+ type: Pipe,
18
+ args: [{ name: 'resourceUrl' }]
19
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
20
+ type: Inject,
21
+ args: ['piral']
22
+ }] }]; } });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVzb3VyY2VVcmxQaXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1vbi9SZXNvdXJjZVVybFBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUU1RCxNQUNhLGVBQWU7SUFDVztJQUFyQyxZQUFxQyxLQUFlO1FBQWYsVUFBSyxHQUFMLEtBQUssQ0FBVTtJQUFHLENBQUM7SUFFeEQsU0FBUyxDQUFDLEtBQWE7UUFDckIsTUFBTSxFQUFFLFFBQVEsR0FBRyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztRQUMzQyxPQUFPLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQzt1R0FOVSxlQUFlLGtCQUNOLE9BQU87cUdBRGhCLGVBQWU7O1NBQWYsZUFBZTsyRkFBZixlQUFlO2tCQUQzQixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRTs7MEJBRWQsTUFBTTsyQkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQaWxldEFwaSB9IGZyb20gJ3BpcmFsLWNvcmUnO1xuaW1wb3J0IHsgSW5qZWN0LCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHsgbmFtZTogJ3Jlc291cmNlVXJsJyB9KVxuZXhwb3J0IGNsYXNzIFJlc291cmNlVXJsUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3RvcihASW5qZWN0KCdwaXJhbCcpIHByaXZhdGUgcGlyYWw6IFBpbGV0QXBpKSB7fVxuXG4gIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCB7IGJhc2VQYXRoID0gJy8nIH0gPSB0aGlzLnBpcmFsLm1ldGE7XG4gICAgcmV0dXJuIGJhc2VQYXRoICsgdmFsdWU7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,25 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { NgExtension } from './NgExtension';
4
+ import { ResourceUrlPipe } from './ResourceUrlPipe';
5
+ import * as i0 from "@angular/core";
6
+ const declarationsDef = [NgExtension, ResourceUrlPipe];
7
+ const exportsDef = [NgExtension, ResourceUrlPipe];
8
+ const importsDef = [CommonModule];
9
+ class SharedModule {
10
+ static props = {};
11
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: SharedModule, declarations: [NgExtension, ResourceUrlPipe], imports: [CommonModule], exports: [NgExtension, ResourceUrlPipe] });
13
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SharedModule, imports: [importsDef] });
14
+ }
15
+ export { SharedModule };
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SharedModule, decorators: [{
17
+ type: NgModule,
18
+ args: [{
19
+ declarations: declarationsDef,
20
+ providers: [],
21
+ imports: importsDef,
22
+ exports: exportsDef,
23
+ }]
24
+ }] });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2hhcmVkTW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1vbi9TaGFyZWRNb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBRXBELE1BQU0sZUFBZSxHQUFHLENBQUMsV0FBVyxFQUFFLGVBQWUsQ0FBQyxDQUFDO0FBQ3ZELE1BQU0sVUFBVSxHQUFHLENBQUMsV0FBVyxFQUFFLGVBQWUsQ0FBQyxDQUFDO0FBQ2xELE1BQU0sVUFBVSxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7QUFFbEMsTUFNYSxZQUFZO0lBQ3ZCLE1BQU0sQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO3VHQURQLFlBQVk7d0dBQVosWUFBWSxpQkFWQSxXQUFXLEVBQUUsZUFBZSxhQUVqQyxZQUFZLGFBRFosV0FBVyxFQUFFLGVBQWU7d0dBU25DLFlBQVksWUFIZCxVQUFVOztTQUdSLFlBQVk7MkZBQVosWUFBWTtrQkFOeEIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsZUFBZTtvQkFDN0IsU0FBUyxFQUFFLEVBQUU7b0JBQ2IsT0FBTyxFQUFFLFVBQVU7b0JBQ25CLE9BQU8sRUFBRSxVQUFVO2lCQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdFeHRlbnNpb24gfSBmcm9tICcuL05nRXh0ZW5zaW9uJztcbmltcG9ydCB7IFJlc291cmNlVXJsUGlwZSB9IGZyb20gJy4vUmVzb3VyY2VVcmxQaXBlJztcblxuY29uc3QgZGVjbGFyYXRpb25zRGVmID0gW05nRXh0ZW5zaW9uLCBSZXNvdXJjZVVybFBpcGVdO1xuY29uc3QgZXhwb3J0c0RlZiA9IFtOZ0V4dGVuc2lvbiwgUmVzb3VyY2VVcmxQaXBlXTtcbmNvbnN0IGltcG9ydHNEZWYgPSBbQ29tbW9uTW9kdWxlXTtcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBkZWNsYXJhdGlvbnNEZWYsXG4gIHByb3ZpZGVyczogW10sXG4gIGltcG9ydHM6IGltcG9ydHNEZWYsXG4gIGV4cG9ydHM6IGV4cG9ydHNEZWYsXG59KVxuZXhwb3J0IGNsYXNzIFNoYXJlZE1vZHVsZSB7XG4gIHN0YXRpYyBwcm9wcyA9IHt9O1xufVxuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public_api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlyYWwtbmctY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1vbi9waXJhbC1uZy1jb21tb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
@@ -0,0 +1,4 @@
1
+ export * from './SharedModule';
2
+ export * from './NgExtension';
3
+ export * from './ResourceUrlPipe';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tb24vcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL1NoYXJlZE1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL05nRXh0ZW5zaW9uJztcbmV4cG9ydCAqIGZyb20gJy4vUmVzb3VyY2VVcmxQaXBlJztcbiJdfQ==
@@ -0,0 +1,93 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import * as i0 from '@angular/core';
3
+ import { Component, Inject, Input, Pipe, NgModule } from '@angular/core';
4
+
5
+ const selector = 'extension-component';
6
+ class NgExtension {
7
+ elRef;
8
+ piral;
9
+ name;
10
+ params;
11
+ constructor(elRef, piral) {
12
+ this.elRef = elRef;
13
+ this.piral = piral;
14
+ }
15
+ ngOnChanges() {
16
+ this.elRef.nativeElement.dispatchEvent(new CustomEvent('extension-props-changed', {
17
+ detail: {
18
+ name: this.name,
19
+ params: this.params,
20
+ },
21
+ }));
22
+ }
23
+ ngAfterContentInit() {
24
+ this.piral.renderHtmlExtension(this.elRef.nativeElement, {
25
+ name: this.name,
26
+ params: this.params,
27
+ });
28
+ }
29
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: NgExtension, deps: [{ token: i0.ElementRef }, { token: 'piral' }], target: i0.ɵɵFactoryTarget.Component });
30
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: NgExtension, selector: "extension-component", inputs: { name: "name", params: "params" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
31
+ }
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: NgExtension, decorators: [{
33
+ type: Component,
34
+ args: [{
35
+ selector,
36
+ template: '',
37
+ }]
38
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: undefined, decorators: [{
39
+ type: Inject,
40
+ args: ['piral']
41
+ }] }]; }, propDecorators: { name: [{
42
+ type: Input,
43
+ args: ['name']
44
+ }], params: [{
45
+ type: Input,
46
+ args: ['params']
47
+ }] } });
48
+
49
+ class ResourceUrlPipe {
50
+ piral;
51
+ constructor(piral) {
52
+ this.piral = piral;
53
+ }
54
+ transform(value) {
55
+ const { basePath = '/' } = this.piral.meta;
56
+ return basePath + value;
57
+ }
58
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ResourceUrlPipe, deps: [{ token: 'piral' }], target: i0.ɵɵFactoryTarget.Pipe });
59
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: ResourceUrlPipe, name: "resourceUrl" });
60
+ }
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ResourceUrlPipe, decorators: [{
62
+ type: Pipe,
63
+ args: [{ name: 'resourceUrl' }]
64
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
65
+ type: Inject,
66
+ args: ['piral']
67
+ }] }]; } });
68
+
69
+ const declarationsDef = [NgExtension, ResourceUrlPipe];
70
+ const exportsDef = [NgExtension, ResourceUrlPipe];
71
+ const importsDef = [CommonModule];
72
+ class SharedModule {
73
+ static props = {};
74
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
75
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: SharedModule, declarations: [NgExtension, ResourceUrlPipe], imports: [CommonModule], exports: [NgExtension, ResourceUrlPipe] });
76
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SharedModule, imports: [importsDef] });
77
+ }
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SharedModule, decorators: [{
79
+ type: NgModule,
80
+ args: [{
81
+ declarations: declarationsDef,
82
+ providers: [],
83
+ imports: importsDef,
84
+ exports: exportsDef,
85
+ }]
86
+ }] });
87
+
88
+ /**
89
+ * Generated bundle index. Do not edit.
90
+ */
91
+
92
+ export { NgExtension, ResourceUrlPipe, SharedModule };
93
+ //# sourceMappingURL=piral-ng-common.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"piral-ng-common.mjs","sources":["../../src/common/NgExtension.ts","../../src/common/ResourceUrlPipe.ts","../../src/common/SharedModule.ts","../../src/common/piral-ng-common.ts"],"sourcesContent":["import type { PiletApi } from 'piral-core';\nimport { Component, ElementRef, Input, Inject, OnChanges } from '@angular/core';\n\nconst selector = 'extension-component';\n\n@Component({\n selector,\n template: '',\n})\nexport class NgExtension implements OnChanges {\n @Input('name') public name: string | undefined;\n @Input('params') public params: object | undefined;\n\n constructor(private elRef: ElementRef<HTMLElement>, @Inject('piral') private piral: PiletApi) {}\n\n ngOnChanges() {\n this.elRef.nativeElement.dispatchEvent(\n new CustomEvent('extension-props-changed', {\n detail: {\n name: this.name,\n params: this.params,\n },\n }),\n );\n }\n\n ngAfterContentInit() {\n this.piral.renderHtmlExtension(this.elRef.nativeElement, {\n name: this.name,\n params: this.params,\n });\n }\n}\n","import type { PiletApi } from 'piral-core';\nimport { Inject, Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'resourceUrl' })\nexport class ResourceUrlPipe implements PipeTransform {\n constructor(@Inject('piral') private piral: PiletApi) {}\n\n transform(value: string): string {\n const { basePath = '/' } = this.piral.meta;\n return basePath + value;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { NgExtension } from './NgExtension';\nimport { ResourceUrlPipe } from './ResourceUrlPipe';\n\nconst declarationsDef = [NgExtension, ResourceUrlPipe];\nconst exportsDef = [NgExtension, ResourceUrlPipe];\nconst importsDef = [CommonModule];\n\n@NgModule({\n declarations: declarationsDef,\n providers: [],\n imports: importsDef,\n exports: exportsDef,\n})\nexport class SharedModule {\n static props = {};\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from './public_api';
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "piral-ng-common",
3
+ "version": "0.15.0",
4
+ "description": "Common module for piral-ng.",
5
+ "keywords": [],
6
+ "author": "smapiot",
7
+ "main": "piral-ng-common.js",
8
+ "homepage": "https://piral.io",
9
+ "license": "MIT",
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "git+https://github.com/smapiot/piral.git"
13
+ },
14
+ "bugs": {
15
+ "url": "https://github.com/smapiot/piral/issues"
16
+ },
17
+ "peerDependencies": {},
18
+ "module": "fesm2022/piral-ng-common.mjs",
19
+ "typings": "index.d.ts",
20
+ "exports": {
21
+ "./package.json": {
22
+ "default": "./package.json"
23
+ },
24
+ ".": {
25
+ "types": "./index.d.ts",
26
+ "esm2022": "./esm2022/piral-ng-common.mjs",
27
+ "esm": "./esm2022/piral-ng-common.mjs",
28
+ "default": "./fesm2022/piral-ng-common.mjs"
29
+ }
30
+ },
31
+ "sideEffects": false,
32
+ "dependencies": {
33
+ "tslib": "^2.3.0"
34
+ }
35
+ }
@@ -0,0 +1,3 @@
1
+ exports.NgExtension = class {};
2
+ exports.SharedModule = class {};
3
+ exports.ResourceUrlPipe = class {};
@@ -0,0 +1,3 @@
1
+ export * from './SharedModule';
2
+ export * from './NgExtension';
3
+ export * from './ResourceUrlPipe';
package/convert.d.ts CHANGED
@@ -1,9 +1,19 @@
1
- import type { HtmlComponent } from 'piral-core';
2
- import { createExtension } from './lib/extension';
3
- declare const convert: <TProps extends import("piral-core").BaseComponentProps>(component: any) => import("piral-core").ForeignComponent<TProps>;
1
+ import { createConverter } from './esm/converter';
2
+ export interface HtmlComponent<TProps> {
3
+ component: {
4
+ mount(element: HTMLElement, props: TProps, ctx: any, locals: any): void;
5
+ update?(element: HTMLElement, props: TProps, ctx: any, locals: any): void;
6
+ unmount?(element: HTMLElement, locals: any): void;
7
+ };
8
+ type: 'html';
9
+ }
4
10
  export interface NgConverter {
5
- (...params: Parameters<typeof convert>): HtmlComponent<any>;
11
+ (...params: Parameters<ReturnType<typeof createConverter>>): HtmlComponent<any>;
6
12
  }
7
- export declare const fromNg: NgConverter;
8
- export declare const createNgExtension: typeof createExtension;
9
- export {};
13
+ export declare function createNgConverter(...params: Parameters<typeof createConverter>): {
14
+ from: NgConverter;
15
+ Extension: any;
16
+ defineModule: import("./esm/types").NgModuleDefiner;
17
+ };
18
+ declare const fromNg: NgConverter, NgExtension: any, defineNgModule: import("./esm/types").NgModuleDefiner;
19
+ export { fromNg, NgExtension, defineNgModule };
package/convert.js CHANGED
@@ -1,11 +1,17 @@
1
- "use strict";
2
- exports.__esModule = true;
3
- exports.createNgExtension = exports.fromNg = void 0;
4
- var converter_1 = require("./lib/converter");
5
- var extension_1 = require("./lib/extension");
6
- var convert = converter_1.createConverter();
7
- exports.fromNg = function (component) { return ({
8
- type: 'html',
9
- component: convert(component)
10
- }); };
11
- exports.createNgExtension = extension_1.createExtension;
1
+ import { createConverter } from './esm/converter';
2
+ export function createNgConverter() {
3
+ var params = [];
4
+ for (var _i = 0; _i < arguments.length; _i++) {
5
+ params[_i] = arguments[_i];
6
+ }
7
+ var convert = createConverter.apply(void 0, params);
8
+ var Extension = convert.Extension;
9
+ var defineModule = convert.defineModule;
10
+ var from = function (component) { return ({
11
+ type: 'html',
12
+ component: convert(component),
13
+ }); };
14
+ return { from: from, Extension: Extension, defineModule: defineModule };
15
+ }
16
+ var _a = createNgConverter(), fromNg = _a.from, NgExtension = _a.Extension, defineNgModule = _a.defineModule;
17
+ export { fromNg, NgExtension, defineNgModule };
@@ -0,0 +1,13 @@
1
+ import type { ComponentContext } from 'piral-core';
2
+ import { NgZone, OnDestroy } from '@angular/core';
3
+ import { Router } from '@angular/router';
4
+ export declare class RoutingService implements OnDestroy {
5
+ context: ComponentContext;
6
+ private router;
7
+ private zone;
8
+ private dispose;
9
+ private subscription;
10
+ private invalidRoutes;
11
+ constructor(context: ComponentContext, router: Router, zone: NgZone);
12
+ ngOnDestroy(): void;
13
+ }
@@ -0,0 +1,109 @@
1
+ import { __decorate, __metadata, __param } from "tslib";
2
+ import { Inject, Injectable, NgZone, Optional } from '@angular/core';
3
+ import { NavigationError, Router } from '@angular/router';
4
+ import { BrowserPlatformLocation as ɵBrowserPlatformLocation } from '@angular/common';
5
+ let skipNavigation = false;
6
+ const noop = function () { };
7
+ const navigateByUrl = Router.prototype.navigateByUrl;
8
+ // deactivates the usual platform behavior; all these operations are performed via the RoutingService
9
+ // to avoid any conflict, e.g., double-booking URL changes in React and Angular
10
+ ɵBrowserPlatformLocation.prototype.pushState = noop;
11
+ ɵBrowserPlatformLocation.prototype.replaceState = noop;
12
+ ɵBrowserPlatformLocation.prototype.forward = noop;
13
+ ɵBrowserPlatformLocation.prototype.back = noop;
14
+ ɵBrowserPlatformLocation.prototype.historyGo = noop;
15
+ // required to detect / react to hidden URL change (see #554 for details)
16
+ Router.prototype.navigateByUrl = function (url, extras) {
17
+ var _a;
18
+ skipNavigation = (_a = extras === null || extras === void 0 ? void 0 : extras.skipLocationChange) !== null && _a !== void 0 ? _a : false;
19
+ const result = navigateByUrl.call(this, url, extras);
20
+ skipNavigation = false;
21
+ return result;
22
+ };
23
+ function normalize(url) {
24
+ const search = url.indexOf('?');
25
+ const hash = url.indexOf('#');
26
+ if (search !== -1 || hash !== -1) {
27
+ if (search === -1) {
28
+ return url.substring(0, hash);
29
+ }
30
+ else if (hash === -1) {
31
+ return url.substring(0, search);
32
+ }
33
+ else {
34
+ return url.substring(0, Math.min(search, hash));
35
+ }
36
+ }
37
+ return url;
38
+ }
39
+ let RoutingService = class RoutingService {
40
+ constructor(context, router, zone) {
41
+ this.context = context;
42
+ this.router = router;
43
+ this.zone = zone;
44
+ this.invalidRoutes = [];
45
+ if (this.router) {
46
+ this.router.errorHandler = (error) => {
47
+ if (error.message.match('Cannot match any routes')) {
48
+ // ignore this special error
49
+ return undefined;
50
+ }
51
+ throw error;
52
+ };
53
+ const skipIds = [];
54
+ const nav = this.context.navigation;
55
+ this.dispose = nav.listen(({ location }) => {
56
+ const path = location.pathname;
57
+ if (!this.invalidRoutes.includes(path)) {
58
+ const url = `${path}${location.search}${location.hash}`;
59
+ this.zone.run(() => navigateByUrl.call(this.router, url));
60
+ }
61
+ });
62
+ this.subscription = this.router.events.subscribe((e) => {
63
+ if (e instanceof NavigationError) {
64
+ const routerUrl = e.url;
65
+ const path = normalize(routerUrl);
66
+ const locationUrl = nav.url;
67
+ if (!this.invalidRoutes.includes(path)) {
68
+ this.invalidRoutes.push(path);
69
+ }
70
+ if (routerUrl !== locationUrl) {
71
+ nav.push(routerUrl);
72
+ }
73
+ }
74
+ else if (e.type === 0 && skipNavigation) {
75
+ skipIds.push(e.id);
76
+ }
77
+ else if (e.type === 15) {
78
+ const index = skipIds.indexOf(e.routerEvent.id);
79
+ if (index === -1) {
80
+ // consistency check to avoid #535 and other Angular-specific issues
81
+ const locationUrl = nav.url;
82
+ const routerUrl = e.routerEvent.url;
83
+ if (routerUrl !== locationUrl) {
84
+ nav.push(routerUrl);
85
+ }
86
+ }
87
+ else {
88
+ skipIds.splice(index, 1);
89
+ }
90
+ }
91
+ });
92
+ }
93
+ }
94
+ ngOnDestroy() {
95
+ var _a, _b;
96
+ (_a = this.dispose) === null || _a === void 0 ? void 0 : _a.call(this);
97
+ (_b = this.subscription) === null || _b === void 0 ? void 0 : _b.unsubscribe();
98
+ }
99
+ };
100
+ RoutingService = __decorate([
101
+ Injectable(),
102
+ __param(0, Inject('Context')),
103
+ __param(1, Optional()),
104
+ __param(2, Optional()),
105
+ __metadata("design:paramtypes", [Object, Router,
106
+ NgZone])
107
+ ], RoutingService);
108
+ export { RoutingService };
109
+ //# sourceMappingURL=RoutingService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RoutingService.js","sourceRoot":"","sources":["../src/RoutingService.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- import { NgModuleRef } from '@angular/core';
2
- import { BaseComponentProps } from 'piral-core';
3
- export declare function bootstrap<T extends BaseComponentProps>(context: any, props: T, moduleOrComponent: any, node: HTMLElement, id: string): Promise<void | NgModuleRef<any>>;
4
- export declare function bootstrapComponent<T extends BaseComponentProps>(context: any, props: T, component: any, node: HTMLElement, id: string): Promise<void | NgModuleRef<any>>;
5
- export declare function bootstrapModule<T extends BaseComponentProps>(context: any, props: T, BootstrapModule: any, node: HTMLElement, id: string): Promise<void | NgModuleRef<any>>;
1
+ import type { BaseComponentProps, ComponentContext, Disposable, PiletApi } from 'piral-core';
2
+ import type { BehaviorSubject } from 'rxjs';
3
+ import type { Type } from '@angular/core';
4
+ import type { NgLazyType, PrepareBootstrapResult } from './types';
5
+ export declare function prepareBootstrap(moduleOrComponent: Type<any> | NgLazyType, piral: PiletApi): Promise<PrepareBootstrapResult>;
6
+ export declare function bootstrap<TProps extends BaseComponentProps>(result: PrepareBootstrapResult, node: HTMLElement, props: BehaviorSubject<TProps>, context: ComponentContext): Promise<Disposable>;