@acorex/components 18.10.12 → 18.10.13
Sign up to get free protection for your applications and to get access to all the features.
- package/esm2022/paint/index.mjs +1 -2
- package/esm2022/paint/lib/paint/paint-toolbar/paint-toolbar.component.mjs +3 -3
- package/esm2022/paint/lib/paint/paint-tools/paint-color-picker/paint-color-picker.component.mjs +3 -3
- package/esm2022/paint/lib/paint/paint-tools/paint-pen-mode-changer/paint-pen-mode-changer.component.mjs +3 -3
- package/esm2022/paint/lib/paint/paint-view/paint-view.component.mjs +2 -4
- package/esm2022/paint/lib/paint/paint.service.mjs +1 -2
- package/esm2022/paint/lib/paint.module.mjs +1 -5
- package/fesm2022/acorex-components-paint.mjs +9 -47
- package/fesm2022/acorex-components-paint.mjs.map +1 -1
- package/package.json +25 -25
- package/paint/index.d.ts +0 -1
- package/paint/lib/paint/paint.service.d.ts +0 -1
- package/paint/lib/paint.module.d.ts +9 -10
- package/esm2022/paint/lib/paint/paint-tools/paint-pen-cap/paint-pen-cap.component.mjs +0 -37
- package/paint/lib/paint/paint-tools/paint-pen-cap/paint-pen-cap.component.d.ts +0 -20
package/esm2022/paint/index.mjs
CHANGED
@@ -2,7 +2,6 @@ export * from './lib/paint.module';
|
|
2
2
|
export * from './lib/paint/paint-container/paint-container.component';
|
3
3
|
export * from './lib/paint/paint-toolbar/paint-toolbar.component';
|
4
4
|
export * from './lib/paint/paint-tools/paint-color-picker/paint-color-picker.component';
|
5
|
-
export * from './lib/paint/paint-tools/paint-pen-cap/paint-pen-cap.component';
|
6
5
|
export * from './lib/paint/paint-tools/paint-pen-mode-changer/paint-pen-mode-changer.component';
|
7
6
|
export * from './lib/paint/paint-view/paint-view.component';
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcGFpbnQvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMseUVBQXlFLENBQUM7QUFDeEYsY0FBYyxpRkFBaUYsQ0FBQztBQUNoRyxjQUFjLDZDQUE2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvcGFpbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BhaW50L3BhaW50LWNvbnRhaW5lci9wYWludC1jb250YWluZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BhaW50L3BhaW50LXRvb2xiYXIvcGFpbnQtdG9vbGJhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGFpbnQvcGFpbnQtdG9vbHMvcGFpbnQtY29sb3ItcGlja2VyL3BhaW50LWNvbG9yLXBpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGFpbnQvcGFpbnQtdG9vbHMvcGFpbnQtcGVuLW1vZGUtY2hhbmdlci9wYWludC1wZW4tbW9kZS1jaGFuZ2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wYWludC9wYWludC12aWV3L3BhaW50LXZpZXcuY29tcG9uZW50JztcbiJdfQ==
|
@@ -6,10 +6,10 @@ import * as i0 from "@angular/core";
|
|
6
6
|
*/
|
7
7
|
export class AXPaintToolbarComponent {
|
8
8
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPaintToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
9
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXPaintToolbarComponent, selector: "ax-paint-toolbar", ngImport: i0, template: "<
|
9
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXPaintToolbarComponent, selector: "ax-paint-toolbar", ngImport: i0, template: "<ng-content select=\"ax-prefix\"></ng-content>\n<div class=\"ax-toolbar-container\">\n <ng-content></ng-content>\n</div>\n<ng-content select=\"ax-suffix\"></ng-content>\n", styles: ["ax-paint-toolbar{padding:.3rem;width:100%;display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between}ax-paint-toolbar .ax-toolbar-container{display:flex;justify-content:flex-start;align-items:center;margin-inline:.5rem}ax-paint-toolbar .ax-icon{font-weight:900;font-size:1rem}ax-paint-toolbar ax-prefix,ax-paint-toolbar ax-suffix{margin-inline:.3rem}\n"], encapsulation: i0.ViewEncapsulation.None }); }
|
10
10
|
}
|
11
11
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPaintToolbarComponent, decorators: [{
|
12
12
|
type: Component,
|
13
|
-
args: [{ selector: 'ax-paint-toolbar', encapsulation: ViewEncapsulation.None, template: "<
|
13
|
+
args: [{ selector: 'ax-paint-toolbar', encapsulation: ViewEncapsulation.None, template: "<ng-content select=\"ax-prefix\"></ng-content>\n<div class=\"ax-toolbar-container\">\n <ng-content></ng-content>\n</div>\n<ng-content select=\"ax-suffix\"></ng-content>\n", styles: ["ax-paint-toolbar{padding:.3rem;width:100%;display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between}ax-paint-toolbar .ax-toolbar-container{display:flex;justify-content:flex-start;align-items:center;margin-inline:.5rem}ax-paint-toolbar .ax-icon{font-weight:900;font-size:1rem}ax-paint-toolbar ax-prefix,ax-paint-toolbar ax-suffix{margin-inline:.3rem}\n"] }]
|
14
14
|
}] });
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFpbnQtdG9vbGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcGFpbnQvc3JjL2xpYi9wYWludC9wYWludC10b29sYmFyL3BhaW50LXRvb2xiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3BhaW50L3NyYy9saWIvcGFpbnQvcGFpbnQtdG9vbGJhci9wYWludC10b29sYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTdEOzs7R0FHRztBQU9ILE1BQU0sT0FBTyx1QkFBdUI7OEdBQXZCLHVCQUF1QjtrR0FBdkIsdUJBQXVCLHdEQ1pwQyw2S0FLQTs7MkZET2EsdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNFLGtCQUFrQixpQkFHYixpQkFBaUIsQ0FBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqcGFpbnQgdG9vbGJhclxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtcGFpbnQtdG9vbGJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWludC10b29sYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3BhaW50LXRvb2xiYXIuY29tcG9uZW50LnNjc3MnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBhaW50VG9vbGJhckNvbXBvbmVudCB7fVxuIiwiPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtcHJlZml4XCI+PC9uZy1jb250ZW50PlxuPGRpdiBjbGFzcz1cImF4LXRvb2xiYXItY29udGFpbmVyXCI+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtc3VmZml4XCI+PC9uZy1jb250ZW50PlxuIl19
|
package/esm2022/paint/lib/paint/paint-tools/paint-color-picker/paint-color-picker.component.mjs
CHANGED
@@ -34,13 +34,13 @@ export class AXPaintColorPickerComponent {
|
|
34
34
|
return `.5rem`;
|
35
35
|
}
|
36
36
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPaintColorPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
37
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXPaintColorPickerComponent, selector: "ax-paint-color-picker", host: { properties: { "style.marginInline": "this.__hostClass" } }, ngImport: i0, template: "<ax-button #colorBtn look=\"blank\">\n
|
37
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXPaintColorPickerComponent, selector: "ax-paint-color-picker", host: { properties: { "style.marginInline": "this.__hostClass" } }, ngImport: i0, template: "<div class=\"ax-color-flex-container\">\n <div [style]=\"{ backgroundColor: selectedColor() }\" class=\"ax-submit-color\"></div>\n <ax-button #colorBtn look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-color-palette\"></ax-icon>\n </ax-button>\n</div>\n<ax-popover\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"colorBtn\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane\">\n <ax-color-palette (ngModelChange)=\"changeColorHandler($event)\" [ngModel]=\"selectedColor()\">\n <ax-color-palette-preview></ax-color-palette-preview>\n <ax-color-palette-picker></ax-color-palette-picker>\n <ax-color-palette-input></ax-color-palette-input>\n </ax-color-palette>\n </div>\n</ax-popover>\n", styles: ["ax-paint-color-picker{margin-inline:0!important}ax-paint-color-picker .ax-submit-color{border:1px solid rgb(var(--ax-color-text-default));width:.6rem;height:.6rem;border-radius:1000vmax}ax-paint-color-picker .ax-color-flex-container{display:flex;align-items:center;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "component", type: i3.AXColorPalleteComponent, selector: "ax-color-palette", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "checked"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange"] }, { kind: "component", type: i3.AXColorPalettePreviewComponent, selector: "ax-color-palette-preview" }, { kind: "component", type: i3.AXColorPaletteInputComponent, selector: "ax-color-palette-input" }, { kind: "component", type: i3.AXColorPalettePickerComponent, selector: "ax-color-palette-picker" }, { kind: "component", type: i4.AXPopoverComponent, selector: "ax-popover", inputs: ["offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type: i5.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
38
38
|
}
|
39
39
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPaintColorPickerComponent, decorators: [{
|
40
40
|
type: Component,
|
41
|
-
args: [{ selector: 'ax-paint-color-picker', encapsulation: ViewEncapsulation.None, template: "<ax-button #colorBtn look=\"blank\">\n
|
41
|
+
args: [{ selector: 'ax-paint-color-picker', encapsulation: ViewEncapsulation.None, template: "<div class=\"ax-color-flex-container\">\n <div [style]=\"{ backgroundColor: selectedColor() }\" class=\"ax-submit-color\"></div>\n <ax-button #colorBtn look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-color-palette\"></ax-icon>\n </ax-button>\n</div>\n<ax-popover\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"colorBtn\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane\">\n <ax-color-palette (ngModelChange)=\"changeColorHandler($event)\" [ngModel]=\"selectedColor()\">\n <ax-color-palette-preview></ax-color-palette-preview>\n <ax-color-palette-picker></ax-color-palette-picker>\n <ax-color-palette-input></ax-color-palette-input>\n </ax-color-palette>\n </div>\n</ax-popover>\n", styles: ["ax-paint-color-picker{margin-inline:0!important}ax-paint-color-picker .ax-submit-color{border:1px solid rgb(var(--ax-color-text-default));width:.6rem;height:.6rem;border-radius:1000vmax}ax-paint-color-picker .ax-color-flex-container{display:flex;align-items:center;cursor:pointer}\n"] }]
|
42
42
|
}], propDecorators: { __hostClass: [{
|
43
43
|
type: HostBinding,
|
44
44
|
args: ['style.marginInline']
|
45
45
|
}] } });
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFpbnQtY29sb3ItcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wYWludC9zcmMvbGliL3BhaW50L3BhaW50LXRvb2xzL3BhaW50LWNvbG9yLXBpY2tlci9wYWludC1jb2xvci1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3BhaW50L3NyYy9saWIvcGFpbnQvcGFpbnQtdG9vbHMvcGFpbnQtY29sb3ItcGlja2VyL3BhaW50LWNvbG9yLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7OztBQUVyRDs7O0dBR0c7QUFPSCxNQUFNLE9BQU8sMkJBQTJCO0lBTnhDO1FBT0UsY0FBYztRQUNKLFlBQU8sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFM0MsY0FBYztRQUNKLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFcEQsY0FBYztRQUNKLGtCQUFhLEdBTW5CO1lBQ0YsTUFBTSxFQUFFLE9BQU87WUFDZixPQUFPLEVBQUUsVUFBVTtZQUNuQixTQUFTLEVBQUUsS0FBSztZQUNoQixPQUFPLEVBQUUsQ0FBQztZQUNWLE9BQU8sRUFBRSxDQUFDO1NBQ1gsQ0FBQztLQVlIO0lBVkMsY0FBYztJQUNKLGtCQUFrQixDQUFDLENBQVM7UUFDcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUNJLFdBQVc7UUFDYixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDOzhHQS9CVSwyQkFBMkI7a0dBQTNCLDJCQUEyQixpSUNmeEMsaXhCQW9CQTs7MkZETGEsMkJBQTJCO2tCQU52QyxTQUFTOytCQUNFLHVCQUF1QixpQkFHbEIsaUJBQWlCLENBQUMsSUFBSTs4QkErQmpDLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBsYWNlbWVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHsgQVhQb3BvdmVyQ2xvc2VUcmlnZ2VyLCBBWFBvcG92ZXJPcGVuVHJpZ2dlciB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wb3BvdmVyJztcbmltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIFZpZXdFbmNhcHN1bGF0aW9uLCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQYWludFNlcnZpY2UgfSBmcm9tICcuLi8uLi9wYWludC5zZXJ2aWNlJztcblxuLyoqXG4gKiBwYWludCBjb2xvciBwaWNrZXIuXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1wYWludC1jb2xvci1waWNrZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFpbnQtY29sb3ItcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3BhaW50LWNvbG9yLXBpY2tlci5jb21wb25lbnQuc2NzcycsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEFYUGFpbnRDb2xvclBpY2tlckNvbXBvbmVudCB7XG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBzZXJ2aWNlID0gaW5qZWN0KEFYUGFpbnRTZXJ2aWNlKTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgc2VsZWN0ZWRDb2xvciA9IHNpZ25hbCgncmdiKDEyLCAxMiwgMTIpJyk7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIHBvcG92ZXJPcHRpb246IHtcbiAgICBvcGVuT246IEFYUG9wb3Zlck9wZW5UcmlnZ2VyO1xuICAgIGNsb3NlT246IEFYUG9wb3ZlckNsb3NlVHJpZ2dlcjtcbiAgICBwbGFjZW1lbnQ6IEFYUGxhY2VtZW50O1xuICAgIG9mZnNldFg6IG51bWJlcjtcbiAgICBvZmZzZXRZOiBudW1iZXI7XG4gIH0gPSB7XG4gICAgb3Blbk9uOiAnY2xpY2snLFxuICAgIGNsb3NlT246ICdjbGlja091dCcsXG4gICAgcGxhY2VtZW50OiAndG9wJyxcbiAgICBvZmZzZXRYOiAwLFxuICAgIG9mZnNldFk6IDAsXG4gIH07XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIGNoYW5nZUNvbG9ySGFuZGxlcihlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlcnZpY2UucGVuQ29sb3Iuc2V0KGUpO1xuICAgIHRoaXMuc2VsZWN0ZWRDb2xvci5zZXQoZSk7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1hcmdpbklubGluZScpXG4gIGdldCBfX2hvc3RDbGFzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBgLjVyZW1gO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYXgtY29sb3ItZmxleC1jb250YWluZXJcIj5cbiAgPGRpdiBbc3R5bGVdPVwieyBiYWNrZ3JvdW5kQ29sb3I6IHNlbGVjdGVkQ29sb3IoKSB9XCIgY2xhc3M9XCJheC1zdWJtaXQtY29sb3JcIj48L2Rpdj5cbiAgPGF4LWJ1dHRvbiAjY29sb3JCdG4gbG9vaz1cImJsYW5rXCI+XG4gICAgPGF4LWljb24gY2xhc3M9XCJheC1pY29uIGF4LWljb24tY29sb3ItcGFsZXR0ZVwiPjwvYXgtaWNvbj5cbiAgPC9heC1idXR0b24+XG48L2Rpdj5cbjxheC1wb3BvdmVyXG4gIFtvcGVuT25dPVwicG9wb3Zlck9wdGlvbi5vcGVuT25cIlxuICBbY2xvc2VPbl09XCJwb3BvdmVyT3B0aW9uLmNsb3NlT25cIlxuICBbdGFyZ2V0XT1cImNvbG9yQnRuXCJcbiAgW3BsYWNlbWVudF09XCJwb3BvdmVyT3B0aW9uLnBsYWNlbWVudFwiXG4+XG4gIDxkaXYgY2xhc3M9XCJheC1vdmVybGF5LXBhbmVcIj5cbiAgICA8YXgtY29sb3ItcGFsZXR0ZSAobmdNb2RlbENoYW5nZSk9XCJjaGFuZ2VDb2xvckhhbmRsZXIoJGV2ZW50KVwiIFtuZ01vZGVsXT1cInNlbGVjdGVkQ29sb3IoKVwiPlxuICAgICAgPGF4LWNvbG9yLXBhbGV0dGUtcHJldmlldz48L2F4LWNvbG9yLXBhbGV0dGUtcHJldmlldz5cbiAgICAgIDxheC1jb2xvci1wYWxldHRlLXBpY2tlcj48L2F4LWNvbG9yLXBhbGV0dGUtcGlja2VyPlxuICAgICAgPGF4LWNvbG9yLXBhbGV0dGUtaW5wdXQ+PC9heC1jb2xvci1wYWxldHRlLWlucHV0PlxuICAgIDwvYXgtY29sb3ItcGFsZXR0ZT5cbiAgPC9kaXY+XG48L2F4LXBvcG92ZXI+XG4iXX0=
|
@@ -43,13 +43,13 @@ export class AXPaintPenModeChangerComponent {
|
|
43
43
|
this.service.lineWidth.set(e);
|
44
44
|
}
|
45
45
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPaintPenModeChangerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
46
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
46
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPaintPenModeChangerComponent, selector: "ax-paint-pen-mode-changer", host: { properties: { "style.marginInline": "this.__hostClass" } }, ngImport: i0, template: "<ax-button look=\"blank\" #alignPop>\n @switch (service.penType()) {\n @case ('pen') {\n <ax-icon class=\"ax-icon ax-icon-pen\"></ax-icon>\n }\n @case ('highlight') {\n <ax-icon class=\"ax-icon ax-icon-highlight\"></ax-icon>\n }\n @case ('eraser') {\n <ax-icon class=\"ax-icon ax-icon-eraser\"></ax-icon>\n }\n }\n</ax-button>\n\n<ax-button (click)=\"clear()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-undo\"></ax-icon>\n</ax-button>\n\n<ax-popover\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"alignPop\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane\">\n <ax-button\n (click)=\"penTypeHandler('pen')\"\n look=\"blank\"\n [selected]=\"this.service.penType() === 'pen' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-pen\"></ax-icon>\n </ax-button>\n\n <ax-button\n (click)=\"penTypeHandler('highlight')\"\n look=\"blank\"\n [selected]=\"this.service.penType() === 'highlight' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-highlight\"></ax-icon>\n </ax-button>\n\n <ax-button\n (click)=\"penTypeHandler('eraser')\"\n look=\"blank\"\n [selected]=\"this.service.penType() === 'eraser' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-eraser\"></ax-icon>\n </ax-button>\n\n <div class=\"ax-paint-width-slider\">\n <ax-range-slider\n [min]=\"2\"\n [max]=\"20\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"valueHandler($event)\"\n ></ax-range-slider>\n </div>\n </div>\n</ax-popover>\n", styles: ["ax-paint-pen-mode-changer{display:flex;align-items:center;margin-inline:0!important}ax-paint-pen-mode-changer ax-range-slider{padding:.5rem .75rem}ax-paint-pen-mode-changer ax-range-slider .ax-range-slider .ax-range-slider-handler{width:1rem!important;height:1rem!important}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.AXRangeSliderComponent, selector: "ax-range-slider", inputs: ["disabled", "readonly", "orientation", "color", "values", "mode", "min", "max", "step", "snap", "tooltipMode", "snapMode", "hasStep", "hasSnap", "hasLable", "hasTooltip"], outputs: ["valuesChange"] }, { kind: "component", type: i3.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "component", type: i4.AXPopoverComponent, selector: "ax-popover", inputs: ["offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type: i5.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
47
47
|
}
|
48
48
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPaintPenModeChangerComponent, decorators: [{
|
49
49
|
type: Component,
|
50
|
-
args: [{ selector: 'ax-paint-pen-mode-changer', encapsulation: ViewEncapsulation.None, template: "<
|
50
|
+
args: [{ selector: 'ax-paint-pen-mode-changer', encapsulation: ViewEncapsulation.None, template: "<ax-button look=\"blank\" #alignPop>\n @switch (service.penType()) {\n @case ('pen') {\n <ax-icon class=\"ax-icon ax-icon-pen\"></ax-icon>\n }\n @case ('highlight') {\n <ax-icon class=\"ax-icon ax-icon-highlight\"></ax-icon>\n }\n @case ('eraser') {\n <ax-icon class=\"ax-icon ax-icon-eraser\"></ax-icon>\n }\n }\n</ax-button>\n\n<ax-button (click)=\"clear()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-undo\"></ax-icon>\n</ax-button>\n\n<ax-popover\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"alignPop\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane\">\n <ax-button\n (click)=\"penTypeHandler('pen')\"\n look=\"blank\"\n [selected]=\"this.service.penType() === 'pen' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-pen\"></ax-icon>\n </ax-button>\n\n <ax-button\n (click)=\"penTypeHandler('highlight')\"\n look=\"blank\"\n [selected]=\"this.service.penType() === 'highlight' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-highlight\"></ax-icon>\n </ax-button>\n\n <ax-button\n (click)=\"penTypeHandler('eraser')\"\n look=\"blank\"\n [selected]=\"this.service.penType() === 'eraser' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-eraser\"></ax-icon>\n </ax-button>\n\n <div class=\"ax-paint-width-slider\">\n <ax-range-slider\n [min]=\"2\"\n [max]=\"20\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"valueHandler($event)\"\n ></ax-range-slider>\n </div>\n </div>\n</ax-popover>\n", styles: ["ax-paint-pen-mode-changer{display:flex;align-items:center;margin-inline:0!important}ax-paint-pen-mode-changer ax-range-slider{padding:.5rem .75rem}ax-paint-pen-mode-changer ax-range-slider .ax-range-slider .ax-range-slider-handler{width:1rem!important;height:1rem!important}\n"] }]
|
51
51
|
}], propDecorators: { __hostClass: [{
|
52
52
|
type: HostBinding,
|
53
53
|
args: ['style.marginInline']
|
54
54
|
}] } });
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFpbnQtcGVuLW1vZGUtY2hhbmdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcGFpbnQvc3JjL2xpYi9wYWludC9wYWludC10b29scy9wYWludC1wZW4tbW9kZS1jaGFuZ2VyL3BhaW50LXBlbi1tb2RlLWNoYW5nZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3BhaW50L3NyYy9saWIvcGFpbnQvcGFpbnQtdG9vbHMvcGFpbnQtcGVuLW1vZGUtY2hhbmdlci9wYWludC1wZW4tbW9kZS1jaGFuZ2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7O0FBRXJEOzs7R0FHRztBQU9ILE1BQU0sT0FBTyw4QkFBOEI7SUFOM0M7UUFPRSxjQUFjO1FBQ0osWUFBTyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUUzQyxjQUFjO1FBQ0osVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUVyQixjQUFjO1FBQ0osa0JBQWEsR0FNbkI7WUFDRixNQUFNLEVBQUUsT0FBTztZQUNmLE9BQU8sRUFBRSxVQUFVO1lBQ25CLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLE9BQU8sRUFBRSxDQUFDO1lBQ1YsT0FBTyxFQUFFLENBQUM7U0FDWCxDQUFDO1FBRUYsY0FBYztRQUNKLG9CQUFlLEdBQUcsTUFBTSxDQUFpQyxLQUFLLENBQUMsQ0FBQztLQXFCM0U7SUFuQkMsY0FBYztJQUNKLGNBQWMsQ0FBQyxDQUFpQztRQUN4RCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELGNBQWM7SUFDSixLQUFLO1FBQ2IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxJQUNJLFdBQVc7UUFDYixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsY0FBYztJQUNKLFlBQVksQ0FBQyxDQUFTO1FBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoQyxDQUFDOzhHQTNDVSw4QkFBOEI7a0dBQTlCLDhCQUE4QixxSUNmM0MsNm5EQTJEQTs7MkZENUNhLDhCQUE4QjtrQkFOMUMsU0FBUzsrQkFDRSwyQkFBMkIsaUJBR3RCLGlCQUFpQixDQUFDLElBQUk7OEJBc0NqQyxXQUFXO3NCQURkLFdBQVc7dUJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQbGFjZW1lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7IEFYUG9wb3ZlckNsb3NlVHJpZ2dlciwgQVhQb3BvdmVyT3BlblRyaWdnZXIgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcG9wb3Zlcic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBpbmplY3QsIHNpZ25hbCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUGFpbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcGFpbnQuc2VydmljZSc7XG5cbi8qKlxuICogcGFpbnQgbW9kZS5cbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LXBhaW50LXBlbi1tb2RlLWNoYW5nZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFpbnQtcGVuLW1vZGUtY2hhbmdlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9wYWludC1wZW4tbW9kZS1jaGFuZ2VyLmNvbXBvbmVudC5zY3NzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQYWludFBlbk1vZGVDaGFuZ2VyQ29tcG9uZW50IHtcbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIHNlcnZpY2UgPSBpbmplY3QoQVhQYWludFNlcnZpY2UpO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCB2YWx1ZSA9IDEwO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBwb3BvdmVyT3B0aW9uOiB7XG4gICAgb3Blbk9uOiBBWFBvcG92ZXJPcGVuVHJpZ2dlcjtcbiAgICBjbG9zZU9uOiBBWFBvcG92ZXJDbG9zZVRyaWdnZXI7XG4gICAgcGxhY2VtZW50OiBBWFBsYWNlbWVudDtcbiAgICBvZmZzZXRYOiBudW1iZXI7XG4gICAgb2Zmc2V0WTogbnVtYmVyO1xuICB9ID0ge1xuICAgIG9wZW5PbjogJ2NsaWNrJyxcbiAgICBjbG9zZU9uOiAnY2xpY2tPdXQnLFxuICAgIHBsYWNlbWVudDogJ3RvcCcsXG4gICAgb2Zmc2V0WDogMCxcbiAgICBvZmZzZXRZOiAwLFxuICB9O1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBzZWxlY3RlZFBlblR5cGUgPSBzaWduYWw8J3BlbicgfCAnaGlnaGxpZ2h0JyB8ICdlcmFzZXInPigncGVuJyk7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIHBlblR5cGVIYW5kbGVyKGU6ICdwZW4nIHwgJ2hpZ2hsaWdodCcgfCAnZXJhc2VyJykge1xuICAgIHRoaXMuc2VydmljZS5wZW5UeXBlLnNldChlKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBjbGVhcigpIHtcbiAgICB0aGlzLnNlcnZpY2UudG9nZ2xlQ2xlYXIudXBkYXRlKChwcmV2KSA9PiAhcHJldik7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1hcmdpbklubGluZScpXG4gIGdldCBfX2hvc3RDbGFzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBgLjVyZW1gO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIHZhbHVlSGFuZGxlcihlOiBudW1iZXIpIHtcbiAgICB0aGlzLnNlcnZpY2UubGluZVdpZHRoLnNldChlKTtcbiAgfVxufVxuIiwiPGF4LWJ1dHRvbiBsb29rPVwiYmxhbmtcIiAjYWxpZ25Qb3A+XG4gIEBzd2l0Y2ggKHNlcnZpY2UucGVuVHlwZSgpKSB7XG4gICAgQGNhc2UgKCdwZW4nKSB7XG4gICAgICA8YXgtaWNvbiBjbGFzcz1cImF4LWljb24gYXgtaWNvbi1wZW5cIj48L2F4LWljb24+XG4gICAgfVxuICAgIEBjYXNlICgnaGlnaGxpZ2h0Jykge1xuICAgICAgPGF4LWljb24gY2xhc3M9XCJheC1pY29uIGF4LWljb24taGlnaGxpZ2h0XCI+PC9heC1pY29uPlxuICAgIH1cbiAgICBAY2FzZSAoJ2VyYXNlcicpIHtcbiAgICAgIDxheC1pY29uIGNsYXNzPVwiYXgtaWNvbiBheC1pY29uLWVyYXNlclwiPjwvYXgtaWNvbj5cbiAgICB9XG4gIH1cbjwvYXgtYnV0dG9uPlxuXG48YXgtYnV0dG9uIChjbGljayk9XCJjbGVhcigpXCIgbG9vaz1cImJsYW5rXCI+XG4gIDxheC1pY29uIGNsYXNzPVwiYXgtaWNvbiBheC1pY29uLXVuZG9cIj48L2F4LWljb24+XG48L2F4LWJ1dHRvbj5cblxuPGF4LXBvcG92ZXJcbiAgW29wZW5Pbl09XCJwb3BvdmVyT3B0aW9uLm9wZW5PblwiXG4gIFtjbG9zZU9uXT1cInBvcG92ZXJPcHRpb24uY2xvc2VPblwiXG4gIFt0YXJnZXRdPVwiYWxpZ25Qb3BcIlxuICBbcGxhY2VtZW50XT1cInBvcG92ZXJPcHRpb24ucGxhY2VtZW50XCJcbj5cbiAgPGRpdiBjbGFzcz1cImF4LW92ZXJsYXktcGFuZVwiPlxuICAgIDxheC1idXR0b25cbiAgICAgIChjbGljayk9XCJwZW5UeXBlSGFuZGxlcigncGVuJylcIlxuICAgICAgbG9vaz1cImJsYW5rXCJcbiAgICAgIFtzZWxlY3RlZF09XCJ0aGlzLnNlcnZpY2UucGVuVHlwZSgpID09PSAncGVuJyA/IHRydWUgOiBmYWxzZVwiXG4gICAgPlxuICAgICAgPGF4LWljb24gY2xhc3M9XCJheC1pY29uIGF4LWljb24tcGVuXCI+PC9heC1pY29uPlxuICAgIDwvYXgtYnV0dG9uPlxuXG4gICAgPGF4LWJ1dHRvblxuICAgICAgKGNsaWNrKT1cInBlblR5cGVIYW5kbGVyKCdoaWdobGlnaHQnKVwiXG4gICAgICBsb29rPVwiYmxhbmtcIlxuICAgICAgW3NlbGVjdGVkXT1cInRoaXMuc2VydmljZS5wZW5UeXBlKCkgPT09ICdoaWdobGlnaHQnID8gdHJ1ZSA6IGZhbHNlXCJcbiAgICA+XG4gICAgICA8YXgtaWNvbiBjbGFzcz1cImF4LWljb24gYXgtaWNvbi1oaWdobGlnaHRcIj48L2F4LWljb24+XG4gICAgPC9heC1idXR0b24+XG5cbiAgICA8YXgtYnV0dG9uXG4gICAgICAoY2xpY2spPVwicGVuVHlwZUhhbmRsZXIoJ2VyYXNlcicpXCJcbiAgICAgIGxvb2s9XCJibGFua1wiXG4gICAgICBbc2VsZWN0ZWRdPVwidGhpcy5zZXJ2aWNlLnBlblR5cGUoKSA9PT0gJ2VyYXNlcicgPyB0cnVlIDogZmFsc2VcIlxuICAgID5cbiAgICAgIDxheC1pY29uIGNsYXNzPVwiYXgtaWNvbiBheC1pY29uLWVyYXNlclwiPjwvYXgtaWNvbj5cbiAgICA8L2F4LWJ1dHRvbj5cblxuICAgIDxkaXYgY2xhc3M9XCJheC1wYWludC13aWR0aC1zbGlkZXJcIj5cbiAgICAgIDxheC1yYW5nZS1zbGlkZXJcbiAgICAgICAgW21pbl09XCIyXCJcbiAgICAgICAgW21heF09XCIyMFwiXG4gICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ2YWx1ZUhhbmRsZXIoJGV2ZW50KVwiXG4gICAgICA+PC9heC1yYW5nZS1zbGlkZXI+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9heC1wb3BvdmVyPlxuIl19
|
@@ -31,7 +31,7 @@ export class AXPaintViewComponent {
|
|
31
31
|
this.ctx().canvas.width = this.getBoundingCanvasHandler().width;
|
32
32
|
this.ctx().canvas.height = this.getBoundingCanvasHandler().height;
|
33
33
|
this.ctx().lineJoin = 'round';
|
34
|
-
this.ctx().lineCap =
|
34
|
+
this.ctx().lineCap = 'round';
|
35
35
|
this.ctx().strokeStyle = this.service.penColor();
|
36
36
|
this.ctx().lineWidth = this.service.lineWidth();
|
37
37
|
});
|
@@ -78,7 +78,6 @@ export class AXPaintViewComponent {
|
|
78
78
|
this.isUserInteract.set(true);
|
79
79
|
this.penConfigHandler(this.service.penType());
|
80
80
|
this.ctx().strokeStyle = this.service.penColor();
|
81
|
-
this.ctx().lineCap = this.service.lineCap();
|
82
81
|
this.ctx().lineWidth = this.service.lineWidth();
|
83
82
|
this.ctx().beginPath();
|
84
83
|
this.ctx().moveTo(e.offsetX, e.offsetY);
|
@@ -105,7 +104,6 @@ export class AXPaintViewComponent {
|
|
105
104
|
this.isUserInteract.set(true);
|
106
105
|
this.penConfigHandler(this.service.penType());
|
107
106
|
this.ctx().strokeStyle = this.service.penColor();
|
108
|
-
this.ctx().lineCap = this.service.lineCap();
|
109
107
|
this.ctx().lineWidth = this.service.lineWidth();
|
110
108
|
this.ctx().beginPath();
|
111
109
|
this.ctx().moveTo(offsetX, offsetY);
|
@@ -152,4 +150,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
152
150
|
type: HostBinding,
|
153
151
|
args: ['class']
|
154
152
|
}] } });
|
155
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFpbnQtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcGFpbnQvc3JjL2xpYi9wYWludC9wYWludC12aWV3L3BhaW50LXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3BhaW50L3NyYy9saWIvcGFpbnQvcGFpbnQtdmlldy9wYWludC12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxlQUFlLEVBQ2YsU0FBUyxFQUNULE1BQU0sRUFFTixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN6RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBRWxEOzs7R0FHRztBQU9ILE1BQU0sT0FBTyxvQkFBb0I7SUF5Qi9CLGNBQWM7SUFDZDtRQXpCQSxjQUFjO1FBQ2QsV0FBTSxHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBRTNDLGNBQWM7UUFDSixZQUFPLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRTNDOzs7V0FHRztRQUNILGdCQUFXLEdBQUcsS0FBSyxDQUFTLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBRXBELGNBQWM7UUFDSixlQUFVLEdBQUcsU0FBUyxDQUFnQyxHQUFHLENBQUMsQ0FBQztRQUVyRSxjQUFjO1FBQ0osUUFBRyxHQUFHLE1BQU0sQ0FBMkIsSUFBSSxDQUFDLENBQUM7UUFFdkQsY0FBYztRQUNKLGVBQVUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7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LElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNqRSxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7SUFFRCxJQUNJLFdBQVc7UUFDYixPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7SUFDakMsQ0FBQzs4R0EzS1Usb0JBQW9CO2tHQUFwQixvQkFBb0IsNldDMUJqQyx3VUFZQTs7MkZEY2Esb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNFLGVBQWUsaUJBR1YsaUJBQWlCLENBQUMsSUFBSTt3REEyS2pDLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYWZ0ZXJOZXh0UmVuZGVyLFxuICBDb21wb25lbnQsXG4gIGVmZmVjdCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgc2lnbmFsLFxuICB2aWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUGFpbnRDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuLi9wYWludC1jb250YWluZXIvcGFpbnQtY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWFBhaW50U2VydmljZSB9IGZyb20gJy4uL3BhaW50LnNlcnZpY2UnO1xuXG4vKipcbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXG4gKiBwYWludCB2aWV3XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LXBhaW50LXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFpbnQtdmlldy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9wYWludC12aWV3LmNvbXBvbmVudC5zY3NzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQYWludFZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAvKiogQGlnbm9yZSAqL1xuICBwYXJlbnQgPSBpbmplY3QoQVhQYWludENvbnRhaW5lckNvbXBvbmVudCk7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIHNlcnZpY2UgPSBpbmplY3QoQVhQYWludFNlcnZpY2UpO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIGNsYXNzIHRoYXQgcGFzcyB0byBjb21wb25lbnQuXG4gICAqXG4gICAqL1xuICBjdXN0b21DbGFzcyA9IGlucHV0PHN0cmluZz4oJycsIHsgYWxpYXM6ICdjbGFzcycgfSk7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIGNhbnZhc0VsZW0gPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZjxIVE1MQ2FudmFzRWxlbWVudD4+KCdjJyk7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIGN0eCA9IHNpZ25hbDxDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ+KG51bGwpO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBpc1BhaW50aW5nID0gc2lnbmFsKGZhbHNlKTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgaXNVc2VySW50ZXJhY3QgPSBzaWduYWwoZmFsc2UpO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG4gICAgICB0aGlzLmN0eC5zZXQodGhpcy5jYW52YXNFbGVtKCkubmF0aXZlRWxlbWVudC5nZXRDb250ZXh0KCcyZCcpKTtcbiAgICAgIHRoaXMuY3R4KCkuY2FudmFzLndpZHRoID0gdGhpcy5nZXRCb3VuZGluZ0NhbnZhc0hhbmRsZXIoKS53aWR0aDtcbiAgICAgIHRoaXMuY3R4KCkuY2FudmFzLmhlaWdodCA9IHRoaXMuZ2V0Qm91bmRpbmdDYW52YXNIYW5kbGVyKCkuaGVpZ2h0O1xuICAgICAgdGhpcy5jdHgoKS5saW5lSm9pbiA9ICdyb3VuZCc7XG4gICAgICB0aGlzLmN0eCgpLmxpbmVDYXAgPSB0aGlzLnNlcnZpY2UubGluZUNhcCgpO1xuICAgICAgdGhpcy5jdHgoKS5zdHJva2VTdHlsZSA9IHRoaXMuc2VydmljZS5wZW5Db2xvcigpO1xuICAgICAgdGhpcy5jdHgoKS5saW5lV2lkdGggPSB0aGlzLnNlcnZpY2UubGluZVdpZHRoKCk7XG4gICAgfSk7XG5cbiAgICBlZmZlY3QoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNVc2VySW50ZXJhY3Quc2V0KGZhbHNlKTtcbiAgICAgICAgdGhpcy5zZXJ2aWNlLnRvZ2dsZUNsZWFyKCk7XG4gICAgICAgIHRoaXMuY3R4KCk/LmNsZWFyUmVjdChcbiAgICAgICAgICAwLFxuICAgICAgICAgIDAsXG4gICAgICAgICAgdGhpcy5nZXRCb3VuZGluZ0NhbnZhc0hhbmRsZXIoKT8ud2lkdGgsXG4gICAgICAgICAgdGhpcy5nZXRCb3VuZGluZ0NhbnZhc0hhbmRsZXIoKT8uaGVpZ2h0LFxuICAgICAgICApO1xuICAgICAgfSxcbiAgICAgIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSxcbiAgICApO1xuXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMucmVzaXplRXZlbnRIYW5kbGVyLmJpbmQodGhpcykpO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgcmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5yZXNpemVFdmVudEhhbmRsZXIpO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIHJlc2l6ZUV2ZW50SGFuZGxlcigpIHtcbiAgICB0aGlzLmN0eCgpLmNhbnZhcy53aWR0aCA9IHRoaXMuZ2V0Qm91bmRpbmdDYW52YXNIYW5kbGVyKCk/LndpZHRoO1xuICAgIHRoaXMuY3R4KCkuY2FudmFzLmhlaWdodCA9IHRoaXMuZ2V0Qm91bmRpbmdDYW52YXNIYW5kbGVyKCk/LmhlaWdodDtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBwZW5Db25maWdIYW5kbGVyKHBlblR5cGU6ICdlcmFzZXInIHwgJ3BlbicgfCAnaGlnaGxpZ2h0Jykge1xuICAgIHN3aXRjaCAocGVuVHlwZSkge1xuICAgICAgY2FzZSAncGVuJzpcbiAgICAgICAgdGhpcy5jdHgoKS5nbG9iYWxBbHBoYSA9IDE7XG4gICAgICAgIHRoaXMuY3R4KCkuZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1vdmVyJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdlcmFzZXInOlxuICAgICAgICB0aGlzLmN0eCgpLmdsb2JhbEFscGhhID0gMTtcbiAgICAgICAgdGhpcy5jdHgoKS5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24tb3V0JztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdoaWdobGlnaHQnOlxuICAgICAgICB0aGlzLmN0eCgpLmdsb2JhbEFscGhhID0gMC4wMDg7XG4gICAgICAgIHRoaXMuY3R4KCkuZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1vdmVyJztcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIGdldEJvdW5kaW5nQ2FudmFzSGFuZGxlcigpIHtcbiAgICByZXR1cm4gdGhpcy5jYW52YXNFbGVtKCkubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBtb3VzZURvd25IYW5kbGVyKGU6IE1vdXNlRXZlbnQpIHtcbiAgICB0aGlzLmlzUGFpbnRpbmcuc2V0KHRydWUpO1xuICAgIHRoaXMuaXNVc2VySW50ZXJhY3Quc2V0KHRydWUpO1xuXG4gICAgdGhpcy5wZW5Db25maWdIYW5kbGVyKHRoaXMuc2VydmljZS5wZW5UeXBlKCkpO1xuXG4gICAgdGhpcy5jdHgoKS5zdHJva2VTdHlsZSA9IHRoaXMuc2VydmljZS5wZW5Db2xvcigpO1xuICAgIHRoaXMuY3R4KCkubGluZUNhcCA9IHRoaXMuc2VydmljZS5saW5lQ2FwKCk7XG4gICAgdGhpcy5jdHgoKS5saW5lV2lkdGggPSB0aGlzLnNlcnZpY2UubGluZVdpZHRoKCk7XG5cbiAgICB0aGlzLmN0eCgpLmJlZ2luUGF0aCgpO1xuICAgIHRoaXMuY3R4KCkubW92ZVRvKGUub2Zmc2V0WCwgZS5vZmZzZXRZKTtcbiAgICB0aGlzLmN0eCgpLmxpbmVUbyhlLm9mZnNldFgsIGUub2Zmc2V0WSk7XG4gICAgdGhpcy5jdHgoKS5zdHJva2UoKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBtb3VzZU1vdmVIYW5kbGVyKGU6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAodGhpcy5pc1BhaW50aW5nKCkpIHtcbiAgICAgIHRoaXMuY3R4KCkubGluZVRvKGUub2Zmc2V0WCwgZS5vZmZzZXRZKTtcbiAgICAgIHRoaXMuY3R4KCkuc3Ryb2tlKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIG1vdXNlVXBIYW5kbGVyKCkge1xuICAgIHRoaXMuY3R4KCkuY2xvc2VQYXRoKCk7XG4gICAgdGhpcy5pc1BhaW50aW5nLnNldChmYWxzZSk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgdG91Y2hTdGFydEhhbmRsZXIoZTogVG91Y2hFdmVudCkge1xuICAgIGNvbnN0IG9mZnNldFggPSBlLnRvdWNoZXNbMF0uY2xpZW50WCAtIHRoaXMuZ2V0Qm91bmRpbmdDYW52YXNIYW5kbGVyKCkubGVmdDtcbiAgICBjb25zdCBvZmZzZXRZID0gZS50b3VjaGVzWzBdLmNsaWVudFkgLSB0aGlzLmdldEJvdW5kaW5nQ2FudmFzSGFuZGxlcigpLnRvcDtcblxuICAgIHRoaXMuaXNQYWludGluZy5zZXQodHJ1ZSk7XG4gICAgdGhpcy5pc1VzZXJJbnRlcmFjdC5zZXQodHJ1ZSk7XG5cbiAgICB0aGlzLnBlbkNvbmZpZ0hhbmRsZXIodGhpcy5zZXJ2aWNlLnBlblR5cGUoKSk7XG5cbiAgICB0aGlzLmN0eCgpLnN0cm9rZVN0eWxlID0gdGhpcy5zZXJ2aWNlLnBlbkNvbG9yKCk7XG4gICAgdGhpcy5jdHgoKS5saW5lQ2FwID0gdGhpcy5zZXJ2aWNlLmxpbmVDYXAoKTtcbiAgICB0aGlzLmN0eCgpLmxpbmVXaWR0aCA9IHRoaXMuc2VydmljZS5saW5lV2lkdGgoKTtcblxuICAgIHRoaXMuY3R4KCkuYmVnaW5QYXRoKCk7XG4gICAgdGhpcy5jdHgoKS5tb3ZlVG8ob2Zmc2V0WCwgb2Zmc2V0WSk7XG4gICAgdGhpcy5jdHgoKS5saW5lVG8ob2Zmc2V0WCwgb2Zmc2V0WSk7XG4gICAgdGhpcy5jdHgoKS5zdHJva2UoKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCB0b3VjaE1vdmVIYW5kbGVyKGU6IFRvdWNoRXZlbnQpIHtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7IC8vIHByZXZlbnQgcGFnZSBmcm9tIHNjcm9sbFxuICAgIGlmICh0aGlzLmlzUGFpbnRpbmcoKSkge1xuICAgICAgY29uc3Qgb2Zmc2V0WCA9IGUudG91Y2hlc1swXS5jbGllbnRYIC0gdGhpcy5nZXRCb3VuZGluZ0NhbnZhc0hhbmRsZXIoKS5sZWZ0O1xuICAgICAgY29uc3Qgb2Zmc2V0WSA9IGUudG91Y2hlc1swXS5jbGllbnRZIC0gdGhpcy5nZXRCb3VuZGluZ0NhbnZhc0hhbmRsZXIoKS50b3A7XG4gICAgICB0aGlzLmN0eCgpLmxpbmVUbyhvZmZzZXRYLCBvZmZzZXRZKTtcbiAgICAgIHRoaXMuY3R4KCkuc3Ryb2tlKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIHRvdWNoRW5kSGFuZGxlcigpIHtcbiAgICB0aGlzLmN0eCgpLmNsb3NlUGF0aCgpO1xuICAgIHRoaXMuaXNQYWludGluZy5zZXQoZmFsc2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBlIC0gb3V0cHV0IGZpbGUgdHlwZVxuICAgKi9cbiAgZ2V0T3V0UHV0KGU6ICdpbWFnZS93ZWJwJyB8ICdpbWFnZS9wbmcnIHwgJ2ltYWdlL2pwZWcnKSB7XG4gICAgY29uc3QgYmFzZTY0ID0gdGhpcy5jYW52YXNFbGVtKCkubmF0aXZlRWxlbWVudC50b0RhdGFVUkwoZSwgMC4xKTtcbiAgICBpZiAodGhpcy5pc1VzZXJJbnRlcmFjdCgpKSB7XG4gICAgICB0aGlzLnBhcmVudC5jb21taXRWYWx1ZShiYXNlNjQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnBhcmVudC5jb21taXRWYWx1ZShudWxsKTtcbiAgICB9XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IF9faG9zdENsYXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuY3VzdG9tQ2xhc3MoKX1gO1xuICB9XG59XG4iLCI8Y2FudmFzXG4gICNjXG4gIHRhYmluZGV4PVwiMVwiXG4gIChtb3VzZWRvd24pPVwibW91c2VEb3duSGFuZGxlcigkZXZlbnQpXCJcbiAgKG1vdXNldXApPVwibW91c2VVcEhhbmRsZXIoKVwiXG4gIChtb3VzZW1vdmUpPVwibW91c2VNb3ZlSGFuZGxlcigkZXZlbnQpXCJcbiAgKHRvdWNoc3RhcnQpPVwidG91Y2hTdGFydEhhbmRsZXIoJGV2ZW50KVwiXG4gICh0b3VjaGVuZCk9XCJ0b3VjaEVuZEhhbmRsZXIoKVwiXG4gICh0b3VjaG1vdmUpPVwidG91Y2hNb3ZlSGFuZGxlcigkZXZlbnQpXCJcbiAgY2xhc3M9XCJheC1jYW52YXMtZWxlbWVudFwiXG4+XG48L2NhbnZhcz5cbiJdfQ==
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFpbnQtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcGFpbnQvc3JjL2xpYi9wYWludC9wYWludC12aWV3L3BhaW50LXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3BhaW50L3NyYy9saWIvcGFpbnQvcGFpbnQtdmlldy9wYWludC12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxlQUFlLEVBQ2YsU0FBUyxFQUNULE1BQU0sRUFFTixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN6RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBRWxEOzs7R0FHRztBQU9ILE1BQU0sT0FBTyxvQkFBb0I7SUF5Qi9CLGNBQWM7SUFDZDtRQXpCQSxjQUFjO1FBQ2QsV0FBTSxHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBRTNDLGNBQWM7UUFDSixZQUFPLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRTNDOzs7V0FHRztRQUNILGdCQUFXLEdBQUcsS0FBSyxDQUFTLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBRXBELGNBQWM7UUFDSixlQUFVLEdBQUcsU0FBUyxDQUFnQyxHQUFHLENBQUMsQ0FBQztRQUVyRSxjQUFjO1FBQ0osUUFBRyxHQUFHLE1BQU0sQ0FBMkIsSUFBSSxDQUFDLENBQUM7UUFFdkQsY0FBYztRQUNKLGVBQVUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFckMsY0FBYztRQUNKLG1CQUFjLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBSXZDLGVBQWUsQ0FBQyxHQUFHLEVBQUU7WUFDbkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUMvRCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDaEUsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ2xFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1lBQzlCLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1lBQzdCLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNqRCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDbEQsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLENBQ0osR0FBRyxFQUFFO1lBQ0gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsU0FBUyxDQUNuQixDQUFDLEVBQ0QsQ0FBQyxFQUNELElBQUksQ0FBQyx3QkFBd0IsRUFBRSxFQUFFLEtBQUssRUFDdEMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLEVBQUUsTUFBTSxDQUN4QyxDQUFDO1FBQ0osQ0FBQyxFQUNELEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLENBQzVCLENBQUM7UUFFRixNQUFNLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsY0FBYztJQUNkLFdBQVc7UUFDVCxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELGNBQWM7SUFDSixrQkFBa0I7UUFDMUIsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixFQUFFLEVBQUUsS0FBSyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxFQUFFLE1BQU0sQ0FBQztJQUNyRSxDQUFDO0lBRUQsY0FBYztJQUNKLGdCQUFnQixDQUFDLE9BQXVDO1FBQ2hFLFFBQVEsT0FBTyxFQUFFLENBQUM7WUFDaEIsS0FBSyxLQUFLO2dCQUNSLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO2dCQUMzQixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLEdBQUcsYUFBYSxDQUFDO2dCQUNwRCxNQUFNO1lBQ1IsS0FBSyxRQUFRO2dCQUNYLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO2dCQUMzQixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLEdBQUcsaUJBQWlCLENBQUM7Z0JBQ3hELE1BQU07WUFDUixLQUFLLFdBQVc7Z0JBQ2QsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBd0IsR0FBRyxhQUFhLENBQUM7Z0JBQ3BELE1BQU07UUFDVixDQUFDO0lBQ0gsQ0FBQztJQUVELGNBQWM7SUFDSix3QkFBd0I7UUFDaEMsT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDakUsQ0FBQztJQUVELGNBQWM7SUFDSixnQkFBZ0IsQ0FBQyxDQUFhO1FBQ3RDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTlCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFFOUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pELElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUVoRCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsY0FBYztJQUNKLGdCQUFnQixDQUFDLENBQWE7UUFDdEMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN0QixDQUFDO0lBQ0gsQ0FBQztJQUVELGNBQWM7SUFDSixjQUFjO1FBQ3RCLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsY0FBYztJQUNKLGlCQUFpQixDQUFDLENBQWE7UUFDdkMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUMsSUFBSSxDQUFDO1FBQzVFLE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDLEdBQUcsQ0FBQztRQUUzRSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU5QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBRTlDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqRCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7UUFFaEQsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsY0FBYztJQUNKLGdCQUFnQixDQUFDLENBQWE7UUFDdEMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsMkJBQTJCO1FBQy9DLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7WUFDdEIsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUMsSUFBSSxDQUFDO1lBQzVFLE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDLEdBQUcsQ0FBQztZQUMzRSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNwQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdEIsQ0FBQztJQUNILENBQUM7SUFFRCxjQUFjO0lBQ0osZUFBZTtRQUN2QixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsU0FBUyxDQUFDLENBQTRDO1FBQ3BELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNqRSxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7SUFFRCxJQUNJLFdBQVc7UUFDYixPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7SUFDakMsQ0FBQzs4R0F6S1Usb0JBQW9CO2tHQUFwQixvQkFBb0IsNldDMUJqQyx3VUFZQTs7MkZEY2Esb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNFLGVBQWUsaUJBR1YsaUJBQWlCLENBQUMsSUFBSTt3REF5S2pDLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYWZ0ZXJOZXh0UmVuZGVyLFxuICBDb21wb25lbnQsXG4gIGVmZmVjdCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgc2lnbmFsLFxuICB2aWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUGFpbnRDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuLi9wYWludC1jb250YWluZXIvcGFpbnQtY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWFBhaW50U2VydmljZSB9IGZyb20gJy4uL3BhaW50LnNlcnZpY2UnO1xuXG4vKipcbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXG4gKiBwYWludCB2aWV3XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LXBhaW50LXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFpbnQtdmlldy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9wYWludC12aWV3LmNvbXBvbmVudC5zY3NzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQYWludFZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAvKiogQGlnbm9yZSAqL1xuICBwYXJlbnQgPSBpbmplY3QoQVhQYWludENvbnRhaW5lckNvbXBvbmVudCk7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIHNlcnZpY2UgPSBpbmplY3QoQVhQYWludFNlcnZpY2UpO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIGNsYXNzIHRoYXQgcGFzcyB0byBjb21wb25lbnQuXG4gICAqXG4gICAqL1xuICBjdXN0b21DbGFzcyA9IGlucHV0PHN0cmluZz4oJycsIHsgYWxpYXM6ICdjbGFzcycgfSk7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIGNhbnZhc0VsZW0gPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZjxIVE1MQ2FudmFzRWxlbWVudD4+KCdjJyk7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIGN0eCA9IHNpZ25hbDxDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ+KG51bGwpO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBpc1BhaW50aW5nID0gc2lnbmFsKGZhbHNlKTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgaXNVc2VySW50ZXJhY3QgPSBzaWduYWwoZmFsc2UpO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG4gICAgICB0aGlzLmN0eC5zZXQodGhpcy5jYW52YXNFbGVtKCkubmF0aXZlRWxlbWVudC5nZXRDb250ZXh0KCcyZCcpKTtcbiAgICAgIHRoaXMuY3R4KCkuY2FudmFzLndpZHRoID0gdGhpcy5nZXRCb3VuZGluZ0NhbnZhc0hhbmRsZXIoKS53aWR0aDtcbiAgICAgIHRoaXMuY3R4KCkuY2FudmFzLmhlaWdodCA9IHRoaXMuZ2V0Qm91bmRpbmdDYW52YXNIYW5kbGVyKCkuaGVpZ2h0O1xuICAgICAgdGhpcy5jdHgoKS5saW5lSm9pbiA9ICdyb3VuZCc7XG4gICAgICB0aGlzLmN0eCgpLmxpbmVDYXAgPSAncm91bmQnO1xuICAgICAgdGhpcy5jdHgoKS5zdHJva2VTdHlsZSA9IHRoaXMuc2VydmljZS5wZW5Db2xvcigpO1xuICAgICAgdGhpcy5jdHgoKS5saW5lV2lkdGggPSB0aGlzLnNlcnZpY2UubGluZVdpZHRoKCk7XG4gICAgfSk7XG5cbiAgICBlZmZlY3QoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNVc2VySW50ZXJhY3Quc2V0KGZhbHNlKTtcbiAgICAgICAgdGhpcy5zZXJ2aWNlLnRvZ2dsZUNsZWFyKCk7XG4gICAgICAgIHRoaXMuY3R4KCk/LmNsZWFyUmVjdChcbiAgICAgICAgICAwLFxuICAgICAgICAgIDAsXG4gICAgICAgICAgdGhpcy5nZXRCb3VuZGluZ0NhbnZhc0hhbmRsZXIoKT8ud2lkdGgsXG4gICAgICAgICAgdGhpcy5nZXRCb3VuZGluZ0NhbnZhc0hhbmRsZXIoKT8uaGVpZ2h0LFxuICAgICAgICApO1xuICAgICAgfSxcbiAgICAgIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSxcbiAgICApO1xuXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMucmVzaXplRXZlbnRIYW5kbGVyLmJpbmQodGhpcykpO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgcmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5yZXNpemVFdmVudEhhbmRsZXIpO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIHJlc2l6ZUV2ZW50SGFuZGxlcigpIHtcbiAgICB0aGlzLmN0eCgpLmNhbnZhcy53aWR0aCA9IHRoaXMuZ2V0Qm91bmRpbmdDYW52YXNIYW5kbGVyKCk/LndpZHRoO1xuICAgIHRoaXMuY3R4KCkuY2FudmFzLmhlaWdodCA9IHRoaXMuZ2V0Qm91bmRpbmdDYW52YXNIYW5kbGVyKCk/LmhlaWdodDtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBwZW5Db25maWdIYW5kbGVyKHBlblR5cGU6ICdlcmFzZXInIHwgJ3BlbicgfCAnaGlnaGxpZ2h0Jykge1xuICAgIHN3aXRjaCAocGVuVHlwZSkge1xuICAgICAgY2FzZSAncGVuJzpcbiAgICAgICAgdGhpcy5jdHgoKS5nbG9iYWxBbHBoYSA9IDE7XG4gICAgICAgIHRoaXMuY3R4KCkuZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1vdmVyJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdlcmFzZXInOlxuICAgICAgICB0aGlzLmN0eCgpLmdsb2JhbEFscGhhID0gMTtcbiAgICAgICAgdGhpcy5jdHgoKS5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24tb3V0JztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdoaWdobGlnaHQnOlxuICAgICAgICB0aGlzLmN0eCgpLmdsb2JhbEFscGhhID0gMC4wMDg7XG4gICAgICAgIHRoaXMuY3R4KCkuZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1vdmVyJztcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIGdldEJvdW5kaW5nQ2FudmFzSGFuZGxlcigpIHtcbiAgICByZXR1cm4gdGhpcy5jYW52YXNFbGVtKCkubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBtb3VzZURvd25IYW5kbGVyKGU6IE1vdXNlRXZlbnQpIHtcbiAgICB0aGlzLmlzUGFpbnRpbmcuc2V0KHRydWUpO1xuICAgIHRoaXMuaXNVc2VySW50ZXJhY3Quc2V0KHRydWUpO1xuXG4gICAgdGhpcy5wZW5Db25maWdIYW5kbGVyKHRoaXMuc2VydmljZS5wZW5UeXBlKCkpO1xuXG4gICAgdGhpcy5jdHgoKS5zdHJva2VTdHlsZSA9IHRoaXMuc2VydmljZS5wZW5Db2xvcigpO1xuICAgIHRoaXMuY3R4KCkubGluZVdpZHRoID0gdGhpcy5zZXJ2aWNlLmxpbmVXaWR0aCgpO1xuXG4gICAgdGhpcy5jdHgoKS5iZWdpblBhdGgoKTtcbiAgICB0aGlzLmN0eCgpLm1vdmVUbyhlLm9mZnNldFgsIGUub2Zmc2V0WSk7XG4gICAgdGhpcy5jdHgoKS5saW5lVG8oZS5vZmZzZXRYLCBlLm9mZnNldFkpO1xuICAgIHRoaXMuY3R4KCkuc3Ryb2tlKCk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgbW91c2VNb3ZlSGFuZGxlcihlOiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKHRoaXMuaXNQYWludGluZygpKSB7XG4gICAgICB0aGlzLmN0eCgpLmxpbmVUbyhlLm9mZnNldFgsIGUub2Zmc2V0WSk7XG4gICAgICB0aGlzLmN0eCgpLnN0cm9rZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBtb3VzZVVwSGFuZGxlcigpIHtcbiAgICB0aGlzLmN0eCgpLmNsb3NlUGF0aCgpO1xuICAgIHRoaXMuaXNQYWludGluZy5zZXQoZmFsc2UpO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIHRvdWNoU3RhcnRIYW5kbGVyKGU6IFRvdWNoRXZlbnQpIHtcbiAgICBjb25zdCBvZmZzZXRYID0gZS50b3VjaGVzWzBdLmNsaWVudFggLSB0aGlzLmdldEJvdW5kaW5nQ2FudmFzSGFuZGxlcigpLmxlZnQ7XG4gICAgY29uc3Qgb2Zmc2V0WSA9IGUudG91Y2hlc1swXS5jbGllbnRZIC0gdGhpcy5nZXRCb3VuZGluZ0NhbnZhc0hhbmRsZXIoKS50b3A7XG5cbiAgICB0aGlzLmlzUGFpbnRpbmcuc2V0KHRydWUpO1xuICAgIHRoaXMuaXNVc2VySW50ZXJhY3Quc2V0KHRydWUpO1xuXG4gICAgdGhpcy5wZW5Db25maWdIYW5kbGVyKHRoaXMuc2VydmljZS5wZW5UeXBlKCkpO1xuXG4gICAgdGhpcy5jdHgoKS5zdHJva2VTdHlsZSA9IHRoaXMuc2VydmljZS5wZW5Db2xvcigpO1xuICAgIHRoaXMuY3R4KCkubGluZVdpZHRoID0gdGhpcy5zZXJ2aWNlLmxpbmVXaWR0aCgpO1xuXG4gICAgdGhpcy5jdHgoKS5iZWdpblBhdGgoKTtcbiAgICB0aGlzLmN0eCgpLm1vdmVUbyhvZmZzZXRYLCBvZmZzZXRZKTtcbiAgICB0aGlzLmN0eCgpLmxpbmVUbyhvZmZzZXRYLCBvZmZzZXRZKTtcbiAgICB0aGlzLmN0eCgpLnN0cm9rZSgpO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIHRvdWNoTW92ZUhhbmRsZXIoZTogVG91Y2hFdmVudCkge1xuICAgIGUucHJldmVudERlZmF1bHQoKTsgLy8gcHJldmVudCBwYWdlIGZyb20gc2Nyb2xsXG4gICAgaWYgKHRoaXMuaXNQYWludGluZygpKSB7XG4gICAgICBjb25zdCBvZmZzZXRYID0gZS50b3VjaGVzWzBdLmNsaWVudFggLSB0aGlzLmdldEJvdW5kaW5nQ2FudmFzSGFuZGxlcigpLmxlZnQ7XG4gICAgICBjb25zdCBvZmZzZXRZID0gZS50b3VjaGVzWzBdLmNsaWVudFkgLSB0aGlzLmdldEJvdW5kaW5nQ2FudmFzSGFuZGxlcigpLnRvcDtcbiAgICAgIHRoaXMuY3R4KCkubGluZVRvKG9mZnNldFgsIG9mZnNldFkpO1xuICAgICAgdGhpcy5jdHgoKS5zdHJva2UoKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgdG91Y2hFbmRIYW5kbGVyKCkge1xuICAgIHRoaXMuY3R4KCkuY2xvc2VQYXRoKCk7XG4gICAgdGhpcy5pc1BhaW50aW5nLnNldChmYWxzZSk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIGUgLSBvdXRwdXQgZmlsZSB0eXBlXG4gICAqL1xuICBnZXRPdXRQdXQoZTogJ2ltYWdlL3dlYnAnIHwgJ2ltYWdlL3BuZycgfCAnaW1hZ2UvanBlZycpIHtcbiAgICBjb25zdCBiYXNlNjQgPSB0aGlzLmNhbnZhc0VsZW0oKS5uYXRpdmVFbGVtZW50LnRvRGF0YVVSTChlLCAwLjEpO1xuICAgIGlmICh0aGlzLmlzVXNlckludGVyYWN0KCkpIHtcbiAgICAgIHRoaXMucGFyZW50LmNvbW1pdFZhbHVlKGJhc2U2NCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucGFyZW50LmNvbW1pdFZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgX19ob3N0Q2xhc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5jdXN0b21DbGFzcygpfWA7XG4gIH1cbn1cbiIsIjxjYW52YXNcbiAgI2NcbiAgdGFiaW5kZXg9XCIxXCJcbiAgKG1vdXNlZG93bik9XCJtb3VzZURvd25IYW5kbGVyKCRldmVudClcIlxuICAobW91c2V1cCk9XCJtb3VzZVVwSGFuZGxlcigpXCJcbiAgKG1vdXNlbW92ZSk9XCJtb3VzZU1vdmVIYW5kbGVyKCRldmVudClcIlxuICAodG91Y2hzdGFydCk9XCJ0b3VjaFN0YXJ0SGFuZGxlcigkZXZlbnQpXCJcbiAgKHRvdWNoZW5kKT1cInRvdWNoRW5kSGFuZGxlcigpXCJcbiAgKHRvdWNobW92ZSk9XCJ0b3VjaE1vdmVIYW5kbGVyKCRldmVudClcIlxuICBjbGFzcz1cImF4LWNhbnZhcy1lbGVtZW50XCJcbj5cbjwvY2FudmFzPlxuIl19
|
@@ -3,7 +3,6 @@ import * as i0 from "@angular/core";
|
|
3
3
|
export class AXPaintService {
|
4
4
|
constructor() {
|
5
5
|
this.penColor = signal('');
|
6
|
-
this.lineCap = signal('round');
|
7
6
|
this.lineWidth = signal(10);
|
8
7
|
this.penType = signal('pen');
|
9
8
|
this.toggleClear = signal(false);
|
@@ -14,4 +13,4 @@ export class AXPaintService {
|
|
14
13
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPaintService, decorators: [{
|
15
14
|
type: Injectable
|
16
15
|
}] });
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFpbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wYWludC9zcmMvbGliL3BhaW50L3BhaW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBR25ELE1BQU0sT0FBTyxjQUFjO0lBRDNCO1FBRUUsYUFBUSxHQUFHLE1BQU0sQ0FBMEMsRUFBRSxDQUFDLENBQUM7UUFDL0QsY0FBUyxHQUFHLE1BQU0sQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUMvQixZQUFPLEdBQUcsTUFBTSxDQUFpQyxLQUFLLENBQUMsQ0FBQztRQUN4RCxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUM3Qjs4R0FMWSxjQUFjO2tIQUFkLGNBQWM7OzJGQUFkLGNBQWM7a0JBRDFCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYUGFpbnRTZXJ2aWNlIHtcbiAgcGVuQ29sb3IgPSBzaWduYWw8c3RyaW5nIHwgQ2FudmFzR3JhZGllbnQgfCBDYW52YXNQYXR0ZXJuPignJyk7XG4gIGxpbmVXaWR0aCA9IHNpZ25hbDxudW1iZXI+KDEwKTtcbiAgcGVuVHlwZSA9IHNpZ25hbDwncGVuJyB8ICdoaWdobGlnaHQnIHwgJ2VyYXNlcic+KCdwZW4nKTtcbiAgdG9nZ2xlQ2xlYXIgPSBzaWduYWwoZmFsc2UpO1xufVxuIl19
|
@@ -9,7 +9,6 @@ import { FormsModule } from '@angular/forms';
|
|
9
9
|
import { AXPaintContainerComponent } from './paint/paint-container/paint-container.component';
|
10
10
|
import { AXPaintToolbarComponent } from './paint/paint-toolbar/paint-toolbar.component';
|
11
11
|
import { AXPaintColorPickerComponent } from './paint/paint-tools/paint-color-picker/paint-color-picker.component';
|
12
|
-
import { AXPaintPenCapComponent } from './paint/paint-tools/paint-pen-cap/paint-pen-cap.component';
|
13
12
|
import { AXPaintPenModeChangerComponent } from './paint/paint-tools/paint-pen-mode-changer/paint-pen-mode-changer.component';
|
14
13
|
import { AXPaintViewComponent } from './paint/paint-view/paint-view.component';
|
15
14
|
import { AXPaintService } from './paint/paint.service';
|
@@ -19,7 +18,6 @@ const COMPONENT = [
|
|
19
18
|
AXPaintToolbarComponent,
|
20
19
|
AXPaintViewComponent,
|
21
20
|
AXPaintColorPickerComponent,
|
22
|
-
AXPaintPenCapComponent,
|
23
21
|
AXPaintPenModeChangerComponent,
|
24
22
|
];
|
25
23
|
const MODULES = [
|
@@ -37,7 +35,6 @@ export class AXPaintModule {
|
|
37
35
|
AXPaintToolbarComponent,
|
38
36
|
AXPaintViewComponent,
|
39
37
|
AXPaintColorPickerComponent,
|
40
|
-
AXPaintPenCapComponent,
|
41
38
|
AXPaintPenModeChangerComponent], imports: [FormsModule,
|
42
39
|
AXRangeSliderModule,
|
43
40
|
AXSelectBoxModule,
|
@@ -48,7 +45,6 @@ export class AXPaintModule {
|
|
48
45
|
AXPaintToolbarComponent,
|
49
46
|
AXPaintViewComponent,
|
50
47
|
AXPaintColorPickerComponent,
|
51
|
-
AXPaintPenCapComponent,
|
52
48
|
AXPaintPenModeChangerComponent] }); }
|
53
49
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPaintModule, providers: [AXPaintService], imports: [MODULES] }); }
|
54
50
|
}
|
@@ -61,4 +57,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
61
57
|
providers: [AXPaintService],
|
62
58
|
}]
|
63
59
|
}] });
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFpbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3BhaW50L3NyYy9saWIvcGFpbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDOUYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDeEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFDbEgsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNkVBQTZFLENBQUM7QUFDN0gsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUV2RCxNQUFNLFNBQVMsR0FBRztJQUNoQix5QkFBeUI7SUFDekIsdUJBQXVCO0lBQ3ZCLG9CQUFvQjtJQUNwQiwyQkFBMkI7SUFDM0IsOEJBQThCO0NBQy9CLENBQUM7QUFFRixNQUFNLE9BQU8sR0FBRztJQUNkLFdBQVc7SUFDWCxtQkFBbUI7SUFDbkIsaUJBQWlCO0lBQ2pCLGNBQWM7SUFDZCxvQkFBb0I7SUFDcEIsZUFBZTtJQUNmLGlCQUFpQjtDQUNsQixDQUFDO0FBUUYsTUFBTSxPQUFPLGFBQWE7OEdBQWIsYUFBYTsrR0FBYixhQUFhLGlCQXZCeEIseUJBQXlCO1lBQ3pCLHVCQUF1QjtZQUN2QixvQkFBb0I7WUFDcEIsMkJBQTJCO1lBQzNCLDhCQUE4QixhQUk5QixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGlCQUFpQjtZQUNqQixjQUFjO1lBQ2Qsb0JBQW9CO1lBQ3BCLGVBQWU7WUFDZixpQkFBaUIsYUFkakIseUJBQXlCO1lBQ3pCLHVCQUF1QjtZQUN2QixvQkFBb0I7WUFDcEIsMkJBQTJCO1lBQzNCLDhCQUE4QjsrR0FtQm5CLGFBQWEsYUFGYixDQUFDLGNBQWMsQ0FBQyxZQUZkLE9BQU87OzJGQUlULGFBQWE7a0JBTnpCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUM7b0JBQzVCLE9BQU8sRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDO29CQUNyQixPQUFPLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQztvQkFDdkIsU0FBUyxFQUFFLENBQUMsY0FBYyxDQUFDO2lCQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWENvbG9yUGFsZXR0ZU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb2xvci1wYWxldHRlJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhQb3BvdmVyTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3BvcG92ZXInO1xuaW1wb3J0IHsgQVhSYW5nZVNsaWRlck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9yYW5nZS1zbGlkZXInO1xuaW1wb3J0IHsgQVhTZWxlY3RCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvc2VsZWN0LWJveCc7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBWFBhaW50Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9wYWludC9wYWludC1jb250YWluZXIvcGFpbnQtY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWFBhaW50VG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vcGFpbnQvcGFpbnQtdG9vbGJhci9wYWludC10b29sYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWFBhaW50Q29sb3JQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL3BhaW50L3BhaW50LXRvb2xzL3BhaW50LWNvbG9yLXBpY2tlci9wYWludC1jb2xvci1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEFYUGFpbnRQZW5Nb2RlQ2hhbmdlckNvbXBvbmVudCB9IGZyb20gJy4vcGFpbnQvcGFpbnQtdG9vbHMvcGFpbnQtcGVuLW1vZGUtY2hhbmdlci9wYWludC1wZW4tbW9kZS1jaGFuZ2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWFBhaW50Vmlld0NvbXBvbmVudCB9IGZyb20gJy4vcGFpbnQvcGFpbnQtdmlldy9wYWludC12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWFBhaW50U2VydmljZSB9IGZyb20gJy4vcGFpbnQvcGFpbnQuc2VydmljZSc7XG5cbmNvbnN0IENPTVBPTkVOVCA9IFtcbiAgQVhQYWludENvbnRhaW5lckNvbXBvbmVudCxcbiAgQVhQYWludFRvb2xiYXJDb21wb25lbnQsXG4gIEFYUGFpbnRWaWV3Q29tcG9uZW50LFxuICBBWFBhaW50Q29sb3JQaWNrZXJDb21wb25lbnQsXG4gIEFYUGFpbnRQZW5Nb2RlQ2hhbmdlckNvbXBvbmVudCxcbl07XG5cbmNvbnN0IE1PRFVMRVMgPSBbXG4gIEZvcm1zTW9kdWxlLFxuICBBWFJhbmdlU2xpZGVyTW9kdWxlLFxuICBBWFNlbGVjdEJveE1vZHVsZSxcbiAgQVhCdXR0b25Nb2R1bGUsXG4gIEFYQ29sb3JQYWxldHRlTW9kdWxlLFxuICBBWFBvcG92ZXJNb2R1bGUsXG4gIEFYRGVjb3JhdG9yTW9kdWxlLFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbLi4uQ09NUE9ORU5UXSxcbiAgaW1wb3J0czogWy4uLk1PRFVMRVNdLFxuICBleHBvcnRzOiBbLi4uQ09NUE9ORU5UXSxcbiAgcHJvdmlkZXJzOiBbQVhQYWludFNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBhaW50TW9kdWxlIHt9XG4iXX0=
|
@@ -6,9 +6,8 @@ import * as i5 from '@acorex/components/decorators';
|
|
6
6
|
import { AXDecoratorModule } from '@acorex/components/decorators';
|
7
7
|
import * as i4 from '@acorex/components/popover';
|
8
8
|
import { AXPopoverModule } from '@acorex/components/popover';
|
9
|
-
import * as i2$
|
9
|
+
import * as i2$1 from '@acorex/components/range-slider';
|
10
10
|
import { AXRangeSliderModule } from '@acorex/components/range-slider';
|
11
|
-
import * as i2$1 from '@acorex/components/select-box';
|
12
11
|
import { AXSelectBoxModule } from '@acorex/components/select-box';
|
13
12
|
import * as i0 from '@angular/core';
|
14
13
|
import { forwardRef, Component, ViewEncapsulation, signal, Injectable, inject, HostBinding, input, viewChild, afterNextRender, effect, NgModule } from '@angular/core';
|
@@ -56,17 +55,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
56
55
|
*/
|
57
56
|
class AXPaintToolbarComponent {
|
58
57
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPaintToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
59
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXPaintToolbarComponent, selector: "ax-paint-toolbar", ngImport: i0, template: "<
|
58
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXPaintToolbarComponent, selector: "ax-paint-toolbar", ngImport: i0, template: "<ng-content select=\"ax-prefix\"></ng-content>\n<div class=\"ax-toolbar-container\">\n <ng-content></ng-content>\n</div>\n<ng-content select=\"ax-suffix\"></ng-content>\n", styles: ["ax-paint-toolbar{padding:.3rem;width:100%;display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between}ax-paint-toolbar .ax-toolbar-container{display:flex;justify-content:flex-start;align-items:center;margin-inline:.5rem}ax-paint-toolbar .ax-icon{font-weight:900;font-size:1rem}ax-paint-toolbar ax-prefix,ax-paint-toolbar ax-suffix{margin-inline:.3rem}\n"], encapsulation: i0.ViewEncapsulation.None }); }
|
60
59
|
}
|
61
60
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPaintToolbarComponent, decorators: [{
|
62
61
|
type: Component,
|
63
|
-
args: [{ selector: 'ax-paint-toolbar', encapsulation: ViewEncapsulation.None, template: "<
|
62
|
+
args: [{ selector: 'ax-paint-toolbar', encapsulation: ViewEncapsulation.None, template: "<ng-content select=\"ax-prefix\"></ng-content>\n<div class=\"ax-toolbar-container\">\n <ng-content></ng-content>\n</div>\n<ng-content select=\"ax-suffix\"></ng-content>\n", styles: ["ax-paint-toolbar{padding:.3rem;width:100%;display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between}ax-paint-toolbar .ax-toolbar-container{display:flex;justify-content:flex-start;align-items:center;margin-inline:.5rem}ax-paint-toolbar .ax-icon{font-weight:900;font-size:1rem}ax-paint-toolbar ax-prefix,ax-paint-toolbar ax-suffix{margin-inline:.3rem}\n"] }]
|
64
63
|
}] });
|
65
64
|
|
66
65
|
class AXPaintService {
|
67
66
|
constructor() {
|
68
67
|
this.penColor = signal('');
|
69
|
-
this.lineCap = signal('round');
|
70
68
|
this.lineWidth = signal(10);
|
71
69
|
this.penType = signal('pen');
|
72
70
|
this.toggleClear = signal(false);
|
@@ -106,42 +104,11 @@ class AXPaintColorPickerComponent {
|
|
106
104
|
return `.5rem`;
|
107
105
|
}
|
108
106
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPaintColorPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
109
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXPaintColorPickerComponent, selector: "ax-paint-color-picker", host: { properties: { "style.marginInline": "this.__hostClass" } }, ngImport: i0, template: "<ax-button #colorBtn look=\"blank\">\n
|
107
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXPaintColorPickerComponent, selector: "ax-paint-color-picker", host: { properties: { "style.marginInline": "this.__hostClass" } }, ngImport: i0, template: "<div class=\"ax-color-flex-container\">\n <div [style]=\"{ backgroundColor: selectedColor() }\" class=\"ax-submit-color\"></div>\n <ax-button #colorBtn look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-color-palette\"></ax-icon>\n </ax-button>\n</div>\n<ax-popover\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"colorBtn\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane\">\n <ax-color-palette (ngModelChange)=\"changeColorHandler($event)\" [ngModel]=\"selectedColor()\">\n <ax-color-palette-preview></ax-color-palette-preview>\n <ax-color-palette-picker></ax-color-palette-picker>\n <ax-color-palette-input></ax-color-palette-input>\n </ax-color-palette>\n </div>\n</ax-popover>\n", styles: ["ax-paint-color-picker{margin-inline:0!important}ax-paint-color-picker .ax-submit-color{border:1px solid rgb(var(--ax-color-text-default));width:.6rem;height:.6rem;border-radius:1000vmax}ax-paint-color-picker .ax-color-flex-container{display:flex;align-items:center;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "component", type: i3.AXColorPalleteComponent, selector: "ax-color-palette", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "checked"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange"] }, { kind: "component", type: i3.AXColorPalettePreviewComponent, selector: "ax-color-palette-preview" }, { kind: "component", type: i3.AXColorPaletteInputComponent, selector: "ax-color-palette-input" }, { kind: "component", type: i3.AXColorPalettePickerComponent, selector: "ax-color-palette-picker" }, { kind: "component", type: i4.AXPopoverComponent, selector: "ax-popover", inputs: ["offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type: i5.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
110
108
|
}
|
111
109
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPaintColorPickerComponent, decorators: [{
|
112
110
|
type: Component,
|
113
|
-
args: [{ selector: 'ax-paint-color-picker', encapsulation: ViewEncapsulation.None, template: "<ax-button #colorBtn look=\"blank\">\n
|
114
|
-
}], propDecorators: { __hostClass: [{
|
115
|
-
type: HostBinding,
|
116
|
-
args: ['style.marginInline']
|
117
|
-
}] } });
|
118
|
-
|
119
|
-
/**
|
120
|
-
* paint pen cap.
|
121
|
-
* @category Components
|
122
|
-
*/
|
123
|
-
class AXPaintPenCapComponent {
|
124
|
-
constructor() {
|
125
|
-
/** @ignore */
|
126
|
-
this.parent = inject(AXPaintContainerComponent);
|
127
|
-
/** @ignore */
|
128
|
-
this.service = inject(AXPaintService);
|
129
|
-
/** @ignore */
|
130
|
-
this.selectedLineCap = signal('round');
|
131
|
-
}
|
132
|
-
/** @ignore */
|
133
|
-
lineCapHandler(e) {
|
134
|
-
this.service.lineCap.set(e);
|
135
|
-
}
|
136
|
-
get __hostClass() {
|
137
|
-
return `.5rem`;
|
138
|
-
}
|
139
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPaintPenCapComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
140
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXPaintPenCapComponent, selector: "ax-paint-pen-cap", host: { properties: { "style.marginInline": "this.__hostClass" } }, ngImport: i0, template: "<ax-select-box\n [look]=\"this.parent.look\"\n (ngModelChange)=\"lineCapHandler($event)\"\n [ngModel]=\"selectedLineCap()\"\n [dataSource]=\"['round', 'square']\"\n placeholder=\"Choose...\"\n>\n</ax-select-box>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2$1.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "textTemplate", "dataSource", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
141
|
-
}
|
142
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPaintPenCapComponent, decorators: [{
|
143
|
-
type: Component,
|
144
|
-
args: [{ selector: 'ax-paint-pen-cap', encapsulation: ViewEncapsulation.None, template: "<ax-select-box\n [look]=\"this.parent.look\"\n (ngModelChange)=\"lineCapHandler($event)\"\n [ngModel]=\"selectedLineCap()\"\n [dataSource]=\"['round', 'square']\"\n placeholder=\"Choose...\"\n>\n</ax-select-box>\n" }]
|
111
|
+
args: [{ selector: 'ax-paint-color-picker', encapsulation: ViewEncapsulation.None, template: "<div class=\"ax-color-flex-container\">\n <div [style]=\"{ backgroundColor: selectedColor() }\" class=\"ax-submit-color\"></div>\n <ax-button #colorBtn look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-color-palette\"></ax-icon>\n </ax-button>\n</div>\n<ax-popover\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"colorBtn\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane\">\n <ax-color-palette (ngModelChange)=\"changeColorHandler($event)\" [ngModel]=\"selectedColor()\">\n <ax-color-palette-preview></ax-color-palette-preview>\n <ax-color-palette-picker></ax-color-palette-picker>\n <ax-color-palette-input></ax-color-palette-input>\n </ax-color-palette>\n </div>\n</ax-popover>\n", styles: ["ax-paint-color-picker{margin-inline:0!important}ax-paint-color-picker .ax-submit-color{border:1px solid rgb(var(--ax-color-text-default));width:.6rem;height:.6rem;border-radius:1000vmax}ax-paint-color-picker .ax-color-flex-container{display:flex;align-items:center;cursor:pointer}\n"] }]
|
145
112
|
}], propDecorators: { __hostClass: [{
|
146
113
|
type: HostBinding,
|
147
114
|
args: ['style.marginInline']
|
@@ -184,11 +151,11 @@ class AXPaintPenModeChangerComponent {
|
|
184
151
|
this.service.lineWidth.set(e);
|
185
152
|
}
|
186
153
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPaintPenModeChangerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
187
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
154
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPaintPenModeChangerComponent, selector: "ax-paint-pen-mode-changer", host: { properties: { "style.marginInline": "this.__hostClass" } }, ngImport: i0, template: "<ax-button look=\"blank\" #alignPop>\n @switch (service.penType()) {\n @case ('pen') {\n <ax-icon class=\"ax-icon ax-icon-pen\"></ax-icon>\n }\n @case ('highlight') {\n <ax-icon class=\"ax-icon ax-icon-highlight\"></ax-icon>\n }\n @case ('eraser') {\n <ax-icon class=\"ax-icon ax-icon-eraser\"></ax-icon>\n }\n }\n</ax-button>\n\n<ax-button (click)=\"clear()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-undo\"></ax-icon>\n</ax-button>\n\n<ax-popover\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"alignPop\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane\">\n <ax-button\n (click)=\"penTypeHandler('pen')\"\n look=\"blank\"\n [selected]=\"this.service.penType() === 'pen' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-pen\"></ax-icon>\n </ax-button>\n\n <ax-button\n (click)=\"penTypeHandler('highlight')\"\n look=\"blank\"\n [selected]=\"this.service.penType() === 'highlight' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-highlight\"></ax-icon>\n </ax-button>\n\n <ax-button\n (click)=\"penTypeHandler('eraser')\"\n look=\"blank\"\n [selected]=\"this.service.penType() === 'eraser' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-eraser\"></ax-icon>\n </ax-button>\n\n <div class=\"ax-paint-width-slider\">\n <ax-range-slider\n [min]=\"2\"\n [max]=\"20\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"valueHandler($event)\"\n ></ax-range-slider>\n </div>\n </div>\n</ax-popover>\n", styles: ["ax-paint-pen-mode-changer{display:flex;align-items:center;margin-inline:0!important}ax-paint-pen-mode-changer ax-range-slider{padding:.5rem .75rem}ax-paint-pen-mode-changer ax-range-slider .ax-range-slider .ax-range-slider-handler{width:1rem!important;height:1rem!important}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2$1.AXRangeSliderComponent, selector: "ax-range-slider", inputs: ["disabled", "readonly", "orientation", "color", "values", "mode", "min", "max", "step", "snap", "tooltipMode", "snapMode", "hasStep", "hasSnap", "hasLable", "hasTooltip"], outputs: ["valuesChange"] }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "component", type: i4.AXPopoverComponent, selector: "ax-popover", inputs: ["offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type: i5.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
188
155
|
}
|
189
156
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPaintPenModeChangerComponent, decorators: [{
|
190
157
|
type: Component,
|
191
|
-
args: [{ selector: 'ax-paint-pen-mode-changer', encapsulation: ViewEncapsulation.None, template: "<
|
158
|
+
args: [{ selector: 'ax-paint-pen-mode-changer', encapsulation: ViewEncapsulation.None, template: "<ax-button look=\"blank\" #alignPop>\n @switch (service.penType()) {\n @case ('pen') {\n <ax-icon class=\"ax-icon ax-icon-pen\"></ax-icon>\n }\n @case ('highlight') {\n <ax-icon class=\"ax-icon ax-icon-highlight\"></ax-icon>\n }\n @case ('eraser') {\n <ax-icon class=\"ax-icon ax-icon-eraser\"></ax-icon>\n }\n }\n</ax-button>\n\n<ax-button (click)=\"clear()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-undo\"></ax-icon>\n</ax-button>\n\n<ax-popover\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"alignPop\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane\">\n <ax-button\n (click)=\"penTypeHandler('pen')\"\n look=\"blank\"\n [selected]=\"this.service.penType() === 'pen' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-pen\"></ax-icon>\n </ax-button>\n\n <ax-button\n (click)=\"penTypeHandler('highlight')\"\n look=\"blank\"\n [selected]=\"this.service.penType() === 'highlight' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-highlight\"></ax-icon>\n </ax-button>\n\n <ax-button\n (click)=\"penTypeHandler('eraser')\"\n look=\"blank\"\n [selected]=\"this.service.penType() === 'eraser' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-eraser\"></ax-icon>\n </ax-button>\n\n <div class=\"ax-paint-width-slider\">\n <ax-range-slider\n [min]=\"2\"\n [max]=\"20\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"valueHandler($event)\"\n ></ax-range-slider>\n </div>\n </div>\n</ax-popover>\n", styles: ["ax-paint-pen-mode-changer{display:flex;align-items:center;margin-inline:0!important}ax-paint-pen-mode-changer ax-range-slider{padding:.5rem .75rem}ax-paint-pen-mode-changer ax-range-slider .ax-range-slider .ax-range-slider-handler{width:1rem!important;height:1rem!important}\n"] }]
|
192
159
|
}], propDecorators: { __hostClass: [{
|
193
160
|
type: HostBinding,
|
194
161
|
args: ['style.marginInline']
|
@@ -223,7 +190,7 @@ class AXPaintViewComponent {
|
|
223
190
|
this.ctx().canvas.width = this.getBoundingCanvasHandler().width;
|
224
191
|
this.ctx().canvas.height = this.getBoundingCanvasHandler().height;
|
225
192
|
this.ctx().lineJoin = 'round';
|
226
|
-
this.ctx().lineCap =
|
193
|
+
this.ctx().lineCap = 'round';
|
227
194
|
this.ctx().strokeStyle = this.service.penColor();
|
228
195
|
this.ctx().lineWidth = this.service.lineWidth();
|
229
196
|
});
|
@@ -270,7 +237,6 @@ class AXPaintViewComponent {
|
|
270
237
|
this.isUserInteract.set(true);
|
271
238
|
this.penConfigHandler(this.service.penType());
|
272
239
|
this.ctx().strokeStyle = this.service.penColor();
|
273
|
-
this.ctx().lineCap = this.service.lineCap();
|
274
240
|
this.ctx().lineWidth = this.service.lineWidth();
|
275
241
|
this.ctx().beginPath();
|
276
242
|
this.ctx().moveTo(e.offsetX, e.offsetY);
|
@@ -297,7 +263,6 @@ class AXPaintViewComponent {
|
|
297
263
|
this.isUserInteract.set(true);
|
298
264
|
this.penConfigHandler(this.service.penType());
|
299
265
|
this.ctx().strokeStyle = this.service.penColor();
|
300
|
-
this.ctx().lineCap = this.service.lineCap();
|
301
266
|
this.ctx().lineWidth = this.service.lineWidth();
|
302
267
|
this.ctx().beginPath();
|
303
268
|
this.ctx().moveTo(offsetX, offsetY);
|
@@ -350,7 +315,6 @@ const COMPONENT = [
|
|
350
315
|
AXPaintToolbarComponent,
|
351
316
|
AXPaintViewComponent,
|
352
317
|
AXPaintColorPickerComponent,
|
353
|
-
AXPaintPenCapComponent,
|
354
318
|
AXPaintPenModeChangerComponent,
|
355
319
|
];
|
356
320
|
const MODULES = [
|
@@ -368,7 +332,6 @@ class AXPaintModule {
|
|
368
332
|
AXPaintToolbarComponent,
|
369
333
|
AXPaintViewComponent,
|
370
334
|
AXPaintColorPickerComponent,
|
371
|
-
AXPaintPenCapComponent,
|
372
335
|
AXPaintPenModeChangerComponent], imports: [FormsModule,
|
373
336
|
AXRangeSliderModule,
|
374
337
|
AXSelectBoxModule,
|
@@ -379,7 +342,6 @@ class AXPaintModule {
|
|
379
342
|
AXPaintToolbarComponent,
|
380
343
|
AXPaintViewComponent,
|
381
344
|
AXPaintColorPickerComponent,
|
382
|
-
AXPaintPenCapComponent,
|
383
345
|
AXPaintPenModeChangerComponent] }); }
|
384
346
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPaintModule, providers: [AXPaintService], imports: [MODULES] }); }
|
385
347
|
}
|
@@ -397,5 +359,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
397
359
|
* Generated bundle index. Do not edit.
|
398
360
|
*/
|
399
361
|
|
400
|
-
export { AXPaintColorPickerComponent, AXPaintContainerComponent, AXPaintModule,
|
362
|
+
export { AXPaintColorPickerComponent, AXPaintContainerComponent, AXPaintModule, AXPaintPenModeChangerComponent, AXPaintToolbarComponent, AXPaintViewComponent };
|
401
363
|
//# sourceMappingURL=acorex-components-paint.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-components-paint.mjs","sources":["../../../../libs/components/paint/src/lib/paint/paint-container/paint-container.component.ts","../../../../libs/components/paint/src/lib/paint/paint-container/paint-container.component.html","../../../../libs/components/paint/src/lib/paint/paint-toolbar/paint-toolbar.component.ts","../../../../libs/components/paint/src/lib/paint/paint-toolbar/paint-toolbar.component.html","../../../../libs/components/paint/src/lib/paint/paint.service.ts","../../../../libs/components/paint/src/lib/paint/paint-tools/paint-color-picker/paint-color-picker.component.ts","../../../../libs/components/paint/src/lib/paint/paint-tools/paint-color-picker/paint-color-picker.component.html","../../../../libs/components/paint/src/lib/paint/paint-tools/paint-pen-cap/paint-pen-cap.component.ts","../../../../libs/components/paint/src/lib/paint/paint-tools/paint-pen-cap/paint-pen-cap.component.html","../../../../libs/components/paint/src/lib/paint/paint-tools/paint-pen-mode-changer/paint-pen-mode-changer.component.ts","../../../../libs/components/paint/src/lib/paint/paint-tools/paint-pen-mode-changer/paint-pen-mode-changer.component.html","../../../../libs/components/paint/src/lib/paint/paint-view/paint-view.component.ts","../../../../libs/components/paint/src/lib/paint/paint-view/paint-view.component.html","../../../../libs/components/paint/src/lib/paint.module.ts","../../../../libs/components/paint/src/acorex-components-paint.ts"],"sourcesContent":["import {\n AXClearableComponent,\n AXComponent,\n AXFocusableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n MXLookComponent,\n} from '@acorex/components/common';\nimport { Component, ViewEncapsulation, forwardRef } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\n\n/**\n * paint container.\n * @category Components\n */\n@Component({\n selector: 'ax-paint-container',\n templateUrl: './paint-container.component.html',\n styleUrl: './paint-container.component.scss',\n encapsulation: ViewEncapsulation.None,\n inputs: ['look'],\n providers: [\n { provide: AXComponent, useExisting: AXPaintContainerComponent },\n { provide: AXFocusableComponent, useExisting: AXPaintContainerComponent },\n { provide: AXClearableComponent, useExisting: AXPaintContainerComponent },\n { provide: AXValuableComponent, useExisting: AXPaintContainerComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXPaintContainerComponent),\n multi: true,\n },\n ],\n})\nexport class AXPaintContainerComponent extends classes(MXInputBaseValueComponent<string>, MXLookComponent) {}\n","<div class=\"ax-editor-container ax-look-{{ look }}\">\n <ng-content></ng-content>\n <ng-content select=\"ax-validation-rule\"> </ng-content>\n</div>\n<div class=\"ax-error-container\"></div>\n","import { Component, ViewEncapsulation } from '@angular/core';\n\n/**\n *paint toolbar\n * @category Components\n */\n@Component({\n selector: 'ax-paint-toolbar',\n templateUrl: './paint-toolbar.component.html',\n styleUrl: './paint-toolbar.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXPaintToolbarComponent {}\n","<div class=\"ax-paint-toolbar-container\">\n <ng-content select=\"ax-prefix\"></ng-content>\n <ng-content></ng-content>\n <ng-content select=\"ax-suffix\"></ng-content>\n</div>\n","import { Injectable, signal } from '@angular/core';\n\n@Injectable()\nexport class AXPaintService {\n penColor = signal<string | CanvasGradient | CanvasPattern>('');\n lineCap = signal<CanvasLineCap>('round');\n lineWidth = signal<number>(10);\n penType = signal<'pen' | 'highlight' | 'eraser'>('pen');\n toggleClear = signal(false);\n}\n","import { AXPlacement } from '@acorex/components/common';\nimport { AXPopoverCloseTrigger, AXPopoverOpenTrigger } from '@acorex/components/popover';\nimport { Component, HostBinding, ViewEncapsulation, inject, signal } from '@angular/core';\nimport { AXPaintService } from '../../paint.service';\n\n/**\n * paint color picker.\n * @category Components\n */\n@Component({\n selector: 'ax-paint-color-picker',\n templateUrl: './paint-color-picker.component.html',\n styleUrl: './paint-color-picker.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXPaintColorPickerComponent {\n /** @ignore */\n protected service = inject(AXPaintService);\n\n /** @ignore */\n protected selectedColor = signal('rgb(12, 12, 12)');\n\n /** @ignore */\n protected popoverOption: {\n openOn: AXPopoverOpenTrigger;\n closeOn: AXPopoverCloseTrigger;\n placement: AXPlacement;\n offsetX: number;\n offsetY: number;\n } = {\n openOn: 'click',\n closeOn: 'clickOut',\n placement: 'top',\n offsetX: 0,\n offsetY: 0,\n };\n\n /** @ignore */\n protected changeColorHandler(e: string) {\n this.service.penColor.set(e);\n this.selectedColor.set(e);\n }\n\n @HostBinding('style.marginInline')\n get __hostClass(): string {\n return `.5rem`;\n }\n}\n","<ax-button #colorBtn look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-color-palette\"></ax-icon>\n</ax-button>\n<ax-popover\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"colorBtn\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane\">\n <ax-color-palette (ngModelChange)=\"changeColorHandler($event)\" [ngModel]=\"selectedColor()\">\n <ax-color-palette-preview></ax-color-palette-preview>\n <ax-color-palette-picker></ax-color-palette-picker>\n <ax-color-palette-input></ax-color-palette-input>\n </ax-color-palette>\n </div>\n</ax-popover>\n","import { Component, HostBinding, inject, signal, ViewEncapsulation } from '@angular/core';\nimport { AXPaintContainerComponent } from '../../paint-container/paint-container.component';\nimport { AXPaintService } from '../../paint.service';\n\n/**\n * paint pen cap.\n * @category Components\n */\n@Component({\n selector: 'ax-paint-pen-cap',\n templateUrl: './paint-pen-cap.component.html',\n styleUrl: './paint-pen-cap.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXPaintPenCapComponent {\n /** @ignore */\n protected parent = inject(AXPaintContainerComponent);\n\n /** @ignore */\n protected service = inject(AXPaintService);\n\n /** @ignore */\n protected selectedLineCap = signal<CanvasLineCap>('round');\n\n /** @ignore */\n protected lineCapHandler(e: CanvasLineCap) {\n this.service.lineCap.set(e);\n }\n\n @HostBinding('style.marginInline')\n get __hostClass(): string {\n return `.5rem`;\n }\n}\n","<ax-select-box\n [look]=\"this.parent.look\"\n (ngModelChange)=\"lineCapHandler($event)\"\n [ngModel]=\"selectedLineCap()\"\n [dataSource]=\"['round', 'square']\"\n placeholder=\"Choose...\"\n>\n</ax-select-box>\n","import { AXPlacement } from '@acorex/components/common';\nimport { AXPopoverCloseTrigger, AXPopoverOpenTrigger } from '@acorex/components/popover';\nimport { Component, HostBinding, inject, signal, ViewEncapsulation } from '@angular/core';\nimport { AXPaintService } from '../../paint.service';\n\n/**\n * paint mode.\n * @category Components\n */\n@Component({\n selector: 'ax-paint-pen-mode-changer',\n templateUrl: './paint-pen-mode-changer.component.html',\n styleUrl: './paint-pen-mode-changer.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXPaintPenModeChangerComponent {\n /** @ignore */\n protected service = inject(AXPaintService);\n\n /** @ignore */\n protected value = 10;\n\n /** @ignore */\n protected popoverOption: {\n openOn: AXPopoverOpenTrigger;\n closeOn: AXPopoverCloseTrigger;\n placement: AXPlacement;\n offsetX: number;\n offsetY: number;\n } = {\n openOn: 'click',\n closeOn: 'clickOut',\n placement: 'top',\n offsetX: 0,\n offsetY: 0,\n };\n\n /** @ignore */\n protected selectedPenType = signal<'pen' | 'highlight' | 'eraser'>('pen');\n\n /** @ignore */\n protected penTypeHandler(e: 'pen' | 'highlight' | 'eraser') {\n this.service.penType.set(e);\n }\n\n /** @ignore */\n protected clear() {\n this.service.toggleClear.update((prev) => !prev);\n }\n\n @HostBinding('style.marginInline')\n get __hostClass(): string {\n return `.5rem`;\n }\n\n /** @ignore */\n protected valueHandler(e: number) {\n this.service.lineWidth.set(e);\n }\n}\n","<div class=\"ax-paint-pen-mode-changer-container\">\n <div class=\"ax-pen-type-container\">\n <ax-button look=\"blank\" #alignPop>\n <ax-icon class=\"ax-icon ax-icon-pen-ruler\"></ax-icon>\n </ax-button>\n </div>\n\n <ax-button (click)=\"clear()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-undo\"></ax-icon>\n </ax-button>\n\n <ax-popover\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"alignPop\"\n [placement]=\"popoverOption.placement\"\n >\n <div class=\"ax-overlay-pane\">\n <ax-button\n (click)=\"penTypeHandler('pen')\"\n look=\"blank\"\n [selected]=\"this.service.penType() === 'pen' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-pen\"></ax-icon>\n </ax-button>\n\n <ax-button\n (click)=\"penTypeHandler('highlight')\"\n look=\"blank\"\n [selected]=\"this.service.penType() === 'highlight' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-highlight\"></ax-icon>\n </ax-button>\n\n <ax-button\n (click)=\"penTypeHandler('eraser')\"\n look=\"blank\"\n [selected]=\"this.service.penType() === 'eraser' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-eraser\"></ax-icon>\n </ax-button>\n\n <div class=\"ax-paint-width-slider\">\n <ax-range-slider\n [min]=\"2\"\n [max]=\"20\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"valueHandler($event)\"\n ></ax-range-slider>\n </div>\n </div>\n </ax-popover>\n</div>\n","import {\n afterNextRender,\n Component,\n effect,\n ElementRef,\n HostBinding,\n inject,\n input,\n OnDestroy,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXPaintContainerComponent } from '../paint-container/paint-container.component';\nimport { AXPaintService } from '../paint.service';\n\n/**\n * @category Components\n * paint view\n */\n@Component({\n selector: 'ax-paint-view',\n templateUrl: './paint-view.component.html',\n styleUrl: './paint-view.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXPaintViewComponent implements OnDestroy {\n /** @ignore */\n parent = inject(AXPaintContainerComponent);\n\n /** @ignore */\n protected service = inject(AXPaintService);\n\n /**\n * Specifies the class that pass to component.\n *\n */\n customClass = input<string>('', { alias: 'class' });\n\n /** @ignore */\n protected canvasElem = viewChild<ElementRef<HTMLCanvasElement>>('c');\n\n /** @ignore */\n protected ctx = signal<CanvasRenderingContext2D>(null);\n\n /** @ignore */\n protected isPainting = signal(false);\n\n /** @ignore */\n protected isUserInteract = signal(false);\n\n /** @ignore */\n constructor() {\n afterNextRender(() => {\n this.ctx.set(this.canvasElem().nativeElement.getContext('2d'));\n this.ctx().canvas.width = this.getBoundingCanvasHandler().width;\n this.ctx().canvas.height = this.getBoundingCanvasHandler().height;\n this.ctx().lineJoin = 'round';\n this.ctx().lineCap = this.service.lineCap();\n this.ctx().strokeStyle = this.service.penColor();\n this.ctx().lineWidth = this.service.lineWidth();\n });\n\n effect(\n () => {\n this.isUserInteract.set(false);\n this.service.toggleClear();\n this.ctx()?.clearRect(\n 0,\n 0,\n this.getBoundingCanvasHandler()?.width,\n this.getBoundingCanvasHandler()?.height,\n );\n },\n { allowSignalWrites: true },\n );\n\n window.addEventListener('resize', this.resizeEventHandler.bind(this));\n }\n\n /** @ignore */\n ngOnDestroy(): void {\n removeEventListener('resize', this.resizeEventHandler);\n }\n\n /** @ignore */\n protected resizeEventHandler() {\n this.ctx().canvas.width = this.getBoundingCanvasHandler()?.width;\n this.ctx().canvas.height = this.getBoundingCanvasHandler()?.height;\n }\n\n /** @ignore */\n protected penConfigHandler(penType: 'eraser' | 'pen' | 'highlight') {\n switch (penType) {\n case 'pen':\n this.ctx().globalAlpha = 1;\n this.ctx().globalCompositeOperation = 'source-over';\n break;\n case 'eraser':\n this.ctx().globalAlpha = 1;\n this.ctx().globalCompositeOperation = 'destination-out';\n break;\n case 'highlight':\n this.ctx().globalAlpha = 0.008;\n this.ctx().globalCompositeOperation = 'source-over';\n break;\n }\n }\n\n /** @ignore */\n protected getBoundingCanvasHandler() {\n return this.canvasElem().nativeElement.getBoundingClientRect();\n }\n\n /** @ignore */\n protected mouseDownHandler(e: MouseEvent) {\n this.isPainting.set(true);\n this.isUserInteract.set(true);\n\n this.penConfigHandler(this.service.penType());\n\n this.ctx().strokeStyle = this.service.penColor();\n this.ctx().lineCap = this.service.lineCap();\n this.ctx().lineWidth = this.service.lineWidth();\n\n this.ctx().beginPath();\n this.ctx().moveTo(e.offsetX, e.offsetY);\n this.ctx().lineTo(e.offsetX, e.offsetY);\n this.ctx().stroke();\n }\n\n /** @ignore */\n protected mouseMoveHandler(e: MouseEvent) {\n if (this.isPainting()) {\n this.ctx().lineTo(e.offsetX, e.offsetY);\n this.ctx().stroke();\n }\n }\n\n /** @ignore */\n protected mouseUpHandler() {\n this.ctx().closePath();\n this.isPainting.set(false);\n }\n\n /** @ignore */\n protected touchStartHandler(e: TouchEvent) {\n const offsetX = e.touches[0].clientX - this.getBoundingCanvasHandler().left;\n const offsetY = e.touches[0].clientY - this.getBoundingCanvasHandler().top;\n\n this.isPainting.set(true);\n this.isUserInteract.set(true);\n\n this.penConfigHandler(this.service.penType());\n\n this.ctx().strokeStyle = this.service.penColor();\n this.ctx().lineCap = this.service.lineCap();\n this.ctx().lineWidth = this.service.lineWidth();\n\n this.ctx().beginPath();\n this.ctx().moveTo(offsetX, offsetY);\n this.ctx().lineTo(offsetX, offsetY);\n this.ctx().stroke();\n }\n\n /** @ignore */\n protected touchMoveHandler(e: TouchEvent) {\n e.preventDefault(); // prevent page from scroll\n if (this.isPainting()) {\n const offsetX = e.touches[0].clientX - this.getBoundingCanvasHandler().left;\n const offsetY = e.touches[0].clientY - this.getBoundingCanvasHandler().top;\n this.ctx().lineTo(offsetX, offsetY);\n this.ctx().stroke();\n }\n }\n\n /** @ignore */\n protected touchEndHandler() {\n this.ctx().closePath();\n this.isPainting.set(false);\n }\n\n /**\n * @param e - output file type\n */\n getOutPut(e: 'image/webp' | 'image/png' | 'image/jpeg') {\n const base64 = this.canvasElem().nativeElement.toDataURL(e, 0.1);\n if (this.isUserInteract()) {\n this.parent.commitValue(base64);\n } else {\n this.parent.commitValue(null);\n }\n }\n\n @HostBinding('class')\n get __hostClass(): string {\n return `${this.customClass()}`;\n }\n}\n","<canvas\n #c\n tabindex=\"1\"\n (mousedown)=\"mouseDownHandler($event)\"\n (mouseup)=\"mouseUpHandler()\"\n (mousemove)=\"mouseMoveHandler($event)\"\n (touchstart)=\"touchStartHandler($event)\"\n (touchend)=\"touchEndHandler()\"\n (touchmove)=\"touchMoveHandler($event)\"\n class=\"ax-canvas-element\"\n>\n</canvas>\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXColorPaletteModule } from '@acorex/components/color-palette';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXRangeSliderModule } from '@acorex/components/range-slider';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXPaintContainerComponent } from './paint/paint-container/paint-container.component';\nimport { AXPaintToolbarComponent } from './paint/paint-toolbar/paint-toolbar.component';\nimport { AXPaintColorPickerComponent } from './paint/paint-tools/paint-color-picker/paint-color-picker.component';\nimport { AXPaintPenCapComponent } from './paint/paint-tools/paint-pen-cap/paint-pen-cap.component';\nimport { AXPaintPenModeChangerComponent } from './paint/paint-tools/paint-pen-mode-changer/paint-pen-mode-changer.component';\nimport { AXPaintViewComponent } from './paint/paint-view/paint-view.component';\nimport { AXPaintService } from './paint/paint.service';\n\nconst COMPONENT = [\n AXPaintContainerComponent,\n AXPaintToolbarComponent,\n AXPaintViewComponent,\n AXPaintColorPickerComponent,\n AXPaintPenCapComponent,\n AXPaintPenModeChangerComponent,\n];\n\nconst MODULES = [\n FormsModule,\n AXRangeSliderModule,\n AXSelectBoxModule,\n AXButtonModule,\n AXColorPaletteModule,\n AXPopoverModule,\n AXDecoratorModule,\n];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [AXPaintService],\n})\nexport class AXPaintModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i3"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"acorex-components-paint.mjs","sources":["../../../../libs/components/paint/src/lib/paint/paint-container/paint-container.component.ts","../../../../libs/components/paint/src/lib/paint/paint-container/paint-container.component.html","../../../../libs/components/paint/src/lib/paint/paint-toolbar/paint-toolbar.component.ts","../../../../libs/components/paint/src/lib/paint/paint-toolbar/paint-toolbar.component.html","../../../../libs/components/paint/src/lib/paint/paint.service.ts","../../../../libs/components/paint/src/lib/paint/paint-tools/paint-color-picker/paint-color-picker.component.ts","../../../../libs/components/paint/src/lib/paint/paint-tools/paint-color-picker/paint-color-picker.component.html","../../../../libs/components/paint/src/lib/paint/paint-tools/paint-pen-mode-changer/paint-pen-mode-changer.component.ts","../../../../libs/components/paint/src/lib/paint/paint-tools/paint-pen-mode-changer/paint-pen-mode-changer.component.html","../../../../libs/components/paint/src/lib/paint/paint-view/paint-view.component.ts","../../../../libs/components/paint/src/lib/paint/paint-view/paint-view.component.html","../../../../libs/components/paint/src/lib/paint.module.ts","../../../../libs/components/paint/src/acorex-components-paint.ts"],"sourcesContent":["import {\n AXClearableComponent,\n AXComponent,\n AXFocusableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n MXLookComponent,\n} from '@acorex/components/common';\nimport { Component, ViewEncapsulation, forwardRef } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\n\n/**\n * paint container.\n * @category Components\n */\n@Component({\n selector: 'ax-paint-container',\n templateUrl: './paint-container.component.html',\n styleUrl: './paint-container.component.scss',\n encapsulation: ViewEncapsulation.None,\n inputs: ['look'],\n providers: [\n { provide: AXComponent, useExisting: AXPaintContainerComponent },\n { provide: AXFocusableComponent, useExisting: AXPaintContainerComponent },\n { provide: AXClearableComponent, useExisting: AXPaintContainerComponent },\n { provide: AXValuableComponent, useExisting: AXPaintContainerComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXPaintContainerComponent),\n multi: true,\n },\n ],\n})\nexport class AXPaintContainerComponent extends classes(MXInputBaseValueComponent<string>, MXLookComponent) {}\n","<div class=\"ax-editor-container ax-look-{{ look }}\">\n <ng-content></ng-content>\n <ng-content select=\"ax-validation-rule\"> </ng-content>\n</div>\n<div class=\"ax-error-container\"></div>\n","import { Component, ViewEncapsulation } from '@angular/core';\n\n/**\n *paint toolbar\n * @category Components\n */\n@Component({\n selector: 'ax-paint-toolbar',\n templateUrl: './paint-toolbar.component.html',\n styleUrl: './paint-toolbar.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXPaintToolbarComponent {}\n","<ng-content select=\"ax-prefix\"></ng-content>\n<div class=\"ax-toolbar-container\">\n <ng-content></ng-content>\n</div>\n<ng-content select=\"ax-suffix\"></ng-content>\n","import { Injectable, signal } from '@angular/core';\n\n@Injectable()\nexport class AXPaintService {\n penColor = signal<string | CanvasGradient | CanvasPattern>('');\n lineWidth = signal<number>(10);\n penType = signal<'pen' | 'highlight' | 'eraser'>('pen');\n toggleClear = signal(false);\n}\n","import { AXPlacement } from '@acorex/components/common';\nimport { AXPopoverCloseTrigger, AXPopoverOpenTrigger } from '@acorex/components/popover';\nimport { Component, HostBinding, ViewEncapsulation, inject, signal } from '@angular/core';\nimport { AXPaintService } from '../../paint.service';\n\n/**\n * paint color picker.\n * @category Components\n */\n@Component({\n selector: 'ax-paint-color-picker',\n templateUrl: './paint-color-picker.component.html',\n styleUrl: './paint-color-picker.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXPaintColorPickerComponent {\n /** @ignore */\n protected service = inject(AXPaintService);\n\n /** @ignore */\n protected selectedColor = signal('rgb(12, 12, 12)');\n\n /** @ignore */\n protected popoverOption: {\n openOn: AXPopoverOpenTrigger;\n closeOn: AXPopoverCloseTrigger;\n placement: AXPlacement;\n offsetX: number;\n offsetY: number;\n } = {\n openOn: 'click',\n closeOn: 'clickOut',\n placement: 'top',\n offsetX: 0,\n offsetY: 0,\n };\n\n /** @ignore */\n protected changeColorHandler(e: string) {\n this.service.penColor.set(e);\n this.selectedColor.set(e);\n }\n\n @HostBinding('style.marginInline')\n get __hostClass(): string {\n return `.5rem`;\n }\n}\n","<div class=\"ax-color-flex-container\">\n <div [style]=\"{ backgroundColor: selectedColor() }\" class=\"ax-submit-color\"></div>\n <ax-button #colorBtn look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-color-palette\"></ax-icon>\n </ax-button>\n</div>\n<ax-popover\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"colorBtn\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane\">\n <ax-color-palette (ngModelChange)=\"changeColorHandler($event)\" [ngModel]=\"selectedColor()\">\n <ax-color-palette-preview></ax-color-palette-preview>\n <ax-color-palette-picker></ax-color-palette-picker>\n <ax-color-palette-input></ax-color-palette-input>\n </ax-color-palette>\n </div>\n</ax-popover>\n","import { AXPlacement } from '@acorex/components/common';\nimport { AXPopoverCloseTrigger, AXPopoverOpenTrigger } from '@acorex/components/popover';\nimport { Component, HostBinding, inject, signal, ViewEncapsulation } from '@angular/core';\nimport { AXPaintService } from '../../paint.service';\n\n/**\n * paint mode.\n * @category Components\n */\n@Component({\n selector: 'ax-paint-pen-mode-changer',\n templateUrl: './paint-pen-mode-changer.component.html',\n styleUrl: './paint-pen-mode-changer.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXPaintPenModeChangerComponent {\n /** @ignore */\n protected service = inject(AXPaintService);\n\n /** @ignore */\n protected value = 10;\n\n /** @ignore */\n protected popoverOption: {\n openOn: AXPopoverOpenTrigger;\n closeOn: AXPopoverCloseTrigger;\n placement: AXPlacement;\n offsetX: number;\n offsetY: number;\n } = {\n openOn: 'click',\n closeOn: 'clickOut',\n placement: 'top',\n offsetX: 0,\n offsetY: 0,\n };\n\n /** @ignore */\n protected selectedPenType = signal<'pen' | 'highlight' | 'eraser'>('pen');\n\n /** @ignore */\n protected penTypeHandler(e: 'pen' | 'highlight' | 'eraser') {\n this.service.penType.set(e);\n }\n\n /** @ignore */\n protected clear() {\n this.service.toggleClear.update((prev) => !prev);\n }\n\n @HostBinding('style.marginInline')\n get __hostClass(): string {\n return `.5rem`;\n }\n\n /** @ignore */\n protected valueHandler(e: number) {\n this.service.lineWidth.set(e);\n }\n}\n","<ax-button look=\"blank\" #alignPop>\n @switch (service.penType()) {\n @case ('pen') {\n <ax-icon class=\"ax-icon ax-icon-pen\"></ax-icon>\n }\n @case ('highlight') {\n <ax-icon class=\"ax-icon ax-icon-highlight\"></ax-icon>\n }\n @case ('eraser') {\n <ax-icon class=\"ax-icon ax-icon-eraser\"></ax-icon>\n }\n }\n</ax-button>\n\n<ax-button (click)=\"clear()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-undo\"></ax-icon>\n</ax-button>\n\n<ax-popover\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"alignPop\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane\">\n <ax-button\n (click)=\"penTypeHandler('pen')\"\n look=\"blank\"\n [selected]=\"this.service.penType() === 'pen' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-pen\"></ax-icon>\n </ax-button>\n\n <ax-button\n (click)=\"penTypeHandler('highlight')\"\n look=\"blank\"\n [selected]=\"this.service.penType() === 'highlight' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-highlight\"></ax-icon>\n </ax-button>\n\n <ax-button\n (click)=\"penTypeHandler('eraser')\"\n look=\"blank\"\n [selected]=\"this.service.penType() === 'eraser' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-eraser\"></ax-icon>\n </ax-button>\n\n <div class=\"ax-paint-width-slider\">\n <ax-range-slider\n [min]=\"2\"\n [max]=\"20\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"valueHandler($event)\"\n ></ax-range-slider>\n </div>\n </div>\n</ax-popover>\n","import {\n afterNextRender,\n Component,\n effect,\n ElementRef,\n HostBinding,\n inject,\n input,\n OnDestroy,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXPaintContainerComponent } from '../paint-container/paint-container.component';\nimport { AXPaintService } from '../paint.service';\n\n/**\n * @category Components\n * paint view\n */\n@Component({\n selector: 'ax-paint-view',\n templateUrl: './paint-view.component.html',\n styleUrl: './paint-view.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXPaintViewComponent implements OnDestroy {\n /** @ignore */\n parent = inject(AXPaintContainerComponent);\n\n /** @ignore */\n protected service = inject(AXPaintService);\n\n /**\n * Specifies the class that pass to component.\n *\n */\n customClass = input<string>('', { alias: 'class' });\n\n /** @ignore */\n protected canvasElem = viewChild<ElementRef<HTMLCanvasElement>>('c');\n\n /** @ignore */\n protected ctx = signal<CanvasRenderingContext2D>(null);\n\n /** @ignore */\n protected isPainting = signal(false);\n\n /** @ignore */\n protected isUserInteract = signal(false);\n\n /** @ignore */\n constructor() {\n afterNextRender(() => {\n this.ctx.set(this.canvasElem().nativeElement.getContext('2d'));\n this.ctx().canvas.width = this.getBoundingCanvasHandler().width;\n this.ctx().canvas.height = this.getBoundingCanvasHandler().height;\n this.ctx().lineJoin = 'round';\n this.ctx().lineCap = 'round';\n this.ctx().strokeStyle = this.service.penColor();\n this.ctx().lineWidth = this.service.lineWidth();\n });\n\n effect(\n () => {\n this.isUserInteract.set(false);\n this.service.toggleClear();\n this.ctx()?.clearRect(\n 0,\n 0,\n this.getBoundingCanvasHandler()?.width,\n this.getBoundingCanvasHandler()?.height,\n );\n },\n { allowSignalWrites: true },\n );\n\n window.addEventListener('resize', this.resizeEventHandler.bind(this));\n }\n\n /** @ignore */\n ngOnDestroy(): void {\n removeEventListener('resize', this.resizeEventHandler);\n }\n\n /** @ignore */\n protected resizeEventHandler() {\n this.ctx().canvas.width = this.getBoundingCanvasHandler()?.width;\n this.ctx().canvas.height = this.getBoundingCanvasHandler()?.height;\n }\n\n /** @ignore */\n protected penConfigHandler(penType: 'eraser' | 'pen' | 'highlight') {\n switch (penType) {\n case 'pen':\n this.ctx().globalAlpha = 1;\n this.ctx().globalCompositeOperation = 'source-over';\n break;\n case 'eraser':\n this.ctx().globalAlpha = 1;\n this.ctx().globalCompositeOperation = 'destination-out';\n break;\n case 'highlight':\n this.ctx().globalAlpha = 0.008;\n this.ctx().globalCompositeOperation = 'source-over';\n break;\n }\n }\n\n /** @ignore */\n protected getBoundingCanvasHandler() {\n return this.canvasElem().nativeElement.getBoundingClientRect();\n }\n\n /** @ignore */\n protected mouseDownHandler(e: MouseEvent) {\n this.isPainting.set(true);\n this.isUserInteract.set(true);\n\n this.penConfigHandler(this.service.penType());\n\n this.ctx().strokeStyle = this.service.penColor();\n this.ctx().lineWidth = this.service.lineWidth();\n\n this.ctx().beginPath();\n this.ctx().moveTo(e.offsetX, e.offsetY);\n this.ctx().lineTo(e.offsetX, e.offsetY);\n this.ctx().stroke();\n }\n\n /** @ignore */\n protected mouseMoveHandler(e: MouseEvent) {\n if (this.isPainting()) {\n this.ctx().lineTo(e.offsetX, e.offsetY);\n this.ctx().stroke();\n }\n }\n\n /** @ignore */\n protected mouseUpHandler() {\n this.ctx().closePath();\n this.isPainting.set(false);\n }\n\n /** @ignore */\n protected touchStartHandler(e: TouchEvent) {\n const offsetX = e.touches[0].clientX - this.getBoundingCanvasHandler().left;\n const offsetY = e.touches[0].clientY - this.getBoundingCanvasHandler().top;\n\n this.isPainting.set(true);\n this.isUserInteract.set(true);\n\n this.penConfigHandler(this.service.penType());\n\n this.ctx().strokeStyle = this.service.penColor();\n this.ctx().lineWidth = this.service.lineWidth();\n\n this.ctx().beginPath();\n this.ctx().moveTo(offsetX, offsetY);\n this.ctx().lineTo(offsetX, offsetY);\n this.ctx().stroke();\n }\n\n /** @ignore */\n protected touchMoveHandler(e: TouchEvent) {\n e.preventDefault(); // prevent page from scroll\n if (this.isPainting()) {\n const offsetX = e.touches[0].clientX - this.getBoundingCanvasHandler().left;\n const offsetY = e.touches[0].clientY - this.getBoundingCanvasHandler().top;\n this.ctx().lineTo(offsetX, offsetY);\n this.ctx().stroke();\n }\n }\n\n /** @ignore */\n protected touchEndHandler() {\n this.ctx().closePath();\n this.isPainting.set(false);\n }\n\n /**\n * @param e - output file type\n */\n getOutPut(e: 'image/webp' | 'image/png' | 'image/jpeg') {\n const base64 = this.canvasElem().nativeElement.toDataURL(e, 0.1);\n if (this.isUserInteract()) {\n this.parent.commitValue(base64);\n } else {\n this.parent.commitValue(null);\n }\n }\n\n @HostBinding('class')\n get __hostClass(): string {\n return `${this.customClass()}`;\n }\n}\n","<canvas\n #c\n tabindex=\"1\"\n (mousedown)=\"mouseDownHandler($event)\"\n (mouseup)=\"mouseUpHandler()\"\n (mousemove)=\"mouseMoveHandler($event)\"\n (touchstart)=\"touchStartHandler($event)\"\n (touchend)=\"touchEndHandler()\"\n (touchmove)=\"touchMoveHandler($event)\"\n class=\"ax-canvas-element\"\n>\n</canvas>\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXColorPaletteModule } from '@acorex/components/color-palette';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXRangeSliderModule } from '@acorex/components/range-slider';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXPaintContainerComponent } from './paint/paint-container/paint-container.component';\nimport { AXPaintToolbarComponent } from './paint/paint-toolbar/paint-toolbar.component';\nimport { AXPaintColorPickerComponent } from './paint/paint-tools/paint-color-picker/paint-color-picker.component';\nimport { AXPaintPenModeChangerComponent } from './paint/paint-tools/paint-pen-mode-changer/paint-pen-mode-changer.component';\nimport { AXPaintViewComponent } from './paint/paint-view/paint-view.component';\nimport { AXPaintService } from './paint/paint.service';\n\nconst COMPONENT = [\n AXPaintContainerComponent,\n AXPaintToolbarComponent,\n AXPaintViewComponent,\n AXPaintColorPickerComponent,\n AXPaintPenModeChangerComponent,\n];\n\nconst MODULES = [\n FormsModule,\n AXRangeSliderModule,\n AXSelectBoxModule,\n AXButtonModule,\n AXColorPaletteModule,\n AXPopoverModule,\n AXDecoratorModule,\n];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [AXPaintService],\n})\nexport class AXPaintModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i3"],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@acorex/components",
|
3
|
-
"version": "18.10.
|
3
|
+
"version": "18.10.13",
|
4
4
|
"peerDependencies": {
|
5
5
|
"@angular/common": ">=18.2.0",
|
6
6
|
"@angular/core": ">=18.2.0",
|
@@ -32,36 +32,36 @@
|
|
32
32
|
"esm": "./esm2022/action-sheet/acorex-components-action-sheet.mjs",
|
33
33
|
"default": "./fesm2022/acorex-components-action-sheet.mjs"
|
34
34
|
},
|
35
|
-
"./avatar": {
|
36
|
-
"types": "./avatar/index.d.ts",
|
37
|
-
"esm2022": "./esm2022/avatar/acorex-components-avatar.mjs",
|
38
|
-
"esm": "./esm2022/avatar/acorex-components-avatar.mjs",
|
39
|
-
"default": "./fesm2022/acorex-components-avatar.mjs"
|
40
|
-
},
|
41
35
|
"./alert": {
|
42
36
|
"types": "./alert/index.d.ts",
|
43
37
|
"esm2022": "./esm2022/alert/acorex-components-alert.mjs",
|
44
38
|
"esm": "./esm2022/alert/acorex-components-alert.mjs",
|
45
39
|
"default": "./fesm2022/acorex-components-alert.mjs"
|
46
40
|
},
|
41
|
+
"./avatar": {
|
42
|
+
"types": "./avatar/index.d.ts",
|
43
|
+
"esm2022": "./esm2022/avatar/acorex-components-avatar.mjs",
|
44
|
+
"esm": "./esm2022/avatar/acorex-components-avatar.mjs",
|
45
|
+
"default": "./fesm2022/acorex-components-avatar.mjs"
|
46
|
+
},
|
47
47
|
"./bottom-navigation": {
|
48
48
|
"types": "./bottom-navigation/index.d.ts",
|
49
49
|
"esm2022": "./esm2022/bottom-navigation/acorex-components-bottom-navigation.mjs",
|
50
50
|
"esm": "./esm2022/bottom-navigation/acorex-components-bottom-navigation.mjs",
|
51
51
|
"default": "./fesm2022/acorex-components-bottom-navigation.mjs"
|
52
52
|
},
|
53
|
-
"./breadcrumbs": {
|
54
|
-
"types": "./breadcrumbs/index.d.ts",
|
55
|
-
"esm2022": "./esm2022/breadcrumbs/acorex-components-breadcrumbs.mjs",
|
56
|
-
"esm": "./esm2022/breadcrumbs/acorex-components-breadcrumbs.mjs",
|
57
|
-
"default": "./fesm2022/acorex-components-breadcrumbs.mjs"
|
58
|
-
},
|
59
53
|
"./audio-wave": {
|
60
54
|
"types": "./audio-wave/index.d.ts",
|
61
55
|
"esm2022": "./esm2022/audio-wave/acorex-components-audio-wave.mjs",
|
62
56
|
"esm": "./esm2022/audio-wave/acorex-components-audio-wave.mjs",
|
63
57
|
"default": "./fesm2022/acorex-components-audio-wave.mjs"
|
64
58
|
},
|
59
|
+
"./breadcrumbs": {
|
60
|
+
"types": "./breadcrumbs/index.d.ts",
|
61
|
+
"esm2022": "./esm2022/breadcrumbs/acorex-components-breadcrumbs.mjs",
|
62
|
+
"esm": "./esm2022/breadcrumbs/acorex-components-breadcrumbs.mjs",
|
63
|
+
"default": "./fesm2022/acorex-components-breadcrumbs.mjs"
|
64
|
+
},
|
65
65
|
"./badge": {
|
66
66
|
"types": "./badge/index.d.ts",
|
67
67
|
"esm2022": "./esm2022/badge/acorex-components-badge.mjs",
|
@@ -350,18 +350,18 @@
|
|
350
350
|
"esm": "./esm2022/radio/acorex-components-radio.mjs",
|
351
351
|
"default": "./fesm2022/acorex-components-radio.mjs"
|
352
352
|
},
|
353
|
-
"./rate-picker": {
|
354
|
-
"types": "./rate-picker/index.d.ts",
|
355
|
-
"esm2022": "./esm2022/rate-picker/acorex-components-rate-picker.mjs",
|
356
|
-
"esm": "./esm2022/rate-picker/acorex-components-rate-picker.mjs",
|
357
|
-
"default": "./fesm2022/acorex-components-rate-picker.mjs"
|
358
|
-
},
|
359
353
|
"./range-slider": {
|
360
354
|
"types": "./range-slider/index.d.ts",
|
361
355
|
"esm2022": "./esm2022/range-slider/acorex-components-range-slider.mjs",
|
362
356
|
"esm": "./esm2022/range-slider/acorex-components-range-slider.mjs",
|
363
357
|
"default": "./fesm2022/acorex-components-range-slider.mjs"
|
364
358
|
},
|
359
|
+
"./rate-picker": {
|
360
|
+
"types": "./rate-picker/index.d.ts",
|
361
|
+
"esm2022": "./esm2022/rate-picker/acorex-components-rate-picker.mjs",
|
362
|
+
"esm": "./esm2022/rate-picker/acorex-components-rate-picker.mjs",
|
363
|
+
"default": "./fesm2022/acorex-components-rate-picker.mjs"
|
364
|
+
},
|
365
365
|
"./result": {
|
366
366
|
"types": "./result/index.d.ts",
|
367
367
|
"esm2022": "./esm2022/result/acorex-components-result.mjs",
|
@@ -386,18 +386,18 @@
|
|
386
386
|
"esm": "./esm2022/scss/acorex-components-scss.mjs",
|
387
387
|
"default": "./fesm2022/acorex-components-scss.mjs"
|
388
388
|
},
|
389
|
-
"./select-box": {
|
390
|
-
"types": "./select-box/index.d.ts",
|
391
|
-
"esm2022": "./esm2022/select-box/acorex-components-select-box.mjs",
|
392
|
-
"esm": "./esm2022/select-box/acorex-components-select-box.mjs",
|
393
|
-
"default": "./fesm2022/acorex-components-select-box.mjs"
|
394
|
-
},
|
395
389
|
"./search-box": {
|
396
390
|
"types": "./search-box/index.d.ts",
|
397
391
|
"esm2022": "./esm2022/search-box/acorex-components-search-box.mjs",
|
398
392
|
"esm": "./esm2022/search-box/acorex-components-search-box.mjs",
|
399
393
|
"default": "./fesm2022/acorex-components-search-box.mjs"
|
400
394
|
},
|
395
|
+
"./select-box": {
|
396
|
+
"types": "./select-box/index.d.ts",
|
397
|
+
"esm2022": "./esm2022/select-box/acorex-components-select-box.mjs",
|
398
|
+
"esm": "./esm2022/select-box/acorex-components-select-box.mjs",
|
399
|
+
"default": "./fesm2022/acorex-components-select-box.mjs"
|
400
|
+
},
|
401
401
|
"./selection-list": {
|
402
402
|
"types": "./selection-list/index.d.ts",
|
403
403
|
"esm2022": "./esm2022/selection-list/acorex-components-selection-list.mjs",
|
package/paint/index.d.ts
CHANGED
@@ -2,6 +2,5 @@ export * from './lib/paint.module';
|
|
2
2
|
export * from './lib/paint/paint-container/paint-container.component';
|
3
3
|
export * from './lib/paint/paint-toolbar/paint-toolbar.component';
|
4
4
|
export * from './lib/paint/paint-tools/paint-color-picker/paint-color-picker.component';
|
5
|
-
export * from './lib/paint/paint-tools/paint-pen-cap/paint-pen-cap.component';
|
6
5
|
export * from './lib/paint/paint-tools/paint-pen-mode-changer/paint-pen-mode-changer.component';
|
7
6
|
export * from './lib/paint/paint-view/paint-view.component';
|
@@ -1,7 +1,6 @@
|
|
1
1
|
import * as i0 from "@angular/core";
|
2
2
|
export declare class AXPaintService {
|
3
3
|
penColor: import("@angular/core").WritableSignal<string | CanvasGradient | CanvasPattern>;
|
4
|
-
lineCap: import("@angular/core").WritableSignal<CanvasLineCap>;
|
5
4
|
lineWidth: import("@angular/core").WritableSignal<number>;
|
6
5
|
penType: import("@angular/core").WritableSignal<"pen" | "highlight" | "eraser">;
|
7
6
|
toggleClear: import("@angular/core").WritableSignal<boolean>;
|
@@ -3,17 +3,16 @@ import * as i1 from "./paint/paint-container/paint-container.component";
|
|
3
3
|
import * as i2 from "./paint/paint-toolbar/paint-toolbar.component";
|
4
4
|
import * as i3 from "./paint/paint-view/paint-view.component";
|
5
5
|
import * as i4 from "./paint/paint-tools/paint-color-picker/paint-color-picker.component";
|
6
|
-
import * as i5 from "./paint/paint-tools/paint-pen-
|
7
|
-
import * as i6 from "
|
8
|
-
import * as i7 from "@
|
9
|
-
import * as i8 from "@acorex/components/
|
10
|
-
import * as i9 from "@acorex/components/
|
11
|
-
import * as i10 from "@acorex/components/
|
12
|
-
import * as i11 from "@acorex/components/
|
13
|
-
import * as i12 from "@acorex/components/
|
14
|
-
import * as i13 from "@acorex/components/decorators";
|
6
|
+
import * as i5 from "./paint/paint-tools/paint-pen-mode-changer/paint-pen-mode-changer.component";
|
7
|
+
import * as i6 from "@angular/forms";
|
8
|
+
import * as i7 from "@acorex/components/range-slider";
|
9
|
+
import * as i8 from "@acorex/components/select-box";
|
10
|
+
import * as i9 from "@acorex/components/button";
|
11
|
+
import * as i10 from "@acorex/components/color-palette";
|
12
|
+
import * as i11 from "@acorex/components/popover";
|
13
|
+
import * as i12 from "@acorex/components/decorators";
|
15
14
|
export declare class AXPaintModule {
|
16
15
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXPaintModule, never>;
|
17
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<AXPaintModule, [typeof i1.AXPaintContainerComponent, typeof i2.AXPaintToolbarComponent, typeof i3.AXPaintViewComponent, typeof i4.AXPaintColorPickerComponent, typeof i5.
|
16
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AXPaintModule, [typeof i1.AXPaintContainerComponent, typeof i2.AXPaintToolbarComponent, typeof i3.AXPaintViewComponent, typeof i4.AXPaintColorPickerComponent, typeof i5.AXPaintPenModeChangerComponent], [typeof i6.FormsModule, typeof i7.AXRangeSliderModule, typeof i8.AXSelectBoxModule, typeof i9.AXButtonModule, typeof i10.AXColorPaletteModule, typeof i11.AXPopoverModule, typeof i12.AXDecoratorModule], [typeof i1.AXPaintContainerComponent, typeof i2.AXPaintToolbarComponent, typeof i3.AXPaintViewComponent, typeof i4.AXPaintColorPickerComponent, typeof i5.AXPaintPenModeChangerComponent]>;
|
18
17
|
static ɵinj: i0.ɵɵInjectorDeclaration<AXPaintModule>;
|
19
18
|
}
|
@@ -1,37 +0,0 @@
|
|
1
|
-
import { Component, HostBinding, inject, signal, ViewEncapsulation } from '@angular/core';
|
2
|
-
import { AXPaintContainerComponent } from '../../paint-container/paint-container.component';
|
3
|
-
import { AXPaintService } from '../../paint.service';
|
4
|
-
import * as i0 from "@angular/core";
|
5
|
-
import * as i1 from "@angular/forms";
|
6
|
-
import * as i2 from "@acorex/components/select-box";
|
7
|
-
/**
|
8
|
-
* paint pen cap.
|
9
|
-
* @category Components
|
10
|
-
*/
|
11
|
-
export class AXPaintPenCapComponent {
|
12
|
-
constructor() {
|
13
|
-
/** @ignore */
|
14
|
-
this.parent = inject(AXPaintContainerComponent);
|
15
|
-
/** @ignore */
|
16
|
-
this.service = inject(AXPaintService);
|
17
|
-
/** @ignore */
|
18
|
-
this.selectedLineCap = signal('round');
|
19
|
-
}
|
20
|
-
/** @ignore */
|
21
|
-
lineCapHandler(e) {
|
22
|
-
this.service.lineCap.set(e);
|
23
|
-
}
|
24
|
-
get __hostClass() {
|
25
|
-
return `.5rem`;
|
26
|
-
}
|
27
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPaintPenCapComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
28
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXPaintPenCapComponent, selector: "ax-paint-pen-cap", host: { properties: { "style.marginInline": "this.__hostClass" } }, ngImport: i0, template: "<ax-select-box\n [look]=\"this.parent.look\"\n (ngModelChange)=\"lineCapHandler($event)\"\n [ngModel]=\"selectedLineCap()\"\n [dataSource]=\"['round', 'square']\"\n placeholder=\"Choose...\"\n>\n</ax-select-box>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "textTemplate", "dataSource", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
29
|
-
}
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPaintPenCapComponent, decorators: [{
|
31
|
-
type: Component,
|
32
|
-
args: [{ selector: 'ax-paint-pen-cap', encapsulation: ViewEncapsulation.None, template: "<ax-select-box\n [look]=\"this.parent.look\"\n (ngModelChange)=\"lineCapHandler($event)\"\n [ngModel]=\"selectedLineCap()\"\n [dataSource]=\"['round', 'square']\"\n placeholder=\"Choose...\"\n>\n</ax-select-box>\n" }]
|
33
|
-
}], propDecorators: { __hostClass: [{
|
34
|
-
type: HostBinding,
|
35
|
-
args: ['style.marginInline']
|
36
|
-
}] } });
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFpbnQtcGVuLWNhcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcGFpbnQvc3JjL2xpYi9wYWludC9wYWludC10b29scy9wYWludC1wZW4tY2FwL3BhaW50LXBlbi1jYXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3BhaW50L3NyYy9saWIvcGFpbnQvcGFpbnQtdG9vbHMvcGFpbnQtcGVuLWNhcC9wYWludC1wZW4tY2FwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDNUYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7O0FBRXJEOzs7R0FHRztBQU9ILE1BQU0sT0FBTyxzQkFBc0I7SUFObkM7UUFPRSxjQUFjO1FBQ0osV0FBTSxHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBRXJELGNBQWM7UUFDSixZQUFPLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRTNDLGNBQWM7UUFDSixvQkFBZSxHQUFHLE1BQU0sQ0FBZ0IsT0FBTyxDQUFDLENBQUM7S0FXNUQ7SUFUQyxjQUFjO0lBQ0osY0FBYyxDQUFDLENBQWdCO1FBQ3ZDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFDSSxXQUFXO1FBQ2IsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQzs4R0FsQlUsc0JBQXNCO2tHQUF0QixzQkFBc0IsNEhDZG5DLDROQVFBOzsyRkRNYSxzQkFBc0I7a0JBTmxDLFNBQVM7K0JBQ0Usa0JBQWtCLGlCQUdiLGlCQUFpQixDQUFDLElBQUk7OEJBa0JqQyxXQUFXO3NCQURkLFdBQVc7dUJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgaW5qZWN0LCBzaWduYWwsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBhaW50Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcGFpbnQtY29udGFpbmVyL3BhaW50LWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhQYWludFNlcnZpY2UgfSBmcm9tICcuLi8uLi9wYWludC5zZXJ2aWNlJztcblxuLyoqXG4gKiBwYWludCBwZW4gY2FwLlxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtcGFpbnQtcGVuLWNhcCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWludC1wZW4tY2FwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3BhaW50LXBlbi1jYXAuY29tcG9uZW50LnNjc3MnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBhaW50UGVuQ2FwQ29tcG9uZW50IHtcbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIHBhcmVudCA9IGluamVjdChBWFBhaW50Q29udGFpbmVyQ29tcG9uZW50KTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgc2VydmljZSA9IGluamVjdChBWFBhaW50U2VydmljZSk7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIHNlbGVjdGVkTGluZUNhcCA9IHNpZ25hbDxDYW52YXNMaW5lQ2FwPigncm91bmQnKTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgbGluZUNhcEhhbmRsZXIoZTogQ2FudmFzTGluZUNhcCkge1xuICAgIHRoaXMuc2VydmljZS5saW5lQ2FwLnNldChlKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUubWFyZ2luSW5saW5lJylcbiAgZ2V0IF9faG9zdENsYXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAuNXJlbWA7XG4gIH1cbn1cbiIsIjxheC1zZWxlY3QtYm94XG4gIFtsb29rXT1cInRoaXMucGFyZW50Lmxvb2tcIlxuICAobmdNb2RlbENoYW5nZSk9XCJsaW5lQ2FwSGFuZGxlcigkZXZlbnQpXCJcbiAgW25nTW9kZWxdPVwic2VsZWN0ZWRMaW5lQ2FwKClcIlxuICBbZGF0YVNvdXJjZV09XCJbJ3JvdW5kJywgJ3NxdWFyZSddXCJcbiAgcGxhY2Vob2xkZXI9XCJDaG9vc2UuLi5cIlxuPlxuPC9heC1zZWxlY3QtYm94PlxuIl19
|
@@ -1,20 +0,0 @@
|
|
1
|
-
import { AXPaintContainerComponent } from '../../paint-container/paint-container.component';
|
2
|
-
import { AXPaintService } from '../../paint.service';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
/**
|
5
|
-
* paint pen cap.
|
6
|
-
* @category Components
|
7
|
-
*/
|
8
|
-
export declare class AXPaintPenCapComponent {
|
9
|
-
/** @ignore */
|
10
|
-
protected parent: AXPaintContainerComponent;
|
11
|
-
/** @ignore */
|
12
|
-
protected service: AXPaintService;
|
13
|
-
/** @ignore */
|
14
|
-
protected selectedLineCap: import("@angular/core").WritableSignal<CanvasLineCap>;
|
15
|
-
/** @ignore */
|
16
|
-
protected lineCapHandler(e: CanvasLineCap): void;
|
17
|
-
get __hostClass(): string;
|
18
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AXPaintPenCapComponent, never>;
|
19
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AXPaintPenCapComponent, "ax-paint-pen-cap", never, {}, {}, never, never, false, never>;
|
20
|
-
}
|