@wemake4u/feel-editor 1.0.3 → 1.0.5

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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2025 Ivan Senatore, Wemake Informatica srl
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -66,13 +66,13 @@ export class FeelEditorComponent extends CodeEditorComponent {
66
66
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FeelEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
67
67
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FeelEditorComponent, isStandalone: true, selector: "feel-editor", inputs: { dialect: "dialect", builtins: "builtins", variables: "variables" }, providers: [
68
68
  createValueAccessorProvider(FeelEditorComponent)
69
- ], usesInheritance: true, ngImport: i0, template: "<div #editorContainer\r\n class=\"feel-editor-container\"\r\n (blur)=\"onTouched()\"\r\n [ngClass]=\"embedded ? 'feel-editor-embedded' : 'feel-editor-standalone'\"\r\n [style.min-height]=\"minHeight\"\r\n [style.max-height]=\"maxHeight\">\r\n</div>\r\n", styles: [".feel-editor-container{height:100%;overflow-y:auto}.feel-editor-standalone{border:1px solid #ccc;padding:5px}.feel-editor-embedded{border:0px;padding:0}.feel-editor-container.disabled{pointer-events:none;opacity:.6}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }] });
69
+ ], usesInheritance: true, ngImport: i0, template: "<div #editorContainer\r\n class=\"feel-editor-container\"\r\n (blur)=\"onTouched()\"\r\n [ngClass]=\"embedded ? 'feel-editor-embedded' : 'feel-editor-standalone'\"\r\n [style.min-height]=\"minHeight\"\r\n [style.max-height]=\"maxHeight\">\r\n</div>\r\n", styles: [".feel-editor-container{height:100%;overflow-y:auto}.feel-editor-standalone{border:1px solid #ccc;padding:5px}.feel-editor-embedded{border:0px;padding:0}.feel-editor-container.disabled{pointer-events:none;opacity:.6}.feel-editor-container ::ng-deep .cm-line{caret-color:auto!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }] });
70
70
  }
71
71
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FeelEditorComponent, decorators: [{
72
72
  type: Component,
73
73
  args: [{ selector: 'feel-editor', standalone: true, imports: [CommonModule, ReactiveFormsModule], providers: [
74
74
  createValueAccessorProvider(FeelEditorComponent)
75
- ], template: "<div #editorContainer\r\n class=\"feel-editor-container\"\r\n (blur)=\"onTouched()\"\r\n [ngClass]=\"embedded ? 'feel-editor-embedded' : 'feel-editor-standalone'\"\r\n [style.min-height]=\"minHeight\"\r\n [style.max-height]=\"maxHeight\">\r\n</div>\r\n", styles: [".feel-editor-container{height:100%;overflow-y:auto}.feel-editor-standalone{border:1px solid #ccc;padding:5px}.feel-editor-embedded{border:0px;padding:0}.feel-editor-container.disabled{pointer-events:none;opacity:.6}\n"] }]
75
+ ], template: "<div #editorContainer\r\n class=\"feel-editor-container\"\r\n (blur)=\"onTouched()\"\r\n [ngClass]=\"embedded ? 'feel-editor-embedded' : 'feel-editor-standalone'\"\r\n [style.min-height]=\"minHeight\"\r\n [style.max-height]=\"maxHeight\">\r\n</div>\r\n", styles: [".feel-editor-container{height:100%;overflow-y:auto}.feel-editor-standalone{border:1px solid #ccc;padding:5px}.feel-editor-embedded{border:0px;padding:0}.feel-editor-container.disabled{pointer-events:none;opacity:.6}.feel-editor-container ::ng-deep .cm-line{caret-color:auto!important}\n"] }]
76
76
  }], propDecorators: { dialect: [{
77
77
  type: Input
78
78
  }], builtins: [{
@@ -80,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
80
80
  }], variables: [{
81
81
  type: Input
82
82
  }] } });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlbC1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmVlbC1lZGl0b3Ivc3JjL2xpYi9jb21wb25lbnRzL2ZlZWwtZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZlZWwtZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9mZWVsLWVkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxrREFBa0Q7QUFFbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sVUFBc0QsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBWXpGLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxtQkFBbUI7SUFFMUQsaUJBQWlCO0lBRWpCLElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFDSSxPQUFPLENBQUMsS0FBa0I7UUFDNUIsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUs7WUFDekIsT0FBTztRQUNULElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsWUFBWTtJQUVaLGtCQUFrQjtJQUVsQixJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQ0ksUUFBUSxDQUFDLEtBQXVDO1FBQ2xELElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxLQUFLO1lBQzFCLE9BQU87UUFDVCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVPLFdBQVc7UUFDakIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQ2xDLE9BQU8sQ0FBQyxHQUFHLGtCQUFrQixFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsWUFBWTtJQUVaLG1CQUFtQjtJQUVuQixJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELElBQ0ksU0FBUyxDQUFDLEtBQXdDO1FBQ3BELElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM3QyxDQUFDO0lBQ0gsQ0FBQztJQUVELFlBQVk7SUFFWix5QkFBeUI7SUFFakIsV0FBVyxDQUFnQztJQUUzQyxRQUFRLEdBQWdCLFlBQVksQ0FBQztJQUVyQyxTQUFTLENBQW1DO0lBRTVDLFVBQVUsQ0FBb0M7SUFFN0MsZ0JBQWdCLENBQUMsU0FBYztRQUV0QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksVUFBVSxDQUFDO1lBQ2hDLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsUUFBUSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxTQUFTO1lBQ3pDLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVSxJQUFJLFNBQVM7WUFDdkMsVUFBVSxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUU7U0FDakMsQ0FBQyxDQUFDO1FBRUgsT0FBUSxJQUFJLENBQUMsV0FBbUIsQ0FBRSxTQUFTLENBQUM7SUFDOUMsQ0FBQzt3R0FoRlUsbUJBQW1COzRGQUFuQixtQkFBbUIsd0lBSm5CO1lBQ1QsMkJBQTJCLENBQUMsbUJBQW1CLENBQUM7U0FDakQsaURDakJILGtSQU9BLGtSRE9ZLFlBQVksNEhBQUUsbUJBQW1COzs0RkFLaEMsbUJBQW1CO2tCQVYvQixTQUFTOytCQUNFLGFBQWEsY0FHWCxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLENBQUMsYUFDakM7d0JBQ1QsMkJBQTJCLHFCQUFxQjtxQkFDakQ7OEJBV0csT0FBTztzQkFEVixLQUFLO2dCQWlCRixRQUFRO3NCQURYLEtBQUs7Z0JBeUJGLFNBQVM7c0JBRFosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi90eXBlcy9mZWVsLWVkaXRvci5kLnRzXCIgLz5cclxuXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IEZlZWxFZGl0b3IsIHsgRmVlbERpYWxlY3QsIEZlZWxCdWlsdGluLCBGZWVsVmFyaWFibGUgfSBmcm9tICdAYnBtbi1pby9mZWVsLWVkaXRvcic7XHJcbmltcG9ydCB7IGdldERlZmF1bHRCdWlsdGlucyB9IGZyb20gJy4uL3V0aWxzL3BhcnNlQnVpbHRpbnMnO1xyXG5pbXBvcnQgeyBDb2RlRWRpdG9yQ29tcG9uZW50LCBjcmVhdGVWYWx1ZUFjY2Vzc29yUHJvdmlkZXIgfSBmcm9tICdAd2VtYWtlNHUvY29kZS1lZGl0b3InO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdmZWVsLWVkaXRvcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZlZWwtZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mZWVsLWVkaXRvci5jb21wb25lbnQuY3NzJ10sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIGNyZWF0ZVZhbHVlQWNjZXNzb3JQcm92aWRlcihGZWVsRWRpdG9yQ29tcG9uZW50KVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEZlZWxFZGl0b3JDb21wb25lbnQgZXh0ZW5kcyBDb2RlRWRpdG9yQ29tcG9uZW50IHtcclxuXHJcbiAgLy8jcmVnaW9uIGRpYWxlY3RcclxuXHJcbiAgZ2V0IGRpYWxlY3QoKTogRmVlbERpYWxlY3Qge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RpYWxlY3Q7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCBkaWFsZWN0KHZhbHVlOiBGZWVsRGlhbGVjdCkge1xyXG4gICAgaWYgKHRoaXMuX2RpYWxlY3QgPT09IHZhbHVlKVxyXG4gICAgICByZXR1cm47XHJcbiAgICB0aGlzLl9kaWFsZWN0ID0gdmFsdWU7XHJcbiAgICB0aGlzLnJlZnJlc2hFZGl0b3IoKTtcclxuICB9XHJcblxyXG4gIC8vI2VuZHJlZ2lvblxyXG5cclxuICAvLyNyZWdpb24gYnVpbHRpbnNcclxuXHJcbiAgZ2V0IGJ1aWx0aW5zKCk6IEZlZWxCdWlsdGluW10gfCBudWxsIHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiB0aGlzLl9idWlsdGlucztcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGJ1aWx0aW5zKHZhbHVlOiBGZWVsQnVpbHRpbltdIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xyXG4gICAgaWYgKHRoaXMuX2J1aWx0aW5zID09PSB2YWx1ZSlcclxuICAgICAgcmV0dXJuO1xyXG4gICAgdGhpcy5fYnVpbHRpbnMgPSB2YWx1ZTtcclxuICAgIHRoaXMucmVmcmVzaEVkaXRvcigpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRCdWlsdGlucygpIHtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuX2J1aWx0aW5zKSkge1xyXG4gICAgICByZXR1cm4gWy4uLmdldERlZmF1bHRCdWlsdGlucygpLCAuLi50aGlzLl9idWlsdGluc107XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuX2J1aWx0aW5zO1xyXG4gIH1cclxuXHJcbiAgLy8jZW5kcmVnaW9uXHJcblxyXG4gIC8vI3JlZ2lvbiB2YXJpYWJsZXNcclxuXHJcbiAgZ2V0IHZhcmlhYmxlcygpOiBGZWVsVmFyaWFibGVbXSB8IG51bGwgfCB1bmRlZmluZWQge1xyXG4gICAgcmV0dXJuIHRoaXMuX3ZhcmlhYmxlcztcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHZhcmlhYmxlcyh2YWx1ZTogRmVlbFZhcmlhYmxlW10gfCBudWxsIHwgdW5kZWZpbmVkKSB7XHJcbiAgICB0aGlzLl92YXJpYWJsZXMgPSB2YWx1ZTtcclxuICAgIGlmICh0aGlzLl9mZWVsRWRpdG9yKSB7XHJcbiAgICAgIHRoaXMuX2ZlZWxFZGl0b3Iuc2V0VmFyaWFibGVzKHZhbHVlIHx8IFtdKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vI2VuZHJlZ2lvblxyXG5cclxuICAvLyNyZWdpb24gUHJpdmF0ZSBNZW1iZXJzXHJcblxyXG4gIHByaXZhdGUgX2ZlZWxFZGl0b3I6IEZlZWxFZGl0b3IgfCBudWxsIHwgdW5kZWZpbmVkO1xyXG5cclxuICBwcml2YXRlIF9kaWFsZWN0OiBGZWVsRGlhbGVjdCA9IFwiZXhwcmVzc2lvblwiO1xyXG5cclxuICBwcml2YXRlIF9idWlsdGluczogRmVlbEJ1aWx0aW5bXSB8IG51bGwgfCB1bmRlZmluZWQ7XHJcblxyXG4gIHByaXZhdGUgX3ZhcmlhYmxlczogRmVlbFZhcmlhYmxlW10gfCBudWxsIHwgdW5kZWZpbmVkO1xyXG5cclxuICBvdmVycmlkZSBjcmVhdGVFZGl0b3JWaWV3KGNvbnRhaW5lcjogYW55KSB7XHJcblxyXG4gICAgdGhpcy5fZmVlbEVkaXRvciA9IG5ldyBGZWVsRWRpdG9yKHtcclxuICAgICAgY29udGFpbmVyOiBjb250YWluZXIsXHJcbiAgICAgIGRpYWxlY3Q6IHRoaXMuZGlhbGVjdCxcclxuICAgICAgdmFsdWU6IHRoaXMudmFsdWUsXHJcbiAgICAgIGJ1aWx0aW5zOiB0aGlzLmdldEJ1aWx0aW5zKCkgPz8gdW5kZWZpbmVkLFxyXG4gICAgICB2YXJpYWJsZXM6IHRoaXMuX3ZhcmlhYmxlcyA/PyB1bmRlZmluZWQsXHJcbiAgICAgIGV4dGVuc2lvbnM6IHRoaXMuZ2V0RXh0ZW5zaW9ucygpXHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gKHRoaXMuX2ZlZWxFZGl0b3IgYXMgYW55KSAuX2NtRWRpdG9yO1xyXG4gIH1cclxuXHJcbiAgLy8jZW5kcmVnaW9uXHJcbn1cclxuIiwiPGRpdiAjZWRpdG9yQ29udGFpbmVyXHJcbiAgICAgY2xhc3M9XCJmZWVsLWVkaXRvci1jb250YWluZXJcIlxyXG4gICAgIChibHVyKT1cIm9uVG91Y2hlZCgpXCJcclxuICAgICBbbmdDbGFzc109XCJlbWJlZGRlZCA/ICdmZWVsLWVkaXRvci1lbWJlZGRlZCcgOiAnZmVlbC1lZGl0b3Itc3RhbmRhbG9uZSdcIlxyXG4gICAgIFtzdHlsZS5taW4taGVpZ2h0XT1cIm1pbkhlaWdodFwiXHJcbiAgICAgW3N0eWxlLm1heC1oZWlnaHRdPVwibWF4SGVpZ2h0XCI+XHJcbjwvZGl2PlxyXG4iXX0=
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlbC1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmVlbC1lZGl0b3Ivc3JjL2xpYi9jb21wb25lbnRzL2ZlZWwtZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZlZWwtZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9mZWVsLWVkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxrREFBa0Q7QUFFbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sVUFBc0QsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBWXpGLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxtQkFBbUI7SUFFMUQsaUJBQWlCO0lBRWpCLElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFDSSxPQUFPLENBQUMsS0FBa0I7UUFDNUIsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUs7WUFDekIsT0FBTztRQUNULElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsWUFBWTtJQUVaLGtCQUFrQjtJQUVsQixJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQ0ksUUFBUSxDQUFDLEtBQXVDO1FBQ2xELElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxLQUFLO1lBQzFCLE9BQU87UUFDVCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVPLFdBQVc7UUFDakIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQ2xDLE9BQU8sQ0FBQyxHQUFHLGtCQUFrQixFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsWUFBWTtJQUVaLG1CQUFtQjtJQUVuQixJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELElBQ0ksU0FBUyxDQUFDLEtBQXdDO1FBQ3BELElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM3QyxDQUFDO0lBQ0gsQ0FBQztJQUVELFlBQVk7SUFFWix5QkFBeUI7SUFFakIsV0FBVyxDQUFnQztJQUUzQyxRQUFRLEdBQWdCLFlBQVksQ0FBQztJQUVyQyxTQUFTLENBQW1DO0lBRTVDLFVBQVUsQ0FBb0M7SUFFN0MsZ0JBQWdCLENBQUMsU0FBYztRQUV0QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksVUFBVSxDQUFDO1lBQ2hDLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsUUFBUSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxTQUFTO1lBQ3pDLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVSxJQUFJLFNBQVM7WUFDdkMsVUFBVSxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUU7U0FDakMsQ0FBQyxDQUFDO1FBRUgsT0FBUSxJQUFJLENBQUMsV0FBbUIsQ0FBRSxTQUFTLENBQUM7SUFDOUMsQ0FBQzt3R0FoRlUsbUJBQW1COzRGQUFuQixtQkFBbUIsd0lBSm5CO1lBQ1QsMkJBQTJCLENBQUMsbUJBQW1CLENBQUM7U0FDakQsaURDakJILGtSQU9BLHVWRE9ZLFlBQVksNEhBQUUsbUJBQW1COzs0RkFLaEMsbUJBQW1CO2tCQVYvQixTQUFTOytCQUNFLGFBQWEsY0FHWCxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLENBQUMsYUFDakM7d0JBQ1QsMkJBQTJCLHFCQUFxQjtxQkFDakQ7OEJBV0csT0FBTztzQkFEVixLQUFLO2dCQWlCRixRQUFRO3NCQURYLEtBQUs7Z0JBeUJGLFNBQVM7c0JBRFosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi90eXBlcy9mZWVsLWVkaXRvci5kLnRzXCIgLz5cclxuXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IEZlZWxFZGl0b3IsIHsgRmVlbERpYWxlY3QsIEZlZWxCdWlsdGluLCBGZWVsVmFyaWFibGUgfSBmcm9tICdAYnBtbi1pby9mZWVsLWVkaXRvcic7XHJcbmltcG9ydCB7IGdldERlZmF1bHRCdWlsdGlucyB9IGZyb20gJy4uL3V0aWxzL3BhcnNlQnVpbHRpbnMnO1xyXG5pbXBvcnQgeyBDb2RlRWRpdG9yQ29tcG9uZW50LCBjcmVhdGVWYWx1ZUFjY2Vzc29yUHJvdmlkZXIgfSBmcm9tICdAd2VtYWtlNHUvY29kZS1lZGl0b3InO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdmZWVsLWVkaXRvcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZlZWwtZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mZWVsLWVkaXRvci5jb21wb25lbnQuY3NzJ10sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIGNyZWF0ZVZhbHVlQWNjZXNzb3JQcm92aWRlcihGZWVsRWRpdG9yQ29tcG9uZW50KVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEZlZWxFZGl0b3JDb21wb25lbnQgZXh0ZW5kcyBDb2RlRWRpdG9yQ29tcG9uZW50IHtcclxuXHJcbiAgLy8jcmVnaW9uIGRpYWxlY3RcclxuXHJcbiAgZ2V0IGRpYWxlY3QoKTogRmVlbERpYWxlY3Qge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RpYWxlY3Q7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCBkaWFsZWN0KHZhbHVlOiBGZWVsRGlhbGVjdCkge1xyXG4gICAgaWYgKHRoaXMuX2RpYWxlY3QgPT09IHZhbHVlKVxyXG4gICAgICByZXR1cm47XHJcbiAgICB0aGlzLl9kaWFsZWN0ID0gdmFsdWU7XHJcbiAgICB0aGlzLnJlZnJlc2hFZGl0b3IoKTtcclxuICB9XHJcblxyXG4gIC8vI2VuZHJlZ2lvblxyXG5cclxuICAvLyNyZWdpb24gYnVpbHRpbnNcclxuXHJcbiAgZ2V0IGJ1aWx0aW5zKCk6IEZlZWxCdWlsdGluW10gfCBudWxsIHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiB0aGlzLl9idWlsdGlucztcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGJ1aWx0aW5zKHZhbHVlOiBGZWVsQnVpbHRpbltdIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xyXG4gICAgaWYgKHRoaXMuX2J1aWx0aW5zID09PSB2YWx1ZSlcclxuICAgICAgcmV0dXJuO1xyXG4gICAgdGhpcy5fYnVpbHRpbnMgPSB2YWx1ZTtcclxuICAgIHRoaXMucmVmcmVzaEVkaXRvcigpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRCdWlsdGlucygpIHtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuX2J1aWx0aW5zKSkge1xyXG4gICAgICByZXR1cm4gWy4uLmdldERlZmF1bHRCdWlsdGlucygpLCAuLi50aGlzLl9idWlsdGluc107XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuX2J1aWx0aW5zO1xyXG4gIH1cclxuXHJcbiAgLy8jZW5kcmVnaW9uXHJcblxyXG4gIC8vI3JlZ2lvbiB2YXJpYWJsZXNcclxuXHJcbiAgZ2V0IHZhcmlhYmxlcygpOiBGZWVsVmFyaWFibGVbXSB8IG51bGwgfCB1bmRlZmluZWQge1xyXG4gICAgcmV0dXJuIHRoaXMuX3ZhcmlhYmxlcztcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHZhcmlhYmxlcyh2YWx1ZTogRmVlbFZhcmlhYmxlW10gfCBudWxsIHwgdW5kZWZpbmVkKSB7XHJcbiAgICB0aGlzLl92YXJpYWJsZXMgPSB2YWx1ZTtcclxuICAgIGlmICh0aGlzLl9mZWVsRWRpdG9yKSB7XHJcbiAgICAgIHRoaXMuX2ZlZWxFZGl0b3Iuc2V0VmFyaWFibGVzKHZhbHVlIHx8IFtdKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vI2VuZHJlZ2lvblxyXG5cclxuICAvLyNyZWdpb24gUHJpdmF0ZSBNZW1iZXJzXHJcblxyXG4gIHByaXZhdGUgX2ZlZWxFZGl0b3I6IEZlZWxFZGl0b3IgfCBudWxsIHwgdW5kZWZpbmVkO1xyXG5cclxuICBwcml2YXRlIF9kaWFsZWN0OiBGZWVsRGlhbGVjdCA9IFwiZXhwcmVzc2lvblwiO1xyXG5cclxuICBwcml2YXRlIF9idWlsdGluczogRmVlbEJ1aWx0aW5bXSB8IG51bGwgfCB1bmRlZmluZWQ7XHJcblxyXG4gIHByaXZhdGUgX3ZhcmlhYmxlczogRmVlbFZhcmlhYmxlW10gfCBudWxsIHwgdW5kZWZpbmVkO1xyXG5cclxuICBvdmVycmlkZSBjcmVhdGVFZGl0b3JWaWV3KGNvbnRhaW5lcjogYW55KSB7XHJcblxyXG4gICAgdGhpcy5fZmVlbEVkaXRvciA9IG5ldyBGZWVsRWRpdG9yKHtcclxuICAgICAgY29udGFpbmVyOiBjb250YWluZXIsXHJcbiAgICAgIGRpYWxlY3Q6IHRoaXMuZGlhbGVjdCxcclxuICAgICAgdmFsdWU6IHRoaXMudmFsdWUsXHJcbiAgICAgIGJ1aWx0aW5zOiB0aGlzLmdldEJ1aWx0aW5zKCkgPz8gdW5kZWZpbmVkLFxyXG4gICAgICB2YXJpYWJsZXM6IHRoaXMuX3ZhcmlhYmxlcyA/PyB1bmRlZmluZWQsXHJcbiAgICAgIGV4dGVuc2lvbnM6IHRoaXMuZ2V0RXh0ZW5zaW9ucygpXHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gKHRoaXMuX2ZlZWxFZGl0b3IgYXMgYW55KSAuX2NtRWRpdG9yO1xyXG4gIH1cclxuXHJcbiAgLy8jZW5kcmVnaW9uXHJcbn1cclxuIiwiPGRpdiAjZWRpdG9yQ29udGFpbmVyXHJcbiAgICAgY2xhc3M9XCJmZWVsLWVkaXRvci1jb250YWluZXJcIlxyXG4gICAgIChibHVyKT1cIm9uVG91Y2hlZCgpXCJcclxuICAgICBbbmdDbGFzc109XCJlbWJlZGRlZCA/ICdmZWVsLWVkaXRvci1lbWJlZGRlZCcgOiAnZmVlbC1lZGl0b3Itc3RhbmRhbG9uZSdcIlxyXG4gICAgIFtzdHlsZS5taW4taGVpZ2h0XT1cIm1pbkhlaWdodFwiXHJcbiAgICAgW3N0eWxlLm1heC1oZWlnaHRdPVwibWF4SGVpZ2h0XCI+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -597,13 +597,13 @@ class FeelEditorComponent extends CodeEditorComponent {
597
597
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FeelEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
598
598
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FeelEditorComponent, isStandalone: true, selector: "feel-editor", inputs: { dialect: "dialect", builtins: "builtins", variables: "variables" }, providers: [
599
599
  createValueAccessorProvider(FeelEditorComponent)
600
- ], usesInheritance: true, ngImport: i0, template: "<div #editorContainer\r\n class=\"feel-editor-container\"\r\n (blur)=\"onTouched()\"\r\n [ngClass]=\"embedded ? 'feel-editor-embedded' : 'feel-editor-standalone'\"\r\n [style.min-height]=\"minHeight\"\r\n [style.max-height]=\"maxHeight\">\r\n</div>\r\n", styles: [".feel-editor-container{height:100%;overflow-y:auto}.feel-editor-standalone{border:1px solid #ccc;padding:5px}.feel-editor-embedded{border:0px;padding:0}.feel-editor-container.disabled{pointer-events:none;opacity:.6}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }] });
600
+ ], usesInheritance: true, ngImport: i0, template: "<div #editorContainer\r\n class=\"feel-editor-container\"\r\n (blur)=\"onTouched()\"\r\n [ngClass]=\"embedded ? 'feel-editor-embedded' : 'feel-editor-standalone'\"\r\n [style.min-height]=\"minHeight\"\r\n [style.max-height]=\"maxHeight\">\r\n</div>\r\n", styles: [".feel-editor-container{height:100%;overflow-y:auto}.feel-editor-standalone{border:1px solid #ccc;padding:5px}.feel-editor-embedded{border:0px;padding:0}.feel-editor-container.disabled{pointer-events:none;opacity:.6}.feel-editor-container ::ng-deep .cm-line{caret-color:auto!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }] });
601
601
  }
602
602
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FeelEditorComponent, decorators: [{
603
603
  type: Component,
604
604
  args: [{ selector: 'feel-editor', standalone: true, imports: [CommonModule, ReactiveFormsModule], providers: [
605
605
  createValueAccessorProvider(FeelEditorComponent)
606
- ], template: "<div #editorContainer\r\n class=\"feel-editor-container\"\r\n (blur)=\"onTouched()\"\r\n [ngClass]=\"embedded ? 'feel-editor-embedded' : 'feel-editor-standalone'\"\r\n [style.min-height]=\"minHeight\"\r\n [style.max-height]=\"maxHeight\">\r\n</div>\r\n", styles: [".feel-editor-container{height:100%;overflow-y:auto}.feel-editor-standalone{border:1px solid #ccc;padding:5px}.feel-editor-embedded{border:0px;padding:0}.feel-editor-container.disabled{pointer-events:none;opacity:.6}\n"] }]
606
+ ], template: "<div #editorContainer\r\n class=\"feel-editor-container\"\r\n (blur)=\"onTouched()\"\r\n [ngClass]=\"embedded ? 'feel-editor-embedded' : 'feel-editor-standalone'\"\r\n [style.min-height]=\"minHeight\"\r\n [style.max-height]=\"maxHeight\">\r\n</div>\r\n", styles: [".feel-editor-container{height:100%;overflow-y:auto}.feel-editor-standalone{border:1px solid #ccc;padding:5px}.feel-editor-embedded{border:0px;padding:0}.feel-editor-container.disabled{pointer-events:none;opacity:.6}.feel-editor-container ::ng-deep .cm-line{caret-color:auto!important}\n"] }]
607
607
  }], propDecorators: { dialect: [{
608
608
  type: Input
609
609
  }], builtins: [{
@@ -1 +1 @@
1
- {"version":3,"file":"wemake4u-feel-editor.mjs","sources":["../../../projects/feel-editor/src/lib/utils/parseBuiltins.ts","../../../projects/feel-editor/src/lib/components/feel-editor.component.ts","../../../projects/feel-editor/src/lib/components/feel-editor.component.html","../../../projects/feel-editor/src/public-api.ts","../../../projects/feel-editor/src/wemake4u-feel-editor.ts"],"sourcesContent":["import { domify } from 'min-dom';\r\nimport { FeelBuiltin } from '@bpmn-io/feel-editor';\r\nimport defaultBuiltins from '../assets/builtins.json';\r\n\r\ninterface BuiltinInfo {\r\n name: string;\r\n description: string;\r\n}\r\n\r\nexport function parseBuiltins(builtins: BuiltinInfo[]): FeelBuiltin[] {\r\n return builtins.map(parseBuiltin);\r\n}\r\n\r\nexport function parseBuiltin(builtin: BuiltinInfo): FeelBuiltin {\r\n\r\n const {\r\n name,\r\n description\r\n } = builtin;\r\n\r\n const match = name.match(/^([\\w\\s]+)\\((.*)\\)$/);\r\n const functionName = match ? match[1] : \"\";\r\n const functionArguments = match ? match[2]: \"\";\r\n\r\n const params = functionArguments ? functionArguments.split(', ').map((name: string) => ({ name })) : [];\r\n\r\n return {\r\n name: functionName,\r\n type: 'function',\r\n params,\r\n info: () => {\r\n return domify(`<div class=\"description\">${description}<div>`);\r\n },\r\n boost: 0\r\n };\r\n}\r\n\r\nexport function getDefaultBuiltins(): FeelBuiltin[] {\r\n return parseBuiltins(defaultBuiltins);\r\n}\r\n","/// <reference path=\"../types/feel-editor.d.ts\" />\r\n\r\nimport { Component, Input } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport FeelEditor, { FeelDialect, FeelBuiltin, FeelVariable } from '@bpmn-io/feel-editor';\r\nimport { getDefaultBuiltins } from '../utils/parseBuiltins';\r\nimport { CodeEditorComponent, createValueAccessorProvider } from '@wemake4u/code-editor';\r\n\r\n@Component({\r\n selector: 'feel-editor',\r\n templateUrl: './feel-editor.component.html',\r\n styleUrls: ['./feel-editor.component.css'],\r\n standalone: true,\r\n imports: [CommonModule, ReactiveFormsModule],\r\n providers: [\r\n createValueAccessorProvider(FeelEditorComponent)\r\n ]\r\n})\r\nexport class FeelEditorComponent extends CodeEditorComponent {\r\n\r\n //#region dialect\r\n\r\n get dialect(): FeelDialect {\r\n return this._dialect;\r\n }\r\n\r\n @Input()\r\n set dialect(value: FeelDialect) {\r\n if (this._dialect === value)\r\n return;\r\n this._dialect = value;\r\n this.refreshEditor();\r\n }\r\n\r\n //#endregion\r\n\r\n //#region builtins\r\n\r\n get builtins(): FeelBuiltin[] | null | undefined {\r\n return this._builtins;\r\n }\r\n\r\n @Input()\r\n set builtins(value: FeelBuiltin[] | null | undefined) {\r\n if (this._builtins === value)\r\n return;\r\n this._builtins = value;\r\n this.refreshEditor();\r\n }\r\n\r\n private getBuiltins() {\r\n if (Array.isArray(this._builtins)) {\r\n return [...getDefaultBuiltins(), ...this._builtins];\r\n }\r\n\r\n return this._builtins;\r\n }\r\n\r\n //#endregion\r\n\r\n //#region variables\r\n\r\n get variables(): FeelVariable[] | null | undefined {\r\n return this._variables;\r\n }\r\n\r\n @Input()\r\n set variables(value: FeelVariable[] | null | undefined) {\r\n this._variables = value;\r\n if (this._feelEditor) {\r\n this._feelEditor.setVariables(value || []);\r\n }\r\n }\r\n\r\n //#endregion\r\n\r\n //#region Private Members\r\n\r\n private _feelEditor: FeelEditor | null | undefined;\r\n\r\n private _dialect: FeelDialect = \"expression\";\r\n\r\n private _builtins: FeelBuiltin[] | null | undefined;\r\n\r\n private _variables: FeelVariable[] | null | undefined;\r\n\r\n override createEditorView(container: any) {\r\n\r\n this._feelEditor = new FeelEditor({\r\n container: container,\r\n dialect: this.dialect,\r\n value: this.value,\r\n builtins: this.getBuiltins() ?? undefined,\r\n variables: this._variables ?? undefined,\r\n extensions: this.getExtensions()\r\n });\r\n\r\n return (this._feelEditor as any) ._cmEditor;\r\n }\r\n\r\n //#endregion\r\n}\r\n","<div #editorContainer\r\n class=\"feel-editor-container\"\r\n (blur)=\"onTouched()\"\r\n [ngClass]=\"embedded ? 'feel-editor-embedded' : 'feel-editor-standalone'\"\r\n [style.min-height]=\"minHeight\"\r\n [style.max-height]=\"maxHeight\">\r\n</div>\r\n","/*\r\n * Public API Surface of feel-editor\r\n */\r\n\r\nexport * from './lib/components/feel-editor.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASM,SAAU,aAAa,CAAC,QAAuB,EAAA;AACnD,IAAA,OAAO,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AACpC,CAAC;AAEK,SAAU,YAAY,CAAC,OAAoB,EAAA;AAE/C,IAAA,MAAM,EACJ,IAAI,EACJ,WAAW,EACZ,GAAG,OAAO,CAAC;IAEZ,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;AAChD,IAAA,MAAM,YAAY,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AAC3C,IAAA,MAAM,iBAAiB,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,GAAE,EAAE,CAAC;AAE/C,IAAA,MAAM,MAAM,GAAG,iBAAiB,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAY,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;IAExG,OAAO;AACL,QAAA,IAAI,EAAE,YAAY;AAClB,QAAA,IAAI,EAAE,UAAU;QAChB,MAAM;QACN,IAAI,EAAE,MAAK;AACT,YAAA,OAAO,MAAM,CAAC,CAAA,yBAAA,EAA4B,WAAW,CAAA,KAAA,CAAO,CAAC,CAAC;SAC/D;AACD,QAAA,KAAK,EAAE,CAAC;KACT,CAAC;AACJ,CAAC;SAEe,kBAAkB,GAAA;AAChC,IAAA,OAAO,aAAa,CAAC,eAAe,CAAC,CAAC;AACxC;;ACvCA;AAmBM,MAAO,mBAAoB,SAAQ,mBAAmB,CAAA;;AAI1D,IAAA,IAAI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;KACtB;IAED,IACI,OAAO,CAAC,KAAkB,EAAA;AAC5B,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK;YACzB,OAAO;AACT,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;;;AAMD,IAAA,IAAI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;IAED,IACI,QAAQ,CAAC,KAAuC,EAAA;AAClD,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK;YAC1B,OAAO;AACT,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;IAEO,WAAW,GAAA;QACjB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YACjC,OAAO,CAAC,GAAG,kBAAkB,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;SACrD;QAED,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;;;AAMD,IAAA,IAAI,SAAS,GAAA;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;KACxB;IAED,IACI,SAAS,CAAC,KAAwC,EAAA;AACpD,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AACxB,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;SAC5C;KACF;;;AAMO,IAAA,WAAW,CAAgC;IAE3C,QAAQ,GAAgB,YAAY,CAAC;AAErC,IAAA,SAAS,CAAmC;AAE5C,IAAA,UAAU,CAAoC;AAE7C,IAAA,gBAAgB,CAAC,SAAc,EAAA;AAEtC,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,UAAU,CAAC;AAChC,YAAA,SAAS,EAAE,SAAS;YACpB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;AACjB,YAAA,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,SAAS;AACzC,YAAA,SAAS,EAAE,IAAI,CAAC,UAAU,IAAI,SAAS;AACvC,YAAA,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE;AACjC,SAAA,CAAC,CAAC;AAEH,QAAA,OAAQ,IAAI,CAAC,WAAmB,CAAE,SAAS,CAAC;KAC7C;wGAhFU,mBAAmB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,EAJnB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,SAAA,EAAA;YACT,2BAA2B,CAAC,mBAAmB,CAAC;AACjD,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjBH,kRAOA,EAAA,MAAA,EAAA,CAAA,2NAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDOY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,mBAAmB,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAKhC,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAV/B,SAAS;+BACE,aAAa,EAAA,UAAA,EAGX,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,EAAE,mBAAmB,CAAC,EACjC,SAAA,EAAA;AACT,wBAAA,2BAA2B,CAAqB,mBAAA,CAAA;AACjD,qBAAA,EAAA,QAAA,EAAA,kRAAA,EAAA,MAAA,EAAA,CAAA,2NAAA,CAAA,EAAA,CAAA;8BAWG,OAAO,EAAA,CAAA;sBADV,KAAK;gBAiBF,QAAQ,EAAA,CAAA;sBADX,KAAK;gBAyBF,SAAS,EAAA,CAAA;sBADZ,KAAK;;;AEnER;;AAEG;;ACFH;;AAEG;;;;"}
1
+ {"version":3,"file":"wemake4u-feel-editor.mjs","sources":["../../../projects/feel-editor/src/lib/utils/parseBuiltins.ts","../../../projects/feel-editor/src/lib/components/feel-editor.component.ts","../../../projects/feel-editor/src/lib/components/feel-editor.component.html","../../../projects/feel-editor/src/public-api.ts","../../../projects/feel-editor/src/wemake4u-feel-editor.ts"],"sourcesContent":["import { domify } from 'min-dom';\r\nimport { FeelBuiltin } from '@bpmn-io/feel-editor';\r\nimport defaultBuiltins from '../assets/builtins.json';\r\n\r\ninterface BuiltinInfo {\r\n name: string;\r\n description: string;\r\n}\r\n\r\nexport function parseBuiltins(builtins: BuiltinInfo[]): FeelBuiltin[] {\r\n return builtins.map(parseBuiltin);\r\n}\r\n\r\nexport function parseBuiltin(builtin: BuiltinInfo): FeelBuiltin {\r\n\r\n const {\r\n name,\r\n description\r\n } = builtin;\r\n\r\n const match = name.match(/^([\\w\\s]+)\\((.*)\\)$/);\r\n const functionName = match ? match[1] : \"\";\r\n const functionArguments = match ? match[2]: \"\";\r\n\r\n const params = functionArguments ? functionArguments.split(', ').map((name: string) => ({ name })) : [];\r\n\r\n return {\r\n name: functionName,\r\n type: 'function',\r\n params,\r\n info: () => {\r\n return domify(`<div class=\"description\">${description}<div>`);\r\n },\r\n boost: 0\r\n };\r\n}\r\n\r\nexport function getDefaultBuiltins(): FeelBuiltin[] {\r\n return parseBuiltins(defaultBuiltins);\r\n}\r\n","/// <reference path=\"../types/feel-editor.d.ts\" />\r\n\r\nimport { Component, Input } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport FeelEditor, { FeelDialect, FeelBuiltin, FeelVariable } from '@bpmn-io/feel-editor';\r\nimport { getDefaultBuiltins } from '../utils/parseBuiltins';\r\nimport { CodeEditorComponent, createValueAccessorProvider } from '@wemake4u/code-editor';\r\n\r\n@Component({\r\n selector: 'feel-editor',\r\n templateUrl: './feel-editor.component.html',\r\n styleUrls: ['./feel-editor.component.css'],\r\n standalone: true,\r\n imports: [CommonModule, ReactiveFormsModule],\r\n providers: [\r\n createValueAccessorProvider(FeelEditorComponent)\r\n ]\r\n})\r\nexport class FeelEditorComponent extends CodeEditorComponent {\r\n\r\n //#region dialect\r\n\r\n get dialect(): FeelDialect {\r\n return this._dialect;\r\n }\r\n\r\n @Input()\r\n set dialect(value: FeelDialect) {\r\n if (this._dialect === value)\r\n return;\r\n this._dialect = value;\r\n this.refreshEditor();\r\n }\r\n\r\n //#endregion\r\n\r\n //#region builtins\r\n\r\n get builtins(): FeelBuiltin[] | null | undefined {\r\n return this._builtins;\r\n }\r\n\r\n @Input()\r\n set builtins(value: FeelBuiltin[] | null | undefined) {\r\n if (this._builtins === value)\r\n return;\r\n this._builtins = value;\r\n this.refreshEditor();\r\n }\r\n\r\n private getBuiltins() {\r\n if (Array.isArray(this._builtins)) {\r\n return [...getDefaultBuiltins(), ...this._builtins];\r\n }\r\n\r\n return this._builtins;\r\n }\r\n\r\n //#endregion\r\n\r\n //#region variables\r\n\r\n get variables(): FeelVariable[] | null | undefined {\r\n return this._variables;\r\n }\r\n\r\n @Input()\r\n set variables(value: FeelVariable[] | null | undefined) {\r\n this._variables = value;\r\n if (this._feelEditor) {\r\n this._feelEditor.setVariables(value || []);\r\n }\r\n }\r\n\r\n //#endregion\r\n\r\n //#region Private Members\r\n\r\n private _feelEditor: FeelEditor | null | undefined;\r\n\r\n private _dialect: FeelDialect = \"expression\";\r\n\r\n private _builtins: FeelBuiltin[] | null | undefined;\r\n\r\n private _variables: FeelVariable[] | null | undefined;\r\n\r\n override createEditorView(container: any) {\r\n\r\n this._feelEditor = new FeelEditor({\r\n container: container,\r\n dialect: this.dialect,\r\n value: this.value,\r\n builtins: this.getBuiltins() ?? undefined,\r\n variables: this._variables ?? undefined,\r\n extensions: this.getExtensions()\r\n });\r\n\r\n return (this._feelEditor as any) ._cmEditor;\r\n }\r\n\r\n //#endregion\r\n}\r\n","<div #editorContainer\r\n class=\"feel-editor-container\"\r\n (blur)=\"onTouched()\"\r\n [ngClass]=\"embedded ? 'feel-editor-embedded' : 'feel-editor-standalone'\"\r\n [style.min-height]=\"minHeight\"\r\n [style.max-height]=\"maxHeight\">\r\n</div>\r\n","/*\r\n * Public API Surface of feel-editor\r\n */\r\n\r\nexport * from './lib/components/feel-editor.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@wemake4u/feel-editor",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
4
  "license": "MIT",
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^18.2.0",
7
7
  "@angular/core": "^18.2.0",
8
- "@wemake4u/code-editor": "^1.0.0"
8
+ "@wemake4u/code-editor": "^1.0.2"
9
9
  },
10
10
  "dependencies": {
11
11
  "tslib": "^2.3.0",