{"version":3,"file":"cty-mobile-ui-stepper.mjs","sources":["../../../packages/components/stepper/stepper.ts","../../../packages/components/stepper/stepper.html","../../../packages/components/stepper/module.ts","../../../packages/components/stepper/cty-mobile-ui-stepper.ts"],"sourcesContent":["import {\r\n  Component,\r\n  OnInit,\r\n  Input,\r\n  Output,\r\n  EventEmitter,\r\n} from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\nimport { IonButton, IonInput } from '@ionic/angular/standalone';\r\n\r\n@Component({\r\n  selector: 'cty-stepper',\r\n  standalone: true,\r\n  imports: [FormsModule, CommonModule, IonButton, IonInput],\r\n  templateUrl: './stepper.html',\r\n  styleUrl: './stepper.scss',\r\n})\r\nexport class CtyStepper implements OnInit {\r\n  @Input() value: number | string = 1;\r\n  @Input() min: number | string = 1;\r\n  @Input() max: number | string = Infinity;\r\n  @Input() step: number | string = 1;\r\n  @Input() integer: boolean = false;\r\n  @Input() disabled: boolean = false;\r\n  @Input() disabledInput: boolean = false;\r\n  @Input() showMinus: boolean = true;\r\n  @Input() minusText: string = '-';\r\n  @Input() disabledMinus: boolean = false;\r\n  @Input() plusText: string = '+';\r\n  @Input() showPlus: boolean = true;\r\n  @Input() disabledPlus: boolean = false;\r\n  @Input() showInput: boolean = true;\r\n  @Input() readonly: boolean = true;\r\n\r\n  @Output() ctyMinus = new EventEmitter<number | string>(true);\r\n  @Output() ctyPlus = new EventEmitter<number | string>(true);\r\n  @Output() ctyBlur = new EventEmitter<number | string>(true);\r\n  @Output() ctyChange = new EventEmitter<number | string>(true);\r\n  @Output() ctyFocus = new EventEmitter<Event>(true);\r\n  constructor() {}\r\n\r\n  ngOnInit() {\r\n    this.value = this.value || 1;\r\n    this.value = Math.max(+this.min, +this.value);\r\n  }\r\n  _minus() {\r\n    this.value = Number(this.value);\r\n    this.step = Number(this.step);\r\n    this.value = this.countNumber(this.value, this.step, 'minus');\r\n    if (+this.value <= +this.min) {\r\n      this.value = this.min;\r\n    }\r\n    this.ctyMinus.emit(this.value);\r\n  }\r\n  _plus() {\r\n    this.value = Number(this.value);\r\n    this.step = Number(this.step);\r\n    this.value = this.countNumber(this.value, this.step);\r\n    if (+this.value > +this.max) {\r\n      this.value = this.max;\r\n    }\r\n    this.ctyPlus.emit(this.value);\r\n  }\r\n  _inputBlur() {\r\n    if (this.value === '' || +this.value < +this.min) {\r\n      this.value = this.min;\r\n    } else if (+this.value > +this.max) {\r\n      this.value = this.max;\r\n    }\r\n    this.ctyBlur.emit(this.value);\r\n  }\r\n  _keypress(e: any) {\r\n    let pattern = /[0-9\\.,]/;\r\n    if (this.integer) {\r\n      pattern = /[0-9,]/;\r\n    }\r\n    let inputChar = String.fromCharCode(e.charCode);\r\n    if (!pattern.test(inputChar)) {\r\n      e.preventDefault();\r\n    }\r\n  }\r\n  _inputChange() {\r\n    this.ctyChange.emit(this.value);\r\n  }\r\n  _focus(e: any) {\r\n    this.ctyFocus.emit(e);\r\n  }\r\n  countNumber(\r\n    num1: number,\r\n    num2: number,\r\n    type: string = 'plus'\r\n  ): number | string {\r\n    const cardinal = 10 ** 10;\r\n    if (type === 'plus') return Math.round((num1 + num2) * cardinal) / cardinal;\r\n    if (type === 'minus')\r\n      return Math.round((num1 - num2) * cardinal) / cardinal;\r\n\r\n    return 0;\r\n  }\r\n}\r\n","<div class=\"cty-stepper flex-center\">\r\n  <ion-button\r\n    *ngIf=\"showMinus\"\r\n    class=\"cty-stepper_minus\"\r\n    [disabled]=\"min == value || disabled || disabledMinus\"\r\n    (click)=\"_minus()\"\r\n    >{{ minusText }}</ion-button\r\n  >\r\n  <ion-input\r\n    *ngIf=\"showInput\"\r\n    class=\"cty-stepper_input\"\r\n    type=\"number\"\r\n    [disabled]=\"disabled || disabledInput\"\r\n    [readonly]=\"readonly\"\r\n    [(ngModel)]=\"value\"\r\n    (ionBlur)=\"_inputBlur()\"\r\n    (ionChange)=\"_inputChange()\"\r\n    (ionFocus)=\"_focus($event)\"\r\n    (keypress)=\"_keypress($event)\"\r\n    ngDefaultControl\r\n  ></ion-input>\r\n  <ion-button\r\n    *ngIf=\"showPlus\"\r\n    class=\"cty-stepper_plus\"\r\n    [disabled]=\"max == value || disabled || disabledPlus\"\r\n    (click)=\"_plus()\"\r\n    >{{ plusText }}</ion-button\r\n  >\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CtyStepper } from './stepper';\r\n@NgModule({\r\n  imports: [CommonModule, CtyStepper],\r\n  exports: [CtyStepper],\r\n})\r\nexport class CtyStepperModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}