@acorex/components 20.4.6 → 20.4.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -57,6 +57,8 @@ declare class AXCommandComponent extends AXCommandComponent_base {
57
57
  */
58
58
  customTemplate: _angular_core.InputSignal<TemplateRef<any>>;
59
59
  searchBar: _angular_core.InputSignal<boolean>;
60
+ divider: _angular_core.InputSignal<boolean>;
61
+ searchKey: _angular_core.InputSignal<string>;
60
62
  footerButtons: _angular_core.InputSignal<AXCommandFooter>;
61
63
  protected displayItems: _angular_core.Signal<AXCommandItem[]>;
62
64
  protected focusHandler(e: AXFocusEvent): void;
@@ -68,7 +70,7 @@ declare class AXCommandComponent extends AXCommandComponent_base {
68
70
  protected closeHandler(e: AXHtmlEvent<KeyboardEvent>): void;
69
71
  protected activeHandler(l: AXListNavigationDirective, i: AXListNavigationItemDirective): void;
70
72
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXCommandComponent, never>;
71
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXCommandComponent, "ax-command", never, { "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "value": { "alias": "value"; "required": false; }; "state": { "alias": "state"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "customTemplate": { "alias": "customTemplate"; "required": false; "isSignal": true; }; "searchBar": { "alias": "searchBar"; "required": false; "isSignal": true; }; "footerButtons": { "alias": "footerButtons"; "required": false; "isSignal": true; }; }, { "onSubmit": "onSubmit"; "onEscape": "onEscape"; "onSearchBoxFocus": "onSearchBoxFocus"; "onSearchBoxBlur": "onSearchBoxBlur"; }, never, never, true, never>;
73
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXCommandComponent, "ax-command", never, { "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "value": { "alias": "value"; "required": false; }; "state": { "alias": "state"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "customTemplate": { "alias": "customTemplate"; "required": false; "isSignal": true; }; "searchBar": { "alias": "searchBar"; "required": false; "isSignal": true; }; "divider": { "alias": "divider"; "required": false; "isSignal": true; }; "searchKey": { "alias": "searchKey"; "required": false; "isSignal": true; }; "footerButtons": { "alias": "footerButtons"; "required": false; "isSignal": true; }; }, { "onSubmit": "onSubmit"; "onEscape": "onEscape"; "onSearchBoxFocus": "onSearchBoxFocus"; "onSearchBoxBlur": "onSearchBoxBlur"; }, never, never, true, never>;
72
74
  }
73
75
 
74
76
  declare class AXCommandModule {
@@ -32,6 +32,8 @@ class AXCommandComponent extends classes((MXInputBaseValueComponent), MXLookComp
32
32
  */
33
33
  this.customTemplate = input(...(ngDevMode ? [undefined, { debugName: "customTemplate" }] : []));
34
34
  this.searchBar = input(true, ...(ngDevMode ? [{ debugName: "searchBar" }] : []));
35
+ this.divider = input(true, ...(ngDevMode ? [{ debugName: "divider" }] : []));
36
+ this.searchKey = input(null, ...(ngDevMode ? [{ debugName: "searchKey" }] : []));
35
37
  this.footerButtons = input({ navigation: true, select: true, close: true }, ...(ngDevMode ? [{ debugName: "footerButtons" }] : []));
36
38
  this.displayItems = computed(() => {
37
39
  const searchValue = this.searchValue();
@@ -53,9 +55,16 @@ class AXCommandComponent extends classes((MXInputBaseValueComponent), MXLookComp
53
55
  }
54
56
  filterRecursive(items, value) {
55
57
  const lowerSignal = value.toLowerCase();
58
+ const searchKey = this.searchKey();
56
59
  return items
57
60
  .map((item) => {
58
- const isMatch = item.text?.toLowerCase().includes(lowerSignal) || item.href?.toLowerCase().includes(lowerSignal);
61
+ let isMatch;
62
+ if (searchKey) {
63
+ isMatch = item[searchKey]?.toLowerCase().includes(lowerSignal);
64
+ }
65
+ else {
66
+ isMatch = item.text?.toLowerCase().includes(lowerSignal) || item.href?.toLowerCase().includes(lowerSignal);
67
+ }
59
68
  const filteredChildren = item.children ? this.filterRecursive(item.children, value) : [];
60
69
  if (isMatch || filteredChildren.length > 0) {
61
70
  return {
@@ -100,7 +109,7 @@ class AXCommandComponent extends classes((MXInputBaseValueComponent), MXLookComp
100
109
  l?.navigateTo(i);
101
110
  }
102
111
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXCommandComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
103
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: AXCommandComponent, isStandalone: true, selector: "ax-command", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: false, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, customTemplate: { classPropertyName: "customTemplate", publicName: "customTemplate", isSignal: true, isRequired: false, transformFunction: null }, searchBar: { classPropertyName: "searchBar", publicName: "searchBar", isSignal: true, isRequired: false, transformFunction: null }, footerButtons: { classPropertyName: "footerButtons", publicName: "footerButtons", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSubmit: "onSubmit", onEscape: "onEscape", onSearchBoxFocus: "onSearchBoxFocus", onSearchBoxBlur: "onSearchBoxBlur" }, providers: [
112
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: AXCommandComponent, isStandalone: true, selector: "ax-command", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: false, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, customTemplate: { classPropertyName: "customTemplate", publicName: "customTemplate", isSignal: true, isRequired: false, transformFunction: null }, searchBar: { classPropertyName: "searchBar", publicName: "searchBar", isSignal: true, isRequired: false, transformFunction: null }, divider: { classPropertyName: "divider", publicName: "divider", isSignal: true, isRequired: false, transformFunction: null }, searchKey: { classPropertyName: "searchKey", publicName: "searchKey", isSignal: true, isRequired: false, transformFunction: null }, footerButtons: { classPropertyName: "footerButtons", publicName: "footerButtons", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSubmit: "onSubmit", onEscape: "onEscape", onSearchBoxFocus: "onSearchBoxFocus", onSearchBoxBlur: "onSearchBoxBlur" }, providers: [
104
113
  {
105
114
  provide: NG_VALUE_ACCESSOR,
106
115
  useExisting: forwardRef(() => AXCommandComponent),
@@ -108,7 +117,7 @@ class AXCommandComponent extends classes((MXInputBaseValueComponent), MXLookComp
108
117
  },
109
118
  { provide: AXComponent, useExisting: AXCommandComponent },
110
119
  { provide: AXValuableComponent, useExisting: AXCommandComponent },
111
- ], viewQueries: [{ propertyName: "searchBox", first: true, predicate: ["f"], descendants: true, isSignal: true }, { propertyName: "listNavigation", first: true, predicate: ["l"], descendants: true, read: AXListNavigationDirective, isSignal: true }, { propertyName: "listNav", first: true, predicate: AXListNavigationDirective, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (searchBar()) {\n <div class=\"ax-search-box-container\">\n <ax-search-box\n #f\n [delayTime]=\"20\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [(ngModel)]=\"searchValue\"\n (onFocus)=\"focusHandler($event)\"\n (onBlur)=\"blurHandler($event)\"\n (onKeyDown)=\"searchEscapeHandler($event)\"\n [axAutoFocus]=\"true\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-search-box>\n </div>\n}\n\n<div #l class=\"ax-command-container\" #s=\"axListNavigation\" axListNavigation (onKeypress)=\"closeHandler($event)\">\n @if (value?.pinned && !searchValue()) {\n <div class=\"ax-command-item-pinned-container\">\n @if (value.pinned.title) {\n <ax-text class=\"ax-command-item-pinned-text\">{{ value.pinned.title }}</ax-text>\n }\n\n @for (item of value.pinned.items; track item.id) {\n <ng-container\n [ngTemplateOutlet]=\"renderItem\"\n [ngTemplateOutletContext]=\"{ $implicit: item, level: 1, listNavigation: s }\"\n >\n </ng-container>\n }\n </div>\n }\n\n @if (value?.list && !searchValue()) {\n <div class=\"ax-command-item-pinned-container\">\n @if (value.list.title) {\n <ax-text class=\"ax-command-item-pinned-text\">{{ value.list.title }}</ax-text>\n } @else {\n <div class=\"ax-command-divider\"></div>\n }\n\n @for (item of value.list.items; track item.id) {\n <ng-container\n [ngTemplateOutlet]=\"renderItem\"\n [ngTemplateOutletContext]=\"{ $implicit: item, level: 1, listNavigation: s }\"\n >\n </ng-container>\n }\n </div>\n }\n\n @if (displayItems() && searchValue()) {\n <div class=\"ax-command-item-wrapper\">\n @for (item of displayItems(); track item.id) {\n <ng-container\n [ngTemplateOutlet]=\"renderItem\"\n [ngTemplateOutletContext]=\"{ $implicit: item, level: 1, listNavigation: s }\"\n >\n </ng-container>\n } @empty {\n <div class=\"ax-command-not-found\">\n <ax-text>No results found for \"{{ searchValue() }}\"</ax-text>\n </div>\n }\n </div>\n }\n\n <ng-template #renderItem let-item let-level=\"level\" let-listNavigation=\"listNavigation\">\n <div\n (mouseenter)=\"activeHandler(listNavigation, a)\"\n class=\"ax-remove-default-select-style\"\n [class.ax-command-item-container]=\"!customTemplate()\"\n [style.padding-inline-start.rem]=\"!customTemplate() ? level * 0.625 : 0\"\n [class.ax-command-item-container-active]=\"a.isActive() && !customTemplate()\"\n #a=\"axListNavigationItem\"\n axListNavigationItem\n (click)=\"onItemClick(item)\"\n (onKeypress)=\"keyPress($event, item)\"\n >\n @if (customTemplate()) {\n <ng-container\n [ngTemplateOutlet]=\"customTemplate()\"\n [ngTemplateOutletContext]=\"{\n $implicit: item,\n level: level,\n isActive: a.isActive(),\n }\"\n ></ng-container>\n } @else {\n <div class=\"ax-command-item\">\n @if (item.icon) {\n <i class=\"ax-command-item-icon\" [class]=\"item.icon\"></i>\n }\n <span class=\"ax-command-item-text\">{{ item.text }}</span>\n </div>\n }\n </div>\n\n @if (item.children?.length) {\n @for (child of item.children; track child.id) {\n <ng-container\n [ngTemplateOutlet]=\"renderItem\"\n [ngTemplateOutletContext]=\"{ $implicit: child, level: level + 1, listNavigation: s }\"\n >\n </ng-container>\n }\n }\n </ng-template>\n</div>\n\n@if (footerButtons().navigation || footerButtons().select || footerButtons().close) {\n <div class=\"ax-command-footer\">\n @if (footerButtons().navigation) {\n <div class=\"ax-kbd-footer\">\n <ax-kbd class=\"ax-kbd\">\n <ax-kbd-item [keys]=\"['&uarr;']\"></ax-kbd-item>\n <ax-kbd-item [keys]=\"['&darr;']\"></ax-kbd-item>\n </ax-kbd>\n <ax-text class=\"ax-kbd-text\">to navigate</ax-text>\n </div>\n }\n\n @if (footerButtons().select) {\n <div class=\"ax-kbd-footer\">\n <ax-kbd class=\"ax-kbd\">\n <ax-kbd-item [keys]=\"['&#8617;']\"></ax-kbd-item>\n </ax-kbd>\n <ax-text class=\"ax-kbd-text\">to select</ax-text>\n </div>\n }\n\n @if (footerButtons().close) {\n <div class=\"ax-kbd-footer\">\n <ax-kbd class=\"ax-kbd\">\n <ax-kbd-item [keys]=\"['esc']\"></ax-kbd-item>\n </ax-kbd>\n <ax-text class=\"ax-kbd-text\">to close</ax-text>\n </div>\n }\n </div>\n}\n", styles: ["ax-command{overflow:hidden;border-radius:var(--ax-sys-border-radius);outline:1px solid rgba(var(--ax-sys-color-border-light-surface));display:block}ax-command .ax-editor-container.ax-solid{--ax-comp-editor-bg-color: var(--ax-sys-color-light-surface)}ax-command .ax-search-box-container{padding:.625rem;background-color:rgba(var(--ax-sys-color-lightest-surface))}ax-command .ax-command-container{max-height:20rem;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;background-color:rgba(var(--ax-sys-color-lightest-surface));color:rgba(var(--ax-sys-color-on-surface))}ax-command .ax-command-container .ax-command-item-pinned-container{padding-inline:.625rem}ax-command .ax-command-container .ax-command-item-pinned-container .ax-command-item-pinned-text{font-weight:500;font-size:.9rem;color:rgba(var(--ax-sys-color-neutral));padding:.625rem;display:block}ax-command .ax-command-container .ax-command-item-pinned-container .ax-command-divider{height:1px;width:100%;background-color:rgba(var(--ax-sys-color-surface))}ax-command .ax-command-container .ax-command-item-wrapper{padding-inline:.625rem}ax-command .ax-command-container .ax-command-item-container{cursor:pointer;padding:.5rem;border:1px solid transparent}ax-command .ax-command-container .ax-command-item-container .ax-command-item{display:flex;align-items:center;gap:.5rem}ax-command .ax-command-container .ax-command-item-container .ax-command-item-text{font-weight:500;color:rgba(var(--ax-sys-color-on-lightest-surface));font-size:.875rem}ax-command .ax-command-container .ax-command-item-container .ax-command-item-icon{color:rgba(var(--ax-sys-color-neutral))}ax-command .ax-command-container .ax-command-not-found{padding:1rem;display:flex;justify-content:center}ax-command .ax-command-container .ax-remove-default-select-style{outline:2px solid transparent;outline-offset:2px;--tw-border-opacity: 1}ax-command .ax-command-container .ax-command-item-container-active{background-color:rgba(var(--ax-sys-color-light-surface));border-radius:var(--ax-sys-border-radius);border:1px solid rgba(var(--ax-sys-color-border-light-surface))}ax-command .ax-kbd{display:flex;gap:.5rem;align-items:center;height:100%}ax-command .ax-command-footer{border-bottom-right-radius:var(--ax-sys-border-radius);border-bottom-left-radius:var(--ax-sys-border-radius);background-color:rgba(var(--ax-sys-color-lighter-surface));color:rgba(var(--ax-sys-color-neutral));padding:.75rem;display:flex;align-items:center;gap:1.5rem}ax-command .ax-command-footer .ax-kbd-footer{display:flex;justify-content:center;align-items:center;gap:.7rem}ax-command .ax-command-footer .ax-kbd-footer kbd{background-color:rgba(var(--ax-sys-color-lightest-surface))}ax-command .ax-command-footer .ax-kbd-text{font-weight:600;font-size:.9rem}\n"], dependencies: [{ kind: "ngmodule", type: AXSearchBoxModule }, { kind: "component", type: i1.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "class", "delayTime", "type", "autoSearch"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "component", type: i2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXListNavigationModule }, { kind: "directive", type: i5.AXListNavigationDirective, selector: "[axListNavigation]", inputs: ["orientation"], outputs: ["onNavigationChanged", "onKeypress"], exportAs: ["axListNavigation"] }, { kind: "directive", type: i5.AXListNavigationItemDirective, selector: "[axListNavigationItem]", outputs: ["onKeypress"], exportAs: ["axListNavigationItem"] }, { kind: "component", type: AXKBDComponent, selector: "ax-kbd", inputs: ["look"] }, { kind: "component", type: AXKBDItemComponent, selector: "ax-kbd-item", inputs: ["keys", "join", "look"], outputs: ["lookChange"] }, { kind: "directive", type: AXAutoFocusDirective, selector: "[axAutoFocus]", inputs: ["axAutoFocus", "axAutoFocusTime"] }], encapsulation: i0.ViewEncapsulation.None }); }
120
+ ], viewQueries: [{ propertyName: "searchBox", first: true, predicate: ["f"], descendants: true, isSignal: true }, { propertyName: "listNavigation", first: true, predicate: ["l"], descendants: true, read: AXListNavigationDirective, isSignal: true }, { propertyName: "listNav", first: true, predicate: AXListNavigationDirective, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (searchBar()) {\n <div class=\"ax-search-box-container\">\n <ax-search-box\n #f\n [delayTime]=\"20\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [(ngModel)]=\"searchValue\"\n (onFocus)=\"focusHandler($event)\"\n (onBlur)=\"blurHandler($event)\"\n (onKeyDown)=\"searchEscapeHandler($event)\"\n [axAutoFocus]=\"true\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-search-box>\n </div>\n}\n\n<div #l class=\"ax-command-container\" #s=\"axListNavigation\" axListNavigation (onKeypress)=\"closeHandler($event)\">\n @if (value?.pinned && !searchValue()) {\n <div class=\"ax-command-item-pinned-container\">\n @if (value.pinned.title) {\n <ax-text class=\"ax-command-item-pinned-text\">{{ value.pinned.title }}</ax-text>\n }\n\n @for (item of value.pinned.items; track item.id) {\n <ng-container\n [ngTemplateOutlet]=\"renderItem\"\n [ngTemplateOutletContext]=\"{ $implicit: item, level: 1, listNavigation: s }\"\n >\n </ng-container>\n }\n </div>\n }\n\n @if (value?.list && !searchValue()) {\n <div class=\"ax-command-item-pinned-container\">\n @if (value.list.title) {\n <ax-text class=\"ax-command-item-pinned-text\">{{ value.list.title }}</ax-text>\n } @else if (divider()) {\n <div class=\"ax-command-divider\"></div>\n }\n\n @for (item of value.list.items; track item.id) {\n <ng-container\n [ngTemplateOutlet]=\"renderItem\"\n [ngTemplateOutletContext]=\"{ $implicit: item, level: 1, listNavigation: s }\"\n >\n </ng-container>\n }\n </div>\n }\n\n @if (displayItems() && searchValue()) {\n <div class=\"ax-command-item-wrapper\">\n @for (item of displayItems(); track item.id) {\n <ng-container\n [ngTemplateOutlet]=\"renderItem\"\n [ngTemplateOutletContext]=\"{ $implicit: item, level: 1, listNavigation: s }\"\n >\n </ng-container>\n } @empty {\n <div class=\"ax-command-not-found\">\n <ax-text>No results found for \"{{ searchValue() }}\"</ax-text>\n </div>\n }\n </div>\n }\n\n <ng-template #renderItem let-item let-level=\"level\" let-listNavigation=\"listNavigation\">\n <div\n (mouseenter)=\"activeHandler(listNavigation, a)\"\n class=\"ax-remove-default-select-style\"\n [class.ax-command-item-container]=\"!customTemplate()\"\n [style.padding-inline-start.rem]=\"!customTemplate() ? level * 0.625 : 0\"\n [class.ax-command-item-container-active]=\"a.isActive() && !customTemplate()\"\n #a=\"axListNavigationItem\"\n axListNavigationItem\n (click)=\"onItemClick(item)\"\n (onKeypress)=\"keyPress($event, item)\"\n >\n @if (customTemplate()) {\n <ng-container\n [ngTemplateOutlet]=\"customTemplate()\"\n [ngTemplateOutletContext]=\"{\n $implicit: item,\n level: level,\n isActive: a.isActive(),\n }\"\n ></ng-container>\n } @else {\n <div class=\"ax-command-item\">\n @if (item.icon) {\n <i class=\"ax-command-item-icon\" [class]=\"item.icon\"></i>\n }\n <span class=\"ax-command-item-text\">{{ item.text }}</span>\n </div>\n }\n </div>\n\n @if (item.children?.length) {\n @for (child of item.children; track child.id) {\n <ng-container\n [ngTemplateOutlet]=\"renderItem\"\n [ngTemplateOutletContext]=\"{ $implicit: child, level: level + 1, listNavigation: s }\"\n >\n </ng-container>\n }\n }\n </ng-template>\n</div>\n\n@if (footerButtons().navigation || footerButtons().select || footerButtons().close) {\n <div class=\"ax-command-footer\">\n @if (footerButtons().navigation) {\n <div class=\"ax-kbd-footer\">\n <ax-kbd class=\"ax-kbd\">\n <ax-kbd-item [keys]=\"['&uarr;']\"></ax-kbd-item>\n <ax-kbd-item [keys]=\"['&darr;']\"></ax-kbd-item>\n </ax-kbd>\n <ax-text class=\"ax-kbd-text\">to navigate</ax-text>\n </div>\n }\n\n @if (footerButtons().select) {\n <div class=\"ax-kbd-footer\">\n <ax-kbd class=\"ax-kbd\">\n <ax-kbd-item [keys]=\"['&#8617;']\"></ax-kbd-item>\n </ax-kbd>\n <ax-text class=\"ax-kbd-text\">to select</ax-text>\n </div>\n }\n\n @if (footerButtons().close) {\n <div class=\"ax-kbd-footer\">\n <ax-kbd class=\"ax-kbd\">\n <ax-kbd-item [keys]=\"['esc']\"></ax-kbd-item>\n </ax-kbd>\n <ax-text class=\"ax-kbd-text\">to close</ax-text>\n </div>\n }\n </div>\n}\n", styles: ["ax-command{overflow:hidden;border-radius:var(--ax-sys-border-radius);outline:1px solid rgba(var(--ax-sys-color-border-light-surface));display:block}ax-command .ax-editor-container.ax-solid{--ax-comp-editor-bg-color: var(--ax-sys-color-light-surface)}ax-command .ax-search-box-container{padding:.625rem;background-color:rgba(var(--ax-sys-color-lightest-surface))}ax-command .ax-command-container{max-height:20rem;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;background-color:rgba(var(--ax-sys-color-lightest-surface));color:rgba(var(--ax-sys-color-on-surface))}ax-command .ax-command-container .ax-command-item-pinned-container{padding-inline:.625rem}ax-command .ax-command-container .ax-command-item-pinned-container .ax-command-item-pinned-text{font-weight:500;font-size:.9rem;color:rgba(var(--ax-sys-color-neutral));padding:.625rem;display:block}ax-command .ax-command-container .ax-command-item-pinned-container .ax-command-divider{height:1px;width:100%;background-color:rgba(var(--ax-sys-color-surface))}ax-command .ax-command-container .ax-command-item-wrapper{padding-inline:.625rem}ax-command .ax-command-container .ax-command-item-container{cursor:pointer;padding:.5rem;border:1px solid transparent}ax-command .ax-command-container .ax-command-item-container .ax-command-item{display:flex;align-items:center;gap:.5rem}ax-command .ax-command-container .ax-command-item-container .ax-command-item-text{font-weight:500;color:rgba(var(--ax-sys-color-on-lightest-surface));font-size:.875rem}ax-command .ax-command-container .ax-command-item-container .ax-command-item-icon{color:rgba(var(--ax-sys-color-neutral))}ax-command .ax-command-container .ax-command-not-found{padding:1rem;display:flex;justify-content:center}ax-command .ax-command-container .ax-remove-default-select-style{outline:2px solid transparent;outline-offset:2px;--tw-border-opacity: 1}ax-command .ax-command-container .ax-command-item-container-active{background-color:rgba(var(--ax-sys-color-light-surface));border-radius:var(--ax-sys-border-radius);border:1px solid rgba(var(--ax-sys-color-border-light-surface))}ax-command .ax-kbd{display:flex;gap:.5rem;align-items:center;height:100%}ax-command .ax-command-footer{border-bottom-right-radius:var(--ax-sys-border-radius);border-bottom-left-radius:var(--ax-sys-border-radius);background-color:rgba(var(--ax-sys-color-lighter-surface));color:rgba(var(--ax-sys-color-neutral));padding:.75rem;display:flex;align-items:center;gap:1.5rem}ax-command .ax-command-footer .ax-kbd-footer{display:flex;justify-content:center;align-items:center;gap:.7rem}ax-command .ax-command-footer .ax-kbd-footer kbd{background-color:rgba(var(--ax-sys-color-lightest-surface))}ax-command .ax-command-footer .ax-kbd-text{font-weight:600;font-size:.9rem}\n"], dependencies: [{ kind: "ngmodule", type: AXSearchBoxModule }, { kind: "component", type: i1.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "class", "delayTime", "type", "autoSearch"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "component", type: i2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXListNavigationModule }, { kind: "directive", type: i5.AXListNavigationDirective, selector: "[axListNavigation]", inputs: ["orientation"], outputs: ["onNavigationChanged", "onKeypress"], exportAs: ["axListNavigation"] }, { kind: "directive", type: i5.AXListNavigationItemDirective, selector: "[axListNavigationItem]", outputs: ["onKeypress"], exportAs: ["axListNavigationItem"] }, { kind: "component", type: AXKBDComponent, selector: "ax-kbd", inputs: ["look"] }, { kind: "component", type: AXKBDItemComponent, selector: "ax-kbd-item", inputs: ["keys", "join", "look"], outputs: ["lookChange"] }, { kind: "directive", type: AXAutoFocusDirective, selector: "[axAutoFocus]", inputs: ["axAutoFocus", "axAutoFocusTime"] }], encapsulation: i0.ViewEncapsulation.None }); }
112
121
  }
113
122
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXCommandComponent, decorators: [{
114
123
  type: Component,
@@ -129,7 +138,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
129
138
  },
130
139
  { provide: AXComponent, useExisting: AXCommandComponent },
131
140
  { provide: AXValuableComponent, useExisting: AXCommandComponent },
132
- ], inputs: ['disabled', 'readonly', 'tabIndex', 'placeholder', 'value', 'state', 'name', 'id'], template: "@if (searchBar()) {\n <div class=\"ax-search-box-container\">\n <ax-search-box\n #f\n [delayTime]=\"20\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [(ngModel)]=\"searchValue\"\n (onFocus)=\"focusHandler($event)\"\n (onBlur)=\"blurHandler($event)\"\n (onKeyDown)=\"searchEscapeHandler($event)\"\n [axAutoFocus]=\"true\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-search-box>\n </div>\n}\n\n<div #l class=\"ax-command-container\" #s=\"axListNavigation\" axListNavigation (onKeypress)=\"closeHandler($event)\">\n @if (value?.pinned && !searchValue()) {\n <div class=\"ax-command-item-pinned-container\">\n @if (value.pinned.title) {\n <ax-text class=\"ax-command-item-pinned-text\">{{ value.pinned.title }}</ax-text>\n }\n\n @for (item of value.pinned.items; track item.id) {\n <ng-container\n [ngTemplateOutlet]=\"renderItem\"\n [ngTemplateOutletContext]=\"{ $implicit: item, level: 1, listNavigation: s }\"\n >\n </ng-container>\n }\n </div>\n }\n\n @if (value?.list && !searchValue()) {\n <div class=\"ax-command-item-pinned-container\">\n @if (value.list.title) {\n <ax-text class=\"ax-command-item-pinned-text\">{{ value.list.title }}</ax-text>\n } @else {\n <div class=\"ax-command-divider\"></div>\n }\n\n @for (item of value.list.items; track item.id) {\n <ng-container\n [ngTemplateOutlet]=\"renderItem\"\n [ngTemplateOutletContext]=\"{ $implicit: item, level: 1, listNavigation: s }\"\n >\n </ng-container>\n }\n </div>\n }\n\n @if (displayItems() && searchValue()) {\n <div class=\"ax-command-item-wrapper\">\n @for (item of displayItems(); track item.id) {\n <ng-container\n [ngTemplateOutlet]=\"renderItem\"\n [ngTemplateOutletContext]=\"{ $implicit: item, level: 1, listNavigation: s }\"\n >\n </ng-container>\n } @empty {\n <div class=\"ax-command-not-found\">\n <ax-text>No results found for \"{{ searchValue() }}\"</ax-text>\n </div>\n }\n </div>\n }\n\n <ng-template #renderItem let-item let-level=\"level\" let-listNavigation=\"listNavigation\">\n <div\n (mouseenter)=\"activeHandler(listNavigation, a)\"\n class=\"ax-remove-default-select-style\"\n [class.ax-command-item-container]=\"!customTemplate()\"\n [style.padding-inline-start.rem]=\"!customTemplate() ? level * 0.625 : 0\"\n [class.ax-command-item-container-active]=\"a.isActive() && !customTemplate()\"\n #a=\"axListNavigationItem\"\n axListNavigationItem\n (click)=\"onItemClick(item)\"\n (onKeypress)=\"keyPress($event, item)\"\n >\n @if (customTemplate()) {\n <ng-container\n [ngTemplateOutlet]=\"customTemplate()\"\n [ngTemplateOutletContext]=\"{\n $implicit: item,\n level: level,\n isActive: a.isActive(),\n }\"\n ></ng-container>\n } @else {\n <div class=\"ax-command-item\">\n @if (item.icon) {\n <i class=\"ax-command-item-icon\" [class]=\"item.icon\"></i>\n }\n <span class=\"ax-command-item-text\">{{ item.text }}</span>\n </div>\n }\n </div>\n\n @if (item.children?.length) {\n @for (child of item.children; track child.id) {\n <ng-container\n [ngTemplateOutlet]=\"renderItem\"\n [ngTemplateOutletContext]=\"{ $implicit: child, level: level + 1, listNavigation: s }\"\n >\n </ng-container>\n }\n }\n </ng-template>\n</div>\n\n@if (footerButtons().navigation || footerButtons().select || footerButtons().close) {\n <div class=\"ax-command-footer\">\n @if (footerButtons().navigation) {\n <div class=\"ax-kbd-footer\">\n <ax-kbd class=\"ax-kbd\">\n <ax-kbd-item [keys]=\"['&uarr;']\"></ax-kbd-item>\n <ax-kbd-item [keys]=\"['&darr;']\"></ax-kbd-item>\n </ax-kbd>\n <ax-text class=\"ax-kbd-text\">to navigate</ax-text>\n </div>\n }\n\n @if (footerButtons().select) {\n <div class=\"ax-kbd-footer\">\n <ax-kbd class=\"ax-kbd\">\n <ax-kbd-item [keys]=\"['&#8617;']\"></ax-kbd-item>\n </ax-kbd>\n <ax-text class=\"ax-kbd-text\">to select</ax-text>\n </div>\n }\n\n @if (footerButtons().close) {\n <div class=\"ax-kbd-footer\">\n <ax-kbd class=\"ax-kbd\">\n <ax-kbd-item [keys]=\"['esc']\"></ax-kbd-item>\n </ax-kbd>\n <ax-text class=\"ax-kbd-text\">to close</ax-text>\n </div>\n }\n </div>\n}\n", styles: ["ax-command{overflow:hidden;border-radius:var(--ax-sys-border-radius);outline:1px solid rgba(var(--ax-sys-color-border-light-surface));display:block}ax-command .ax-editor-container.ax-solid{--ax-comp-editor-bg-color: var(--ax-sys-color-light-surface)}ax-command .ax-search-box-container{padding:.625rem;background-color:rgba(var(--ax-sys-color-lightest-surface))}ax-command .ax-command-container{max-height:20rem;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;background-color:rgba(var(--ax-sys-color-lightest-surface));color:rgba(var(--ax-sys-color-on-surface))}ax-command .ax-command-container .ax-command-item-pinned-container{padding-inline:.625rem}ax-command .ax-command-container .ax-command-item-pinned-container .ax-command-item-pinned-text{font-weight:500;font-size:.9rem;color:rgba(var(--ax-sys-color-neutral));padding:.625rem;display:block}ax-command .ax-command-container .ax-command-item-pinned-container .ax-command-divider{height:1px;width:100%;background-color:rgba(var(--ax-sys-color-surface))}ax-command .ax-command-container .ax-command-item-wrapper{padding-inline:.625rem}ax-command .ax-command-container .ax-command-item-container{cursor:pointer;padding:.5rem;border:1px solid transparent}ax-command .ax-command-container .ax-command-item-container .ax-command-item{display:flex;align-items:center;gap:.5rem}ax-command .ax-command-container .ax-command-item-container .ax-command-item-text{font-weight:500;color:rgba(var(--ax-sys-color-on-lightest-surface));font-size:.875rem}ax-command .ax-command-container .ax-command-item-container .ax-command-item-icon{color:rgba(var(--ax-sys-color-neutral))}ax-command .ax-command-container .ax-command-not-found{padding:1rem;display:flex;justify-content:center}ax-command .ax-command-container .ax-remove-default-select-style{outline:2px solid transparent;outline-offset:2px;--tw-border-opacity: 1}ax-command .ax-command-container .ax-command-item-container-active{background-color:rgba(var(--ax-sys-color-light-surface));border-radius:var(--ax-sys-border-radius);border:1px solid rgba(var(--ax-sys-color-border-light-surface))}ax-command .ax-kbd{display:flex;gap:.5rem;align-items:center;height:100%}ax-command .ax-command-footer{border-bottom-right-radius:var(--ax-sys-border-radius);border-bottom-left-radius:var(--ax-sys-border-radius);background-color:rgba(var(--ax-sys-color-lighter-surface));color:rgba(var(--ax-sys-color-neutral));padding:.75rem;display:flex;align-items:center;gap:1.5rem}ax-command .ax-command-footer .ax-kbd-footer{display:flex;justify-content:center;align-items:center;gap:.7rem}ax-command .ax-command-footer .ax-kbd-footer kbd{background-color:rgba(var(--ax-sys-color-lightest-surface))}ax-command .ax-command-footer .ax-kbd-text{font-weight:600;font-size:.9rem}\n"] }]
141
+ ], inputs: ['disabled', 'readonly', 'tabIndex', 'placeholder', 'value', 'state', 'name', 'id'], template: "@if (searchBar()) {\n <div class=\"ax-search-box-container\">\n <ax-search-box\n #f\n [delayTime]=\"20\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [(ngModel)]=\"searchValue\"\n (onFocus)=\"focusHandler($event)\"\n (onBlur)=\"blurHandler($event)\"\n (onKeyDown)=\"searchEscapeHandler($event)\"\n [axAutoFocus]=\"true\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-search-box>\n </div>\n}\n\n<div #l class=\"ax-command-container\" #s=\"axListNavigation\" axListNavigation (onKeypress)=\"closeHandler($event)\">\n @if (value?.pinned && !searchValue()) {\n <div class=\"ax-command-item-pinned-container\">\n @if (value.pinned.title) {\n <ax-text class=\"ax-command-item-pinned-text\">{{ value.pinned.title }}</ax-text>\n }\n\n @for (item of value.pinned.items; track item.id) {\n <ng-container\n [ngTemplateOutlet]=\"renderItem\"\n [ngTemplateOutletContext]=\"{ $implicit: item, level: 1, listNavigation: s }\"\n >\n </ng-container>\n }\n </div>\n }\n\n @if (value?.list && !searchValue()) {\n <div class=\"ax-command-item-pinned-container\">\n @if (value.list.title) {\n <ax-text class=\"ax-command-item-pinned-text\">{{ value.list.title }}</ax-text>\n } @else if (divider()) {\n <div class=\"ax-command-divider\"></div>\n }\n\n @for (item of value.list.items; track item.id) {\n <ng-container\n [ngTemplateOutlet]=\"renderItem\"\n [ngTemplateOutletContext]=\"{ $implicit: item, level: 1, listNavigation: s }\"\n >\n </ng-container>\n }\n </div>\n }\n\n @if (displayItems() && searchValue()) {\n <div class=\"ax-command-item-wrapper\">\n @for (item of displayItems(); track item.id) {\n <ng-container\n [ngTemplateOutlet]=\"renderItem\"\n [ngTemplateOutletContext]=\"{ $implicit: item, level: 1, listNavigation: s }\"\n >\n </ng-container>\n } @empty {\n <div class=\"ax-command-not-found\">\n <ax-text>No results found for \"{{ searchValue() }}\"</ax-text>\n </div>\n }\n </div>\n }\n\n <ng-template #renderItem let-item let-level=\"level\" let-listNavigation=\"listNavigation\">\n <div\n (mouseenter)=\"activeHandler(listNavigation, a)\"\n class=\"ax-remove-default-select-style\"\n [class.ax-command-item-container]=\"!customTemplate()\"\n [style.padding-inline-start.rem]=\"!customTemplate() ? level * 0.625 : 0\"\n [class.ax-command-item-container-active]=\"a.isActive() && !customTemplate()\"\n #a=\"axListNavigationItem\"\n axListNavigationItem\n (click)=\"onItemClick(item)\"\n (onKeypress)=\"keyPress($event, item)\"\n >\n @if (customTemplate()) {\n <ng-container\n [ngTemplateOutlet]=\"customTemplate()\"\n [ngTemplateOutletContext]=\"{\n $implicit: item,\n level: level,\n isActive: a.isActive(),\n }\"\n ></ng-container>\n } @else {\n <div class=\"ax-command-item\">\n @if (item.icon) {\n <i class=\"ax-command-item-icon\" [class]=\"item.icon\"></i>\n }\n <span class=\"ax-command-item-text\">{{ item.text }}</span>\n </div>\n }\n </div>\n\n @if (item.children?.length) {\n @for (child of item.children; track child.id) {\n <ng-container\n [ngTemplateOutlet]=\"renderItem\"\n [ngTemplateOutletContext]=\"{ $implicit: child, level: level + 1, listNavigation: s }\"\n >\n </ng-container>\n }\n }\n </ng-template>\n</div>\n\n@if (footerButtons().navigation || footerButtons().select || footerButtons().close) {\n <div class=\"ax-command-footer\">\n @if (footerButtons().navigation) {\n <div class=\"ax-kbd-footer\">\n <ax-kbd class=\"ax-kbd\">\n <ax-kbd-item [keys]=\"['&uarr;']\"></ax-kbd-item>\n <ax-kbd-item [keys]=\"['&darr;']\"></ax-kbd-item>\n </ax-kbd>\n <ax-text class=\"ax-kbd-text\">to navigate</ax-text>\n </div>\n }\n\n @if (footerButtons().select) {\n <div class=\"ax-kbd-footer\">\n <ax-kbd class=\"ax-kbd\">\n <ax-kbd-item [keys]=\"['&#8617;']\"></ax-kbd-item>\n </ax-kbd>\n <ax-text class=\"ax-kbd-text\">to select</ax-text>\n </div>\n }\n\n @if (footerButtons().close) {\n <div class=\"ax-kbd-footer\">\n <ax-kbd class=\"ax-kbd\">\n <ax-kbd-item [keys]=\"['esc']\"></ax-kbd-item>\n </ax-kbd>\n <ax-text class=\"ax-kbd-text\">to close</ax-text>\n </div>\n }\n </div>\n}\n", styles: ["ax-command{overflow:hidden;border-radius:var(--ax-sys-border-radius);outline:1px solid rgba(var(--ax-sys-color-border-light-surface));display:block}ax-command .ax-editor-container.ax-solid{--ax-comp-editor-bg-color: var(--ax-sys-color-light-surface)}ax-command .ax-search-box-container{padding:.625rem;background-color:rgba(var(--ax-sys-color-lightest-surface))}ax-command .ax-command-container{max-height:20rem;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;background-color:rgba(var(--ax-sys-color-lightest-surface));color:rgba(var(--ax-sys-color-on-surface))}ax-command .ax-command-container .ax-command-item-pinned-container{padding-inline:.625rem}ax-command .ax-command-container .ax-command-item-pinned-container .ax-command-item-pinned-text{font-weight:500;font-size:.9rem;color:rgba(var(--ax-sys-color-neutral));padding:.625rem;display:block}ax-command .ax-command-container .ax-command-item-pinned-container .ax-command-divider{height:1px;width:100%;background-color:rgba(var(--ax-sys-color-surface))}ax-command .ax-command-container .ax-command-item-wrapper{padding-inline:.625rem}ax-command .ax-command-container .ax-command-item-container{cursor:pointer;padding:.5rem;border:1px solid transparent}ax-command .ax-command-container .ax-command-item-container .ax-command-item{display:flex;align-items:center;gap:.5rem}ax-command .ax-command-container .ax-command-item-container .ax-command-item-text{font-weight:500;color:rgba(var(--ax-sys-color-on-lightest-surface));font-size:.875rem}ax-command .ax-command-container .ax-command-item-container .ax-command-item-icon{color:rgba(var(--ax-sys-color-neutral))}ax-command .ax-command-container .ax-command-not-found{padding:1rem;display:flex;justify-content:center}ax-command .ax-command-container .ax-remove-default-select-style{outline:2px solid transparent;outline-offset:2px;--tw-border-opacity: 1}ax-command .ax-command-container .ax-command-item-container-active{background-color:rgba(var(--ax-sys-color-light-surface));border-radius:var(--ax-sys-border-radius);border:1px solid rgba(var(--ax-sys-color-border-light-surface))}ax-command .ax-kbd{display:flex;gap:.5rem;align-items:center;height:100%}ax-command .ax-command-footer{border-bottom-right-radius:var(--ax-sys-border-radius);border-bottom-left-radius:var(--ax-sys-border-radius);background-color:rgba(var(--ax-sys-color-lighter-surface));color:rgba(var(--ax-sys-color-neutral));padding:.75rem;display:flex;align-items:center;gap:1.5rem}ax-command .ax-command-footer .ax-kbd-footer{display:flex;justify-content:center;align-items:center;gap:.7rem}ax-command .ax-command-footer .ax-kbd-footer kbd{background-color:rgba(var(--ax-sys-color-lightest-surface))}ax-command .ax-command-footer .ax-kbd-text{font-weight:600;font-size:.9rem}\n"] }]
133
142
  }] });
134
143
 
135
144
  const COMPONENT = [AXCommandComponent];
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-command.mjs","sources":["../tmp-esm2022/command/lib/command.component.js","../tmp-esm2022/command/lib/command.module.js","../tmp-esm2022/command/lib/command.type.js","../tmp-esm2022/command/acorex-components-command.js"],"sourcesContent":["import { AXAutoFocusDirective, AXComponent, AXValuableComponent, MXInputBaseValueComponent, MXLookComponent, } from '@acorex/cdk/common';\nimport { AXListNavigationDirective, AXListNavigationModule, } from '@acorex/cdk/list-navigation';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXKBDComponent, AXKBDItemComponent } from '@acorex/components/kbd';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { CommonModule } from '@angular/common';\nimport { Component, computed, forwardRef, input, output, signal, viewChild, ViewEncapsulation, } from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/search-box\";\nimport * as i2 from \"@acorex/components/decorators\";\nimport * as i3 from \"@angular/common\";\nimport * as i4 from \"@angular/forms\";\nimport * as i5 from \"@acorex/cdk/list-navigation\";\nexport class AXCommandComponent extends classes((MXInputBaseValueComponent), MXLookComponent) {\n constructor() {\n super(...arguments);\n this.searchValue = signal('', ...(ngDevMode ? [{ debugName: \"searchValue\" }] : []));\n this.searchBox = viewChild('f', ...(ngDevMode ? [{ debugName: \"searchBox\" }] : []));\n this.onSubmit = output();\n this.onEscape = output();\n this.onSearchBoxFocus = output();\n this.onSearchBoxBlur = output();\n this.listNavigation = viewChild('l', ...(ngDevMode ? [{ debugName: \"listNavigation\", read: AXListNavigationDirective }] : [{ read: AXListNavigationDirective }]));\n this.listNav = viewChild(AXListNavigationDirective, ...(ngDevMode ? [{ debugName: \"listNav\" }] : []));\n /**\n * The custom template used for rendering content.\n *\n * @param {TemplateRef<any>} customTemplate\n */\n this.customTemplate = input(...(ngDevMode ? [undefined, { debugName: \"customTemplate\" }] : []));\n this.searchBar = input(true, ...(ngDevMode ? [{ debugName: \"searchBar\" }] : []));\n this.footerButtons = input({ navigation: true, select: true, close: true }, ...(ngDevMode ? [{ debugName: \"footerButtons\" }] : []));\n this.displayItems = computed(() => {\n const searchValue = this.searchValue();\n let filtered;\n if (searchValue) {\n filtered = this.filterRecursive(this.value.list?.items ?? [], searchValue);\n }\n else {\n filtered = [];\n }\n return filtered;\n }, ...(ngDevMode ? [{ debugName: \"displayItems\" }] : []));\n }\n focusHandler(e) {\n this.onSearchBoxFocus.emit({ component: this, nativeEvent: e.nativeEvent });\n }\n blurHandler(e) {\n this.onSearchBoxBlur.emit({ component: this, nativeEvent: e.nativeEvent });\n }\n filterRecursive(items, value) {\n const lowerSignal = value.toLowerCase();\n return items\n .map((item) => {\n const isMatch = item.text?.toLowerCase().includes(lowerSignal) || item.href?.toLowerCase().includes(lowerSignal);\n const filteredChildren = item.children ? this.filterRecursive(item.children, value) : [];\n if (isMatch || filteredChildren.length > 0) {\n return {\n ...item,\n children: filteredChildren,\n };\n }\n return null;\n })\n .filter(Boolean);\n }\n onItemClick(item) {\n this.onSubmit.emit({ data: item, component: this });\n }\n keyPress(e, item) {\n if (e.nativeEvent.key === 'Enter' || e.nativeEvent.code === 'Space') {\n e.nativeEvent.stopPropagation();\n e.nativeEvent.preventDefault();\n this.onSubmit.emit({ data: item, component: this });\n }\n }\n searchEscapeHandler(e) {\n if (e.nativeEvent.key === 'Escape') {\n this.onEscape.emit({ component: this, nativeEvent: e.nativeEvent });\n }\n if (e.nativeEvent.key === 'ArrowDown') {\n this.listNavigation().focusOnIndex(0);\n }\n }\n closeHandler(e) {\n if (!this.listNav().activeIndex() && e.nativeEvent.key === 'ArrowUp') {\n this.searchBox().focus();\n }\n if (e.nativeEvent.key === 'ArrowUp' ||\n e.nativeEvent.key === 'ArrowDown' ||\n e.nativeEvent.key === 'Tab' ||\n e.nativeEvent.key === 'Shift')\n return;\n this.searchBox().focus();\n }\n activeHandler(l, i) {\n l?.navigateTo(i);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXCommandComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.3\", type: AXCommandComponent, isStandalone: true, selector: \"ax-command\", inputs: { disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: \"readonly\", publicName: \"readonly\", isSignal: false, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: \"tabIndex\", publicName: \"tabIndex\", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: \"placeholder\", publicName: \"placeholder\", isSignal: false, isRequired: false, transformFunction: null }, value: { classPropertyName: \"value\", publicName: \"value\", isSignal: false, isRequired: false, transformFunction: null }, state: { classPropertyName: \"state\", publicName: \"state\", isSignal: false, isRequired: false, transformFunction: null }, name: { classPropertyName: \"name\", publicName: \"name\", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: \"id\", publicName: \"id\", isSignal: false, isRequired: false, transformFunction: null }, customTemplate: { classPropertyName: \"customTemplate\", publicName: \"customTemplate\", isSignal: true, isRequired: false, transformFunction: null }, searchBar: { classPropertyName: \"searchBar\", publicName: \"searchBar\", isSignal: true, isRequired: false, transformFunction: null }, footerButtons: { classPropertyName: \"footerButtons\", publicName: \"footerButtons\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSubmit: \"onSubmit\", onEscape: \"onEscape\", onSearchBoxFocus: \"onSearchBoxFocus\", onSearchBoxBlur: \"onSearchBoxBlur\" }, providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXCommandComponent),\n multi: true,\n },\n { provide: AXComponent, useExisting: AXCommandComponent },\n { provide: AXValuableComponent, useExisting: AXCommandComponent },\n ], viewQueries: [{ propertyName: \"searchBox\", first: true, predicate: [\"f\"], descendants: true, isSignal: true }, { propertyName: \"listNavigation\", first: true, predicate: [\"l\"], descendants: true, read: AXListNavigationDirective, isSignal: true }, { propertyName: \"listNav\", first: true, predicate: AXListNavigationDirective, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: \"@if (searchBar()) {\\n <div class=\\\"ax-search-box-container\\\">\\n <ax-search-box\\n #f\\n [delayTime]=\\\"20\\\"\\n [placeholder]=\\\"placeholder\\\"\\n [disabled]=\\\"disabled\\\"\\n [readonly]=\\\"readonly\\\"\\n [(ngModel)]=\\\"searchValue\\\"\\n (onFocus)=\\\"focusHandler($event)\\\"\\n (onBlur)=\\\"blurHandler($event)\\\"\\n (onKeyDown)=\\\"searchEscapeHandler($event)\\\"\\n [axAutoFocus]=\\\"true\\\"\\n >\\n <ax-clear-button></ax-clear-button>\\n </ax-search-box>\\n </div>\\n}\\n\\n<div #l class=\\\"ax-command-container\\\" #s=\\\"axListNavigation\\\" axListNavigation (onKeypress)=\\\"closeHandler($event)\\\">\\n @if (value?.pinned && !searchValue()) {\\n <div class=\\\"ax-command-item-pinned-container\\\">\\n @if (value.pinned.title) {\\n <ax-text class=\\\"ax-command-item-pinned-text\\\">{{ value.pinned.title }}</ax-text>\\n }\\n\\n @for (item of value.pinned.items; track item.id) {\\n <ng-container\\n [ngTemplateOutlet]=\\\"renderItem\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: item, level: 1, listNavigation: s }\\\"\\n >\\n </ng-container>\\n }\\n </div>\\n }\\n\\n @if (value?.list && !searchValue()) {\\n <div class=\\\"ax-command-item-pinned-container\\\">\\n @if (value.list.title) {\\n <ax-text class=\\\"ax-command-item-pinned-text\\\">{{ value.list.title }}</ax-text>\\n } @else {\\n <div class=\\\"ax-command-divider\\\"></div>\\n }\\n\\n @for (item of value.list.items; track item.id) {\\n <ng-container\\n [ngTemplateOutlet]=\\\"renderItem\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: item, level: 1, listNavigation: s }\\\"\\n >\\n </ng-container>\\n }\\n </div>\\n }\\n\\n @if (displayItems() && searchValue()) {\\n <div class=\\\"ax-command-item-wrapper\\\">\\n @for (item of displayItems(); track item.id) {\\n <ng-container\\n [ngTemplateOutlet]=\\\"renderItem\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: item, level: 1, listNavigation: s }\\\"\\n >\\n </ng-container>\\n } @empty {\\n <div class=\\\"ax-command-not-found\\\">\\n <ax-text>No results found for \\\"{{ searchValue() }}\\\"</ax-text>\\n </div>\\n }\\n </div>\\n }\\n\\n <ng-template #renderItem let-item let-level=\\\"level\\\" let-listNavigation=\\\"listNavigation\\\">\\n <div\\n (mouseenter)=\\\"activeHandler(listNavigation, a)\\\"\\n class=\\\"ax-remove-default-select-style\\\"\\n [class.ax-command-item-container]=\\\"!customTemplate()\\\"\\n [style.padding-inline-start.rem]=\\\"!customTemplate() ? level * 0.625 : 0\\\"\\n [class.ax-command-item-container-active]=\\\"a.isActive() && !customTemplate()\\\"\\n #a=\\\"axListNavigationItem\\\"\\n axListNavigationItem\\n (click)=\\\"onItemClick(item)\\\"\\n (onKeypress)=\\\"keyPress($event, item)\\\"\\n >\\n @if (customTemplate()) {\\n <ng-container\\n [ngTemplateOutlet]=\\\"customTemplate()\\\"\\n [ngTemplateOutletContext]=\\\"{\\n $implicit: item,\\n level: level,\\n isActive: a.isActive(),\\n }\\\"\\n ></ng-container>\\n } @else {\\n <div class=\\\"ax-command-item\\\">\\n @if (item.icon) {\\n <i class=\\\"ax-command-item-icon\\\" [class]=\\\"item.icon\\\"></i>\\n }\\n <span class=\\\"ax-command-item-text\\\">{{ item.text }}</span>\\n </div>\\n }\\n </div>\\n\\n @if (item.children?.length) {\\n @for (child of item.children; track child.id) {\\n <ng-container\\n [ngTemplateOutlet]=\\\"renderItem\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: child, level: level + 1, listNavigation: s }\\\"\\n >\\n </ng-container>\\n }\\n }\\n </ng-template>\\n</div>\\n\\n@if (footerButtons().navigation || footerButtons().select || footerButtons().close) {\\n <div class=\\\"ax-command-footer\\\">\\n @if (footerButtons().navigation) {\\n <div class=\\\"ax-kbd-footer\\\">\\n <ax-kbd class=\\\"ax-kbd\\\">\\n <ax-kbd-item [keys]=\\\"['&uarr;']\\\"></ax-kbd-item>\\n <ax-kbd-item [keys]=\\\"['&darr;']\\\"></ax-kbd-item>\\n </ax-kbd>\\n <ax-text class=\\\"ax-kbd-text\\\">to navigate</ax-text>\\n </div>\\n }\\n\\n @if (footerButtons().select) {\\n <div class=\\\"ax-kbd-footer\\\">\\n <ax-kbd class=\\\"ax-kbd\\\">\\n <ax-kbd-item [keys]=\\\"['&#8617;']\\\"></ax-kbd-item>\\n </ax-kbd>\\n <ax-text class=\\\"ax-kbd-text\\\">to select</ax-text>\\n </div>\\n }\\n\\n @if (footerButtons().close) {\\n <div class=\\\"ax-kbd-footer\\\">\\n <ax-kbd class=\\\"ax-kbd\\\">\\n <ax-kbd-item [keys]=\\\"['esc']\\\"></ax-kbd-item>\\n </ax-kbd>\\n <ax-text class=\\\"ax-kbd-text\\\">to close</ax-text>\\n </div>\\n }\\n </div>\\n}\\n\", styles: [\"ax-command{overflow:hidden;border-radius:var(--ax-sys-border-radius);outline:1px solid rgba(var(--ax-sys-color-border-light-surface));display:block}ax-command .ax-editor-container.ax-solid{--ax-comp-editor-bg-color: var(--ax-sys-color-light-surface)}ax-command .ax-search-box-container{padding:.625rem;background-color:rgba(var(--ax-sys-color-lightest-surface))}ax-command .ax-command-container{max-height:20rem;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;background-color:rgba(var(--ax-sys-color-lightest-surface));color:rgba(var(--ax-sys-color-on-surface))}ax-command .ax-command-container .ax-command-item-pinned-container{padding-inline:.625rem}ax-command .ax-command-container .ax-command-item-pinned-container .ax-command-item-pinned-text{font-weight:500;font-size:.9rem;color:rgba(var(--ax-sys-color-neutral));padding:.625rem;display:block}ax-command .ax-command-container .ax-command-item-pinned-container .ax-command-divider{height:1px;width:100%;background-color:rgba(var(--ax-sys-color-surface))}ax-command .ax-command-container .ax-command-item-wrapper{padding-inline:.625rem}ax-command .ax-command-container .ax-command-item-container{cursor:pointer;padding:.5rem;border:1px solid transparent}ax-command .ax-command-container .ax-command-item-container .ax-command-item{display:flex;align-items:center;gap:.5rem}ax-command .ax-command-container .ax-command-item-container .ax-command-item-text{font-weight:500;color:rgba(var(--ax-sys-color-on-lightest-surface));font-size:.875rem}ax-command .ax-command-container .ax-command-item-container .ax-command-item-icon{color:rgba(var(--ax-sys-color-neutral))}ax-command .ax-command-container .ax-command-not-found{padding:1rem;display:flex;justify-content:center}ax-command .ax-command-container .ax-remove-default-select-style{outline:2px solid transparent;outline-offset:2px;--tw-border-opacity: 1}ax-command .ax-command-container .ax-command-item-container-active{background-color:rgba(var(--ax-sys-color-light-surface));border-radius:var(--ax-sys-border-radius);border:1px solid rgba(var(--ax-sys-color-border-light-surface))}ax-command .ax-kbd{display:flex;gap:.5rem;align-items:center;height:100%}ax-command .ax-command-footer{border-bottom-right-radius:var(--ax-sys-border-radius);border-bottom-left-radius:var(--ax-sys-border-radius);background-color:rgba(var(--ax-sys-color-lighter-surface));color:rgba(var(--ax-sys-color-neutral));padding:.75rem;display:flex;align-items:center;gap:1.5rem}ax-command .ax-command-footer .ax-kbd-footer{display:flex;justify-content:center;align-items:center;gap:.7rem}ax-command .ax-command-footer .ax-kbd-footer kbd{background-color:rgba(var(--ax-sys-color-lightest-surface))}ax-command .ax-command-footer .ax-kbd-text{font-weight:600;font-size:.9rem}\\n\"], dependencies: [{ kind: \"ngmodule\", type: AXSearchBoxModule }, { kind: \"component\", type: i1.AXSearchBoxComponent, selector: \"ax-search-box\", inputs: [\"disabled\", \"readonly\", \"tabIndex\", \"placeholder\", \"value\", \"state\", \"name\", \"id\", \"look\", \"class\", \"delayTime\", \"type\", \"autoSearch\"], outputs: [\"valueChange\", \"stateChange\", \"onValueChanged\", \"onBlur\", \"onFocus\", \"readonlyChange\", \"disabledChange\", \"onKeyDown\", \"onKeyUp\", \"onKeyPress\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i2.AXDecoratorClearButtonComponent, selector: \"ax-clear-button\", inputs: [\"icon\"] }, { kind: \"component\", type: i2.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i3.NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i4.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i4.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"ngmodule\", type: AXListNavigationModule }, { kind: \"directive\", type: i5.AXListNavigationDirective, selector: \"[axListNavigation]\", inputs: [\"orientation\"], outputs: [\"onNavigationChanged\", \"onKeypress\"], exportAs: [\"axListNavigation\"] }, { kind: \"directive\", type: i5.AXListNavigationItemDirective, selector: \"[axListNavigationItem]\", outputs: [\"onKeypress\"], exportAs: [\"axListNavigationItem\"] }, { kind: \"component\", type: AXKBDComponent, selector: \"ax-kbd\", inputs: [\"look\"] }, { kind: \"component\", type: AXKBDItemComponent, selector: \"ax-kbd-item\", inputs: [\"keys\", \"join\", \"look\"], outputs: [\"lookChange\"] }, { kind: \"directive\", type: AXAutoFocusDirective, selector: \"[axAutoFocus]\", inputs: [\"axAutoFocus\", \"axAutoFocusTime\"] }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXCommandComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-command', encapsulation: ViewEncapsulation.None, imports: [\n AXSearchBoxModule,\n AXDecoratorModule,\n CommonModule,\n FormsModule,\n AXListNavigationModule,\n AXKBDComponent,\n AXKBDItemComponent,\n AXAutoFocusDirective,\n ], providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXCommandComponent),\n multi: true,\n },\n { provide: AXComponent, useExisting: AXCommandComponent },\n { provide: AXValuableComponent, useExisting: AXCommandComponent },\n ], inputs: ['disabled', 'readonly', 'tabIndex', 'placeholder', 'value', 'state', 'name', 'id'], template: \"@if (searchBar()) {\\n <div class=\\\"ax-search-box-container\\\">\\n <ax-search-box\\n #f\\n [delayTime]=\\\"20\\\"\\n [placeholder]=\\\"placeholder\\\"\\n [disabled]=\\\"disabled\\\"\\n [readonly]=\\\"readonly\\\"\\n [(ngModel)]=\\\"searchValue\\\"\\n (onFocus)=\\\"focusHandler($event)\\\"\\n (onBlur)=\\\"blurHandler($event)\\\"\\n (onKeyDown)=\\\"searchEscapeHandler($event)\\\"\\n [axAutoFocus]=\\\"true\\\"\\n >\\n <ax-clear-button></ax-clear-button>\\n </ax-search-box>\\n </div>\\n}\\n\\n<div #l class=\\\"ax-command-container\\\" #s=\\\"axListNavigation\\\" axListNavigation (onKeypress)=\\\"closeHandler($event)\\\">\\n @if (value?.pinned && !searchValue()) {\\n <div class=\\\"ax-command-item-pinned-container\\\">\\n @if (value.pinned.title) {\\n <ax-text class=\\\"ax-command-item-pinned-text\\\">{{ value.pinned.title }}</ax-text>\\n }\\n\\n @for (item of value.pinned.items; track item.id) {\\n <ng-container\\n [ngTemplateOutlet]=\\\"renderItem\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: item, level: 1, listNavigation: s }\\\"\\n >\\n </ng-container>\\n }\\n </div>\\n }\\n\\n @if (value?.list && !searchValue()) {\\n <div class=\\\"ax-command-item-pinned-container\\\">\\n @if (value.list.title) {\\n <ax-text class=\\\"ax-command-item-pinned-text\\\">{{ value.list.title }}</ax-text>\\n } @else {\\n <div class=\\\"ax-command-divider\\\"></div>\\n }\\n\\n @for (item of value.list.items; track item.id) {\\n <ng-container\\n [ngTemplateOutlet]=\\\"renderItem\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: item, level: 1, listNavigation: s }\\\"\\n >\\n </ng-container>\\n }\\n </div>\\n }\\n\\n @if (displayItems() && searchValue()) {\\n <div class=\\\"ax-command-item-wrapper\\\">\\n @for (item of displayItems(); track item.id) {\\n <ng-container\\n [ngTemplateOutlet]=\\\"renderItem\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: item, level: 1, listNavigation: s }\\\"\\n >\\n </ng-container>\\n } @empty {\\n <div class=\\\"ax-command-not-found\\\">\\n <ax-text>No results found for \\\"{{ searchValue() }}\\\"</ax-text>\\n </div>\\n }\\n </div>\\n }\\n\\n <ng-template #renderItem let-item let-level=\\\"level\\\" let-listNavigation=\\\"listNavigation\\\">\\n <div\\n (mouseenter)=\\\"activeHandler(listNavigation, a)\\\"\\n class=\\\"ax-remove-default-select-style\\\"\\n [class.ax-command-item-container]=\\\"!customTemplate()\\\"\\n [style.padding-inline-start.rem]=\\\"!customTemplate() ? level * 0.625 : 0\\\"\\n [class.ax-command-item-container-active]=\\\"a.isActive() && !customTemplate()\\\"\\n #a=\\\"axListNavigationItem\\\"\\n axListNavigationItem\\n (click)=\\\"onItemClick(item)\\\"\\n (onKeypress)=\\\"keyPress($event, item)\\\"\\n >\\n @if (customTemplate()) {\\n <ng-container\\n [ngTemplateOutlet]=\\\"customTemplate()\\\"\\n [ngTemplateOutletContext]=\\\"{\\n $implicit: item,\\n level: level,\\n isActive: a.isActive(),\\n }\\\"\\n ></ng-container>\\n } @else {\\n <div class=\\\"ax-command-item\\\">\\n @if (item.icon) {\\n <i class=\\\"ax-command-item-icon\\\" [class]=\\\"item.icon\\\"></i>\\n }\\n <span class=\\\"ax-command-item-text\\\">{{ item.text }}</span>\\n </div>\\n }\\n </div>\\n\\n @if (item.children?.length) {\\n @for (child of item.children; track child.id) {\\n <ng-container\\n [ngTemplateOutlet]=\\\"renderItem\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: child, level: level + 1, listNavigation: s }\\\"\\n >\\n </ng-container>\\n }\\n }\\n </ng-template>\\n</div>\\n\\n@if (footerButtons().navigation || footerButtons().select || footerButtons().close) {\\n <div class=\\\"ax-command-footer\\\">\\n @if (footerButtons().navigation) {\\n <div class=\\\"ax-kbd-footer\\\">\\n <ax-kbd class=\\\"ax-kbd\\\">\\n <ax-kbd-item [keys]=\\\"['&uarr;']\\\"></ax-kbd-item>\\n <ax-kbd-item [keys]=\\\"['&darr;']\\\"></ax-kbd-item>\\n </ax-kbd>\\n <ax-text class=\\\"ax-kbd-text\\\">to navigate</ax-text>\\n </div>\\n }\\n\\n @if (footerButtons().select) {\\n <div class=\\\"ax-kbd-footer\\\">\\n <ax-kbd class=\\\"ax-kbd\\\">\\n <ax-kbd-item [keys]=\\\"['&#8617;']\\\"></ax-kbd-item>\\n </ax-kbd>\\n <ax-text class=\\\"ax-kbd-text\\\">to select</ax-text>\\n </div>\\n }\\n\\n @if (footerButtons().close) {\\n <div class=\\\"ax-kbd-footer\\\">\\n <ax-kbd class=\\\"ax-kbd\\\">\\n <ax-kbd-item [keys]=\\\"['esc']\\\"></ax-kbd-item>\\n </ax-kbd>\\n <ax-text class=\\\"ax-kbd-text\\\">to close</ax-text>\\n </div>\\n }\\n </div>\\n}\\n\", styles: [\"ax-command{overflow:hidden;border-radius:var(--ax-sys-border-radius);outline:1px solid rgba(var(--ax-sys-color-border-light-surface));display:block}ax-command .ax-editor-container.ax-solid{--ax-comp-editor-bg-color: var(--ax-sys-color-light-surface)}ax-command .ax-search-box-container{padding:.625rem;background-color:rgba(var(--ax-sys-color-lightest-surface))}ax-command .ax-command-container{max-height:20rem;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;background-color:rgba(var(--ax-sys-color-lightest-surface));color:rgba(var(--ax-sys-color-on-surface))}ax-command .ax-command-container .ax-command-item-pinned-container{padding-inline:.625rem}ax-command .ax-command-container .ax-command-item-pinned-container .ax-command-item-pinned-text{font-weight:500;font-size:.9rem;color:rgba(var(--ax-sys-color-neutral));padding:.625rem;display:block}ax-command .ax-command-container .ax-command-item-pinned-container .ax-command-divider{height:1px;width:100%;background-color:rgba(var(--ax-sys-color-surface))}ax-command .ax-command-container .ax-command-item-wrapper{padding-inline:.625rem}ax-command .ax-command-container .ax-command-item-container{cursor:pointer;padding:.5rem;border:1px solid transparent}ax-command .ax-command-container .ax-command-item-container .ax-command-item{display:flex;align-items:center;gap:.5rem}ax-command .ax-command-container .ax-command-item-container .ax-command-item-text{font-weight:500;color:rgba(var(--ax-sys-color-on-lightest-surface));font-size:.875rem}ax-command .ax-command-container .ax-command-item-container .ax-command-item-icon{color:rgba(var(--ax-sys-color-neutral))}ax-command .ax-command-container .ax-command-not-found{padding:1rem;display:flex;justify-content:center}ax-command .ax-command-container .ax-remove-default-select-style{outline:2px solid transparent;outline-offset:2px;--tw-border-opacity: 1}ax-command .ax-command-container .ax-command-item-container-active{background-color:rgba(var(--ax-sys-color-light-surface));border-radius:var(--ax-sys-border-radius);border:1px solid rgba(var(--ax-sys-color-border-light-surface))}ax-command .ax-kbd{display:flex;gap:.5rem;align-items:center;height:100%}ax-command .ax-command-footer{border-bottom-right-radius:var(--ax-sys-border-radius);border-bottom-left-radius:var(--ax-sys-border-radius);background-color:rgba(var(--ax-sys-color-lighter-surface));color:rgba(var(--ax-sys-color-neutral));padding:.75rem;display:flex;align-items:center;gap:1.5rem}ax-command .ax-command-footer .ax-kbd-footer{display:flex;justify-content:center;align-items:center;gap:.7rem}ax-command .ax-command-footer .ax-kbd-footer kbd{background-color:rgba(var(--ax-sys-color-lightest-surface))}ax-command .ax-command-footer .ax-kbd-text{font-weight:600;font-size:.9rem}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvbW1hbmQvc3JjL2xpYi9jb21tYW5kLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvY29tbWFuZC9zcmMvbGliL2NvbW1hbmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixXQUFXLEVBR1gsbUJBQW1CLEVBQ25CLHlCQUF5QixFQUN6QixlQUFlLEdBQ2hCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUNMLHlCQUF5QixFQUV6QixzQkFBc0IsR0FDdkIsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUUsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsU0FBUyxFQUNULFFBQVEsRUFDUixVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBRU4sU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQzs7Ozs7OztBQThCbkMsTUFBTSxPQUFPLGtCQUFtQixTQUFRLE9BQU8sQ0FBQyxDQUFBLHlCQUE0QyxDQUFBLEVBQUUsZUFBZSxDQUFDO0lBMUI5Rzs7UUEyQlksZ0JBQVcsR0FB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d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsbUJBQW1CLENBQUM7NEJBQ2pELEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNELEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLG9CQUFvQixFQUFFO3dCQUN6RCxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLG9CQUFvQixFQUFFO3FCQUNsRSxVQUNPLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFYQXV0b0ZvY3VzRGlyZWN0aXZlLFxuICBBWENvbXBvbmVudCxcbiAgQVhGb2N1c0V2ZW50LFxuICBBWEh0bWxFdmVudCxcbiAgQVhWYWx1YWJsZUNvbXBvbmVudCxcbiAgTVhJbnB1dEJhc2VWYWx1ZUNvbXBvbmVudCxcbiAgTVhMb29rQ29tcG9uZW50LFxufSBmcm9tICdAYWNvcmV4L2Nkay9jb21tb24nO1xuaW1wb3J0IHtcbiAgQVhMaXN0TmF2aWdhdGlvbkRpcmVjdGl2ZSxcbiAgQVhMaXN0TmF2aWdhdGlvbkl0ZW1EaXJlY3RpdmUsXG4gIEFYTGlzdE5hdmlnYXRpb25Nb2R1bGUsXG59IGZyb20gJ0BhY29yZXgvY2RrL2xpc3QtbmF2aWdhdGlvbic7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYS0JEQ29tcG9uZW50LCBBWEtCREl0ZW1Db21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMva2JkJztcbmltcG9ydCB7IEFYU2VhcmNoQm94Q29tcG9uZW50LCBBWFNlYXJjaEJveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9zZWFyY2gtYm94JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIGNvbXB1dGVkLFxuICBmb3J3YXJkUmVmLFxuICBpbnB1dCxcbiAgb3V0cHV0LFxuICBzaWduYWwsXG4gIFRlbXBsYXRlUmVmLFxuICB2aWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGNsYXNzZXMgfSBmcm9tICdwb2x5dHlwZSc7XG5cbmltcG9ydCB7IEFYQ29tbWFuZENvbXBvbmVudEV2ZW50LCBBWENvbW1hbmRGb290ZXIsIEFYQ29tbWFuZEl0ZW0sIEFYQ29tbWFuZE1lbnVJdGVtIH0gZnJvbSAnLi9jb21tYW5kLnR5cGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1jb21tYW5kJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbW1hbmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vY29tbWFuZC5jb21wb25lbnQuc2NzcycsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGltcG9ydHM6IFtcbiAgICBBWFNlYXJjaEJveE1vZHVsZSxcbiAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgQVhMaXN0TmF2aWdhdGlvbk1vZHVsZSxcbiAgICBBWEtCRENvbXBvbmVudCxcbiAgICBBWEtCREl0ZW1Db21wb25lbnQsXG4gICAgQVhBdXRvRm9jdXNEaXJlY3RpdmUsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQVhDb21tYW5kQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAgeyBwcm92aWRlOiBBWENvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYQ29tbWFuZENvbXBvbmVudCB9LFxuICAgIHsgcHJvdmlkZTogQVhWYWx1YWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYQ29tbWFuZENvbXBvbmVudCB9LFxuICBdLFxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAncmVhZG9ubHknLCAndGFiSW5kZXgnLCAncGxhY2Vob2xkZXInLCAndmFsdWUnLCAnc3RhdGUnLCAnbmFtZScsICdpZCddLFxufSlcbmV4cG9ydCBjbGFzcyBBWENvbW1hbmRDb21wb25lbnQgZXh0ZW5kcyBjbGFzc2VzKE1YSW5wdXRCYXNlVmFsdWVDb21wb25lbnQ8QVhDb21tYW5kTWVudUl0ZW0+LCBNWExvb2tDb21wb25lbnQpIHtcbiAgcHJvdGVjdGVkIHNlYXJjaFZhbHVlID0gc2lnbmFsKCcnKTtcbiAgcHJvdGVjdGVkIHNlYXJjaEJveCA9IHZpZXdDaGlsZDxBWFNlYXJjaEJveENvbXBvbmVudD4oJ2YnKTtcbiAgcmVhZG9ubHkgb25TdWJtaXQgPSBvdXRwdXQ8QVhDb21tYW5kQ29tcG9uZW50RXZlbnQ+KCk7XG4gIHJlYWRvbmx5IG9uRXNjYXBlID0gb3V0cHV0PEFYSHRtbEV2ZW50PEtleWJvYXJkRXZlbnQ+PigpO1xuICByZWFkb25seSBvblNlYXJjaEJveEZvY3VzID0gb3V0cHV0PEFYSHRtbEV2ZW50PEZvY3VzRXZlbnQ+PigpO1xuICByZWFkb25seSBvblNlYXJjaEJveEJsdXIgPSBvdXRwdXQ8QVhIdG1sRXZlbnQ8Rm9jdXNFdmVudD4+KCk7XG4gIHByb3RlY3RlZCBsaXN0TmF2aWdhdGlvbiA9IHZpZXdDaGlsZCgnbCcsIHsgcmVhZDogQVhMaXN0TmF2aWdhdGlvbkRpcmVjdGl2ZSB9KTtcbiAgcHJpdmF0ZSBsaXN0TmF2ID0gdmlld0NoaWxkKEFYTGlzdE5hdmlnYXRpb25EaXJlY3RpdmUpO1xuXG4gIC8qKlxuICAgKiBUaGUgY3VzdG9tIHRlbXBsYXRlIHVzZWQgZm9yIHJlbmRlcmluZyBjb250ZW50LlxuICAgKlxuICAgKiBAcGFyYW0ge1RlbXBsYXRlUmVmPGFueT59IGN1c3RvbVRlbXBsYXRlXG4gICAqL1xuICBjdXN0b21UZW1wbGF0ZSA9IGlucHV0PFRlbXBsYXRlUmVmPGFueT4+KCk7XG5cbiAgc2VhcmNoQmFyID0gaW5wdXQodHJ1ZSk7XG5cbiAgZm9vdGVyQnV0dG9ucyA9IGlucHV0PEFYQ29tbWFuZEZvb3Rlcj4oeyBuYXZpZ2F0aW9uOiB0cnVlLCBzZWxlY3Q6IHRydWUsIGNsb3NlOiB0cnVlIH0pO1xuXG4gIHByb3RlY3RlZCBkaXNwbGF5SXRlbXMgPSBjb21wdXRlZDxBWENvbW1hbmRJdGVtW10+KCgpID0+IHtcbiAgICBjb25zdCBzZWFyY2hWYWx1ZSA9IHRoaXMuc2VhcmNoVmFsdWUoKTtcbiAgICBsZXQgZmlsdGVyZWQ6IEFYQ29tbWFuZEl0ZW1bXTtcbiAgICBpZiAoc2VhcmNoVmFsdWUpIHtcbiAgICAgIGZpbHRlcmVkID0gdGhpcy5maWx0ZXJSZWN1cnNpdmUodGhpcy52YWx1ZS5saXN0Py5pdGVtcyA/PyBbXSwgc2VhcmNoVmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBmaWx0ZXJlZCA9IFtdO1xuICAgIH1cbiAgICByZXR1cm4gZmlsdGVyZWQ7XG4gIH0pO1xuXG4gIHByb3RlY3RlZCBmb2N1c0hhbmRsZXIoZTogQVhGb2N1c0V2ZW50KSB7XG4gICAgdGhpcy5vblNlYXJjaEJveEZvY3VzLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIG5hdGl2ZUV2ZW50OiBlLm5hdGl2ZUV2ZW50IH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGJsdXJIYW5kbGVyKGU6IEFYRm9jdXNFdmVudCkge1xuICAgIHRoaXMub25TZWFyY2hCb3hCbHVyLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIG5hdGl2ZUV2ZW50OiBlLm5hdGl2ZUV2ZW50IH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBmaWx0ZXJSZWN1cnNpdmUoaXRlbXM6IGFueVtdLCB2YWx1ZTogc3RyaW5nKTogYW55W10ge1xuICAgIGNvbnN0IGxvd2VyU2lnbmFsID0gdmFsdWUudG9Mb3dlckNhc2UoKTtcblxuICAgIHJldHVybiBpdGVtc1xuICAgICAgLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICBjb25zdCBpc01hdGNoID1cbiAgICAgICAgICBpdGVtLnRleHQ/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMobG93ZXJTaWduYWwpIHx8IGl0ZW0uaHJlZj8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhsb3dlclNpZ25hbCk7XG5cbiAgICAgICAgY29uc3QgZmlsdGVyZWRDaGlsZHJlbiA9IGl0ZW0uY2hpbGRyZW4gPyB0aGlzLmZpbHRlclJlY3Vyc2l2ZShpdGVtLmNoaWxkcmVuLCB2YWx1ZSkgOiBbXTtcblxuICAgICAgICBpZiAoaXNNYXRjaCB8fCBmaWx0ZXJlZENoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICAgIGNoaWxkcmVuOiBmaWx0ZXJlZENoaWxkcmVuLFxuICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH0pXG4gICAgICAuZmlsdGVyKEJvb2xlYW4pO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uSXRlbUNsaWNrKGl0ZW06IEFYQ29tbWFuZEl0ZW0pIHtcbiAgICB0aGlzLm9uU3VibWl0LmVtaXQoeyBkYXRhOiBpdGVtLCBjb21wb25lbnQ6IHRoaXMgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQga2V5UHJlc3MoZTogQVhIdG1sRXZlbnQ8S2V5Ym9hcmRFdmVudD4sIGl0ZW06IEFYQ29tbWFuZEl0ZW0pIHtcbiAgICBpZiAoZS5uYXRpdmVFdmVudC5rZXkgPT09ICdFbnRlcicgfHwgZS5uYXRpdmVFdmVudC5jb2RlID09PSAnU3BhY2UnKSB7XG4gICAgICBlLm5hdGl2ZUV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgZS5uYXRpdmVFdmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5vblN1Ym1pdC5lbWl0KHsgZGF0YTogaXRlbSwgY29tcG9uZW50OiB0aGlzIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBzZWFyY2hFc2NhcGVIYW5kbGVyKGU6IEFYSHRtbEV2ZW50PEtleWJvYXJkRXZlbnQ+KSB7XG4gICAgaWYgKGUubmF0aXZlRXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgdGhpcy5vbkVzY2FwZS5lbWl0KHsgY29tcG9uZW50OiB0aGlzLCBuYXRpdmVFdmVudDogZS5uYXRpdmVFdmVudCB9KTtcbiAgICB9XG4gICAgaWYgKGUubmF0aXZlRXZlbnQua2V5ID09PSAnQXJyb3dEb3duJykge1xuICAgICAgdGhpcy5saXN0TmF2aWdhdGlvbigpLmZvY3VzT25JbmRleCgwKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgY2xvc2VIYW5kbGVyKGU6IEFYSHRtbEV2ZW50PEtleWJvYXJkRXZlbnQ+KSB7XG4gICAgaWYgKCF0aGlzLmxpc3ROYXYoKS5hY3RpdmVJbmRleCgpICYmIGUubmF0aXZlRXZlbnQua2V5ID09PSAnQXJyb3dVcCcpIHtcbiAgICAgIHRoaXMuc2VhcmNoQm94KCkuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBlLm5hdGl2ZUV2ZW50LmtleSA9PT0gJ0Fycm93VXAnIHx8XG4gICAgICBlLm5hdGl2ZUV2ZW50LmtleSA9PT0gJ0Fycm93RG93bicgfHxcbiAgICAgIGUubmF0aXZlRXZlbnQua2V5ID09PSAnVGFiJyB8fFxuICAgICAgZS5uYXRpdmVFdmVudC5rZXkgPT09ICdTaGlmdCdcbiAgICApXG4gICAgICByZXR1cm47XG5cbiAgICB0aGlzLnNlYXJjaEJveCgpLmZvY3VzKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYWN0aXZlSGFuZGxlcihsOiBBWExpc3ROYXZpZ2F0aW9uRGlyZWN0aXZlLCBpOiBBWExpc3ROYXZpZ2F0aW9uSXRlbURpcmVjdGl2ZSkge1xuICAgIGw/Lm5hdmlnYXRlVG8oaSk7XG4gIH1cbn1cbiIsIkBpZiAoc2VhcmNoQmFyKCkpIHtcbiAgPGRpdiBjbGFzcz1cImF4LXNlYXJjaC1ib3gtY29udGFpbmVyXCI+XG4gICAgPGF4LXNlYXJjaC1ib3hcbiAgICAgICNmXG4gICAgICBbZGVsYXlUaW1lXT1cIjIwXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoVmFsdWVcIlxuICAgICAgKG9uRm9jdXMpPVwiZm9jdXNIYW5kbGVyKCRldmVudClcIlxuICAgICAgKG9uQmx1cik9XCJibHVySGFuZGxlcigkZXZlbnQpXCJcbiAgICAgIChvbktleURvd24pPVwic2VhcmNoRXNjYXBlSGFuZGxlcigkZXZlbnQpXCJcbiAgICAgIFtheEF1dG9Gb2N1c109XCJ0cnVlXCJcbiAgICA+XG4gICAgICA8YXgtY2xlYXItYnV0dG9uPjwvYXgtY2xlYXItYnV0dG9uPlxuICAgIDwvYXgtc2VhcmNoLWJveD5cbiAgPC9kaXY+XG59XG5cbjxkaXYgI2wgY2xhc3M9XCJheC1jb21tYW5kLWNvbnRhaW5lclwiICNzPVwiYXhMaXN0TmF2aWdhdGlvblwiIGF4TGlzdE5hdmlnYXRpb24gKG9uS2V5cHJlc3MpPVwiY2xvc2VIYW5kbGVyKCRldmVudClcIj5cbiAgQGlmICh2YWx1ZT8ucGlubmVkICYmICFzZWFyY2hWYWx1ZSgpKSB7XG4gICAgPGRpdiBjbGFzcz1cImF4LWNvbW1hbmQtaXRlbS1waW5uZWQtY29udGFpbmVyXCI+XG4gICAgICBAaWYgKHZhbHVlLnBpbm5lZC50aXRsZSkge1xuICAgICAgICA8YXgtdGV4dCBjbGFzcz1cImF4LWNvbW1hbmQtaXRlbS1waW5uZWQtdGV4dFwiPnt7IHZhbHVlLnBpbm5lZC50aXRsZSB9fTwvYXgtdGV4dD5cbiAgICAgIH1cblxuICAgICAgQGZvciAoaXRlbSBvZiB2YWx1ZS5waW5uZWQuaXRlbXM7IHRyYWNrIGl0ZW0uaWQpIHtcbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInJlbmRlckl0ZW1cIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSwgbGV2ZWw6IDEsIGxpc3ROYXZpZ2F0aW9uOiBzIH1cIlxuICAgICAgICA+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICB9XG5cbiAgQGlmICh2YWx1ZT8ubGlzdCAmJiAhc2VhcmNoVmFsdWUoKSkge1xuICAgIDxkaXYgY2xhc3M9XCJheC1jb21tYW5kLWl0ZW0tcGlubmVkLWNvbnRhaW5lclwiPlxuICAgICAgQGlmICh2YWx1ZS5saXN0LnRpdGxlKSB7XG4gICAgICAgIDxheC10ZXh0IGNsYXNzPVwiYXgtY29tbWFuZC1pdGVtLXBpbm5lZC10ZXh0XCI+e3sgdmFsdWUubGlzdC50aXRsZSB9fTwvYXgtdGV4dD5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY29tbWFuZC1kaXZpZGVyXCI+PC9kaXY+XG4gICAgICB9XG5cbiAgICAgIEBmb3IgKGl0ZW0gb2YgdmFsdWUubGlzdC5pdGVtczsgdHJhY2sgaXRlbS5pZCkge1xuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwicmVuZGVySXRlbVwiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtLCBsZXZlbDogMSwgbGlzdE5hdmlnYXRpb246IHMgfVwiXG4gICAgICAgID5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIH1cblxuICBAaWYgKGRpc3BsYXlJdGVtcygpICYmIHNlYXJjaFZhbHVlKCkpIHtcbiAgICA8ZGl2IGNsYXNzPVwiYXgtY29tbWFuZC1pdGVtLXdyYXBwZXJcIj5cbiAgICAgIEBmb3IgKGl0ZW0gb2YgZGlzcGxheUl0ZW1zKCk7IHRyYWNrIGl0ZW0uaWQpIHtcbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInJlbmRlckl0ZW1cIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSwgbGV2ZWw6IDEsIGxpc3ROYXZpZ2F0aW9uOiBzIH1cIlxuICAgICAgICA+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgfSBAZW1wdHkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY29tbWFuZC1ub3QtZm91bmRcIj5cbiAgICAgICAgICA8YXgtdGV4dD5ObyByZXN1bHRzIGZvdW5kIGZvciBcInt7IHNlYXJjaFZhbHVlKCkgfX1cIjwvYXgtdGV4dD5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIH1cblxuICA8bmctdGVtcGxhdGUgI3JlbmRlckl0ZW0gbGV0LWl0ZW0gbGV0LWxldmVsPVwibGV2ZWxcIiBsZXQtbGlzdE5hdmlnYXRpb249XCJsaXN0TmF2aWdhdGlvblwiPlxuICAgIDxkaXZcbiAgICAgIChtb3VzZWVudGVyKT1cImFjdGl2ZUhhbmRsZXIobGlzdE5hdmlnYXRpb24sIGEpXCJcbiAgICAgIGNsYXNzPVwiYXgtcmVtb3ZlLWRlZmF1bHQtc2VsZWN0LXN0eWxlXCJcbiAgICAgIFtjbGFzcy5heC1jb21tYW5kLWl0ZW0tY29udGFpbmVyXT1cIiFjdXN0b21UZW1wbGF0ZSgpXCJcbiAgICAgIFtzdHlsZS5wYWRkaW5nLWlubGluZS1zdGFydC5yZW1dPVwiIWN1c3RvbVRlbXBsYXRlKCkgPyBsZXZlbCAqIDAuNjI1IDogMFwiXG4gICAgICBbY2xhc3MuYXgtY29tbWFuZC1pdGVtLWNvbnRhaW5lci1hY3RpdmVdPVwiYS5pc0FjdGl2ZSgpICYmICFjdXN0b21UZW1wbGF0ZSgpXCJcbiAgICAgICNhPVwiYXhMaXN0TmF2aWdhdGlvbkl0ZW1cIlxuICAgICAgYXhMaXN0TmF2aWdhdGlvbkl0ZW1cbiAgICAgIChjbGljayk9XCJvbkl0ZW1DbGljayhpdGVtKVwiXG4gICAgICAob25LZXlwcmVzcyk9XCJrZXlQcmVzcygkZXZlbnQsIGl0ZW0pXCJcbiAgICA+XG4gICAgICBAaWYgKGN1c3RvbVRlbXBsYXRlKCkpIHtcbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbVRlbXBsYXRlKClcIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAkaW1wbGljaXQ6IGl0ZW0sXG4gICAgICAgICAgICBsZXZlbDogbGV2ZWwsXG4gICAgICAgICAgICBpc0FjdGl2ZTogYS5pc0FjdGl2ZSgpLFxuICAgICAgICAgIH1cIlxuICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNvbW1hbmQtaXRlbVwiPlxuICAgICAgICAgIEBpZiAoaXRlbS5pY29uKSB7XG4gICAgICAgICAgICA8aSBjbGFzcz1cImF4LWNvbW1hbmQtaXRlbS1pY29uXCIgW2NsYXNzXT1cIml0ZW0uaWNvblwiPjwvaT5cbiAgICAgICAgICB9XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJheC1jb21tYW5kLWl0ZW0tdGV4dFwiPnt7IGl0ZW0udGV4dCB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG5cbiAgICBAaWYgKGl0ZW0uY2hpbGRyZW4/Lmxlbmd0aCkge1xuICAgICAgQGZvciAoY2hpbGQgb2YgaXRlbS5jaGlsZHJlbjsgdHJhY2sgY2hpbGQuaWQpIHtcbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInJlbmRlckl0ZW1cIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogY2hpbGQsIGxldmVsOiBsZXZlbCArIDEsIGxpc3ROYXZpZ2F0aW9uOiBzIH1cIlxuICAgICAgICA+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgfVxuICAgIH1cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuXG5AaWYgKGZvb3RlckJ1dHRvbnMoKS5uYXZpZ2F0aW9uIHx8IGZvb3RlckJ1dHRvbnMoKS5zZWxlY3QgfHwgZm9vdGVyQnV0dG9ucygpLmNsb3NlKSB7XG4gIDxkaXYgY2xhc3M9XCJheC1jb21tYW5kLWZvb3RlclwiPlxuICAgIEBpZiAoZm9vdGVyQnV0dG9ucygpLm5hdmlnYXRpb24pIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJheC1rYmQtZm9vdGVyXCI+XG4gICAgICAgIDxheC1rYmQgY2xhc3M9XCJheC1rYmRcIj5cbiAgICAgICAgICA8YXgta2JkLWl0ZW0gW2tleXNdPVwiWycmdWFycjsnXVwiPjwvYXgta2JkLWl0ZW0+XG4gICAgICAgICAgPGF4LWtiZC1pdGVtIFtrZXlzXT1cIlsnJmRhcnI7J11cIj48L2F4LWtiZC1pdGVtPlxuICAgICAgICA8L2F4LWtiZD5cbiAgICAgICAgPGF4LXRleHQgY2xhc3M9XCJheC1rYmQtdGV4dFwiPnRvIG5hdmlnYXRlPC9heC10ZXh0PlxuICAgICAgPC9kaXY+XG4gICAgfVxuXG4gICAgQGlmIChmb290ZXJCdXR0b25zKCkuc2VsZWN0KSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgta2JkLWZvb3RlclwiPlxuICAgICAgICA8YXgta2JkIGNsYXNzPVwiYXgta2JkXCI+XG4gICAgICAgICAgPGF4LWtiZC1pdGVtIFtrZXlzXT1cIlsnJiM4NjE3OyddXCI+PC9heC1rYmQtaXRlbT5cbiAgICAgICAgPC9heC1rYmQ+XG4gICAgICAgIDxheC10ZXh0IGNsYXNzPVwiYXgta2JkLXRleHRcIj50byBzZWxlY3Q8L2F4LXRleHQ+XG4gICAgICA8L2Rpdj5cbiAgICB9XG5cbiAgICBAaWYgKGZvb3RlckJ1dHRvbnMoKS5jbG9zZSkge1xuICAgICAgPGRpdiBjbGFzcz1cImF4LWtiZC1mb290ZXJcIj5cbiAgICAgICAgPGF4LWtiZCBjbGFzcz1cImF4LWtiZFwiPlxuICAgICAgICAgIDxheC1rYmQtaXRlbSBba2V5c109XCJbJ2VzYyddXCI+PC9heC1rYmQtaXRlbT5cbiAgICAgICAgPC9heC1rYmQ+XG4gICAgICAgIDxheC10ZXh0IGNsYXNzPVwiYXgta2JkLXRleHRcIj50byBjbG9zZTwvYXgtdGV4dD5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG59XG4iXX0=","import { NgModule } from '@angular/core';\nimport { AXCommandComponent } from './command.component';\nimport * as i0 from \"@angular/core\";\nconst COMPONENT = [AXCommandComponent];\nconst MODULES = [];\nexport class AXCommandModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXCommandModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.3\", ngImport: i0, type: AXCommandModule, imports: [AXCommandComponent], exports: [AXCommandComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXCommandModule, imports: [MODULES, COMPONENT] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXCommandModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvbW1hbmQvc3JjL2xpYi9jb21tYW5kLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUV6RCxNQUFNLFNBQVMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFDdkMsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO0FBT25CLE1BQU0sT0FBTyxlQUFlOzhHQUFmLGVBQWU7K0dBQWYsZUFBZSxZQVJULGtCQUFrQixhQUFsQixrQkFBa0I7K0dBUXhCLGVBQWUsWUFKYixPQUFPLEVBQUssU0FBUzs7MkZBSXZCLGVBQWU7a0JBTDNCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsR0FBRyxPQUFPLEVBQUUsR0FBRyxTQUFTLENBQUM7b0JBQ25DLE9BQU8sRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDO29CQUN2QixTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWENvbW1hbmRDb21wb25lbnQgfSBmcm9tICcuL2NvbW1hbmQuY29tcG9uZW50JztcblxuY29uc3QgQ09NUE9ORU5UID0gW0FYQ29tbWFuZENvbXBvbmVudF07XG5jb25zdCBNT0RVTEVTID0gW107XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFsuLi5NT0RVTEVTLCAuLi5DT01QT05FTlRdLFxuICBleHBvcnRzOiBbLi4uQ09NUE9ORU5UXSxcbiAgcHJvdmlkZXJzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhDb21tYW5kTW9kdWxlIHt9XG4iXX0=","import { AXEvent } from '@acorex/cdk/common';\nexport class AXCommandComponentEvent extends AXEvent {\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9jb21tYW5kL3NyYy9saWIvY29tbWFuZC50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQXFCN0MsTUFBTSxPQUFPLHVCQUF3QixTQUFRLE9BQU87Q0FFbkQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEV2ZW50IH0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcblxuZXhwb3J0IHR5cGUgQVhDb21tYW5kSXRlbSA9IHtcbiAgaWQ6IHN0cmluZyB8IG51bWJlcjtcbiAgdGV4dDogc3RyaW5nO1xuICBpY29uPzogc3RyaW5nO1xuICBocmVmPzogc3RyaW5nO1xuICBjaGlsZHJlbj86IEFYQ29tbWFuZEl0ZW1bXTtcbiAgaW5kZXg/OiBudW1iZXI7XG4gIGRhdGE/OiBhbnk7XG59O1xuXG50eXBlIGZvcmNlSWQgPSB7XG4gIGlkOiBzdHJpbmcgfCBudW1iZXI7XG59O1xuXG5leHBvcnQgdHlwZSBBWENvbW1hbmRNZW51SXRlbTxUIGV4dGVuZHMgZm9yY2VJZCA9IEFYQ29tbWFuZEl0ZW0+ID0ge1xuICBwaW5uZWQ/OiB7IHRpdGxlPzogc3RyaW5nOyBpdGVtczogVFtdIH07XG4gIGxpc3Q6IHsgdGl0bGU/OiBzdHJpbmc7IGl0ZW1zOiBUW10gfTtcbn07XG5cbmV4cG9ydCBjbGFzcyBBWENvbW1hbmRDb21wb25lbnRFdmVudCBleHRlbmRzIEFYRXZlbnQge1xuICBkYXRhOiBBWENvbW1hbmRJdGVtO1xufVxuXG5leHBvcnQgdHlwZSBBWENvbW1hbmRGb290ZXIgPSB7IG5hdmlnYXRpb246IGJvb2xlYW47IHNlbGVjdDogYm9vbGVhbjsgY2xvc2U6IGJvb2xlYW4gfTtcbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvbXBvbmVudHMtY29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvY29tbWFuZC9zcmMvYWNvcmV4LWNvbXBvbmVudHMtY29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-command.mjs","sources":["../tmp-esm2022/command/lib/command.component.js","../tmp-esm2022/command/lib/command.module.js","../tmp-esm2022/command/lib/command.type.js","../tmp-esm2022/command/acorex-components-command.js"],"sourcesContent":["import { AXAutoFocusDirective, AXComponent, AXValuableComponent, MXInputBaseValueComponent, MXLookComponent, } from '@acorex/cdk/common';\nimport { AXListNavigationDirective, AXListNavigationModule, } from '@acorex/cdk/list-navigation';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXKBDComponent, AXKBDItemComponent } from '@acorex/components/kbd';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { CommonModule } from '@angular/common';\nimport { Component, computed, forwardRef, input, output, signal, viewChild, ViewEncapsulation, } from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/search-box\";\nimport * as i2 from \"@acorex/components/decorators\";\nimport * as i3 from \"@angular/common\";\nimport * as i4 from \"@angular/forms\";\nimport * as i5 from \"@acorex/cdk/list-navigation\";\nexport class AXCommandComponent extends classes((MXInputBaseValueComponent), MXLookComponent) {\n constructor() {\n super(...arguments);\n this.searchValue = signal('', ...(ngDevMode ? [{ debugName: \"searchValue\" }] : []));\n this.searchBox = viewChild('f', ...(ngDevMode ? [{ debugName: \"searchBox\" }] : []));\n this.onSubmit = output();\n this.onEscape = output();\n this.onSearchBoxFocus = output();\n this.onSearchBoxBlur = output();\n this.listNavigation = viewChild('l', ...(ngDevMode ? [{ debugName: \"listNavigation\", read: AXListNavigationDirective }] : [{ read: AXListNavigationDirective }]));\n this.listNav = viewChild(AXListNavigationDirective, ...(ngDevMode ? [{ debugName: \"listNav\" }] : []));\n /**\n * The custom template used for rendering content.\n *\n * @param {TemplateRef<any>} customTemplate\n */\n this.customTemplate = input(...(ngDevMode ? [undefined, { debugName: \"customTemplate\" }] : []));\n this.searchBar = input(true, ...(ngDevMode ? [{ debugName: \"searchBar\" }] : []));\n this.divider = input(true, ...(ngDevMode ? [{ debugName: \"divider\" }] : []));\n this.searchKey = input(null, ...(ngDevMode ? [{ debugName: \"searchKey\" }] : []));\n this.footerButtons = input({ navigation: true, select: true, close: true }, ...(ngDevMode ? [{ debugName: \"footerButtons\" }] : []));\n this.displayItems = computed(() => {\n const searchValue = this.searchValue();\n let filtered;\n if (searchValue) {\n filtered = this.filterRecursive(this.value.list?.items ?? [], searchValue);\n }\n else {\n filtered = [];\n }\n return filtered;\n }, ...(ngDevMode ? [{ debugName: \"displayItems\" }] : []));\n }\n focusHandler(e) {\n this.onSearchBoxFocus.emit({ component: this, nativeEvent: e.nativeEvent });\n }\n blurHandler(e) {\n this.onSearchBoxBlur.emit({ component: this, nativeEvent: e.nativeEvent });\n }\n filterRecursive(items, value) {\n const lowerSignal = value.toLowerCase();\n const searchKey = this.searchKey();\n return items\n .map((item) => {\n let isMatch;\n if (searchKey) {\n isMatch = item[searchKey]?.toLowerCase().includes(lowerSignal);\n }\n else {\n isMatch = item.text?.toLowerCase().includes(lowerSignal) || item.href?.toLowerCase().includes(lowerSignal);\n }\n const filteredChildren = item.children ? this.filterRecursive(item.children, value) : [];\n if (isMatch || filteredChildren.length > 0) {\n return {\n ...item,\n children: filteredChildren,\n };\n }\n return null;\n })\n .filter(Boolean);\n }\n onItemClick(item) {\n this.onSubmit.emit({ data: item, component: this });\n }\n keyPress(e, item) {\n if (e.nativeEvent.key === 'Enter' || e.nativeEvent.code === 'Space') {\n e.nativeEvent.stopPropagation();\n e.nativeEvent.preventDefault();\n this.onSubmit.emit({ data: item, component: this });\n }\n }\n searchEscapeHandler(e) {\n if (e.nativeEvent.key === 'Escape') {\n this.onEscape.emit({ component: this, nativeEvent: e.nativeEvent });\n }\n if (e.nativeEvent.key === 'ArrowDown') {\n this.listNavigation().focusOnIndex(0);\n }\n }\n closeHandler(e) {\n if (!this.listNav().activeIndex() && e.nativeEvent.key === 'ArrowUp') {\n this.searchBox().focus();\n }\n if (e.nativeEvent.key === 'ArrowUp' ||\n e.nativeEvent.key === 'ArrowDown' ||\n e.nativeEvent.key === 'Tab' ||\n e.nativeEvent.key === 'Shift')\n return;\n this.searchBox().focus();\n }\n activeHandler(l, i) {\n l?.navigateTo(i);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXCommandComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.3\", type: AXCommandComponent, isStandalone: true, selector: \"ax-command\", inputs: { disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: \"readonly\", publicName: \"readonly\", isSignal: false, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: \"tabIndex\", publicName: \"tabIndex\", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: \"placeholder\", publicName: \"placeholder\", isSignal: false, isRequired: false, transformFunction: null }, value: { classPropertyName: \"value\", publicName: \"value\", isSignal: false, isRequired: false, transformFunction: null }, state: { classPropertyName: \"state\", publicName: \"state\", isSignal: false, isRequired: false, transformFunction: null }, name: { classPropertyName: \"name\", publicName: \"name\", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: \"id\", publicName: \"id\", isSignal: false, isRequired: false, transformFunction: null }, customTemplate: { classPropertyName: \"customTemplate\", publicName: \"customTemplate\", isSignal: true, isRequired: false, transformFunction: null }, searchBar: { classPropertyName: \"searchBar\", publicName: \"searchBar\", isSignal: true, isRequired: false, transformFunction: null }, divider: { classPropertyName: \"divider\", publicName: \"divider\", isSignal: true, isRequired: false, transformFunction: null }, searchKey: { classPropertyName: \"searchKey\", publicName: \"searchKey\", isSignal: true, isRequired: false, transformFunction: null }, footerButtons: { classPropertyName: \"footerButtons\", publicName: \"footerButtons\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSubmit: \"onSubmit\", onEscape: \"onEscape\", onSearchBoxFocus: \"onSearchBoxFocus\", onSearchBoxBlur: \"onSearchBoxBlur\" }, providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXCommandComponent),\n multi: true,\n },\n { provide: AXComponent, useExisting: AXCommandComponent },\n { provide: AXValuableComponent, useExisting: AXCommandComponent },\n ], viewQueries: [{ propertyName: \"searchBox\", first: true, predicate: [\"f\"], descendants: true, isSignal: true }, { propertyName: \"listNavigation\", first: true, predicate: [\"l\"], descendants: true, read: AXListNavigationDirective, isSignal: true }, { propertyName: \"listNav\", first: true, predicate: AXListNavigationDirective, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: \"@if (searchBar()) {\\n <div class=\\\"ax-search-box-container\\\">\\n <ax-search-box\\n #f\\n [delayTime]=\\\"20\\\"\\n [placeholder]=\\\"placeholder\\\"\\n [disabled]=\\\"disabled\\\"\\n [readonly]=\\\"readonly\\\"\\n [(ngModel)]=\\\"searchValue\\\"\\n (onFocus)=\\\"focusHandler($event)\\\"\\n (onBlur)=\\\"blurHandler($event)\\\"\\n (onKeyDown)=\\\"searchEscapeHandler($event)\\\"\\n [axAutoFocus]=\\\"true\\\"\\n >\\n <ax-clear-button></ax-clear-button>\\n </ax-search-box>\\n </div>\\n}\\n\\n<div #l class=\\\"ax-command-container\\\" #s=\\\"axListNavigation\\\" axListNavigation (onKeypress)=\\\"closeHandler($event)\\\">\\n @if (value?.pinned && !searchValue()) {\\n <div class=\\\"ax-command-item-pinned-container\\\">\\n @if (value.pinned.title) {\\n <ax-text class=\\\"ax-command-item-pinned-text\\\">{{ value.pinned.title }}</ax-text>\\n }\\n\\n @for (item of value.pinned.items; track item.id) {\\n <ng-container\\n [ngTemplateOutlet]=\\\"renderItem\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: item, level: 1, listNavigation: s }\\\"\\n >\\n </ng-container>\\n }\\n </div>\\n }\\n\\n @if (value?.list && !searchValue()) {\\n <div class=\\\"ax-command-item-pinned-container\\\">\\n @if (value.list.title) {\\n <ax-text class=\\\"ax-command-item-pinned-text\\\">{{ value.list.title }}</ax-text>\\n } @else if (divider()) {\\n <div class=\\\"ax-command-divider\\\"></div>\\n }\\n\\n @for (item of value.list.items; track item.id) {\\n <ng-container\\n [ngTemplateOutlet]=\\\"renderItem\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: item, level: 1, listNavigation: s }\\\"\\n >\\n </ng-container>\\n }\\n </div>\\n }\\n\\n @if (displayItems() && searchValue()) {\\n <div class=\\\"ax-command-item-wrapper\\\">\\n @for (item of displayItems(); track item.id) {\\n <ng-container\\n [ngTemplateOutlet]=\\\"renderItem\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: item, level: 1, listNavigation: s }\\\"\\n >\\n </ng-container>\\n } @empty {\\n <div class=\\\"ax-command-not-found\\\">\\n <ax-text>No results found for \\\"{{ searchValue() }}\\\"</ax-text>\\n </div>\\n }\\n </div>\\n }\\n\\n <ng-template #renderItem let-item let-level=\\\"level\\\" let-listNavigation=\\\"listNavigation\\\">\\n <div\\n (mouseenter)=\\\"activeHandler(listNavigation, a)\\\"\\n class=\\\"ax-remove-default-select-style\\\"\\n [class.ax-command-item-container]=\\\"!customTemplate()\\\"\\n [style.padding-inline-start.rem]=\\\"!customTemplate() ? level * 0.625 : 0\\\"\\n [class.ax-command-item-container-active]=\\\"a.isActive() && !customTemplate()\\\"\\n #a=\\\"axListNavigationItem\\\"\\n axListNavigationItem\\n (click)=\\\"onItemClick(item)\\\"\\n (onKeypress)=\\\"keyPress($event, item)\\\"\\n >\\n @if (customTemplate()) {\\n <ng-container\\n [ngTemplateOutlet]=\\\"customTemplate()\\\"\\n [ngTemplateOutletContext]=\\\"{\\n $implicit: item,\\n level: level,\\n isActive: a.isActive(),\\n }\\\"\\n ></ng-container>\\n } @else {\\n <div class=\\\"ax-command-item\\\">\\n @if (item.icon) {\\n <i class=\\\"ax-command-item-icon\\\" [class]=\\\"item.icon\\\"></i>\\n }\\n <span class=\\\"ax-command-item-text\\\">{{ item.text }}</span>\\n </div>\\n }\\n </div>\\n\\n @if (item.children?.length) {\\n @for (child of item.children; track child.id) {\\n <ng-container\\n [ngTemplateOutlet]=\\\"renderItem\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: child, level: level + 1, listNavigation: s }\\\"\\n >\\n </ng-container>\\n }\\n }\\n </ng-template>\\n</div>\\n\\n@if (footerButtons().navigation || footerButtons().select || footerButtons().close) {\\n <div class=\\\"ax-command-footer\\\">\\n @if (footerButtons().navigation) {\\n <div class=\\\"ax-kbd-footer\\\">\\n <ax-kbd class=\\\"ax-kbd\\\">\\n <ax-kbd-item [keys]=\\\"['&uarr;']\\\"></ax-kbd-item>\\n <ax-kbd-item [keys]=\\\"['&darr;']\\\"></ax-kbd-item>\\n </ax-kbd>\\n <ax-text class=\\\"ax-kbd-text\\\">to navigate</ax-text>\\n </div>\\n }\\n\\n @if (footerButtons().select) {\\n <div class=\\\"ax-kbd-footer\\\">\\n <ax-kbd class=\\\"ax-kbd\\\">\\n <ax-kbd-item [keys]=\\\"['&#8617;']\\\"></ax-kbd-item>\\n </ax-kbd>\\n <ax-text class=\\\"ax-kbd-text\\\">to select</ax-text>\\n </div>\\n }\\n\\n @if (footerButtons().close) {\\n <div class=\\\"ax-kbd-footer\\\">\\n <ax-kbd class=\\\"ax-kbd\\\">\\n <ax-kbd-item [keys]=\\\"['esc']\\\"></ax-kbd-item>\\n </ax-kbd>\\n <ax-text class=\\\"ax-kbd-text\\\">to close</ax-text>\\n </div>\\n }\\n </div>\\n}\\n\", styles: [\"ax-command{overflow:hidden;border-radius:var(--ax-sys-border-radius);outline:1px solid rgba(var(--ax-sys-color-border-light-surface));display:block}ax-command .ax-editor-container.ax-solid{--ax-comp-editor-bg-color: var(--ax-sys-color-light-surface)}ax-command .ax-search-box-container{padding:.625rem;background-color:rgba(var(--ax-sys-color-lightest-surface))}ax-command .ax-command-container{max-height:20rem;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;background-color:rgba(var(--ax-sys-color-lightest-surface));color:rgba(var(--ax-sys-color-on-surface))}ax-command .ax-command-container .ax-command-item-pinned-container{padding-inline:.625rem}ax-command .ax-command-container .ax-command-item-pinned-container .ax-command-item-pinned-text{font-weight:500;font-size:.9rem;color:rgba(var(--ax-sys-color-neutral));padding:.625rem;display:block}ax-command .ax-command-container .ax-command-item-pinned-container .ax-command-divider{height:1px;width:100%;background-color:rgba(var(--ax-sys-color-surface))}ax-command .ax-command-container .ax-command-item-wrapper{padding-inline:.625rem}ax-command .ax-command-container .ax-command-item-container{cursor:pointer;padding:.5rem;border:1px solid transparent}ax-command .ax-command-container .ax-command-item-container .ax-command-item{display:flex;align-items:center;gap:.5rem}ax-command .ax-command-container .ax-command-item-container .ax-command-item-text{font-weight:500;color:rgba(var(--ax-sys-color-on-lightest-surface));font-size:.875rem}ax-command .ax-command-container .ax-command-item-container .ax-command-item-icon{color:rgba(var(--ax-sys-color-neutral))}ax-command .ax-command-container .ax-command-not-found{padding:1rem;display:flex;justify-content:center}ax-command .ax-command-container .ax-remove-default-select-style{outline:2px solid transparent;outline-offset:2px;--tw-border-opacity: 1}ax-command .ax-command-container .ax-command-item-container-active{background-color:rgba(var(--ax-sys-color-light-surface));border-radius:var(--ax-sys-border-radius);border:1px solid rgba(var(--ax-sys-color-border-light-surface))}ax-command .ax-kbd{display:flex;gap:.5rem;align-items:center;height:100%}ax-command .ax-command-footer{border-bottom-right-radius:var(--ax-sys-border-radius);border-bottom-left-radius:var(--ax-sys-border-radius);background-color:rgba(var(--ax-sys-color-lighter-surface));color:rgba(var(--ax-sys-color-neutral));padding:.75rem;display:flex;align-items:center;gap:1.5rem}ax-command .ax-command-footer .ax-kbd-footer{display:flex;justify-content:center;align-items:center;gap:.7rem}ax-command .ax-command-footer .ax-kbd-footer kbd{background-color:rgba(var(--ax-sys-color-lightest-surface))}ax-command .ax-command-footer .ax-kbd-text{font-weight:600;font-size:.9rem}\\n\"], dependencies: [{ kind: \"ngmodule\", type: AXSearchBoxModule }, { kind: \"component\", type: i1.AXSearchBoxComponent, selector: \"ax-search-box\", inputs: [\"disabled\", \"readonly\", \"tabIndex\", \"placeholder\", \"value\", \"state\", \"name\", \"id\", \"look\", \"class\", \"delayTime\", \"type\", \"autoSearch\"], outputs: [\"valueChange\", \"stateChange\", \"onValueChanged\", \"onBlur\", \"onFocus\", \"readonlyChange\", \"disabledChange\", \"onKeyDown\", \"onKeyUp\", \"onKeyPress\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i2.AXDecoratorClearButtonComponent, selector: \"ax-clear-button\", inputs: [\"icon\"] }, { kind: \"component\", type: i2.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i3.NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i4.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i4.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"ngmodule\", type: AXListNavigationModule }, { kind: \"directive\", type: i5.AXListNavigationDirective, selector: \"[axListNavigation]\", inputs: [\"orientation\"], outputs: [\"onNavigationChanged\", \"onKeypress\"], exportAs: [\"axListNavigation\"] }, { kind: \"directive\", type: i5.AXListNavigationItemDirective, selector: \"[axListNavigationItem]\", outputs: [\"onKeypress\"], exportAs: [\"axListNavigationItem\"] }, { kind: \"component\", type: AXKBDComponent, selector: \"ax-kbd\", inputs: [\"look\"] }, { kind: \"component\", type: AXKBDItemComponent, selector: \"ax-kbd-item\", inputs: [\"keys\", \"join\", \"look\"], outputs: [\"lookChange\"] }, { kind: \"directive\", type: AXAutoFocusDirective, selector: \"[axAutoFocus]\", inputs: [\"axAutoFocus\", \"axAutoFocusTime\"] }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXCommandComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-command', encapsulation: ViewEncapsulation.None, imports: [\n AXSearchBoxModule,\n AXDecoratorModule,\n CommonModule,\n FormsModule,\n AXListNavigationModule,\n AXKBDComponent,\n AXKBDItemComponent,\n AXAutoFocusDirective,\n ], providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXCommandComponent),\n multi: true,\n },\n { provide: AXComponent, useExisting: AXCommandComponent },\n { provide: AXValuableComponent, useExisting: AXCommandComponent },\n ], inputs: ['disabled', 'readonly', 'tabIndex', 'placeholder', 'value', 'state', 'name', 'id'], template: \"@if (searchBar()) {\\n <div class=\\\"ax-search-box-container\\\">\\n <ax-search-box\\n #f\\n [delayTime]=\\\"20\\\"\\n [placeholder]=\\\"placeholder\\\"\\n [disabled]=\\\"disabled\\\"\\n [readonly]=\\\"readonly\\\"\\n [(ngModel)]=\\\"searchValue\\\"\\n (onFocus)=\\\"focusHandler($event)\\\"\\n (onBlur)=\\\"blurHandler($event)\\\"\\n (onKeyDown)=\\\"searchEscapeHandler($event)\\\"\\n [axAutoFocus]=\\\"true\\\"\\n >\\n <ax-clear-button></ax-clear-button>\\n </ax-search-box>\\n </div>\\n}\\n\\n<div #l class=\\\"ax-command-container\\\" #s=\\\"axListNavigation\\\" axListNavigation (onKeypress)=\\\"closeHandler($event)\\\">\\n @if (value?.pinned && !searchValue()) {\\n <div class=\\\"ax-command-item-pinned-container\\\">\\n @if (value.pinned.title) {\\n <ax-text class=\\\"ax-command-item-pinned-text\\\">{{ value.pinned.title }}</ax-text>\\n }\\n\\n @for (item of value.pinned.items; track item.id) {\\n <ng-container\\n [ngTemplateOutlet]=\\\"renderItem\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: item, level: 1, listNavigation: s }\\\"\\n >\\n </ng-container>\\n }\\n </div>\\n }\\n\\n @if (value?.list && !searchValue()) {\\n <div class=\\\"ax-command-item-pinned-container\\\">\\n @if (value.list.title) {\\n <ax-text class=\\\"ax-command-item-pinned-text\\\">{{ value.list.title }}</ax-text>\\n } @else if (divider()) {\\n <div class=\\\"ax-command-divider\\\"></div>\\n }\\n\\n @for (item of value.list.items; track item.id) {\\n <ng-container\\n [ngTemplateOutlet]=\\\"renderItem\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: item, level: 1, listNavigation: s }\\\"\\n >\\n </ng-container>\\n }\\n </div>\\n }\\n\\n @if (displayItems() && searchValue()) {\\n <div class=\\\"ax-command-item-wrapper\\\">\\n @for (item of displayItems(); track item.id) {\\n <ng-container\\n [ngTemplateOutlet]=\\\"renderItem\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: item, level: 1, listNavigation: s }\\\"\\n >\\n </ng-container>\\n } @empty {\\n <div class=\\\"ax-command-not-found\\\">\\n <ax-text>No results found for \\\"{{ searchValue() }}\\\"</ax-text>\\n </div>\\n }\\n </div>\\n }\\n\\n <ng-template #renderItem let-item let-level=\\\"level\\\" let-listNavigation=\\\"listNavigation\\\">\\n <div\\n (mouseenter)=\\\"activeHandler(listNavigation, a)\\\"\\n class=\\\"ax-remove-default-select-style\\\"\\n [class.ax-command-item-container]=\\\"!customTemplate()\\\"\\n [style.padding-inline-start.rem]=\\\"!customTemplate() ? level * 0.625 : 0\\\"\\n [class.ax-command-item-container-active]=\\\"a.isActive() && !customTemplate()\\\"\\n #a=\\\"axListNavigationItem\\\"\\n axListNavigationItem\\n (click)=\\\"onItemClick(item)\\\"\\n (onKeypress)=\\\"keyPress($event, item)\\\"\\n >\\n @if (customTemplate()) {\\n <ng-container\\n [ngTemplateOutlet]=\\\"customTemplate()\\\"\\n [ngTemplateOutletContext]=\\\"{\\n $implicit: item,\\n level: level,\\n isActive: a.isActive(),\\n }\\\"\\n ></ng-container>\\n } @else {\\n <div class=\\\"ax-command-item\\\">\\n @if (item.icon) {\\n <i class=\\\"ax-command-item-icon\\\" [class]=\\\"item.icon\\\"></i>\\n }\\n <span class=\\\"ax-command-item-text\\\">{{ item.text }}</span>\\n </div>\\n }\\n </div>\\n\\n @if (item.children?.length) {\\n @for (child of item.children; track child.id) {\\n <ng-container\\n [ngTemplateOutlet]=\\\"renderItem\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: child, level: level + 1, listNavigation: s }\\\"\\n >\\n </ng-container>\\n }\\n }\\n </ng-template>\\n</div>\\n\\n@if (footerButtons().navigation || footerButtons().select || footerButtons().close) {\\n <div class=\\\"ax-command-footer\\\">\\n @if (footerButtons().navigation) {\\n <div class=\\\"ax-kbd-footer\\\">\\n <ax-kbd class=\\\"ax-kbd\\\">\\n <ax-kbd-item [keys]=\\\"['&uarr;']\\\"></ax-kbd-item>\\n <ax-kbd-item [keys]=\\\"['&darr;']\\\"></ax-kbd-item>\\n </ax-kbd>\\n <ax-text class=\\\"ax-kbd-text\\\">to navigate</ax-text>\\n </div>\\n }\\n\\n @if (footerButtons().select) {\\n <div class=\\\"ax-kbd-footer\\\">\\n <ax-kbd class=\\\"ax-kbd\\\">\\n <ax-kbd-item [keys]=\\\"['&#8617;']\\\"></ax-kbd-item>\\n </ax-kbd>\\n <ax-text class=\\\"ax-kbd-text\\\">to select</ax-text>\\n </div>\\n }\\n\\n @if (footerButtons().close) {\\n <div class=\\\"ax-kbd-footer\\\">\\n <ax-kbd class=\\\"ax-kbd\\\">\\n <ax-kbd-item [keys]=\\\"['esc']\\\"></ax-kbd-item>\\n </ax-kbd>\\n <ax-text class=\\\"ax-kbd-text\\\">to close</ax-text>\\n </div>\\n }\\n </div>\\n}\\n\", styles: [\"ax-command{overflow:hidden;border-radius:var(--ax-sys-border-radius);outline:1px solid rgba(var(--ax-sys-color-border-light-surface));display:block}ax-command .ax-editor-container.ax-solid{--ax-comp-editor-bg-color: var(--ax-sys-color-light-surface)}ax-command .ax-search-box-container{padding:.625rem;background-color:rgba(var(--ax-sys-color-lightest-surface))}ax-command .ax-command-container{max-height:20rem;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;background-color:rgba(var(--ax-sys-color-lightest-surface));color:rgba(var(--ax-sys-color-on-surface))}ax-command .ax-command-container .ax-command-item-pinned-container{padding-inline:.625rem}ax-command .ax-command-container .ax-command-item-pinned-container .ax-command-item-pinned-text{font-weight:500;font-size:.9rem;color:rgba(var(--ax-sys-color-neutral));padding:.625rem;display:block}ax-command .ax-command-container .ax-command-item-pinned-container .ax-command-divider{height:1px;width:100%;background-color:rgba(var(--ax-sys-color-surface))}ax-command .ax-command-container .ax-command-item-wrapper{padding-inline:.625rem}ax-command .ax-command-container .ax-command-item-container{cursor:pointer;padding:.5rem;border:1px solid transparent}ax-command .ax-command-container .ax-command-item-container .ax-command-item{display:flex;align-items:center;gap:.5rem}ax-command .ax-command-container .ax-command-item-container .ax-command-item-text{font-weight:500;color:rgba(var(--ax-sys-color-on-lightest-surface));font-size:.875rem}ax-command .ax-command-container .ax-command-item-container .ax-command-item-icon{color:rgba(var(--ax-sys-color-neutral))}ax-command .ax-command-container .ax-command-not-found{padding:1rem;display:flex;justify-content:center}ax-command .ax-command-container .ax-remove-default-select-style{outline:2px solid transparent;outline-offset:2px;--tw-border-opacity: 1}ax-command .ax-command-container .ax-command-item-container-active{background-color:rgba(var(--ax-sys-color-light-surface));border-radius:var(--ax-sys-border-radius);border:1px solid rgba(var(--ax-sys-color-border-light-surface))}ax-command .ax-kbd{display:flex;gap:.5rem;align-items:center;height:100%}ax-command .ax-command-footer{border-bottom-right-radius:var(--ax-sys-border-radius);border-bottom-left-radius:var(--ax-sys-border-radius);background-color:rgba(var(--ax-sys-color-lighter-surface));color:rgba(var(--ax-sys-color-neutral));padding:.75rem;display:flex;align-items:center;gap:1.5rem}ax-command .ax-command-footer .ax-kbd-footer{display:flex;justify-content:center;align-items:center;gap:.7rem}ax-command .ax-command-footer .ax-kbd-footer kbd{background-color:rgba(var(--ax-sys-color-lightest-surface))}ax-command .ax-command-footer .ax-kbd-text{font-weight:600;font-size:.9rem}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvbW1hbmQvc3JjL2xpYi9jb21tYW5kLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvY29tbWFuZC9zcmMvbGliL2NvbW1hbmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixXQUFXLEVBR1gsbUJBQW1CLEVBQ25CLHlCQUF5QixFQUN6QixlQUFlLEdBQ2hCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUNMLHlCQUF5QixFQUV6QixzQkFBc0IsR0FDdkIsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUUsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsU0FBUyxFQUNULFFBQVEsRUFDUixVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBRU4sU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQzs7Ozs7OztBQThCbkMsTUFBTSxPQUFPLGtCQUFtQixTQUFRLE9BQU8sQ0FBQyxDQUFBLHlCQUE0QyxDQUFBLEVBQUUsZUFBZSxDQUFDO0lBMUI5Rzs7UUEyQlksZ0JBQVcsR0FB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QSx5d0ZEeEdJLGlCQUFpQiwwWkFDakIsaUJBQWlCLHFXQUNqQixZQUFZLHFNQUNaLFdBQVcsOFZBQ1gsc0JBQXNCLG1ZQUN0QixjQUFjLHFFQUNkLGtCQUFrQixtSEFDbEIsb0JBQW9COzsyRkFhWCxrQkFBa0I7a0JBMUI5QixTQUFTOytCQUNFLFlBQVksaUJBR1AsaUJBQWlCLENBQUMsSUFBSSxXQUM1Qjt3QkFDUCxpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIsWUFBWTt3QkFDWixXQUFXO3dCQUNYLHNCQUFzQjt3QkFDdEIsY0FBYzt3QkFDZCxrQkFBa0I7d0JBQ2xCLG9CQUFvQjtxQkFDckIsYUFDVTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxtQkFBbUIsQ0FBQzs0QkFDakQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0QsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsb0JBQW9CLEVBQUU7d0JBQ3pELEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsb0JBQW9CLEVBQUU7cUJBQ2xFLFVBQ08sQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQVhBdXRvRm9jdXNEaXJlY3RpdmUsXG4gIEFYQ29tcG9uZW50LFxuICBBWEZvY3VzRXZlbnQsXG4gIEFYSHRtbEV2ZW50LFxuICBBWFZhbHVhYmxlQ29tcG9uZW50LFxuICBNWElucHV0QmFzZVZhbHVlQ29tcG9uZW50LFxuICBNWExvb2tDb21wb25lbnQsXG59IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQge1xuICBBWExpc3ROYXZpZ2F0aW9uRGlyZWN0aXZlLFxuICBBWExpc3ROYXZpZ2F0aW9uSXRlbURpcmVjdGl2ZSxcbiAgQVhMaXN0TmF2aWdhdGlvbk1vZHVsZSxcbn0gZnJvbSAnQGFjb3JleC9jZGsvbGlzdC1uYXZpZ2F0aW9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhLQkRDb21wb25lbnQsIEFYS0JESXRlbUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9rYmQnO1xuaW1wb3J0IHsgQVhTZWFyY2hCb3hDb21wb25lbnQsIEFYU2VhcmNoQm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3NlYXJjaC1ib3gnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIGZvcndhcmRSZWYsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIHNpZ25hbCxcbiAgVGVtcGxhdGVSZWYsXG4gIHZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY2xhc3NlcyB9IGZyb20gJ3BvbHl0eXBlJztcblxuaW1wb3J0IHsgQVhDb21tYW5kQ29tcG9uZW50RXZlbnQsIEFYQ29tbWFuZEZvb3RlciwgQVhDb21tYW5kSXRlbSwgQVhDb21tYW5kTWVudUl0ZW0gfSBmcm9tICcuL2NvbW1hbmQudHlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LWNvbW1hbmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29tbWFuZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9jb21tYW5kLmNvbXBvbmVudC5zY3NzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaW1wb3J0czogW1xuICAgIEFYU2VhcmNoQm94TW9kdWxlLFxuICAgIEFYRGVjb3JhdG9yTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBBWExpc3ROYXZpZ2F0aW9uTW9kdWxlLFxuICAgIEFYS0JEQ29tcG9uZW50LFxuICAgIEFYS0JESXRlbUNvbXBvbmVudCxcbiAgICBBWEF1dG9Gb2N1c0RpcmVjdGl2ZSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBWENvbW1hbmRDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICB7IHByb3ZpZGU6IEFYQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhDb21tYW5kQ29tcG9uZW50IH0sXG4gICAgeyBwcm92aWRlOiBBWFZhbHVhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhDb21tYW5kQ29tcG9uZW50IH0sXG4gIF0sXG4gIGlucHV0czogWydkaXNhYmxlZCcsICdyZWFkb25seScsICd0YWJJbmRleCcsICdwbGFjZWhvbGRlcicsICd2YWx1ZScsICdzdGF0ZScsICduYW1lJywgJ2lkJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFYQ29tbWFuZENvbXBvbmVudCBleHRlbmRzIGNsYXNzZXMoTVhJbnB1dEJhc2VWYWx1ZUNvbXBvbmVudDxBWENvbW1hbmRNZW51SXRlbT4sIE1YTG9va0NvbXBvbmVudCkge1xuICBwcm90ZWN0ZWQgc2VhcmNoVmFsdWUgPSBzaWduYWwoJycpO1xuICBwcm90ZWN0ZWQgc2VhcmNoQm94ID0gdmlld0NoaWxkPEFYU2VhcmNoQm94Q29tcG9uZW50PignZicpO1xuICByZWFkb25seSBvblN1Ym1pdCA9IG91dHB1dDxBWENvbW1hbmRDb21wb25lbnRFdmVudD4oKTtcbiAgcmVhZG9ubHkgb25Fc2NhcGUgPSBvdXRwdXQ8QVhIdG1sRXZlbnQ8S2V5Ym9hcmRFdmVudD4+KCk7XG4gIHJlYWRvbmx5IG9uU2VhcmNoQm94Rm9jdXMgPSBvdXRwdXQ8QVhIdG1sRXZlbnQ8Rm9jdXNFdmVudD4+KCk7XG4gIHJlYWRvbmx5IG9uU2VhcmNoQm94Qmx1ciA9IG91dHB1dDxBWEh0bWxFdmVudDxGb2N1c0V2ZW50Pj4oKTtcbiAgcHJvdGVjdGVkIGxpc3ROYXZpZ2F0aW9uID0gdmlld0NoaWxkKCdsJywgeyByZWFkOiBBWExpc3ROYXZpZ2F0aW9uRGlyZWN0aXZlIH0pO1xuICBwcml2YXRlIGxpc3ROYXYgPSB2aWV3Q2hpbGQoQVhMaXN0TmF2aWdhdGlvbkRpcmVjdGl2ZSk7XG5cbiAgLyoqXG4gICAqIFRoZSBjdXN0b20gdGVtcGxhdGUgdXNlZCBmb3IgcmVuZGVyaW5nIGNvbnRlbnQuXG4gICAqXG4gICAqIEBwYXJhbSB7VGVtcGxhdGVSZWY8YW55Pn0gY3VzdG9tVGVtcGxhdGVcbiAgICovXG4gIGN1c3RvbVRlbXBsYXRlID0gaW5wdXQ8VGVtcGxhdGVSZWY8YW55Pj4oKTtcblxuICBzZWFyY2hCYXIgPSBpbnB1dCh0cnVlKTtcblxuICBkaXZpZGVyID0gaW5wdXQodHJ1ZSk7XG5cbiAgc2VhcmNoS2V5ID0gaW5wdXQ8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cbiAgZm9vdGVyQnV0dG9ucyA9IGlucHV0PEFYQ29tbWFuZEZvb3Rlcj4oeyBuYXZpZ2F0aW9uOiB0cnVlLCBzZWxlY3Q6IHRydWUsIGNsb3NlOiB0cnVlIH0pO1xuXG4gIHByb3RlY3RlZCBkaXNwbGF5SXRlbXMgPSBjb21wdXRlZDxBWENvbW1hbmRJdGVtW10+KCgpID0+IHtcbiAgICBjb25zdCBzZWFyY2hWYWx1ZSA9IHRoaXMuc2VhcmNoVmFsdWUoKTtcbiAgICBsZXQgZmlsdGVyZWQ6IEFYQ29tbWFuZEl0ZW1bXTtcbiAgICBpZiAoc2VhcmNoVmFsdWUpIHtcbiAgICAgIGZpbHRlcmVkID0gdGhpcy5maWx0ZXJSZWN1cnNpdmUodGhpcy52YWx1ZS5saXN0Py5pdGVtcyA/PyBbXSwgc2VhcmNoVmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBmaWx0ZXJlZCA9IFtdO1xuICAgIH1cbiAgICByZXR1cm4gZmlsdGVyZWQ7XG4gIH0pO1xuXG4gIHByb3RlY3RlZCBmb2N1c0hhbmRsZXIoZTogQVhGb2N1c0V2ZW50KSB7XG4gICAgdGhpcy5vblNlYXJjaEJveEZvY3VzLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIG5hdGl2ZUV2ZW50OiBlLm5hdGl2ZUV2ZW50IH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGJsdXJIYW5kbGVyKGU6IEFYRm9jdXNFdmVudCkge1xuICAgIHRoaXMub25TZWFyY2hCb3hCbHVyLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIG5hdGl2ZUV2ZW50OiBlLm5hdGl2ZUV2ZW50IH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBmaWx0ZXJSZWN1cnNpdmUoaXRlbXM6IGFueVtdLCB2YWx1ZTogc3RyaW5nKTogYW55W10ge1xuICAgIGNvbnN0IGxvd2VyU2lnbmFsID0gdmFsdWUudG9Mb3dlckNhc2UoKTtcbiAgICBjb25zdCBzZWFyY2hLZXkgPSB0aGlzLnNlYXJjaEtleSgpO1xuXG4gICAgcmV0dXJuIGl0ZW1zXG4gICAgICAubWFwKChpdGVtKSA9PiB7XG4gICAgICAgIGxldCBpc01hdGNoOiBib29sZWFuO1xuICAgICAgICBpZiAoc2VhcmNoS2V5KSB7XG4gICAgICAgICAgaXNNYXRjaCA9IGl0ZW1bc2VhcmNoS2V5XT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhsb3dlclNpZ25hbCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaXNNYXRjaCA9IGl0ZW0udGV4dD8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhsb3dlclNpZ25hbCkgfHwgaXRlbS5ocmVmPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGxvd2VyU2lnbmFsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZpbHRlcmVkQ2hpbGRyZW4gPSBpdGVtLmNoaWxkcmVuID8gdGhpcy5maWx0ZXJSZWN1cnNpdmUoaXRlbS5jaGlsZHJlbiwgdmFsdWUpIDogW107XG5cbiAgICAgICAgaWYgKGlzTWF0Y2ggfHwgZmlsdGVyZWRDaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLml0ZW0sXG4gICAgICAgICAgICBjaGlsZHJlbjogZmlsdGVyZWRDaGlsZHJlbixcbiAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9KVxuICAgICAgLmZpbHRlcihCb29sZWFuKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkl0ZW1DbGljayhpdGVtOiBBWENvbW1hbmRJdGVtKSB7XG4gICAgdGhpcy5vblN1Ym1pdC5lbWl0KHsgZGF0YTogaXRlbSwgY29tcG9uZW50OiB0aGlzIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGtleVByZXNzKGU6IEFYSHRtbEV2ZW50PEtleWJvYXJkRXZlbnQ+LCBpdGVtOiBBWENvbW1hbmRJdGVtKSB7XG4gICAgaWYgKGUubmF0aXZlRXZlbnQua2V5ID09PSAnRW50ZXInIHx8IGUubmF0aXZlRXZlbnQuY29kZSA9PT0gJ1NwYWNlJykge1xuICAgICAgZS5uYXRpdmVFdmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIGUubmF0aXZlRXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMub25TdWJtaXQuZW1pdCh7IGRhdGE6IGl0ZW0sIGNvbXBvbmVudDogdGhpcyB9KTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgc2VhcmNoRXNjYXBlSGFuZGxlcihlOiBBWEh0bWxFdmVudDxLZXlib2FyZEV2ZW50Pikge1xuICAgIGlmIChlLm5hdGl2ZUV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgIHRoaXMub25Fc2NhcGUuZW1pdCh7IGNvbXBvbmVudDogdGhpcywgbmF0aXZlRXZlbnQ6IGUubmF0aXZlRXZlbnQgfSk7XG4gICAgfVxuICAgIGlmIChlLm5hdGl2ZUV2ZW50LmtleSA9PT0gJ0Fycm93RG93bicpIHtcbiAgICAgIHRoaXMubGlzdE5hdmlnYXRpb24oKS5mb2N1c09uSW5kZXgoMCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGNsb3NlSGFuZGxlcihlOiBBWEh0bWxFdmVudDxLZXlib2FyZEV2ZW50Pikge1xuICAgIGlmICghdGhpcy5saXN0TmF2KCkuYWN0aXZlSW5kZXgoKSAmJiBlLm5hdGl2ZUV2ZW50LmtleSA9PT0gJ0Fycm93VXAnKSB7XG4gICAgICB0aGlzLnNlYXJjaEJveCgpLmZvY3VzKCk7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgZS5uYXRpdmVFdmVudC5rZXkgPT09ICdBcnJvd1VwJyB8fFxuICAgICAgZS5uYXRpdmVFdmVudC5rZXkgPT09ICdBcnJvd0Rvd24nIHx8XG4gICAgICBlLm5hdGl2ZUV2ZW50LmtleSA9PT0gJ1RhYicgfHxcbiAgICAgIGUubmF0aXZlRXZlbnQua2V5ID09PSAnU2hpZnQnXG4gICAgKVxuICAgICAgcmV0dXJuO1xuXG4gICAgdGhpcy5zZWFyY2hCb3goKS5mb2N1cygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFjdGl2ZUhhbmRsZXIobDogQVhMaXN0TmF2aWdhdGlvbkRpcmVjdGl2ZSwgaTogQVhMaXN0TmF2aWdhdGlvbkl0ZW1EaXJlY3RpdmUpIHtcbiAgICBsPy5uYXZpZ2F0ZVRvKGkpO1xuICB9XG59XG4iLCJAaWYgKHNlYXJjaEJhcigpKSB7XG4gIDxkaXYgY2xhc3M9XCJheC1zZWFyY2gtYm94LWNvbnRhaW5lclwiPlxuICAgIDxheC1zZWFyY2gtYm94XG4gICAgICAjZlxuICAgICAgW2RlbGF5VGltZV09XCIyMFwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaFZhbHVlXCJcbiAgICAgIChvbkZvY3VzKT1cImZvY3VzSGFuZGxlcigkZXZlbnQpXCJcbiAgICAgIChvbkJsdXIpPVwiYmx1ckhhbmRsZXIoJGV2ZW50KVwiXG4gICAgICAob25LZXlEb3duKT1cInNlYXJjaEVzY2FwZUhhbmRsZXIoJGV2ZW50KVwiXG4gICAgICBbYXhBdXRvRm9jdXNdPVwidHJ1ZVwiXG4gICAgPlxuICAgICAgPGF4LWNsZWFyLWJ1dHRvbj48L2F4LWNsZWFyLWJ1dHRvbj5cbiAgICA8L2F4LXNlYXJjaC1ib3g+XG4gIDwvZGl2PlxufVxuXG48ZGl2ICNsIGNsYXNzPVwiYXgtY29tbWFuZC1jb250YWluZXJcIiAjcz1cImF4TGlzdE5hdmlnYXRpb25cIiBheExpc3ROYXZpZ2F0aW9uIChvbktleXByZXNzKT1cImNsb3NlSGFuZGxlcigkZXZlbnQpXCI+XG4gIEBpZiAodmFsdWU/LnBpbm5lZCAmJiAhc2VhcmNoVmFsdWUoKSkge1xuICAgIDxkaXYgY2xhc3M9XCJheC1jb21tYW5kLWl0ZW0tcGlubmVkLWNvbnRhaW5lclwiPlxuICAgICAgQGlmICh2YWx1ZS5waW5uZWQudGl0bGUpIHtcbiAgICAgICAgPGF4LXRleHQgY2xhc3M9XCJheC1jb21tYW5kLWl0ZW0tcGlubmVkLXRleHRcIj57eyB2YWx1ZS5waW5uZWQudGl0bGUgfX08L2F4LXRleHQ+XG4gICAgICB9XG5cbiAgICAgIEBmb3IgKGl0ZW0gb2YgdmFsdWUucGlubmVkLml0ZW1zOyB0cmFjayBpdGVtLmlkKSB7XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJyZW5kZXJJdGVtXCJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0sIGxldmVsOiAxLCBsaXN0TmF2aWdhdGlvbjogcyB9XCJcbiAgICAgICAgPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgfVxuXG4gIEBpZiAodmFsdWU/Lmxpc3QgJiYgIXNlYXJjaFZhbHVlKCkpIHtcbiAgICA8ZGl2IGNsYXNzPVwiYXgtY29tbWFuZC1pdGVtLXBpbm5lZC1jb250YWluZXJcIj5cbiAgICAgIEBpZiAodmFsdWUubGlzdC50aXRsZSkge1xuICAgICAgICA8YXgtdGV4dCBjbGFzcz1cImF4LWNvbW1hbmQtaXRlbS1waW5uZWQtdGV4dFwiPnt7IHZhbHVlLmxpc3QudGl0bGUgfX08L2F4LXRleHQ+XG4gICAgICB9IEBlbHNlIGlmIChkaXZpZGVyKCkpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNvbW1hbmQtZGl2aWRlclwiPjwvZGl2PlxuICAgICAgfVxuXG4gICAgICBAZm9yIChpdGVtIG9mIHZhbHVlLmxpc3QuaXRlbXM7IHRyYWNrIGl0ZW0uaWQpIHtcbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInJlbmRlckl0ZW1cIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSwgbGV2ZWw6IDEsIGxpc3ROYXZpZ2F0aW9uOiBzIH1cIlxuICAgICAgICA+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICB9XG5cbiAgQGlmIChkaXNwbGF5SXRlbXMoKSAmJiBzZWFyY2hWYWx1ZSgpKSB7XG4gICAgPGRpdiBjbGFzcz1cImF4LWNvbW1hbmQtaXRlbS13cmFwcGVyXCI+XG4gICAgICBAZm9yIChpdGVtIG9mIGRpc3BsYXlJdGVtcygpOyB0cmFjayBpdGVtLmlkKSB7XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJyZW5kZXJJdGVtXCJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0sIGxldmVsOiAxLCBsaXN0TmF2aWdhdGlvbjogcyB9XCJcbiAgICAgICAgPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIH0gQGVtcHR5IHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNvbW1hbmQtbm90LWZvdW5kXCI+XG4gICAgICAgICAgPGF4LXRleHQ+Tm8gcmVzdWx0cyBmb3VuZCBmb3IgXCJ7eyBzZWFyY2hWYWx1ZSgpIH19XCI8L2F4LXRleHQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICB9XG5cbiAgPG5nLXRlbXBsYXRlICNyZW5kZXJJdGVtIGxldC1pdGVtIGxldC1sZXZlbD1cImxldmVsXCIgbGV0LWxpc3ROYXZpZ2F0aW9uPVwibGlzdE5hdmlnYXRpb25cIj5cbiAgICA8ZGl2XG4gICAgICAobW91c2VlbnRlcik9XCJhY3RpdmVIYW5kbGVyKGxpc3ROYXZpZ2F0aW9uLCBhKVwiXG4gICAgICBjbGFzcz1cImF4LXJlbW92ZS1kZWZhdWx0LXNlbGVjdC1zdHlsZVwiXG4gICAgICBbY2xhc3MuYXgtY29tbWFuZC1pdGVtLWNvbnRhaW5lcl09XCIhY3VzdG9tVGVtcGxhdGUoKVwiXG4gICAgICBbc3R5bGUucGFkZGluZy1pbmxpbmUtc3RhcnQucmVtXT1cIiFjdXN0b21UZW1wbGF0ZSgpID8gbGV2ZWwgKiAwLjYyNSA6IDBcIlxuICAgICAgW2NsYXNzLmF4LWNvbW1hbmQtaXRlbS1jb250YWluZXItYWN0aXZlXT1cImEuaXNBY3RpdmUoKSAmJiAhY3VzdG9tVGVtcGxhdGUoKVwiXG4gICAgICAjYT1cImF4TGlzdE5hdmlnYXRpb25JdGVtXCJcbiAgICAgIGF4TGlzdE5hdmlnYXRpb25JdGVtXG4gICAgICAoY2xpY2spPVwib25JdGVtQ2xpY2soaXRlbSlcIlxuICAgICAgKG9uS2V5cHJlc3MpPVwia2V5UHJlc3MoJGV2ZW50LCBpdGVtKVwiXG4gICAgPlxuICAgICAgQGlmIChjdXN0b21UZW1wbGF0ZSgpKSB7XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjdXN0b21UZW1wbGF0ZSgpXCJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xuICAgICAgICAgICAgJGltcGxpY2l0OiBpdGVtLFxuICAgICAgICAgICAgbGV2ZWw6IGxldmVsLFxuICAgICAgICAgICAgaXNBY3RpdmU6IGEuaXNBY3RpdmUoKSxcbiAgICAgICAgICB9XCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1jb21tYW5kLWl0ZW1cIj5cbiAgICAgICAgICBAaWYgKGl0ZW0uaWNvbikge1xuICAgICAgICAgICAgPGkgY2xhc3M9XCJheC1jb21tYW5kLWl0ZW0taWNvblwiIFtjbGFzc109XCJpdGVtLmljb25cIj48L2k+XG4gICAgICAgICAgfVxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXgtY29tbWFuZC1pdGVtLXRleHRcIj57eyBpdGVtLnRleHQgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuXG4gICAgQGlmIChpdGVtLmNoaWxkcmVuPy5sZW5ndGgpIHtcbiAgICAgIEBmb3IgKGNoaWxkIG9mIGl0ZW0uY2hpbGRyZW47IHRyYWNrIGNoaWxkLmlkKSB7XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJyZW5kZXJJdGVtXCJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGNoaWxkLCBsZXZlbDogbGV2ZWwgKyAxLCBsaXN0TmF2aWdhdGlvbjogcyB9XCJcbiAgICAgICAgPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIH1cbiAgICB9XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cblxuQGlmIChmb290ZXJCdXR0b25zKCkubmF2aWdhdGlvbiB8fCBmb290ZXJCdXR0b25zKCkuc2VsZWN0IHx8IGZvb3RlckJ1dHRvbnMoKS5jbG9zZSkge1xuICA8ZGl2IGNsYXNzPVwiYXgtY29tbWFuZC1mb290ZXJcIj5cbiAgICBAaWYgKGZvb3RlckJ1dHRvbnMoKS5uYXZpZ2F0aW9uKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgta2JkLWZvb3RlclwiPlxuICAgICAgICA8YXgta2JkIGNsYXNzPVwiYXgta2JkXCI+XG4gICAgICAgICAgPGF4LWtiZC1pdGVtIFtrZXlzXT1cIlsnJnVhcnI7J11cIj48L2F4LWtiZC1pdGVtPlxuICAgICAgICAgIDxheC1rYmQtaXRlbSBba2V5c109XCJbJyZkYXJyOyddXCI+PC9heC1rYmQtaXRlbT5cbiAgICAgICAgPC9heC1rYmQ+XG4gICAgICAgIDxheC10ZXh0IGNsYXNzPVwiYXgta2JkLXRleHRcIj50byBuYXZpZ2F0ZTwvYXgtdGV4dD5cbiAgICAgIDwvZGl2PlxuICAgIH1cblxuICAgIEBpZiAoZm9vdGVyQnV0dG9ucygpLnNlbGVjdCkge1xuICAgICAgPGRpdiBjbGFzcz1cImF4LWtiZC1mb290ZXJcIj5cbiAgICAgICAgPGF4LWtiZCBjbGFzcz1cImF4LWtiZFwiPlxuICAgICAgICAgIDxheC1rYmQtaXRlbSBba2V5c109XCJbJyYjODYxNzsnXVwiPjwvYXgta2JkLWl0ZW0+XG4gICAgICAgIDwvYXgta2JkPlxuICAgICAgICA8YXgtdGV4dCBjbGFzcz1cImF4LWtiZC10ZXh0XCI+dG8gc2VsZWN0PC9heC10ZXh0PlxuICAgICAgPC9kaXY+XG4gICAgfVxuXG4gICAgQGlmIChmb290ZXJCdXR0b25zKCkuY2xvc2UpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJheC1rYmQtZm9vdGVyXCI+XG4gICAgICAgIDxheC1rYmQgY2xhc3M9XCJheC1rYmRcIj5cbiAgICAgICAgICA8YXgta2JkLWl0ZW0gW2tleXNdPVwiWydlc2MnXVwiPjwvYXgta2JkLWl0ZW0+XG4gICAgICAgIDwvYXgta2JkPlxuICAgICAgICA8YXgtdGV4dCBjbGFzcz1cImF4LWtiZC10ZXh0XCI+dG8gY2xvc2U8L2F4LXRleHQ+XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIDwvZGl2PlxufVxuIl19","import { NgModule } from '@angular/core';\nimport { AXCommandComponent } from './command.component';\nimport * as i0 from \"@angular/core\";\nconst COMPONENT = [AXCommandComponent];\nconst MODULES = [];\nexport class AXCommandModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXCommandModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.3\", ngImport: i0, type: AXCommandModule, imports: [AXCommandComponent], exports: [AXCommandComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXCommandModule, imports: [MODULES, COMPONENT] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXCommandModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvbW1hbmQvc3JjL2xpYi9jb21tYW5kLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUV6RCxNQUFNLFNBQVMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFDdkMsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO0FBT25CLE1BQU0sT0FBTyxlQUFlOzhHQUFmLGVBQWU7K0dBQWYsZUFBZSxZQVJULGtCQUFrQixhQUFsQixrQkFBa0I7K0dBUXhCLGVBQWUsWUFKYixPQUFPLEVBQUssU0FBUzs7MkZBSXZCLGVBQWU7a0JBTDNCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsR0FBRyxPQUFPLEVBQUUsR0FBRyxTQUFTLENBQUM7b0JBQ25DLE9BQU8sRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDO29CQUN2QixTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWENvbW1hbmRDb21wb25lbnQgfSBmcm9tICcuL2NvbW1hbmQuY29tcG9uZW50JztcblxuY29uc3QgQ09NUE9ORU5UID0gW0FYQ29tbWFuZENvbXBvbmVudF07XG5jb25zdCBNT0RVTEVTID0gW107XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFsuLi5NT0RVTEVTLCAuLi5DT01QT05FTlRdLFxuICBleHBvcnRzOiBbLi4uQ09NUE9ORU5UXSxcbiAgcHJvdmlkZXJzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhDb21tYW5kTW9kdWxlIHt9XG4iXX0=","import { AXEvent } from '@acorex/cdk/common';\nexport class AXCommandComponentEvent extends AXEvent {\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9jb21tYW5kL3NyYy9saWIvY29tbWFuZC50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQXFCN0MsTUFBTSxPQUFPLHVCQUF3QixTQUFRLE9BQU87Q0FFbkQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEV2ZW50IH0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcblxuZXhwb3J0IHR5cGUgQVhDb21tYW5kSXRlbSA9IHtcbiAgaWQ6IHN0cmluZyB8IG51bWJlcjtcbiAgdGV4dDogc3RyaW5nO1xuICBpY29uPzogc3RyaW5nO1xuICBocmVmPzogc3RyaW5nO1xuICBjaGlsZHJlbj86IEFYQ29tbWFuZEl0ZW1bXTtcbiAgaW5kZXg/OiBudW1iZXI7XG4gIGRhdGE/OiBhbnk7XG59O1xuXG50eXBlIGZvcmNlSWQgPSB7XG4gIGlkOiBzdHJpbmcgfCBudW1iZXI7XG59O1xuXG5leHBvcnQgdHlwZSBBWENvbW1hbmRNZW51SXRlbTxUIGV4dGVuZHMgZm9yY2VJZCA9IEFYQ29tbWFuZEl0ZW0+ID0ge1xuICBwaW5uZWQ/OiB7IHRpdGxlPzogc3RyaW5nOyBpdGVtczogVFtdIH07XG4gIGxpc3Q6IHsgdGl0bGU/OiBzdHJpbmc7IGl0ZW1zOiBUW10gfTtcbn07XG5cbmV4cG9ydCBjbGFzcyBBWENvbW1hbmRDb21wb25lbnRFdmVudCBleHRlbmRzIEFYRXZlbnQge1xuICBkYXRhOiBBWENvbW1hbmRJdGVtO1xufVxuXG5leHBvcnQgdHlwZSBBWENvbW1hbmRGb290ZXIgPSB7IG5hdmlnYXRpb246IGJvb2xlYW47IHNlbGVjdDogYm9vbGVhbjsgY2xvc2U6IGJvb2xlYW4gfTtcbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvbXBvbmVudHMtY29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvY29tbWFuZC9zcmMvYWNvcmV4LWNvbXBvbmVudHMtY29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
@@ -360,6 +360,27 @@ class AXPaintViewComponent {
360
360
  mouseUpHandler() {
361
361
  this.ctx().closePath();
362
362
  this.isPainting.set(false);
363
+ this.getOutPut('image/png');
364
+ }
365
+ /**
366
+ * Loads an image onto the canvas (e.g. for editing an existing signature).
367
+ *
368
+ * @param dataUrl - Data URL of the image (e.g. from toDataURL or existing value)
369
+ */
370
+ loadImage(dataUrl) {
371
+ const ctx = this.ctx();
372
+ const canvas = this.canvasElem()?.nativeElement;
373
+ if (!ctx || !canvas || !dataUrl)
374
+ return;
375
+ const img = new Image();
376
+ img.crossOrigin = 'anonymous';
377
+ img.onload = () => {
378
+ ctx.clearRect(0, 0, canvas.width, canvas.height);
379
+ ctx.drawImage(img, 0, 0, canvas.width, canvas.height);
380
+ this.isUserInteract.set(true);
381
+ this.parent.commitValue(canvas.toDataURL('image/png'));
382
+ };
383
+ img.src = dataUrl;
363
384
  }
364
385
  /**
365
386
  * Exports the canvas content as an image.
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-paint.mjs","sources":["../tmp-esm2022/paint/lib/paint/paint.service.js","../tmp-esm2022/paint/lib/paint/paint-tools-selector/paint-tools-selector.component.js","../tmp-esm2022/paint/lib/paint/paint-tools/paint-eraser-tool/paint-eraser-tool.component.js","../tmp-esm2022/paint/lib/paint/paint-tools/paint-highlight-tool/paint-highlight-tool.component.js","../tmp-esm2022/paint/lib/paint/paint-tools/paint-pen-tool/paint-pen-tool.component.js","../tmp-esm2022/paint/lib/paint/paint-container/paint-container.component.js","../tmp-esm2022/paint/lib/paint/paint-view/paint-view.component.js","../tmp-esm2022/paint/lib/paint.module.js","../tmp-esm2022/paint/acorex-components-paint.js"],"sourcesContent":["import { Injectable, signal } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPaintService {\n constructor() {\n this.penColor = signal('rgb(12, 12, 12)', ...(ngDevMode ? [{ debugName: \"penColor\" }] : []));\n this.highlightColor = signal('rgb(255, 210, 48)', ...(ngDevMode ? [{ debugName: \"highlightColor\" }] : []));\n this.penWidth = signal(10, ...(ngDevMode ? [{ debugName: \"penWidth\" }] : []));\n this.highlightWidth = signal(10, ...(ngDevMode ? [{ debugName: \"highlightWidth\" }] : []));\n this.eraserWidth = signal(10, ...(ngDevMode ? [{ debugName: \"eraserWidth\" }] : []));\n this.toggleClear = signal(false, ...(ngDevMode ? [{ debugName: \"toggleClear\" }] : []));\n this.activeToolState = signal('pen', ...(ngDevMode ? [{ debugName: \"activeToolState\" }] : []));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXPaintService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXPaintService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXPaintService, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFpbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvcGFpbnQvc3JjL2xpYi9wYWludC9wYWludC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUduRCxNQUFNLE9BQU8sY0FBYztJQUQzQjtRQUVFLGFBQVEsR0FBRyxNQUFNLENBQTBDLGlCQUFpQixvREFBQyxDQUFDO1FBQzlFLG1CQUFjLEdBQUcsTUFBTSxDQUEwQyxtQkFBbUIsMERBQUMsQ0FBQztRQUN0RixhQUFRLEdBQUcsTUFBTSxDQUFTLEVBQUUsb0RBQUMsQ0FBQztRQUM5QixtQkFBYyxHQUFHLE1BQU0sQ0FBUyxFQUFFLDBEQUFDLENBQUM7UUFDcEMsZ0JBQVcsR0FBRyxNQUFNLENBQVMsRUFBRSx1REFBQyxDQUFDO1FBQ2pDLGdCQUFXLEdBQUcsTUFBTSxDQUFDLEtBQUssdURBQUMsQ0FBQztRQUM1QixvQkFBZSxHQUFHLE1BQU0sQ0FBaUMsS0FBSywyREFBQyxDQUFDO0tBQ2pFOzhHQVJZLGNBQWM7a0hBQWQsY0FBYzs7MkZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhQYWludFNlcnZpY2Uge1xuICBwZW5Db2xvciA9IHNpZ25hbDxzdHJpbmcgfCBDYW52YXNHcmFkaWVudCB8IENhbnZhc1BhdHRlcm4+KCdyZ2IoMTIsIDEyLCAxMiknKTtcbiAgaGlnaGxpZ2h0Q29sb3IgPSBzaWduYWw8c3RyaW5nIHwgQ2FudmFzR3JhZGllbnQgfCBDYW52YXNQYXR0ZXJuPigncmdiKDI1NSwgMjEwLCA0OCknKTtcbiAgcGVuV2lkdGggPSBzaWduYWw8bnVtYmVyPigxMCk7XG4gIGhpZ2hsaWdodFdpZHRoID0gc2lnbmFsPG51bWJlcj4oMTApO1xuICBlcmFzZXJXaWR0aCA9IHNpZ25hbDxudW1iZXI+KDEwKTtcbiAgdG9nZ2xlQ2xlYXIgPSBzaWduYWwoZmFsc2UpO1xuICBhY3RpdmVUb29sU3RhdGUgPSBzaWduYWw8J3BlbicgfCAnaGlnaGxpZ2h0JyB8ICdlcmFzZXInPigncGVuJyk7XG59XG4iXX0=","import { AXComponent } from '@acorex/cdk/common';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTooltipDirective } from '@acorex/components/tooltip';\nimport { AXTranslatorPipe } from '@acorex/core/translation';\nimport { AsyncPipe } from '@angular/common';\nimport { Component, inject, signal, ViewEncapsulation } from '@angular/core';\nimport { AXPaintService } from '../paint.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/decorators\";\nexport class AXPaintToolsSelectorComponent {\n constructor() {\n this.service = inject(AXPaintService);\n this.pen = signal(null, ...(ngDevMode ? [{ debugName: \"pen\" }] : []));\n this.highlight = signal(null, ...(ngDevMode ? [{ debugName: \"highlight\" }] : []));\n this.eraser = signal(null, ...(ngDevMode ? [{ debugName: \"eraser\" }] : []));\n this.reset = signal(null, ...(ngDevMode ? [{ debugName: \"reset\" }] : []));\n }\n changeToolHandler(tool) {\n if (this.service.activeToolState() === tool) {\n this.service.activeToolState.set(null);\n return;\n }\n this.service.activeToolState.set(tool);\n }\n clear() {\n this.service.toggleClear.update((prev) => !prev);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXPaintToolsSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.3\", type: AXPaintToolsSelectorComponent, isStandalone: true, selector: \"ax-paint-tools-selector\", providers: [{ provide: AXComponent, useExisting: AXPaintToolsSelectorComponent }], ngImport: i0, template: \"<ax-button\\n [axTooltip]=\\\"'@acorex:paint.tools.pen' | translate | async\\\"\\n axTooltipPlacement=\\\"top\\\"\\n (onClick)=\\\"changeToolHandler('pen')\\\"\\n look=\\\"blank\\\"\\n [selected]=\\\"this.service.activeToolState() === 'pen' ? true : false\\\"\\n [color]=\\\"this.service.activeToolState() === 'pen' ? 'primary' : 'default'\\\"\\n>\\n <ax-icon class=\\\"ax-icon ax-icon-pen\\\"></ax-icon>\\n</ax-button>\\n\\n<ax-button\\n [axTooltip]=\\\"'@acorex:paint.tools.highlight' | translate | async\\\"\\n axTooltipPlacement=\\\"top\\\"\\n (onClick)=\\\"changeToolHandler('highlight')\\\"\\n look=\\\"blank\\\"\\n [selected]=\\\"this.service.activeToolState() === 'highlight' ? true : false\\\"\\n [color]=\\\"this.service.activeToolState() === 'highlight' ? 'primary' : 'default'\\\"\\n>\\n <ax-icon class=\\\"ax-icon ax-icon-highlight\\\"></ax-icon>\\n</ax-button>\\n\\n<ax-button\\n [axTooltip]=\\\"'@acorex:paint.tools.eraser' | translate | async\\\"\\n axTooltipPlacement=\\\"top\\\"\\n (onClick)=\\\"changeToolHandler('eraser')\\\"\\n look=\\\"blank\\\"\\n [selected]=\\\"this.service.activeToolState() === 'eraser' ? true : false\\\"\\n [color]=\\\"this.service.activeToolState() === 'eraser' ? 'primary' : 'default'\\\"\\n>\\n <ax-icon class=\\\"ax-icon ax-icon-eraser\\\"></ax-icon>\\n</ax-button>\\n\\n<ax-button\\n [axTooltip]=\\\"'@acorex:paint.actions.reset' | translate | async\\\"\\n axTooltipPlacement=\\\"top\\\"\\n (onClick)=\\\"clear()\\\"\\n look=\\\"blank\\\"\\n>\\n <i class=\\\"fa-solid fa-rotate\\\"></i>\\n</ax-button>\\n\", styles: [\"\"], dependencies: [{ kind: \"component\", type: AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i1.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"directive\", type: AXTooltipDirective, selector: \"[axTooltip]\", inputs: [\"axTooltipDisabled\", \"axTooltip\", \"axTooltipContext\", \"axTooltipPlacement\", \"axTooltipOffsetX\", \"axTooltipOffsetY\", \"axTooltipOpenAfter\", \"axTooltipCloseAfter\"] }, { kind: \"pipe\", type: AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: AXTranslatorPipe, name: \"translate\" }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXPaintToolsSelectorComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-paint-tools-selector', encapsulation: ViewEncapsulation.None, imports: [AXButtonComponent, AXDecoratorModule, AXTooltipDirective, AsyncPipe, AXTranslatorPipe], providers: [{ provide: AXComponent, useExisting: AXPaintToolsSelectorComponent }], template: \"<ax-button\\n [axTooltip]=\\\"'@acorex:paint.tools.pen' | translate | async\\\"\\n axTooltipPlacement=\\\"top\\\"\\n (onClick)=\\\"changeToolHandler('pen')\\\"\\n look=\\\"blank\\\"\\n [selected]=\\\"this.service.activeToolState() === 'pen' ? true : false\\\"\\n [color]=\\\"this.service.activeToolState() === 'pen' ? 'primary' : 'default'\\\"\\n>\\n <ax-icon class=\\\"ax-icon ax-icon-pen\\\"></ax-icon>\\n</ax-button>\\n\\n<ax-button\\n [axTooltip]=\\\"'@acorex:paint.tools.highlight' | translate | async\\\"\\n axTooltipPlacement=\\\"top\\\"\\n (onClick)=\\\"changeToolHandler('highlight')\\\"\\n look=\\\"blank\\\"\\n [selected]=\\\"this.service.activeToolState() === 'highlight' ? true : false\\\"\\n [color]=\\\"this.service.activeToolState() === 'highlight' ? 'primary' : 'default'\\\"\\n>\\n <ax-icon class=\\\"ax-icon ax-icon-highlight\\\"></ax-icon>\\n</ax-button>\\n\\n<ax-button\\n [axTooltip]=\\\"'@acorex:paint.tools.eraser' | translate | async\\\"\\n axTooltipPlacement=\\\"top\\\"\\n (onClick)=\\\"changeToolHandler('eraser')\\\"\\n look=\\\"blank\\\"\\n [selected]=\\\"this.service.activeToolState() === 'eraser' ? true : false\\\"\\n [color]=\\\"this.service.activeToolState() === 'eraser' ? 'primary' : 'default'\\\"\\n>\\n <ax-icon class=\\\"ax-icon ax-icon-eraser\\\"></ax-icon>\\n</ax-button>\\n\\n<ax-button\\n [axTooltip]=\\\"'@acorex:paint.actions.reset' | translate | async\\\"\\n axTooltipPlacement=\\\"top\\\"\\n (onClick)=\\\"clear()\\\"\\n look=\\\"blank\\\"\\n>\\n <i class=\\\"fa-solid fa-rotate\\\"></i>\\n</ax-button>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFpbnQtdG9vbHMtc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9wYWludC9zcmMvbGliL3BhaW50L3BhaW50LXRvb2xzLXNlbGVjdG9yL3BhaW50LXRvb2xzLXNlbGVjdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvcGFpbnQvc3JjL2xpYi9wYWludC9wYWludC10b29scy1zZWxlY3Rvci9wYWludC10b29scy1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQVVsRCxNQUFNLE9BQU8sNkJBQTZCO0lBUjFDO1FBU1ksWUFBTyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUVqQyxRQUFHLEdBQUcsTUFBTSxDQUFTLElBQUksK0NBQUMsQ0FBQztRQUMzQixjQUFTLEdBQUcsTUFBTSxDQUFTLElBQUkscURBQUMsQ0FBQztRQUNqQyxXQUFNLEdBQUcsTUFBTSxDQUFTLElBQUksa0RBQUMsQ0FBQztRQUM5QixVQUFLLEdBQUcsTUFBTSxDQUFTLElBQUksaURBQUMsQ0FBQztLQWN4QztJQVpXLGlCQUFpQixDQUFDLElBQW9DO1FBQzlELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUM1QyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdkMsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVTLEtBQUs7UUFDYixJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkQsQ0FBQzs4R0FuQlUsNkJBQTZCO2tHQUE3Qiw2QkFBNkIsc0VBRjdCLENBQUMsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSw2QkFBNkIsRUFBRSxDQUFDLDBCQ2ZuRiw2NUNBeUNBLDBERDNCWSxpQkFBaUIsMFVBQUUsaUJBQWlCLGdJQUFFLGtCQUFrQiw4TkFBRSxTQUFTLHlDQUFFLGdCQUFnQjs7MkZBR3BGLDZCQUE2QjtrQkFSekMsU0FBUzsrQkFDRSx5QkFBeUIsaUJBR3BCLGlCQUFpQixDQUFDLElBQUksV0FDNUIsQ0FBQyxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsYUFDckYsQ0FBQyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVywrQkFBK0IsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2Nkay9jb21tb24nO1xuaW1wb3J0IHsgQVhCdXR0b25Db21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhUb29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3Rvb2x0aXAnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdG9yUGlwZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIHNpZ25hbCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUGFpbnRTZXJ2aWNlIH0gZnJvbSAnLi4vcGFpbnQuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LXBhaW50LXRvb2xzLXNlbGVjdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BhaW50LXRvb2xzLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3BhaW50LXRvb2xzLXNlbGVjdG9yLmNvbXBvbmVudC5zY3NzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaW1wb3J0czogW0FYQnV0dG9uQ29tcG9uZW50LCBBWERlY29yYXRvck1vZHVsZSwgQVhUb29sdGlwRGlyZWN0aXZlLCBBc3luY1BpcGUsIEFYVHJhbnNsYXRvclBpcGVdLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEFYQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhQYWludFRvb2xzU2VsZWN0b3JDb21wb25lbnQgfV0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUGFpbnRUb29sc1NlbGVjdG9yQ29tcG9uZW50IHtcbiAgcHJvdGVjdGVkIHNlcnZpY2UgPSBpbmplY3QoQVhQYWludFNlcnZpY2UpO1xuXG4gIHByb3RlY3RlZCBwZW4gPSBzaWduYWw8c3RyaW5nPihudWxsKTtcbiAgcHJvdGVjdGVkIGhpZ2hsaWdodCA9IHNpZ25hbDxzdHJpbmc+KG51bGwpO1xuICBwcm90ZWN0ZWQgZXJhc2VyID0gc2lnbmFsPHN0cmluZz4obnVsbCk7XG4gIHByb3RlY3RlZCByZXNldCA9IHNpZ25hbDxzdHJpbmc+KG51bGwpO1xuXG4gIHByb3RlY3RlZCBjaGFuZ2VUb29sSGFuZGxlcih0b29sOiAncGVuJyB8ICdoaWdobGlnaHQnIHwgJ2VyYXNlcicpIHtcbiAgICBpZiAodGhpcy5zZXJ2aWNlLmFjdGl2ZVRvb2xTdGF0ZSgpID09PSB0b29sKSB7XG4gICAgICB0aGlzLnNlcnZpY2UuYWN0aXZlVG9vbFN0YXRlLnNldChudWxsKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNlcnZpY2UuYWN0aXZlVG9vbFN0YXRlLnNldCh0b29sKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjbGVhcigpIHtcbiAgICB0aGlzLnNlcnZpY2UudG9nZ2xlQ2xlYXIudXBkYXRlKChwcmV2KSA9PiAhcHJldik7XG4gIH1cbn1cbiIsIjxheC1idXR0b25cbiAgW2F4VG9vbHRpcF09XCInQGFjb3JleDpwYWludC50b29scy5wZW4nIHwgdHJhbnNsYXRlIHwgYXN5bmNcIlxuICBheFRvb2x0aXBQbGFjZW1lbnQ9XCJ0b3BcIlxuICAob25DbGljayk9XCJjaGFuZ2VUb29sSGFuZGxlcigncGVuJylcIlxuICBsb29rPVwiYmxhbmtcIlxuICBbc2VsZWN0ZWRdPVwidGhpcy5zZXJ2aWNlLmFjdGl2ZVRvb2xTdGF0ZSgpID09PSAncGVuJyA/IHRydWUgOiBmYWxzZVwiXG4gIFtjb2xvcl09XCJ0aGlzLnNlcnZpY2UuYWN0aXZlVG9vbFN0YXRlKCkgPT09ICdwZW4nID8gJ3ByaW1hcnknIDogJ2RlZmF1bHQnXCJcbj5cbiAgPGF4LWljb24gY2xhc3M9XCJheC1pY29uIGF4LWljb24tcGVuXCI+PC9heC1pY29uPlxuPC9heC1idXR0b24+XG5cbjxheC1idXR0b25cbiAgW2F4VG9vbHRpcF09XCInQGFjb3JleDpwYWludC50b29scy5oaWdobGlnaHQnIHwgdHJhbnNsYXRlIHwgYXN5bmNcIlxuICBheFRvb2x0aXBQbGFjZW1lbnQ9XCJ0b3BcIlxuICAob25DbGljayk9XCJjaGFuZ2VUb29sSGFuZGxlcignaGlnaGxpZ2h0JylcIlxuICBsb29rPVwiYmxhbmtcIlxuICBbc2VsZWN0ZWRdPVwidGhpcy5zZXJ2aWNlLmFjdGl2ZVRvb2xTdGF0ZSgpID09PSAnaGlnaGxpZ2h0JyA/IHRydWUgOiBmYWxzZVwiXG4gIFtjb2xvcl09XCJ0aGlzLnNlcnZpY2UuYWN0aXZlVG9vbFN0YXRlKCkgPT09ICdoaWdobGlnaHQnID8gJ3ByaW1hcnknIDogJ2RlZmF1bHQnXCJcbj5cbiAgPGF4LWljb24gY2xhc3M9XCJheC1pY29uIGF4LWljb24taGlnaGxpZ2h0XCI+PC9heC1pY29uPlxuPC9heC1idXR0b24+XG5cbjxheC1idXR0b25cbiAgW2F4VG9vbHRpcF09XCInQGFjb3JleDpwYWludC50b29scy5lcmFzZXInIHwgdHJhbnNsYXRlIHwgYXN5bmNcIlxuICBheFRvb2x0aXBQbGFjZW1lbnQ9XCJ0b3BcIlxuICAob25DbGljayk9XCJjaGFuZ2VUb29sSGFuZGxlcignZXJhc2VyJylcIlxuICBsb29rPVwiYmxhbmtcIlxuICBbc2VsZWN0ZWRdPVwidGhpcy5zZXJ2aWNlLmFjdGl2ZVRvb2xTdGF0ZSgpID09PSAnZXJhc2VyJyA/IHRydWUgOiBmYWxzZVwiXG4gIFtjb2xvcl09XCJ0aGlzLnNlcnZpY2UuYWN0aXZlVG9vbFN0YXRlKCkgPT09ICdlcmFzZXInID8gJ3ByaW1hcnknIDogJ2RlZmF1bHQnXCJcbj5cbiAgPGF4LWljb24gY2xhc3M9XCJheC1pY29uIGF4LWljb24tZXJhc2VyXCI+PC9heC1pY29uPlxuPC9heC1idXR0b24+XG5cbjxheC1idXR0b25cbiAgW2F4VG9vbHRpcF09XCInQGFjb3JleDpwYWludC5hY3Rpb25zLnJlc2V0JyB8IHRyYW5zbGF0ZSB8IGFzeW5jXCJcbiAgYXhUb29sdGlwUGxhY2VtZW50PVwidG9wXCJcbiAgKG9uQ2xpY2spPVwiY2xlYXIoKVwiXG4gIGxvb2s9XCJibGFua1wiXG4+XG4gIDxpIGNsYXNzPVwiZmEtc29saWQgZmEtcm90YXRlXCI+PC9pPlxuPC9heC1idXR0b24+XG4iXX0=","import { AXComponent } from '@acorex/cdk/common';\nimport { AXRangeSliderComponent } from '@acorex/components/range-slider';\nimport { ChangeDetectionStrategy, Component, inject, linkedSignal, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXPaintService } from '../../paint.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\n/**\n * paint mode.\n * @category Components\n */\nexport class AXPaintEraserToolComponent {\n constructor() {\n this.service = inject(AXPaintService);\n this.value = linkedSignal(() => this.service.eraserWidth(), ...(ngDevMode ? [{ debugName: \"value\" }] : []));\n }\n /** @ignore */\n valueHandler(e) {\n this.service.eraserWidth.set(e);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXPaintEraserToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.3\", type: AXPaintEraserToolComponent, isStandalone: true, selector: \"ax-paint-eraser-tool\", providers: [{ provide: AXComponent, useExisting: AXPaintEraserToolComponent }], ngImport: i0, template: \"<ax-range-slider [min]=\\\"2\\\" [max]=\\\"20\\\" [(ngModel)]=\\\"value\\\" (ngModelChange)=\\\"valueHandler($event)\\\"></ax-range-slider>\\n\", styles: [\"ax-paint-eraser-tool{display:flex}ax-paint-eraser-tool ax-range-slider{padding:.5rem .75rem;width:10rem}ax-paint-eraser-tool ax-range-slider .ax-range-slider .ax-range-slider-handler{width:1rem!important;height:1rem!important}\\n\"], dependencies: [{ kind: \"ngmodule\", type: FormsModule }, { 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: AXRangeSliderComponent, selector: \"ax-range-slider\", inputs: [\"disabled\", \"readonly\", \"orientation\", \"color\", \"values\", \"mode\", \"min\", \"max\", \"step\", \"snap\", \"tooltipMode\", \"snapMode\", \"hasStep\", \"hasSnap\", \"hasLable\", \"hasTooltip\"], outputs: [\"valuesChange\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXPaintEraserToolComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-paint-eraser-tool', encapsulation: ViewEncapsulation.None, imports: [FormsModule, AXRangeSliderComponent], changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: AXComponent, useExisting: AXPaintEraserToolComponent }], template: \"<ax-range-slider [min]=\\\"2\\\" [max]=\\\"20\\\" [(ngModel)]=\\\"value\\\" (ngModelChange)=\\\"valueHandler($event)\\\"></ax-range-slider>\\n\", styles: [\"ax-paint-eraser-tool{display:flex}ax-paint-eraser-tool ax-range-slider{padding:.5rem .75rem;width:10rem}ax-paint-eraser-tool ax-range-slider .ax-range-slider .ax-range-slider-handler{width:1rem!important;height:1rem!important}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFpbnQtZXJhc2VyLXRvb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9wYWludC9zcmMvbGliL3BhaW50L3BhaW50LXRvb2xzL3BhaW50LWVyYXNlci10b29sL3BhaW50LWVyYXNlci10b29sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvcGFpbnQvc3JjL2xpYi9wYWludC9wYWludC10b29scy9wYWludC1lcmFzZXItdG9vbC9wYWludC1lcmFzZXItdG9vbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFekUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQUVyRDs7O0dBR0c7QUF3QkgsTUFBTSxPQUFPLDBCQUEwQjtJQXZCdkM7UUF3QlksWUFBTyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUVqQyxVQUFLLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLGlEQUFDLENBQUM7S0FNbEU7SUFKQyxjQUFjO0lBQ0osWUFBWSxDQUFDLENBQVM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7OEdBUlUsMEJBQTBCO2tHQUExQiwwQkFBMEIsbUVBRjFCLENBQUMsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSwwQkFBMEIsRUFBRSxDQUFDLDBCQ2hDaEYsK0hBQ0EsNlJEY1ksV0FBVywrVkFBRSxzQkFBc0I7OzJGQW1CbEMsMEJBQTBCO2tCQXZCdEMsU0FBUzsrQkFDRSxzQkFBc0IsaUJBRWpCLGlCQUFpQixDQUFDLElBQUksV0FDNUIsQ0FBQyxXQUFXLEVBQUUsc0JBQXNCLENBQUMsbUJBQzdCLHVCQUF1QixDQUFDLE1BQU0sYUFnQnBDLENBQUMsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsNEJBQTRCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcbmltcG9ydCB7IEFYUmFuZ2VTbGlkZXJDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcmFuZ2Utc2xpZGVyJztcblxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBsaW5rZWRTaWduYWwsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFYUGFpbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcGFpbnQuc2VydmljZSc7XG5cbi8qKlxuICogcGFpbnQgbW9kZS5cbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LXBhaW50LWVyYXNlci10b29sJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BhaW50LWVyYXNlci10b29sLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaW1wb3J0czogW0Zvcm1zTW9kdWxlLCBBWFJhbmdlU2xpZGVyQ29tcG9uZW50XSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0eWxlczogYFxuICAgIGF4LXBhaW50LWVyYXNlci10b29sIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBheC1yYW5nZS1zbGlkZXIge1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTtcbiAgICAgICAgd2lkdGg6IDEwcmVtO1xuICAgICAgICAuYXgtcmFuZ2Utc2xpZGVyIHtcbiAgICAgICAgICAuYXgtcmFuZ2Utc2xpZGVyLWhhbmRsZXIge1xuICAgICAgICAgICAgd2lkdGg6IDFyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgIGhlaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgYCxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBBWENvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYUGFpbnRFcmFzZXJUb29sQ29tcG9uZW50IH1dLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBhaW50RXJhc2VyVG9vbENvbXBvbmVudCB7XG4gIHByb3RlY3RlZCBzZXJ2aWNlID0gaW5qZWN0KEFYUGFpbnRTZXJ2aWNlKTtcblxuICBwcm90ZWN0ZWQgdmFsdWUgPSBsaW5rZWRTaWduYWwoKCkgPT4gdGhpcy5zZXJ2aWNlLmVyYXNlcldpZHRoKCkpO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCB2YWx1ZUhhbmRsZXIoZTogbnVtYmVyKSB7XG4gICAgdGhpcy5zZXJ2aWNlLmVyYXNlcldpZHRoLnNldChlKTtcbiAgfVxufVxuIiwiPGF4LXJhbmdlLXNsaWRlciBbbWluXT1cIjJcIiBbbWF4XT1cIjIwXCIgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIChuZ01vZGVsQ2hhbmdlKT1cInZhbHVlSGFuZGxlcigkZXZlbnQpXCI+PC9heC1yYW5nZS1zbGlkZXI+XG4iXX0=","import { AXComponent } from '@acorex/cdk/common';\nimport { AXColorBoxComponent } from '@acorex/components/color-box';\nimport { AXRangeSliderComponent } from '@acorex/components/range-slider';\nimport { ChangeDetectionStrategy, Component, inject, linkedSignal, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXPaintService } from '../../paint.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\n/**\n * paint mode.\n * @category Components\n */\nexport class AXPaintHighlightToolComponent {\n constructor() {\n this.service = inject(AXPaintService);\n this.value = linkedSignal(() => this.service.highlightWidth(), ...(ngDevMode ? [{ debugName: \"value\" }] : []));\n this.selectedColor = linkedSignal(() => this.service.highlightColor(), ...(ngDevMode ? [{ debugName: \"selectedColor\" }] : []));\n }\n changeColorHandler(e) {\n this.service.highlightColor.set(e);\n this.selectedColor.set(e);\n }\n /** @ignore */\n valueHandler(e) {\n this.service.highlightWidth.set(e);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXPaintHighlightToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.3\", type: AXPaintHighlightToolComponent, isStandalone: true, selector: \"ax-paint-highlight-tool\", providers: [{ provide: AXComponent, useExisting: AXPaintHighlightToolComponent }], ngImport: i0, template: \"<ax-color-box\\n [showValue]=\\\"false\\\"\\n [showIcon]=\\\"false\\\"\\n axTooltip=\\\"Pen Color Picker\\\"\\n axTooltipPlacement=\\\"top\\\"\\n look=\\\"none\\\"\\n [ngModel]=\\\"selectedColor()\\\"\\n (ngModelChange)=\\\"changeColorHandler($event)\\\"\\n>\\n</ax-color-box>\\n\\n<ax-range-slider [min]=\\\"2\\\" [max]=\\\"20\\\" [(ngModel)]=\\\"value\\\" (ngModelChange)=\\\"valueHandler($event)\\\"></ax-range-slider>\\n\", styles: [\"ax-paint-highlight-tool{display:flex}ax-paint-highlight-tool ax-range-slider{padding:.5rem .75rem;width:10rem}ax-paint-highlight-tool ax-range-slider .ax-range-slider .ax-range-slider-handler{width:1rem!important;height:1rem!important}\\n\"], dependencies: [{ kind: \"component\", type: AXColorBoxComponent, selector: \"ax-color-box\", inputs: [\"disabled\", \"readonly\", \"tabIndex\", \"placeholder\", \"value\", \"state\", \"name\", \"id\", \"look\", \"showBadge\", \"showValue\", \"showClearButton\", \"showIcon\"], outputs: [\"valueChange\", \"stateChange\", \"onValueChanged\", \"onBlur\", \"onFocus\", \"readonlyChange\", \"disabledChange\", \"onOpened\", \"onClosed\"] }, { kind: \"ngmodule\", type: FormsModule }, { 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: AXRangeSliderComponent, selector: \"ax-range-slider\", inputs: [\"disabled\", \"readonly\", \"orientation\", \"color\", \"values\", \"mode\", \"min\", \"max\", \"step\", \"snap\", \"tooltipMode\", \"snapMode\", \"hasStep\", \"hasSnap\", \"hasLable\", \"hasTooltip\"], outputs: [\"valuesChange\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXPaintHighlightToolComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-paint-highlight-tool', encapsulation: ViewEncapsulation.None, imports: [AXColorBoxComponent, FormsModule, AXRangeSliderComponent], changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: AXComponent, useExisting: AXPaintHighlightToolComponent }], template: \"<ax-color-box\\n [showValue]=\\\"false\\\"\\n [showIcon]=\\\"false\\\"\\n axTooltip=\\\"Pen Color Picker\\\"\\n axTooltipPlacement=\\\"top\\\"\\n look=\\\"none\\\"\\n [ngModel]=\\\"selectedColor()\\\"\\n (ngModelChange)=\\\"changeColorHandler($event)\\\"\\n>\\n</ax-color-box>\\n\\n<ax-range-slider [min]=\\\"2\\\" [max]=\\\"20\\\" [(ngModel)]=\\\"value\\\" (ngModelChange)=\\\"valueHandler($event)\\\"></ax-range-slider>\\n\", styles: [\"ax-paint-highlight-tool{display:flex}ax-paint-highlight-tool ax-range-slider{padding:.5rem .75rem;width:10rem}ax-paint-highlight-tool ax-range-slider .ax-range-slider .ax-range-slider-handler{width:1rem!important;height:1rem!important}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFpbnQtaGlnaGxpZ2h0LXRvb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9wYWludC9zcmMvbGliL3BhaW50L3BhaW50LXRvb2xzL3BhaW50LWhpZ2hsaWdodC10b29sL3BhaW50LWhpZ2hsaWdodC10b29sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvcGFpbnQvc3JjL2xpYi9wYWludC9wYWludC10b29scy9wYWludC1oaWdobGlnaHQtdG9vbC9wYWludC1oaWdobGlnaHQtdG9vbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFekUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQUVyRDs7O0dBR0c7QUF3QkgsTUFBTSxPQUFPLDZCQUE2QjtJQXZCMUM7UUF3QlksWUFBTyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUVqQyxVQUFLLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLGlEQUFDLENBQUM7UUFFMUQsa0JBQWEsR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUseURBQUMsQ0FBQztLQVc3RTtJQVRXLGtCQUFrQixDQUFDLENBQVM7UUFDcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxjQUFjO0lBQ0osWUFBWSxDQUFDLENBQVM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7OEdBZlUsNkJBQTZCO2tHQUE3Qiw2QkFBNkIsc0VBRjdCLENBQUMsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSw2QkFBNkIsRUFBRSxDQUFDLDBCQ2pDbkYseVhBWUEsdVNESVksbUJBQW1CLGtXQUFFLFdBQVcsK1ZBQUUsc0JBQXNCOzsyRkFtQnZELDZCQUE2QjtrQkF2QnpDLFNBQVM7K0JBQ0UseUJBQXlCLGlCQUVwQixpQkFBaUIsQ0FBQyxJQUFJLFdBQzVCLENBQUMsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLHNCQUFzQixDQUFDLG1CQUNsRCx1QkFBdUIsQ0FBQyxNQUFNLGFBZ0JwQyxDQUFDLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLCtCQUErQixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWENvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBBWENvbG9yQm94Q29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbG9yLWJveCc7XG5pbXBvcnQgeyBBWFJhbmdlU2xpZGVyQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3JhbmdlLXNsaWRlcic7XG5cbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgbGlua2VkU2lnbmFsLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBWFBhaW50U2VydmljZSB9IGZyb20gJy4uLy4uL3BhaW50LnNlcnZpY2UnO1xuXG4vKipcbiAqIHBhaW50IG1vZGUuXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1wYWludC1oaWdobGlnaHQtdG9vbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWludC1oaWdobGlnaHQtdG9vbC5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGltcG9ydHM6IFtBWENvbG9yQm94Q29tcG9uZW50LCBGb3Jtc01vZHVsZSwgQVhSYW5nZVNsaWRlckNvbXBvbmVudF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdHlsZXM6IGBcbiAgICBheC1wYWludC1oaWdobGlnaHQtdG9vbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYXgtcmFuZ2Utc2xpZGVyIHtcbiAgICAgICAgcGFkZGluZzogMC41cmVtIDAuNzVyZW07XG4gICAgICAgIHdpZHRoOiAxMHJlbTtcbiAgICAgICAgLmF4LXJhbmdlLXNsaWRlciB7XG4gICAgICAgICAgLmF4LXJhbmdlLXNsaWRlci1oYW5kbGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIGAsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQVhDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFBhaW50SGlnaGxpZ2h0VG9vbENvbXBvbmVudCB9XSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQYWludEhpZ2hsaWdodFRvb2xDb21wb25lbnQge1xuICBwcm90ZWN0ZWQgc2VydmljZSA9IGluamVjdChBWFBhaW50U2VydmljZSk7XG5cbiAgcHJvdGVjdGVkIHZhbHVlID0gbGlua2VkU2lnbmFsKCgpID0+IHRoaXMuc2VydmljZS5oaWdobGlnaHRXaWR0aCgpKTtcblxuICBwcm90ZWN0ZWQgc2VsZWN0ZWRDb2xvciA9IGxpbmtlZFNpZ25hbCgoKSA9PiB0aGlzLnNlcnZpY2UuaGlnaGxpZ2h0Q29sb3IoKSk7XG5cbiAgcHJvdGVjdGVkIGNoYW5nZUNvbG9ySGFuZGxlcihlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlcnZpY2UuaGlnaGxpZ2h0Q29sb3Iuc2V0KGUpO1xuICAgIHRoaXMuc2VsZWN0ZWRDb2xvci5zZXQoZSk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgdmFsdWVIYW5kbGVyKGU6IG51bWJlcikge1xuICAgIHRoaXMuc2VydmljZS5oaWdobGlnaHRXaWR0aC5zZXQoZSk7XG4gIH1cbn1cbiIsIjxheC1jb2xvci1ib3hcbiAgW3Nob3dWYWx1ZV09XCJmYWxzZVwiXG4gIFtzaG93SWNvbl09XCJmYWxzZVwiXG4gIGF4VG9vbHRpcD1cIlBlbiBDb2xvciBQaWNrZXJcIlxuICBheFRvb2x0aXBQbGFjZW1lbnQ9XCJ0b3BcIlxuICBsb29rPVwibm9uZVwiXG4gIFtuZ01vZGVsXT1cInNlbGVjdGVkQ29sb3IoKVwiXG4gIChuZ01vZGVsQ2hhbmdlKT1cImNoYW5nZUNvbG9ySGFuZGxlcigkZXZlbnQpXCJcbj5cbjwvYXgtY29sb3ItYm94PlxuXG48YXgtcmFuZ2Utc2xpZGVyIFttaW5dPVwiMlwiIFttYXhdPVwiMjBcIiBbKG5nTW9kZWwpXT1cInZhbHVlXCIgKG5nTW9kZWxDaGFuZ2UpPVwidmFsdWVIYW5kbGVyKCRldmVudClcIj48L2F4LXJhbmdlLXNsaWRlcj5cbiJdfQ==","import { AXComponent } from '@acorex/cdk/common';\nimport { AXColorBoxComponent } from '@acorex/components/color-box';\nimport { AXRangeSliderComponent } from '@acorex/components/range-slider';\nimport { ChangeDetectionStrategy, Component, inject, linkedSignal, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXPaintService } from '../../paint.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\n/**\n * paint mode.\n * @category Components\n */\nexport class AXPaintPenToolComponent {\n constructor() {\n this.service = inject(AXPaintService);\n /** @ignore */\n this.value = linkedSignal(() => this.service.penWidth(), ...(ngDevMode ? [{ debugName: \"value\" }] : []));\n /** @ignore */\n this.selectedColor = linkedSignal(() => this.service.penColor(), ...(ngDevMode ? [{ debugName: \"selectedColor\" }] : []));\n }\n changeColorHandler(e) {\n this.service.penColor.set(e);\n this.selectedColor.set(e);\n }\n /** @ignore */\n valueHandler(e) {\n this.service.penWidth.set(e);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXPaintPenToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.3\", type: AXPaintPenToolComponent, isStandalone: true, selector: \"ax-paint-pen-tool\", providers: [{ provide: AXComponent, useExisting: AXPaintPenToolComponent }], ngImport: i0, template: \"<ax-color-box\\n [showValue]=\\\"false\\\"\\n [showIcon]=\\\"false\\\"\\n axTooltip=\\\"Pen Color Picker\\\"\\n axTooltipPlacement=\\\"top\\\"\\n look=\\\"none\\\"\\n [ngModel]=\\\"selectedColor()\\\"\\n (ngModelChange)=\\\"changeColorHandler($event)\\\"\\n>\\n</ax-color-box>\\n\\n<ax-range-slider [min]=\\\"2\\\" [max]=\\\"20\\\" [(ngModel)]=\\\"value\\\" (ngModelChange)=\\\"valueHandler($event)\\\"></ax-range-slider>\\n\", styles: [\"ax-paint-pen-tool{display:flex}ax-paint-pen-tool ax-range-slider{padding:.5rem .75rem;width:10rem}ax-paint-pen-tool ax-range-slider .ax-range-slider .ax-range-slider-handler{width:1rem!important;height:1rem!important}\\n\"], dependencies: [{ kind: \"component\", type: AXColorBoxComponent, selector: \"ax-color-box\", inputs: [\"disabled\", \"readonly\", \"tabIndex\", \"placeholder\", \"value\", \"state\", \"name\", \"id\", \"look\", \"showBadge\", \"showValue\", \"showClearButton\", \"showIcon\"], outputs: [\"valueChange\", \"stateChange\", \"onValueChanged\", \"onBlur\", \"onFocus\", \"readonlyChange\", \"disabledChange\", \"onOpened\", \"onClosed\"] }, { kind: \"ngmodule\", type: FormsModule }, { 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: AXRangeSliderComponent, selector: \"ax-range-slider\", inputs: [\"disabled\", \"readonly\", \"orientation\", \"color\", \"values\", \"mode\", \"min\", \"max\", \"step\", \"snap\", \"tooltipMode\", \"snapMode\", \"hasStep\", \"hasSnap\", \"hasLable\", \"hasTooltip\"], outputs: [\"valuesChange\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXPaintPenToolComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-paint-pen-tool', encapsulation: ViewEncapsulation.None, imports: [AXColorBoxComponent, FormsModule, AXRangeSliderComponent], changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: AXComponent, useExisting: AXPaintPenToolComponent }], template: \"<ax-color-box\\n [showValue]=\\\"false\\\"\\n [showIcon]=\\\"false\\\"\\n axTooltip=\\\"Pen Color Picker\\\"\\n axTooltipPlacement=\\\"top\\\"\\n look=\\\"none\\\"\\n [ngModel]=\\\"selectedColor()\\\"\\n (ngModelChange)=\\\"changeColorHandler($event)\\\"\\n>\\n</ax-color-box>\\n\\n<ax-range-slider [min]=\\\"2\\\" [max]=\\\"20\\\" [(ngModel)]=\\\"value\\\" (ngModelChange)=\\\"valueHandler($event)\\\"></ax-range-slider>\\n\", styles: [\"ax-paint-pen-tool{display:flex}ax-paint-pen-tool ax-range-slider{padding:.5rem .75rem;width:10rem}ax-paint-pen-tool ax-range-slider .ax-range-slider .ax-range-slider-handler{width:1rem!important;height:1rem!important}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFpbnQtcGVuLXRvb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9wYWludC9zcmMvbGliL3BhaW50L3BhaW50LXRvb2xzL3BhaW50LXBlbi10b29sL3BhaW50LXBlbi10b29sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvcGFpbnQvc3JjL2xpYi9wYWludC9wYWludC10b29scy9wYWludC1wZW4tdG9vbC9wYWludC1wZW4tdG9vbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFekUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQUVyRDs7O0dBR0c7QUF3QkgsTUFBTSxPQUFPLHVCQUF1QjtJQXZCcEM7UUF3QlksWUFBTyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUUzQyxjQUFjO1FBQ0osVUFBSyxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxpREFBQyxDQUFDO1FBRTlELGNBQWM7UUFDSixrQkFBYSxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSx5REFBQyxDQUFDO0tBV3ZFO0lBVFcsa0JBQWtCLENBQUMsQ0FBUztRQUNwQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELGNBQWM7SUFDSixZQUFZLENBQUMsQ0FBUztRQUM5QixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0IsQ0FBQzs4R0FqQlUsdUJBQXVCO2tHQUF2Qix1QkFBdUIsZ0VBRnZCLENBQUMsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRSxDQUFDLDBCQ2pDN0UseVhBWUEscVJESVksbUJBQW1CLGtXQUFFLFdBQVcsK1ZBQUUsc0JBQXNCOzsyRkFtQnZELHVCQUF1QjtrQkF2Qm5DLFNBQVM7K0JBQ0UsbUJBQW1CLGlCQUVkLGlCQUFpQixDQUFDLElBQUksV0FDNUIsQ0FBQyxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsc0JBQXNCLENBQUMsbUJBQ2xELHVCQUF1QixDQUFDLE1BQU0sYUFnQnBDLENBQUMsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcseUJBQXlCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcbmltcG9ydCB7IEFYQ29sb3JCb3hDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29sb3ItYm94JztcbmltcG9ydCB7IEFYUmFuZ2VTbGlkZXJDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcmFuZ2Utc2xpZGVyJztcblxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBsaW5rZWRTaWduYWwsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFYUGFpbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcGFpbnQuc2VydmljZSc7XG5cbi8qKlxuICogcGFpbnQgbW9kZS5cbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LXBhaW50LXBlbi10b29sJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BhaW50LXBlbi10b29sLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaW1wb3J0czogW0FYQ29sb3JCb3hDb21wb25lbnQsIEZvcm1zTW9kdWxlLCBBWFJhbmdlU2xpZGVyQ29tcG9uZW50XSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0eWxlczogYFxuICAgIGF4LXBhaW50LXBlbi10b29sIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBheC1yYW5nZS1zbGlkZXIge1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTtcbiAgICAgICAgd2lkdGg6IDEwcmVtO1xuICAgICAgICAuYXgtcmFuZ2Utc2xpZGVyIHtcbiAgICAgICAgICAuYXgtcmFuZ2Utc2xpZGVyLWhhbmRsZXIge1xuICAgICAgICAgICAgd2lkdGg6IDFyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgIGhlaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgYCxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBBWENvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYUGFpbnRQZW5Ub29sQ29tcG9uZW50IH1dLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBhaW50UGVuVG9vbENvbXBvbmVudCB7XG4gIHByb3RlY3RlZCBzZXJ2aWNlID0gaW5qZWN0KEFYUGFpbnRTZXJ2aWNlKTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgdmFsdWUgPSBsaW5rZWRTaWduYWwoKCkgPT4gdGhpcy5zZXJ2aWNlLnBlbldpZHRoKCkpO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBzZWxlY3RlZENvbG9yID0gbGlua2VkU2lnbmFsKCgpID0+IHRoaXMuc2VydmljZS5wZW5Db2xvcigpKTtcblxuICBwcm90ZWN0ZWQgY2hhbmdlQ29sb3JIYW5kbGVyKGU6IHN0cmluZykge1xuICAgIHRoaXMuc2VydmljZS5wZW5Db2xvci5zZXQoZSk7XG4gICAgdGhpcy5zZWxlY3RlZENvbG9yLnNldChlKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCB2YWx1ZUhhbmRsZXIoZTogbnVtYmVyKSB7XG4gICAgdGhpcy5zZXJ2aWNlLnBlbldpZHRoLnNldChlKTtcbiAgfVxufVxuIiwiPGF4LWNvbG9yLWJveFxuICBbc2hvd1ZhbHVlXT1cImZhbHNlXCJcbiAgW3Nob3dJY29uXT1cImZhbHNlXCJcbiAgYXhUb29sdGlwPVwiUGVuIENvbG9yIFBpY2tlclwiXG4gIGF4VG9vbHRpcFBsYWNlbWVudD1cInRvcFwiXG4gIGxvb2s9XCJub25lXCJcbiAgW25nTW9kZWxdPVwic2VsZWN0ZWRDb2xvcigpXCJcbiAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlQ29sb3JIYW5kbGVyKCRldmVudClcIlxuPlxuPC9heC1jb2xvci1ib3g+XG5cbjxheC1yYW5nZS1zbGlkZXIgW21pbl09XCIyXCIgW21heF09XCIyMFwiIFsobmdNb2RlbCldPVwidmFsdWVcIiAobmdNb2RlbENoYW5nZSk9XCJ2YWx1ZUhhbmRsZXIoJGV2ZW50KVwiPjwvYXgtcmFuZ2Utc2xpZGVyPlxuIl19","import { AXComponent, AXFocusableComponent, AXValuableComponent, MXInputBaseValueComponent, MXLookComponent, } from '@acorex/cdk/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXToolBarComponent } from '@acorex/components/toolbar';\nimport { Component, HostBinding, ViewEncapsulation, effect, forwardRef, inject, input } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport { AXPaintToolsSelectorComponent } from '../paint-tools-selector/paint-tools-selector.component';\nimport { AXPaintEraserToolComponent } from '../paint-tools/paint-eraser-tool/paint-eraser-tool.component';\nimport { AXPaintHighlightToolComponent } from '../paint-tools/paint-highlight-tool/paint-highlight-tool.component';\nimport { AXPaintPenToolComponent } from '../paint-tools/paint-pen-tool/paint-pen-tool.component';\nimport { AXPaintService } from '../paint.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/decorators\";\n/**\n * paint container.\n * @category Components\n */\nexport class AXPaintContainerComponent extends classes((MXInputBaseValueComponent), MXLookComponent) {\n constructor() {\n super(...arguments);\n this.service = inject(AXPaintService);\n this.editMode = input(false, ...(ngDevMode ? [{ debugName: \"editMode\" }] : []));\n this.#eff = effect(() => {\n if (this.editMode()) {\n this.service.activeToolState.set('pen');\n }\n }, ...(ngDevMode ? [{ debugName: \"#eff\" }] : []));\n }\n #eff;\n get __hostClass() {\n if (this.disabled)\n return 'ax-state-disabled';\n return '';\n }\n /**\n * Sets the active drawing tool.\n *\n * @param tool - The tool to activate: 'pen', 'highlight', or 'eraser'\n */\n setActiveTool(tool) {\n this.service.activeToolState.set(tool);\n }\n /**\n * Sets the pen color for drawing.\n *\n * @param color - The color to use for the pen tool\n */\n setPenColor(color) {\n this.service.penColor.set(color);\n }\n /**\n * Sets the highlight color for highlighting.\n *\n * @param color - The color to use for the highlight tool\n */\n setHighlightColor(color) {\n this.service.highlightColor.set(color);\n }\n /**\n * Sets the pen width for drawing.\n *\n * @param width - The width of the pen stroke in pixels\n */\n setPenWidth(width) {\n this.service.penWidth.set(width);\n }\n /**\n * Sets the highlight width for highlighting.\n *\n * @param width - The width of the highlight stroke in pixels\n */\n setHighlightWidth(width) {\n this.service.highlightWidth.set(width);\n }\n /**\n * Sets the eraser width for erasing.\n *\n * @param width - The width of the eraser in pixels\n */\n setEraserWidth(width) {\n this.service.eraserWidth.set(width);\n }\n /**\n * Clears the entire canvas.\n */\n clear() {\n this.service.toggleClear.update((prev) => !prev);\n }\n get __hostName() {\n return this.name;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXPaintContainerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.3\", type: AXPaintContainerComponent, isStandalone: true, selector: \"ax-paint-container\", inputs: { look: { classPropertyName: \"look\", publicName: \"look\", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: false, isRequired: false, transformFunction: null }, editMode: { classPropertyName: \"editMode\", publicName: \"editMode\", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { \"class\": \"this.__hostClass\", \"attr.name\": \"this.__hostName\" } }, providers: [\n AXPaintService,\n { provide: AXComponent, useExisting: AXPaintContainerComponent },\n { provide: AXFocusableComponent, useExisting: AXPaintContainerComponent },\n { provide: AXValuableComponent, useExisting: AXPaintContainerComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXPaintContainerComponent),\n multi: true,\n },\n ], usesInheritance: true, ngImport: i0, template: \"<div class=\\\"ax-editor-container ax-{{ look }}\\\">\\n <ng-content></ng-content>\\n\\n @if (service.activeToolState() && !editMode()) {\\n <ax-toolbar class=\\\"ax-secondary-toolbar\\\">\\n <ax-prefix>\\n @switch (service.activeToolState()) {\\n @case ('pen') {\\n <ax-paint-pen-tool></ax-paint-pen-tool>\\n }\\n @case ('eraser') {\\n <ax-paint-eraser-tool></ax-paint-eraser-tool>\\n }\\n @case ('highlight') {\\n <ax-paint-highlight-tool></ax-paint-highlight-tool>\\n }\\n }\\n </ax-prefix>\\n </ax-toolbar>\\n }\\n\\n @if (!editMode()) {\\n <ax-toolbar class=\\\"ax-main-toolbar\\\">\\n <ax-content>\\n <ax-paint-tools-selector></ax-paint-tools-selector>\\n </ax-content>\\n </ax-toolbar>\\n }\\n\\n <ng-content select=\\\"ax-validation-rule\\\"> </ng-content>\\n</div>\\n<div class=\\\"ax-error-container\\\"></div>\\n\\n@if (disabled) {\\n <div class=\\\"ax-disable-overlay\\\"></div>\\n}\\n\", styles: [\"ax-paint-container>.ax-editor-container{display:block;height:100%;--ax-comp-editor-space-start-size: 0;--ax-comp-editor-space-end-size: 0}ax-paint-container.ax-state-disabled{opacity:.5}ax-paint-container .ax-disable-overlay{position:absolute;top:0;left:0;width:100%;height:100%;cursor:not-allowed}ax-paint-container .ax-secondary-toolbar{padding:.2rem;border-bottom:1px solid rgba(var(--ax-sys-color-border-surface));justify-content:center}ax-paint-container .ax-main-toolbar{justify-content:center;padding:.2rem}\\n\"], dependencies: [{ kind: \"component\", type: AXToolBarComponent, selector: \"ax-toolbar\" }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i1.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"component\", type: AXPaintToolsSelectorComponent, selector: \"ax-paint-tools-selector\" }, { kind: \"component\", type: AXPaintPenToolComponent, selector: \"ax-paint-pen-tool\" }, { kind: \"component\", type: AXPaintHighlightToolComponent, selector: \"ax-paint-highlight-tool\" }, { kind: \"component\", type: AXPaintEraserToolComponent, selector: \"ax-paint-eraser-tool\" }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXPaintContainerComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-paint-container', encapsulation: ViewEncapsulation.None, inputs: ['look', 'disabled'], providers: [\n AXPaintService,\n { provide: AXComponent, useExisting: AXPaintContainerComponent },\n { provide: AXFocusableComponent, useExisting: AXPaintContainerComponent },\n { provide: AXValuableComponent, useExisting: AXPaintContainerComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXPaintContainerComponent),\n multi: true,\n },\n ], imports: [\n AXToolBarComponent,\n AXDecoratorModule,\n AXPaintToolsSelectorComponent,\n AXPaintPenToolComponent,\n AXPaintHighlightToolComponent,\n AXPaintEraserToolComponent,\n ], template: \"<div class=\\\"ax-editor-container ax-{{ look }}\\\">\\n <ng-content></ng-content>\\n\\n @if (service.activeToolState() && !editMode()) {\\n <ax-toolbar class=\\\"ax-secondary-toolbar\\\">\\n <ax-prefix>\\n @switch (service.activeToolState()) {\\n @case ('pen') {\\n <ax-paint-pen-tool></ax-paint-pen-tool>\\n }\\n @case ('eraser') {\\n <ax-paint-eraser-tool></ax-paint-eraser-tool>\\n }\\n @case ('highlight') {\\n <ax-paint-highlight-tool></ax-paint-highlight-tool>\\n }\\n }\\n </ax-prefix>\\n </ax-toolbar>\\n }\\n\\n @if (!editMode()) {\\n <ax-toolbar class=\\\"ax-main-toolbar\\\">\\n <ax-content>\\n <ax-paint-tools-selector></ax-paint-tools-selector>\\n </ax-content>\\n </ax-toolbar>\\n }\\n\\n <ng-content select=\\\"ax-validation-rule\\\"> </ng-content>\\n</div>\\n<div class=\\\"ax-error-container\\\"></div>\\n\\n@if (disabled) {\\n <div class=\\\"ax-disable-overlay\\\"></div>\\n}\\n\", styles: [\"ax-paint-container>.ax-editor-container{display:block;height:100%;--ax-comp-editor-space-start-size: 0;--ax-comp-editor-space-end-size: 0}ax-paint-container.ax-state-disabled{opacity:.5}ax-paint-container .ax-disable-overlay{position:absolute;top:0;left:0;width:100%;height:100%;cursor:not-allowed}ax-paint-container .ax-secondary-toolbar{padding:.2rem;border-bottom:1px solid rgba(var(--ax-sys-color-border-surface));justify-content:center}ax-paint-container .ax-main-toolbar{justify-content:center;padding:.2rem}\\n\"] }]\n }], propDecorators: { __hostClass: [{\n type: HostBinding,\n args: ['class']\n }], __hostName: [{\n type: HostBinding,\n args: ['attr.name']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFpbnQtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvcGFpbnQvc3JjL2xpYi9wYWludC9wYWludC1jb250YWluZXIvcGFpbnQtY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvcGFpbnQvc3JjL2xpYi9wYWludC9wYWludC1jb250YWluZXIvcGFpbnQtY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxXQUFXLEVBQ1gsb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUNuQix5QkFBeUIsRUFDekIsZUFBZSxHQUNoQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ25DLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQzFHLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9FQUFvRSxDQUFDO0FBQ25ILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxjQUFjLEVB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LEVBQUUsVUFBVSxDQUFDLGFBQ2pCO3dCQUNULGNBQWM7d0JBQ2QsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsMkJBQTJCLEVBQUU7d0JBQ2hFLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsMkJBQTJCLEVBQUU7d0JBQ3pFLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsMkJBQTJCLEVBQUU7d0JBQ3hFOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDBCQUEwQixDQUFDOzRCQUN4RCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRixXQUNRO3dCQUNQLGtCQUFrQjt3QkFDbEIsaUJBQWlCO3dCQUNqQiw2QkFBNkI7d0JBQzdCLHVCQUF1Qjt3QkFDdkIsNkJBQTZCO3dCQUM3QiwwQkFBMEI7cUJBQzNCOzhCQWNHLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxPQUFPO2dCQW9FUixVQUFVO3NCQURyQixXQUFXO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBWENvbXBvbmVudCxcbiAgQVhGb2N1c2FibGVDb21wb25lbnQsXG4gIEFYVmFsdWFibGVDb21wb25lbnQsXG4gIE1YSW5wdXRCYXNlVmFsdWVDb21wb25lbnQsXG4gIE1YTG9va0NvbXBvbmVudCxcbn0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhUb29sQmFyQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3Rvb2xiYXInO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgVmlld0VuY2Fwc3VsYXRpb24sIGVmZmVjdCwgZm9yd2FyZFJlZiwgaW5qZWN0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjbGFzc2VzIH0gZnJvbSAncG9seXR5cGUnO1xuaW1wb3J0IHsgQVhQYWludFRvb2xzU2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuLi9wYWludC10b29scy1zZWxlY3Rvci9wYWludC10b29scy1zZWxlY3Rvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhQYWludEVyYXNlclRvb2xDb21wb25lbnQgfSBmcm9tICcuLi9wYWludC10b29scy9wYWludC1lcmFzZXItdG9vbC9wYWludC1lcmFzZXItdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhQYWludEhpZ2hsaWdodFRvb2xDb21wb25lbnQgfSBmcm9tICcuLi9wYWludC10b29scy9wYWludC1oaWdobGlnaHQtdG9vbC9wYWludC1oaWdobGlnaHQtdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhQYWludFBlblRvb2xDb21wb25lbnQgfSBmcm9tICcuLi9wYWludC10b29scy9wYWludC1wZW4tdG9vbC9wYWludC1wZW4tdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhQYWludFNlcnZpY2UgfSBmcm9tICcuLi9wYWludC5zZXJ2aWNlJztcblxuLyoqXG4gKiBwYWludCBjb250YWluZXIuXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1wYWludC1jb250YWluZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFpbnQtY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3BhaW50LWNvbnRhaW5lci5jb21wb25lbnQuc2NzcycsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGlucHV0czogWydsb29rJywgJ2Rpc2FibGVkJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIEFYUGFpbnRTZXJ2aWNlLFxuICAgIHsgcHJvdmlkZTogQVhDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFBhaW50Q29udGFpbmVyQ29tcG9uZW50IH0sXG4gICAgeyBwcm92aWRlOiBBWEZvY3VzYWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYUGFpbnRDb250YWluZXJDb21wb25lbnQgfSxcbiAgICB7IHByb3ZpZGU6IEFYVmFsdWFibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFBhaW50Q29udGFpbmVyQ29tcG9uZW50IH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBWFBhaW50Q29udGFpbmVyQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBBWFRvb2xCYXJDb21wb25lbnQsXG4gICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgQVhQYWludFRvb2xzU2VsZWN0b3JDb21wb25lbnQsXG4gICAgQVhQYWludFBlblRvb2xDb21wb25lbnQsXG4gICAgQVhQYWludEhpZ2hsaWdodFRvb2xDb21wb25lbnQsXG4gICAgQVhQYWludEVyYXNlclRvb2xDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUGFpbnRDb250YWluZXJDb21wb25lbnQgZXh0ZW5kcyBjbGFzc2VzKE1YSW5wdXRCYXNlVmFsdWVDb21wb25lbnQ8c3RyaW5nPiwgTVhMb29rQ29tcG9uZW50KSB7XG4gIHByb3RlY3RlZCBzZXJ2aWNlID0gaW5qZWN0KEFYUGFpbnRTZXJ2aWNlKTtcblxuICByZWFkb25seSBlZGl0TW9kZSA9IGlucHV0KGZhbHNlKTtcblxuICAjZWZmID0gZWZmZWN0KCgpID0+IHtcbiAgICBpZiAodGhpcy5lZGl0TW9kZSgpKSB7XG4gICAgICB0aGlzLnNlcnZpY2UuYWN0aXZlVG9vbFN0YXRlLnNldCgncGVuJyk7XG4gICAgfVxuICB9KTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IF9faG9zdENsYXNzKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybiAnYXgtc3RhdGUtZGlzYWJsZWQnO1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBhY3RpdmUgZHJhd2luZyB0b29sLlxuICAgKlxuICAgKiBAcGFyYW0gdG9vbCAtIFRoZSB0b29sIHRvIGFjdGl2YXRlOiAncGVuJywgJ2hpZ2hsaWdodCcsIG9yICdlcmFzZXInXG4gICAqL1xuICBzZXRBY3RpdmVUb29sKHRvb2w6ICdwZW4nIHwgJ2hpZ2hsaWdodCcgfCAnZXJhc2VyJykge1xuICAgIHRoaXMuc2VydmljZS5hY3RpdmVUb29sU3RhdGUuc2V0KHRvb2wpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHBlbiBjb2xvciBmb3IgZHJhd2luZy5cbiAgICpcbiAgICogQHBhcmFtIGNvbG9yIC0gVGhlIGNvbG9yIHRvIHVzZSBmb3IgdGhlIHBlbiB0b29sXG4gICAqL1xuICBzZXRQZW5Db2xvcihjb2xvcjogc3RyaW5nIHwgQ2FudmFzR3JhZGllbnQgfCBDYW52YXNQYXR0ZXJuKSB7XG4gICAgdGhpcy5zZXJ2aWNlLnBlbkNvbG9yLnNldChjb2xvcik7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgaGlnaGxpZ2h0IGNvbG9yIGZvciBoaWdobGlnaHRpbmcuXG4gICAqXG4gICAqIEBwYXJhbSBjb2xvciAtIFRoZSBjb2xvciB0byB1c2UgZm9yIHRoZSBoaWdobGlnaHQgdG9vbFxuICAgKi9cbiAgc2V0SGlnaGxpZ2h0Q29sb3IoY29sb3I6IHN0cmluZyB8IENhbnZhc0dyYWRpZW50IHwgQ2FudmFzUGF0dGVybikge1xuICAgIHRoaXMuc2VydmljZS5oaWdobGlnaHRDb2xvci5zZXQoY29sb3IpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHBlbiB3aWR0aCBmb3IgZHJhd2luZy5cbiAgICpcbiAgICogQHBhcmFtIHdpZHRoIC0gVGhlIHdpZHRoIG9mIHRoZSBwZW4gc3Ryb2tlIGluIHBpeGVsc1xuICAgKi9cbiAgc2V0UGVuV2lkdGgod2lkdGg6IG51bWJlcikge1xuICAgIHRoaXMuc2VydmljZS5wZW5XaWR0aC5zZXQod2lkdGgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGhpZ2hsaWdodCB3aWR0aCBmb3IgaGlnaGxpZ2h0aW5nLlxuICAgKlxuICAgKiBAcGFyYW0gd2lkdGggLSBUaGUgd2lkdGggb2YgdGhlIGhpZ2hsaWdodCBzdHJva2UgaW4gcGl4ZWxzXG4gICAqL1xuICBzZXRIaWdobGlnaHRXaWR0aCh3aWR0aDogbnVtYmVyKSB7XG4gICAgdGhpcy5zZXJ2aWNlLmhpZ2hsaWdodFdpZHRoLnNldCh3aWR0aCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgZXJhc2VyIHdpZHRoIGZvciBlcmFzaW5nLlxuICAgKlxuICAgKiBAcGFyYW0gd2lkdGggLSBUaGUgd2lkdGggb2YgdGhlIGVyYXNlciBpbiBwaXhlbHNcbiAgICovXG4gIHNldEVyYXNlcldpZHRoKHdpZHRoOiBudW1iZXIpIHtcbiAgICB0aGlzLnNlcnZpY2UuZXJhc2VyV2lkdGguc2V0KHdpZHRoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhcnMgdGhlIGVudGlyZSBjYW52YXMuXG4gICAqL1xuICBjbGVhcigpIHtcbiAgICB0aGlzLnNlcnZpY2UudG9nZ2xlQ2xlYXIudXBkYXRlKChwcmV2KSA9PiAhcHJldik7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2F0dHIubmFtZScpXG4gIHByaXZhdGUgZ2V0IF9faG9zdE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYXgtZWRpdG9yLWNvbnRhaW5lciBheC17eyBsb29rIH19XCI+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cblxuICBAaWYgKHNlcnZpY2UuYWN0aXZlVG9vbFN0YXRlKCkgJiYgIWVkaXRNb2RlKCkpIHtcbiAgICA8YXgtdG9vbGJhciBjbGFzcz1cImF4LXNlY29uZGFyeS10b29sYmFyXCI+XG4gICAgICA8YXgtcHJlZml4PlxuICAgICAgICBAc3dpdGNoIChzZXJ2aWNlLmFjdGl2ZVRvb2xTdGF0ZSgpKSB7XG4gICAgICAgICAgQGNhc2UgKCdwZW4nKSB7XG4gICAgICAgICAgICA8YXgtcGFpbnQtcGVuLXRvb2w+PC9heC1wYWludC1wZW4tdG9vbD5cbiAgICAgICAgICB9XG4gICAgICAgICAgQGNhc2UgKCdlcmFzZXInKSB7XG4gICAgICAgICAgICA8YXgtcGFpbnQtZXJhc2VyLXRvb2w+PC9heC1wYWludC1lcmFzZXItdG9vbD5cbiAgICAgICAgICB9XG4gICAgICAgICAgQGNhc2UgKCdoaWdobGlnaHQnKSB7XG4gICAgICAgICAgICA8YXgtcGFpbnQtaGlnaGxpZ2h0LXRvb2w+PC9heC1wYWludC1oaWdobGlnaHQtdG9vbD5cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIDwvYXgtcHJlZml4PlxuICAgIDwvYXgtdG9vbGJhcj5cbiAgfVxuXG4gIEBpZiAoIWVkaXRNb2RlKCkpIHtcbiAgICA8YXgtdG9vbGJhciBjbGFzcz1cImF4LW1haW4tdG9vbGJhclwiPlxuICAgICAgPGF4LWNvbnRlbnQ+XG4gICAgICAgIDxheC1wYWludC10b29scy1zZWxlY3Rvcj48L2F4LXBhaW50LXRvb2xzLXNlbGVjdG9yPlxuICAgICAgPC9heC1jb250ZW50PlxuICAgIDwvYXgtdG9vbGJhcj5cbiAgfVxuXG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LXZhbGlkYXRpb24tcnVsZVwiPiA8L25nLWNvbnRlbnQ+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJheC1lcnJvci1jb250YWluZXJcIj48L2Rpdj5cblxuQGlmIChkaXNhYmxlZCkge1xuICA8ZGl2IGNsYXNzPVwiYXgtZGlzYWJsZS1vdmVybGF5XCI+PC9kaXY+XG59XG4iXX0=","import { AXComponent } from '@acorex/cdk/common';\nimport { isPlatformBrowser } from '@angular/common';\nimport { afterNextRender, ChangeDetectionStrategy, Component, effect, ElementRef, HostBinding, inject, input, PLATFORM_ID, Renderer2, signal, viewChild, ViewEncapsulation, } from '@angular/core';\nimport { AXPaintContainerComponent } from '../paint-container/paint-container.component';\nimport { AXPaintService } from '../paint.service';\nimport * as i0 from \"@angular/core\";\n/**\n * @category Components\n * paint view\n */\nexport class AXPaintViewComponent {\n constructor() {\n /** @ignore */\n this.parent = inject(AXPaintContainerComponent);\n /** @ignore */\n this.service = inject(AXPaintService);\n /** @ignore */\n this.renderer = inject(Renderer2);\n this.platformID = inject(PLATFORM_ID);\n this.hostElem = inject(ElementRef);\n /**\n * Specifies the class that pass to component.\n *\n */\n this.customClass = input('', ...(ngDevMode ? [{ debugName: \"customClass\", alias: 'class' }] : [{ alias: 'class' }]));\n this.paintBackgroundColor = input('white', ...(ngDevMode ? [{ debugName: \"paintBackgroundColor\" }] : []));\n /** @ignore */\n this.canvasElem = viewChild('c', ...(ngDevMode ? [{ debugName: \"canvasElem\" }] : []));\n /** @ignore */\n this.ctx = signal(null, ...(ngDevMode ? [{ debugName: \"ctx\" }] : []));\n /** @ignore */\n this.isPainting = signal(false, ...(ngDevMode ? [{ debugName: \"isPainting\" }] : []));\n /** @ignore */\n this.isUserInteract = signal(false, ...(ngDevMode ? [{ debugName: \"isUserInteract\" }] : []));\n this.#init = afterNextRender(() => {\n this.ctx.set(this.canvasElem().nativeElement.getContext('2d'));\n this.ctx().lineJoin = 'round';\n this.ctx().lineCap = 'round';\n setTimeout(() => {\n this.resizeEventHandler();\n });\n if (isPlatformBrowser(this.platformID)) {\n this.resizeEvent = this.renderer.listen(window, 'resize', this.resizeEventHandler.bind(this));\n }\n });\n this.#effect = effect(() => {\n this.isUserInteract.set(false);\n this.service.toggleClear();\n this.ctx()?.clearRect(0, 0, this.getBoundingCanvasHandler()?.width, this.getBoundingCanvasHandler()?.height);\n }, ...(ngDevMode ? [{ debugName: \"#effect\" }] : []));\n }\n #init;\n #effect;\n /** @ignore */\n ngOnDestroy() {\n if (isPlatformBrowser(this.platformID) && this.resizeEvent) {\n this.resizeEvent();\n }\n }\n /** @ignore */\n resizeEventHandler() {\n this.ctx().canvas.width = this.getBoundingCanvasHandler()?.width;\n this.ctx().canvas.height = this.getBoundingCanvasHandler()?.height;\n }\n /** @ignore */\n penConfigHandler(penType) {\n switch (penType) {\n case 'pen':\n this.ctx().globalAlpha = 1;\n this.ctx().globalCompositeOperation = 'source-over';\n this.ctx().strokeStyle = this.service.penColor();\n this.ctx().lineWidth = this.service.penWidth();\n break;\n case 'eraser':\n this.ctx().globalAlpha = 1;\n this.ctx().globalCompositeOperation = 'destination-out';\n this.ctx().lineWidth = this.service.eraserWidth();\n break;\n case 'highlight':\n this.ctx().globalAlpha = 0.008;\n this.ctx().globalCompositeOperation = 'source-over';\n this.ctx().strokeStyle = this.service.highlightColor();\n this.ctx().lineWidth = this.service.highlightWidth();\n break;\n }\n }\n /** @ignore */\n getBoundingCanvasHandler() {\n return this.hostElem.nativeElement.getBoundingClientRect();\n }\n /** @ignore */\n mouseDownHandler(e) {\n if (!this.service.activeToolState())\n return;\n this.isPainting.set(true);\n this.isUserInteract.set(true);\n this.penConfigHandler(this.service.activeToolState());\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 /** @ignore */\n mouseMoveHandler(e) {\n if (this.isPainting()) {\n this.ctx().lineTo(e.offsetX, e.offsetY);\n this.ctx().stroke();\n }\n }\n /** @ignore */\n mouseUpHandler() {\n this.ctx().closePath();\n this.isPainting.set(false);\n }\n /**\n * Exports the canvas content as an image.\n *\n * @param format - The image format: 'image/webp', 'image/png', or 'image/jpeg'\n */\n getOutPut(e) {\n const base64 = this.canvasElem().nativeElement.toDataURL(e, 0.1);\n if (this.isUserInteract()) {\n this.parent.commitValue(base64);\n }\n else {\n this.parent.commitValue(null);\n }\n }\n get __hostClass() {\n return [this.customClass(), `ax-${this.paintBackgroundColor()}`];\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXPaintViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.2.0\", version: \"20.3.3\", type: AXPaintViewComponent, isStandalone: true, selector: \"ax-paint-view\", inputs: { customClass: { classPropertyName: \"customClass\", publicName: \"class\", isSignal: true, isRequired: false, transformFunction: null }, paintBackgroundColor: { classPropertyName: \"paintBackgroundColor\", publicName: \"paintBackgroundColor\", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { \"class\": \"this.__hostClass\" } }, providers: [{ provide: AXComponent, useExisting: AXPaintViewComponent }], viewQueries: [{ propertyName: \"canvasElem\", first: true, predicate: [\"c\"], descendants: true, isSignal: true }], ngImport: i0, template: \"<canvas\\n #c\\n tabindex=\\\"1\\\"\\n (pointerdown)=\\\"mouseDownHandler($event)\\\"\\n (pointerup)=\\\"mouseUpHandler()\\\"\\n (pointermove)=\\\"mouseMoveHandler($event)\\\"\\n class=\\\"ax-canvas-element\\\"\\n>\\n</canvas>\\n\", styles: [\"ax-paint-view{display:block;width:100%;touch-action:none}ax-paint-view.ax-white{background-color:#fff}ax-paint-view.ax-black{background-color:#000}ax-paint-view .ax-canvas-element{border-bottom:1px solid rgb(var(--ax-sys-color-border-lightest-surface));cursor:crosshair;width:100%}\\n\"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXPaintViewComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-paint-view', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: AXComponent, useExisting: AXPaintViewComponent }], template: \"<canvas\\n #c\\n tabindex=\\\"1\\\"\\n (pointerdown)=\\\"mouseDownHandler($event)\\\"\\n (pointerup)=\\\"mouseUpHandler()\\\"\\n (pointermove)=\\\"mouseMoveHandler($event)\\\"\\n class=\\\"ax-canvas-element\\\"\\n>\\n</canvas>\\n\", styles: [\"ax-paint-view{display:block;width:100%;touch-action:none}ax-paint-view.ax-white{background-color:#fff}ax-paint-view.ax-black{background-color:#000}ax-paint-view .ax-canvas-element{border-bottom:1px solid rgb(var(--ax-sys-color-border-lightest-surface));cursor:crosshair;width:100%}\\n\"] }]\n }], propDecorators: { __hostClass: [{\n type: HostBinding,\n args: ['class']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFpbnQtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3BhaW50L3NyYy9saWIvcGFpbnQvcGFpbnQtdmlldy9wYWludC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvcGFpbnQvc3JjL2xpYi9wYWludC9wYWludC12aWV3L3BhaW50LXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFDTCxlQUFlLEVBQ2YsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxNQUFNLEVBQ04sVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUVMLFdBQVcsRUFDWCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDekYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUVsRDs7O0dBR0c7QUFTSCxNQUFNLE9BQU8sb0JBQW9CO0lBUmpDO1FBU0UsY0FBYztRQUNOLFdBQU0sR0FBRyxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUVuRCxjQUFjO1FBQ0osWUFBTyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUUzQyxjQUFjO1FBQ0osYUFBUSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUUvQixlQUFVLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRS9CLGFBQVEsR0FBRyxNQUFN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WUFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEMsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQ0ksV0FBVztRQUNiLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbkUsQ0FBQzs4R0FoSlUsb0JBQW9CO2tHQUFwQixvQkFBb0Isd2FBRnBCLENBQUMsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxDQUFDLDJJQy9CMUUsZ05BU0E7OzJGRHdCYSxvQkFBb0I7a0JBUmhDLFNBQVM7K0JBQ0UsZUFBZSxpQkFHVixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsc0JBQXNCLEVBQUUsQ0FBQzs4QkFnSnBFLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2Nkay9jb21tb24nO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgYWZ0ZXJOZXh0UmVuZGVyLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBlZmZlY3QsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBPbkRlc3Ryb3ksXG4gIFBMQVRGT1JNX0lELFxuICBSZW5kZXJlcjIsXG4gIHNpZ25hbCxcbiAgdmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBhaW50Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vcGFpbnQtY29udGFpbmVyL3BhaW50LWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhQYWludFNlcnZpY2UgfSBmcm9tICcuLi9wYWludC5zZXJ2aWNlJztcblxuLyoqXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xuICogcGFpbnQgdmlld1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1wYWludC12aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BhaW50LXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcGFpbnQtdmlldy5jb21wb25lbnQuc2NzcycsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEFYQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhQYWludFZpZXdDb21wb25lbnQgfV0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUGFpbnRWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBwYXJlbnQgPSBpbmplY3QoQVhQYWludENvbnRhaW5lckNvbXBvbmVudCk7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIHNlcnZpY2UgPSBpbmplY3QoQVhQYWludFNlcnZpY2UpO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuXG4gIHByaXZhdGUgcGxhdGZvcm1JRCA9IGluamVjdChQTEFURk9STV9JRCk7XG5cbiAgcHJvdGVjdGVkIGhvc3RFbGVtID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgcmVzaXplRXZlbnQ6ICgpID0+IHZvaWQ7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgY2xhc3MgdGhhdCBwYXNzIHRvIGNvbXBvbmVudC5cbiAgICpcbiAgICovXG4gIHJlYWRvbmx5IGN1c3RvbUNsYXNzID0gaW5wdXQ8c3RyaW5nPignJywgeyBhbGlhczogJ2NsYXNzJyB9KTtcblxuICByZWFkb25seSBwYWludEJhY2tncm91bmRDb2xvciA9IGlucHV0PCdibGFjaycgfCAnd2hpdGUnPignd2hpdGUnKTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgY2FudmFzRWxlbSA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPEhUTUxDYW52YXNFbGVtZW50Pj4oJ2MnKTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgY3R4ID0gc2lnbmFsPENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRD4obnVsbCk7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIGlzUGFpbnRpbmcgPSBzaWduYWwoZmFsc2UpO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBpc1VzZXJJbnRlcmFjdCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgI2luaXQgPSBhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuICAgIHRoaXMuY3R4LnNldCh0aGlzLmNhbnZhc0VsZW0oKS5uYXRpdmVFbGVtZW50LmdldENvbnRleHQoJzJkJykpO1xuICAgIHRoaXMuY3R4KCkubGluZUpvaW4gPSAncm91bmQnO1xuICAgIHRoaXMuY3R4KCkubGluZUNhcCA9ICdyb3VuZCc7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMucmVzaXplRXZlbnRIYW5kbGVyKCk7XG4gICAgfSk7XG5cbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlEKSkge1xuICAgICAgdGhpcy5yZXNpemVFdmVudCA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHdpbmRvdywgJ3Jlc2l6ZScsIHRoaXMucmVzaXplRXZlbnRIYW5kbGVyLmJpbmQodGhpcykpO1xuICAgIH1cbiAgfSk7XG5cbiAgI2VmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgdGhpcy5pc1VzZXJJbnRlcmFjdC5zZXQoZmFsc2UpO1xuICAgIHRoaXMuc2VydmljZS50b2dnbGVDbGVhcigpO1xuICAgIHRoaXMuY3R4KCk/LmNsZWFyUmVjdCgwLCAwLCB0aGlzLmdldEJvdW5kaW5nQ2FudmFzSGFuZGxlcigpPy53aWR0aCwgdGhpcy5nZXRCb3VuZGluZ0NhbnZhc0hhbmRsZXIoKT8uaGVpZ2h0KTtcbiAgfSk7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JRCkgJiYgdGhpcy5yZXNpemVFdmVudCkge1xuICAgICAgdGhpcy5yZXNpemVFdmVudCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCByZXNpemVFdmVudEhhbmRsZXIoKSB7XG4gICAgdGhpcy5jdHgoKS5jYW52YXMud2lkdGggPSB0aGlzLmdldEJvdW5kaW5nQ2FudmFzSGFuZGxlcigpPy53aWR0aDtcbiAgICB0aGlzLmN0eCgpLmNhbnZhcy5oZWlnaHQgPSB0aGlzLmdldEJvdW5kaW5nQ2FudmFzSGFuZGxlcigpPy5oZWlnaHQ7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgcGVuQ29uZmlnSGFuZGxlcihwZW5UeXBlOiAnZXJhc2VyJyB8ICdwZW4nIHwgJ2hpZ2hsaWdodCcpIHtcbiAgICBzd2l0Y2ggKHBlblR5cGUpIHtcbiAgICAgIGNhc2UgJ3Blbic6XG4gICAgICAgIHRoaXMuY3R4KCkuZ2xvYmFsQWxwaGEgPSAxO1xuICAgICAgICB0aGlzLmN0eCgpLmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2Utb3Zlcic7XG4gICAgICAgIHRoaXMuY3R4KCkuc3Ryb2tlU3R5bGUgPSB0aGlzLnNlcnZpY2UucGVuQ29sb3IoKTtcbiAgICAgICAgdGhpcy5jdHgoKS5saW5lV2lkdGggPSB0aGlzLnNlcnZpY2UucGVuV2lkdGgoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdlcmFzZXInOlxuICAgICAgICB0aGlzLmN0eCgpLmdsb2JhbEFscGhhID0gMTtcbiAgICAgICAgdGhpcy5jdHgoKS5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24tb3V0JztcbiAgICAgICAgdGhpcy5jdHgoKS5saW5lV2lkdGggPSB0aGlzLnNlcnZpY2UuZXJhc2VyV2lkdGgoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdoaWdobGlnaHQnOlxuICAgICAgICB0aGlzLmN0eCgpLmdsb2JhbEFscGhhID0gMC4wMDg7XG4gICAgICAgIHRoaXMuY3R4KCkuZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1vdmVyJztcbiAgICAgICAgdGhpcy5jdHgoKS5zdHJva2VTdHlsZSA9IHRoaXMuc2VydmljZS5oaWdobGlnaHRDb2xvcigpO1xuICAgICAgICB0aGlzLmN0eCgpLmxpbmVXaWR0aCA9IHRoaXMuc2VydmljZS5oaWdobGlnaHRXaWR0aCgpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgZ2V0Qm91bmRpbmdDYW52YXNIYW5kbGVyKCkge1xuICAgIHJldHVybiB0aGlzLmhvc3RFbGVtLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgbW91c2VEb3duSGFuZGxlcihlOiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLnNlcnZpY2UuYWN0aXZlVG9vbFN0YXRlKCkpIHJldHVybjtcblxuICAgIHRoaXMuaXNQYWludGluZy5zZXQodHJ1ZSk7XG4gICAgdGhpcy5pc1VzZXJJbnRlcmFjdC5zZXQodHJ1ZSk7XG5cbiAgICB0aGlzLnBlbkNvbmZpZ0hhbmRsZXIodGhpcy5zZXJ2aWNlLmFjdGl2ZVRvb2xTdGF0ZSgpKTtcblxuICAgIHRoaXMuY3R4KCkuYmVnaW5QYXRoKCk7XG4gICAgdGhpcy5jdHgoKS5tb3ZlVG8oZS5vZmZzZXRYLCBlLm9mZnNldFkpO1xuICAgIHRoaXMuY3R4KCkubGluZVRvKGUub2Zmc2V0WCwgZS5vZmZzZXRZKTtcbiAgICB0aGlzLmN0eCgpLnN0cm9rZSgpO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIG1vdXNlTW92ZUhhbmRsZXIoZTogTW91c2VFdmVudCkge1xuICAgIGlmICh0aGlzLmlzUGFpbnRpbmcoKSkge1xuICAgICAgdGhpcy5jdHgoKS5saW5lVG8oZS5vZmZzZXRYLCBlLm9mZnNldFkpO1xuICAgICAgdGhpcy5jdHgoKS5zdHJva2UoKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgbW91c2VVcEhhbmRsZXIoKSB7XG4gICAgdGhpcy5jdHgoKS5jbG9zZVBhdGgoKTtcbiAgICB0aGlzLmlzUGFpbnRpbmcuc2V0KGZhbHNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeHBvcnRzIHRoZSBjYW52YXMgY29udGVudCBhcyBhbiBpbWFnZS5cbiAgICpcbiAgICogQHBhcmFtIGZvcm1hdCAtIFRoZSBpbWFnZSBmb3JtYXQ6ICdpbWFnZS93ZWJwJywgJ2ltYWdlL3BuZycsIG9yICdpbWFnZS9qcGVnJ1xuICAgKi9cbiAgZ2V0T3V0UHV0KGU6ICdpbWFnZS93ZWJwJyB8ICdpbWFnZS9wbmcnIHwgJ2ltYWdlL2pwZWcnKSB7XG4gICAgY29uc3QgYmFzZTY0ID0gdGhpcy5jYW52YXNFbGVtKCkubmF0aXZlRWxlbWVudC50b0RhdGFVUkwoZSwgMC4xKTtcbiAgICBpZiAodGhpcy5pc1VzZXJJbnRlcmFjdCgpKSB7XG4gICAgICB0aGlzLnBhcmVudC5jb21taXRWYWx1ZShiYXNlNjQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnBhcmVudC5jb21taXRWYWx1ZShudWxsKTtcbiAgICB9XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IF9faG9zdENsYXNzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gW3RoaXMuY3VzdG9tQ2xhc3MoKSwgYGF4LSR7dGhpcy5wYWludEJhY2tncm91bmRDb2xvcigpfWBdO1xuICB9XG59XG4iLCI8Y2FudmFzXG4gICNjXG4gIHRhYmluZGV4PVwiMVwiXG4gIChwb2ludGVyZG93bik9XCJtb3VzZURvd25IYW5kbGVyKCRldmVudClcIlxuICAocG9pbnRlcnVwKT1cIm1vdXNlVXBIYW5kbGVyKClcIlxuICAocG9pbnRlcm1vdmUpPVwibW91c2VNb3ZlSGFuZGxlcigkZXZlbnQpXCJcbiAgY2xhc3M9XCJheC1jYW52YXMtZWxlbWVudFwiXG4+XG48L2NhbnZhcz5cbiJdfQ==","import { AXButtonModule } from '@acorex/components/button';\nimport { AXColorBoxModule } from '@acorex/components/color-box';\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 { AXTooltipModule } from '@acorex/components/tooltip';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXPaintContainerComponent } from './paint/paint-container/paint-container.component';\nimport { AXPaintToolsSelectorComponent } from './paint/paint-tools-selector/paint-tools-selector.component';\nimport { AXPaintEraserToolComponent } from './paint/paint-tools/paint-eraser-tool/paint-eraser-tool.component';\nimport { AXPaintHighlightToolComponent } from './paint/paint-tools/paint-highlight-tool/paint-highlight-tool.component';\nimport { AXPaintPenToolComponent } from './paint/paint-tools/paint-pen-tool/paint-pen-tool.component';\nimport { AXPaintViewComponent } from './paint/paint-view/paint-view.component';\nimport * as i0 from \"@angular/core\";\nconst COMPONENT = [\n AXPaintContainerComponent,\n AXPaintViewComponent,\n AXPaintToolsSelectorComponent,\n AXPaintPenToolComponent,\n AXPaintHighlightToolComponent,\n AXPaintEraserToolComponent,\n];\nconst MODULES = [\n FormsModule,\n AXRangeSliderModule,\n AXSelectBoxModule,\n AXButtonModule,\n AXColorBoxModule,\n AXPopoverModule,\n AXDecoratorModule,\n AXTooltipModule,\n];\nexport class AXPaintModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXPaintModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.3\", ngImport: i0, type: AXPaintModule, imports: [FormsModule,\n AXRangeSliderModule,\n AXSelectBoxModule,\n AXButtonModule,\n AXColorBoxModule,\n AXPopoverModule,\n AXDecoratorModule,\n AXTooltipModule, AXPaintContainerComponent,\n AXPaintViewComponent,\n AXPaintToolsSelectorComponent,\n AXPaintPenToolComponent,\n AXPaintHighlightToolComponent,\n AXPaintEraserToolComponent], exports: [AXPaintContainerComponent,\n AXPaintViewComponent,\n AXPaintToolsSelectorComponent,\n AXPaintPenToolComponent,\n AXPaintHighlightToolComponent,\n AXPaintEraserToolComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXPaintModule, imports: [MODULES, AXPaintContainerComponent,\n AXPaintToolsSelectorComponent,\n AXPaintPenToolComponent,\n AXPaintHighlightToolComponent,\n AXPaintEraserToolComponent] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXPaintModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFpbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9wYWludC9zcmMvbGliL3BhaW50Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM5RixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUM1RyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUMvRyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx5RUFBeUUsQ0FBQztBQUN4SCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUN0RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7QUFFL0UsTUFBTSxTQUFTLEdBQUc7SUFDaEIseUJBQXlCO0lBQ3pCLG9CQUFvQjtJQUNwQiw2QkFBNkI7SUFDN0IsdUJBQXVCO0lBQ3ZCLDZCQUE2QjtJQUM3QiwwQkFBMEI7Q0FDM0IsQ0FBQztBQUVGLE1BQU0sT0FBTyxHQUFHO0lBQ2QsV0FBVztJQUNYLG1CQUFtQjtJQUNuQixpQkFBaUI7SUFDakIsY0FBYztJQUNkLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLGVBQWU7Q0FDaEIsQ0FBQztBQU9GLE1BQU0sT0FBTyxhQUFhOzhHQUFiLGFBQWE7K0dBQWIsYUFBYSxZQWZ4QixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGlCQUFpQjtZQUNqQixjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLGVBQWU7WUFDZixpQkFBaUI7WUFDakIsZUFBZSxFQWhCZix5QkFBeUI7WUFDekIsb0JBQW9CO1lBQ3BCLDZCQUE2QjtZQUM3Qix1QkFBdUI7WUFDdkIsNkJBQTZCO1lBQzdCLDBCQUEwQixhQUwxQix5QkFBeUI7WUFDekIsb0JBQW9CO1lBQ3BCLDZCQUE2QjtZQUM3Qix1QkFBdUI7WUFDdkIsNkJBQTZCO1lBQzdCLDBCQUEwQjsrR0FtQmYsYUFBYSxZQUpYLE9BQU8sRUFwQnBCLHlCQUF5QjtZQUV6Qiw2QkFBNkI7WUFDN0IsdUJBQXVCO1lBQ3ZCLDZCQUE2QjtZQUM3QiwwQkFBMEI7OzJGQW1CZixhQUFhO2tCQUx6QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLEdBQUcsT0FBTyxFQUFFLEdBQUcsU0FBUyxDQUFDO29CQUNuQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQztvQkFDdkIsU0FBUyxFQUFFLEVBQUU7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQVhDb2xvckJveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb2xvci1ib3gnO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWFBvcG92ZXJNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcG9wb3Zlcic7XG5pbXBvcnQgeyBBWFJhbmdlU2xpZGVyTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3JhbmdlLXNsaWRlcic7XG5pbXBvcnQgeyBBWFNlbGVjdEJveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9zZWxlY3QtYm94JztcbmltcG9ydCB7IEFYVG9vbHRpcE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90b29sdGlwJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFYUGFpbnRDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL3BhaW50L3BhaW50LWNvbnRhaW5lci9wYWludC1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEFYUGFpbnRUb29sc1NlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9wYWludC9wYWludC10b29scy1zZWxlY3Rvci9wYWludC10b29scy1zZWxlY3Rvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhQYWludEVyYXNlclRvb2xDb21wb25lbnQgfSBmcm9tICcuL3BhaW50L3BhaW50LXRvb2xzL3BhaW50LWVyYXNlci10b29sL3BhaW50LWVyYXNlci10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWFBhaW50SGlnaGxpZ2h0VG9vbENvbXBvbmVudCB9IGZyb20gJy4vcGFpbnQvcGFpbnQtdG9vbHMvcGFpbnQtaGlnaGxpZ2h0LXRvb2wvcGFpbnQtaGlnaGxpZ2h0LXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IEFYUGFpbnRQZW5Ub29sQ29tcG9uZW50IH0gZnJvbSAnLi9wYWludC9wYWludC10b29scy9wYWludC1wZW4tdG9vbC9wYWludC1wZW4tdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhQYWludFZpZXdDb21wb25lbnQgfSBmcm9tICcuL3BhaW50L3BhaW50LXZpZXcvcGFpbnQtdmlldy5jb21wb25lbnQnO1xuXG5jb25zdCBDT01QT05FTlQgPSBbXG4gIEFYUGFpbnRDb250YWluZXJDb21wb25lbnQsXG4gIEFYUGFpbnRWaWV3Q29tcG9uZW50LFxuICBBWFBhaW50VG9vbHNTZWxlY3RvckNvbXBvbmVudCxcbiAgQVhQYWludFBlblRvb2xDb21wb25lbnQsXG4gIEFYUGFpbnRIaWdobGlnaHRUb29sQ29tcG9uZW50LFxuICBBWFBhaW50RXJhc2VyVG9vbENvbXBvbmVudCxcbl07XG5cbmNvbnN0IE1PRFVMRVMgPSBbXG4gIEZvcm1zTW9kdWxlLFxuICBBWFJhbmdlU2xpZGVyTW9kdWxlLFxuICBBWFNlbGVjdEJveE1vZHVsZSxcbiAgQVhCdXR0b25Nb2R1bGUsXG4gIEFYQ29sb3JCb3hNb2R1bGUsXG4gIEFYUG9wb3Zlck1vZHVsZSxcbiAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gIEFYVG9vbHRpcE1vZHVsZSxcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFsuLi5NT0RVTEVTLCAuLi5DT01QT05FTlRdLFxuICBleHBvcnRzOiBbLi4uQ09NUE9ORU5UXSxcbiAgcHJvdmlkZXJzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQYWludE1vZHVsZSB7fVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvbXBvbmVudHMtcGFpbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3BhaW50L3NyYy9hY29yZXgtY29tcG9uZW50cy1wYWludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-paint.mjs","sources":["../tmp-esm2022/paint/lib/paint/paint.service.js","../tmp-esm2022/paint/lib/paint/paint-tools-selector/paint-tools-selector.component.js","../tmp-esm2022/paint/lib/paint/paint-tools/paint-eraser-tool/paint-eraser-tool.component.js","../tmp-esm2022/paint/lib/paint/paint-tools/paint-highlight-tool/paint-highlight-tool.component.js","../tmp-esm2022/paint/lib/paint/paint-tools/paint-pen-tool/paint-pen-tool.component.js","../tmp-esm2022/paint/lib/paint/paint-container/paint-container.component.js","../tmp-esm2022/paint/lib/paint/paint-view/paint-view.component.js","../tmp-esm2022/paint/lib/paint.module.js","../tmp-esm2022/paint/acorex-components-paint.js"],"sourcesContent":["import { Injectable, signal } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPaintService {\n constructor() {\n this.penColor = signal('rgb(12, 12, 12)', ...(ngDevMode ? [{ debugName: \"penColor\" }] : []));\n this.highlightColor = signal('rgb(255, 210, 48)', ...(ngDevMode ? [{ debugName: \"highlightColor\" }] : []));\n this.penWidth = signal(10, ...(ngDevMode ? [{ debugName: \"penWidth\" }] : []));\n this.highlightWidth = signal(10, ...(ngDevMode ? [{ debugName: \"highlightWidth\" }] : []));\n this.eraserWidth = signal(10, ...(ngDevMode ? [{ debugName: \"eraserWidth\" }] : []));\n this.toggleClear = signal(false, ...(ngDevMode ? [{ debugName: \"toggleClear\" }] : []));\n this.activeToolState = signal('pen', ...(ngDevMode ? [{ debugName: \"activeToolState\" }] : []));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXPaintService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXPaintService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXPaintService, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFpbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvcGFpbnQvc3JjL2xpYi9wYWludC9wYWludC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUduRCxNQUFNLE9BQU8sY0FBYztJQUQzQjtRQUVFLGFBQVEsR0FBRyxNQUFNLENBQTBDLGlCQUFpQixvREFBQyxDQUFDO1FBQzlFLG1CQUFjLEdBQUcsTUFBTSxDQUEwQyxtQkFBbUIsMERBQUMsQ0FBQztRQUN0RixhQUFRLEdBQUcsTUFBTSxDQUFTLEVBQUUsb0RBQUMsQ0FBQztRQUM5QixtQkFBYyxHQUFHLE1BQU0sQ0FBUyxFQUFFLDBEQUFDLENBQUM7UUFDcEMsZ0JBQVcsR0FBRyxNQUFNLENBQVMsRUFBRSx1REFBQyxDQUFDO1FBQ2pDLGdCQUFXLEdBQUcsTUFBTSxDQUFDLEtBQUssdURBQUMsQ0FBQztRQUM1QixvQkFBZSxHQUFHLE1BQU0sQ0FBaUMsS0FBSywyREFBQyxDQUFDO0tBQ2pFOzhHQVJZLGNBQWM7a0hBQWQsY0FBYzs7MkZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhQYWludFNlcnZpY2Uge1xuICBwZW5Db2xvciA9IHNpZ25hbDxzdHJpbmcgfCBDYW52YXNHcmFkaWVudCB8IENhbnZhc1BhdHRlcm4+KCdyZ2IoMTIsIDEyLCAxMiknKTtcbiAgaGlnaGxpZ2h0Q29sb3IgPSBzaWduYWw8c3RyaW5nIHwgQ2FudmFzR3JhZGllbnQgfCBDYW52YXNQYXR0ZXJuPigncmdiKDI1NSwgMjEwLCA0OCknKTtcbiAgcGVuV2lkdGggPSBzaWduYWw8bnVtYmVyPigxMCk7XG4gIGhpZ2hsaWdodFdpZHRoID0gc2lnbmFsPG51bWJlcj4oMTApO1xuICBlcmFzZXJXaWR0aCA9IHNpZ25hbDxudW1iZXI+KDEwKTtcbiAgdG9nZ2xlQ2xlYXIgPSBzaWduYWwoZmFsc2UpO1xuICBhY3RpdmVUb29sU3RhdGUgPSBzaWduYWw8J3BlbicgfCAnaGlnaGxpZ2h0JyB8ICdlcmFzZXInPigncGVuJyk7XG59XG4iXX0=","import { AXComponent } from '@acorex/cdk/common';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTooltipDirective } from '@acorex/components/tooltip';\nimport { AXTranslatorPipe } from '@acorex/core/translation';\nimport { AsyncPipe } from '@angular/common';\nimport { Component, inject, signal, ViewEncapsulation } from '@angular/core';\nimport { AXPaintService } from '../paint.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/decorators\";\nexport class AXPaintToolsSelectorComponent {\n constructor() {\n this.service = inject(AXPaintService);\n this.pen = signal(null, ...(ngDevMode ? [{ debugName: \"pen\" }] : []));\n this.highlight = signal(null, ...(ngDevMode ? [{ debugName: \"highlight\" }] : []));\n this.eraser = signal(null, ...(ngDevMode ? [{ debugName: \"eraser\" }] : []));\n this.reset = signal(null, ...(ngDevMode ? [{ debugName: \"reset\" }] : []));\n }\n changeToolHandler(tool) {\n if (this.service.activeToolState() === tool) {\n this.service.activeToolState.set(null);\n return;\n }\n this.service.activeToolState.set(tool);\n }\n clear() {\n this.service.toggleClear.update((prev) => !prev);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXPaintToolsSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.3\", type: AXPaintToolsSelectorComponent, isStandalone: true, selector: \"ax-paint-tools-selector\", providers: [{ provide: AXComponent, useExisting: AXPaintToolsSelectorComponent }], ngImport: i0, template: \"<ax-button\\n [axTooltip]=\\\"'@acorex:paint.tools.pen' | translate | async\\\"\\n axTooltipPlacement=\\\"top\\\"\\n (onClick)=\\\"changeToolHandler('pen')\\\"\\n look=\\\"blank\\\"\\n [selected]=\\\"this.service.activeToolState() === 'pen' ? true : false\\\"\\n [color]=\\\"this.service.activeToolState() === 'pen' ? 'primary' : 'default'\\\"\\n>\\n <ax-icon class=\\\"ax-icon ax-icon-pen\\\"></ax-icon>\\n</ax-button>\\n\\n<ax-button\\n [axTooltip]=\\\"'@acorex:paint.tools.highlight' | translate | async\\\"\\n axTooltipPlacement=\\\"top\\\"\\n (onClick)=\\\"changeToolHandler('highlight')\\\"\\n look=\\\"blank\\\"\\n [selected]=\\\"this.service.activeToolState() === 'highlight' ? true : false\\\"\\n [color]=\\\"this.service.activeToolState() === 'highlight' ? 'primary' : 'default'\\\"\\n>\\n <ax-icon class=\\\"ax-icon ax-icon-highlight\\\"></ax-icon>\\n</ax-button>\\n\\n<ax-button\\n [axTooltip]=\\\"'@acorex:paint.tools.eraser' | translate | async\\\"\\n axTooltipPlacement=\\\"top\\\"\\n (onClick)=\\\"changeToolHandler('eraser')\\\"\\n look=\\\"blank\\\"\\n [selected]=\\\"this.service.activeToolState() === 'eraser' ? true : false\\\"\\n [color]=\\\"this.service.activeToolState() === 'eraser' ? 'primary' : 'default'\\\"\\n>\\n <ax-icon class=\\\"ax-icon ax-icon-eraser\\\"></ax-icon>\\n</ax-button>\\n\\n<ax-button\\n [axTooltip]=\\\"'@acorex:paint.actions.reset' | translate | async\\\"\\n axTooltipPlacement=\\\"top\\\"\\n (onClick)=\\\"clear()\\\"\\n look=\\\"blank\\\"\\n>\\n <i class=\\\"fa-solid fa-rotate\\\"></i>\\n</ax-button>\\n\", styles: [\"\"], dependencies: [{ kind: \"component\", type: AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i1.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"directive\", type: AXTooltipDirective, selector: \"[axTooltip]\", inputs: [\"axTooltipDisabled\", \"axTooltip\", \"axTooltipContext\", \"axTooltipPlacement\", \"axTooltipOffsetX\", \"axTooltipOffsetY\", \"axTooltipOpenAfter\", \"axTooltipCloseAfter\"] }, { kind: \"pipe\", type: AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: AXTranslatorPipe, name: \"translate\" }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXPaintToolsSelectorComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-paint-tools-selector', encapsulation: ViewEncapsulation.None, imports: [AXButtonComponent, AXDecoratorModule, AXTooltipDirective, AsyncPipe, AXTranslatorPipe], providers: [{ provide: AXComponent, useExisting: AXPaintToolsSelectorComponent }], template: \"<ax-button\\n [axTooltip]=\\\"'@acorex:paint.tools.pen' | translate | async\\\"\\n axTooltipPlacement=\\\"top\\\"\\n (onClick)=\\\"changeToolHandler('pen')\\\"\\n look=\\\"blank\\\"\\n [selected]=\\\"this.service.activeToolState() === 'pen' ? true : false\\\"\\n [color]=\\\"this.service.activeToolState() === 'pen' ? 'primary' : 'default'\\\"\\n>\\n <ax-icon class=\\\"ax-icon ax-icon-pen\\\"></ax-icon>\\n</ax-button>\\n\\n<ax-button\\n [axTooltip]=\\\"'@acorex:paint.tools.highlight' | translate | async\\\"\\n axTooltipPlacement=\\\"top\\\"\\n (onClick)=\\\"changeToolHandler('highlight')\\\"\\n look=\\\"blank\\\"\\n [selected]=\\\"this.service.activeToolState() === 'highlight' ? true : false\\\"\\n [color]=\\\"this.service.activeToolState() === 'highlight' ? 'primary' : 'default'\\\"\\n>\\n <ax-icon class=\\\"ax-icon ax-icon-highlight\\\"></ax-icon>\\n</ax-button>\\n\\n<ax-button\\n [axTooltip]=\\\"'@acorex:paint.tools.eraser' | translate | async\\\"\\n axTooltipPlacement=\\\"top\\\"\\n (onClick)=\\\"changeToolHandler('eraser')\\\"\\n look=\\\"blank\\\"\\n [selected]=\\\"this.service.activeToolState() === 'eraser' ? true : false\\\"\\n [color]=\\\"this.service.activeToolState() === 'eraser' ? 'primary' : 'default'\\\"\\n>\\n <ax-icon class=\\\"ax-icon ax-icon-eraser\\\"></ax-icon>\\n</ax-button>\\n\\n<ax-button\\n [axTooltip]=\\\"'@acorex:paint.actions.reset' | translate | async\\\"\\n axTooltipPlacement=\\\"top\\\"\\n (onClick)=\\\"clear()\\\"\\n look=\\\"blank\\\"\\n>\\n <i class=\\\"fa-solid fa-rotate\\\"></i>\\n</ax-button>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFpbnQtdG9vbHMtc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9wYWludC9zcmMvbGliL3BhaW50L3BhaW50LXRvb2xzLXNlbGVjdG9yL3BhaW50LXRvb2xzLXNlbGVjdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvcGFpbnQvc3JjL2xpYi9wYWludC9wYWludC10b29scy1zZWxlY3Rvci9wYWludC10b29scy1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQVVsRCxNQUFNLE9BQU8sNkJBQTZCO0lBUjFDO1FBU1ksWUFBTyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUVqQyxRQUFHLEdBQUcsTUFBTSxDQUFTLElBQUksK0NBQUMsQ0FBQztRQUMzQixjQUFTLEdBQUcsTUFBTSxDQUFTLElBQUkscURBQUMsQ0FBQztRQUNqQyxXQUFNLEdBQUcsTUFBTSxDQUFTLElBQUksa0RBQUMsQ0FBQztRQUM5QixVQUFLLEdBQUcsTUFBTSxDQUFTLElBQUksaURBQUMsQ0FBQztLQWN4QztJQVpXLGlCQUFpQixDQUFDLElBQW9DO1FBQzlELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUM1QyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdkMsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVTLEtBQUs7UUFDYixJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkQsQ0FBQzs4R0FuQlUsNkJBQTZCO2tHQUE3Qiw2QkFBNkIsc0VBRjdCLENBQUMsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSw2QkFBNkIsRUFBRSxDQUFDLDBCQ2ZuRiw2NUNBeUNBLDBERDNCWSxpQkFBaUIsMFVBQUUsaUJBQWlCLGdJQUFFLGtCQUFrQiw4TkFBRSxTQUFTLHlDQUFFLGdCQUFnQjs7MkZBR3BGLDZCQUE2QjtrQkFSekMsU0FBUzsrQkFDRSx5QkFBeUIsaUJBR3BCLGlCQUFpQixDQUFDLElBQUksV0FDNUIsQ0FBQyxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsYUFDckYsQ0FBQyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVywrQkFBK0IsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2Nkay9jb21tb24nO1xuaW1wb3J0IHsgQVhCdXR0b25Db21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhUb29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3Rvb2x0aXAnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdG9yUGlwZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIHNpZ25hbCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUGFpbnRTZXJ2aWNlIH0gZnJvbSAnLi4vcGFpbnQuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LXBhaW50LXRvb2xzLXNlbGVjdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BhaW50LXRvb2xzLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3BhaW50LXRvb2xzLXNlbGVjdG9yLmNvbXBvbmVudC5zY3NzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaW1wb3J0czogW0FYQnV0dG9uQ29tcG9uZW50LCBBWERlY29yYXRvck1vZHVsZSwgQVhUb29sdGlwRGlyZWN0aXZlLCBBc3luY1BpcGUsIEFYVHJhbnNsYXRvclBpcGVdLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEFYQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhQYWludFRvb2xzU2VsZWN0b3JDb21wb25lbnQgfV0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUGFpbnRUb29sc1NlbGVjdG9yQ29tcG9uZW50IHtcbiAgcHJvdGVjdGVkIHNlcnZpY2UgPSBpbmplY3QoQVhQYWludFNlcnZpY2UpO1xuXG4gIHByb3RlY3RlZCBwZW4gPSBzaWduYWw8c3RyaW5nPihudWxsKTtcbiAgcHJvdGVjdGVkIGhpZ2hsaWdodCA9IHNpZ25hbDxzdHJpbmc+KG51bGwpO1xuICBwcm90ZWN0ZWQgZXJhc2VyID0gc2lnbmFsPHN0cmluZz4obnVsbCk7XG4gIHByb3RlY3RlZCByZXNldCA9IHNpZ25hbDxzdHJpbmc+KG51bGwpO1xuXG4gIHByb3RlY3RlZCBjaGFuZ2VUb29sSGFuZGxlcih0b29sOiAncGVuJyB8ICdoaWdobGlnaHQnIHwgJ2VyYXNlcicpIHtcbiAgICBpZiAodGhpcy5zZXJ2aWNlLmFjdGl2ZVRvb2xTdGF0ZSgpID09PSB0b29sKSB7XG4gICAgICB0aGlzLnNlcnZpY2UuYWN0aXZlVG9vbFN0YXRlLnNldChudWxsKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNlcnZpY2UuYWN0aXZlVG9vbFN0YXRlLnNldCh0b29sKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjbGVhcigpIHtcbiAgICB0aGlzLnNlcnZpY2UudG9nZ2xlQ2xlYXIudXBkYXRlKChwcmV2KSA9PiAhcHJldik7XG4gIH1cbn1cbiIsIjxheC1idXR0b25cbiAgW2F4VG9vbHRpcF09XCInQGFjb3JleDpwYWludC50b29scy5wZW4nIHwgdHJhbnNsYXRlIHwgYXN5bmNcIlxuICBheFRvb2x0aXBQbGFjZW1lbnQ9XCJ0b3BcIlxuICAob25DbGljayk9XCJjaGFuZ2VUb29sSGFuZGxlcigncGVuJylcIlxuICBsb29rPVwiYmxhbmtcIlxuICBbc2VsZWN0ZWRdPVwidGhpcy5zZXJ2aWNlLmFjdGl2ZVRvb2xTdGF0ZSgpID09PSAncGVuJyA/IHRydWUgOiBmYWxzZVwiXG4gIFtjb2xvcl09XCJ0aGlzLnNlcnZpY2UuYWN0aXZlVG9vbFN0YXRlKCkgPT09ICdwZW4nID8gJ3ByaW1hcnknIDogJ2RlZmF1bHQnXCJcbj5cbiAgPGF4LWljb24gY2xhc3M9XCJheC1pY29uIGF4LWljb24tcGVuXCI+PC9heC1pY29uPlxuPC9heC1idXR0b24+XG5cbjxheC1idXR0b25cbiAgW2F4VG9vbHRpcF09XCInQGFjb3JleDpwYWludC50b29scy5oaWdobGlnaHQnIHwgdHJhbnNsYXRlIHwgYXN5bmNcIlxuICBheFRvb2x0aXBQbGFjZW1lbnQ9XCJ0b3BcIlxuICAob25DbGljayk9XCJjaGFuZ2VUb29sSGFuZGxlcignaGlnaGxpZ2h0JylcIlxuICBsb29rPVwiYmxhbmtcIlxuICBbc2VsZWN0ZWRdPVwidGhpcy5zZXJ2aWNlLmFjdGl2ZVRvb2xTdGF0ZSgpID09PSAnaGlnaGxpZ2h0JyA/IHRydWUgOiBmYWxzZVwiXG4gIFtjb2xvcl09XCJ0aGlzLnNlcnZpY2UuYWN0aXZlVG9vbFN0YXRlKCkgPT09ICdoaWdobGlnaHQnID8gJ3ByaW1hcnknIDogJ2RlZmF1bHQnXCJcbj5cbiAgPGF4LWljb24gY2xhc3M9XCJheC1pY29uIGF4LWljb24taGlnaGxpZ2h0XCI+PC9heC1pY29uPlxuPC9heC1idXR0b24+XG5cbjxheC1idXR0b25cbiAgW2F4VG9vbHRpcF09XCInQGFjb3JleDpwYWludC50b29scy5lcmFzZXInIHwgdHJhbnNsYXRlIHwgYXN5bmNcIlxuICBheFRvb2x0aXBQbGFjZW1lbnQ9XCJ0b3BcIlxuICAob25DbGljayk9XCJjaGFuZ2VUb29sSGFuZGxlcignZXJhc2VyJylcIlxuICBsb29rPVwiYmxhbmtcIlxuICBbc2VsZWN0ZWRdPVwidGhpcy5zZXJ2aWNlLmFjdGl2ZVRvb2xTdGF0ZSgpID09PSAnZXJhc2VyJyA/IHRydWUgOiBmYWxzZVwiXG4gIFtjb2xvcl09XCJ0aGlzLnNlcnZpY2UuYWN0aXZlVG9vbFN0YXRlKCkgPT09ICdlcmFzZXInID8gJ3ByaW1hcnknIDogJ2RlZmF1bHQnXCJcbj5cbiAgPGF4LWljb24gY2xhc3M9XCJheC1pY29uIGF4LWljb24tZXJhc2VyXCI+PC9heC1pY29uPlxuPC9heC1idXR0b24+XG5cbjxheC1idXR0b25cbiAgW2F4VG9vbHRpcF09XCInQGFjb3JleDpwYWludC5hY3Rpb25zLnJlc2V0JyB8IHRyYW5zbGF0ZSB8IGFzeW5jXCJcbiAgYXhUb29sdGlwUGxhY2VtZW50PVwidG9wXCJcbiAgKG9uQ2xpY2spPVwiY2xlYXIoKVwiXG4gIGxvb2s9XCJibGFua1wiXG4+XG4gIDxpIGNsYXNzPVwiZmEtc29saWQgZmEtcm90YXRlXCI+PC9pPlxuPC9heC1idXR0b24+XG4iXX0=","import { AXComponent } from '@acorex/cdk/common';\nimport { AXRangeSliderComponent } from '@acorex/components/range-slider';\nimport { ChangeDetectionStrategy, Component, inject, linkedSignal, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXPaintService } from '../../paint.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\n/**\n * paint mode.\n * @category Components\n */\nexport class AXPaintEraserToolComponent {\n constructor() {\n this.service = inject(AXPaintService);\n this.value = linkedSignal(() => this.service.eraserWidth(), ...(ngDevMode ? [{ debugName: \"value\" }] : []));\n }\n /** @ignore */\n valueHandler(e) {\n this.service.eraserWidth.set(e);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXPaintEraserToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.3\", type: AXPaintEraserToolComponent, isStandalone: true, selector: \"ax-paint-eraser-tool\", providers: [{ provide: AXComponent, useExisting: AXPaintEraserToolComponent }], ngImport: i0, template: \"<ax-range-slider [min]=\\\"2\\\" [max]=\\\"20\\\" [(ngModel)]=\\\"value\\\" (ngModelChange)=\\\"valueHandler($event)\\\"></ax-range-slider>\\n\", styles: [\"ax-paint-eraser-tool{display:flex}ax-paint-eraser-tool ax-range-slider{padding:.5rem .75rem;width:10rem}ax-paint-eraser-tool ax-range-slider .ax-range-slider .ax-range-slider-handler{width:1rem!important;height:1rem!important}\\n\"], dependencies: [{ kind: \"ngmodule\", type: FormsModule }, { 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: AXRangeSliderComponent, selector: \"ax-range-slider\", inputs: [\"disabled\", \"readonly\", \"orientation\", \"color\", \"values\", \"mode\", \"min\", \"max\", \"step\", \"snap\", \"tooltipMode\", \"snapMode\", \"hasStep\", \"hasSnap\", \"hasLable\", \"hasTooltip\"], outputs: [\"valuesChange\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXPaintEraserToolComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-paint-eraser-tool', encapsulation: ViewEncapsulation.None, imports: [FormsModule, AXRangeSliderComponent], changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: AXComponent, useExisting: AXPaintEraserToolComponent }], template: \"<ax-range-slider [min]=\\\"2\\\" [max]=\\\"20\\\" [(ngModel)]=\\\"value\\\" (ngModelChange)=\\\"valueHandler($event)\\\"></ax-range-slider>\\n\", styles: [\"ax-paint-eraser-tool{display:flex}ax-paint-eraser-tool ax-range-slider{padding:.5rem .75rem;width:10rem}ax-paint-eraser-tool ax-range-slider .ax-range-slider .ax-range-slider-handler{width:1rem!important;height:1rem!important}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFpbnQtZXJhc2VyLXRvb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9wYWludC9zcmMvbGliL3BhaW50L3BhaW50LXRvb2xzL3BhaW50LWVyYXNlci10b29sL3BhaW50LWVyYXNlci10b29sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvcGFpbnQvc3JjL2xpYi9wYWludC9wYWludC10b29scy9wYWludC1lcmFzZXItdG9vbC9wYWludC1lcmFzZXItdG9vbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFekUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQUVyRDs7O0dBR0c7QUF3QkgsTUFBTSxPQUFPLDBCQUEwQjtJQXZCdkM7UUF3QlksWUFBTyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUVqQyxVQUFLLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLGlEQUFDLENBQUM7S0FNbEU7SUFKQyxjQUFjO0lBQ0osWUFBWSxDQUFDLENBQVM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7OEdBUlUsMEJBQTBCO2tHQUExQiwwQkFBMEIsbUVBRjFCLENBQUMsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSwwQkFBMEIsRUFBRSxDQUFDLDBCQ2hDaEYsK0hBQ0EsNlJEY1ksV0FBVywrVkFBRSxzQkFBc0I7OzJGQW1CbEMsMEJBQTBCO2tCQXZCdEMsU0FBUzsrQkFDRSxzQkFBc0IsaUJBRWpCLGlCQUFpQixDQUFDLElBQUksV0FDNUIsQ0FBQyxXQUFXLEVBQUUsc0JBQXNCLENBQUMsbUJBQzdCLHVCQUF1QixDQUFDLE1BQU0sYUFnQnBDLENBQUMsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsNEJBQTRCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcbmltcG9ydCB7IEFYUmFuZ2VTbGlkZXJDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcmFuZ2Utc2xpZGVyJztcblxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBsaW5rZWRTaWduYWwsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFYUGFpbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcGFpbnQuc2VydmljZSc7XG5cbi8qKlxuICogcGFpbnQgbW9kZS5cbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LXBhaW50LWVyYXNlci10b29sJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BhaW50LWVyYXNlci10b29sLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaW1wb3J0czogW0Zvcm1zTW9kdWxlLCBBWFJhbmdlU2xpZGVyQ29tcG9uZW50XSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0eWxlczogYFxuICAgIGF4LXBhaW50LWVyYXNlci10b29sIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBheC1yYW5nZS1zbGlkZXIge1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTtcbiAgICAgICAgd2lkdGg6IDEwcmVtO1xuICAgICAgICAuYXgtcmFuZ2Utc2xpZGVyIHtcbiAgICAgICAgICAuYXgtcmFuZ2Utc2xpZGVyLWhhbmRsZXIge1xuICAgICAgICAgICAgd2lkdGg6IDFyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgIGhlaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgYCxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBBWENvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYUGFpbnRFcmFzZXJUb29sQ29tcG9uZW50IH1dLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBhaW50RXJhc2VyVG9vbENvbXBvbmVudCB7XG4gIHByb3RlY3RlZCBzZXJ2aWNlID0gaW5qZWN0KEFYUGFpbnRTZXJ2aWNlKTtcblxuICBwcm90ZWN0ZWQgdmFsdWUgPSBsaW5rZWRTaWduYWwoKCkgPT4gdGhpcy5zZXJ2aWNlLmVyYXNlcldpZHRoKCkpO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCB2YWx1ZUhhbmRsZXIoZTogbnVtYmVyKSB7XG4gICAgdGhpcy5zZXJ2aWNlLmVyYXNlcldpZHRoLnNldChlKTtcbiAgfVxufVxuIiwiPGF4LXJhbmdlLXNsaWRlciBbbWluXT1cIjJcIiBbbWF4XT1cIjIwXCIgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIChuZ01vZGVsQ2hhbmdlKT1cInZhbHVlSGFuZGxlcigkZXZlbnQpXCI+PC9heC1yYW5nZS1zbGlkZXI+XG4iXX0=","import { AXComponent } from '@acorex/cdk/common';\nimport { AXColorBoxComponent } from '@acorex/components/color-box';\nimport { AXRangeSliderComponent } from '@acorex/components/range-slider';\nimport { ChangeDetectionStrategy, Component, inject, linkedSignal, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXPaintService } from '../../paint.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\n/**\n * paint mode.\n * @category Components\n */\nexport class AXPaintHighlightToolComponent {\n constructor() {\n this.service = inject(AXPaintService);\n this.value = linkedSignal(() => this.service.highlightWidth(), ...(ngDevMode ? [{ debugName: \"value\" }] : []));\n this.selectedColor = linkedSignal(() => this.service.highlightColor(), ...(ngDevMode ? [{ debugName: \"selectedColor\" }] : []));\n }\n changeColorHandler(e) {\n this.service.highlightColor.set(e);\n this.selectedColor.set(e);\n }\n /** @ignore */\n valueHandler(e) {\n this.service.highlightWidth.set(e);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXPaintHighlightToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.3\", type: AXPaintHighlightToolComponent, isStandalone: true, selector: \"ax-paint-highlight-tool\", providers: [{ provide: AXComponent, useExisting: AXPaintHighlightToolComponent }], ngImport: i0, template: \"<ax-color-box\\n [showValue]=\\\"false\\\"\\n [showIcon]=\\\"false\\\"\\n axTooltip=\\\"Pen Color Picker\\\"\\n axTooltipPlacement=\\\"top\\\"\\n look=\\\"none\\\"\\n [ngModel]=\\\"selectedColor()\\\"\\n (ngModelChange)=\\\"changeColorHandler($event)\\\"\\n>\\n</ax-color-box>\\n\\n<ax-range-slider [min]=\\\"2\\\" [max]=\\\"20\\\" [(ngModel)]=\\\"value\\\" (ngModelChange)=\\\"valueHandler($event)\\\"></ax-range-slider>\\n\", styles: [\"ax-paint-highlight-tool{display:flex}ax-paint-highlight-tool ax-range-slider{padding:.5rem .75rem;width:10rem}ax-paint-highlight-tool ax-range-slider .ax-range-slider .ax-range-slider-handler{width:1rem!important;height:1rem!important}\\n\"], dependencies: [{ kind: \"component\", type: AXColorBoxComponent, selector: \"ax-color-box\", inputs: [\"disabled\", \"readonly\", \"tabIndex\", \"placeholder\", \"value\", \"state\", \"name\", \"id\", \"look\", \"showBadge\", \"showValue\", \"showClearButton\", \"showIcon\"], outputs: [\"valueChange\", \"stateChange\", \"onValueChanged\", \"onBlur\", \"onFocus\", \"readonlyChange\", \"disabledChange\", \"onOpened\", \"onClosed\"] }, { kind: \"ngmodule\", type: FormsModule }, { 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: AXRangeSliderComponent, selector: \"ax-range-slider\", inputs: [\"disabled\", \"readonly\", \"orientation\", \"color\", \"values\", \"mode\", \"min\", \"max\", \"step\", \"snap\", \"tooltipMode\", \"snapMode\", \"hasStep\", \"hasSnap\", \"hasLable\", \"hasTooltip\"], outputs: [\"valuesChange\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXPaintHighlightToolComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-paint-highlight-tool', encapsulation: ViewEncapsulation.None, imports: [AXColorBoxComponent, FormsModule, AXRangeSliderComponent], changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: AXComponent, useExisting: AXPaintHighlightToolComponent }], template: \"<ax-color-box\\n [showValue]=\\\"false\\\"\\n [showIcon]=\\\"false\\\"\\n axTooltip=\\\"Pen Color Picker\\\"\\n axTooltipPlacement=\\\"top\\\"\\n look=\\\"none\\\"\\n [ngModel]=\\\"selectedColor()\\\"\\n (ngModelChange)=\\\"changeColorHandler($event)\\\"\\n>\\n</ax-color-box>\\n\\n<ax-range-slider [min]=\\\"2\\\" [max]=\\\"20\\\" [(ngModel)]=\\\"value\\\" (ngModelChange)=\\\"valueHandler($event)\\\"></ax-range-slider>\\n\", styles: [\"ax-paint-highlight-tool{display:flex}ax-paint-highlight-tool ax-range-slider{padding:.5rem .75rem;width:10rem}ax-paint-highlight-tool ax-range-slider .ax-range-slider .ax-range-slider-handler{width:1rem!important;height:1rem!important}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFpbnQtaGlnaGxpZ2h0LXRvb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9wYWludC9zcmMvbGliL3BhaW50L3BhaW50LXRvb2xzL3BhaW50LWhpZ2hsaWdodC10b29sL3BhaW50LWhpZ2hsaWdodC10b29sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvcGFpbnQvc3JjL2xpYi9wYWludC9wYWludC10b29scy9wYWludC1oaWdobGlnaHQtdG9vbC9wYWludC1oaWdobGlnaHQtdG9vbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFekUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQUVyRDs7O0dBR0c7QUF3QkgsTUFBTSxPQUFPLDZCQUE2QjtJQXZCMUM7UUF3QlksWUFBTyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUVqQyxVQUFLLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLGlEQUFDLENBQUM7UUFFMUQsa0JBQWEsR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUseURBQUMsQ0FBQztLQVc3RTtJQVRXLGtCQUFrQixDQUFDLENBQVM7UUFDcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxjQUFjO0lBQ0osWUFBWSxDQUFDLENBQVM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7OEdBZlUsNkJBQTZCO2tHQUE3Qiw2QkFBNkIsc0VBRjdCLENBQUMsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSw2QkFBNkIsRUFBRSxDQUFDLDBCQ2pDbkYseVhBWUEsdVNESVksbUJBQW1CLGtXQUFFLFdBQVcsK1ZBQUUsc0JBQXNCOzsyRkFtQnZELDZCQUE2QjtrQkF2QnpDLFNBQVM7K0JBQ0UseUJBQXlCLGlCQUVwQixpQkFBaUIsQ0FBQyxJQUFJLFdBQzVCLENBQUMsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLHNCQUFzQixDQUFDLG1CQUNsRCx1QkFBdUIsQ0FBQyxNQUFNLGFBZ0JwQyxDQUFDLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLCtCQUErQixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWENvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBBWENvbG9yQm94Q29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbG9yLWJveCc7XG5pbXBvcnQgeyBBWFJhbmdlU2xpZGVyQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3JhbmdlLXNsaWRlcic7XG5cbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgbGlua2VkU2lnbmFsLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBWFBhaW50U2VydmljZSB9IGZyb20gJy4uLy4uL3BhaW50LnNlcnZpY2UnO1xuXG4vKipcbiAqIHBhaW50IG1vZGUuXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1wYWludC1oaWdobGlnaHQtdG9vbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWludC1oaWdobGlnaHQtdG9vbC5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGltcG9ydHM6IFtBWENvbG9yQm94Q29tcG9uZW50LCBGb3Jtc01vZHVsZSwgQVhSYW5nZVNsaWRlckNvbXBvbmVudF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdHlsZXM6IGBcbiAgICBheC1wYWludC1oaWdobGlnaHQtdG9vbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYXgtcmFuZ2Utc2xpZGVyIHtcbiAgICAgICAgcGFkZGluZzogMC41cmVtIDAuNzVyZW07XG4gICAgICAgIHdpZHRoOiAxMHJlbTtcbiAgICAgICAgLmF4LXJhbmdlLXNsaWRlciB7XG4gICAgICAgICAgLmF4LXJhbmdlLXNsaWRlci1oYW5kbGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIGAsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQVhDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFBhaW50SGlnaGxpZ2h0VG9vbENvbXBvbmVudCB9XSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQYWludEhpZ2hsaWdodFRvb2xDb21wb25lbnQge1xuICBwcm90ZWN0ZWQgc2VydmljZSA9IGluamVjdChBWFBhaW50U2VydmljZSk7XG5cbiAgcHJvdGVjdGVkIHZhbHVlID0gbGlua2VkU2lnbmFsKCgpID0+IHRoaXMuc2VydmljZS5oaWdobGlnaHRXaWR0aCgpKTtcblxuICBwcm90ZWN0ZWQgc2VsZWN0ZWRDb2xvciA9IGxpbmtlZFNpZ25hbCgoKSA9PiB0aGlzLnNlcnZpY2UuaGlnaGxpZ2h0Q29sb3IoKSk7XG5cbiAgcHJvdGVjdGVkIGNoYW5nZUNvbG9ySGFuZGxlcihlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlcnZpY2UuaGlnaGxpZ2h0Q29sb3Iuc2V0KGUpO1xuICAgIHRoaXMuc2VsZWN0ZWRDb2xvci5zZXQoZSk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgdmFsdWVIYW5kbGVyKGU6IG51bWJlcikge1xuICAgIHRoaXMuc2VydmljZS5oaWdobGlnaHRXaWR0aC5zZXQoZSk7XG4gIH1cbn1cbiIsIjxheC1jb2xvci1ib3hcbiAgW3Nob3dWYWx1ZV09XCJmYWxzZVwiXG4gIFtzaG93SWNvbl09XCJmYWxzZVwiXG4gIGF4VG9vbHRpcD1cIlBlbiBDb2xvciBQaWNrZXJcIlxuICBheFRvb2x0aXBQbGFjZW1lbnQ9XCJ0b3BcIlxuICBsb29rPVwibm9uZVwiXG4gIFtuZ01vZGVsXT1cInNlbGVjdGVkQ29sb3IoKVwiXG4gIChuZ01vZGVsQ2hhbmdlKT1cImNoYW5nZUNvbG9ySGFuZGxlcigkZXZlbnQpXCJcbj5cbjwvYXgtY29sb3ItYm94PlxuXG48YXgtcmFuZ2Utc2xpZGVyIFttaW5dPVwiMlwiIFttYXhdPVwiMjBcIiBbKG5nTW9kZWwpXT1cInZhbHVlXCIgKG5nTW9kZWxDaGFuZ2UpPVwidmFsdWVIYW5kbGVyKCRldmVudClcIj48L2F4LXJhbmdlLXNsaWRlcj5cbiJdfQ==","import { AXComponent } from '@acorex/cdk/common';\nimport { AXColorBoxComponent } from '@acorex/components/color-box';\nimport { AXRangeSliderComponent } from '@acorex/components/range-slider';\nimport { ChangeDetectionStrategy, Component, inject, linkedSignal, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXPaintService } from '../../paint.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\n/**\n * paint mode.\n * @category Components\n */\nexport class AXPaintPenToolComponent {\n constructor() {\n this.service = inject(AXPaintService);\n /** @ignore */\n this.value = linkedSignal(() => this.service.penWidth(), ...(ngDevMode ? [{ debugName: \"value\" }] : []));\n /** @ignore */\n this.selectedColor = linkedSignal(() => this.service.penColor(), ...(ngDevMode ? [{ debugName: \"selectedColor\" }] : []));\n }\n changeColorHandler(e) {\n this.service.penColor.set(e);\n this.selectedColor.set(e);\n }\n /** @ignore */\n valueHandler(e) {\n this.service.penWidth.set(e);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXPaintPenToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.3\", type: AXPaintPenToolComponent, isStandalone: true, selector: \"ax-paint-pen-tool\", providers: [{ provide: AXComponent, useExisting: AXPaintPenToolComponent }], ngImport: i0, template: \"<ax-color-box\\n [showValue]=\\\"false\\\"\\n [showIcon]=\\\"false\\\"\\n axTooltip=\\\"Pen Color Picker\\\"\\n axTooltipPlacement=\\\"top\\\"\\n look=\\\"none\\\"\\n [ngModel]=\\\"selectedColor()\\\"\\n (ngModelChange)=\\\"changeColorHandler($event)\\\"\\n>\\n</ax-color-box>\\n\\n<ax-range-slider [min]=\\\"2\\\" [max]=\\\"20\\\" [(ngModel)]=\\\"value\\\" (ngModelChange)=\\\"valueHandler($event)\\\"></ax-range-slider>\\n\", styles: [\"ax-paint-pen-tool{display:flex}ax-paint-pen-tool ax-range-slider{padding:.5rem .75rem;width:10rem}ax-paint-pen-tool ax-range-slider .ax-range-slider .ax-range-slider-handler{width:1rem!important;height:1rem!important}\\n\"], dependencies: [{ kind: \"component\", type: AXColorBoxComponent, selector: \"ax-color-box\", inputs: [\"disabled\", \"readonly\", \"tabIndex\", \"placeholder\", \"value\", \"state\", \"name\", \"id\", \"look\", \"showBadge\", \"showValue\", \"showClearButton\", \"showIcon\"], outputs: [\"valueChange\", \"stateChange\", \"onValueChanged\", \"onBlur\", \"onFocus\", \"readonlyChange\", \"disabledChange\", \"onOpened\", \"onClosed\"] }, { kind: \"ngmodule\", type: FormsModule }, { 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: AXRangeSliderComponent, selector: \"ax-range-slider\", inputs: [\"disabled\", \"readonly\", \"orientation\", \"color\", \"values\", \"mode\", \"min\", \"max\", \"step\", \"snap\", \"tooltipMode\", \"snapMode\", \"hasStep\", \"hasSnap\", \"hasLable\", \"hasTooltip\"], outputs: [\"valuesChange\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXPaintPenToolComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-paint-pen-tool', encapsulation: ViewEncapsulation.None, imports: [AXColorBoxComponent, FormsModule, AXRangeSliderComponent], changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: AXComponent, useExisting: AXPaintPenToolComponent }], template: \"<ax-color-box\\n [showValue]=\\\"false\\\"\\n [showIcon]=\\\"false\\\"\\n axTooltip=\\\"Pen Color Picker\\\"\\n axTooltipPlacement=\\\"top\\\"\\n look=\\\"none\\\"\\n [ngModel]=\\\"selectedColor()\\\"\\n (ngModelChange)=\\\"changeColorHandler($event)\\\"\\n>\\n</ax-color-box>\\n\\n<ax-range-slider [min]=\\\"2\\\" [max]=\\\"20\\\" [(ngModel)]=\\\"value\\\" (ngModelChange)=\\\"valueHandler($event)\\\"></ax-range-slider>\\n\", styles: [\"ax-paint-pen-tool{display:flex}ax-paint-pen-tool ax-range-slider{padding:.5rem .75rem;width:10rem}ax-paint-pen-tool ax-range-slider .ax-range-slider .ax-range-slider-handler{width:1rem!important;height:1rem!important}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFpbnQtcGVuLXRvb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9wYWludC9zcmMvbGliL3BhaW50L3BhaW50LXRvb2xzL3BhaW50LXBlbi10b29sL3BhaW50LXBlbi10b29sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvcGFpbnQvc3JjL2xpYi9wYWludC9wYWludC10b29scy9wYWludC1wZW4tdG9vbC9wYWludC1wZW4tdG9vbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFekUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQUVyRDs7O0dBR0c7QUF3QkgsTUFBTSxPQUFPLHVCQUF1QjtJQXZCcEM7UUF3QlksWUFBTyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUUzQyxjQUFjO1FBQ0osVUFBSyxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxpREFBQyxDQUFDO1FBRTlELGNBQWM7UUFDSixrQkFBYSxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSx5REFBQyxDQUFDO0tBV3ZFO0lBVFcsa0JBQWtCLENBQUMsQ0FBUztRQUNwQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELGNBQWM7SUFDSixZQUFZLENBQUMsQ0FBUztRQUM5QixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0IsQ0FBQzs4R0FqQlUsdUJBQXVCO2tHQUF2Qix1QkFBdUIsZ0VBRnZCLENBQUMsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRSxDQUFDLDBCQ2pDN0UseVhBWUEscVJESVksbUJBQW1CLGtXQUFFLFdBQVcsK1ZBQUUsc0JBQXNCOzsyRkFtQnZELHVCQUF1QjtrQkF2Qm5DLFNBQVM7K0JBQ0UsbUJBQW1CLGlCQUVkLGlCQUFpQixDQUFDLElBQUksV0FDNUIsQ0FBQyxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsc0JBQXNCLENBQUMsbUJBQ2xELHVCQUF1QixDQUFDLE1BQU0sYUFnQnBDLENBQUMsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcseUJBQXlCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcbmltcG9ydCB7IEFYQ29sb3JCb3hDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29sb3ItYm94JztcbmltcG9ydCB7IEFYUmFuZ2VTbGlkZXJDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcmFuZ2Utc2xpZGVyJztcblxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBsaW5rZWRTaWduYWwsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFYUGFpbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcGFpbnQuc2VydmljZSc7XG5cbi8qKlxuICogcGFpbnQgbW9kZS5cbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LXBhaW50LXBlbi10b29sJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BhaW50LXBlbi10b29sLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaW1wb3J0czogW0FYQ29sb3JCb3hDb21wb25lbnQsIEZvcm1zTW9kdWxlLCBBWFJhbmdlU2xpZGVyQ29tcG9uZW50XSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0eWxlczogYFxuICAgIGF4LXBhaW50LXBlbi10b29sIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBheC1yYW5nZS1zbGlkZXIge1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTtcbiAgICAgICAgd2lkdGg6IDEwcmVtO1xuICAgICAgICAuYXgtcmFuZ2Utc2xpZGVyIHtcbiAgICAgICAgICAuYXgtcmFuZ2Utc2xpZGVyLWhhbmRsZXIge1xuICAgICAgICAgICAgd2lkdGg6IDFyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgIGhlaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgYCxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBBWENvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYUGFpbnRQZW5Ub29sQ29tcG9uZW50IH1dLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBhaW50UGVuVG9vbENvbXBvbmVudCB7XG4gIHByb3RlY3RlZCBzZXJ2aWNlID0gaW5qZWN0KEFYUGFpbnRTZXJ2aWNlKTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgdmFsdWUgPSBsaW5rZWRTaWduYWwoKCkgPT4gdGhpcy5zZXJ2aWNlLnBlbldpZHRoKCkpO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBzZWxlY3RlZENvbG9yID0gbGlua2VkU2lnbmFsKCgpID0+IHRoaXMuc2VydmljZS5wZW5Db2xvcigpKTtcblxuICBwcm90ZWN0ZWQgY2hhbmdlQ29sb3JIYW5kbGVyKGU6IHN0cmluZykge1xuICAgIHRoaXMuc2VydmljZS5wZW5Db2xvci5zZXQoZSk7XG4gICAgdGhpcy5zZWxlY3RlZENvbG9yLnNldChlKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCB2YWx1ZUhhbmRsZXIoZTogbnVtYmVyKSB7XG4gICAgdGhpcy5zZXJ2aWNlLnBlbldpZHRoLnNldChlKTtcbiAgfVxufVxuIiwiPGF4LWNvbG9yLWJveFxuICBbc2hvd1ZhbHVlXT1cImZhbHNlXCJcbiAgW3Nob3dJY29uXT1cImZhbHNlXCJcbiAgYXhUb29sdGlwPVwiUGVuIENvbG9yIFBpY2tlclwiXG4gIGF4VG9vbHRpcFBsYWNlbWVudD1cInRvcFwiXG4gIGxvb2s9XCJub25lXCJcbiAgW25nTW9kZWxdPVwic2VsZWN0ZWRDb2xvcigpXCJcbiAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlQ29sb3JIYW5kbGVyKCRldmVudClcIlxuPlxuPC9heC1jb2xvci1ib3g+XG5cbjxheC1yYW5nZS1zbGlkZXIgW21pbl09XCIyXCIgW21heF09XCIyMFwiIFsobmdNb2RlbCldPVwidmFsdWVcIiAobmdNb2RlbENoYW5nZSk9XCJ2YWx1ZUhhbmRsZXIoJGV2ZW50KVwiPjwvYXgtcmFuZ2Utc2xpZGVyPlxuIl19","import { AXComponent, AXFocusableComponent, AXValuableComponent, MXInputBaseValueComponent, MXLookComponent, } from '@acorex/cdk/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXToolBarComponent } from '@acorex/components/toolbar';\nimport { Component, HostBinding, ViewEncapsulation, effect, forwardRef, inject, input } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport { AXPaintToolsSelectorComponent } from '../paint-tools-selector/paint-tools-selector.component';\nimport { AXPaintEraserToolComponent } from '../paint-tools/paint-eraser-tool/paint-eraser-tool.component';\nimport { AXPaintHighlightToolComponent } from '../paint-tools/paint-highlight-tool/paint-highlight-tool.component';\nimport { AXPaintPenToolComponent } from '../paint-tools/paint-pen-tool/paint-pen-tool.component';\nimport { AXPaintService } from '../paint.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/decorators\";\n/**\n * paint container.\n * @category Components\n */\nexport class AXPaintContainerComponent extends classes((MXInputBaseValueComponent), MXLookComponent) {\n constructor() {\n super(...arguments);\n this.service = inject(AXPaintService);\n this.editMode = input(false, ...(ngDevMode ? [{ debugName: \"editMode\" }] : []));\n this.#eff = effect(() => {\n if (this.editMode()) {\n this.service.activeToolState.set('pen');\n }\n }, ...(ngDevMode ? [{ debugName: \"#eff\" }] : []));\n }\n #eff;\n get __hostClass() {\n if (this.disabled)\n return 'ax-state-disabled';\n return '';\n }\n /**\n * Sets the active drawing tool.\n *\n * @param tool - The tool to activate: 'pen', 'highlight', or 'eraser'\n */\n setActiveTool(tool) {\n this.service.activeToolState.set(tool);\n }\n /**\n * Sets the pen color for drawing.\n *\n * @param color - The color to use for the pen tool\n */\n setPenColor(color) {\n this.service.penColor.set(color);\n }\n /**\n * Sets the highlight color for highlighting.\n *\n * @param color - The color to use for the highlight tool\n */\n setHighlightColor(color) {\n this.service.highlightColor.set(color);\n }\n /**\n * Sets the pen width for drawing.\n *\n * @param width - The width of the pen stroke in pixels\n */\n setPenWidth(width) {\n this.service.penWidth.set(width);\n }\n /**\n * Sets the highlight width for highlighting.\n *\n * @param width - The width of the highlight stroke in pixels\n */\n setHighlightWidth(width) {\n this.service.highlightWidth.set(width);\n }\n /**\n * Sets the eraser width for erasing.\n *\n * @param width - The width of the eraser in pixels\n */\n setEraserWidth(width) {\n this.service.eraserWidth.set(width);\n }\n /**\n * Clears the entire canvas.\n */\n clear() {\n this.service.toggleClear.update((prev) => !prev);\n }\n get __hostName() {\n return this.name;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXPaintContainerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.3\", type: AXPaintContainerComponent, isStandalone: true, selector: \"ax-paint-container\", inputs: { look: { classPropertyName: \"look\", publicName: \"look\", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: false, isRequired: false, transformFunction: null }, editMode: { classPropertyName: \"editMode\", publicName: \"editMode\", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { \"class\": \"this.__hostClass\", \"attr.name\": \"this.__hostName\" } }, providers: [\n AXPaintService,\n { provide: AXComponent, useExisting: AXPaintContainerComponent },\n { provide: AXFocusableComponent, useExisting: AXPaintContainerComponent },\n { provide: AXValuableComponent, useExisting: AXPaintContainerComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXPaintContainerComponent),\n multi: true,\n },\n ], usesInheritance: true, ngImport: i0, template: \"<div class=\\\"ax-editor-container ax-{{ look }}\\\">\\n <ng-content></ng-content>\\n\\n @if (service.activeToolState() && !editMode()) {\\n <ax-toolbar class=\\\"ax-secondary-toolbar\\\">\\n <ax-prefix>\\n @switch (service.activeToolState()) {\\n @case ('pen') {\\n <ax-paint-pen-tool></ax-paint-pen-tool>\\n }\\n @case ('eraser') {\\n <ax-paint-eraser-tool></ax-paint-eraser-tool>\\n }\\n @case ('highlight') {\\n <ax-paint-highlight-tool></ax-paint-highlight-tool>\\n }\\n }\\n </ax-prefix>\\n </ax-toolbar>\\n }\\n\\n @if (!editMode()) {\\n <ax-toolbar class=\\\"ax-main-toolbar\\\">\\n <ax-content>\\n <ax-paint-tools-selector></ax-paint-tools-selector>\\n </ax-content>\\n </ax-toolbar>\\n }\\n\\n <ng-content select=\\\"ax-validation-rule\\\"> </ng-content>\\n</div>\\n<div class=\\\"ax-error-container\\\"></div>\\n\\n@if (disabled) {\\n <div class=\\\"ax-disable-overlay\\\"></div>\\n}\\n\", styles: [\"ax-paint-container>.ax-editor-container{display:block;height:100%;--ax-comp-editor-space-start-size: 0;--ax-comp-editor-space-end-size: 0}ax-paint-container.ax-state-disabled{opacity:.5}ax-paint-container .ax-disable-overlay{position:absolute;top:0;left:0;width:100%;height:100%;cursor:not-allowed}ax-paint-container .ax-secondary-toolbar{padding:.2rem;border-bottom:1px solid rgba(var(--ax-sys-color-border-surface));justify-content:center}ax-paint-container .ax-main-toolbar{justify-content:center;padding:.2rem}\\n\"], dependencies: [{ kind: \"component\", type: AXToolBarComponent, selector: \"ax-toolbar\" }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i1.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"component\", type: AXPaintToolsSelectorComponent, selector: \"ax-paint-tools-selector\" }, { kind: \"component\", type: AXPaintPenToolComponent, selector: \"ax-paint-pen-tool\" }, { kind: \"component\", type: AXPaintHighlightToolComponent, selector: \"ax-paint-highlight-tool\" }, { kind: \"component\", type: AXPaintEraserToolComponent, selector: \"ax-paint-eraser-tool\" }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXPaintContainerComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-paint-container', encapsulation: ViewEncapsulation.None, inputs: ['look', 'disabled'], providers: [\n AXPaintService,\n { provide: AXComponent, useExisting: AXPaintContainerComponent },\n { provide: AXFocusableComponent, useExisting: AXPaintContainerComponent },\n { provide: AXValuableComponent, useExisting: AXPaintContainerComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXPaintContainerComponent),\n multi: true,\n },\n ], imports: [\n AXToolBarComponent,\n AXDecoratorModule,\n AXPaintToolsSelectorComponent,\n AXPaintPenToolComponent,\n AXPaintHighlightToolComponent,\n AXPaintEraserToolComponent,\n ], template: \"<div class=\\\"ax-editor-container ax-{{ look }}\\\">\\n <ng-content></ng-content>\\n\\n @if (service.activeToolState() && !editMode()) {\\n <ax-toolbar class=\\\"ax-secondary-toolbar\\\">\\n <ax-prefix>\\n @switch (service.activeToolState()) {\\n @case ('pen') {\\n <ax-paint-pen-tool></ax-paint-pen-tool>\\n }\\n @case ('eraser') {\\n <ax-paint-eraser-tool></ax-paint-eraser-tool>\\n }\\n @case ('highlight') {\\n <ax-paint-highlight-tool></ax-paint-highlight-tool>\\n }\\n }\\n </ax-prefix>\\n </ax-toolbar>\\n }\\n\\n @if (!editMode()) {\\n <ax-toolbar class=\\\"ax-main-toolbar\\\">\\n <ax-content>\\n <ax-paint-tools-selector></ax-paint-tools-selector>\\n </ax-content>\\n </ax-toolbar>\\n }\\n\\n <ng-content select=\\\"ax-validation-rule\\\"> </ng-content>\\n</div>\\n<div class=\\\"ax-error-container\\\"></div>\\n\\n@if (disabled) {\\n <div class=\\\"ax-disable-overlay\\\"></div>\\n}\\n\", styles: [\"ax-paint-container>.ax-editor-container{display:block;height:100%;--ax-comp-editor-space-start-size: 0;--ax-comp-editor-space-end-size: 0}ax-paint-container.ax-state-disabled{opacity:.5}ax-paint-container .ax-disable-overlay{position:absolute;top:0;left:0;width:100%;height:100%;cursor:not-allowed}ax-paint-container .ax-secondary-toolbar{padding:.2rem;border-bottom:1px solid rgba(var(--ax-sys-color-border-surface));justify-content:center}ax-paint-container .ax-main-toolbar{justify-content:center;padding:.2rem}\\n\"] }]\n }], propDecorators: { __hostClass: [{\n type: HostBinding,\n args: ['class']\n }], __hostName: [{\n type: HostBinding,\n args: ['attr.name']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFpbnQtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvcGFpbnQvc3JjL2xpYi9wYWludC9wYWludC1jb250YWluZXIvcGFpbnQtY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvcGFpbnQvc3JjL2xpYi9wYWludC9wYWludC1jb250YWluZXIvcGFpbnQtY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxXQUFXLEVBQ1gsb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUNuQix5QkFBeUIsRUFDekIsZUFBZSxHQUNoQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ25DLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQzFHLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9FQUFvRSxDQUFDO0FBQ25ILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxjQUFjLEVB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LEVBQUUsVUFBVSxDQUFDLGFBQ2pCO3dCQUNULGNBQWM7d0JBQ2QsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsMkJBQTJCLEVBQUU7d0JBQ2hFLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsMkJBQTJCLEVBQUU7d0JBQ3pFLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsMkJBQTJCLEVBQUU7d0JBQ3hFOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDBCQUEwQixDQUFDOzRCQUN4RCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRixXQUNRO3dCQUNQLGtCQUFrQjt3QkFDbEIsaUJBQWlCO3dCQUNqQiw2QkFBNkI7d0JBQzdCLHVCQUF1Qjt3QkFDdkIsNkJBQTZCO3dCQUM3QiwwQkFBMEI7cUJBQzNCOzhCQWNHLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxPQUFPO2dCQW9FUixVQUFVO3NCQURyQixXQUFXO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBWENvbXBvbmVudCxcbiAgQVhGb2N1c2FibGVDb21wb25lbnQsXG4gIEFYVmFsdWFibGVDb21wb25lbnQsXG4gIE1YSW5wdXRCYXNlVmFsdWVDb21wb25lbnQsXG4gIE1YTG9va0NvbXBvbmVudCxcbn0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhUb29sQmFyQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3Rvb2xiYXInO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgVmlld0VuY2Fwc3VsYXRpb24sIGVmZmVjdCwgZm9yd2FyZFJlZiwgaW5qZWN0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjbGFzc2VzIH0gZnJvbSAncG9seXR5cGUnO1xuaW1wb3J0IHsgQVhQYWludFRvb2xzU2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuLi9wYWludC10b29scy1zZWxlY3Rvci9wYWludC10b29scy1zZWxlY3Rvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhQYWludEVyYXNlclRvb2xDb21wb25lbnQgfSBmcm9tICcuLi9wYWludC10b29scy9wYWludC1lcmFzZXItdG9vbC9wYWludC1lcmFzZXItdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhQYWludEhpZ2hsaWdodFRvb2xDb21wb25lbnQgfSBmcm9tICcuLi9wYWludC10b29scy9wYWludC1oaWdobGlnaHQtdG9vbC9wYWludC1oaWdobGlnaHQtdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhQYWludFBlblRvb2xDb21wb25lbnQgfSBmcm9tICcuLi9wYWludC10b29scy9wYWludC1wZW4tdG9vbC9wYWludC1wZW4tdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhQYWludFNlcnZpY2UgfSBmcm9tICcuLi9wYWludC5zZXJ2aWNlJztcblxuLyoqXG4gKiBwYWludCBjb250YWluZXIuXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1wYWludC1jb250YWluZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFpbnQtY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3BhaW50LWNvbnRhaW5lci5jb21wb25lbnQuc2NzcycsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGlucHV0czogWydsb29rJywgJ2Rpc2FibGVkJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIEFYUGFpbnRTZXJ2aWNlLFxuICAgIHsgcHJvdmlkZTogQVhDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFBhaW50Q29udGFpbmVyQ29tcG9uZW50IH0sXG4gICAgeyBwcm92aWRlOiBBWEZvY3VzYWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYUGFpbnRDb250YWluZXJDb21wb25lbnQgfSxcbiAgICB7IHByb3ZpZGU6IEFYVmFsdWFibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFBhaW50Q29udGFpbmVyQ29tcG9uZW50IH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBWFBhaW50Q29udGFpbmVyQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBBWFRvb2xCYXJDb21wb25lbnQsXG4gICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgQVhQYWludFRvb2xzU2VsZWN0b3JDb21wb25lbnQsXG4gICAgQVhQYWludFBlblRvb2xDb21wb25lbnQsXG4gICAgQVhQYWludEhpZ2hsaWdodFRvb2xDb21wb25lbnQsXG4gICAgQVhQYWludEVyYXNlclRvb2xDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUGFpbnRDb250YWluZXJDb21wb25lbnQgZXh0ZW5kcyBjbGFzc2VzKE1YSW5wdXRCYXNlVmFsdWVDb21wb25lbnQ8c3RyaW5nPiwgTVhMb29rQ29tcG9uZW50KSB7XG4gIHByb3RlY3RlZCBzZXJ2aWNlID0gaW5qZWN0KEFYUGFpbnRTZXJ2aWNlKTtcblxuICByZWFkb25seSBlZGl0TW9kZSA9IGlucHV0KGZhbHNlKTtcblxuICAjZWZmID0gZWZmZWN0KCgpID0+IHtcbiAgICBpZiAodGhpcy5lZGl0TW9kZSgpKSB7XG4gICAgICB0aGlzLnNlcnZpY2UuYWN0aXZlVG9vbFN0YXRlLnNldCgncGVuJyk7XG4gICAgfVxuICB9KTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IF9faG9zdENsYXNzKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybiAnYXgtc3RhdGUtZGlzYWJsZWQnO1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBhY3RpdmUgZHJhd2luZyB0b29sLlxuICAgKlxuICAgKiBAcGFyYW0gdG9vbCAtIFRoZSB0b29sIHRvIGFjdGl2YXRlOiAncGVuJywgJ2hpZ2hsaWdodCcsIG9yICdlcmFzZXInXG4gICAqL1xuICBzZXRBY3RpdmVUb29sKHRvb2w6ICdwZW4nIHwgJ2hpZ2hsaWdodCcgfCAnZXJhc2VyJykge1xuICAgIHRoaXMuc2VydmljZS5hY3RpdmVUb29sU3RhdGUuc2V0KHRvb2wpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHBlbiBjb2xvciBmb3IgZHJhd2luZy5cbiAgICpcbiAgICogQHBhcmFtIGNvbG9yIC0gVGhlIGNvbG9yIHRvIHVzZSBmb3IgdGhlIHBlbiB0b29sXG4gICAqL1xuICBzZXRQZW5Db2xvcihjb2xvcjogc3RyaW5nIHwgQ2FudmFzR3JhZGllbnQgfCBDYW52YXNQYXR0ZXJuKSB7XG4gICAgdGhpcy5zZXJ2aWNlLnBlbkNvbG9yLnNldChjb2xvcik7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgaGlnaGxpZ2h0IGNvbG9yIGZvciBoaWdobGlnaHRpbmcuXG4gICAqXG4gICAqIEBwYXJhbSBjb2xvciAtIFRoZSBjb2xvciB0byB1c2UgZm9yIHRoZSBoaWdobGlnaHQgdG9vbFxuICAgKi9cbiAgc2V0SGlnaGxpZ2h0Q29sb3IoY29sb3I6IHN0cmluZyB8IENhbnZhc0dyYWRpZW50IHwgQ2FudmFzUGF0dGVybikge1xuICAgIHRoaXMuc2VydmljZS5oaWdobGlnaHRDb2xvci5zZXQoY29sb3IpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHBlbiB3aWR0aCBmb3IgZHJhd2luZy5cbiAgICpcbiAgICogQHBhcmFtIHdpZHRoIC0gVGhlIHdpZHRoIG9mIHRoZSBwZW4gc3Ryb2tlIGluIHBpeGVsc1xuICAgKi9cbiAgc2V0UGVuV2lkdGgod2lkdGg6IG51bWJlcikge1xuICAgIHRoaXMuc2VydmljZS5wZW5XaWR0aC5zZXQod2lkdGgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGhpZ2hsaWdodCB3aWR0aCBmb3IgaGlnaGxpZ2h0aW5nLlxuICAgKlxuICAgKiBAcGFyYW0gd2lkdGggLSBUaGUgd2lkdGggb2YgdGhlIGhpZ2hsaWdodCBzdHJva2UgaW4gcGl4ZWxzXG4gICAqL1xuICBzZXRIaWdobGlnaHRXaWR0aCh3aWR0aDogbnVtYmVyKSB7XG4gICAgdGhpcy5zZXJ2aWNlLmhpZ2hsaWdodFdpZHRoLnNldCh3aWR0aCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgZXJhc2VyIHdpZHRoIGZvciBlcmFzaW5nLlxuICAgKlxuICAgKiBAcGFyYW0gd2lkdGggLSBUaGUgd2lkdGggb2YgdGhlIGVyYXNlciBpbiBwaXhlbHNcbiAgICovXG4gIHNldEVyYXNlcldpZHRoKHdpZHRoOiBudW1iZXIpIHtcbiAgICB0aGlzLnNlcnZpY2UuZXJhc2VyV2lkdGguc2V0KHdpZHRoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhcnMgdGhlIGVudGlyZSBjYW52YXMuXG4gICAqL1xuICBjbGVhcigpIHtcbiAgICB0aGlzLnNlcnZpY2UudG9nZ2xlQ2xlYXIudXBkYXRlKChwcmV2KSA9PiAhcHJldik7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2F0dHIubmFtZScpXG4gIHByaXZhdGUgZ2V0IF9faG9zdE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYXgtZWRpdG9yLWNvbnRhaW5lciBheC17eyBsb29rIH19XCI+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cblxuICBAaWYgKHNlcnZpY2UuYWN0aXZlVG9vbFN0YXRlKCkgJiYgIWVkaXRNb2RlKCkpIHtcbiAgICA8YXgtdG9vbGJhciBjbGFzcz1cImF4LXNlY29uZGFyeS10b29sYmFyXCI+XG4gICAgICA8YXgtcHJlZml4PlxuICAgICAgICBAc3dpdGNoIChzZXJ2aWNlLmFjdGl2ZVRvb2xTdGF0ZSgpKSB7XG4gICAgICAgICAgQGNhc2UgKCdwZW4nKSB7XG4gICAgICAgICAgICA8YXgtcGFpbnQtcGVuLXRvb2w+PC9heC1wYWludC1wZW4tdG9vbD5cbiAgICAgICAgICB9XG4gICAgICAgICAgQGNhc2UgKCdlcmFzZXInKSB7XG4gICAgICAgICAgICA8YXgtcGFpbnQtZXJhc2VyLXRvb2w+PC9heC1wYWludC1lcmFzZXItdG9vbD5cbiAgICAgICAgICB9XG4gICAgICAgICAgQGNhc2UgKCdoaWdobGlnaHQnKSB7XG4gICAgICAgICAgICA8YXgtcGFpbnQtaGlnaGxpZ2h0LXRvb2w+PC9heC1wYWludC1oaWdobGlnaHQtdG9vbD5cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIDwvYXgtcHJlZml4PlxuICAgIDwvYXgtdG9vbGJhcj5cbiAgfVxuXG4gIEBpZiAoIWVkaXRNb2RlKCkpIHtcbiAgICA8YXgtdG9vbGJhciBjbGFzcz1cImF4LW1haW4tdG9vbGJhclwiPlxuICAgICAgPGF4LWNvbnRlbnQ+XG4gICAgICAgIDxheC1wYWludC10b29scy1zZWxlY3Rvcj48L2F4LXBhaW50LXRvb2xzLXNlbGVjdG9yPlxuICAgICAgPC9heC1jb250ZW50PlxuICAgIDwvYXgtdG9vbGJhcj5cbiAgfVxuXG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LXZhbGlkYXRpb24tcnVsZVwiPiA8L25nLWNvbnRlbnQ+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJheC1lcnJvci1jb250YWluZXJcIj48L2Rpdj5cblxuQGlmIChkaXNhYmxlZCkge1xuICA8ZGl2IGNsYXNzPVwiYXgtZGlzYWJsZS1vdmVybGF5XCI+PC9kaXY+XG59XG4iXX0=","import { AXComponent } from '@acorex/cdk/common';\nimport { isPlatformBrowser } from '@angular/common';\nimport { afterNextRender, ChangeDetectionStrategy, Component, effect, ElementRef, HostBinding, inject, input, PLATFORM_ID, Renderer2, signal, viewChild, ViewEncapsulation, } from '@angular/core';\nimport { AXPaintContainerComponent } from '../paint-container/paint-container.component';\nimport { AXPaintService } from '../paint.service';\nimport * as i0 from \"@angular/core\";\n/**\n * @category Components\n * paint view\n */\nexport class AXPaintViewComponent {\n constructor() {\n /** @ignore */\n this.parent = inject(AXPaintContainerComponent);\n /** @ignore */\n this.service = inject(AXPaintService);\n /** @ignore */\n this.renderer = inject(Renderer2);\n this.platformID = inject(PLATFORM_ID);\n this.hostElem = inject(ElementRef);\n /**\n * Specifies the class that pass to component.\n *\n */\n this.customClass = input('', ...(ngDevMode ? [{ debugName: \"customClass\", alias: 'class' }] : [{ alias: 'class' }]));\n this.paintBackgroundColor = input('white', ...(ngDevMode ? [{ debugName: \"paintBackgroundColor\" }] : []));\n /** @ignore */\n this.canvasElem = viewChild('c', ...(ngDevMode ? [{ debugName: \"canvasElem\" }] : []));\n /** @ignore */\n this.ctx = signal(null, ...(ngDevMode ? [{ debugName: \"ctx\" }] : []));\n /** @ignore */\n this.isPainting = signal(false, ...(ngDevMode ? [{ debugName: \"isPainting\" }] : []));\n /** @ignore */\n this.isUserInteract = signal(false, ...(ngDevMode ? [{ debugName: \"isUserInteract\" }] : []));\n this.#init = afterNextRender(() => {\n this.ctx.set(this.canvasElem().nativeElement.getContext('2d'));\n this.ctx().lineJoin = 'round';\n this.ctx().lineCap = 'round';\n setTimeout(() => {\n this.resizeEventHandler();\n });\n if (isPlatformBrowser(this.platformID)) {\n this.resizeEvent = this.renderer.listen(window, 'resize', this.resizeEventHandler.bind(this));\n }\n });\n this.#effect = effect(() => {\n this.isUserInteract.set(false);\n this.service.toggleClear();\n this.ctx()?.clearRect(0, 0, this.getBoundingCanvasHandler()?.width, this.getBoundingCanvasHandler()?.height);\n }, ...(ngDevMode ? [{ debugName: \"#effect\" }] : []));\n }\n #init;\n #effect;\n /** @ignore */\n ngOnDestroy() {\n if (isPlatformBrowser(this.platformID) && this.resizeEvent) {\n this.resizeEvent();\n }\n }\n /** @ignore */\n resizeEventHandler() {\n this.ctx().canvas.width = this.getBoundingCanvasHandler()?.width;\n this.ctx().canvas.height = this.getBoundingCanvasHandler()?.height;\n }\n /** @ignore */\n penConfigHandler(penType) {\n switch (penType) {\n case 'pen':\n this.ctx().globalAlpha = 1;\n this.ctx().globalCompositeOperation = 'source-over';\n this.ctx().strokeStyle = this.service.penColor();\n this.ctx().lineWidth = this.service.penWidth();\n break;\n case 'eraser':\n this.ctx().globalAlpha = 1;\n this.ctx().globalCompositeOperation = 'destination-out';\n this.ctx().lineWidth = this.service.eraserWidth();\n break;\n case 'highlight':\n this.ctx().globalAlpha = 0.008;\n this.ctx().globalCompositeOperation = 'source-over';\n this.ctx().strokeStyle = this.service.highlightColor();\n this.ctx().lineWidth = this.service.highlightWidth();\n break;\n }\n }\n /** @ignore */\n getBoundingCanvasHandler() {\n return this.hostElem.nativeElement.getBoundingClientRect();\n }\n /** @ignore */\n mouseDownHandler(e) {\n if (!this.service.activeToolState())\n return;\n this.isPainting.set(true);\n this.isUserInteract.set(true);\n this.penConfigHandler(this.service.activeToolState());\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 /** @ignore */\n mouseMoveHandler(e) {\n if (this.isPainting()) {\n this.ctx().lineTo(e.offsetX, e.offsetY);\n this.ctx().stroke();\n }\n }\n /** @ignore */\n mouseUpHandler() {\n this.ctx().closePath();\n this.isPainting.set(false);\n this.getOutPut('image/png');\n }\n /**\n * Loads an image onto the canvas (e.g. for editing an existing signature).\n *\n * @param dataUrl - Data URL of the image (e.g. from toDataURL or existing value)\n */\n loadImage(dataUrl) {\n const ctx = this.ctx();\n const canvas = this.canvasElem()?.nativeElement;\n if (!ctx || !canvas || !dataUrl)\n return;\n const img = new Image();\n img.crossOrigin = 'anonymous';\n img.onload = () => {\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n ctx.drawImage(img, 0, 0, canvas.width, canvas.height);\n this.isUserInteract.set(true);\n this.parent.commitValue(canvas.toDataURL('image/png'));\n };\n img.src = dataUrl;\n }\n /**\n * Exports the canvas content as an image.\n *\n * @param format - The image format: 'image/webp', 'image/png', or 'image/jpeg'\n */\n getOutPut(e) {\n const base64 = this.canvasElem().nativeElement.toDataURL(e, 0.1);\n if (this.isUserInteract()) {\n this.parent.commitValue(base64);\n }\n else {\n this.parent.commitValue(null);\n }\n }\n get __hostClass() {\n return [this.customClass(), `ax-${this.paintBackgroundColor()}`];\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXPaintViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.2.0\", version: \"20.3.3\", type: AXPaintViewComponent, isStandalone: true, selector: \"ax-paint-view\", inputs: { customClass: { classPropertyName: \"customClass\", publicName: \"class\", isSignal: true, isRequired: false, transformFunction: null }, paintBackgroundColor: { classPropertyName: \"paintBackgroundColor\", publicName: \"paintBackgroundColor\", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { \"class\": \"this.__hostClass\" } }, providers: [{ provide: AXComponent, useExisting: AXPaintViewComponent }], viewQueries: [{ propertyName: \"canvasElem\", first: true, predicate: [\"c\"], descendants: true, isSignal: true }], ngImport: i0, template: \"<canvas\\n #c\\n tabindex=\\\"1\\\"\\n (pointerdown)=\\\"mouseDownHandler($event)\\\"\\n (pointerup)=\\\"mouseUpHandler()\\\"\\n (pointermove)=\\\"mouseMoveHandler($event)\\\"\\n class=\\\"ax-canvas-element\\\"\\n>\\n</canvas>\\n\", styles: [\"ax-paint-view{display:block;width:100%;touch-action:none}ax-paint-view.ax-white{background-color:#fff}ax-paint-view.ax-black{background-color:#000}ax-paint-view .ax-canvas-element{border-bottom:1px solid rgb(var(--ax-sys-color-border-lightest-surface));cursor:crosshair;width:100%}\\n\"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXPaintViewComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-paint-view', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: AXComponent, useExisting: AXPaintViewComponent }], template: \"<canvas\\n #c\\n tabindex=\\\"1\\\"\\n (pointerdown)=\\\"mouseDownHandler($event)\\\"\\n (pointerup)=\\\"mouseUpHandler()\\\"\\n (pointermove)=\\\"mouseMoveHandler($event)\\\"\\n class=\\\"ax-canvas-element\\\"\\n>\\n</canvas>\\n\", styles: [\"ax-paint-view{display:block;width:100%;touch-action:none}ax-paint-view.ax-white{background-color:#fff}ax-paint-view.ax-black{background-color:#000}ax-paint-view .ax-canvas-element{border-bottom:1px solid rgb(var(--ax-sys-color-border-lightest-surface));cursor:crosshair;width:100%}\\n\"] }]\n }], propDecorators: { __hostClass: [{\n type: HostBinding,\n args: ['class']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFpbnQtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3BhaW50L3NyYy9saWIvcGFpbnQvcGFpbnQtdmlldy9wYWludC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvcGFpbnQvc3JjL2xpYi9wYWludC9wYWludC12aWV3L3BhaW50LXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFDTCxlQUFlLEVBQ2YsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxNQUFNLEVBQ04sVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUVMLFdBQVcsRUFDWCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDekYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUVsRDs7O0dBR0c7QUFTSCxNQUFNLE9BQU8sb0JBQW9CO0lBUmpDO1FBU0UsY0FBYztRQUNOLFdBQU0sR0FBRyxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUVuRCxjQUFjO1FBQ0osWUFBTyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUUzQyxjQUFjO1FBQ0osYUFBUSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUUvQixlQUFVLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRS9CLGFBQVEsR0FBRyxNQUFN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QUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNuRSxDQUFDOzhHQXJLVSxvQkFBb0I7a0dBQXBCLG9CQUFvQix3YUFGcEIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLENBQUMsMklDL0IxRSxnTkFTQTs7MkZEd0JhLG9CQUFvQjtrQkFSaEMsU0FBUzsrQkFDRSxlQUFlLGlCQUdWLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxzQkFBc0IsRUFBRSxDQUFDOzhCQXFLcEUsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWENvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBhZnRlck5leHRSZW5kZXIsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGVmZmVjdCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgUExBVEZPUk1fSUQsXG4gIFJlbmRlcmVyMixcbiAgc2lnbmFsLFxuICB2aWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUGFpbnRDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuLi9wYWludC1jb250YWluZXIvcGFpbnQtY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWFBhaW50U2VydmljZSB9IGZyb20gJy4uL3BhaW50LnNlcnZpY2UnO1xuXG4vKipcbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXG4gKiBwYWludCB2aWV3XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LXBhaW50LXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFpbnQtdmlldy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9wYWludC12aWV3LmNvbXBvbmVudC5zY3NzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQVhDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFBhaW50Vmlld0NvbXBvbmVudCB9XSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQYWludFZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIHBhcmVudCA9IGluamVjdChBWFBhaW50Q29udGFpbmVyQ29tcG9uZW50KTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgc2VydmljZSA9IGluamVjdChBWFBhaW50U2VydmljZSk7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG5cbiAgcHJpdmF0ZSBwbGF0Zm9ybUlEID0gaW5qZWN0KFBMQVRGT1JNX0lEKTtcblxuICBwcm90ZWN0ZWQgaG9zdEVsZW0gPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSByZXNpemVFdmVudDogKCkgPT4gdm9pZDtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBjbGFzcyB0aGF0IHBhc3MgdG8gY29tcG9uZW50LlxuICAgKlxuICAgKi9cbiAgcmVhZG9ubHkgY3VzdG9tQ2xhc3MgPSBpbnB1dDxzdHJpbmc+KCcnLCB7IGFsaWFzOiAnY2xhc3MnIH0pO1xuXG4gIHJlYWRvbmx5IHBhaW50QmFja2dyb3VuZENvbG9yID0gaW5wdXQ8J2JsYWNrJyB8ICd3aGl0ZSc+KCd3aGl0ZScpO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBjYW52YXNFbGVtID0gdmlld0NoaWxkPEVsZW1lbnRSZWY8SFRNTENhbnZhc0VsZW1lbnQ+PignYycpO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBjdHggPSBzaWduYWw8Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEPihudWxsKTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgaXNQYWludGluZyA9IHNpZ25hbChmYWxzZSk7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIGlzVXNlckludGVyYWN0ID0gc2lnbmFsKGZhbHNlKTtcblxuICAjaW5pdCA9IGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG4gICAgdGhpcy5jdHguc2V0KHRoaXMuY2FudmFzRWxlbSgpLm5hdGl2ZUVsZW1lbnQuZ2V0Q29udGV4dCgnMmQnKSk7XG4gICAgdGhpcy5jdHgoKS5saW5lSm9pbiA9ICdyb3VuZCc7XG4gICAgdGhpcy5jdHgoKS5saW5lQ2FwID0gJ3JvdW5kJztcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5yZXNpemVFdmVudEhhbmRsZXIoKTtcbiAgICB9KTtcblxuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSUQpKSB7XG4gICAgICB0aGlzLnJlc2l6ZUV2ZW50ID0gdGhpcy5yZW5kZXJlci5saXN0ZW4od2luZG93LCAncmVzaXplJywgdGhpcy5yZXNpemVFdmVudEhhbmRsZXIuYmluZCh0aGlzKSk7XG4gICAgfVxuICB9KTtcblxuICAjZWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICB0aGlzLmlzVXNlckludGVyYWN0LnNldChmYWxzZSk7XG4gICAgdGhpcy5zZXJ2aWNlLnRvZ2dsZUNsZWFyKCk7XG4gICAgdGhpcy5jdHgoKT8uY2xlYXJSZWN0KDAsIDAsIHRoaXMuZ2V0Qm91bmRpbmdDYW52YXNIYW5kbGVyKCk/LndpZHRoLCB0aGlzLmdldEJvdW5kaW5nQ2FudmFzSGFuZGxlcigpPy5oZWlnaHQpO1xuICB9KTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlEKSAmJiB0aGlzLnJlc2l6ZUV2ZW50KSB7XG4gICAgICB0aGlzLnJlc2l6ZUV2ZW50KCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIHJlc2l6ZUV2ZW50SGFuZGxlcigpIHtcbiAgICB0aGlzLmN0eCgpLmNhbnZhcy53aWR0aCA9IHRoaXMuZ2V0Qm91bmRpbmdDYW52YXNIYW5kbGVyKCk/LndpZHRoO1xuICAgIHRoaXMuY3R4KCkuY2FudmFzLmhlaWdodCA9IHRoaXMuZ2V0Qm91bmRpbmdDYW52YXNIYW5kbGVyKCk/LmhlaWdodDtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBwZW5Db25maWdIYW5kbGVyKHBlblR5cGU6ICdlcmFzZXInIHwgJ3BlbicgfCAnaGlnaGxpZ2h0Jykge1xuICAgIHN3aXRjaCAocGVuVHlwZSkge1xuICAgICAgY2FzZSAncGVuJzpcbiAgICAgICAgdGhpcy5jdHgoKS5nbG9iYWxBbHBoYSA9IDE7XG4gICAgICAgIHRoaXMuY3R4KCkuZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1vdmVyJztcbiAgICAgICAgdGhpcy5jdHgoKS5zdHJva2VTdHlsZSA9IHRoaXMuc2VydmljZS5wZW5Db2xvcigpO1xuICAgICAgICB0aGlzLmN0eCgpLmxpbmVXaWR0aCA9IHRoaXMuc2VydmljZS5wZW5XaWR0aCgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2VyYXNlcic6XG4gICAgICAgIHRoaXMuY3R4KCkuZ2xvYmFsQWxwaGEgPSAxO1xuICAgICAgICB0aGlzLmN0eCgpLmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdkZXN0aW5hdGlvbi1vdXQnO1xuICAgICAgICB0aGlzLmN0eCgpLmxpbmVXaWR0aCA9IHRoaXMuc2VydmljZS5lcmFzZXJXaWR0aCgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2hpZ2hsaWdodCc6XG4gICAgICAgIHRoaXMuY3R4KCkuZ2xvYmFsQWxwaGEgPSAwLjAwODtcbiAgICAgICAgdGhpcy5jdHgoKS5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLW92ZXInO1xuICAgICAgICB0aGlzLmN0eCgpLnN0cm9rZVN0eWxlID0gdGhpcy5zZXJ2aWNlLmhpZ2hsaWdodENvbG9yKCk7XG4gICAgICAgIHRoaXMuY3R4KCkubGluZVdpZHRoID0gdGhpcy5zZXJ2aWNlLmhpZ2hsaWdodFdpZHRoKCk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBnZXRCb3VuZGluZ0NhbnZhc0hhbmRsZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuaG9zdEVsZW0ubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBtb3VzZURvd25IYW5kbGVyKGU6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMuc2VydmljZS5hY3RpdmVUb29sU3RhdGUoKSkgcmV0dXJuO1xuXG4gICAgdGhpcy5pc1BhaW50aW5nLnNldCh0cnVlKTtcbiAgICB0aGlzLmlzVXNlckludGVyYWN0LnNldCh0cnVlKTtcblxuICAgIHRoaXMucGVuQ29uZmlnSGFuZGxlcih0aGlzLnNlcnZpY2UuYWN0aXZlVG9vbFN0YXRlKCkpO1xuXG4gICAgdGhpcy5jdHgoKS5iZWdpblBhdGgoKTtcbiAgICB0aGlzLmN0eCgpLm1vdmVUbyhlLm9mZnNldFgsIGUub2Zmc2V0WSk7XG4gICAgdGhpcy5jdHgoKS5saW5lVG8oZS5vZmZzZXRYLCBlLm9mZnNldFkpO1xuICAgIHRoaXMuY3R4KCkuc3Ryb2tlKCk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgbW91c2VNb3ZlSGFuZGxlcihlOiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKHRoaXMuaXNQYWludGluZygpKSB7XG4gICAgICB0aGlzLmN0eCgpLmxpbmVUbyhlLm9mZnNldFgsIGUub2Zmc2V0WSk7XG4gICAgICB0aGlzLmN0eCgpLnN0cm9rZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBtb3VzZVVwSGFuZGxlcigpIHtcbiAgICB0aGlzLmN0eCgpLmNsb3NlUGF0aCgpO1xuICAgIHRoaXMuaXNQYWludGluZy5zZXQoZmFsc2UpO1xuICAgIHRoaXMuZ2V0T3V0UHV0KCdpbWFnZS9wbmcnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkcyBhbiBpbWFnZSBvbnRvIHRoZSBjYW52YXMgKGUuZy4gZm9yIGVkaXRpbmcgYW4gZXhpc3Rpbmcgc2lnbmF0dXJlKS5cbiAgICpcbiAgICogQHBhcmFtIGRhdGFVcmwgLSBEYXRhIFVSTCBvZiB0aGUgaW1hZ2UgKGUuZy4gZnJvbSB0b0RhdGFVUkwgb3IgZXhpc3RpbmcgdmFsdWUpXG4gICAqL1xuICBsb2FkSW1hZ2UoZGF0YVVybDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgY3R4ID0gdGhpcy5jdHgoKTtcbiAgICBjb25zdCBjYW52YXMgPSB0aGlzLmNhbnZhc0VsZW0oKT8ubmF0aXZlRWxlbWVudDtcbiAgICBpZiAoIWN0eCB8fCAhY2FudmFzIHx8ICFkYXRhVXJsKSByZXR1cm47XG4gICAgY29uc3QgaW1nID0gbmV3IEltYWdlKCk7XG4gICAgaW1nLmNyb3NzT3JpZ2luID0gJ2Fub255bW91cyc7XG4gICAgaW1nLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgIGN0eC5jbGVhclJlY3QoMCwgMCwgY2FudmFzLndpZHRoLCBjYW52YXMuaGVpZ2h0KTtcbiAgICAgIGN0eC5kcmF3SW1hZ2UoaW1nLCAwLCAwLCBjYW52YXMud2lkdGgsIGNhbnZhcy5oZWlnaHQpO1xuICAgICAgdGhpcy5pc1VzZXJJbnRlcmFjdC5zZXQodHJ1ZSk7XG4gICAgICB0aGlzLnBhcmVudC5jb21taXRWYWx1ZShjYW52YXMudG9EYXRhVVJMKCdpbWFnZS9wbmcnKSk7XG4gICAgfTtcbiAgICBpbWcuc3JjID0gZGF0YVVybDtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeHBvcnRzIHRoZSBjYW52YXMgY29udGVudCBhcyBhbiBpbWFnZS5cbiAgICpcbiAgICogQHBhcmFtIGZvcm1hdCAtIFRoZSBpbWFnZSBmb3JtYXQ6ICdpbWFnZS93ZWJwJywgJ2ltYWdlL3BuZycsIG9yICdpbWFnZS9qcGVnJ1xuICAgKi9cbiAgZ2V0T3V0UHV0KGU6ICdpbWFnZS93ZWJwJyB8ICdpbWFnZS9wbmcnIHwgJ2ltYWdlL2pwZWcnKSB7XG4gICAgY29uc3QgYmFzZTY0ID0gdGhpcy5jYW52YXNFbGVtKCkubmF0aXZlRWxlbWVudC50b0RhdGFVUkwoZSwgMC4xKTtcbiAgICBpZiAodGhpcy5pc1VzZXJJbnRlcmFjdCgpKSB7XG4gICAgICB0aGlzLnBhcmVudC5jb21taXRWYWx1ZShiYXNlNjQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnBhcmVudC5jb21taXRWYWx1ZShudWxsKTtcbiAgICB9XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IF9faG9zdENsYXNzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gW3RoaXMuY3VzdG9tQ2xhc3MoKSwgYGF4LSR7dGhpcy5wYWludEJhY2tncm91bmRDb2xvcigpfWBdO1xuICB9XG59XG4iLCI8Y2FudmFzXG4gICNjXG4gIHRhYmluZGV4PVwiMVwiXG4gIChwb2ludGVyZG93bik9XCJtb3VzZURvd25IYW5kbGVyKCRldmVudClcIlxuICAocG9pbnRlcnVwKT1cIm1vdXNlVXBIYW5kbGVyKClcIlxuICAocG9pbnRlcm1vdmUpPVwibW91c2VNb3ZlSGFuZGxlcigkZXZlbnQpXCJcbiAgY2xhc3M9XCJheC1jYW52YXMtZWxlbWVudFwiXG4+XG48L2NhbnZhcz5cbiJdfQ==","import { AXButtonModule } from '@acorex/components/button';\nimport { AXColorBoxModule } from '@acorex/components/color-box';\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 { AXTooltipModule } from '@acorex/components/tooltip';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXPaintContainerComponent } from './paint/paint-container/paint-container.component';\nimport { AXPaintToolsSelectorComponent } from './paint/paint-tools-selector/paint-tools-selector.component';\nimport { AXPaintEraserToolComponent } from './paint/paint-tools/paint-eraser-tool/paint-eraser-tool.component';\nimport { AXPaintHighlightToolComponent } from './paint/paint-tools/paint-highlight-tool/paint-highlight-tool.component';\nimport { AXPaintPenToolComponent } from './paint/paint-tools/paint-pen-tool/paint-pen-tool.component';\nimport { AXPaintViewComponent } from './paint/paint-view/paint-view.component';\nimport * as i0 from \"@angular/core\";\nconst COMPONENT = [\n AXPaintContainerComponent,\n AXPaintViewComponent,\n AXPaintToolsSelectorComponent,\n AXPaintPenToolComponent,\n AXPaintHighlightToolComponent,\n AXPaintEraserToolComponent,\n];\nconst MODULES = [\n FormsModule,\n AXRangeSliderModule,\n AXSelectBoxModule,\n AXButtonModule,\n AXColorBoxModule,\n AXPopoverModule,\n AXDecoratorModule,\n AXTooltipModule,\n];\nexport class AXPaintModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXPaintModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.3\", ngImport: i0, type: AXPaintModule, imports: [FormsModule,\n AXRangeSliderModule,\n AXSelectBoxModule,\n AXButtonModule,\n AXColorBoxModule,\n AXPopoverModule,\n AXDecoratorModule,\n AXTooltipModule, AXPaintContainerComponent,\n AXPaintViewComponent,\n AXPaintToolsSelectorComponent,\n AXPaintPenToolComponent,\n AXPaintHighlightToolComponent,\n AXPaintEraserToolComponent], exports: [AXPaintContainerComponent,\n AXPaintViewComponent,\n AXPaintToolsSelectorComponent,\n AXPaintPenToolComponent,\n AXPaintHighlightToolComponent,\n AXPaintEraserToolComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXPaintModule, imports: [MODULES, AXPaintContainerComponent,\n AXPaintToolsSelectorComponent,\n AXPaintPenToolComponent,\n AXPaintHighlightToolComponent,\n AXPaintEraserToolComponent] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXPaintModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFpbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9wYWludC9zcmMvbGliL3BhaW50Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM5RixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUM1RyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUMvRyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx5RUFBeUUsQ0FBQztBQUN4SCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUN0RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7QUFFL0UsTUFBTSxTQUFTLEdBQUc7SUFDaEIseUJBQXlCO0lBQ3pCLG9CQUFvQjtJQUNwQiw2QkFBNkI7SUFDN0IsdUJBQXVCO0lBQ3ZCLDZCQUE2QjtJQUM3QiwwQkFBMEI7Q0FDM0IsQ0FBQztBQUVGLE1BQU0sT0FBTyxHQUFHO0lBQ2QsV0FBVztJQUNYLG1CQUFtQjtJQUNuQixpQkFBaUI7SUFDakIsY0FBYztJQUNkLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLGVBQWU7Q0FDaEIsQ0FBQztBQU9GLE1BQU0sT0FBTyxhQUFhOzhHQUFiLGFBQWE7K0dBQWIsYUFBYSxZQWZ4QixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGlCQUFpQjtZQUNqQixjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLGVBQWU7WUFDZixpQkFBaUI7WUFDakIsZUFBZSxFQWhCZix5QkFBeUI7WUFDekIsb0JBQW9CO1lBQ3BCLDZCQUE2QjtZQUM3Qix1QkFBdUI7WUFDdkIsNkJBQTZCO1lBQzdCLDBCQUEwQixhQUwxQix5QkFBeUI7WUFDekIsb0JBQW9CO1lBQ3BCLDZCQUE2QjtZQUM3Qix1QkFBdUI7WUFDdkIsNkJBQTZCO1lBQzdCLDBCQUEwQjsrR0FtQmYsYUFBYSxZQUpYLE9BQU8sRUFwQnBCLHlCQUF5QjtZQUV6Qiw2QkFBNkI7WUFDN0IsdUJBQXVCO1lBQ3ZCLDZCQUE2QjtZQUM3QiwwQkFBMEI7OzJGQW1CZixhQUFhO2tCQUx6QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLEdBQUcsT0FBTyxFQUFFLEdBQUcsU0FBUyxDQUFDO29CQUNuQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQztvQkFDdkIsU0FBUyxFQUFFLEVBQUU7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQVhDb2xvckJveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb2xvci1ib3gnO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWFBvcG92ZXJNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcG9wb3Zlcic7XG5pbXBvcnQgeyBBWFJhbmdlU2xpZGVyTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3JhbmdlLXNsaWRlcic7XG5pbXBvcnQgeyBBWFNlbGVjdEJveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9zZWxlY3QtYm94JztcbmltcG9ydCB7IEFYVG9vbHRpcE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90b29sdGlwJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFYUGFpbnRDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL3BhaW50L3BhaW50LWNvbnRhaW5lci9wYWludC1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEFYUGFpbnRUb29sc1NlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9wYWludC9wYWludC10b29scy1zZWxlY3Rvci9wYWludC10b29scy1zZWxlY3Rvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhQYWludEVyYXNlclRvb2xDb21wb25lbnQgfSBmcm9tICcuL3BhaW50L3BhaW50LXRvb2xzL3BhaW50LWVyYXNlci10b29sL3BhaW50LWVyYXNlci10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWFBhaW50SGlnaGxpZ2h0VG9vbENvbXBvbmVudCB9IGZyb20gJy4vcGFpbnQvcGFpbnQtdG9vbHMvcGFpbnQtaGlnaGxpZ2h0LXRvb2wvcGFpbnQtaGlnaGxpZ2h0LXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IEFYUGFpbnRQZW5Ub29sQ29tcG9uZW50IH0gZnJvbSAnLi9wYWludC9wYWludC10b29scy9wYWludC1wZW4tdG9vbC9wYWludC1wZW4tdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhQYWludFZpZXdDb21wb25lbnQgfSBmcm9tICcuL3BhaW50L3BhaW50LXZpZXcvcGFpbnQtdmlldy5jb21wb25lbnQnO1xuXG5jb25zdCBDT01QT05FTlQgPSBbXG4gIEFYUGFpbnRDb250YWluZXJDb21wb25lbnQsXG4gIEFYUGFpbnRWaWV3Q29tcG9uZW50LFxuICBBWFBhaW50VG9vbHNTZWxlY3RvckNvbXBvbmVudCxcbiAgQVhQYWludFBlblRvb2xDb21wb25lbnQsXG4gIEFYUGFpbnRIaWdobGlnaHRUb29sQ29tcG9uZW50LFxuICBBWFBhaW50RXJhc2VyVG9vbENvbXBvbmVudCxcbl07XG5cbmNvbnN0IE1PRFVMRVMgPSBbXG4gIEZvcm1zTW9kdWxlLFxuICBBWFJhbmdlU2xpZGVyTW9kdWxlLFxuICBBWFNlbGVjdEJveE1vZHVsZSxcbiAgQVhCdXR0b25Nb2R1bGUsXG4gIEFYQ29sb3JCb3hNb2R1bGUsXG4gIEFYUG9wb3Zlck1vZHVsZSxcbiAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gIEFYVG9vbHRpcE1vZHVsZSxcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFsuLi5NT0RVTEVTLCAuLi5DT01QT05FTlRdLFxuICBleHBvcnRzOiBbLi4uQ09NUE9ORU5UXSxcbiAgcHJvdmlkZXJzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQYWludE1vZHVsZSB7fVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvbXBvbmVudHMtcGFpbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3BhaW50L3NyYy9hY29yZXgtY29tcG9uZW50cy1wYWludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":["i1"],"mappings":";;;;;;;;;;;;;;;;;;AAEO,MAAM,cAAc,CAAC;AAC5B,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,iBAAiB,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACpG,QAAQ,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,mBAAmB,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAClH,QAAQ,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,EAAE,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACrF,QAAQ,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,EAAE,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACjG,QAAQ,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,EAAE,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC3F,QAAQ,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC9F,QAAQ,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACtG,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC;AACjL,IAAI,SAAS,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;AACpI;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC;AACxH,YAAY,IAAI,EAAE;AAClB,SAAS,CAAC,EAAE,CAAC;;ACPN,MAAM,6BAA6B,CAAC;AAC3C,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC;AAC7C,QAAQ,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC7E,QAAQ,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACzF,QAAQ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACnF,QAAQ,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACjF,IAAI;AACJ,IAAI,iBAAiB,CAAC,IAAI,EAAE;AAC5B,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE;AACrD,YAAY,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;AAClD,YAAY;AACZ,QAAQ;AACR,QAAQ,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;AAC9C,IAAI;AACJ,IAAI,KAAK,GAAG;AACZ,QAAQ,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC;AACxD,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC/L,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,6BAA6B,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,yBAAyB,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,6BAA6B,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,65CAA65C,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,wBAAwB,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,mBAAmB,EAAE,WAAW,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,qBAAqB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;AAC9lF;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,6BAA6B,EAAE,UAAU,EAAE,CAAC;AACvI,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,yBAAyB,EAAE,aAAa,EAAE,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,SAAS,EAAE,gBAAgB,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,6BAA6B,EAAE,CAAC,EAAE,QAAQ,EAAE,65CAA65C,EAAE;AAC/rD,SAAS,CAAC,EAAE,CAAC;;AC3Bb;AACA;AACA;AACA;AACO,MAAM,0BAA0B,CAAC;AACxC,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC;AAC7C,QAAQ,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACnH,IAAI;AACJ;AACA,IAAI,YAAY,CAAC,CAAC,EAAE;AACpB,QAAQ,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;AACvC,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC5L,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,0BAA0B,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,sBAAsB,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,+HAA+H,EAAE,MAAM,EAAE,CAAC,sOAAsO,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEA,IAAE,CAAC,eAAe,EAAE,QAAQ,EAAE,2CAA2C,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEA,IAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,qDAAqD,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,CAAC,EAAE,OAAO,EAAE,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;AAC14C;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,UAAU,EAAE,CAAC;AACpI,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,sBAAsB,EAAE,aAAa,EAAE,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,WAAW,EAAE,sBAAsB,CAAC,EAAE,eAAe,EAAE,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC,EAAE,QAAQ,EAAE,+HAA+H,EAAE,MAAM,EAAE,CAAC,sOAAsO,CAAC,EAAE;AAC5oB,SAAS,CAAC,EAAE,CAAC;;AClBb;AACA;AACA;AACA;AACO,MAAM,6BAA6B,CAAC;AAC3C,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC;AAC7C,QAAQ,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACtH,QAAQ,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACtI,IAAI;AACJ,IAAI,kBAAkB,CAAC,CAAC,EAAE;AAC1B,QAAQ,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1C,QAAQ,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;AACjC,IAAI;AACJ;AACA,IAAI,YAAY,CAAC,CAAC,EAAE;AACpB,QAAQ,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1C,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC/L,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,6BAA6B,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,yBAAyB,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,6BAA6B,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,yXAAyX,EAAE,MAAM,EAAE,CAAC,+OAA+O,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEA,IAAE,CAAC,eAAe,EAAE,QAAQ,EAAE,2CAA2C,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEA,IAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,qDAAqD,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,CAAC,EAAE,OAAO,EAAE,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;AAC5gE;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,6BAA6B,EAAE,UAAU,EAAE,CAAC;AACvI,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,yBAAyB,EAAE,aAAa,EAAE,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,mBAAmB,EAAE,WAAW,EAAE,sBAAsB,CAAC,EAAE,eAAe,EAAE,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,6BAA6B,EAAE,CAAC,EAAE,QAAQ,EAAE,yXAAyX,EAAE,MAAM,EAAE,CAAC,+OAA+O,CAAC,EAAE;AAC16B,SAAS,CAAC,EAAE,CAAC;;ACxBb;AACA;AACA;AACA;AACO,MAAM,uBAAuB,CAAC;AACrC,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC;AAC7C;AACA,QAAQ,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAChH;AACA,QAAQ,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAChI,IAAI;AACJ,IAAI,kBAAkB,CAAC,CAAC,EAAE;AAC1B,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AACpC,QAAQ,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;AACjC,IAAI;AACJ;AACA,IAAI,YAAY,CAAC,CAAC,EAAE;AACpB,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AACpC,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AACzL,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,uBAAuB,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,mBAAmB,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,yXAAyX,EAAE,MAAM,EAAE,CAAC,6NAA6N,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEA,IAAE,CAAC,eAAe,EAAE,QAAQ,EAAE,2CAA2C,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEA,IAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,qDAAqD,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,CAAC,EAAE,OAAO,EAAE,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;AACx+D;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,UAAU,EAAE,CAAC;AACjI,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,aAAa,EAAE,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,mBAAmB,EAAE,WAAW,EAAE,sBAAsB,CAAC,EAAE,eAAe,EAAE,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAC,EAAE,QAAQ,EAAE,yXAAyX,EAAE,MAAM,EAAE,CAAC,6NAA6N,CAAC,EAAE;AAC54B,SAAS,CAAC,EAAE,CAAC;;ACrBb;AACA;AACA;AACA;AACO,MAAM,yBAAyB,SAAS,OAAO,EAAE,yBAAyB,GAAG,eAAe,CAAC,CAAC;AACrG,IAAI,WAAW,GAAG;AAClB,QAAQ,KAAK,CAAC,GAAG,SAAS,CAAC;AAC3B,QAAQ,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC;AAC7C,QAAQ,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACvF,QAAQ,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM;AACjC,YAAY,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;AACjC,gBAAgB,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC;AACvD,YAAY;AACZ,QAAQ,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACzD,IAAI;AACJ,IAAI,IAAI;AACR,IAAI,IAAI,WAAW,GAAG;AACtB,QAAQ,IAAI,IAAI,CAAC,QAAQ;AACzB,YAAY,OAAO,mBAAmB;AACtC,QAAQ,OAAO,EAAE;AACjB,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,IAAI,aAAa,CAAC,IAAI,EAAE;AACxB,QAAQ,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;AAC9C,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,IAAI,WAAW,CAAC,KAAK,EAAE;AACvB,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;AACxC,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,IAAI,iBAAiB,CAAC,KAAK,EAAE;AAC7B,QAAQ,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC;AAC9C,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,IAAI,WAAW,CAAC,KAAK,EAAE;AACvB,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;AACxC,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,IAAI,iBAAiB,CAAC,KAAK,EAAE;AAC7B,QAAQ,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC;AAC9C,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,IAAI,cAAc,CAAC,KAAK,EAAE;AAC1B,QAAQ,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;AAC3C,IAAI;AACJ;AACA;AACA;AACA,IAAI,KAAK,GAAG;AACZ,QAAQ,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC;AACxD,IAAI;AACJ,IAAI,IAAI,UAAU,GAAG;AACrB,QAAQ,OAAO,IAAI,CAAC,IAAI;AACxB,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC7L,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,yBAAyB,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,iBAAiB,EAAE,EAAE,EAAE,SAAS,EAAE;AACxpB,YAAY,cAAc;AAC1B,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,yBAAyB,EAAE;AAC5E,YAAY,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,yBAAyB,EAAE;AACrF,YAAY,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,yBAAyB,EAAE;AACpF,YAAY;AACZ,gBAAgB,OAAO,EAAE,iBAAiB;AAC1C,gBAAgB,WAAW,EAAE,UAAU,CAAC,MAAM,yBAAyB,CAAC;AACxE,gBAAgB,KAAK,EAAE,IAAI;AAC3B,aAAa;AACb,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,09BAA09B,EAAE,MAAM,EAAE,CAAC,sgBAAsgB,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,2BAA2B,EAAE,QAAQ,EAAE,8IAA8I,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,6BAA6B,EAAE,QAAQ,EAAE,yBAAyB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,uBAAuB,EAAE,QAAQ,EAAE,mBAAmB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,6BAA6B,EAAE,QAAQ,EAAE,yBAAyB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,0BAA0B,EAAE,QAAQ,EAAE,sBAAsB,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;AACryE;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,UAAU,EAAE,CAAC;AACnI,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,oBAAoB,EAAE,aAAa,EAAE,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,SAAS,EAAE;AACrI,wBAAwB,cAAc;AACtC,wBAAwB,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,yBAAyB,EAAE;AACxF,wBAAwB,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,yBAAyB,EAAE;AACjG,wBAAwB,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,yBAAyB,EAAE;AAChG,wBAAwB;AACxB,4BAA4B,OAAO,EAAE,iBAAiB;AACtD,4BAA4B,WAAW,EAAE,UAAU,CAAC,MAAM,yBAAyB,CAAC;AACpF,4BAA4B,KAAK,EAAE,IAAI;AACvC,yBAAyB;AACzB,qBAAqB,EAAE,OAAO,EAAE;AAChC,wBAAwB,kBAAkB;AAC1C,wBAAwB,iBAAiB;AACzC,wBAAwB,6BAA6B;AACrD,wBAAwB,uBAAuB;AAC/C,wBAAwB,6BAA6B;AACrD,wBAAwB,0BAA0B;AAClD,qBAAqB,EAAE,QAAQ,EAAE,09BAA09B,EAAE,MAAM,EAAE,CAAC,sgBAAsgB,CAAC,EAAE;AAC/gD,SAAS,CAAC,EAAE,cAAc,EAAE,EAAE,WAAW,EAAE,CAAC;AAC5C,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,OAAO;AAC9B,aAAa,CAAC,EAAE,UAAU,EAAE,CAAC;AAC7B,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,WAAW;AAClC,aAAa,CAAC,EAAE,EAAE,CAAC;;AC5HnB;AACA;AACA;AACA;AACO,MAAM,oBAAoB,CAAC;AAClC,IAAI,WAAW,GAAG;AAClB;AACA,QAAQ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,yBAAyB,CAAC;AACvD;AACA,QAAQ,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC;AAC7C;AACA,QAAQ,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;AACzC,QAAQ,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;AAC7C,QAAQ,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC;AAC1C;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,EAAE,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;AAC5H,QAAQ,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,sBAAsB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACjH;AACA,QAAQ,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC7F;AACA,QAAQ,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC7E;AACA,QAAQ,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC5F;AACA,QAAQ,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACpG,QAAQ,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC,MAAM;AAC3C,YAAY,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAC1E,YAAY,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,GAAG,OAAO;AACzC,YAAY,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,GAAG,OAAO;AACxC,YAAY,UAAU,CAAC,MAAM;AAC7B,gBAAgB,IAAI,CAAC,kBAAkB,EAAE;AACzC,YAAY,CAAC,CAAC;AACd,YAAY,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;AACpD,gBAAgB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7G,YAAY;AACZ,QAAQ,CAAC,CAAC;AACV,QAAQ,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM;AACpC,YAAY,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC;AAC1C,YAAY,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;AACtC,YAAY,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,wBAAwB,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,wBAAwB,EAAE,EAAE,MAAM,CAAC;AACxH,QAAQ,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC5D,IAAI;AACJ,IAAI,KAAK;AACT,IAAI,OAAO;AACX;AACA,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE;AACpE,YAAY,IAAI,CAAC,WAAW,EAAE;AAC9B,QAAQ;AACR,IAAI;AACJ;AACA,IAAI,kBAAkB,GAAG;AACzB,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,wBAAwB,EAAE,EAAE,KAAK;AACxE,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,wBAAwB,EAAE,EAAE,MAAM;AAC1E,IAAI;AACJ;AACA,IAAI,gBAAgB,CAAC,OAAO,EAAE;AAC9B,QAAQ,QAAQ,OAAO;AACvB,YAAY,KAAK,KAAK;AACtB,gBAAgB,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,GAAG,CAAC;AAC1C,gBAAgB,IAAI,CAAC,GAAG,EAAE,CAAC,wBAAwB,GAAG,aAAa;AACnE,gBAAgB,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;AAChE,gBAAgB,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;AAC9D,gBAAgB;AAChB,YAAY,KAAK,QAAQ;AACzB,gBAAgB,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,GAAG,CAAC;AAC1C,gBAAgB,IAAI,CAAC,GAAG,EAAE,CAAC,wBAAwB,GAAG,iBAAiB;AACvE,gBAAgB,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;AACjE,gBAAgB;AAChB,YAAY,KAAK,WAAW;AAC5B,gBAAgB,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,GAAG,KAAK;AAC9C,gBAAgB,IAAI,CAAC,GAAG,EAAE,CAAC,wBAAwB,GAAG,aAAa;AACnE,gBAAgB,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;AACtE,gBAAgB,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;AACpE,gBAAgB;AAChB;AACA,IAAI;AACJ;AACA,IAAI,wBAAwB,GAAG;AAC/B,QAAQ,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,qBAAqB,EAAE;AAClE,IAAI;AACJ;AACA,IAAI,gBAAgB,CAAC,CAAC,EAAE;AACxB,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;AAC3C,YAAY;AACZ,QAAQ,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;AACjC,QAAQ,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC;AACrC,QAAQ,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;AAC7D,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE;AAC9B,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC;AAC/C,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC;AAC/C,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE;AAC3B,IAAI;AACJ;AACA,IAAI,gBAAgB,CAAC,CAAC,EAAE;AACxB,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;AAC/B,YAAY,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC;AACnD,YAAY,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE;AAC/B,QAAQ;AACR,IAAI;AACJ;AACA,IAAI,cAAc,GAAG;AACrB,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE;AAC9B,QAAQ,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;AAClC,QAAQ,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;AACnC,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,IAAI,SAAS,CAAC,OAAO,EAAE;AACvB,QAAQ,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;AAC9B,QAAQ,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,EAAE,aAAa;AACvD,QAAQ,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO;AACvC,YAAY;AACZ,QAAQ,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE;AAC/B,QAAQ,GAAG,CAAC,WAAW,GAAG,WAAW;AACrC,QAAQ,GAAG,CAAC,MAAM,GAAG,MAAM;AAC3B,YAAY,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;AAC5D,YAAY,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;AACjE,YAAY,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC;AACzC,YAAY,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;AAClE,QAAQ,CAAC;AACT,QAAQ,GAAG,CAAC,GAAG,GAAG,OAAO;AACzB,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,IAAI,SAAS,CAAC,CAAC,EAAE;AACjB,QAAQ,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;AACxE,QAAQ,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;AACnC,YAAY,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC;AAC3C,QAAQ;AACR,aAAa;AACb,YAAY,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;AACzC,QAAQ;AACR,IAAI;AACJ,IAAI,IAAI,WAAW,GAAG;AACtB,QAAQ,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC;AACxE,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AACtL,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,oBAAoB,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,EAAE,iBAAiB,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,oBAAoB,EAAE,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,UAAU,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,gNAAgN,EAAE,MAAM,EAAE,CAAC,6RAA6R,CAAC,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;AACj0C;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,UAAU,EAAE,CAAC;AAC9H,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAE,iBAAiB,CAAC,IAAI,EAAE,eAAe,EAAE,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC,EAAE,QAAQ,EAAE,gNAAgN,EAAE,MAAM,EAAE,CAAC,6RAA6R,CAAC,EAAE;AACvtB,SAAS,CAAC,EAAE,cAAc,EAAE,EAAE,WAAW,EAAE,CAAC;AAC5C,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,OAAO;AAC9B,aAAa,CAAC,EAAE,EAAE,CAAC;;ACjJnB,MAAM,SAAS,GAAG;AAClB,IAAI,yBAAyB;AAC7B,IAAI,oBAAoB;AACxB,IAAI,6BAA6B;AACjC,IAAI,uBAAuB;AAC3B,IAAI,6BAA6B;AACjC,IAAI,0BAA0B;AAC9B,CAAC;AACD,MAAM,OAAO,GAAG;AAChB,IAAI,WAAW;AACf,IAAI,mBAAmB;AACvB,IAAI,iBAAiB;AACrB,IAAI,cAAc;AAClB,IAAI,gBAAgB;AACpB,IAAI,eAAe;AACnB,IAAI,iBAAiB;AACrB,IAAI,eAAe;AACnB,CAAC;AACM,MAAM,aAAa,CAAC;AAC3B,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC9K,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,WAAW;AACnJ,YAAY,mBAAmB;AAC/B,YAAY,iBAAiB;AAC7B,YAAY,cAAc;AAC1B,YAAY,gBAAgB;AAC5B,YAAY,eAAe;AAC3B,YAAY,iBAAiB;AAC7B,YAAY,eAAe,EAAE,yBAAyB;AACtD,YAAY,oBAAoB;AAChC,YAAY,6BAA6B;AACzC,YAAY,uBAAuB;AACnC,YAAY,6BAA6B;AACzC,YAAY,0BAA0B,CAAC,EAAE,OAAO,EAAE,CAAC,yBAAyB;AAC5E,YAAY,oBAAoB;AAChC,YAAY,6BAA6B;AACzC,YAAY,uBAAuB;AACnC,YAAY,6BAA6B;AACzC,YAAY,0BAA0B,CAAC,EAAE,CAAC,CAAC;AAC3C,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,yBAAyB;AAC1K,YAAY,6BAA6B;AACzC,YAAY,uBAAuB;AACnC,YAAY,6BAA6B;AACzC,YAAY,0BAA0B,CAAC,EAAE,CAAC,CAAC;AAC3C;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;AACvH,YAAY,IAAI,EAAE,QAAQ;AAC1B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,GAAG,SAAS,CAAC;AACvD,oBAAoB,OAAO,EAAE,CAAC,GAAG,SAAS,CAAC;AAC3C,oBAAoB,SAAS,EAAE,EAAE;AACjC,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;ACnEb;AACA;AACA;;;;"}
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@acorex/components",
3
- "version": "20.4.6",
3
+ "version": "20.4.8",
4
4
  "peerDependencies": {
5
- "@acorex/core": "20.4.6",
6
- "@acorex/cdk": "20.4.6",
5
+ "@acorex/core": "20.4.8",
6
+ "@acorex/cdk": "20.4.8",
7
7
  "@angular/common": ">=20.0.0",
8
8
  "@angular/core": ">=20.0.0",
9
9
  "@angular/cdk": ">=20.0.0",
package/paint/index.d.ts CHANGED
@@ -126,6 +126,12 @@ declare class AXPaintViewComponent implements OnDestroy {
126
126
  protected mouseMoveHandler(e: MouseEvent): void;
127
127
  /** @ignore */
128
128
  protected mouseUpHandler(): void;
129
+ /**
130
+ * Loads an image onto the canvas (e.g. for editing an existing signature).
131
+ *
132
+ * @param dataUrl - Data URL of the image (e.g. from toDataURL or existing value)
133
+ */
134
+ loadImage(dataUrl: string): void;
129
135
  /**
130
136
  * Exports the canvas content as an image.
131
137
  *