{"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/input/number/src/number.props.ts","../../../../../projects/components/widgets/input/number/src/number.component.ts","../../../../../projects/components/widgets/input/number/src/number.component.html","../../../../../projects/components/widgets/input/number/src/index.ts"],"sourcesContent":["import {PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register, registerFormWidget} from '@wm/components/base';\nimport {FormWidgetType} from '@wm/core';\n\nexport const numberProps = new Map(\n    [\n        ['autofocus', PROP_BOOLEAN],\n        ['class', PROP_STRING],\n        ['datavaluesource', PROP_ANY],\n        ['datavalue', PROP_STRING],\n        ['disabled', PROP_BOOLEAN],\n        ['hint', PROP_STRING],\n        ['arialabel', PROP_STRING],\n        ['localefilter', PROP_STRING],\n        ['minvalue', PROP_NUMBER],\n        ['maxvalue', PROP_NUMBER],\n        ['name', PROP_STRING],\n        ['numberfilter', PROP_STRING],\n        ['placeholder', {value: 'Enter number', ...PROP_STRING}],\n        ['readonly', PROP_BOOLEAN],\n        ['regexp', PROP_STRING],\n        ['required', PROP_BOOLEAN],\n        ['shortcutkey', PROP_STRING],\n        ['show', {value: true, ...PROP_BOOLEAN}],\n        ['step', {value: 1, ...PROP_NUMBER}],\n        ['tabindex', {value: 0, ...PROP_NUMBER}],\n        ['trailingzero', {value: false, ...PROP_BOOLEAN}],\n        ['updateon', PROP_STRING],\n        ['inputmode', {value: 'natural', ...PROP_STRING}],\n        ['decimalplaces', PROP_NUMBER],\n        ['conditionalclass', PROP_ANY],\n        ['conditionalstyle', PROP_ANY]\n    ]\n);\n\nexport const registerProps = () => {\n    register(\n        'wm-number',\n        numberProps\n    );\n    registerFormWidget(\n        FormWidgetType.NUMBER,\n        new Map(numberProps)\n    );\n};\n","import { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport {NG_VALIDATORS, NG_VALUE_ACCESSOR, NgModel} from '@angular/forms';\nimport {Component, ElementRef, Inject, Injector, OnDestroy, Optional, ViewChild} from '@angular/core';\n\nimport {AbstractI18nService} from '@wm/core';\nimport {IWidgetConfig, provideAs, provideAsWidgetRef, TrailingZeroDecimalPipe} from '@wm/components/base';\n\nimport {registerProps} from './number.props';\nimport { NumberLocale } from '@wm/components/input/text';\n\nconst WIDGET_CONFIG: IWidgetConfig = {\n    widgetType: 'wm-number',\n    hostClass: 'app-input-wrapper'\n};\n\n@Component({\n  standalone: true,\n  imports: [CommonModule, FormsModule],\n    selector: '[wmNumber]',\n    templateUrl: './number.component.html',\n    providers: [\n        provideAs(NumberComponent, NG_VALUE_ACCESSOR, true),\n        provideAs(NumberComponent, NG_VALIDATORS, true),\n        provideAsWidgetRef(NumberComponent)\n    ]\n})\nexport class NumberComponent extends NumberLocale implements OnDestroy {\n    static initializeProps = registerProps();\n\n    public required: boolean;\n    public regexp: string;\n    public disabled: boolean;\n    public name: string;\n    public hint: string;\n    public arialabel: string;\n    public tabindex: any;\n    public conditionalclass: any;\n    public conditionalstyle: any;\n    public shortcutkey: string;\n    public autofocus: boolean;\n    @ViewChild('input', {static: true}) inputEl: ElementRef;\n    @ViewChild(NgModel, {static: true}) ngModel: NgModel;\n\n    constructor(inj: Injector, i18nService: AbstractI18nService, trailingZeroDecimalPipe: TrailingZeroDecimalPipe, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n        super(inj, WIDGET_CONFIG, i18nService, trailingZeroDecimalPipe, explicitContext);\n    }\n\n    ngOnDestroy() {\n        // MEMORY LEAK FIX: Clear ViewChild references\n        // These retain the entire component tree including parent contexts\n        this.inputEl = null;\n        this.ngModel = null;\n\n        // Call parent ngOnDestroy (NumberLocale → StylableComponent → BaseComponent)\n        super.ngOnDestroy();\n    }\n}\n","<input class=\"form-control app-textbox app-number-input\"\n       inputmode=\"decimal\"\n       focus-target\n       [attr.name]=\"name\"\n       type=\"text\"\n       [ngModel]=\"displayValue\"\n       [readonly]=\"readonly\"\n       [disabled]=\"disabled\"\n       [pattern]=\"regexp\"\n       [attr.tabindex]=\"tabindex\"\n       [attr.placeholder]=\"placeholder\"\n       [attr.accesskey]=\"shortcutkey\"\n       [attr.aria-label]=\"arialabel\"\n       [autofocus]=\"autofocus\"\n       [ngClass]=\"conditionalclass\"\n       [ngStyle]=\"conditionalstyle\"\n       (ngModelChange)=\"onModelChange($event)\"\n       (blur)=\"handleBlur($event); checkForTrailingZeros($event);\"\n       (focus)=\"checkForTrailingZeros($event)\"\n       (input)=\"onInputChange($event.target.value)\"\n       [ngModelOptions]=\"ngModelOptions\"\n       [required]=\"required\"\n       (keypress)=\"validateInputEntry($event)\"\n       (paste)=\"onPaste($event)\"\n       (keydown.backspace)=\"onBackspace($event)\"\n       (keydown.delete)=\"onDelete($event)\"\n       (keydown.enter)=\"onEnter($event)\"\n       (keydown.ArrowUp)=\"onArrowPress($event, 'UP')\"\n       (keydown.ArrowDown)=\"onArrowPress($event, 'DOWN')\"\n       #input>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}