@acorex/components 20.1.4 → 20.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/action-sheet/index.d.ts +2 -1
  2. package/badge/index.d.ts +3 -4
  3. package/check-box/index.d.ts +2 -1
  4. package/color-box/index.d.ts +1 -0
  5. package/color-palette/index.d.ts +2 -0
  6. package/conversation/index.d.ts +23 -27
  7. package/fesm2022/acorex-components-action-sheet.mjs +22 -11
  8. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  9. package/fesm2022/acorex-components-audio-wave.mjs +2 -2
  10. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  11. package/fesm2022/acorex-components-autocomplete.mjs +2 -2
  12. package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
  13. package/fesm2022/acorex-components-badge.mjs +5 -6
  14. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  15. package/fesm2022/acorex-components-calendar.mjs +2 -2
  16. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  17. package/fesm2022/acorex-components-check-box.mjs +8 -6
  18. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  19. package/fesm2022/acorex-components-color-box.mjs +11 -2
  20. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  21. package/fesm2022/acorex-components-color-palette.mjs +23 -7
  22. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  23. package/fesm2022/acorex-components-comment.mjs +2 -2
  24. package/fesm2022/acorex-components-comment.mjs.map +1 -1
  25. package/fesm2022/acorex-components-conversation.mjs +41 -30
  26. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  27. package/fesm2022/acorex-components-cron-job.mjs +14 -14
  28. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  29. package/fesm2022/acorex-components-data-pager.mjs +1 -1
  30. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  31. package/fesm2022/acorex-components-data-table.mjs +3 -3
  32. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  33. package/fesm2022/acorex-components-datetime-picker.mjs +2 -2
  34. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  35. package/fesm2022/acorex-components-form.mjs +5 -4
  36. package/fesm2022/acorex-components-form.mjs.map +1 -1
  37. package/fesm2022/acorex-components-image-editor.mjs +27 -20
  38. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  39. package/fesm2022/acorex-components-kanban.mjs +10 -4
  40. package/fesm2022/acorex-components-kanban.mjs.map +1 -1
  41. package/fesm2022/acorex-components-list.mjs +2 -2
  42. package/fesm2022/acorex-components-list.mjs.map +1 -1
  43. package/fesm2022/acorex-components-notification.mjs +1 -1
  44. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  45. package/fesm2022/acorex-components-number-box-2.mjs +1 -3
  46. package/fesm2022/acorex-components-number-box-2.mjs.map +1 -1
  47. package/fesm2022/acorex-components-paint.mjs +46 -16
  48. package/fesm2022/acorex-components-paint.mjs.map +1 -1
  49. package/fesm2022/acorex-components-password-box.mjs +2 -2
  50. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  51. package/fesm2022/acorex-components-scheduler.mjs +28 -29
  52. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  53. package/fesm2022/acorex-components-search-box.mjs +2 -2
  54. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  55. package/fesm2022/acorex-components-select-box.mjs +2 -2
  56. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  57. package/fesm2022/acorex-components-side-menu.mjs +2 -2
  58. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  59. package/fesm2022/acorex-components-time-duration.mjs +8 -8
  60. package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
  61. package/fesm2022/acorex-components-toast.mjs +1 -1
  62. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  63. package/fesm2022/acorex-components-tooltip.mjs +20 -22
  64. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  65. package/fesm2022/acorex-components-tree-view.mjs +40 -10
  66. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  67. package/fesm2022/acorex-components-uploader.mjs +9 -9
  68. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  69. package/image-editor/index.d.ts +1 -2
  70. package/kanban/index.d.ts +7 -2
  71. package/package.json +5 -5
  72. package/paint/index.d.ts +17 -7
  73. package/tooltip/index.d.ts +4 -4
  74. package/tree-view/index.d.ts +3 -0
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-number-box-2.mjs","sources":["../tmp-esm2022/number-box-2/lib/number-box-2.component.js","../tmp-esm2022/number-box-2/acorex-components-number-box-2.js"],"sourcesContent":["import { AXInputMaskDirective } from '@acorex/cdk/input-mask';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, afterNextRender, effect, forwardRef, input, model, signal, viewChild, } from '@angular/core';\nimport { AXClearableComponent, AXComponent, AXFocusableComponent, AXValuableComponent, MXInputBaseValueComponent, MXLookComponent, } from '@acorex/cdk/common';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\n/**\n * The NumberBox is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\nexport class AXNumberBox2Component extends classes((MXInputBaseValueComponent), MXLookComponent) {\n constructor() {\n super(...arguments);\n this.minValue = input(null);\n this.maxValue = input(null);\n this.showSpinButtons = input(true);\n this.thousandsSeparator = model(null);\n this.decimals = input(0);\n this.changeOnScroll = input(false);\n this.step = input(1);\n this.mode = signal('digits');\n this.input = viewChild('input');\n this.stringValue = '0';\n this.#init = afterNextRender(() => {\n this.onFocus.subscribe(() => {\n this.input().nativeElement.select();\n });\n });\n this.#eff = effect(() => {\n if (this.thousandsSeparator() && this.decimals()) {\n this.mode.set('digits');\n return;\n }\n else if (this.thousandsSeparator()) {\n this.mode.set('thousandsSeparator');\n return;\n }\n else if (this.decimals()) {\n this.mode.set('decimal');\n }\n });\n }\n internalValueChanged(value) {\n if (value === undefined)\n this.stringValue = '';\n }\n #init;\n #eff;\n plusValue() {\n if (this.mode() === 'thousandsSeparator') {\n const removeSeparator = this.stringValue.split(this.thousandsSeparator()).join('');\n const addStep = +removeSeparator + this.step();\n this.commitValue(addStep);\n const addSeparator = addStep.toLocaleString();\n const replaceSeparator = addSeparator.split(',').join(this.thousandsSeparator());\n this.stringValue = replaceSeparator;\n }\n else {\n const convert = +this.stringValue + this.step();\n this.commitValue(convert);\n this.stringValue = convert.toString();\n }\n }\n minusValue() {\n if (this.mode() === 'thousandsSeparator') {\n const removeSeparator = this.stringValue.split(this.thousandsSeparator()).join('');\n const addStep = +removeSeparator - this.step();\n this.commitValue(addStep);\n const addSeparator = addStep.toLocaleString();\n const replaceSeparator = addSeparator.split(',').join(this.thousandsSeparator());\n this.stringValue = replaceSeparator;\n }\n else {\n const convert = +this.stringValue + this.step() * -1;\n this.commitValue(convert);\n this.stringValue = convert.toString();\n }\n }\n handleOnKeydownEvent(e) {\n if (e.key !== 'ArrowUp' && e.key !== 'ArrowDown')\n return;\n if (e.key === 'ArrowUp') {\n this.plusValue();\n }\n else if (e.key === 'ArrowDown') {\n this.minusValue();\n }\n }\n handleUpClick() {\n this.plusValue();\n }\n handleDownClick() {\n this.minusValue();\n }\n handleOnMaskChanged(e) {\n if (!e.unmasked) {\n this.commitValue(null);\n return;\n }\n if (isNaN(+e.unmasked))\n return;\n this.commitValue(+e.unmasked);\n }\n onWheel(event) {\n if (this.changeOnScroll()) {\n event.preventDefault();\n if (!this.disabled && !this.readonly) {\n if (event.deltaY > 0) {\n this.minusValue();\n }\n else {\n this.plusValue();\n }\n }\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXNumberBox2Component, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.4\", type: AXNumberBox2Component, isStandalone: true, selector: \"ax-number-box-2\", 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 }, look: { classPropertyName: \"look\", publicName: \"look\", isSignal: false, isRequired: false, transformFunction: null }, minValue: { classPropertyName: \"minValue\", publicName: \"minValue\", isSignal: true, isRequired: false, transformFunction: null }, maxValue: { classPropertyName: \"maxValue\", publicName: \"maxValue\", isSignal: true, isRequired: false, transformFunction: null }, showSpinButtons: { classPropertyName: \"showSpinButtons\", publicName: \"showSpinButtons\", isSignal: true, isRequired: false, transformFunction: null }, thousandsSeparator: { classPropertyName: \"thousandsSeparator\", publicName: \"thousandsSeparator\", isSignal: true, isRequired: false, transformFunction: null }, decimals: { classPropertyName: \"decimals\", publicName: \"decimals\", isSignal: true, isRequired: false, transformFunction: null }, changeOnScroll: { classPropertyName: \"changeOnScroll\", publicName: \"changeOnScroll\", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: \"step\", publicName: \"step\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: \"valueChange\", stateChange: \"stateChange\", onValueChanged: \"onValueChanged\", onBlur: \"onBlur\", onFocus: \"onFocus\", readonlyChange: \"readonlyChange\", disabledChange: \"disabledChange\", onKeyDown: \"onKeyDown\", onKeyUp: \"onKeyUp\", onKeyPress: \"onKeyPress\", thousandsSeparator: \"thousandsSeparatorChange\" }, providers: [\n { provide: AXComponent, useExisting: AXNumberBox2Component },\n { provide: AXFocusableComponent, useExisting: AXNumberBox2Component },\n { provide: AXClearableComponent, useExisting: AXNumberBox2Component },\n { provide: AXValuableComponent, useExisting: AXNumberBox2Component },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXNumberBox2Component),\n multi: true,\n },\n ], viewQueries: [{ propertyName: \"input\", first: true, predicate: [\"input\"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: \"<div\\n class=\\\"ax-editor-container ax-{{ look }}\\\"\\n [class.ax-state-disabled]=\\\"disabled\\\"\\n [class.ax-state-readonly]=\\\"readonly\\\"\\n>\\n <ng-content select=\\\"ax-prefix\\\"> </ng-content>\\n <input\\n #input\\n axInputMask\\n (onMaskChanged)=\\\"handleOnMaskChanged($event)\\\"\\n [maskMode]=\\\"mode()\\\"\\n inputmode=\\\"numeric\\\"\\n class=\\\"ax-input\\\"\\n [minValue]=\\\"minValue()\\\"\\n [maxValue]=\\\"maxValue()\\\"\\n [separator]=\\\"thousandsSeparator()\\\"\\n [decimal]=\\\"decimals()\\\"\\n [id]=\\\"id\\\"\\n [name]=\\\"name\\\"\\n [attr.placeholder]=\\\"placeholder\\\"\\n [attr.autocomplete]=\\\"'off'\\\"\\n [class.ax-state-disabled]=\\\"disabled\\\"\\n [class.ax-state-readonly]=\\\"readonly\\\"\\n [disabled]=\\\"disabled\\\"\\n [readonly]=\\\"readonly\\\"\\n [tabindex]=\\\"tabIndex\\\"\\n [(ngModel)]=\\\"stringValue\\\"\\n (keydown)=\\\"handleOnKeydownEvent($event)\\\"\\n (keyup)=\\\"emitOnKeyupEvent($event)\\\"\\n (keypress)=\\\"emitOnKeypressEvent($event)\\\"\\n (focus)=\\\"emitOnFocusEvent($event)\\\"\\n (blur)=\\\"emitOnBlurEvent($event)\\\"\\n (wheel)=\\\"onWheel($event)\\\"\\n />\\n @if (input.value && !disabled && !readonly) {\\n <ng-content select=\\\"ax-clear-button\\\"></ng-content>\\n }\\n @if (showSpinButtons()) {\\n <div class=\\\"ax-number-box-control\\\">\\n <button\\n type=\\\"button\\\"\\n class=\\\"ax-editor-button\\\"\\n [class.ax-state-disabled]=\\\"disabled\\\"\\n (click)=\\\"handleUpClick()\\\"\\n tabindex=\\\"-1\\\"\\n [disabled]=\\\"disabled\\\"\\n >\\n <span class=\\\"ax-icon ax-icon-chevron-up ax-arrow-button\\\"></span>\\n </button>\\n <button\\n type=\\\"button\\\"\\n class=\\\"ax-editor-button\\\"\\n [class.ax-state-disabled]=\\\"disabled\\\"\\n (click)=\\\"handleDownClick()\\\"\\n tabindex=\\\"-1\\\"\\n [disabled]=\\\"disabled\\\"\\n >\\n <span class=\\\"ax-icon ax-icon-chevron-down ax-arrow-button\\\"></span>\\n </button>\\n </div>\\n }\\n\\n <ng-content select=\\\"ax-suffix\\\"> </ng-content>\\n</div>\\n<ng-content select=\\\"ax-validation-rule\\\"> </ng-content>\\n<div class=\\\"ax-error-container\\\"></div>\\n\", styles: [\"ax-number-box-2 input::-webkit-outer-spin-button,ax-number-box-2 input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}ax-number-box-2 input[type=number]{-moz-appearance:textfield}ax-number-box-2 .ax-number-box-control{--ax-comp-editor-button-height: 50%;--ax-comp-editor-button-font-size: .75rem;height:100%;display:flex;flex-direction:column;gap:.1rem}ax-number-box-2 .ax-number-box-control button{font-size:.75rem}ax-number-box-2 .ax-number-box-control button:first-child{align-items:flex-end;display:flex}ax-number-box-2 .ax-number-box-control button:last-child{align-items:flex-start;display:flex}\\n\"], dependencies: [{ kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i1.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { 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: \"directive\", type: AXInputMaskDirective, selector: \"[axInputMask]\", inputs: [\"maskMode\", \"separator\", \"eager\", \"minValue\", \"maxValue\", \"decimal\"], outputs: [\"onMaskChanged\"], exportAs: [\"axInputMask\"] }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"ngmodule\", type: AXDecoratorModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXNumberBox2Component, decorators: [{\n type: Component,\n args: [{ selector: 'ax-number-box-2', inputs: ['disabled', 'readonly', 'tabIndex', 'placeholder', 'value', 'state', 'name', 'id', 'look'], outputs: [\n 'valueChange',\n 'stateChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n 'readonlyChange',\n 'disabledChange',\n 'onKeyDown',\n 'onKeyUp',\n 'onKeyPress',\n ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [\n { provide: AXComponent, useExisting: AXNumberBox2Component },\n { provide: AXFocusableComponent, useExisting: AXNumberBox2Component },\n { provide: AXClearableComponent, useExisting: AXNumberBox2Component },\n { provide: AXValuableComponent, useExisting: AXNumberBox2Component },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXNumberBox2Component),\n multi: true,\n },\n ], imports: [FormsModule, AXInputMaskDirective, AXButtonModule, AXDecoratorModule], template: \"<div\\n class=\\\"ax-editor-container ax-{{ look }}\\\"\\n [class.ax-state-disabled]=\\\"disabled\\\"\\n [class.ax-state-readonly]=\\\"readonly\\\"\\n>\\n <ng-content select=\\\"ax-prefix\\\"> </ng-content>\\n <input\\n #input\\n axInputMask\\n (onMaskChanged)=\\\"handleOnMaskChanged($event)\\\"\\n [maskMode]=\\\"mode()\\\"\\n inputmode=\\\"numeric\\\"\\n class=\\\"ax-input\\\"\\n [minValue]=\\\"minValue()\\\"\\n [maxValue]=\\\"maxValue()\\\"\\n [separator]=\\\"thousandsSeparator()\\\"\\n [decimal]=\\\"decimals()\\\"\\n [id]=\\\"id\\\"\\n [name]=\\\"name\\\"\\n [attr.placeholder]=\\\"placeholder\\\"\\n [attr.autocomplete]=\\\"'off'\\\"\\n [class.ax-state-disabled]=\\\"disabled\\\"\\n [class.ax-state-readonly]=\\\"readonly\\\"\\n [disabled]=\\\"disabled\\\"\\n [readonly]=\\\"readonly\\\"\\n [tabindex]=\\\"tabIndex\\\"\\n [(ngModel)]=\\\"stringValue\\\"\\n (keydown)=\\\"handleOnKeydownEvent($event)\\\"\\n (keyup)=\\\"emitOnKeyupEvent($event)\\\"\\n (keypress)=\\\"emitOnKeypressEvent($event)\\\"\\n (focus)=\\\"emitOnFocusEvent($event)\\\"\\n (blur)=\\\"emitOnBlurEvent($event)\\\"\\n (wheel)=\\\"onWheel($event)\\\"\\n />\\n @if (input.value && !disabled && !readonly) {\\n <ng-content select=\\\"ax-clear-button\\\"></ng-content>\\n }\\n @if (showSpinButtons()) {\\n <div class=\\\"ax-number-box-control\\\">\\n <button\\n type=\\\"button\\\"\\n class=\\\"ax-editor-button\\\"\\n [class.ax-state-disabled]=\\\"disabled\\\"\\n (click)=\\\"handleUpClick()\\\"\\n tabindex=\\\"-1\\\"\\n [disabled]=\\\"disabled\\\"\\n >\\n <span class=\\\"ax-icon ax-icon-chevron-up ax-arrow-button\\\"></span>\\n </button>\\n <button\\n type=\\\"button\\\"\\n class=\\\"ax-editor-button\\\"\\n [class.ax-state-disabled]=\\\"disabled\\\"\\n (click)=\\\"handleDownClick()\\\"\\n tabindex=\\\"-1\\\"\\n [disabled]=\\\"disabled\\\"\\n >\\n <span class=\\\"ax-icon ax-icon-chevron-down ax-arrow-button\\\"></span>\\n </button>\\n </div>\\n }\\n\\n <ng-content select=\\\"ax-suffix\\\"> </ng-content>\\n</div>\\n<ng-content select=\\\"ax-validation-rule\\\"> </ng-content>\\n<div class=\\\"ax-error-container\\\"></div>\\n\", styles: [\"ax-number-box-2 input::-webkit-outer-spin-button,ax-number-box-2 input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}ax-number-box-2 input[type=number]{-moz-appearance:textfield}ax-number-box-2 .ax-number-box-control{--ax-comp-editor-button-height: 50%;--ax-comp-editor-button-font-size: .75rem;height:100%;display:flex;flex-direction:column;gap:.1rem}ax-number-box-2 .ax-number-box-control button{font-size:.75rem}ax-number-box-2 .ax-number-box-control button:first-child{align-items:flex-end;display:flex}ax-number-box-2 .ax-number-box-control button:last-child{align-items:flex-start;display:flex}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWJveC0yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvbnVtYmVyLWJveC0yL3NyYy9saWIvbnVtYmVyLWJveC0yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvbnVtYmVyLWJveC0yL3NyYy9saWIvbnVtYmVyLWJveC0yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBeUIsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRixPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxpQkFBaUIsRUFDakIsZUFBZSxFQUNmLE1BQU0sRUFDTixVQUFVLEVBQ1YsS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsV0FBVyxFQUNYLG9CQUFvQixFQUNwQixtQkFBbUIsRUFDbkIseUJBQXlCLEVBQ3pCLGVBQWUsR0FDaEIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7OztBQUVuQzs7OztHQUlHO0FBaUNILE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxPQUFPLENBQUMsQ0FBQSx5QkFBaUMsQ0FBQSxFQUFFLGVBQWUsQ0FBQztJQWhDdEc7O1FBaUNFLGFBQVEsR0FBRyxLQUFLLENBQVMsSUFBSSxDQUFDLENBQUM7UUFDL0IsYUFBUSxHQUFHLEtB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aUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYSW5wdXRNYXNrRGlyZWN0aXZlLCB0eXBlIEFYSW5wdXRNYXNrRXZlbnQgfSBmcm9tICdAYWNvcmV4L2Nkay9pbnB1dC1tYXNrJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBhZnRlck5leHRSZW5kZXIsXG4gIGVmZmVjdCxcbiAgZm9yd2FyZFJlZixcbiAgaW5wdXQsXG4gIG1vZGVsLFxuICBzaWduYWwsXG4gIHZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIEFYQ2xlYXJhYmxlQ29tcG9uZW50LFxuICBBWENvbXBvbmVudCxcbiAgQVhGb2N1c2FibGVDb21wb25lbnQsXG4gIEFYVmFsdWFibGVDb21wb25lbnQsXG4gIE1YSW5wdXRCYXNlVmFsdWVDb21wb25lbnQsXG4gIE1YTG9va0NvbXBvbmVudCxcbn0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcbmltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGNsYXNzZXMgfSBmcm9tICdwb2x5dHlwZSc7XG5cbi8qKlxuICogVGhlIE51bWJlckJveCBpcyBhIGNvbXBvbmVudCB3aGljaCBkZXRlY3RzIHVzZXIgaW50ZXJhY3Rpb24gYW5kIHRyaWdnZXJzIGEgY29ycmVzcG9uZGluZyBldmVudFxuICpcbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LW51bWJlci1ib3gtMicsXG4gIHRlbXBsYXRlVXJsOiAnLi9udW1iZXItYm94LTIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9udW1iZXItYm94LTIuY29tcG9uZW50LnNjc3MnXSxcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ3JlYWRvbmx5JywgJ3RhYkluZGV4JywgJ3BsYWNlaG9sZGVyJywgJ3ZhbHVlJywgJ3N0YXRlJywgJ25hbWUnLCAnaWQnLCAnbG9vayddLFxuICBvdXRwdXRzOiBbXG4gICAgJ3ZhbHVlQ2hhbmdlJyxcbiAgICAnc3RhdGVDaGFuZ2UnLFxuICAgICdvblZhbHVlQ2hhbmdlZCcsXG4gICAgJ29uQmx1cicsXG4gICAgJ29uRm9jdXMnLFxuICAgICdyZWFkb25seUNoYW5nZScsXG4gICAgJ2Rpc2FibGVkQ2hhbmdlJyxcbiAgICAnb25LZXlEb3duJyxcbiAgICAnb25LZXlVcCcsXG4gICAgJ29uS2V5UHJlc3MnLFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBBWENvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYTnVtYmVyQm94MkNvbXBvbmVudCB9LFxuICAgIHsgcHJvdmlkZTogQVhGb2N1c2FibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWE51bWJlckJveDJDb21wb25lbnQgfSxcbiAgICB7IHByb3ZpZGU6IEFYQ2xlYXJhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhOdW1iZXJCb3gyQ29tcG9uZW50IH0sXG4gICAgeyBwcm92aWRlOiBBWFZhbHVhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhOdW1iZXJCb3gyQ29tcG9uZW50IH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBWE51bWJlckJveDJDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbiAgaW1wb3J0czogW0Zvcm1zTW9kdWxlLCBBWElucHV0TWFza0RpcmVjdGl2ZSwgQVhCdXR0b25Nb2R1bGUsIEFYRGVjb3JhdG9yTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhOdW1iZXJCb3gyQ29tcG9uZW50IGV4dGVuZHMgY2xhc3NlcyhNWElucHV0QmFzZVZhbHVlQ29tcG9uZW50PG51bWJlcj4sIE1YTG9va0NvbXBvbmVudCkge1xuICBtaW5WYWx1ZSA9IGlucHV0PG51bWJlcj4obnVsbCk7XG4gIG1heFZhbHVlID0gaW5wdXQ8bnVtYmVyPihudWxsKTtcbiAgc2hvd1NwaW5CdXR0b25zID0gaW5wdXQodHJ1ZSk7XG4gIHRob3VzYW5kc1NlcGFyYXRvciA9IG1vZGVsPHN0cmluZz4obnVsbCk7XG4gIGRlY2ltYWxzID0gaW5wdXQoMCk7XG4gIGNoYW5nZU9uU2Nyb2xsID0gaW5wdXQoZmFsc2UpO1xuICBzdGVwID0gaW5wdXQoMSk7XG4gIHByb3RlY3RlZCBtb2RlID0gc2lnbmFsPCdkaWdpdHMnIHwgJ3Rob3VzYW5kc1NlcGFyYXRvcicgfCAnZGVjaW1hbCc+KCdkaWdpdHMnKTtcbiAgcHJpdmF0ZSBpbnB1dCA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+PignaW5wdXQnKTtcbiAgcHJvdGVjdGVkIHN0cmluZ1ZhbHVlID0gJzAnO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBpbnRlcm5hbFZhbHVlQ2hhbmdlZCh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHRoaXMuc3RyaW5nVmFsdWUgPSAnJztcbiAgfVxuXG4gICNpbml0ID0gYWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcbiAgICB0aGlzLm9uRm9jdXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuaW5wdXQoKS5uYXRpdmVFbGVtZW50LnNlbGVjdCgpO1xuICAgIH0pO1xuICB9KTtcblxuICAjZWZmID0gZWZmZWN0KCgpID0+IHtcbiAgICBpZiAodGhpcy50aG91c2FuZHNTZXBhcmF0b3IoKSAmJiB0aGlzLmRlY2ltYWxzKCkpIHtcbiAgICAgIHRoaXMubW9kZS5zZXQoJ2RpZ2l0cycpO1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSBpZiAodGhpcy50aG91c2FuZHNTZXBhcmF0b3IoKSkge1xuICAgICAgdGhpcy5tb2RlLnNldCgndGhvdXNhbmRzU2VwYXJhdG9yJyk7XG4gICAgICByZXR1cm47XG4gICAgfSBlbHNlIGlmICh0aGlzLmRlY2ltYWxzKCkpIHtcbiAgICAgIHRoaXMubW9kZS5zZXQoJ2RlY2ltYWwnKTtcbiAgICB9XG4gIH0pO1xuXG4gIHByaXZhdGUgcGx1c1ZhbHVlKCkge1xuICAgIGlmICh0aGlzLm1vZGUoKSA9PT0gJ3Rob3VzYW5kc1NlcGFyYXRvcicpIHtcbiAgICAgIGNvbnN0IHJlbW92ZVNlcGFyYXRvciA9IHRoaXMuc3RyaW5nVmFsdWUuc3BsaXQodGhpcy50aG91c2FuZHNTZXBhcmF0b3IoKSkuam9pbignJyk7XG4gICAgICBjb25zdCBhZGRTdGVwID0gK3JlbW92ZVNlcGFyYXRvciArIHRoaXMuc3RlcCgpO1xuICAgICAgdGhpcy5jb21taXRWYWx1ZShhZGRTdGVwKTtcblxuICAgICAgY29uc3QgYWRkU2VwYXJhdG9yID0gYWRkU3RlcC50b0xvY2FsZVN0cmluZygpO1xuICAgICAgY29uc3QgcmVwbGFjZVNlcGFyYXRvciA9IGFkZFNlcGFyYXRvci5zcGxpdCgnLCcpLmpvaW4odGhpcy50aG91c2FuZHNTZXBhcmF0b3IoKSk7XG4gICAgICB0aGlzLnN0cmluZ1ZhbHVlID0gcmVwbGFjZVNlcGFyYXRvcjtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgY29udmVydCA9ICt0aGlzLnN0cmluZ1ZhbHVlICsgdGhpcy5zdGVwKCk7XG4gICAgICB0aGlzLmNvbW1pdFZhbHVlKGNvbnZlcnQpO1xuICAgICAgdGhpcy5zdHJpbmdWYWx1ZSA9IGNvbnZlcnQudG9TdHJpbmcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG1pbnVzVmFsdWUoKSB7XG4gICAgaWYgKHRoaXMubW9kZSgpID09PSAndGhvdXNhbmRzU2VwYXJhdG9yJykge1xuICAgICAgY29uc3QgcmVtb3ZlU2VwYXJhdG9yID0gdGhpcy5zdHJpbmdWYWx1ZS5zcGxpdCh0aGlzLnRob3VzYW5kc1NlcGFyYXRvcigpKS5qb2luKCcnKTtcbiAgICAgIGNvbnN0IGFkZFN0ZXAgPSArcmVtb3ZlU2VwYXJhdG9yIC0gdGhpcy5zdGVwKCk7XG4gICAgICB0aGlzLmNvbW1pdFZhbHVlKGFkZFN0ZXApO1xuXG4gICAgICBjb25zdCBhZGRTZXBhcmF0b3IgPSBhZGRTdGVwLnRvTG9jYWxlU3RyaW5nKCk7XG4gICAgICBjb25zdCByZXBsYWNlU2VwYXJhdG9yID0gYWRkU2VwYXJhdG9yLnNwbGl0KCcsJykuam9pbih0aGlzLnRob3VzYW5kc1NlcGFyYXRvcigpKTtcbiAgICAgIHRoaXMuc3RyaW5nVmFsdWUgPSByZXBsYWNlU2VwYXJhdG9yO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBjb252ZXJ0ID0gK3RoaXMuc3RyaW5nVmFsdWUgKyB0aGlzLnN0ZXAoKSAqIC0xO1xuICAgICAgdGhpcy5jb21taXRWYWx1ZShjb252ZXJ0KTtcbiAgICAgIHRoaXMuc3RyaW5nVmFsdWUgPSBjb252ZXJ0LnRvU3RyaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZU9uS2V5ZG93bkV2ZW50KGU6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoZS5rZXkgIT09ICdBcnJvd1VwJyAmJiBlLmtleSAhPT0gJ0Fycm93RG93bicpIHJldHVybjtcbiAgICBpZiAoZS5rZXkgPT09ICdBcnJvd1VwJykge1xuICAgICAgdGhpcy5wbHVzVmFsdWUoKTtcbiAgICB9IGVsc2UgaWYgKGUua2V5ID09PSAnQXJyb3dEb3duJykge1xuICAgICAgdGhpcy5taW51c1ZhbHVlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZVVwQ2xpY2soKSB7XG4gICAgdGhpcy5wbHVzVmFsdWUoKTtcbiAgfVxuICBwcm90ZWN0ZWQgaGFuZGxlRG93bkNsaWNrKCkge1xuICAgIHRoaXMubWludXNWYWx1ZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZU9uTWFza0NoYW5nZWQoZTogQVhJbnB1dE1hc2tFdmVudCkge1xuICAgIGlmICghZS51bm1hc2tlZCkge1xuICAgICAgdGhpcy5jb21taXRWYWx1ZShudWxsKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGlzTmFOKCtlLnVubWFza2VkKSkgcmV0dXJuO1xuICAgIHRoaXMuY29tbWl0VmFsdWUoK2UudW5tYXNrZWQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uV2hlZWwoZXZlbnQ6IFdoZWVsRXZlbnQpIHtcbiAgICBpZiAodGhpcy5jaGFuZ2VPblNjcm9sbCgpKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgaWYgKCF0aGlzLmRpc2FibGVkICYmICF0aGlzLnJlYWRvbmx5KSB7XG4gICAgICAgIGlmIChldmVudC5kZWx0YVkgPiAwKSB7XG4gICAgICAgICAgdGhpcy5taW51c1ZhbHVlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5wbHVzVmFsdWUoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImF4LWVkaXRvci1jb250YWluZXIgIGF4LXt7IGxvb2sgfX1cIlxuICBbY2xhc3MuYXgtc3RhdGUtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICBbY2xhc3MuYXgtc3RhdGUtcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1wcmVmaXhcIj4gPC9uZy1jb250ZW50PlxuICA8aW5wdXRcbiAgICAjaW5wdXRcbiAgICBheElucHV0TWFza1xuICAgIChvbk1hc2tDaGFuZ2VkKT1cImhhbmRsZU9uTWFza0NoYW5nZWQoJGV2ZW50KVwiXG4gICAgW21hc2tNb2RlXT1cIm1vZGUoKVwiXG4gICAgaW5wdXRtb2RlPVwibnVtZXJpY1wiXG4gICAgY2xhc3M9XCJheC1pbnB1dFwiXG4gICAgW21pblZhbHVlXT1cIm1pblZhbHVlKClcIlxuICAgIFttYXhWYWx1ZV09XCJtYXhWYWx1ZSgpXCJcbiAgICBbc2VwYXJhdG9yXT1cInRob3VzYW5kc1NlcGFyYXRvcigpXCJcbiAgICBbZGVjaW1hbF09XCJkZWNpbWFscygpXCJcbiAgICBbaWRdPVwiaWRcIlxuICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICBbYXR0ci5hdXRvY29tcGxldGVdPVwiJ29mZidcIlxuICAgIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2NsYXNzLmF4LXN0YXRlLXJlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgW3RhYmluZGV4XT1cInRhYkluZGV4XCJcbiAgICBbKG5nTW9kZWwpXT1cInN0cmluZ1ZhbHVlXCJcbiAgICAoa2V5ZG93bik9XCJoYW5kbGVPbktleWRvd25FdmVudCgkZXZlbnQpXCJcbiAgICAoa2V5dXApPVwiZW1pdE9uS2V5dXBFdmVudCgkZXZlbnQpXCJcbiAgICAoa2V5cHJlc3MpPVwiZW1pdE9uS2V5cHJlc3NFdmVudCgkZXZlbnQpXCJcbiAgICAoZm9jdXMpPVwiZW1pdE9uRm9jdXNFdmVudCgkZXZlbnQpXCJcbiAgICAoYmx1cik9XCJlbWl0T25CbHVyRXZlbnQoJGV2ZW50KVwiXG4gICAgKHdoZWVsKT1cIm9uV2hlZWwoJGV2ZW50KVwiXG4gIC8+XG4gIEBpZiAoaW5wdXQudmFsdWUgJiYgIWRpc2FibGVkICYmICFyZWFkb25seSkge1xuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LWNsZWFyLWJ1dHRvblwiPjwvbmctY29udGVudD5cbiAgfVxuICBAaWYgKHNob3dTcGluQnV0dG9ucygpKSB7XG4gICAgPGRpdiBjbGFzcz1cImF4LW51bWJlci1ib3gtY29udHJvbFwiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJheC1lZGl0b3ItYnV0dG9uXCJcbiAgICAgICAgW2NsYXNzLmF4LXN0YXRlLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgKGNsaWNrKT1cImhhbmRsZVVwQ2xpY2soKVwiXG4gICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImF4LWljb24gYXgtaWNvbi1jaGV2cm9uLXVwIGF4LWFycm93LWJ1dHRvblwiPjwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJheC1lZGl0b3ItYnV0dG9uXCJcbiAgICAgICAgW2NsYXNzLmF4LXN0YXRlLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgKGNsaWNrKT1cImhhbmRsZURvd25DbGljaygpXCJcbiAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYXgtaWNvbiBheC1pY29uLWNoZXZyb24tZG93biBheC1hcnJvdy1idXR0b25cIj48L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgfVxuXG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LXN1ZmZpeFwiPiA8L25nLWNvbnRlbnQ+XG48L2Rpdj5cbjxuZy1jb250ZW50IHNlbGVjdD1cImF4LXZhbGlkYXRpb24tcnVsZVwiPiA8L25nLWNvbnRlbnQ+XG48ZGl2IGNsYXNzPVwiYXgtZXJyb3ItY29udGFpbmVyXCI+PC9kaXY+XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvbXBvbmVudHMtbnVtYmVyLWJveC0yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9udW1iZXItYm94LTIvc3JjL2Fjb3JleC1jb21wb25lbnRzLW51bWJlci1ib3gtMi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-number-box-2.mjs","sources":["../tmp-esm2022/number-box-2/lib/number-box-2.component.js","../tmp-esm2022/number-box-2/acorex-components-number-box-2.js"],"sourcesContent":["import { AXInputMaskDirective } from '@acorex/cdk/input-mask';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, afterNextRender, effect, forwardRef, input, model, signal, viewChild, } from '@angular/core';\nimport { AXClearableComponent, AXComponent, AXFocusableComponent, AXValuableComponent, MXInputBaseValueComponent, MXLookComponent, } from '@acorex/cdk/common';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\n/**\n * The NumberBox is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\nexport class AXNumberBox2Component extends classes((MXInputBaseValueComponent), MXLookComponent) {\n constructor() {\n super(...arguments);\n this.minValue = input(null);\n this.maxValue = input(null);\n this.showSpinButtons = input(true);\n this.thousandsSeparator = model(null);\n this.decimals = input(0);\n this.changeOnScroll = input(false);\n this.step = input(1);\n this.mode = signal('digits');\n this.input = viewChild('input');\n this.stringValue = '0';\n this.#init = afterNextRender(() => {\n this.onFocus.subscribe(() => {\n this.input().nativeElement.select();\n });\n });\n this.#eff = effect(() => {\n if (this.thousandsSeparator() && this.decimals()) {\n this.mode.set('digits');\n return;\n }\n else if (this.thousandsSeparator()) {\n this.mode.set('thousandsSeparator');\n return;\n }\n else if (this.decimals()) {\n this.mode.set('decimal');\n }\n });\n }\n internalValueChanged(value) {\n if (value === undefined)\n this.stringValue = '';\n }\n #init;\n #eff;\n plusValue() {\n if (this.mode() === 'thousandsSeparator') {\n const removeSeparator = this.stringValue.split(this.thousandsSeparator()).join('');\n const addStep = +removeSeparator + this.step();\n this.commitValue(addStep);\n const addSeparator = addStep.toLocaleString();\n const replaceSeparator = addSeparator.split(',').join(this.thousandsSeparator());\n this.stringValue = replaceSeparator;\n }\n else {\n const convert = +this.stringValue + this.step();\n this.commitValue(convert);\n this.stringValue = convert.toString();\n }\n }\n minusValue() {\n if (this.mode() === 'thousandsSeparator') {\n const removeSeparator = this.stringValue.split(this.thousandsSeparator()).join('');\n const addStep = +removeSeparator - this.step();\n this.commitValue(addStep);\n const addSeparator = addStep.toLocaleString();\n const replaceSeparator = addSeparator.split(',').join(this.thousandsSeparator());\n this.stringValue = replaceSeparator;\n }\n else {\n const convert = +this.stringValue + this.step() * -1;\n this.commitValue(convert);\n this.stringValue = convert.toString();\n }\n }\n handleOnKeydownEvent(e) {\n if (e.key !== 'ArrowUp' && e.key !== 'ArrowDown')\n return;\n if (e.key === 'ArrowUp') {\n this.plusValue();\n }\n else if (e.key === 'ArrowDown') {\n this.minusValue();\n }\n }\n handleUpClick() {\n this.plusValue();\n }\n handleDownClick() {\n this.minusValue();\n }\n handleOnMaskChanged(e) {\n if (!e.unmasked || isNaN(+e.unmasked)) {\n this.commitValue(null);\n return;\n }\n this.commitValue(+e.unmasked);\n }\n onWheel(event) {\n if (this.changeOnScroll()) {\n event.preventDefault();\n if (!this.disabled && !this.readonly) {\n if (event.deltaY > 0) {\n this.minusValue();\n }\n else {\n this.plusValue();\n }\n }\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXNumberBox2Component, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.4\", type: AXNumberBox2Component, isStandalone: true, selector: \"ax-number-box-2\", 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 }, look: { classPropertyName: \"look\", publicName: \"look\", isSignal: false, isRequired: false, transformFunction: null }, minValue: { classPropertyName: \"minValue\", publicName: \"minValue\", isSignal: true, isRequired: false, transformFunction: null }, maxValue: { classPropertyName: \"maxValue\", publicName: \"maxValue\", isSignal: true, isRequired: false, transformFunction: null }, showSpinButtons: { classPropertyName: \"showSpinButtons\", publicName: \"showSpinButtons\", isSignal: true, isRequired: false, transformFunction: null }, thousandsSeparator: { classPropertyName: \"thousandsSeparator\", publicName: \"thousandsSeparator\", isSignal: true, isRequired: false, transformFunction: null }, decimals: { classPropertyName: \"decimals\", publicName: \"decimals\", isSignal: true, isRequired: false, transformFunction: null }, changeOnScroll: { classPropertyName: \"changeOnScroll\", publicName: \"changeOnScroll\", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: \"step\", publicName: \"step\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: \"valueChange\", stateChange: \"stateChange\", onValueChanged: \"onValueChanged\", onBlur: \"onBlur\", onFocus: \"onFocus\", readonlyChange: \"readonlyChange\", disabledChange: \"disabledChange\", onKeyDown: \"onKeyDown\", onKeyUp: \"onKeyUp\", onKeyPress: \"onKeyPress\", thousandsSeparator: \"thousandsSeparatorChange\" }, providers: [\n { provide: AXComponent, useExisting: AXNumberBox2Component },\n { provide: AXFocusableComponent, useExisting: AXNumberBox2Component },\n { provide: AXClearableComponent, useExisting: AXNumberBox2Component },\n { provide: AXValuableComponent, useExisting: AXNumberBox2Component },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXNumberBox2Component),\n multi: true,\n },\n ], viewQueries: [{ propertyName: \"input\", first: true, predicate: [\"input\"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: \"<div\\n class=\\\"ax-editor-container ax-{{ look }}\\\"\\n [class.ax-state-disabled]=\\\"disabled\\\"\\n [class.ax-state-readonly]=\\\"readonly\\\"\\n>\\n <ng-content select=\\\"ax-prefix\\\"> </ng-content>\\n <input\\n #input\\n axInputMask\\n (onMaskChanged)=\\\"handleOnMaskChanged($event)\\\"\\n [maskMode]=\\\"mode()\\\"\\n inputmode=\\\"numeric\\\"\\n class=\\\"ax-input\\\"\\n [minValue]=\\\"minValue()\\\"\\n [maxValue]=\\\"maxValue()\\\"\\n [separator]=\\\"thousandsSeparator()\\\"\\n [decimal]=\\\"decimals()\\\"\\n [id]=\\\"id\\\"\\n [name]=\\\"name\\\"\\n [attr.placeholder]=\\\"placeholder\\\"\\n [attr.autocomplete]=\\\"'off'\\\"\\n [class.ax-state-disabled]=\\\"disabled\\\"\\n [class.ax-state-readonly]=\\\"readonly\\\"\\n [disabled]=\\\"disabled\\\"\\n [readonly]=\\\"readonly\\\"\\n [tabindex]=\\\"tabIndex\\\"\\n [(ngModel)]=\\\"stringValue\\\"\\n (keydown)=\\\"handleOnKeydownEvent($event)\\\"\\n (keyup)=\\\"emitOnKeyupEvent($event)\\\"\\n (keypress)=\\\"emitOnKeypressEvent($event)\\\"\\n (focus)=\\\"emitOnFocusEvent($event)\\\"\\n (blur)=\\\"emitOnBlurEvent($event)\\\"\\n (wheel)=\\\"onWheel($event)\\\"\\n />\\n @if (input.value && !disabled && !readonly) {\\n <ng-content select=\\\"ax-clear-button\\\"></ng-content>\\n }\\n @if (showSpinButtons()) {\\n <div class=\\\"ax-number-box-control\\\">\\n <button\\n type=\\\"button\\\"\\n class=\\\"ax-editor-button\\\"\\n [class.ax-state-disabled]=\\\"disabled\\\"\\n (click)=\\\"handleUpClick()\\\"\\n tabindex=\\\"-1\\\"\\n [disabled]=\\\"disabled\\\"\\n >\\n <span class=\\\"ax-icon ax-icon-chevron-up ax-arrow-button\\\"></span>\\n </button>\\n <button\\n type=\\\"button\\\"\\n class=\\\"ax-editor-button\\\"\\n [class.ax-state-disabled]=\\\"disabled\\\"\\n (click)=\\\"handleDownClick()\\\"\\n tabindex=\\\"-1\\\"\\n [disabled]=\\\"disabled\\\"\\n >\\n <span class=\\\"ax-icon ax-icon-chevron-down ax-arrow-button\\\"></span>\\n </button>\\n </div>\\n }\\n\\n <ng-content select=\\\"ax-suffix\\\"> </ng-content>\\n</div>\\n<ng-content select=\\\"ax-validation-rule\\\"> </ng-content>\\n<div class=\\\"ax-error-container\\\"></div>\\n\", styles: [\"ax-number-box-2 input::-webkit-outer-spin-button,ax-number-box-2 input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}ax-number-box-2 input[type=number]{-moz-appearance:textfield}ax-number-box-2 .ax-number-box-control{--ax-comp-editor-button-height: 50%;--ax-comp-editor-button-font-size: .75rem;height:100%;display:flex;flex-direction:column;gap:.1rem}ax-number-box-2 .ax-number-box-control button{font-size:.75rem}ax-number-box-2 .ax-number-box-control button:first-child{align-items:flex-end;display:flex}ax-number-box-2 .ax-number-box-control button:last-child{align-items:flex-start;display:flex}\\n\"], dependencies: [{ kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i1.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { 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: \"directive\", type: AXInputMaskDirective, selector: \"[axInputMask]\", inputs: [\"maskMode\", \"separator\", \"eager\", \"minValue\", \"maxValue\", \"decimal\"], outputs: [\"onMaskChanged\"], exportAs: [\"axInputMask\"] }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"ngmodule\", type: AXDecoratorModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXNumberBox2Component, decorators: [{\n type: Component,\n args: [{ selector: 'ax-number-box-2', inputs: ['disabled', 'readonly', 'tabIndex', 'placeholder', 'value', 'state', 'name', 'id', 'look'], outputs: [\n 'valueChange',\n 'stateChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n 'readonlyChange',\n 'disabledChange',\n 'onKeyDown',\n 'onKeyUp',\n 'onKeyPress',\n ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [\n { provide: AXComponent, useExisting: AXNumberBox2Component },\n { provide: AXFocusableComponent, useExisting: AXNumberBox2Component },\n { provide: AXClearableComponent, useExisting: AXNumberBox2Component },\n { provide: AXValuableComponent, useExisting: AXNumberBox2Component },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXNumberBox2Component),\n multi: true,\n },\n ], imports: [FormsModule, AXInputMaskDirective, AXButtonModule, AXDecoratorModule], template: \"<div\\n class=\\\"ax-editor-container ax-{{ look }}\\\"\\n [class.ax-state-disabled]=\\\"disabled\\\"\\n [class.ax-state-readonly]=\\\"readonly\\\"\\n>\\n <ng-content select=\\\"ax-prefix\\\"> </ng-content>\\n <input\\n #input\\n axInputMask\\n (onMaskChanged)=\\\"handleOnMaskChanged($event)\\\"\\n [maskMode]=\\\"mode()\\\"\\n inputmode=\\\"numeric\\\"\\n class=\\\"ax-input\\\"\\n [minValue]=\\\"minValue()\\\"\\n [maxValue]=\\\"maxValue()\\\"\\n [separator]=\\\"thousandsSeparator()\\\"\\n [decimal]=\\\"decimals()\\\"\\n [id]=\\\"id\\\"\\n [name]=\\\"name\\\"\\n [attr.placeholder]=\\\"placeholder\\\"\\n [attr.autocomplete]=\\\"'off'\\\"\\n [class.ax-state-disabled]=\\\"disabled\\\"\\n [class.ax-state-readonly]=\\\"readonly\\\"\\n [disabled]=\\\"disabled\\\"\\n [readonly]=\\\"readonly\\\"\\n [tabindex]=\\\"tabIndex\\\"\\n [(ngModel)]=\\\"stringValue\\\"\\n (keydown)=\\\"handleOnKeydownEvent($event)\\\"\\n (keyup)=\\\"emitOnKeyupEvent($event)\\\"\\n (keypress)=\\\"emitOnKeypressEvent($event)\\\"\\n (focus)=\\\"emitOnFocusEvent($event)\\\"\\n (blur)=\\\"emitOnBlurEvent($event)\\\"\\n (wheel)=\\\"onWheel($event)\\\"\\n />\\n @if (input.value && !disabled && !readonly) {\\n <ng-content select=\\\"ax-clear-button\\\"></ng-content>\\n }\\n @if (showSpinButtons()) {\\n <div class=\\\"ax-number-box-control\\\">\\n <button\\n type=\\\"button\\\"\\n class=\\\"ax-editor-button\\\"\\n [class.ax-state-disabled]=\\\"disabled\\\"\\n (click)=\\\"handleUpClick()\\\"\\n tabindex=\\\"-1\\\"\\n [disabled]=\\\"disabled\\\"\\n >\\n <span class=\\\"ax-icon ax-icon-chevron-up ax-arrow-button\\\"></span>\\n </button>\\n <button\\n type=\\\"button\\\"\\n class=\\\"ax-editor-button\\\"\\n [class.ax-state-disabled]=\\\"disabled\\\"\\n (click)=\\\"handleDownClick()\\\"\\n tabindex=\\\"-1\\\"\\n [disabled]=\\\"disabled\\\"\\n >\\n <span class=\\\"ax-icon ax-icon-chevron-down ax-arrow-button\\\"></span>\\n </button>\\n </div>\\n }\\n\\n <ng-content select=\\\"ax-suffix\\\"> </ng-content>\\n</div>\\n<ng-content select=\\\"ax-validation-rule\\\"> </ng-content>\\n<div class=\\\"ax-error-container\\\"></div>\\n\", styles: [\"ax-number-box-2 input::-webkit-outer-spin-button,ax-number-box-2 input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}ax-number-box-2 input[type=number]{-moz-appearance:textfield}ax-number-box-2 .ax-number-box-control{--ax-comp-editor-button-height: 50%;--ax-comp-editor-button-font-size: .75rem;height:100%;display:flex;flex-direction:column;gap:.1rem}ax-number-box-2 .ax-number-box-control button{font-size:.75rem}ax-number-box-2 .ax-number-box-control button:first-child{align-items:flex-end;display:flex}ax-number-box-2 .ax-number-box-control button:last-child{align-items:flex-start;display:flex}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWJveC0yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvbnVtYmVyLWJveC0yL3NyYy9saWIvbnVtYmVyLWJveC0yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvbnVtYmVyLWJveC0yL3NyYy9saWIvbnVtYmVyLWJveC0yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBeUIsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRixPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxpQkFBaUIsRUFDakIsZUFBZSxFQUNmLE1BQU0sRUFDTixVQUFVLEVBQ1YsS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsV0FBVyxFQUNYLG9CQUFvQixFQUNwQixtQkFBbUIsRUFDbkIseUJBQXlCLEVBQ3pCLGVBQWUsR0FDaEIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7OztBQUVuQzs7OztHQUlHO0FBaUNILE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxPQUFPLENBQUMsQ0FBQSx5QkFBaUMsQ0FBQSxFQUFFLGVBQWUsQ0FBQztJQWhDdEc7O1FBaUNFLGFBQVEsR0FBRyxLQUFLLENBQVMsSUFBSSxDQUFDLENBQUM7UUFDL0IsYUFBUSxHQUFHLEtB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c0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhJbnB1dE1hc2tEaXJlY3RpdmUsIHR5cGUgQVhJbnB1dE1hc2tFdmVudCB9IGZyb20gJ0BhY29yZXgvY2RrL2lucHV0LW1hc2snO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGFmdGVyTmV4dFJlbmRlcixcbiAgZWZmZWN0LFxuICBmb3J3YXJkUmVmLFxuICBpbnB1dCxcbiAgbW9kZWwsXG4gIHNpZ25hbCxcbiAgdmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgQVhDbGVhcmFibGVDb21wb25lbnQsXG4gIEFYQ29tcG9uZW50LFxuICBBWEZvY3VzYWJsZUNvbXBvbmVudCxcbiAgQVhWYWx1YWJsZUNvbXBvbmVudCxcbiAgTVhJbnB1dEJhc2VWYWx1ZUNvbXBvbmVudCxcbiAgTVhMb29rQ29tcG9uZW50LFxufSBmcm9tICdAYWNvcmV4L2Nkay9jb21tb24nO1xuaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY2xhc3NlcyB9IGZyb20gJ3BvbHl0eXBlJztcblxuLyoqXG4gKiBUaGUgTnVtYmVyQm94IGlzIGEgY29tcG9uZW50IHdoaWNoIGRldGVjdHMgdXNlciBpbnRlcmFjdGlvbiBhbmQgdHJpZ2dlcnMgYSBjb3JyZXNwb25kaW5nIGV2ZW50XG4gKlxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtbnVtYmVyLWJveC0yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL251bWJlci1ib3gtMi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL251bWJlci1ib3gtMi5jb21wb25lbnQuc2NzcyddLFxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAncmVhZG9ubHknLCAndGFiSW5kZXgnLCAncGxhY2Vob2xkZXInLCAndmFsdWUnLCAnc3RhdGUnLCAnbmFtZScsICdpZCcsICdsb29rJ10sXG4gIG91dHB1dHM6IFtcbiAgICAndmFsdWVDaGFuZ2UnLFxuICAgICdzdGF0ZUNoYW5nZScsXG4gICAgJ29uVmFsdWVDaGFuZ2VkJyxcbiAgICAnb25CbHVyJyxcbiAgICAnb25Gb2N1cycsXG4gICAgJ3JlYWRvbmx5Q2hhbmdlJyxcbiAgICAnZGlzYWJsZWRDaGFuZ2UnLFxuICAgICdvbktleURvd24nLFxuICAgICdvbktleVVwJyxcbiAgICAnb25LZXlQcmVzcycsXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IEFYQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhOdW1iZXJCb3gyQ29tcG9uZW50IH0sXG4gICAgeyBwcm92aWRlOiBBWEZvY3VzYWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYTnVtYmVyQm94MkNvbXBvbmVudCB9LFxuICAgIHsgcHJvdmlkZTogQVhDbGVhcmFibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWE51bWJlckJveDJDb21wb25lbnQgfSxcbiAgICB7IHByb3ZpZGU6IEFYVmFsdWFibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWE51bWJlckJveDJDb21wb25lbnQgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFYTnVtYmVyQm94MkNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxuICBpbXBvcnRzOiBbRm9ybXNNb2R1bGUsIEFYSW5wdXRNYXNrRGlyZWN0aXZlLCBBWEJ1dHRvbk1vZHVsZSwgQVhEZWNvcmF0b3JNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBBWE51bWJlckJveDJDb21wb25lbnQgZXh0ZW5kcyBjbGFzc2VzKE1YSW5wdXRCYXNlVmFsdWVDb21wb25lbnQ8bnVtYmVyPiwgTVhMb29rQ29tcG9uZW50KSB7XG4gIG1pblZhbHVlID0gaW5wdXQ8bnVtYmVyPihudWxsKTtcbiAgbWF4VmFsdWUgPSBpbnB1dDxudW1iZXI+KG51bGwpO1xuICBzaG93U3BpbkJ1dHRvbnMgPSBpbnB1dCh0cnVlKTtcbiAgdGhvdXNhbmRzU2VwYXJhdG9yID0gbW9kZWw8c3RyaW5nPihudWxsKTtcbiAgZGVjaW1hbHMgPSBpbnB1dCgwKTtcbiAgY2hhbmdlT25TY3JvbGwgPSBpbnB1dChmYWxzZSk7XG4gIHN0ZXAgPSBpbnB1dCgxKTtcbiAgcHJvdGVjdGVkIG1vZGUgPSBzaWduYWw8J2RpZ2l0cycgfCAndGhvdXNhbmRzU2VwYXJhdG9yJyB8ICdkZWNpbWFsJz4oJ2RpZ2l0cycpO1xuICBwcml2YXRlIGlucHV0ID0gdmlld0NoaWxkPEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4+KCdpbnB1dCcpO1xuICBwcm90ZWN0ZWQgc3RyaW5nVmFsdWUgPSAnMCc7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGludGVybmFsVmFsdWVDaGFuZ2VkKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkgdGhpcy5zdHJpbmdWYWx1ZSA9ICcnO1xuICB9XG5cbiAgI2luaXQgPSBhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuICAgIHRoaXMub25Gb2N1cy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5pbnB1dCgpLm5hdGl2ZUVsZW1lbnQuc2VsZWN0KCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gICNlZmYgPSBlZmZlY3QoKCkgPT4ge1xuICAgIGlmICh0aGlzLnRob3VzYW5kc1NlcGFyYXRvcigpICYmIHRoaXMuZGVjaW1hbHMoKSkge1xuICAgICAgdGhpcy5tb2RlLnNldCgnZGlnaXRzJyk7XG4gICAgICByZXR1cm47XG4gICAgfSBlbHNlIGlmICh0aGlzLnRob3VzYW5kc1NlcGFyYXRvcigpKSB7XG4gICAgICB0aGlzLm1vZGUuc2V0KCd0aG91c2FuZHNTZXBhcmF0b3InKTtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZGVjaW1hbHMoKSkge1xuICAgICAgdGhpcy5tb2RlLnNldCgnZGVjaW1hbCcpO1xuICAgIH1cbiAgfSk7XG5cbiAgcHJpdmF0ZSBwbHVzVmFsdWUoKSB7XG4gICAgaWYgKHRoaXMubW9kZSgpID09PSAndGhvdXNhbmRzU2VwYXJhdG9yJykge1xuICAgICAgY29uc3QgcmVtb3ZlU2VwYXJhdG9yID0gdGhpcy5zdHJpbmdWYWx1ZS5zcGxpdCh0aGlzLnRob3VzYW5kc1NlcGFyYXRvcigpKS5qb2luKCcnKTtcbiAgICAgIGNvbnN0IGFkZFN0ZXAgPSArcmVtb3ZlU2VwYXJhdG9yICsgdGhpcy5zdGVwKCk7XG4gICAgICB0aGlzLmNvbW1pdFZhbHVlKGFkZFN0ZXApO1xuXG4gICAgICBjb25zdCBhZGRTZXBhcmF0b3IgPSBhZGRTdGVwLnRvTG9jYWxlU3RyaW5nKCk7XG4gICAgICBjb25zdCByZXBsYWNlU2VwYXJhdG9yID0gYWRkU2VwYXJhdG9yLnNwbGl0KCcsJykuam9pbih0aGlzLnRob3VzYW5kc1NlcGFyYXRvcigpKTtcbiAgICAgIHRoaXMuc3RyaW5nVmFsdWUgPSByZXBsYWNlU2VwYXJhdG9yO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBjb252ZXJ0ID0gK3RoaXMuc3RyaW5nVmFsdWUgKyB0aGlzLnN0ZXAoKTtcbiAgICAgIHRoaXMuY29tbWl0VmFsdWUoY29udmVydCk7XG4gICAgICB0aGlzLnN0cmluZ1ZhbHVlID0gY29udmVydC50b1N0cmluZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbWludXNWYWx1ZSgpIHtcbiAgICBpZiAodGhpcy5tb2RlKCkgPT09ICd0aG91c2FuZHNTZXBhcmF0b3InKSB7XG4gICAgICBjb25zdCByZW1vdmVTZXBhcmF0b3IgPSB0aGlzLnN0cmluZ1ZhbHVlLnNwbGl0KHRoaXMudGhvdXNhbmRzU2VwYXJhdG9yKCkpLmpvaW4oJycpO1xuICAgICAgY29uc3QgYWRkU3RlcCA9ICtyZW1vdmVTZXBhcmF0b3IgLSB0aGlzLnN0ZXAoKTtcbiAgICAgIHRoaXMuY29tbWl0VmFsdWUoYWRkU3RlcCk7XG5cbiAgICAgIGNvbnN0IGFkZFNlcGFyYXRvciA9IGFkZFN0ZXAudG9Mb2NhbGVTdHJpbmcoKTtcbiAgICAgIGNvbnN0IHJlcGxhY2VTZXBhcmF0b3IgPSBhZGRTZXBhcmF0b3Iuc3BsaXQoJywnKS5qb2luKHRoaXMudGhvdXNhbmRzU2VwYXJhdG9yKCkpO1xuICAgICAgdGhpcy5zdHJpbmdWYWx1ZSA9IHJlcGxhY2VTZXBhcmF0b3I7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGNvbnZlcnQgPSArdGhpcy5zdHJpbmdWYWx1ZSArIHRoaXMuc3RlcCgpICogLTE7XG4gICAgICB0aGlzLmNvbW1pdFZhbHVlKGNvbnZlcnQpO1xuICAgICAgdGhpcy5zdHJpbmdWYWx1ZSA9IGNvbnZlcnQudG9TdHJpbmcoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlT25LZXlkb3duRXZlbnQoZTogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmIChlLmtleSAhPT0gJ0Fycm93VXAnICYmIGUua2V5ICE9PSAnQXJyb3dEb3duJykgcmV0dXJuO1xuICAgIGlmIChlLmtleSA9PT0gJ0Fycm93VXAnKSB7XG4gICAgICB0aGlzLnBsdXNWYWx1ZSgpO1xuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XG4gICAgICB0aGlzLm1pbnVzVmFsdWUoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlVXBDbGljaygpIHtcbiAgICB0aGlzLnBsdXNWYWx1ZSgpO1xuICB9XG4gIHByb3RlY3RlZCBoYW5kbGVEb3duQ2xpY2soKSB7XG4gICAgdGhpcy5taW51c1ZhbHVlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlT25NYXNrQ2hhbmdlZChlOiBBWElucHV0TWFza0V2ZW50KSB7XG4gICAgaWYgKCFlLnVubWFza2VkIHx8IGlzTmFOKCtlLnVubWFza2VkKSkge1xuICAgICAgdGhpcy5jb21taXRWYWx1ZShudWxsKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5jb21taXRWYWx1ZSgrZS51bm1hc2tlZCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25XaGVlbChldmVudDogV2hlZWxFdmVudCkge1xuICAgIGlmICh0aGlzLmNoYW5nZU9uU2Nyb2xsKCkpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBpZiAoIXRoaXMuZGlzYWJsZWQgJiYgIXRoaXMucmVhZG9ubHkpIHtcbiAgICAgICAgaWYgKGV2ZW50LmRlbHRhWSA+IDApIHtcbiAgICAgICAgICB0aGlzLm1pbnVzVmFsdWUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnBsdXNWYWx1ZSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiYXgtZWRpdG9yLWNvbnRhaW5lciAgYXgte3sgbG9vayB9fVwiXG4gIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFtjbGFzcy5heC1zdGF0ZS1yZWFkb25seV09XCJyZWFkb25seVwiXG4+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LXByZWZpeFwiPiA8L25nLWNvbnRlbnQ+XG4gIDxpbnB1dFxuICAgICNpbnB1dFxuICAgIGF4SW5wdXRNYXNrXG4gICAgKG9uTWFza0NoYW5nZWQpPVwiaGFuZGxlT25NYXNrQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICBbbWFza01vZGVdPVwibW9kZSgpXCJcbiAgICBpbnB1dG1vZGU9XCJudW1lcmljXCJcbiAgICBjbGFzcz1cImF4LWlucHV0XCJcbiAgICBbbWluVmFsdWVdPVwibWluVmFsdWUoKVwiXG4gICAgW21heFZhbHVlXT1cIm1heFZhbHVlKClcIlxuICAgIFtzZXBhcmF0b3JdPVwidGhvdXNhbmRzU2VwYXJhdG9yKClcIlxuICAgIFtkZWNpbWFsXT1cImRlY2ltYWxzKClcIlxuICAgIFtpZF09XCJpZFwiXG4gICAgW25hbWVdPVwibmFtZVwiXG4gICAgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgIFthdHRyLmF1dG9jb21wbGV0ZV09XCInb2ZmJ1wiXG4gICAgW2NsYXNzLmF4LXN0YXRlLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbY2xhc3MuYXgtc3RhdGUtcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICBbdGFiaW5kZXhdPVwidGFiSW5kZXhcIlxuICAgIFsobmdNb2RlbCldPVwic3RyaW5nVmFsdWVcIlxuICAgIChrZXlkb3duKT1cImhhbmRsZU9uS2V5ZG93bkV2ZW50KCRldmVudClcIlxuICAgIChrZXl1cCk9XCJlbWl0T25LZXl1cEV2ZW50KCRldmVudClcIlxuICAgIChrZXlwcmVzcyk9XCJlbWl0T25LZXlwcmVzc0V2ZW50KCRldmVudClcIlxuICAgIChmb2N1cyk9XCJlbWl0T25Gb2N1c0V2ZW50KCRldmVudClcIlxuICAgIChibHVyKT1cImVtaXRPbkJsdXJFdmVudCgkZXZlbnQpXCJcbiAgICAod2hlZWwpPVwib25XaGVlbCgkZXZlbnQpXCJcbiAgLz5cbiAgQGlmIChpbnB1dC52YWx1ZSAmJiAhZGlzYWJsZWQgJiYgIXJlYWRvbmx5KSB7XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtY2xlYXItYnV0dG9uXCI+PC9uZy1jb250ZW50PlxuICB9XG4gIEBpZiAoc2hvd1NwaW5CdXR0b25zKCkpIHtcbiAgICA8ZGl2IGNsYXNzPVwiYXgtbnVtYmVyLWJveC1jb250cm9sXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cImF4LWVkaXRvci1idXR0b25cIlxuICAgICAgICBbY2xhc3MuYXgtc3RhdGUtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAoY2xpY2spPVwiaGFuZGxlVXBDbGljaygpXCJcbiAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYXgtaWNvbiBheC1pY29uLWNoZXZyb24tdXAgYXgtYXJyb3ctYnV0dG9uXCI+PC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cImF4LWVkaXRvci1idXR0b25cIlxuICAgICAgICBbY2xhc3MuYXgtc3RhdGUtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAoY2xpY2spPVwiaGFuZGxlRG93bkNsaWNrKClcIlxuICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJheC1pY29uIGF4LWljb24tY2hldnJvbi1kb3duIGF4LWFycm93LWJ1dHRvblwiPjwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICB9XG5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtc3VmZml4XCI+IDwvbmctY29udGVudD5cbjwvZGl2PlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtdmFsaWRhdGlvbi1ydWxlXCI+IDwvbmctY29udGVudD5cbjxkaXYgY2xhc3M9XCJheC1lcnJvci1jb250YWluZXJcIj48L2Rpdj5cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvbXBvbmVudHMtbnVtYmVyLWJveC0yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9udW1iZXItYm94LTIvc3JjL2Fjb3JleC1jb21wb25lbnRzLW51bWJlci1ib3gtMi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
@@ -7,13 +7,14 @@ import { AXRangeSliderComponent, AXRangeSliderModule } from '@acorex/components/
7
7
  import { AXSelectBoxModule } from '@acorex/components/select-box';
8
8
  import { AXTooltipDirective, AXTooltipModule } from '@acorex/components/tooltip';
9
9
  import * as i0 from '@angular/core';
10
- import { signal, Injectable, inject, ViewEncapsulation, Component, ChangeDetectionStrategy, forwardRef, HostBinding, Renderer2, PLATFORM_ID, input, viewChild, ElementRef, afterNextRender, effect, NgModule } from '@angular/core';
10
+ import { signal, Injectable, inject, ViewEncapsulation, Component, linkedSignal, ChangeDetectionStrategy, input, effect, forwardRef, HostBinding, Renderer2, PLATFORM_ID, viewChild, ElementRef, afterNextRender, NgModule } from '@angular/core';
11
11
  import * as i1$1 from '@angular/forms';
12
12
  import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
13
13
  import { AXComponent, MXInputBaseValueComponent, MXLookComponent, AXFocusableComponent, AXValuableComponent } from '@acorex/cdk/common';
14
14
  import { AXToolBarComponent } from '@acorex/components/toolbar';
15
15
  import { classes } from 'polytype';
16
- import { isPlatformBrowser } from '@angular/common';
16
+ import { AXTranslatorPipe } from '@acorex/core/translation';
17
+ import { AsyncPipe, isPlatformBrowser } from '@angular/common';
17
18
 
18
19
  class AXPaintService {
19
20
  constructor() {
@@ -23,7 +24,7 @@ class AXPaintService {
23
24
  this.highlightWidth = signal(10);
24
25
  this.eraserWidth = signal(10);
25
26
  this.toggleClear = signal(false);
26
- this.activeToolState = signal(null);
27
+ this.activeToolState = signal('pen');
27
28
  }
28
29
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXPaintService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
29
30
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXPaintService }); }
@@ -35,6 +36,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
35
36
  class AXPaintToolsSelectorComponent {
36
37
  constructor() {
37
38
  this.service = inject(AXPaintService);
39
+ this.pen = signal(null);
40
+ this.highlight = signal(null);
41
+ this.eraser = signal(null);
42
+ this.reset = signal(null);
38
43
  }
39
44
  changeToolHandler(tool) {
40
45
  if (this.service.activeToolState() === tool) {
@@ -47,11 +52,11 @@ class AXPaintToolsSelectorComponent {
47
52
  this.service.toggleClear.update((prev) => !prev);
48
53
  }
49
54
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXPaintToolsSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
50
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.4", type: AXPaintToolsSelectorComponent, isStandalone: true, selector: "ax-paint-tools-selector", providers: [{ provide: AXComponent, useExisting: AXPaintToolsSelectorComponent }], ngImport: i0, template: "<ax-button\n axTooltip=\"pen\"\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=\"highlight\"\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=\"eraser\"\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 axTooltip=\"reset\" axTooltipPlacement=\"top\" (onClick)=\"clear()\" look=\"blank\">\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: ["axTooltip", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }], encapsulation: i0.ViewEncapsulation.None }); }
55
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.4", 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: ["axTooltip", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
51
56
  }
52
57
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXPaintToolsSelectorComponent, decorators: [{
53
58
  type: Component,
54
- args: [{ selector: 'ax-paint-tools-selector', encapsulation: ViewEncapsulation.None, imports: [AXButtonComponent, AXDecoratorModule, AXTooltipDirective], providers: [{ provide: AXComponent, useExisting: AXPaintToolsSelectorComponent }], template: "<ax-button\n axTooltip=\"pen\"\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=\"highlight\"\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=\"eraser\"\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 axTooltip=\"reset\" axTooltipPlacement=\"top\" (onClick)=\"clear()\" look=\"blank\">\n <i class=\"fa-solid fa-rotate\"></i>\n</ax-button>\n" }]
59
+ 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" }]
55
60
  }] });
56
61
 
57
62
  /**
@@ -61,8 +66,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
61
66
  class AXPaintEraserToolComponent {
62
67
  constructor() {
63
68
  this.service = inject(AXPaintService);
64
- /** @ignore */
65
- this.value = this.service.eraserWidth();
69
+ this.value = linkedSignal(() => this.service.eraserWidth());
66
70
  }
67
71
  /** @ignore */
68
72
  valueHandler(e) {
@@ -83,10 +87,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
83
87
  class AXPaintHighlightToolComponent {
84
88
  constructor() {
85
89
  this.service = inject(AXPaintService);
86
- /** @ignore */
87
- this.value = this.service.highlightWidth();
88
- /** @ignore */
89
- this.selectedColor = signal(this.service.highlightColor());
90
+ this.value = linkedSignal(() => this.service.highlightWidth());
91
+ this.selectedColor = linkedSignal(() => this.service.highlightColor());
90
92
  }
91
93
  changeColorHandler(e) {
92
94
  this.service.highlightColor.set(e);
@@ -112,9 +114,9 @@ class AXPaintPenToolComponent {
112
114
  constructor() {
113
115
  this.service = inject(AXPaintService);
114
116
  /** @ignore */
115
- this.value = this.service.penWidth();
117
+ this.value = linkedSignal(() => this.service.penWidth());
116
118
  /** @ignore */
117
- this.selectedColor = signal(this.service.penColor());
119
+ this.selectedColor = linkedSignal(() => this.service.penColor());
118
120
  }
119
121
  changeColorHandler(e) {
120
122
  this.service.penColor.set(e);
@@ -140,14 +142,42 @@ class AXPaintContainerComponent extends classes((MXInputBaseValueComponent), MXL
140
142
  constructor() {
141
143
  super(...arguments);
142
144
  this.service = inject(AXPaintService);
145
+ this.editMode = input(false);
146
+ this.#eff = effect(() => {
147
+ if (this.editMode()) {
148
+ this.service.activeToolState.set('pen');
149
+ }
150
+ });
143
151
  }
152
+ #eff;
144
153
  get __hostClass() {
145
154
  if (this.disabled)
146
155
  return 'ax-state-disabled';
147
156
  return '';
148
157
  }
158
+ setActiveTool(tool) {
159
+ this.service.activeToolState.set(tool);
160
+ }
161
+ setPenColor(color) {
162
+ this.service.penColor.set(color);
163
+ }
164
+ setHighlightColor(color) {
165
+ this.service.highlightColor.set(color);
166
+ }
167
+ setPenWidth(width) {
168
+ this.service.penWidth.set(width);
169
+ }
170
+ setHighlightWidth(width) {
171
+ this.service.highlightWidth.set(width);
172
+ }
173
+ setEraserWidth(width) {
174
+ this.service.eraserWidth.set(width);
175
+ }
176
+ clear() {
177
+ this.service.toggleClear.update((prev) => !prev);
178
+ }
149
179
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXPaintContainerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
150
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.4", type: AXPaintContainerComponent, isStandalone: true, selector: "ax-paint-container", inputs: { look: "look", disabled: "disabled" }, host: { properties: { "class": "this.__hostClass" } }, providers: [
180
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.4", 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" } }, providers: [
151
181
  AXPaintService,
152
182
  { provide: AXComponent, useExisting: AXPaintContainerComponent },
153
183
  { provide: AXFocusableComponent, useExisting: AXPaintContainerComponent },
@@ -157,7 +187,7 @@ class AXPaintContainerComponent extends classes((MXInputBaseValueComponent), MXL
157
187
  useExisting: forwardRef(() => AXPaintContainerComponent),
158
188
  multi: true,
159
189
  },
160
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-editor-container ax-{{ look }}\">\n <ng-content></ng-content>\n\n @if (service.activeToolState()) {\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 <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 <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 }); }
190
+ ], 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 }); }
161
191
  }
162
192
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXPaintContainerComponent, decorators: [{
163
193
  type: Component,
@@ -178,7 +208,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
178
208
  AXPaintPenToolComponent,
179
209
  AXPaintHighlightToolComponent,
180
210
  AXPaintEraserToolComponent,
181
- ], template: "<div class=\"ax-editor-container ax-{{ look }}\">\n <ng-content></ng-content>\n\n @if (service.activeToolState()) {\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 <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 <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"] }]
211
+ ], 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"] }]
182
212
  }], propDecorators: { __hostClass: [{
183
213
  type: HostBinding,
184
214
  args: ['class']