{"version":3,"file":"twentyfive-input.mjs","sources":["../../../projects/twentyfive-input/src/lib/input/twentyfive-input.service.ts","../../../projects/twentyfive-input/src/lib/input/twentyfive-input.component.ts","../../../projects/twentyfive-input/src/lib/input/twentyfive-input.component.html","../../../projects/twentyfive-input/src/lib/emptyFunction.ts","../../../projects/twentyfive-input/src/lib/input-group/twentyfive-input-group.component.ts","../../../projects/twentyfive-input/src/lib/input-group/twentyfive-input-group.component.html","../../../projects/twentyfive-input/src/lib/input-with-icon/twentyfive-input-with-icon.component.ts","../../../projects/twentyfive-input/src/lib/input-with-icon/twentyfive-input-with-icon.component.html","../../../projects/twentyfive-input/src/lib/input/twentyfive-input.module.ts","../../../projects/twentyfive-input/src/lib/input-group/twentyfive-input-group.service.ts","../../../projects/twentyfive-input/src/lib/input-with-icon/twentyfive-input-with-icon.service.ts","../../../projects/twentyfive-input/src/public-api.ts","../../../projects/twentyfive-input/src/twentyfive-input.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class TwentyfiveInputService {\n\n  constructor() { }\n}\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\nimport {InputTheme, LabelTheme} from 'twentyfive-style';\n\n@Component({\n  selector: 'lib-twentyfive-input',\n  templateUrl: `./twentyfive-input.component.html`,\n  styleUrls: [`./twentyfive-input.component.scss`]\n})\nexport class TwentyfiveInputComponent {\n\n  @Input() placeholder: string = 'Placeholder';\n  @Input() inputType: string = 'text';\n  @Input() value: string = '';\n  @Input() minValue: number = 0;\n  @Input() labelText: string = '';\n  @Input() inputDescriptionText: string = '';\n  @Input() invalidText: string = '';\n  @Input() validText: string = '';\n  @Input() id: string = '';\n\n  @Input() readOnly: boolean = false;\n  @Input() required: boolean = false;\n  @Input() disabled: boolean = false;\n  @Input() showLabel: boolean = true;\n  @Input() showInputDescription: boolean = false;\n\n  @Input() inputStyle: InputTheme = InputTheme.Primary;\n  @Input() labelStyle: LabelTheme = LabelTheme.LabelMedium;\n  @Input() customCssClass: string = '';\n  @Input() customLabelClass: string = '';\n  @Input() customInputDescriptionClass: string = '';\n  @Input() isClearable: boolean = false;\n\n  @Input() customStyles: {[p: string]: any} = {}\n\n  @Input() maxCharacters?: number; // New input for maximum characters\n\n  /**\n   sensibilità dell'incremento del valore numerico default è 1\n   */\n  @Input() stepValue: any = 1;\n\n  @Output() changeValue = new EventEmitter<any>();\n\n  isValid: boolean = true;\n\n  changeInput(event: any) {\n    this.validateInput(event);\n    if (this.isValid) {\n      this.changeValue.emit(event);\n    }\n  }\n\n  clearInput() {\n    this.value = '';\n    this.changeValue.emit(this.value);\n  }\n\n  validateInput(event: any) {\n    const numericValue = parseFloat(event);\n\n    if (this.minValue !== undefined && numericValue) {\n      if (numericValue < this.minValue) {\n        this.isValid = false;\n        return;\n      }\n    }\n\n    this.isValid = true;\n  }\n\n  protected readonly InputTheme = InputTheme;\n  protected readonly LabelTheme = LabelTheme;\n}\n\n\n","<div class=\"form-group\">\n  <div *ngIf=\"showLabel\" class=\" row\">\n    <label [ngClass]=\"\n         labelStyle == LabelTheme.LabelMedium ? 'label-25' :\n         labelStyle == LabelTheme.LabelBold ? 'label-25-bold' :\n         customLabelClass\">\n      {{labelText}}\n    </label>\n  </div>\n\n  <div *ngIf=\"showInputDescription\" class=\"row mb-1\">\n    <label [ngClass]=\"labelStyle == LabelTheme.LabelSmall ? 'label-small' :\n         customInputDescriptionClass\">\n      {{inputDescriptionText}}\n    </label>\n  </div>\n\n  <input [type]=\"inputType\"\n         [ngClass]=\"{'invalid': !isValid, 'input-25': inputStyle == InputTheme.Primary}\"\n         [ngStyle]=\"customStyles\"\n         [placeholder]=\"placeholder\"\n         [readOnly]=\"readOnly\"\n         [disabled]=\"disabled\"\n         [required]=\"required\"\n         [id]=\"id\"\n         [min]=\"minValue\"\n         [(ngModel)]=\"value\"\n         (ngModelChange)=\"changeInput($event)\"\n         [attr.maxlength]=\"maxCharacters ? maxCharacters : null\"\n         [step]=\"stepValue\"\n         class=\"form-control\">\n  <p *ngIf=\"isValid && validText\" class=\"valid-txt\">\n    {{validText}}\n  </p>\n  <p *ngIf=\"!isValid && invalidText\" class=\"invalid-txt\">\n    {{invalidText}}\n  </p>\n</div>\n","export function emptyFunction() {}\n","import {Component, EventEmitter, Input, Output} from \"@angular/core\";\nimport {emptyFunction} from \"../emptyFunction\";\nimport {AddonTheme, InputGroupButtonTheme, InputTheme} from \"twentyfive-style\";\n\n@Component({\n  selector: 'lib-twentyfive-input-group',\n  templateUrl: `./twentyfive-input-group.component.html`\n})\nexport class TwentyfiveInputGroupComponent {\n\n  @Input() placeholder: string = 'Placeholder';\n  @Input() inputType: string = 'text';\n  @Input() labelText: string = 'text';\n  @Input() appendIcon: string = 'bi bi-person';\n  @Input() prependIcon: string = 'bi bi-person';\n  @Input() value: string = '';\n  @Input() id: string = '';\n  @Input() minValue: number = 0;\n\n  @Input() readOnly: boolean = false;\n  @Input() required: boolean = false;\n  @Input() disabled: boolean = false;\n  @Input() showPrependIcon: boolean = false;\n  @Input() showAppend: boolean = false;\n  @Input() showPrepend: boolean = false;\n\n  @Input() click: any = emptyFunction;\n\n  @Input() inputStyle: InputTheme = InputTheme.Primary;\n  @Input() addonStyle: any; //values from AddonTheme\n  @Input() buttonStyle: any; //values from InputGroupButtonTheme\n\n  @Input() customAddonCssClass: string = '';\n  @Input() customCssClass: string = '';\n  @Input() customButtonCssClass: string = '';\n  @Output() appendClick: EventEmitter<any> = new EventEmitter<any>();\n  @Output() changeValue = new EventEmitter<any>();\n\n  isValid: boolean = true;\n\n  changeInput(event: any) {\n    this.validateInput(event);\n    if (this.isValid) {\n      this.changeValue.emit(event);\n    }\n  }\n  validateInput(event: any) {\n    const numericValue = parseFloat(event);\n\n    if (this.minValue !== undefined && numericValue) {\n      if (numericValue < this.minValue) {\n        this.isValid = false;\n        return;\n      }\n    }\n\n    this.isValid = true;\n  }\n\n  protected readonly InputTheme = InputTheme;\n  protected readonly AddonTheme = AddonTheme;\n  protected readonly InputGroupButtonTheme = InputGroupButtonTheme;\n\n  onAppendClick() {\n    this.appendClick.emit();\n  }\n}\n\n","<div class=\"input-group\">\n  <div *ngIf=\"showPrepend\" class=\"input-group-prepend\">\n        <span\n          [ngClass]=\"addonStyle == AddonTheme.Primary ? 'input-group-addon': customAddonCssClass\"\n          class=\"input-group-text\">\n\n            <label *ngIf=\"!showPrependIcon\">{{labelText}}</label>\n            <i *ngIf=\"showPrependIcon\" [ngClass]=\"prependIcon\"></i>\n        </span>\n  </div>\n  <input\n    class=\"form-control\"\n    [ngClass]=\"inputStyle == InputTheme.Primary ? 'input-25': customCssClass\"\n    [type]=\"inputType\"\n    [placeholder]=\"placeholder\"\n    [disabled]=\"disabled\"\n    [min]=\"minValue\"\n    [(ngModel)]=\"value\"\n    (ngModelChange)=\"changeInput($event)\"\n  >\n  <div *ngIf=\"showAppend\" class=\"input-group-append\">\n    <button\n      (click)=\"onAppendClick()\"\n      [ngClass]=\"[buttonStyle == InputGroupButtonTheme.Primary ? 'btn btn-input-group-primary' :\n             customButtonCssClass]\"\n      type=\"button\" >\n      <i [ngClass]=\"appendIcon\"></i>\n    </button>\n  </div>\n</div>\n","import {Component, EventEmitter, Input, Output} from \"@angular/core\";\nimport {BoxTheme, InputIconTheme, InputTheme, InputWithIconTheme } from \"twentyfive-style\";\n\n@Component({\n  selector: 'lib-twentyfive-input-with-icon',\n  templateUrl: `./twentyfive-input-with-icon.component.html`\n})\nexport class TwentyfiveInputWithIconComponent {\n\n  @Input() placeholder: string = 'Placeholder';\n  @Input() inputType: string = 'text';\n  @Input() icon: string = '';\n  @Input() maxWidth: string = '500px';\n  @Input() minWidth: string = '200px';\n  @Input() customIconCssClass: string = '';\n  @Input() customBoxCssClass: string = '';\n  @Input() customInputCssClass: string = '';\n\n  @Input() readOnly: boolean = false;\n  @Input() disabled: boolean = false;\n\n  @Input() iconStyle: InputIconTheme = InputIconTheme.Primary;\n  @Input() boxStyle: BoxTheme = BoxTheme.Primary;\n  @Input() inputStyle: InputWithIconTheme = InputWithIconTheme.Primary;\n\n  @Input() buttonText: string = '';\n  @Input() textColor: string = 'white'\n\n  @Input() inputValue: string = '';\n\n  @Output() inputValueChange = new EventEmitter<string>();\n  @Output() iconClick = new EventEmitter<string>();\n\n  onInputChange(value: string) {\n    this.inputValue = value;\n    this.inputValueChange.emit(value); // Notifica il valore al genitore\n  }\n\n  onIconClick() {\n    this.iconClick.emit(this.inputValue);\n  }\n\n  protected readonly InputTheme = InputTheme;\n  protected readonly InputIconTheme = InputIconTheme;\n  protected readonly BoxTheme = BoxTheme;\n  protected readonly InputWithIconTheme = InputWithIconTheme;\n}\n","<div [style.max-width]=\"maxWidth\" [style.min-width]=\"minWidth\" class=\"input-group\">\n  <input [type]=\"inputType\"\n         [ngClass]=\"inputStyle == InputWithIconTheme.Primary ? 'input-primary-25': customInputCssClass\"\n         [placeholder]=\"placeholder\"\n         [(ngModel)]=\"inputValue\"\n         (ngModelChange)=\"onInputChange($event)\"\n         [readOnly]=\"readOnly\"\n         [disabled]=\"disabled\"\n         class=\"form-control\"\n  >\n  <div class=\"input-group-append\" >\n    <span [ngClass]=\"boxStyle == BoxTheme.Primary ? 'box-primary-25' : customBoxCssClass\" class=\"input-group-text\"\n          (click)=\"onIconClick()\">\n      <i *ngIf=\"!buttonText\" [ngClass]=\"[icon, iconStyle == InputIconTheme.Primary ? 'icon-primary-25' : customIconCssClass]\"></i>\n      <span *ngIf=\"buttonText\" [ngStyle]=\"{'color': textColor}\"> {{ buttonText }} </span>\n    </span>\n  </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { TwentyfiveInputComponent } from './twentyfive-input.component';\nimport {NgClass, NgIf, NgStyle} from \"@angular/common\";\nimport {TwentyfiveInputGroupComponent} from \"../input-group/twentyfive-input-group.component\";\nimport {TwentyfiveInputWithIconComponent} from \"../input-with-icon/twentyfive-input-with-icon.component\";\nimport {FormsModule} from \"@angular/forms\";\nimport {NgbModule} from \"@ng-bootstrap/ng-bootstrap\";\n\n\n\n@NgModule({\n  declarations: [\n    TwentyfiveInputComponent,\n    TwentyfiveInputGroupComponent,\n    TwentyfiveInputWithIconComponent\n  ],\n    imports: [\n        NgClass,\n        NgIf,\n        NgbModule,\n        FormsModule,\n        NgStyle\n    ],\n  exports: [\n    TwentyfiveInputComponent,\n    TwentyfiveInputGroupComponent,\n    TwentyfiveInputWithIconComponent\n  ]\n})\nexport class TwentyfiveInputModule { }\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class TwentyfiveInputGroupService {\n\n  constructor() { }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class TwentyfiveInputWithIconService {\n\n  constructor() { }\n}\n","/*\n * Public API Surface of twentyfive-input\n */\n\nexport * from './lib/input/twentyfive-input.service';\nexport * from './lib/input/twentyfive-input.component';\nexport * from './lib/input/twentyfive-input.module';\n\nexport * from './lib/input-group/twentyfive-input-group.service';\nexport * from './lib/input-group/twentyfive-input-group.component';\n\nexport * from './lib/input-with-icon/twentyfive-input-with-icon.service';\nexport * from './lib/input-with-icon/twentyfive-input-with-icon.component';\n\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}