@acorex/components 19.11.1 → 19.11.2-next.0

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 (36) hide show
  1. package/fesm2022/acorex-components-color-palette.mjs +1 -1
  2. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  3. package/fesm2022/acorex-components-conversation.mjs +2 -2
  4. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  5. package/fesm2022/acorex-components-data-pager.mjs +1 -1
  6. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  7. package/fesm2022/acorex-components-datetime-box.mjs +26 -1
  8. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  9. package/fesm2022/acorex-components-datetime-input.mjs +11 -2
  10. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  11. package/fesm2022/acorex-components-datetime-picker.mjs +8 -3
  12. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  13. package/fesm2022/acorex-components-grid-layout-builder.mjs +43 -26
  14. package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
  15. package/fesm2022/acorex-components-image-editor.mjs +1 -0
  16. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  17. package/fesm2022/acorex-components-number-box.mjs +20 -5
  18. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  19. package/fesm2022/acorex-components-password-box.mjs +2 -2
  20. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  21. package/fesm2022/acorex-components-query-builder.mjs +1 -1
  22. package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
  23. package/fesm2022/acorex-components-range-slider.mjs +20 -2
  24. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  25. package/fesm2022/acorex-components-step-wizard.mjs +2 -2
  26. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  27. package/fesm2022/acorex-components-tag-box.mjs +2 -2
  28. package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
  29. package/fesm2022/acorex-components-text-box.mjs +2 -2
  30. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  31. package/grid-layout-builder/lib/grid-layout-container.component.d.ts +2 -8
  32. package/grid-layout-builder/lib/types.d.ts +10 -2
  33. package/grid-layout-builder/lib/utility.d.ts +2 -0
  34. package/number-box/lib/number-box.component.d.ts +5 -1
  35. package/package.json +1 -1
  36. package/range-slider/lib/range-slider.component.d.ts +6 -0
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-text-box.mjs","sources":["../../../../libs/components/text-box/src/lib/mask-options.directive.ts","../../../../libs/components/text-box/src/lib/text-box.component.ts","../../../../libs/components/text-box/src/lib/text-box.component.html","../../../../libs/components/text-box/src/lib/text-box.module.ts","../../../../libs/components/text-box/src/acorex-components-text-box.ts"],"sourcesContent":["import { Directive, EventEmitter, Input, Output } from '@angular/core';\nimport { MaskedOptions } from 'imask';\n\nexport type AXMaskOptions = MaskedOptions | any;\n\nexport interface AXMaskOptionsInterface {\n mask: MaskedOptions | string | RegExp;\n updateValue?: (masked: string, unmasked: string) => void;\n}\n\n@Directive({ selector: 'ax-mask-options' })\nexport class AXMaskOptionsDirective implements AXMaskOptionsInterface {\n private _mask: MaskedOptions | string | RegExp;\n\n @Output()\n public onMaskChange = new EventEmitter<MaskedOptions | string | RegExp>();\n\n @Input()\n public get mask(): MaskedOptions | string | RegExp {\n return this._mask;\n }\n\n public set mask(v: MaskedOptions | string | RegExp) {\n this._mask = v;\n this.onMaskChange.emit(v);\n }\n\n @Input()\n updateValue?: (masked: string, unmasked: string) => void;\n}\n","/* eslint-disable @angular-eslint/no-inputs-metadata-property */\nimport {\n AXClearableComponent,\n AXComponent,\n AXFocusableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n MXLookComponent,\n} from '@acorex/components/common';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n Input,\n ViewChild,\n ViewEncapsulation,\n forwardRef,\n input,\n} from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport IMask, { InputMask } from 'imask';\nimport { classes } from 'polytype';\nimport { AXMaskOptions, AXMaskOptionsDirective } from './mask-options.directive';\n\n/**\n * The Textbox is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-text-box',\n templateUrl: 'text-box.component.html',\n styleUrls: ['text-box.component.scss'],\n inputs: ['disabled', 'tabIndex', 'readonly', 'value', 'state', 'name', 'id', 'placeholder', 'maxLength', 'allowNull', 'type', 'autoComplete', 'look'],\n outputs: ['onBlur', 'onFocus', 'valueChange', 'stateChange', 'onValueChanged', 'readonlyChange', 'disabledChange', 'onKeyDown', 'onKeyUp', 'onKeyPress'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n { provide: AXComponent, useExisting: AXTextBoxComponent },\n { provide: AXFocusableComponent, useExisting: AXTextBoxComponent },\n { provide: AXClearableComponent, useExisting: AXTextBoxComponent },\n { provide: AXValuableComponent, useExisting: AXTextBoxComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXTextBoxComponent),\n multi: true,\n },\n ],\n imports: [FormsModule],\n})\nexport class AXTextBoxComponent extends classes(MXInputBaseValueComponent<string>, MXLookComponent) implements AfterContentInit {\n /** @ignore */\n protected _updateOn: 'change' | 'blur' | 'submit' = 'change';\n\n /** @ignore */\n @ViewChild('input', { static: true })\n private input: ElementRef<HTMLInputElement>;\n\n /** @ignore */\n private _maskObj: InputMask<any>;\n\n /** @ignore */\n private _maskOptions: AXMaskOptions = { mask: null };\n\n /**\n * This public getter provides access to the `_maskOptions` property, which holds the configuration options for the mask feature.\n */\n @Input('mask-options')\n public get maskOptions(): AXMaskOptions {\n return this._maskOptions;\n }\n\n /**\n * @param value {AXMaskOptions} - The new mask configuration options to be set.\n */\n public set maskOptions(value: AXMaskOptions) {\n this._maskOptions = value;\n this.setMask();\n }\n\n /**\n * This property defines the maximum number of characters that the input field can accept. It can be dynamically bound from a parent component template to enforce input length constraints.\n */\n @Input()\n maxLength: number;\n\n /**\n * This property determines the type of the input element (e.g., 'text', 'password', 'email', etc.). It can be dynamically bound from a parent component template to change the input field type based on different conditions or requirements.\n */\n @Input()\n type: string;\n\n /**\n * This property determines whether the input field should have autocomplete enabled and what type of autocomplete suggestions should be provided\n */\n @Input()\n autoComplete: string;\n\n /**\n * This will apply 'my-custom-class' and 'another-class' to the component's root element.\n */\n // @Input('class')\n // classNames: string;\n classNames = input('', { alias: 'class' });\n\n /** @ignore */\n @ContentChild(AXMaskOptionsDirective, { static: true })\n protected _maskOptionsContent: AXMaskOptionsDirective;\n\n /** @ignore */\n ngAfterContentInit() {\n if (this._maskOptionsContent?.mask) {\n if (typeof this._maskOptionsContent.mask == 'string' || this._maskOptionsContent.mask instanceof RegExp) {\n Object.assign(this.maskOptions, {\n mask: this._maskOptionsContent.mask,\n unmask: false,\n });\n }\n if (typeof this._maskOptionsContent.mask == 'object') {\n Object.assign(this.maskOptions, this._maskOptionsContent.mask);\n }\n }\n //\n this.setMask();\n }\n\n /** @ignore */\n private setMask() {\n if (this._maskObj) this._maskObj.destroy();\n //\n if (this.maskOptions?.mask) {\n this._maskObj = IMask(this.input.nativeElement, this.maskOptions);\n this._updateOn = 'submit';\n this._maskObj.on('accept', this._onComplete.bind(this));\n this._maskObj.on('complete', this._onComplete.bind(this));\n if (this.value) {\n this._maskObj.value = `${this.value}`;\n this._maskObj.updateValue();\n }\n }\n }\n\n /** @ignore */\n private _onComplete(e: InputEvent) {\n this.commitValue(this._maskObj.value, e?.isTrusted ?? false);\n if (typeof this._maskOptionsContent?.updateValue === 'function') {\n this._maskOptionsContent?.updateValue(this._maskObj.value, this._maskObj.unmaskedValue);\n }\n }\n\n /** @ignore */\n protected _handleModelChange(value: string | null) {\n this.commitValue(value, true);\n }\n}\n","<div\n class=\"ax-editor-container {{ classNames() }} 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 class=\"ax-input\"\n [id]=\"id\"\n [name]=\"name\"\n [attr.autocomplete]=\"autoComplete\"\n [attr.type]=\"type\"\n [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxLength\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [ngModel]=\"value\"\n (ngModelChange)=\"_handleModelChange($event)\"\n [ngModelOptions]=\"{ updateOn: _updateOn }\"\n (keydown)=\"emitOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n />\n @if (input.value && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\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","import { AXButtonModule } from '@acorex/components/button';\nimport { AXCommonModule } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXMaskOptionsDirective } from './mask-options.directive';\nimport { AXTextBoxComponent } from './text-box.component';\n\n@NgModule({\n imports: [CommonModule, AXCommonModule, FormsModule, AXButtonModule, AXDecoratorModule, AXTextBoxComponent, AXMaskOptionsDirective],\n exports: [AXTextBoxComponent, AXMaskOptionsDirective],\n providers: [],\n})\nexport class AXTextBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;MAWa,sBAAsB,CAAA;AADnC,IAAA,WAAA,GAAA;AAKS,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAmC;AAc1E;AAZC,IAAA,IACW,IAAI,GAAA;QACb,OAAO,IAAI,CAAC,KAAK;;IAGnB,IAAW,IAAI,CAAC,CAAkC,EAAA;AAChD,QAAA,IAAI,CAAC,KAAK,GAAG,CAAC;AACd,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;;8GAbhB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,OAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBADlC,SAAS;mBAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE;8BAKjC,YAAY,EAAA,CAAA;sBADlB;gBAIU,IAAI,EAAA,CAAA;sBADd;gBAWD,WAAW,EAAA,CAAA;sBADV;;;AC3BH;AA0BA;;;;AAIG;AAsBG,MAAO,kBAAmB,SAAQ,OAAO,EAAC,yBAAiC,GAAE,eAAe,CAAC,CAAA;AArBnG,IAAA,WAAA,GAAA;;;QAuBY,IAAS,CAAA,SAAA,GAAiC,QAAQ;;AAUpD,QAAA,IAAA,CAAA,YAAY,GAAkB,EAAE,IAAI,EAAE,IAAI,EAAE;AAoCpD;;AAEG;;;QAGH,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAmD3C;AA1FC;;AAEG;AACH,IAAA,IACW,WAAW,GAAA;QACpB,OAAO,IAAI,CAAC,YAAY;;AAG1B;;AAEG;IACH,IAAW,WAAW,CAAC,KAAoB,EAAA;AACzC,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK;QACzB,IAAI,CAAC,OAAO,EAAE;;;IAiChB,kBAAkB,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE,IAAI,EAAE;AAClC,YAAA,IAAI,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,IAAI,QAAQ,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,YAAY,MAAM,EAAE;AACvG,gBAAA,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE;AAC9B,oBAAA,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI;AACnC,oBAAA,MAAM,EAAE,KAAK;AACd,iBAAA,CAAC;;YAEJ,IAAI,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,IAAI,QAAQ,EAAE;AACpD,gBAAA,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;;;;QAIlE,IAAI,CAAC,OAAO,EAAE;;;IAIR,OAAO,GAAA;QACb,IAAI,IAAI,CAAC,QAAQ;AAAE,YAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;;AAE1C,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE;AAC1B,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC;AACjE,YAAA,IAAI,CAAC,SAAS,GAAG,QAAQ;AACzB,YAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvD,YAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzD,YAAA,IAAI,IAAI,CAAC,KAAK,EAAE;gBACd,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC,KAAK,CAAA,CAAE;AACrC,gBAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;;;;;AAMzB,IAAA,WAAW,CAAC,CAAa,EAAA;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,SAAS,IAAI,KAAK,CAAC;QAC5D,IAAI,OAAO,IAAI,CAAC,mBAAmB,EAAE,WAAW,KAAK,UAAU,EAAE;AAC/D,YAAA,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;;;;AAKjF,IAAA,kBAAkB,CAAC,KAAoB,EAAA;AAC/C,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC;;8GAtGpB,kBAAkB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,EAblB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,OAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,kBAAkB,EAAE;AACzD,YAAA,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,kBAAkB,EAAE;AAClE,YAAA,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,kBAAkB,EAAE;AAClE,YAAA,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,kBAAkB,EAAE;AACjE,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,kBAAkB,CAAC;AACjD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EA2Da,sBAAsB,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC5GtC,qtCAoCA,EAAA,MAAA,EAAA,CAAA,khuBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDcY,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAEV,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBArB9B,SAAS;+BACE,aAAa,EAAA,MAAA,EAGf,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC,EAAA,OAAA,EAC5I,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,CAAC,EACzI,aAAA,EAAA,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;AACT,wBAAA,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,oBAAoB,EAAE;AACzD,wBAAA,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,oBAAoB,EAAE;AAClE,wBAAA,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,oBAAoB,EAAE;AAClE,wBAAA,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,oBAAoB,EAAE;AACjE,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,wBAAwB,CAAC;AACjD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;qBACF,EACQ,OAAA,EAAA,CAAC,WAAW,CAAC,EAAA,QAAA,EAAA,qtCAAA,EAAA,MAAA,EAAA,CAAA,khuBAAA,CAAA,EAAA;8BAQd,KAAK,EAAA,CAAA;sBADZ,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;gBAazB,WAAW,EAAA,CAAA;sBADrB,KAAK;uBAAC,cAAc;gBAiBrB,SAAS,EAAA,CAAA;sBADR;gBAOD,IAAI,EAAA,CAAA;sBADH;gBAOD,YAAY,EAAA,CAAA;sBADX;gBAYS,mBAAmB,EAAA,CAAA;sBAD5B,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,sBAAsB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;;ME9F3C,eAAe,CAAA;8GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YAJhB,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,sBAAsB,CACxH,EAAA,OAAA,EAAA,CAAA,kBAAkB,EAAE,sBAAsB,CAAA,EAAA,CAAA,CAAA;+GAGzC,eAAe,EAAA,OAAA,EAAA,CAJhB,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,iBAAiB,EAAE,kBAAkB,CAAA,EAAA,CAAA,CAAA;;2FAI/F,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,sBAAsB,CAAC;AACnI,oBAAA,OAAO,EAAE,CAAC,kBAAkB,EAAE,sBAAsB,CAAC;AACrD,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA;;;ACbD;;AAEG;;;;"}
1
+ {"version":3,"file":"acorex-components-text-box.mjs","sources":["../../../../libs/components/text-box/src/lib/mask-options.directive.ts","../../../../libs/components/text-box/src/lib/text-box.component.ts","../../../../libs/components/text-box/src/lib/text-box.component.html","../../../../libs/components/text-box/src/lib/text-box.module.ts","../../../../libs/components/text-box/src/acorex-components-text-box.ts"],"sourcesContent":["import { Directive, EventEmitter, Input, Output } from '@angular/core';\nimport { MaskedOptions } from 'imask';\n\nexport type AXMaskOptions = MaskedOptions | any;\n\nexport interface AXMaskOptionsInterface {\n mask: MaskedOptions | string | RegExp;\n updateValue?: (masked: string, unmasked: string) => void;\n}\n\n@Directive({ selector: 'ax-mask-options' })\nexport class AXMaskOptionsDirective implements AXMaskOptionsInterface {\n private _mask: MaskedOptions | string | RegExp;\n\n @Output()\n public onMaskChange = new EventEmitter<MaskedOptions | string | RegExp>();\n\n @Input()\n public get mask(): MaskedOptions | string | RegExp {\n return this._mask;\n }\n\n public set mask(v: MaskedOptions | string | RegExp) {\n this._mask = v;\n this.onMaskChange.emit(v);\n }\n\n @Input()\n updateValue?: (masked: string, unmasked: string) => void;\n}\n","/* eslint-disable @angular-eslint/no-inputs-metadata-property */\nimport {\n AXClearableComponent,\n AXComponent,\n AXFocusableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n MXLookComponent,\n} from '@acorex/components/common';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n Input,\n ViewChild,\n ViewEncapsulation,\n forwardRef,\n input,\n} from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport IMask, { InputMask } from 'imask';\nimport { classes } from 'polytype';\nimport { AXMaskOptions, AXMaskOptionsDirective } from './mask-options.directive';\n\n/**\n * The Textbox is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-text-box',\n templateUrl: 'text-box.component.html',\n styleUrls: ['text-box.component.scss'],\n inputs: ['disabled', 'tabIndex', 'readonly', 'value', 'state', 'name', 'id', 'placeholder', 'maxLength', 'allowNull', 'type', 'autoComplete', 'look'],\n outputs: ['onBlur', 'onFocus', 'valueChange', 'stateChange', 'onValueChanged', 'readonlyChange', 'disabledChange', 'onKeyDown', 'onKeyUp', 'onKeyPress'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n { provide: AXComponent, useExisting: AXTextBoxComponent },\n { provide: AXFocusableComponent, useExisting: AXTextBoxComponent },\n { provide: AXClearableComponent, useExisting: AXTextBoxComponent },\n { provide: AXValuableComponent, useExisting: AXTextBoxComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXTextBoxComponent),\n multi: true,\n },\n ],\n imports: [FormsModule],\n})\nexport class AXTextBoxComponent extends classes(MXInputBaseValueComponent<string>, MXLookComponent) implements AfterContentInit {\n /** @ignore */\n protected _updateOn: 'change' | 'blur' | 'submit' = 'change';\n\n /** @ignore */\n @ViewChild('input', { static: true })\n private input: ElementRef<HTMLInputElement>;\n\n /** @ignore */\n private _maskObj: InputMask<any>;\n\n /** @ignore */\n private _maskOptions: AXMaskOptions = { mask: null };\n\n /**\n * This public getter provides access to the `_maskOptions` property, which holds the configuration options for the mask feature.\n */\n @Input('mask-options')\n public get maskOptions(): AXMaskOptions {\n return this._maskOptions;\n }\n\n /**\n * @param value {AXMaskOptions} - The new mask configuration options to be set.\n */\n public set maskOptions(value: AXMaskOptions) {\n this._maskOptions = value;\n this.setMask();\n }\n\n /**\n * This property defines the maximum number of characters that the input field can accept. It can be dynamically bound from a parent component template to enforce input length constraints.\n */\n @Input()\n maxLength: number;\n\n /**\n * This property determines the type of the input element (e.g., 'text', 'password', 'email', etc.). It can be dynamically bound from a parent component template to change the input field type based on different conditions or requirements.\n */\n @Input()\n type: string;\n\n /**\n * This property determines whether the input field should have autocomplete enabled and what type of autocomplete suggestions should be provided\n */\n @Input()\n autoComplete: string;\n\n /**\n * This will apply 'my-custom-class' and 'another-class' to the component's root element.\n */\n // @Input('class')\n // classNames: string;\n classNames = input('', { alias: 'class' });\n\n /** @ignore */\n @ContentChild(AXMaskOptionsDirective, { static: true })\n protected _maskOptionsContent: AXMaskOptionsDirective;\n\n /** @ignore */\n ngAfterContentInit() {\n if (this._maskOptionsContent?.mask) {\n if (typeof this._maskOptionsContent.mask == 'string' || this._maskOptionsContent.mask instanceof RegExp) {\n Object.assign(this.maskOptions, {\n mask: this._maskOptionsContent.mask,\n unmask: false,\n });\n }\n if (typeof this._maskOptionsContent.mask == 'object') {\n Object.assign(this.maskOptions, this._maskOptionsContent.mask);\n }\n }\n //\n this.setMask();\n }\n\n /** @ignore */\n private setMask() {\n if (this._maskObj) this._maskObj.destroy();\n //\n if (this.maskOptions?.mask) {\n this._maskObj = IMask(this.input.nativeElement, this.maskOptions);\n this._updateOn = 'submit';\n this._maskObj.on('accept', this._onComplete.bind(this));\n this._maskObj.on('complete', this._onComplete.bind(this));\n if (this.value) {\n this._maskObj.value = `${this.value}`;\n this._maskObj.updateValue();\n }\n }\n }\n\n /** @ignore */\n private _onComplete(e: InputEvent) {\n this.commitValue(this._maskObj.value, e?.isTrusted ?? false);\n if (typeof this._maskOptionsContent?.updateValue === 'function') {\n this._maskOptionsContent?.updateValue(this._maskObj.value, this._maskObj.unmaskedValue);\n }\n }\n\n /** @ignore */\n protected _handleModelChange(value: string | null) {\n this.commitValue(value, true);\n }\n}\n","<div\n class=\"ax-editor-container {{ classNames() }} 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 class=\"ax-input\"\n [id]=\"id\"\n [name]=\"name\"\n [attr.autocomplete]=\"autoComplete\"\n [attr.type]=\"type\"\n [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxLength\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [ngModel]=\"value\"\n (ngModelChange)=\"_handleModelChange($event)\"\n [ngModelOptions]=\"{ updateOn: _updateOn }\"\n (keydown)=\"emitOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n />\n @if (input.value && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\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","import { AXButtonModule } from '@acorex/components/button';\nimport { AXCommonModule } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXMaskOptionsDirective } from './mask-options.directive';\nimport { AXTextBoxComponent } from './text-box.component';\n\n@NgModule({\n imports: [CommonModule, AXCommonModule, FormsModule, AXButtonModule, AXDecoratorModule, AXTextBoxComponent, AXMaskOptionsDirective],\n exports: [AXTextBoxComponent, AXMaskOptionsDirective],\n providers: [],\n})\nexport class AXTextBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { NXComponent } from '@acorex/components/common';
2
2
  import { OnDestroy, QueryList } from '@angular/core';
3
3
  import { Subscription } from 'rxjs';
4
4
  import { AXGridLayoutWidgetComponent } from './grid-layout-widget.component';
5
- import { AXGridLayoutEvent, AXGridLayoutNode, AXGridLayoutOptions, AXGridLayoutWidget, AXGridLayoutWidgetElement } from './types';
5
+ import { AXGridLayoutEvent, AXGridLayoutNode, AXGridLayoutOptions, AXGridLayoutPosition, AXGridLayoutWidget, AXGridLayoutWidgetElement } from './types';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare class AXGridLayoutContainerComponent extends NXComponent implements OnDestroy {
8
8
  #private;
@@ -40,13 +40,7 @@ export declare class AXGridLayoutContainerComponent extends NXComponent implemen
40
40
  setupDraggable(dragIn?: string | HTMLElement[], widgets?: AXGridLayoutWidget): Promise<void>;
41
41
  getOptions(): AXGridLayoutOptions;
42
42
  getChildren(): AXGridLayoutNode[];
43
- findEmptySpace(input: {
44
- h: number;
45
- w: number;
46
- }): {
47
- x?: number;
48
- y?: number;
49
- };
43
+ findEmptySpace(input: Required<Pick<AXGridLayoutPosition, 'height' | 'width'>>): Pick<AXGridLayoutPosition, 'x' | 'y'>;
50
44
  static ɵfac: i0.ɵɵFactoryDeclaration<AXGridLayoutContainerComponent, never>;
51
45
  static ɵcmp: i0.ɵɵComponentDeclaration<AXGridLayoutContainerComponent, "ax-grid-layout-container", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "isEmpty": { "alias": "isEmpty"; "required": false; "isSignal": true; }; }, { "onAdded": "onAdded"; "onRemoved": "onRemoved"; "onWidgetChange": "onWidgetChange"; "onChange": "onChange"; "isLayoutRendered": "isLayoutRendered"; "isEmpty": "isEmptyChange"; }, ["gridstackItems"], ["*"], true, never>;
52
46
  }
@@ -6,9 +6,9 @@ export interface AXGridLayoutPosition {
6
6
  /** widget position y (default?: 0) */
7
7
  y?: number;
8
8
  /** widget dimension width (default?: 1) */
9
- w?: number;
9
+ width?: number;
10
10
  /** widget dimension height (default?: 1) */
11
- h?: number;
11
+ height?: number;
12
12
  }
13
13
  export interface AXGridLayoutWidget extends AXGridLayoutPosition {
14
14
  id?: string;
@@ -66,6 +66,7 @@ export interface AXGridLayoutOptions {
66
66
  */
67
67
  removableSelector?: string;
68
68
  /** does it has option to remove widgets */
69
+ /** does it has option to remove widgets */
69
70
  removable?: boolean;
70
71
  /**
71
72
  * accept widgets dragged from other grids or from outside (default: `false`). Can be: `true` or `false`,
@@ -75,6 +76,13 @@ export interface AXGridLayoutOptions {
75
76
  float?: boolean;
76
77
  /** draggable handle selector (default?: '.grid-stack-item-content') */
77
78
  dragHandlerSelector?: string;
79
+ /** responsive column layout for width:column behavior */
80
+ responsiveLayout?: {
81
+ /** <= width for the breakpoint to trigger */
82
+ width?: number;
83
+ /** column count */
84
+ column: number;
85
+ }[];
78
86
  }
79
87
  export interface AXGridLayoutContainerElement extends HTMLElement {
80
88
  gridstack?: AXGridLayout;
@@ -5,3 +5,5 @@ export declare function convertAXGridLayoutNodeToGridStackNode(node: AXGridLayou
5
5
  export declare function convertGridStackNodeToAXGridLayoutNode(node: import('gridstack').GridStackNode): AXGridLayoutNode;
6
6
  export declare function convertAXGridLayoutOptionsToGridStackOptions(options: AXGridLayoutOptions): import('gridstack').GridStackOptions;
7
7
  export declare function convertGridStackOptionsToAXGridLayoutOptions(options: import('gridstack').GridStackOptions): AXGridLayoutOptions;
8
+ /** remove keys which are undefined */
9
+ export declare function removeUndefinedKeys(obj: any): any;
@@ -17,6 +17,10 @@ export declare class AXNumberBoxComponent extends AXNumberBoxComponent_base impl
17
17
  input: ElementRef<HTMLInputElement>;
18
18
  /** @ignore */
19
19
  private _thousandsSeparator;
20
+ /**
21
+ * This property determines the type of the input element (e.g., 'text', 'password', 'email', etc.). It can be dynamically bound from a parent component template to change the input field type based on different conditions or requirements.
22
+ */
23
+ type: import("@angular/core").InputSignal<string>;
20
24
  /**
21
25
  * boolean value that specifies the number box change step by scrolling.
22
26
  */
@@ -156,6 +160,6 @@ export declare class AXNumberBoxComponent extends AXNumberBoxComponent_base impl
156
160
  decimalStepDown(u?: boolean): void;
157
161
  onWheel(event: WheelEvent): void;
158
162
  static ɵfac: i0.ɵɵFactoryDeclaration<AXNumberBoxComponent, never>;
159
- static ɵcmp: i0.ɵɵComponentDeclaration<AXNumberBoxComponent, "ax-number-box", 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; }; "look": { "alias": "look"; "required": false; }; "changeOnScroll": { "alias": "changeOnScroll"; "required": false; }; "thousandsSeparator": { "alias": "thousandsSeparator"; "required": false; }; "padDecimalZeros": { "alias": "padDecimalZeros"; "required": false; }; "step": { "alias": "step"; "required": false; }; "decimals": { "alias": "decimals"; "required": false; }; "decimalStep": { "alias": "decimalStep"; "required": false; }; "showSpinButtons": { "alias": "showSpinButtons"; "required": false; }; "minValue": { "alias": "minValue"; "required": false; }; "maxValue": { "alias": "maxValue"; "required": false; }; "classNames": { "alias": "class"; "required": false; }; }, { "valueChange": "valueChange"; "stateChange": "stateChange"; "onValueChanged": "onValueChanged"; "onBlur": "onBlur"; "onFocus": "onFocus"; "readonlyChange": "readonlyChange"; "disabledChange": "disabledChange"; "onKeyDown": "onKeyDown"; "onKeyUp": "onKeyUp"; "onKeyPress": "onKeyPress"; }, never, ["ax-prefix", "ax-clear-button", "ax-suffix", "ax-validation-rule"], true, never>;
163
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXNumberBoxComponent, "ax-number-box", 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; }; "look": { "alias": "look"; "required": false; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "changeOnScroll": { "alias": "changeOnScroll"; "required": false; }; "thousandsSeparator": { "alias": "thousandsSeparator"; "required": false; }; "padDecimalZeros": { "alias": "padDecimalZeros"; "required": false; }; "step": { "alias": "step"; "required": false; }; "decimals": { "alias": "decimals"; "required": false; }; "decimalStep": { "alias": "decimalStep"; "required": false; }; "showSpinButtons": { "alias": "showSpinButtons"; "required": false; }; "minValue": { "alias": "minValue"; "required": false; }; "maxValue": { "alias": "maxValue"; "required": false; }; "classNames": { "alias": "class"; "required": false; }; }, { "valueChange": "valueChange"; "stateChange": "stateChange"; "onValueChanged": "onValueChanged"; "onBlur": "onBlur"; "onFocus": "onFocus"; "readonlyChange": "readonlyChange"; "disabledChange": "disabledChange"; "onKeyDown": "onKeyDown"; "onKeyUp": "onKeyUp"; "onKeyPress": "onKeyPress"; }, never, ["ax-prefix", "ax-clear-button", "ax-suffix", "ax-validation-rule"], true, never>;
160
164
  }
161
165
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acorex/components",
3
- "version": "19.11.1",
3
+ "version": "19.11.2-next.0",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=19.0.0",
6
6
  "@angular/core": ">=19.0.0",
@@ -208,6 +208,12 @@ export declare class AXRangeSliderComponent extends AXRangeSliderComponent_base
208
208
  * @ignore
209
209
  */
210
210
  protected ngOnInit(): void;
211
+ /**
212
+ * @ignore
213
+ */
214
+ protected ngOnDestroy(): void;
215
+ private moveListener;
216
+ private endListener;
211
217
  /**
212
218
  * @ignore
213
219
  */