UNPKG

ng-zorro-antd-mobile

Version:

An enterprise-class mobile UI components based on Ant Design and Angular

1 lines 54 kB
{"version":3,"file":"ng-zorro-antd-mobile-input-item.mjs","sources":["../../components/input-item/custom-keyboard/custom-keyboard.component.ts","../../components/input-item/custom-keyboard/custom-keyboard.component.html","../../components/input-item/custom-input/custom-input.service.ts","../../components/input-item/custom-input/custom-input.component.ts","../../components/input-item/custom-input/custom-input.component.html","../../components/input-item/input-item.component.ts","../../components/input-item/input-item.component.html","../../components/input-item/input-item.module.ts","../../components/input-item/ng-zorro-antd-mobile-input-item.ts"],"sourcesContent":["import { Component, OnInit, Output, EventEmitter, ViewEncapsulation, OnDestroy } from '@angular/core';\nimport { LocaleProviderService } from 'ng-zorro-antd-mobile/locale-provider';\nimport { takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\n\n@Component({\n selector: 'CustomKeyboard',\n templateUrl: './custom-keyboard.component.html',\n encapsulation: ViewEncapsulation.None,\n providers: [LocaleProviderService]\n})\nexport class CustomKeyboardComponent implements OnInit, OnDestroy {\n prefixCls: string = 'am-number-keyboard';\n wrapCls: object;\n okText: string = '';\n wrapperCls: object;\n\n private _locale: any = {};\n private _unsubscribe$ = new Subject<void>();\n\n @Output()\n onClick = new EventEmitter<any>();\n\n constructor(private _localeProvider: LocaleProviderService) {}\n\n tdClick(e) {\n this.onClick.emit(e);\n }\n\n ngOnInit() {\n this.wrapCls = {\n [`${this.prefixCls}-item`]: true\n };\n this.wrapperCls = {\n [`${this.prefixCls}-wrapper`]: true\n };\n this._localeProvider.localeChange.pipe(takeUntil(this._unsubscribe$)).subscribe(_ => {\n this._locale = this._localeProvider.getLocaleSubObj('InputItem');\n this.okText = this._locale.confirmLabel;\n });\n }\n\n ngOnDestroy() {\n this._unsubscribe$.next();\n this._unsubscribe$.complete();\n }\n}\n","<div [ngClass]=\"wrapperCls\">\n <table>\n <tbody>\n <tr>\n <td [ngClass]=\"wrapCls\" (click)=\"tdClick(1)\">1</td>\n <td [ngClass]=\"wrapCls\" (click)=\"tdClick(2)\">2</td>\n <td [ngClass]=\"wrapCls\" (click)=\"tdClick(3)\">3</td>\n <td class=\"keyboard-delete\" [rowSpan]=\"2\" [ngClass]=\"wrapCls\" (click)=\"tdClick('delete')\"></td>\n </tr>\n <tr>\n <td [ngClass]=\"wrapCls\" (click)=\"tdClick(4)\">4</td>\n <td [ngClass]=\"wrapCls\" (click)=\"tdClick(5)\">5</td>\n <td [ngClass]=\"wrapCls\" (click)=\"tdClick(6)\">6</td>\n </tr>\n <tr>\n <td [ngClass]=\"wrapCls\" (click)=\"tdClick(7)\">7</td>\n <td [ngClass]=\"wrapCls\" (click)=\"tdClick(8)\">8</td>\n <td [ngClass]=\"wrapCls\" (click)=\"tdClick(9)\">9</td>\n <td class=\"keyboard-confirm\" [rowSpan]=\"2\" [ngClass]=\"wrapCls\" (click)=\"tdClick('confirm')\">{{ okText }}</td>\n </tr>\n <tr>\n <td [ngClass]=\"wrapCls\" (click)=\"tdClick('.')\">.</td>\n <td [ngClass]=\"wrapCls\" (click)=\"tdClick(0)\">0</td>\n <td class=\"keyboard-hide\" [ngClass]=\"wrapCls\" (click)=\"tdClick('hide')\"></td>\n </tr>\n </tbody>\n </table>\n</div>\n","import { Injectable, ComponentRef, ComponentFactory, ApplicationRef, ComponentFactoryResolver } from '@angular/core';\nimport { CustomKeyboardComponent } from '../custom-keyboard/custom-keyboard.component';\n\n@Injectable()\nexport class CustomInputService {\n static compRef: ComponentRef<any> = null;\n static appRef: ApplicationRef = null;\n static isShow = false;\n static clickValue = null;\n static _inputCompFactory: ComponentFactory<CustomKeyboardComponent> = null;\n static _keyboardPrefixCls = 'am-number-keyboard';\n\n constructor(private _appRef: ApplicationRef, private _cfr: ComponentFactoryResolver) {\n CustomInputService.appRef = this._appRef;\n CustomInputService._inputCompFactory = this._cfr.resolveComponentFactory(CustomKeyboardComponent);\n }\n\n static getShowStatus() {\n return CustomInputService.isShow;\n }\n\n static showKeyboard() {\n if (!this.isShow) {\n if (this.compRef) {\n this.compRef.instance.wrapperCls = {\n [`am-number-keyboard-wrapper`]: true\n };\n } else {\n let container = document.querySelector(`#${this._keyboardPrefixCls}-container`);\n if (!container) {\n container = document.createElement('div');\n container.setAttribute('id', `${this._keyboardPrefixCls}-container`);\n document.body.appendChild(container);\n container.appendChild(document.createElement(CustomInputService._inputCompFactory.selector));\n this.compRef = this.appRef.bootstrap(CustomInputService._inputCompFactory);\n this.compRef.instance.onClick.subscribe(e => {\n this.clickValue = e;\n });\n }\n }\n this.isShow = true;\n }\n }\n\n static hideKeyboard() {\n if (this.compRef && this.isShow) {\n this.isShow = false;\n this.compRef.instance.wrapperCls = {\n [`am-number-keyboard-wrapper`]: true,\n [`am-number-keyboard-wrapper-hide`]: true\n };\n }\n }\n}\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n OnInit,\n OnDestroy,\n ViewEncapsulation,\n HostBinding,\n NgZone\n} from '@angular/core';\nimport { CustomInputService } from './custom-input.service';\n\n@Component({\n selector: 'CustomInput',\n templateUrl: './custom-input.component.html',\n encapsulation: ViewEncapsulation.None,\n providers: [CustomInputService]\n})\nexport class CustomInputComponent implements OnInit, OnDestroy {\n keyboardPrefixCls: string = 'am-number-keyboard';\n fakeInputCls: object;\n focus: boolean = false;\n\n private _value: string = '';\n private _defaultValue: string = '';\n private _placeholder: string = '';\n private _maxLength: number;\n private _editable: boolean = true;\n private _disabled: boolean = false;\n private _setFocus: boolean = false;\n private _preventKeyboard: boolean;\n private _moneyKeyboardAlign: string;\n private _fontColor: string;\n\n @Input()\n get value(): string {\n return this._value;\n }\n set value(v: string) {\n if (typeof v === 'undefined' || v === null) {\n this._value = '';\n } else if (this._maxLength !== undefined && this._maxLength >= 0) {\n this._value = v.toString().substr(0, this._maxLength);\n } else {\n this._value = v.toString();\n }\n }\n @Input()\n set defaultValue(value: string) {\n this._defaultValue = value;\n if (!this._value) {\n this._value = this._defaultValue.toString();\n }\n }\n @Input()\n set maxLength(value: number) {\n this._maxLength = value;\n }\n @Input()\n get placeholder(): string {\n return this._placeholder;\n }\n set placeholder(value: string) {\n this._placeholder = value;\n }\n @Input()\n set editable(value: boolean) {\n this._editable = value;\n }\n @Input()\n set disabled(value: boolean) {\n this._disabled = value;\n }\n @Input()\n get fontColor() {\n return this._fontColor;\n }\n set fontColor(value: string) {\n this._fontColor = value;\n }\n @Input()\n set moneyKeyboardAlign(value: string) {\n this._moneyKeyboardAlign = value;\n this.setContainerCls();\n }\n @Input()\n set setFocus(value) {\n if (value) {\n this._setFocus = value.focus;\n if (this._setFocus) {\n this.inputFocus();\n }\n }\n }\n @Output()\n onChange: EventEmitter<any> = new EventEmitter<any>();\n @Output()\n onBlur: EventEmitter<any> = new EventEmitter<any>();\n @Output()\n onFocus: EventEmitter<any> = new EventEmitter<any>();\n\n @HostBinding('class.fake-input-container')\n clsFakeContainer: boolean = true;\n @HostBinding('class.fake-input-container-left')\n clsFakeContainerLeft: boolean;\n\n constructor(private _ref: ElementRef, private _customInputService: CustomInputService, private _ngZone: NgZone) {}\n\n onFakeInputClick() {\n if (this._preventKeyboard) {\n return;\n }\n this.inputFocus();\n }\n\n inputFocus = () => {\n this.removeBlurListener();\n const focus = this.focus;\n if (!focus || this._setFocus) {\n this.onInputFocus();\n }\n setTimeout(() => {\n this.addBlurListener();\n }, 50);\n }\n\n doBlur = ev => {\n const value = this._value;\n // 点击是否是组件本身\n let parentFound = false;\n // 点击目标是否是custom-input\n let isInput = false;\n // 点击目标是否是custom-keyboard\n let isKeyboard = false;\n let isClear = false;\n let target = ev.target;\n while (target && target !== null && !parentFound) {\n if (target === this._ref.nativeElement) {\n parentFound = true;\n }\n if (target.localName === 'custominput') {\n isInput = true;\n }\n if (target.localName === 'customkeyboard') {\n isKeyboard = true;\n }\n if (target.className.indexOf('am-input-clear') >= 0) {\n isClear = true;\n }\n target = target.parentElement;\n }\n // 当点击目标是本身的时候,获取焦点、不隐藏keyboard\n // 当点击目标不是本身但是其他的custom-input时,失去焦点、不隐藏keyboard\n // 当点击目标是keyboard时,不失去焦点,不隐藏keyboard\n if (parentFound) {\n this.focus = true;\n } else if (isInput) {\n this._setFocus = false;\n this.focus = false;\n this.onBlur.emit(this._value);\n }\n if (this.focus && isKeyboard) {\n this.focus = true;\n this.onKeyboardClick(CustomInputService.clickValue);\n }\n if (!parentFound && !isInput && !isKeyboard && !isClear && !this._setFocus) {\n this.focus = false;\n this._setFocus = false;\n this.onBlur.emit(this._value);\n CustomInputService.hideKeyboard();\n }\n this.setFakeInputCls();\n }\n\n removeBlurListener = () => {\n document.removeEventListener('click', this.doBlur, false);\n }\n\n addBlurListener = () => {\n document.addEventListener('click', this.doBlur, false);\n }\n\n onInputBlur = value => {\n this.focus = false;\n this.setFakeInputCls();\n this.onBlur.emit(this._value);\n CustomInputService.hideKeyboard();\n }\n\n onInputFocus = () => {\n this.onFocus.emit(this._value);\n this.focus = true;\n this._setFocus = false;\n this.setFakeInputCls();\n setTimeout(() => {\n CustomInputService.showKeyboard();\n }, 100);\n }\n\n setFakeInputCls = () => {\n this.fakeInputCls = {\n [`fake-input`]: true,\n ['fake-input-disabled']: this._disabled,\n ['focus']: this.focus\n };\n }\n\n setContainerCls = () => {\n this.clsFakeContainerLeft = this._moneyKeyboardAlign === 'left';\n }\n\n onKeyboardClick = keyboardItemValue => {\n // 只允许一个小数点且不能是首位\n if (keyboardItemValue === '.' && (this._value.includes('.') || this._value === '')) {\n return;\n }\n\n let valueAfterChange;\n // 删除键\n if (keyboardItemValue === 'delete') {\n valueAfterChange = this._value.substring(0, this._value.length - 1);\n this.onChange.emit(valueAfterChange);\n // 确认键\n } else if (keyboardItemValue === 'confirm') {\n valueAfterChange = this._value;\n this.onChange.emit(valueAfterChange);\n this.onInputBlur(this._value);\n // 收起键\n } else if (keyboardItemValue === 'hide') {\n valueAfterChange = this._value;\n this.onInputBlur(valueAfterChange);\n } else {\n if (\n this._maxLength !== undefined &&\n +this._maxLength >= 0 &&\n (this._value + keyboardItemValue).length > this._maxLength\n ) {\n valueAfterChange = (this._value + keyboardItemValue).substr(0, this._maxLength);\n this.onChange.emit(valueAfterChange);\n } else {\n valueAfterChange = this._value + keyboardItemValue;\n this.onChange.emit(valueAfterChange);\n }\n }\n this._ngZone.run(() => {\n this._value = valueAfterChange;\n });\n }\n\n ngOnInit() {\n this._preventKeyboard = this._disabled || !this._editable;\n this.setFakeInputCls();\n this.setContainerCls();\n }\n\n ngOnDestroy() {\n this.removeBlurListener();\n if (CustomInputService) {\n CustomInputService.hideKeyboard();\n CustomInputService.compRef = null;\n }\n const container = document.querySelector(`#${this.keyboardPrefixCls}-container`);\n if (container) {\n container.remove();\n }\n }\n}\n","<div *ngIf=\"value === ''\" class=\"fake-input-placeholder\">\n {{ placeholder }}\n</div>\n<div [ngClass]=\"fakeInputCls\" [style.color]=\"fontColor\" (click)=\"onFakeInputClick()\">\n {{ value }}\n</div>\n","import {\n Component,\n AfterViewInit,\n Input,\n Output,\n EventEmitter,\n ViewChild,\n OnInit,\n HostBinding,\n Renderer2,\n ElementRef,\n forwardRef,\n TemplateRef\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { isTemplateRef } from 'ng-zorro-antd-mobile/core';\nimport { NzmInputType } from './input-item.definitions';\n\n@Component({\n selector: 'InputItem, nzm-input-item',\n templateUrl: './input-item.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputItemComponent),\n multi: true\n }\n ]\n})\nexport class InputItemComponent implements OnInit, AfterViewInit, ControlValueAccessor {\n prefixCls: string = 'am-input';\n wrapCls: object;\n labelCls: object;\n controlCls: object;\n setFocus: object = {};\n pattern: string = '';\n autoFocus: boolean = false;\n inputType: NzmInputType = 'text';\n ngTemplate: boolean = false;\n isTemplateRef = isTemplateRef;\n\n private _el: HTMLElement;\n private _type: NzmInputType = 'text';\n private _value: string;\n private _defaultValue: string = '';\n private _placeholder: string = '';\n private _editable: boolean = true;\n private _disabled: boolean = false;\n private _clear: boolean = false;\n private _maxLength: number;\n private _error: boolean = false;\n private _extra: string | TemplateRef<any> = '';\n private _labelNumber: number = 5;\n private _updatePlaceholder: boolean = false;\n private _prefixListCls: string = 'am-list';\n private _name: string;\n private _moneyKeyboardAlign: string = 'right';\n private _locale;\n private _focus: boolean = false;\n private _isClear: boolean = false;\n private _fontColor: string;\n private _content: string | TemplateRef<any> = '';\n private _inputLock = false;\n\n @ViewChild('lableContent', { static: true })\n lableRef: ElementRef;\n @ViewChild('inputElement')\n inputElementRef: ElementRef;\n\n @Input()\n get type(): NzmInputType {\n return this._type;\n }\n set type(value: NzmInputType) {\n if (value && value.length > 0) {\n this.inputType = value;\n if (value === 'bankCard' || value === 'phone') {\n this._type = 'tel';\n } else if (value === 'password') {\n this._type = 'password';\n } else if (value === 'digit') {\n this._type = 'number';\n } else {\n this._type = value;\n }\n if (value === 'number') {\n this._type = 'text';\n this.pattern = '[0-9]*';\n }\n }\n }\n @Input()\n get value(): string {\n return this._value;\n }\n set value(v: string) {\n if (typeof v === 'undefined' || v === null) {\n this._value = '';\n } else {\n this._value = v;\n }\n }\n @Input()\n get defaultValue(): string {\n return this._defaultValue;\n }\n set defaultValue(value: string) {\n this._defaultValue = value;\n if (!this._value) {\n this._value = this._defaultValue;\n }\n }\n @Input()\n get placeholder(): string {\n return this._placeholder;\n }\n set placeholder(value: string) {\n this._placeholder = value;\n }\n\n @Input()\n get editable(): boolean {\n return this._editable;\n }\n set editable(value: boolean) {\n this._editable = value;\n }\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = value;\n this.clsDisabled = value;\n }\n @Input()\n get clear(): boolean {\n return this._clear;\n }\n set clear(value: boolean) {\n this._clear = value;\n }\n @Input()\n get maxLength(): number {\n return this._maxLength;\n }\n set maxLength(value: number) {\n this._maxLength = value;\n }\n @Input()\n get error(): boolean {\n return this._error;\n }\n set error(value: boolean) {\n this._error = value;\n this.clsError = value;\n }\n @Input()\n get extra(): string | TemplateRef<any> {\n return this._extra;\n }\n set extra(value: string | TemplateRef<any>) {\n if (value instanceof TemplateRef) {\n this.ngTemplate = true;\n } else {\n this.ngTemplate = false;\n }\n this._extra = value;\n }\n @Input()\n set labelNumber(value: number) {\n this._labelNumber = value;\n this.setCls();\n }\n @Input()\n set updatePlaceholder(value: boolean) {\n this._updatePlaceholder = value;\n }\n @Input()\n get prefixListCls(): string {\n return this._prefixListCls;\n }\n set prefixListCls(value: string) {\n this._prefixListCls = value;\n this.render.addClass(this._el, value + '-item');\n this.render.addClass(this._el, value + '-item-middle');\n }\n @Input()\n get name(): string {\n return this._name;\n }\n set name(value: string) {\n this._name = value;\n }\n @Input()\n get moneyKeyboardAlign(): string {\n return this._moneyKeyboardAlign;\n }\n set moneyKeyboardAlign(value: string) {\n this._moneyKeyboardAlign = value;\n }\n @Input()\n set locale(value) {\n this._locale = value;\n }\n @Input()\n get fontColor() {\n return this._fontColor;\n }\n set fontColor(value: string) {\n this._fontColor = value;\n }\n @Input()\n set focus(value) {\n if (value && value.focus) {\n this.autoFocus = value.focus;\n if (this._type === 'money') {\n this.setFocus = value;\n } else if (this.inputElementRef) {\n this._focus = true;\n this.inputElementRef.nativeElement.focus();\n this.inputFocus('');\n }\n }\n }\n @Input()\n get content() {\n return this._content;\n }\n set content(value: string | TemplateRef<any>) {\n this._content = value;\n this.setCls();\n }\n\n @Input() compositionFilter = true;\n\n @Output()\n onChange: EventEmitter<any> = new EventEmitter<any>();\n @Output()\n onBlur: EventEmitter<any> = new EventEmitter<any>();\n @Output()\n onFocus: EventEmitter<any> = new EventEmitter<any>();\n @Output()\n onErrorClick: EventEmitter<any> = new EventEmitter<any>();\n @Output()\n onExtraClick: EventEmitter<any> = new EventEmitter<any>();\n\n @HostBinding('class.am-input-item')\n clsItem: boolean = true;\n @HostBinding('class.am-input-disabled')\n clsDisabled: boolean = this._disabled;\n @HostBinding('class.am-input-error')\n clsError: boolean = this._error;\n @HostBinding('class.am-input-focus')\n clsFocus: boolean = this._focus;\n @HostBinding('class.am-input-android,')\n clsAndroid: boolean = this._focus;\n\n constructor(private element: ElementRef, private render: Renderer2) {\n this._el = element.nativeElement;\n }\n\n _onChange = (_: any) => { };\n\n setCls() {\n if (\n this.lableRef.nativeElement.children.length > 0 ||\n (this.lableRef.nativeElement && this.lableRef.nativeElement.innerText !== '') ||\n this._content != undefined\n ) {\n this.labelCls = {\n [`${this.prefixCls}-label`]: true,\n [`${this.prefixCls}-label-2`]: this._labelNumber === 2,\n [`${this.prefixCls}-label-3`]: this._labelNumber === 3,\n [`${this.prefixCls}-label-4`]: this._labelNumber === 4,\n [`${this.prefixCls}-label-5`]: this._labelNumber === 5,\n [`${this.prefixCls}-label-6`]: this._labelNumber === 6,\n [`${this.prefixCls}-label-7`]: this._labelNumber === 7\n };\n }\n this.controlCls = { [`${this.prefixCls}-control`]: true };\n }\n\n inputChange(inputValue: string) {\n // 'compositionend' is earlier than ngModelChange, Therefore use timer to make ngModelChange runs after 'compositionend' event\n setTimeout(() => {\n if (this.compositionFilter && this._inputLock && this.inputType === 'text') {\n return;\n }\n let value = inputValue;\n switch (this.inputType) {\n case 'bankCard':\n value = value.replace(/\\D/g, '').replace(/(....)(?=.)/g, '$1 ');\n break;\n case 'phone':\n value = value.replace(/\\D/g, '').substring(0, 11);\n const valueLen = value.length;\n if (valueLen > 3 && valueLen < 8) {\n value = `${value.substr(0, 3)} ${value.substr(3)}`;\n } else if (valueLen >= 8) {\n value = `${value.substr(0, 3)} ${value.substr(3, 4)} ${value.substr(7)}`;\n }\n break;\n case 'number':\n value = value.replace(/\\D/g, '');\n break;\n }\n if (this.inputType !== 'text') {\n this._value = value;\n }\n this._onChange(this._value);\n this.onChange.emit(this._value);\n }, 0);\n }\n\n compositionStart() {\n this._inputLock = true;\n }\n\n compositionEnd() {\n this._inputLock = false;\n }\n\n inputFocus(value) {\n if (!this._editable && document.activeElement instanceof HTMLElement) {\n document.activeElement.blur();\n }\n setTimeout(() => {\n this._focus = true;\n this.clsFocus = true;\n this.clsAndroid = true;\n }, 100);\n this.onFocus.emit(value);\n }\n\n inputBlur(value) {\n setTimeout(() => {\n if (!this._isClear) {\n this._focus = false;\n this.clsFocus = false;\n this.clsAndroid = false;\n this.onBlur.emit(value);\n }\n this._isClear = false;\n }, 100);\n }\n\n clearInput() {\n if (this._type !== 'password' && this._updatePlaceholder) {\n this._placeholder = this._value;\n }\n this._value = '';\n this.onChange.emit(this._value);\n this._onChange(this._value);\n this._isClear = true;\n this.inputFocus(this._value);\n }\n\n errorClick(e) {\n if (this.onErrorClick) {\n this.onErrorClick.emit(e);\n }\n }\n\n extraClick(e) {\n if (this.onExtraClick) {\n this.onExtraClick.emit(e);\n }\n }\n\n writeValue(value: any): void {\n if (typeof value === undefined || value === null) {\n this._value = '';\n } else {\n this._value = value;\n }\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n registerOnChange(fn: (_: any) => void): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: any): void { }\n\n ngOnInit() {\n this.setCls();\n this.render.addClass(this._el, this._prefixListCls + '-item');\n this.render.addClass(this._el, this._prefixListCls + '-item-middle');\n }\n\n ngAfterViewInit() {\n setTimeout(() => {\n this.setCls();\n }, 0);\n }\n}\n","<div class=\"{{ prefixListCls }}-line\">\n <div #lableContent [ngClass]=\"labelCls\">\n <ng-template *ngIf=\"isTemplateRef(content)\" [ngTemplateOutlet]=\"content\"></ng-template>\n <ng-container *ngIf=\"!isTemplateRef(content)\">{{ content }}</ng-container>\n </div>\n <div [ngClass]=\"controlCls\">\n <CustomInput\n *ngIf=\"type === 'money'\"\n [value]=\"value\"\n [defaultValue]=\"defaultValue\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [editable]=\"editable\"\n [fontColor]=\"fontColor\"\n [moneyKeyboardAlign]=\"moneyKeyboardAlign\"\n [setFocus]=\"setFocus\"\n [maxLength]=\"maxLength\"\n (onChange)=\"inputChange($event)\"\n (onBlur)=\"inputBlur(value)\"\n (onFocus)=\"inputFocus(value)\"\n >\n </CustomInput>\n <div *ngIf=\"type !== 'money'\">\n <input\n #inputElement\n style=\"outline:none\"\n [type]=\"type\"\n [name]=\"name\"\n [(ngModel)]=\"value\"\n [defaultValue]=\"defaultValue\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [readOnly]=\"!editable\"\n [autofocus]=\"autoFocus\"\n [maxlength]=\"maxLength\"\n [pattern]=\"pattern\"\n [style.color]=\"fontColor\"\n (ngModelChange)=\"inputChange($event)\"\n (compositionstart)=\"compositionStart()\"\n (compositionend)=\"compositionEnd()\"\n (blur)=\"inputBlur(value)\"\n (focus)=\"inputFocus(value)\"\n />\n </div>\n </div>\n <div\n *ngIf=\"clear && editable && !disabled && (value && value.length > 0)\"\n class=\"{{ prefixCls }}-clear\"\n (click)=\"clearInput()\"\n ></div>\n <div *ngIf=\"error\" class=\"{{ prefixCls }}-error-extra\" (click)=\"errorClick($event)\"></div>\n <div *ngIf=\"extra !== ''\" class=\"{{ prefixCls }}-extra\" (click)=\"extraClick($event)\">\n <ng-container *ngIf=\"!ngTemplate\">{{ extra }}</ng-container>\n <ng-template *ngIf=\"ngTemplate\" [ngTemplateOutlet]=\"extra\"></ng-template>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { InputItemComponent } from './input-item.component';\nimport { CustomKeyboardComponent } from './custom-keyboard/custom-keyboard.component';\nimport { CustomInputComponent } from './custom-input/custom-input.component';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n@NgModule({\n exports: [InputItemComponent, CustomKeyboardComponent, CustomInputComponent],\n declarations: [InputItemComponent, CustomKeyboardComponent, CustomInputComponent],\n imports: [CommonModule, FormsModule, ReactiveFormsModule]\n})\nexport class InputItemModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.CustomInputService","i1","i2","i3.CustomInputComponent"],"mappings":"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