@bizy/core 21.7.2 → 21.8.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.
@@ -2,12 +2,12 @@ import * as i0 from '@angular/core';
2
2
  import { inject, ChangeDetectorRef, ElementRef, EventEmitter, Output, Input, ChangeDetectionStrategy, Component, NgModule, Pipe, Renderer2, ViewChild, ViewContainerRef, RendererFactory2, Inject, Injectable, DOCUMENT as DOCUMENT$1, NgZone, ContentChildren, Directive, ContentChild, TemplateRef, HostListener } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
4
  import { CommonModule, DOCUMENT, registerLocaleData, DatePipe } from '@angular/common';
5
- import { Subscription, Subject, debounceTime, distinctUntilChanged, BehaviorSubject, fromEvent, merge, take, throttleTime, interval, filter as filter$1, skip, auditTime, timer } from 'rxjs';
5
+ import { Subscription, Subject, debounceTime, distinctUntilChanged, BehaviorSubject, fromEvent, merge, take, throttleTime, filter as filter$1, skip, auditTime, timer } from 'rxjs';
6
6
  import * as i3 from '@angular/cdk/dialog';
7
7
  import { DIALOG_DATA, DialogRef, DialogModule, Dialog } from '@angular/cdk/dialog';
8
8
  import * as i1$1 from '@angular/cdk/drag-drop';
9
9
  import { DragDropModule } from '@angular/cdk/drag-drop';
10
- import { debounceTime as debounceTime$1, map, filter, distinctUntilChanged as distinctUntilChanged$1, takeUntil, switchMap, tap, take as take$1 } from 'rxjs/operators';
10
+ import { debounceTime as debounceTime$1, map, filter, distinctUntilChanged as distinctUntilChanged$1, take as take$1, switchMap, tap, takeUntil } from 'rxjs/operators';
11
11
  import * as i1$2 from '@angular/router';
12
12
  import { NavigationEnd, NavigationStart, Router } from '@angular/router';
13
13
  import validator from 'validator';
@@ -11317,11 +11317,11 @@ class BizyCardComponent {
11317
11317
  }
11318
11318
  getNativeElement = () => this.#elementRef?.nativeElement;
11319
11319
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.5", ngImport: i0, type: BizyCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11320
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.5", type: BizyCardComponent, isStandalone: true, selector: "bizy-card", inputs: { id: "id", disabled: "disabled", selected: "selected", customClass: "customClass" }, outputs: { onSelect: "onSelect" }, ngImport: i0, template: "<button \n type=\"button\"\n (click)=\"_onSelect($event)\"\n (keyup.enter)=\"_onSelect($event)\"\n class=\"bizy-card {{customClass}}\"\n [ngClass]=\"{'bizy-card--disabled': disabled}\">\n\n <span class=\"bizy-card__header\">\n\n <span class=\"bizy-card__header__start bizy-card__slot\">\n <ng-content select=\"[slot=header-start]\"></ng-content>\n </span>\n\n <span class=\"bizy-card__header__end bizy-card__slot\">\n <ng-content select=\"[slot=header-end]\"></ng-content>\n </span>\n\n </span>\n\n <span class=\"bizy-card__content\">\n\n <ng-content></ng-content>\n\n </span>\n\n <span class=\"bizy-card__footer\">\n\n <span class=\"bizy-card__footer__start bizy-card__slot\">\n <ng-content select=\"[slot=footer-start]\"></ng-content>\n </span>\n\n <span class=\"bizy-card__footer__end bizy-card__slot\">\n <ng-content select=\"[slot=footer-end]\"></ng-content>\n </span>\n\n </span>\n\n</button>", styles: [":host{font-size:1rem;height:var(--bizy-card-height);min-height:var(--bizy-card-min-height);max-height:var(--bizy-card-max-height);width:var(--bizy-card-width);min-width:var(--bizy-card-min-width);max-width:var(--bizy-card-max-width)}.bizy-card{height:100%;width:100%;cursor:var(--bizy-card-cursor);border-top:var(--bizy-card-border-top, var(--bizy-card-border, none));border-right:var(--bizy-card-border-right, var(--bizy-card-border, none));border-bottom:var(--bizy-card-border-bottom, var(--bizy-card-border, none));border-left:var(--bizy-card-border-left, var(--bizy-card-border, none));border-radius:var(--bizy-card-border-radius);overflow:hidden;padding:var(--bizy-card-padding);display:flex;flex-direction:column;justify-content:space-between;row-gap:var(--bizy-card-row-gap);background-color:var(--bizy-card-background-color);transition:transform .25s ease-in-out;box-shadow:var(--bizy-card-box-shadow)}.bizy-card:hover{transform:translateY(-1px);box-shadow:var(--bizy-card-hover-box-shadow)}.bizy-card:has(>.bizy-card__content:empty)>.bizy-card__content{display:none}.bizy-card:has(>.bizy-card__content:empty)>.bizy-card__header:not(:empty){height:100%!important}.bizy-card:has(>.bizy-card__content:empty)>.bizy-card__footer:not(:empty){height:100%!important}.bizy-card--disabled{pointer-events:none;opacity:.5;cursor:not-allowed!important}.bizy-card__content:not(:empty){display:flex;align-items:var(--bizy-card-content-align-items);column-gap:var(--bizy-card-content-column-gap);height:100%;width:100%;background-color:var(--bizy-card-content-background-color)}.bizy-card__header:has(>.bizy-card__header__start:empty):has(>.bizy-card__header__end:empty){display:none}.bizy-card__header:not(:empty){width:100%;height:fit-content;display:grid;grid-template-columns:auto auto;align-items:var(--bizy-card-header-align-items);column-gap:var(--bizy-card-header-column-gap);background-color:var(--bizy-card-header-background-color)}.bizy-card__header__start{justify-content:flex-start}.bizy-card__header__end{justify-content:flex-end}.bizy-card__slot{width:100%;display:flex;align-items:center;column-gap:var(--bizy-card-slot-column-gap);height:100%;overflow:hidden}.bizy-card__footer:has(>.bizy-card__footer__start:empty):has(>.bizy-card__footer__end:empty){display:none}.bizy-card__footer:not(:empty){width:100%;height:fit-content;display:grid;grid-template-columns:auto auto;align-items:var(--bizy-card-footer-align-items);column-gap:var(--bizy-card-footer-column-gap);background-color:var(--bizy-card-footer-background-color)}.bizy-card__footer__start{justify-content:flex-start}.bizy-card__footer__end{justify-content:flex-end}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11320
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.5", type: BizyCardComponent, isStandalone: true, selector: "bizy-card", inputs: { id: "id", disabled: "disabled", selected: "selected", customClass: "customClass" }, outputs: { onSelect: "onSelect" }, ngImport: i0, template: "<button \n type=\"button\"\n (mousedown)=\"_onSelect($event)\"\n (keyup.enter)=\"_onSelect($event)\"\n class=\"bizy-card {{customClass}}\"\n [ngClass]=\"{'bizy-card--disabled': disabled}\">\n\n <span class=\"bizy-card__header\">\n\n <span class=\"bizy-card__header__start bizy-card__slot\">\n <ng-content select=\"[slot=header-start]\"></ng-content>\n </span>\n\n <span class=\"bizy-card__header__end bizy-card__slot\">\n <ng-content select=\"[slot=header-end]\"></ng-content>\n </span>\n\n </span>\n\n <span class=\"bizy-card__content\">\n\n <ng-content></ng-content>\n\n </span>\n\n <span class=\"bizy-card__footer\">\n\n <span class=\"bizy-card__footer__start bizy-card__slot\">\n <ng-content select=\"[slot=footer-start]\"></ng-content>\n </span>\n\n <span class=\"bizy-card__footer__end bizy-card__slot\">\n <ng-content select=\"[slot=footer-end]\"></ng-content>\n </span>\n\n </span>\n\n</button>", styles: [":host{font-size:1rem;height:var(--bizy-card-height);min-height:var(--bizy-card-min-height);max-height:var(--bizy-card-max-height);width:var(--bizy-card-width);min-width:var(--bizy-card-min-width);max-width:var(--bizy-card-max-width)}.bizy-card{height:100%;width:100%;cursor:var(--bizy-card-cursor);border-top:var(--bizy-card-border-top, var(--bizy-card-border, none));border-right:var(--bizy-card-border-right, var(--bizy-card-border, none));border-bottom:var(--bizy-card-border-bottom, var(--bizy-card-border, none));border-left:var(--bizy-card-border-left, var(--bizy-card-border, none));border-radius:var(--bizy-card-border-radius);overflow:hidden;padding:var(--bizy-card-padding);display:flex;flex-direction:column;justify-content:space-between;row-gap:var(--bizy-card-row-gap);background-color:var(--bizy-card-background-color);transition:transform .25s ease-in-out;box-shadow:var(--bizy-card-box-shadow)}.bizy-card:hover{transform:translateY(-1px);box-shadow:var(--bizy-card-hover-box-shadow)}.bizy-card:has(>.bizy-card__content:empty)>.bizy-card__content{display:none}.bizy-card:has(>.bizy-card__content:empty)>.bizy-card__header:not(:empty){height:100%!important}.bizy-card:has(>.bizy-card__content:empty)>.bizy-card__footer:not(:empty){height:100%!important}.bizy-card--disabled{pointer-events:none;opacity:.5;cursor:not-allowed!important}.bizy-card__content:not(:empty){display:flex;align-items:var(--bizy-card-content-align-items);column-gap:var(--bizy-card-content-column-gap);height:100%;width:100%;background-color:var(--bizy-card-content-background-color)}.bizy-card__header:has(>.bizy-card__header__start:empty):has(>.bizy-card__header__end:empty){display:none}.bizy-card__header:not(:empty){width:100%;height:fit-content;display:grid;grid-template-columns:auto auto;align-items:var(--bizy-card-header-align-items);column-gap:var(--bizy-card-header-column-gap);background-color:var(--bizy-card-header-background-color)}.bizy-card__header__start{justify-content:flex-start}.bizy-card__header__end{justify-content:flex-end}.bizy-card__slot{width:100%;display:flex;align-items:center;column-gap:var(--bizy-card-slot-column-gap);height:100%;overflow:hidden}.bizy-card__footer:has(>.bizy-card__footer__start:empty):has(>.bizy-card__footer__end:empty){display:none}.bizy-card__footer:not(:empty){width:100%;height:fit-content;display:grid;grid-template-columns:auto auto;align-items:var(--bizy-card-footer-align-items);column-gap:var(--bizy-card-footer-column-gap);background-color:var(--bizy-card-footer-background-color)}.bizy-card__footer__start{justify-content:flex-start}.bizy-card__footer__end{justify-content:flex-end}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11321
11321
  }
11322
11322
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.5", ngImport: i0, type: BizyCardComponent, decorators: [{
11323
11323
  type: Component,
11324
- args: [{ selector: 'bizy-card', imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<button \n type=\"button\"\n (click)=\"_onSelect($event)\"\n (keyup.enter)=\"_onSelect($event)\"\n class=\"bizy-card {{customClass}}\"\n [ngClass]=\"{'bizy-card--disabled': disabled}\">\n\n <span class=\"bizy-card__header\">\n\n <span class=\"bizy-card__header__start bizy-card__slot\">\n <ng-content select=\"[slot=header-start]\"></ng-content>\n </span>\n\n <span class=\"bizy-card__header__end bizy-card__slot\">\n <ng-content select=\"[slot=header-end]\"></ng-content>\n </span>\n\n </span>\n\n <span class=\"bizy-card__content\">\n\n <ng-content></ng-content>\n\n </span>\n\n <span class=\"bizy-card__footer\">\n\n <span class=\"bizy-card__footer__start bizy-card__slot\">\n <ng-content select=\"[slot=footer-start]\"></ng-content>\n </span>\n\n <span class=\"bizy-card__footer__end bizy-card__slot\">\n <ng-content select=\"[slot=footer-end]\"></ng-content>\n </span>\n\n </span>\n\n</button>", styles: [":host{font-size:1rem;height:var(--bizy-card-height);min-height:var(--bizy-card-min-height);max-height:var(--bizy-card-max-height);width:var(--bizy-card-width);min-width:var(--bizy-card-min-width);max-width:var(--bizy-card-max-width)}.bizy-card{height:100%;width:100%;cursor:var(--bizy-card-cursor);border-top:var(--bizy-card-border-top, var(--bizy-card-border, none));border-right:var(--bizy-card-border-right, var(--bizy-card-border, none));border-bottom:var(--bizy-card-border-bottom, var(--bizy-card-border, none));border-left:var(--bizy-card-border-left, var(--bizy-card-border, none));border-radius:var(--bizy-card-border-radius);overflow:hidden;padding:var(--bizy-card-padding);display:flex;flex-direction:column;justify-content:space-between;row-gap:var(--bizy-card-row-gap);background-color:var(--bizy-card-background-color);transition:transform .25s ease-in-out;box-shadow:var(--bizy-card-box-shadow)}.bizy-card:hover{transform:translateY(-1px);box-shadow:var(--bizy-card-hover-box-shadow)}.bizy-card:has(>.bizy-card__content:empty)>.bizy-card__content{display:none}.bizy-card:has(>.bizy-card__content:empty)>.bizy-card__header:not(:empty){height:100%!important}.bizy-card:has(>.bizy-card__content:empty)>.bizy-card__footer:not(:empty){height:100%!important}.bizy-card--disabled{pointer-events:none;opacity:.5;cursor:not-allowed!important}.bizy-card__content:not(:empty){display:flex;align-items:var(--bizy-card-content-align-items);column-gap:var(--bizy-card-content-column-gap);height:100%;width:100%;background-color:var(--bizy-card-content-background-color)}.bizy-card__header:has(>.bizy-card__header__start:empty):has(>.bizy-card__header__end:empty){display:none}.bizy-card__header:not(:empty){width:100%;height:fit-content;display:grid;grid-template-columns:auto auto;align-items:var(--bizy-card-header-align-items);column-gap:var(--bizy-card-header-column-gap);background-color:var(--bizy-card-header-background-color)}.bizy-card__header__start{justify-content:flex-start}.bizy-card__header__end{justify-content:flex-end}.bizy-card__slot{width:100%;display:flex;align-items:center;column-gap:var(--bizy-card-slot-column-gap);height:100%;overflow:hidden}.bizy-card__footer:has(>.bizy-card__footer__start:empty):has(>.bizy-card__footer__end:empty){display:none}.bizy-card__footer:not(:empty){width:100%;height:fit-content;display:grid;grid-template-columns:auto auto;align-items:var(--bizy-card-footer-align-items);column-gap:var(--bizy-card-footer-column-gap);background-color:var(--bizy-card-footer-background-color)}.bizy-card__footer__start{justify-content:flex-start}.bizy-card__footer__end{justify-content:flex-end}\n"] }]
11324
+ args: [{ selector: 'bizy-card', imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<button \n type=\"button\"\n (mousedown)=\"_onSelect($event)\"\n (keyup.enter)=\"_onSelect($event)\"\n class=\"bizy-card {{customClass}}\"\n [ngClass]=\"{'bizy-card--disabled': disabled}\">\n\n <span class=\"bizy-card__header\">\n\n <span class=\"bizy-card__header__start bizy-card__slot\">\n <ng-content select=\"[slot=header-start]\"></ng-content>\n </span>\n\n <span class=\"bizy-card__header__end bizy-card__slot\">\n <ng-content select=\"[slot=header-end]\"></ng-content>\n </span>\n\n </span>\n\n <span class=\"bizy-card__content\">\n\n <ng-content></ng-content>\n\n </span>\n\n <span class=\"bizy-card__footer\">\n\n <span class=\"bizy-card__footer__start bizy-card__slot\">\n <ng-content select=\"[slot=footer-start]\"></ng-content>\n </span>\n\n <span class=\"bizy-card__footer__end bizy-card__slot\">\n <ng-content select=\"[slot=footer-end]\"></ng-content>\n </span>\n\n </span>\n\n</button>", styles: [":host{font-size:1rem;height:var(--bizy-card-height);min-height:var(--bizy-card-min-height);max-height:var(--bizy-card-max-height);width:var(--bizy-card-width);min-width:var(--bizy-card-min-width);max-width:var(--bizy-card-max-width)}.bizy-card{height:100%;width:100%;cursor:var(--bizy-card-cursor);border-top:var(--bizy-card-border-top, var(--bizy-card-border, none));border-right:var(--bizy-card-border-right, var(--bizy-card-border, none));border-bottom:var(--bizy-card-border-bottom, var(--bizy-card-border, none));border-left:var(--bizy-card-border-left, var(--bizy-card-border, none));border-radius:var(--bizy-card-border-radius);overflow:hidden;padding:var(--bizy-card-padding);display:flex;flex-direction:column;justify-content:space-between;row-gap:var(--bizy-card-row-gap);background-color:var(--bizy-card-background-color);transition:transform .25s ease-in-out;box-shadow:var(--bizy-card-box-shadow)}.bizy-card:hover{transform:translateY(-1px);box-shadow:var(--bizy-card-hover-box-shadow)}.bizy-card:has(>.bizy-card__content:empty)>.bizy-card__content{display:none}.bizy-card:has(>.bizy-card__content:empty)>.bizy-card__header:not(:empty){height:100%!important}.bizy-card:has(>.bizy-card__content:empty)>.bizy-card__footer:not(:empty){height:100%!important}.bizy-card--disabled{pointer-events:none;opacity:.5;cursor:not-allowed!important}.bizy-card__content:not(:empty){display:flex;align-items:var(--bizy-card-content-align-items);column-gap:var(--bizy-card-content-column-gap);height:100%;width:100%;background-color:var(--bizy-card-content-background-color)}.bizy-card__header:has(>.bizy-card__header__start:empty):has(>.bizy-card__header__end:empty){display:none}.bizy-card__header:not(:empty){width:100%;height:fit-content;display:grid;grid-template-columns:auto auto;align-items:var(--bizy-card-header-align-items);column-gap:var(--bizy-card-header-column-gap);background-color:var(--bizy-card-header-background-color)}.bizy-card__header__start{justify-content:flex-start}.bizy-card__header__end{justify-content:flex-end}.bizy-card__slot{width:100%;display:flex;align-items:center;column-gap:var(--bizy-card-slot-column-gap);height:100%;overflow:hidden}.bizy-card__footer:has(>.bizy-card__footer__start:empty):has(>.bizy-card__footer__end:empty){display:none}.bizy-card__footer:not(:empty){width:100%;height:fit-content;display:grid;grid-template-columns:auto auto;align-items:var(--bizy-card-footer-align-items);column-gap:var(--bizy-card-footer-column-gap);background-color:var(--bizy-card-footer-background-color)}.bizy-card__footer__start{justify-content:flex-start}.bizy-card__footer__end{justify-content:flex-end}\n"] }]
11325
11325
  }], propDecorators: { id: [{
11326
11326
  type: Input
11327
11327
  }], disabled: [{
@@ -11521,7 +11521,6 @@ class BizyInputComponent {
11521
11521
  #ref = inject(ChangeDetectorRef);
11522
11522
  options;
11523
11523
  bizyInputWrapper;
11524
- bizyInput;
11525
11524
  id = `bizy-input-${Math.random()}`;
11526
11525
  name = `bizy-input-${Math.random()}`;
11527
11526
  type = 'text';
@@ -11530,6 +11529,7 @@ class BizyInputComponent {
11530
11529
  debounceTime = 250;
11531
11530
  rows = 4;
11532
11531
  maxLength = null;
11532
+ autofocus = false;
11533
11533
  disabled = false;
11534
11534
  readonly = false;
11535
11535
  valueChange = new EventEmitter();
@@ -11539,22 +11539,26 @@ class BizyInputComponent {
11539
11539
  onSelect = new EventEmitter();
11540
11540
  onBlur = new EventEmitter();
11541
11541
  onFocus = new EventEmitter();
11542
- set autofocus(autofocus) {
11543
- if (typeof autofocus === 'undefined' || autofocus === null) {
11544
- return;
11542
+ onPaste = new EventEmitter();
11543
+ set bizyInput(element) {
11544
+ if (element) {
11545
+ this.#input = element;
11546
+ setTimeout(() => {
11547
+ this.setFocus(this.autofocus);
11548
+ }, 0);
11545
11549
  }
11546
- this.setFocus(autofocus);
11547
11550
  }
11551
+ ;
11548
11552
  set value(value) {
11549
11553
  if (typeof value === 'undefined') {
11550
11554
  return;
11551
11555
  }
11552
11556
  if (this.type === 'currency') {
11553
11557
  this._currencyValue = Number(value);
11554
- if (this.bizyInput && this.bizyInput.nativeElement && this.bizyInput.nativeElement.getValue) {
11555
- const _value = this.bizyInput.nativeElement.getValue();
11558
+ if (this.#input && this.#input.nativeElement && this.#input.nativeElement.getValue) {
11559
+ const _value = this.#input.nativeElement.getValue();
11556
11560
  if (_value !== this._currencyValue) {
11557
- this.bizyInput.nativeElement.setValue(this._currencyValue);
11561
+ this.#input.nativeElement.setValue(this._currencyValue);
11558
11562
  }
11559
11563
  }
11560
11564
  return;
@@ -11567,71 +11571,75 @@ class BizyInputComponent {
11567
11571
  _value = null;
11568
11572
  _currencyValue = null;
11569
11573
  currencyOptions = 'commaDecimalCharDotSeparator';
11574
+ #input = null;
11570
11575
  #subscription = new Subscription();
11571
11576
  #optionSubscription = new Subscription();
11572
11577
  onChange$ = new Subject();
11573
- getWidth() {
11574
- return this.bizyInputWrapper && this.bizyInputWrapper.nativeElement && this.bizyInputWrapper.nativeElement.offsetWidth ? this.bizyInputWrapper.nativeElement.offsetWidth : 0;
11575
- }
11576
- _onchange(value) {
11578
+ #afterViewInitSubscription = new Subscription();
11579
+ #afterViewInit = new BehaviorSubject(false);
11580
+ getWidth = () => this.bizyInputWrapper && this.bizyInputWrapper.nativeElement && this.bizyInputWrapper.nativeElement.offsetWidth ? this.bizyInputWrapper.nativeElement.offsetWidth : 0;
11581
+ _onchange = (value) => {
11577
11582
  if (this.disabled || this.readonly) {
11578
11583
  return;
11579
11584
  }
11580
- if (this.type === 'currency' && this.bizyInput.nativeElement.getValue) {
11581
- this._currencyValue = this.bizyInput.nativeElement.getValue();
11585
+ if (this.type === 'currency' && this.#input.nativeElement.getValue) {
11586
+ this._currencyValue = this.#input.nativeElement.getValue();
11582
11587
  this.onChange$.next(this._currencyValue);
11583
11588
  return;
11584
11589
  }
11585
11590
  this.onChange$.next(value);
11586
- }
11587
- _onClick(event) {
11591
+ };
11592
+ _onClick = (event) => {
11588
11593
  this.onSelect.emit(event);
11589
11594
  this.onOpen();
11590
- }
11591
- _onEnter(event) {
11595
+ };
11596
+ _onEnter = (event) => {
11592
11597
  if (this.disabled || this.readonly || !this.focused) {
11593
11598
  return;
11594
11599
  }
11595
11600
  this.onEnter.emit(event);
11596
- }
11597
- _onBlur(event) {
11598
- if (this.type === 'currency') {
11599
- this.bizyInput.nativeElement.setValue(this._currencyValue);
11600
- }
11601
- setTimeout(() => {
11602
- this.focused = false;
11603
- this.touched = true;
11604
- this.#ref.detectChanges();
11605
- this.onBlur.emit(event);
11606
- }, 250);
11607
- }
11608
- _onBackspace(event) {
11601
+ };
11602
+ _onBackspace = (event) => {
11609
11603
  setTimeout(() => {
11610
11604
  this.onBackspace.emit(event);
11611
- }, 250);
11612
- }
11613
- _onFocus(event) {
11614
- if (this.disabled || this.readonly) {
11615
- return;
11616
- }
11617
- this.focused = true;
11618
- this.#ref.detectChanges();
11619
- this.onFocus.emit(event);
11620
- }
11605
+ }, this.debounceTime);
11606
+ };
11621
11607
  setTouched(touched) {
11622
11608
  this.touched = touched;
11623
11609
  this.#ref.detectChanges();
11624
11610
  }
11625
11611
  ngAfterViewInit() {
11626
- if (this.type === 'currency' && this.bizyInput.nativeElement.setValue) {
11627
- this.bizyInput.nativeElement.setValue(this._currencyValue);
11612
+ if (this.type === 'currency' && this.#input.nativeElement.setValue) {
11613
+ this.#input.nativeElement.setValue(this._currencyValue);
11628
11614
  }
11629
11615
  this.#subscription.add(this.onChange$.pipe(debounceTime(this.debounceTime)).subscribe(value => {
11630
11616
  this.valueChange.emit(value);
11631
11617
  this.onChange.emit(value);
11632
11618
  }));
11619
+ this.#input.nativeElement.addEventListener('focus', this.#focus);
11620
+ this.#input.nativeElement.addEventListener('blur', this.#blur);
11621
+ this.#input.nativeElement.addEventListener('paste', this.#paste);
11622
+ this.#afterViewInit.next(true);
11633
11623
  }
11634
- onOpen() {
11624
+ #focus = (event) => {
11625
+ this.focused = true;
11626
+ this.onFocus.emit(event);
11627
+ this.#ref.detectChanges();
11628
+ };
11629
+ #blur = (event) => {
11630
+ if (this.type === 'currency') {
11631
+ this.#input.nativeElement.setValue(this._currencyValue);
11632
+ }
11633
+ this.focused = false;
11634
+ this.touched = true;
11635
+ this.onBlur.emit(event);
11636
+ this.#ref.detectChanges();
11637
+ };
11638
+ #paste = (event) => {
11639
+ this.onPaste.emit(event);
11640
+ this.#ref.detectChanges();
11641
+ };
11642
+ onOpen = () => {
11635
11643
  if (this.disabled) {
11636
11644
  return;
11637
11645
  }
@@ -11649,26 +11657,24 @@ class BizyInputComponent {
11649
11657
  this.#optionSubscription.unsubscribe();
11650
11658
  }));
11651
11659
  });
11652
- }
11653
- setFocus(focus) {
11654
- const interval$ = interval(300);
11655
- const finish$ = new Subject();
11656
- this.#subscription.add(interval$.pipe(takeUntil(finish$)).subscribe(() => {
11657
- if (this.bizyInput && this.bizyInput.nativeElement) {
11658
- if (focus) {
11659
- this.bizyInput.nativeElement.focus();
11660
- this.focused = true;
11661
- }
11662
- else {
11663
- this.bizyInput.nativeElement.blur();
11664
- this.focused = false;
11665
- }
11666
- finish$.next();
11667
- finish$.complete();
11668
- this.#ref.detectChanges();
11660
+ };
11661
+ getNativeElement = () => this.#elementRef?.nativeElement;
11662
+ setFocus = (focus) => {
11663
+ this.#afterViewInitSubscription.add(this.#afterViewInit.pipe(filter(value => value === true), take$1(1)).subscribe(() => {
11664
+ if (!this.#input || !this.#input.nativeElement) {
11665
+ return;
11669
11666
  }
11667
+ if (focus) {
11668
+ this.#input.nativeElement.focus();
11669
+ this.focused = true;
11670
+ }
11671
+ else {
11672
+ this.#input.nativeElement.blur();
11673
+ this.focused = false;
11674
+ }
11675
+ this.#ref.detectChanges();
11670
11676
  }));
11671
- }
11677
+ };
11672
11678
  close = (event, button) => {
11673
11679
  if (button && event && event.target && event.target === button) {
11674
11680
  return;
@@ -11679,23 +11685,25 @@ class BizyInputComponent {
11679
11685
  ngOnDestroy() {
11680
11686
  this.#subscription.unsubscribe();
11681
11687
  this.#optionSubscription.unsubscribe();
11688
+ this.#afterViewInitSubscription.unsubscribe();
11689
+ if (this.#input && this.#input.nativeElement) {
11690
+ this.#input.nativeElement.removeEventListener('focus', this.#focus);
11691
+ this.#input.nativeElement.removeEventListener('blur', this.#blur);
11692
+ this.#input.nativeElement.removeEventListener('paste', this.#paste);
11693
+ }
11682
11694
  }
11683
- getNativeElement = () => this.#elementRef?.nativeElement;
11684
11695
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.5", ngImport: i0, type: BizyInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11685
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.5", type: BizyInputComponent, isStandalone: true, selector: "bizy-input", inputs: { id: "id", name: "name", type: "type", customClass: "customClass", placeholder: "placeholder", debounceTime: "debounceTime", rows: "rows", maxLength: "maxLength", disabled: "disabled", readonly: "readonly", autofocus: "autofocus", value: "value" }, outputs: { valueChange: "valueChange", onChange: "onChange", onEnter: "onEnter", onBackspace: "onBackspace", onSelect: "onSelect", onBlur: "onBlur", onFocus: "onFocus" }, queries: [{ propertyName: "options", predicate: BizyInputOptionComponent }], viewQueries: [{ propertyName: "bizyInputWrapper", first: true, predicate: ["bizyInputWrapper"], descendants: true }, { propertyName: "bizyInput", first: true, predicate: ["bizyInput"], descendants: true }], ngImport: i0, template: "<button\n #bizyInputWrapper\n type=\"button\"\n (click)=\"_onClick($event)\"\n (keyup)=\"_onClick($event)\"\n class=\"bizy-input {{customClass}}\"\n (focus)=\"bizyInput.nativeElement.focus()\"\n cdkOverlayOrigin\n #bizyInputTrigger=\"cdkOverlayOrigin\"\n [ngClass]=\"{'bizy-input--disabled': disabled, 'bizy-input--negative': type === 'currency' && _currencyValue < 0}\">\n\n <span class=\"bizy-input__header\">\n <ng-content select=\"[slot=header]\"></ng-content>\n </span>\n\n <span class=\"bizy-input__content\" [ngClass]=\"{'bizy-input__content--readonly': readonly}\">\n\n <span class=\"bizy-input__content__prefix\">\n <ng-content select=\"[slot=prefix]\"></ng-content>\n </span>\n\n @if (type !== 'textarea') {\n <input\n #bizyInput\n [id]=\"id\"\n class=\"bizy-input__content__input\"\n [type]=\"type === 'currency' ? 'tel' : type\"\n [placeholder]=\"placeholder\"\n [readonly]=\"readonly\"\n [maxlength]=\"maxLength\"\n [bizyCurrencyFormat]=\"type === 'currency'\"\n [bizyCurrencyOptions]=\"currencyOptions\"\n [bizyOnlyPhoneDigits]=\"type === 'tel'\"\n (blur)=\"_onBlur($event)\"\n (focus)=\"_onFocus($event)\"\n (keyup.enter)=\"_onEnter($event)\"\n (keyup.backspace)=\"_onBackspace($event)\"\n [ngModel]=\"_value\"\n (ngModelChange)=\"_onchange($event)\"/>\n }\n\n @if (type === 'textarea') {\n <textarea\n #bizyInput\n [id]=\"id\"\n [rows]=\"rows\"\n [placeholder]=\"placeholder\"\n [readonly]=\"readonly\"\n [maxlength]=\"maxLength\"\n class=\"bizy-input__content__input\"\n (blur)=\"_onBlur($event)\"\n (focus)=\"_onFocus($event)\"\n (keyup.enter)=\"_onEnter($event)\"\n (keyup.backspace)=\"_onBackspace($event)\"\n [ngModel]=\"_value\"\n (ngModelChange)=\"_onchange($event)\">\n </textarea>\n }\n\n <span class=\"bizy-input__content__suffix\">\n <ng-content select=\"[slot=suffix]\"></ng-content>\n </span>\n\n </span>\n\n <span class=\"bizy-input__bottom-line\" [ngClass]=\"{'bizy-input__bottom-line--visible': focused}\"></span>\n\n</button>\n\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayMinWidth]=\"bizyInputWrapper?.offsetWidth\"\n [cdkConnectedOverlayOrigin]=\"bizyInputTrigger\"\n (overlayOutsideClick)=\"close($event, bizyInputWrapper)\"\n [cdkConnectedOverlayOpen]=\"opened\">\n\n <span class=\"bizy-input__options\">\n\n <ng-content select=\"bizy-input-option\"></ng-content>\n\n </span>\n\n</ng-template>\n\n@if (touched) {\n <span class=\"bizy-input__errors\">\n <ng-content select=\"[slot=error]\"></ng-content>\n </span>\n}\n", styles: [":host{width:var(--bizy-input-width);min-width:var(--bizy-input-min-width);max-width:var(--bizy-input-max-width);display:flex;flex-direction:column;row-gap:.3rem}:host:has(>.bizy-input__errors:not(:empty)) .bizy-input__bottom-line{background-color:var(--bizy-input-invalid-color)!important;visibility:visible!important}:host:has(>.bizy-input__errors:not(:empty)) .bizy-input__content__input{color:var(--bizy-input-invalid-color)!important}.bizy-input{width:100%;background-color:var(--bizy-input-background-color);border:none;border-top-left-radius:.3rem;border-top-right-radius:.3rem;display:flex;padding:.3rem .3rem 0;flex-direction:column;cursor:var(--bizy-input-cursor)}.bizy-input--negative,.bizy-input--negative .bizy-input__header,.bizy-input--negative .bizy-input__content,.bizy-input--negative .bizy-input__content__input{background-color:var(--bizy-input-negative-background-color)}.bizy-input--disabled{opacity:.5;pointer-events:none;cursor:not-allowed!important}.bizy-input__header{background-color:var(--bizy-input-background-color);width:100%;display:flex;align-items:center;column-gap:.5rem;padding-bottom:.1rem}.bizy-input__header:empty{display:none!important}.bizy-input__content{background-color:var(--bizy-input-background-color);width:100%;display:flex;align-items:center;column-gap:.3rem}.bizy-input__content--readonly{pointer-events:none;cursor:default!important}.bizy-input__content__prefix{display:flex;align-items:center;column-gap:.3rem}.bizy-input__content__prefix:empty{display:none!important}.bizy-input__content__suffix{display:flex;align-items:center;column-gap:.3rem}.bizy-input__content__suffix:empty{display:none!important}.bizy-input__content__input{width:100%;background-color:var(--bizy-input-background-color);color:var(--bizy-input-color);flex:1;border:none;padding-block:0;padding-inline:0;padding:0 0 .2rem;font-size:var(--bizy-input-font-size)}.bizy-input__content__input:focus{outline:none;border:none}.bizy-input__content input[type=number]::-webkit-inner-spin-button,.bizy-input__content input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}@keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.bizy-input__bottom-line{width:calc(100% + .6rem);position:relative;right:.3rem;height:.1rem;visibility:hidden;pointer-events:none;background-color:var(--bizy-input-focus-color)}.bizy-input__bottom-line--visible{visibility:visible;animation-name:zoomIn;animation-duration:.2s;animation-fill-mode:both}.bizy-input__options{background-color:var(--bizy-input-background-color);display:flex;min-width:fit-content;width:100%;flex-direction:column;box-shadow:0 7px 14px #32325d1a,0 3px 6px #00000014;max-height:var(--bizy-input-options-height);overflow-y:auto;overflow-x:hidden;position:relative}.bizy-input__errors:empty{display:none!important}::ng-deep .bizy-input__errors *{color:var(--bizy-input-invalid-color)!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i2$2.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation", "cdkConnectedOverlayUsePopover", "cdkConnectedOverlayMatchWidth", "cdkConnectedOverlay"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i2$2.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "directive", type: BizyCurrencyFormatDirective, selector: "[bizyCurrencyFormat]", inputs: ["bizyCurrencyFormat", "bizyCurrencyOptions"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11696
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.5", type: BizyInputComponent, isStandalone: true, selector: "bizy-input", inputs: { id: "id", name: "name", type: "type", customClass: "customClass", placeholder: "placeholder", debounceTime: "debounceTime", rows: "rows", maxLength: "maxLength", autofocus: "autofocus", disabled: "disabled", readonly: "readonly", value: "value" }, outputs: { valueChange: "valueChange", onChange: "onChange", onEnter: "onEnter", onBackspace: "onBackspace", onSelect: "onSelect", onBlur: "onBlur", onFocus: "onFocus", onPaste: "onPaste" }, queries: [{ propertyName: "options", predicate: BizyInputOptionComponent }], viewQueries: [{ propertyName: "bizyInputWrapper", first: true, predicate: ["bizyInputWrapper"], descendants: true }, { propertyName: "bizyInput", first: true, predicate: ["bizyInput"], descendants: true }], ngImport: i0, template: "<button\n #bizyInputWrapper\n type=\"button\"\n (click)=\"_onClick($event)\"\n (keyup)=\"_onClick($event)\"\n class=\"bizy-input {{customClass}}\"\n (focus)=\"setFocus(true)\"\n cdkOverlayOrigin\n #bizyInputTrigger=\"cdkOverlayOrigin\"\n [ngClass]=\"{'bizy-input--disabled': disabled, 'bizy-input--negative': type === 'currency' && _currencyValue < 0}\">\n\n <span class=\"bizy-input__header\">\n <ng-content select=\"[slot=header]\"></ng-content>\n </span>\n\n <span class=\"bizy-input__content\" [ngClass]=\"{'bizy-input__content--readonly': readonly}\">\n\n <span class=\"bizy-input__content__prefix\">\n <ng-content select=\"[slot=prefix]\"></ng-content>\n </span>\n\n @if (type !== 'textarea') {\n <input\n #bizyInput\n [id]=\"id\"\n class=\"bizy-input__content__input\"\n [type]=\"type === 'currency' ? 'tel' : type\"\n [placeholder]=\"placeholder\"\n [readonly]=\"readonly\"\n [maxlength]=\"maxLength\"\n [bizyCurrencyFormat]=\"type === 'currency'\"\n [bizyCurrencyOptions]=\"currencyOptions\"\n [bizyOnlyPhoneDigits]=\"type === 'tel'\"\n (keyup.enter)=\"_onEnter($event)\"\n (keyup.backspace)=\"_onBackspace($event)\"\n [ngModel]=\"_value\"\n (ngModelChange)=\"_onchange($event)\"/>\n }\n\n @if (type === 'textarea') {\n <textarea\n #bizyInput\n [id]=\"id\"\n [rows]=\"rows\"\n [placeholder]=\"placeholder\"\n [readonly]=\"readonly\"\n [maxlength]=\"maxLength\"\n class=\"bizy-input__content__input\"\n (keyup.enter)=\"_onEnter($event)\"\n (keyup.backspace)=\"_onBackspace($event)\"\n [ngModel]=\"_value\"\n (ngModelChange)=\"_onchange($event)\">\n </textarea>\n }\n\n <span class=\"bizy-input__content__suffix\">\n <ng-content select=\"[slot=suffix]\"></ng-content>\n </span>\n\n </span>\n\n <span class=\"bizy-input__bottom-line\" [ngClass]=\"{'bizy-input__bottom-line--visible': focused}\"></span>\n\n</button>\n\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayMinWidth]=\"bizyInputWrapper?.offsetWidth\"\n [cdkConnectedOverlayOrigin]=\"bizyInputTrigger\"\n (overlayOutsideClick)=\"close($event, bizyInputWrapper)\"\n [cdkConnectedOverlayOpen]=\"opened\">\n\n <span class=\"bizy-input__options\">\n\n <ng-content select=\"bizy-input-option\"></ng-content>\n\n </span>\n\n</ng-template>\n\n@if (touched) {\n <span class=\"bizy-input__errors\">\n <ng-content select=\"[slot=error]\"></ng-content>\n </span>\n}\n", styles: [":host{width:var(--bizy-input-width);min-width:var(--bizy-input-min-width);max-width:var(--bizy-input-max-width);display:flex;flex-direction:column;row-gap:.3rem}:host:has(>.bizy-input__errors:not(:empty)) .bizy-input__bottom-line{background-color:var(--bizy-input-invalid-color)!important;visibility:visible!important}:host:has(>.bizy-input__errors:not(:empty)) .bizy-input__content__input{color:var(--bizy-input-invalid-color)!important}.bizy-input{width:100%;background-color:var(--bizy-input-background-color);border:none;border-top-left-radius:.3rem;border-top-right-radius:.3rem;display:flex;padding:.3rem .3rem 0;flex-direction:column;cursor:var(--bizy-input-cursor)}.bizy-input--negative,.bizy-input--negative .bizy-input__header,.bizy-input--negative .bizy-input__content,.bizy-input--negative .bizy-input__content__input{background-color:var(--bizy-input-negative-background-color)}.bizy-input--disabled{opacity:.5;pointer-events:none;cursor:not-allowed!important}.bizy-input__header{background-color:var(--bizy-input-background-color);width:100%;display:flex;align-items:center;column-gap:.5rem;padding-bottom:.1rem}.bizy-input__header:empty{display:none!important}.bizy-input__content{background-color:var(--bizy-input-background-color);width:100%;display:flex;align-items:center;column-gap:.3rem}.bizy-input__content--readonly{pointer-events:none;cursor:default!important}.bizy-input__content__prefix{display:flex;align-items:center;column-gap:.3rem}.bizy-input__content__prefix:empty{display:none!important}.bizy-input__content__suffix{display:flex;align-items:center;column-gap:.3rem}.bizy-input__content__suffix:empty{display:none!important}.bizy-input__content__input{width:100%;background-color:var(--bizy-input-background-color);color:var(--bizy-input-color);flex:1;border:none;padding-block:0;padding-inline:0;padding:0 0 .2rem;font-size:var(--bizy-input-font-size)}.bizy-input__content__input:focus{outline:none;border:none}.bizy-input__content__input::placeholder{color:var(--bizy-input-placeholder-color)}.bizy-input__content input[type=number]::-webkit-inner-spin-button,.bizy-input__content input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}@keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.bizy-input__bottom-line{width:calc(100% + .6rem);position:relative;right:.3rem;height:.1rem;visibility:hidden;pointer-events:none;background-color:var(--bizy-input-focus-color)}.bizy-input__bottom-line--visible{visibility:visible;animation-name:zoomIn;animation-duration:.2s;animation-fill-mode:both}.bizy-input__options{background-color:var(--bizy-input-background-color);display:flex;min-width:fit-content;width:100%;flex-direction:column;box-shadow:0 7px 14px #32325d1a,0 3px 6px #00000014;max-height:var(--bizy-input-options-height);overflow-y:auto;overflow-x:hidden;position:relative}.bizy-input__errors:empty{display:none!important}::ng-deep .bizy-input__errors *{color:var(--bizy-input-invalid-color)!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i2$2.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation", "cdkConnectedOverlayUsePopover", "cdkConnectedOverlayMatchWidth", "cdkConnectedOverlay"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i2$2.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "directive", type: BizyCurrencyFormatDirective, selector: "[bizyCurrencyFormat]", inputs: ["bizyCurrencyFormat", "bizyCurrencyOptions"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11686
11697
  }
11687
11698
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.5", ngImport: i0, type: BizyInputComponent, decorators: [{
11688
11699
  type: Component,
11689
- args: [{ selector: 'bizy-input', imports: [CommonModule, FormsModule, OverlayModule, BizyCurrencyFormatDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n #bizyInputWrapper\n type=\"button\"\n (click)=\"_onClick($event)\"\n (keyup)=\"_onClick($event)\"\n class=\"bizy-input {{customClass}}\"\n (focus)=\"bizyInput.nativeElement.focus()\"\n cdkOverlayOrigin\n #bizyInputTrigger=\"cdkOverlayOrigin\"\n [ngClass]=\"{'bizy-input--disabled': disabled, 'bizy-input--negative': type === 'currency' && _currencyValue < 0}\">\n\n <span class=\"bizy-input__header\">\n <ng-content select=\"[slot=header]\"></ng-content>\n </span>\n\n <span class=\"bizy-input__content\" [ngClass]=\"{'bizy-input__content--readonly': readonly}\">\n\n <span class=\"bizy-input__content__prefix\">\n <ng-content select=\"[slot=prefix]\"></ng-content>\n </span>\n\n @if (type !== 'textarea') {\n <input\n #bizyInput\n [id]=\"id\"\n class=\"bizy-input__content__input\"\n [type]=\"type === 'currency' ? 'tel' : type\"\n [placeholder]=\"placeholder\"\n [readonly]=\"readonly\"\n [maxlength]=\"maxLength\"\n [bizyCurrencyFormat]=\"type === 'currency'\"\n [bizyCurrencyOptions]=\"currencyOptions\"\n [bizyOnlyPhoneDigits]=\"type === 'tel'\"\n (blur)=\"_onBlur($event)\"\n (focus)=\"_onFocus($event)\"\n (keyup.enter)=\"_onEnter($event)\"\n (keyup.backspace)=\"_onBackspace($event)\"\n [ngModel]=\"_value\"\n (ngModelChange)=\"_onchange($event)\"/>\n }\n\n @if (type === 'textarea') {\n <textarea\n #bizyInput\n [id]=\"id\"\n [rows]=\"rows\"\n [placeholder]=\"placeholder\"\n [readonly]=\"readonly\"\n [maxlength]=\"maxLength\"\n class=\"bizy-input__content__input\"\n (blur)=\"_onBlur($event)\"\n (focus)=\"_onFocus($event)\"\n (keyup.enter)=\"_onEnter($event)\"\n (keyup.backspace)=\"_onBackspace($event)\"\n [ngModel]=\"_value\"\n (ngModelChange)=\"_onchange($event)\">\n </textarea>\n }\n\n <span class=\"bizy-input__content__suffix\">\n <ng-content select=\"[slot=suffix]\"></ng-content>\n </span>\n\n </span>\n\n <span class=\"bizy-input__bottom-line\" [ngClass]=\"{'bizy-input__bottom-line--visible': focused}\"></span>\n\n</button>\n\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayMinWidth]=\"bizyInputWrapper?.offsetWidth\"\n [cdkConnectedOverlayOrigin]=\"bizyInputTrigger\"\n (overlayOutsideClick)=\"close($event, bizyInputWrapper)\"\n [cdkConnectedOverlayOpen]=\"opened\">\n\n <span class=\"bizy-input__options\">\n\n <ng-content select=\"bizy-input-option\"></ng-content>\n\n </span>\n\n</ng-template>\n\n@if (touched) {\n <span class=\"bizy-input__errors\">\n <ng-content select=\"[slot=error]\"></ng-content>\n </span>\n}\n", styles: [":host{width:var(--bizy-input-width);min-width:var(--bizy-input-min-width);max-width:var(--bizy-input-max-width);display:flex;flex-direction:column;row-gap:.3rem}:host:has(>.bizy-input__errors:not(:empty)) .bizy-input__bottom-line{background-color:var(--bizy-input-invalid-color)!important;visibility:visible!important}:host:has(>.bizy-input__errors:not(:empty)) .bizy-input__content__input{color:var(--bizy-input-invalid-color)!important}.bizy-input{width:100%;background-color:var(--bizy-input-background-color);border:none;border-top-left-radius:.3rem;border-top-right-radius:.3rem;display:flex;padding:.3rem .3rem 0;flex-direction:column;cursor:var(--bizy-input-cursor)}.bizy-input--negative,.bizy-input--negative .bizy-input__header,.bizy-input--negative .bizy-input__content,.bizy-input--negative .bizy-input__content__input{background-color:var(--bizy-input-negative-background-color)}.bizy-input--disabled{opacity:.5;pointer-events:none;cursor:not-allowed!important}.bizy-input__header{background-color:var(--bizy-input-background-color);width:100%;display:flex;align-items:center;column-gap:.5rem;padding-bottom:.1rem}.bizy-input__header:empty{display:none!important}.bizy-input__content{background-color:var(--bizy-input-background-color);width:100%;display:flex;align-items:center;column-gap:.3rem}.bizy-input__content--readonly{pointer-events:none;cursor:default!important}.bizy-input__content__prefix{display:flex;align-items:center;column-gap:.3rem}.bizy-input__content__prefix:empty{display:none!important}.bizy-input__content__suffix{display:flex;align-items:center;column-gap:.3rem}.bizy-input__content__suffix:empty{display:none!important}.bizy-input__content__input{width:100%;background-color:var(--bizy-input-background-color);color:var(--bizy-input-color);flex:1;border:none;padding-block:0;padding-inline:0;padding:0 0 .2rem;font-size:var(--bizy-input-font-size)}.bizy-input__content__input:focus{outline:none;border:none}.bizy-input__content input[type=number]::-webkit-inner-spin-button,.bizy-input__content input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}@keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.bizy-input__bottom-line{width:calc(100% + .6rem);position:relative;right:.3rem;height:.1rem;visibility:hidden;pointer-events:none;background-color:var(--bizy-input-focus-color)}.bizy-input__bottom-line--visible{visibility:visible;animation-name:zoomIn;animation-duration:.2s;animation-fill-mode:both}.bizy-input__options{background-color:var(--bizy-input-background-color);display:flex;min-width:fit-content;width:100%;flex-direction:column;box-shadow:0 7px 14px #32325d1a,0 3px 6px #00000014;max-height:var(--bizy-input-options-height);overflow-y:auto;overflow-x:hidden;position:relative}.bizy-input__errors:empty{display:none!important}::ng-deep .bizy-input__errors *{color:var(--bizy-input-invalid-color)!important}\n"] }]
11700
+ args: [{ selector: 'bizy-input', imports: [CommonModule, FormsModule, OverlayModule, BizyCurrencyFormatDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n #bizyInputWrapper\n type=\"button\"\n (click)=\"_onClick($event)\"\n (keyup)=\"_onClick($event)\"\n class=\"bizy-input {{customClass}}\"\n (focus)=\"setFocus(true)\"\n cdkOverlayOrigin\n #bizyInputTrigger=\"cdkOverlayOrigin\"\n [ngClass]=\"{'bizy-input--disabled': disabled, 'bizy-input--negative': type === 'currency' && _currencyValue < 0}\">\n\n <span class=\"bizy-input__header\">\n <ng-content select=\"[slot=header]\"></ng-content>\n </span>\n\n <span class=\"bizy-input__content\" [ngClass]=\"{'bizy-input__content--readonly': readonly}\">\n\n <span class=\"bizy-input__content__prefix\">\n <ng-content select=\"[slot=prefix]\"></ng-content>\n </span>\n\n @if (type !== 'textarea') {\n <input\n #bizyInput\n [id]=\"id\"\n class=\"bizy-input__content__input\"\n [type]=\"type === 'currency' ? 'tel' : type\"\n [placeholder]=\"placeholder\"\n [readonly]=\"readonly\"\n [maxlength]=\"maxLength\"\n [bizyCurrencyFormat]=\"type === 'currency'\"\n [bizyCurrencyOptions]=\"currencyOptions\"\n [bizyOnlyPhoneDigits]=\"type === 'tel'\"\n (keyup.enter)=\"_onEnter($event)\"\n (keyup.backspace)=\"_onBackspace($event)\"\n [ngModel]=\"_value\"\n (ngModelChange)=\"_onchange($event)\"/>\n }\n\n @if (type === 'textarea') {\n <textarea\n #bizyInput\n [id]=\"id\"\n [rows]=\"rows\"\n [placeholder]=\"placeholder\"\n [readonly]=\"readonly\"\n [maxlength]=\"maxLength\"\n class=\"bizy-input__content__input\"\n (keyup.enter)=\"_onEnter($event)\"\n (keyup.backspace)=\"_onBackspace($event)\"\n [ngModel]=\"_value\"\n (ngModelChange)=\"_onchange($event)\">\n </textarea>\n }\n\n <span class=\"bizy-input__content__suffix\">\n <ng-content select=\"[slot=suffix]\"></ng-content>\n </span>\n\n </span>\n\n <span class=\"bizy-input__bottom-line\" [ngClass]=\"{'bizy-input__bottom-line--visible': focused}\"></span>\n\n</button>\n\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayMinWidth]=\"bizyInputWrapper?.offsetWidth\"\n [cdkConnectedOverlayOrigin]=\"bizyInputTrigger\"\n (overlayOutsideClick)=\"close($event, bizyInputWrapper)\"\n [cdkConnectedOverlayOpen]=\"opened\">\n\n <span class=\"bizy-input__options\">\n\n <ng-content select=\"bizy-input-option\"></ng-content>\n\n </span>\n\n</ng-template>\n\n@if (touched) {\n <span class=\"bizy-input__errors\">\n <ng-content select=\"[slot=error]\"></ng-content>\n </span>\n}\n", styles: [":host{width:var(--bizy-input-width);min-width:var(--bizy-input-min-width);max-width:var(--bizy-input-max-width);display:flex;flex-direction:column;row-gap:.3rem}:host:has(>.bizy-input__errors:not(:empty)) .bizy-input__bottom-line{background-color:var(--bizy-input-invalid-color)!important;visibility:visible!important}:host:has(>.bizy-input__errors:not(:empty)) .bizy-input__content__input{color:var(--bizy-input-invalid-color)!important}.bizy-input{width:100%;background-color:var(--bizy-input-background-color);border:none;border-top-left-radius:.3rem;border-top-right-radius:.3rem;display:flex;padding:.3rem .3rem 0;flex-direction:column;cursor:var(--bizy-input-cursor)}.bizy-input--negative,.bizy-input--negative .bizy-input__header,.bizy-input--negative .bizy-input__content,.bizy-input--negative .bizy-input__content__input{background-color:var(--bizy-input-negative-background-color)}.bizy-input--disabled{opacity:.5;pointer-events:none;cursor:not-allowed!important}.bizy-input__header{background-color:var(--bizy-input-background-color);width:100%;display:flex;align-items:center;column-gap:.5rem;padding-bottom:.1rem}.bizy-input__header:empty{display:none!important}.bizy-input__content{background-color:var(--bizy-input-background-color);width:100%;display:flex;align-items:center;column-gap:.3rem}.bizy-input__content--readonly{pointer-events:none;cursor:default!important}.bizy-input__content__prefix{display:flex;align-items:center;column-gap:.3rem}.bizy-input__content__prefix:empty{display:none!important}.bizy-input__content__suffix{display:flex;align-items:center;column-gap:.3rem}.bizy-input__content__suffix:empty{display:none!important}.bizy-input__content__input{width:100%;background-color:var(--bizy-input-background-color);color:var(--bizy-input-color);flex:1;border:none;padding-block:0;padding-inline:0;padding:0 0 .2rem;font-size:var(--bizy-input-font-size)}.bizy-input__content__input:focus{outline:none;border:none}.bizy-input__content__input::placeholder{color:var(--bizy-input-placeholder-color)}.bizy-input__content input[type=number]::-webkit-inner-spin-button,.bizy-input__content input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}@keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.bizy-input__bottom-line{width:calc(100% + .6rem);position:relative;right:.3rem;height:.1rem;visibility:hidden;pointer-events:none;background-color:var(--bizy-input-focus-color)}.bizy-input__bottom-line--visible{visibility:visible;animation-name:zoomIn;animation-duration:.2s;animation-fill-mode:both}.bizy-input__options{background-color:var(--bizy-input-background-color);display:flex;min-width:fit-content;width:100%;flex-direction:column;box-shadow:0 7px 14px #32325d1a,0 3px 6px #00000014;max-height:var(--bizy-input-options-height);overflow-y:auto;overflow-x:hidden;position:relative}.bizy-input__errors:empty{display:none!important}::ng-deep .bizy-input__errors *{color:var(--bizy-input-invalid-color)!important}\n"] }]
11690
11701
  }], propDecorators: { options: [{
11691
11702
  type: ContentChildren,
11692
11703
  args: [BizyInputOptionComponent]
11693
11704
  }], bizyInputWrapper: [{
11694
11705
  type: ViewChild,
11695
11706
  args: ['bizyInputWrapper']
11696
- }], bizyInput: [{
11697
- type: ViewChild,
11698
- args: ['bizyInput']
11699
11707
  }], id: [{
11700
11708
  type: Input
11701
11709
  }], name: [{
@@ -11712,6 +11720,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.5", ngImpor
11712
11720
  type: Input
11713
11721
  }], maxLength: [{
11714
11722
  type: Input
11723
+ }], autofocus: [{
11724
+ type: Input
11715
11725
  }], disabled: [{
11716
11726
  type: Input
11717
11727
  }], readonly: [{
@@ -11730,8 +11740,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.5", ngImpor
11730
11740
  type: Output
11731
11741
  }], onFocus: [{
11732
11742
  type: Output
11733
- }], autofocus: [{
11734
- type: Input
11743
+ }], onPaste: [{
11744
+ type: Output
11745
+ }], bizyInput: [{
11746
+ type: ViewChild,
11747
+ args: ['bizyInput']
11735
11748
  }], value: [{
11736
11749
  type: Input
11737
11750
  }] } });
@@ -11895,7 +11908,7 @@ class BizyDatePickerComponent {
11895
11908
  return date.getMinutes();
11896
11909
  }
11897
11910
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.5", ngImport: i0, type: BizyDatePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11898
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.5", type: BizyDatePickerComponent, isStandalone: true, selector: "bizy-date-picker", inputs: { id: "id", disabled: "disabled", customClass: "customClass", opened: "opened", minDate: "minDate", maxDate: "maxDate", enableSeconds: "enableSeconds", date: "date", range: "range", type: "type" }, outputs: { dateChange: "dateChange", rangeChange: "rangeChange", onChange: "onChange", openedChange: "openedChange", onOpen: "onOpen", onSelect: "onSelect" }, providers: [DatePipe], viewQueries: [{ propertyName: "bizyDatePicker", first: true, predicate: ["bizyDatePicker"], descendants: true }], ngImport: i0, template: "<bizy-input\n #bizyDatePicker\n [readonly]=\"true\"\n [disabled]=\"disabled\"\n (onSelect)=\"onSelect.emit($event)\"\n [value]=\"value\"\n [id]=\"id\"\n class=\"bizy-date-picker {{customClass}}\">\n\n <svg\n slot=\"suffix\"\n id=\"bizy-date-picker-arrow\"\n class=\"bizy-date-picker__arrow\"\n [ngClass]=\"{'bizy-date-picker__arrow--opened': opened}\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 320 512\">\n <path d=\"M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z\"/>\n </svg>\n\n <ng-container slot=\"header\">\n <ng-content select=\"[slot=header]\"></ng-content>\n </ng-container>\n\n <ng-container slot=\"suffix\">\n <ng-content select=\"[slot=prefix]\"></ng-content>\n </ng-container>\n\n @if (touched) {\n <ng-container slot=\"error\">\n <ng-content select=\"[slot=error]\"></ng-content>\n </ng-container>\n }\n\n</bizy-input>\n", styles: [":host{font-size:1rem;width:var(--bizy-input-width);min-width:var(--bizy-input-min-width);max-width:var(--bizy-input-max-width);display:flex}.bizy-date-picker{--bizy-input-cursor: pointer}.bizy-date-picker__arrow{height:1rem;pointer-events:none;display:block;transition:transform .2s ease;fill:var(--bizy-input-color)}.bizy-date-picker__arrow--opened{transform:rotate(180deg)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: BizyInputComponent, selector: "bizy-input", inputs: ["id", "name", "type", "customClass", "placeholder", "debounceTime", "rows", "maxLength", "disabled", "readonly", "autofocus", "value"], outputs: ["valueChange", "onChange", "onEnter", "onBackspace", "onSelect", "onBlur", "onFocus"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11911
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.5", type: BizyDatePickerComponent, isStandalone: true, selector: "bizy-date-picker", inputs: { id: "id", disabled: "disabled", customClass: "customClass", opened: "opened", minDate: "minDate", maxDate: "maxDate", enableSeconds: "enableSeconds", date: "date", range: "range", type: "type" }, outputs: { dateChange: "dateChange", rangeChange: "rangeChange", onChange: "onChange", openedChange: "openedChange", onOpen: "onOpen", onSelect: "onSelect" }, providers: [DatePipe], viewQueries: [{ propertyName: "bizyDatePicker", first: true, predicate: ["bizyDatePicker"], descendants: true }], ngImport: i0, template: "<bizy-input\n #bizyDatePicker\n [readonly]=\"true\"\n [disabled]=\"disabled\"\n (onSelect)=\"onSelect.emit($event)\"\n [value]=\"value\"\n [id]=\"id\"\n class=\"bizy-date-picker {{customClass}}\">\n\n <svg\n slot=\"suffix\"\n id=\"bizy-date-picker-arrow\"\n class=\"bizy-date-picker__arrow\"\n [ngClass]=\"{'bizy-date-picker__arrow--opened': opened}\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 320 512\">\n <path d=\"M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z\"/>\n </svg>\n\n <ng-container slot=\"header\">\n <ng-content select=\"[slot=header]\"></ng-content>\n </ng-container>\n\n <ng-container slot=\"suffix\">\n <ng-content select=\"[slot=prefix]\"></ng-content>\n </ng-container>\n\n @if (touched) {\n <ng-container slot=\"error\">\n <ng-content select=\"[slot=error]\"></ng-content>\n </ng-container>\n }\n\n</bizy-input>\n", styles: [":host{font-size:1rem;width:var(--bizy-input-width);min-width:var(--bizy-input-min-width);max-width:var(--bizy-input-max-width);display:flex}.bizy-date-picker{--bizy-input-cursor: pointer}.bizy-date-picker__arrow{height:1rem;pointer-events:none;display:block;transition:transform .2s ease;fill:var(--bizy-input-color)}.bizy-date-picker__arrow--opened{transform:rotate(180deg)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: BizyInputComponent, selector: "bizy-input", inputs: ["id", "name", "type", "customClass", "placeholder", "debounceTime", "rows", "maxLength", "autofocus", "disabled", "readonly", "value"], outputs: ["valueChange", "onChange", "onEnter", "onBackspace", "onSelect", "onBlur", "onFocus", "onPaste"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11899
11912
  }
11900
11913
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.5", ngImport: i0, type: BizyDatePickerComponent, decorators: [{
11901
11914
  type: Component,
@@ -12946,7 +12959,7 @@ class BizyFilterSectionRangeOptionComponent {
12946
12959
  return this.#activated.value;
12947
12960
  };
12948
12961
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.5", ngImport: i0, type: BizyFilterSectionRangeOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12949
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.5", type: BizyFilterSectionRangeOptionComponent, isStandalone: true, selector: "bizy-filter-section-range-option", inputs: { id: "id", disabled: "disabled", customClass: "customClass", min: "min", max: "max", minLimit: "minLimit", maxLimit: "maxLimit" }, outputs: { onChange: "onChange" }, ngImport: i0, template: "<div \n class=\"bizy-filter-section-range-option {{customClass}}\"\n [id]=\"id\">\n\n <span class=\"bizy-filter-section-range-option__inputs\">\n\n <bizy-input\n class=\"bizy-filter-section-range-option__input\"\n type=\"number\"\n [value]=\"minValue.value\"\n (onChange)=\"setMinValue($event)\">\n\n <ng-container slot=\"header\">\n <ng-content select=\"[slot=min-header]\"></ng-content>\n </ng-container>\n\n </bizy-input>\n\n <bizy-input\n class=\"bizy-filter-section-range-option__input\"\n type=\"number\"\n [value]=\"maxValue.value\"\n (onChange)=\"setMaxValue($event)\">\n\n <ng-container slot=\"header\">\n <ng-content select=\"[slot=max-header]\"></ng-content>\n </ng-container>\n\n </bizy-input>\n\n </span>\n \n</div>", styles: [":host{font-size:1rem}.bizy-filter-section-range-option{display:flex;flex-direction:column;row-gap:1rem}.bizy-filter-section-range-option__inputs{display:flex;align-items:center;column-gap:.5rem}.bizy-filter-section-range-option__input{--bizy-input-background-color: #f3f3f3 !important}\n"], dependencies: [{ kind: "component", type: BizyInputComponent, selector: "bizy-input", inputs: ["id", "name", "type", "customClass", "placeholder", "debounceTime", "rows", "maxLength", "disabled", "readonly", "autofocus", "value"], outputs: ["valueChange", "onChange", "onEnter", "onBackspace", "onSelect", "onBlur", "onFocus"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12962
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.5", type: BizyFilterSectionRangeOptionComponent, isStandalone: true, selector: "bizy-filter-section-range-option", inputs: { id: "id", disabled: "disabled", customClass: "customClass", min: "min", max: "max", minLimit: "minLimit", maxLimit: "maxLimit" }, outputs: { onChange: "onChange" }, ngImport: i0, template: "<div \n class=\"bizy-filter-section-range-option {{customClass}}\"\n [id]=\"id\">\n\n <span class=\"bizy-filter-section-range-option__inputs\">\n\n <bizy-input\n class=\"bizy-filter-section-range-option__input\"\n type=\"number\"\n [value]=\"minValue.value\"\n (onChange)=\"setMinValue($event)\">\n\n <ng-container slot=\"header\">\n <ng-content select=\"[slot=min-header]\"></ng-content>\n </ng-container>\n\n </bizy-input>\n\n <bizy-input\n class=\"bizy-filter-section-range-option__input\"\n type=\"number\"\n [value]=\"maxValue.value\"\n (onChange)=\"setMaxValue($event)\">\n\n <ng-container slot=\"header\">\n <ng-content select=\"[slot=max-header]\"></ng-content>\n </ng-container>\n\n </bizy-input>\n\n </span>\n \n</div>", styles: [":host{font-size:1rem}.bizy-filter-section-range-option{display:flex;flex-direction:column;row-gap:1rem}.bizy-filter-section-range-option__inputs{display:flex;align-items:center;column-gap:.5rem}.bizy-filter-section-range-option__input{--bizy-input-background-color: #f3f3f3 !important}\n"], dependencies: [{ kind: "component", type: BizyInputComponent, selector: "bizy-input", inputs: ["id", "name", "type", "customClass", "placeholder", "debounceTime", "rows", "maxLength", "autofocus", "disabled", "readonly", "value"], outputs: ["valueChange", "onChange", "onEnter", "onBackspace", "onSelect", "onBlur", "onFocus", "onPaste"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12950
12963
  }
12951
12964
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.5", ngImport: i0, type: BizyFilterSectionRangeOptionComponent, decorators: [{
12952
12965
  type: Component,
@@ -13060,7 +13073,7 @@ class BizyFilterSectionSearchOptionComponent {
13060
13073
  return this.#activated.value;
13061
13074
  };
13062
13075
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.5", ngImport: i0, type: BizyFilterSectionSearchOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13063
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.5", type: BizyFilterSectionSearchOptionComponent, isStandalone: true, selector: "bizy-filter-section-search-option", inputs: { id: "id", customClass: "customClass", value: "value" }, outputs: { valueChange: "valueChange", onChange: "onChange" }, ngImport: i0, template: "<bizy-input\n [id]=\"id\" \n (onChange)=\"_onChange($event)\"\n [value]=\"_value\"\n class=\"bizy-filter-section-search-option {{customClass}}\">\n\n <span slot=\"header\"></span>\n\n <ng-container slot=\"prefix\">\n <ng-content select=\"[slot=prefix]\"></ng-content>\n </ng-container>\n\n <ng-container slot=\"suffix\">\n <ng-content select=\"[slot=suffix]\"></ng-content>\n </ng-container>\n\n</bizy-input>\n", styles: [":host{font-size:1rem;width:100%}.bizy-filter-section-search-option{--bizy-input-background-color: #f3f3f3 !important}\n"], dependencies: [{ kind: "component", type: BizyInputComponent, selector: "bizy-input", inputs: ["id", "name", "type", "customClass", "placeholder", "debounceTime", "rows", "maxLength", "disabled", "readonly", "autofocus", "value"], outputs: ["valueChange", "onChange", "onEnter", "onBackspace", "onSelect", "onBlur", "onFocus"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13076
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.5", type: BizyFilterSectionSearchOptionComponent, isStandalone: true, selector: "bizy-filter-section-search-option", inputs: { id: "id", customClass: "customClass", value: "value" }, outputs: { valueChange: "valueChange", onChange: "onChange" }, ngImport: i0, template: "<bizy-input\n [id]=\"id\" \n (onChange)=\"_onChange($event)\"\n [value]=\"_value\"\n class=\"bizy-filter-section-search-option {{customClass}}\">\n\n <span slot=\"header\"></span>\n\n <ng-container slot=\"prefix\">\n <ng-content select=\"[slot=prefix]\"></ng-content>\n </ng-container>\n\n <ng-container slot=\"suffix\">\n <ng-content select=\"[slot=suffix]\"></ng-content>\n </ng-container>\n\n</bizy-input>\n", styles: [":host{font-size:1rem;width:100%}.bizy-filter-section-search-option{--bizy-input-background-color: #f3f3f3 !important}\n"], dependencies: [{ kind: "component", type: BizyInputComponent, selector: "bizy-input", inputs: ["id", "name", "type", "customClass", "placeholder", "debounceTime", "rows", "maxLength", "autofocus", "disabled", "readonly", "value"], outputs: ["valueChange", "onChange", "onEnter", "onBackspace", "onSelect", "onBlur", "onFocus", "onPaste"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13064
13077
  }
13065
13078
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.5", ngImport: i0, type: BizyFilterSectionSearchOptionComponent, decorators: [{
13066
13079
  type: Component,
@@ -13695,7 +13708,7 @@ class BizySelectComponent {
13695
13708
  this.#contentChildrenSubscription.unsubscribe();
13696
13709
  }
13697
13710
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.5", ngImport: i0, type: BizySelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13698
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.5", type: BizySelectComponent, isStandalone: true, selector: "bizy-select", inputs: { id: "id", disabled: "disabled", readonly: "readonly", placeholder: "placeholder", customClass: "customClass", opened: "opened" }, outputs: { openedChange: "openedChange", onSelect: "onSelect", onOpen: "onOpen" }, queries: [{ propertyName: "options", predicate: BizySelectOptionComponent }], viewQueries: [{ propertyName: "templatePortalContent", first: true, predicate: ["templatePortalContent"], descendants: true }, { propertyName: "bizyInput", first: true, predicate: ["bizyInput"], descendants: true }], ngImport: i0, template: "<bizy-input\n #bizyInput\n [readonly]=\"true\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [placeholder]=\"placeholder\"\n [value]=\"_optionValue\"\n [ngClass]=\"{'bizy-select--readonly': readonly}\"\n (onSelect)=\"_onOpen($event); bizyInput?.setTouched(true)\"\n (onEnter)=\"_onOpen($event); bizyInput?.setTouched(true)\"\n class=\"bizy-select {{customClass}}\"\n cdkOverlayOrigin\n #bizySelectTrigger=\"cdkOverlayOrigin\">\n\n @if (!readonly) {\n <svg\n slot=\"suffix\"\n id=\"bizy-select-arrow\"\n class=\"bizy-select__arrow\"\n [ngClass]=\"{'bizy-select__arrow--opened': opened}\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 320 512\">\n <path d=\"M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z\"/>\n </svg>\n }\n\n <ng-container slot=\"header\">\n <ng-content select=\"[slot=header]\"></ng-content>\n </ng-container>\n\n <ng-container slot=\"prefix\">\n <ng-content select=\"[slot=prefix]\"></ng-content>\n </ng-container>\n\n</bizy-input>\n\n@if (touched) {\n <span class=\"bizy-select__errors\">\n <ng-content select=\"[slot=error]\"></ng-content>\n </span>\n}\n\n<ng-template #templatePortalContent>\n <ng-content select=\"bizy-select-option\"></ng-content>\n</ng-template>\n\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayMinWidth]=\"bizyInput.getWidth()\"\n [cdkConnectedOverlayOrigin]=\"bizySelectTrigger\"\n (overlayOutsideClick)=\"close($event, bizyInput)\"\n [cdkConnectedOverlayOpen]=\"opened\">\n\n <span class=\"bizy-select__options\">\n\n <span class=\"bizy-select__options__search\">\n <ng-content select=\"bizy-input\"></ng-content>\n </span>\n\n <ng-template [cdkPortalOutlet]=\"templatePortal\"></ng-template>\n\n </span>\n\n</ng-template>\n", styles: [":host{font-size:1rem;width:var(--bizy-select-width);min-width:var(--bizy-select-min-width);max-width:var(--bizy-select-max-width);display:flex;flex-direction:column;row-gap:.3rem;--bizy-input-focus-color: transparent}:host:has(>.bizy-select__errors:not(:empty)) ::ng-deep .bizy-input__bottom-line{background-color:var(--bizy-input-invalid-color)!important;visibility:visible!important}:host:has(>.bizy-select__errors:not(:empty)) ::ng-deep .bizy-input__content__input{color:var(--bizy-input-invalid-color)!important}.bizy-select{--bizy-input-cursor: pointer;--bizy-input-background-color: var(--bizy-select-background-color);--bizy-input-color: var(--bizy-select-color)}.bizy-select--readonly{--bizy-input-cursor: default}.bizy-select__arrow{height:var(--bizy-select-arrow-height);pointer-events:none;display:block;transition:transform .2s ease;fill:var(--bizy-select-color)}.bizy-select__arrow--opened{transform:rotate(180deg)}.bizy-select__options{background-color:var(--bizy-select-background-color);display:flex;min-width:fit-content;width:100%;flex-direction:column;box-shadow:0 7px 14px #32325d1a,0 3px 6px #00000014;max-height:var(--bizy-select-height);overflow-y:auto;overflow-x:hidden;position:relative}.bizy-select__options::-webkit-scrollbar{width:.5rem;height:.5rem}.bizy-select__options::-webkit-scrollbar-thumb{border-radius:1rem;background-color:var(--bizy-select-scroll-bar-color)}.bizy-select__options::-webkit-scrollbar-thumb:hover{background-color:var(--bizy-select-scroll-bar-hover-color)}.bizy-select__options::-webkit-scrollbar-button{height:1rem}.bizy-select__options__search{position:sticky;z-index:1;top:0}::ng-deep .bizy-select__options__search{--bizy-input-width: auto;--bizy-input-background-color: #fff;--bizy-input-min-width: var(--bizy-select-min-width);--bizy-input-max-width: auto;margin-bottom:.3rem}.bizy-select__errors:empty{display:none!important}::ng-deep .bizy-select__errors *{color:var(--bizy-input-invalid-color)!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: BizyInputComponent, selector: "bizy-input", inputs: ["id", "name", "type", "customClass", "placeholder", "debounceTime", "rows", "maxLength", "disabled", "readonly", "autofocus", "value"], outputs: ["valueChange", "onChange", "onEnter", "onBackspace", "onSelect", "onBlur", "onFocus"] }, { kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i2$2.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation", "cdkConnectedOverlayUsePopover", "cdkConnectedOverlayMatchWidth", "cdkConnectedOverlay"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i2$2.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i3.ɵɵCdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13711
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.5", type: BizySelectComponent, isStandalone: true, selector: "bizy-select", inputs: { id: "id", disabled: "disabled", readonly: "readonly", placeholder: "placeholder", customClass: "customClass", opened: "opened" }, outputs: { openedChange: "openedChange", onSelect: "onSelect", onOpen: "onOpen" }, queries: [{ propertyName: "options", predicate: BizySelectOptionComponent }], viewQueries: [{ propertyName: "templatePortalContent", first: true, predicate: ["templatePortalContent"], descendants: true }, { propertyName: "bizyInput", first: true, predicate: ["bizyInput"], descendants: true }], ngImport: i0, template: "<bizy-input\n #bizyInput\n [readonly]=\"true\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [placeholder]=\"placeholder\"\n [value]=\"_optionValue\"\n [ngClass]=\"{'bizy-select--readonly': readonly}\"\n (onSelect)=\"_onOpen($event); bizyInput?.setTouched(true)\"\n (onEnter)=\"_onOpen($event); bizyInput?.setTouched(true)\"\n class=\"bizy-select {{customClass}}\"\n cdkOverlayOrigin\n #bizySelectTrigger=\"cdkOverlayOrigin\">\n\n @if (!readonly) {\n <svg\n slot=\"suffix\"\n id=\"bizy-select-arrow\"\n class=\"bizy-select__arrow\"\n [ngClass]=\"{'bizy-select__arrow--opened': opened}\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 320 512\">\n <path d=\"M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z\"/>\n </svg>\n }\n\n <ng-container slot=\"header\">\n <ng-content select=\"[slot=header]\"></ng-content>\n </ng-container>\n\n <ng-container slot=\"prefix\">\n <ng-content select=\"[slot=prefix]\"></ng-content>\n </ng-container>\n\n</bizy-input>\n\n@if (touched) {\n <span class=\"bizy-select__errors\">\n <ng-content select=\"[slot=error]\"></ng-content>\n </span>\n}\n\n<ng-template #templatePortalContent>\n <ng-content select=\"bizy-select-option\"></ng-content>\n</ng-template>\n\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayMinWidth]=\"bizyInput.getWidth()\"\n [cdkConnectedOverlayOrigin]=\"bizySelectTrigger\"\n (overlayOutsideClick)=\"close($event, bizyInput)\"\n [cdkConnectedOverlayOpen]=\"opened\">\n\n <span class=\"bizy-select__options\">\n\n <span class=\"bizy-select__options__search\">\n <ng-content select=\"bizy-input\"></ng-content>\n </span>\n\n <ng-template [cdkPortalOutlet]=\"templatePortal\"></ng-template>\n\n </span>\n\n</ng-template>\n", styles: [":host{font-size:1rem;width:var(--bizy-select-width);min-width:var(--bizy-select-min-width);max-width:var(--bizy-select-max-width);display:flex;flex-direction:column;row-gap:.3rem;--bizy-input-focus-color: transparent}:host:has(>.bizy-select__errors:not(:empty)) ::ng-deep .bizy-input__bottom-line{background-color:var(--bizy-input-invalid-color)!important;visibility:visible!important}:host:has(>.bizy-select__errors:not(:empty)) ::ng-deep .bizy-input__content__input{color:var(--bizy-input-invalid-color)!important}.bizy-select{--bizy-input-cursor: pointer;--bizy-input-background-color: var(--bizy-select-background-color);--bizy-input-color: var(--bizy-select-color)}.bizy-select--readonly{--bizy-input-cursor: default}.bizy-select__arrow{height:var(--bizy-select-arrow-height);pointer-events:none;display:block;transition:transform .2s ease;fill:var(--bizy-select-color)}.bizy-select__arrow--opened{transform:rotate(180deg)}.bizy-select__options{background-color:var(--bizy-select-background-color);display:flex;min-width:fit-content;width:100%;flex-direction:column;box-shadow:0 7px 14px #32325d1a,0 3px 6px #00000014;max-height:var(--bizy-select-height);overflow-y:auto;overflow-x:hidden;position:relative}.bizy-select__options::-webkit-scrollbar{width:.5rem;height:.5rem}.bizy-select__options::-webkit-scrollbar-thumb{border-radius:1rem;background-color:var(--bizy-select-scroll-bar-color)}.bizy-select__options::-webkit-scrollbar-thumb:hover{background-color:var(--bizy-select-scroll-bar-hover-color)}.bizy-select__options::-webkit-scrollbar-button{height:1rem}.bizy-select__options__search{position:sticky;z-index:1;top:0}::ng-deep .bizy-select__options__search{--bizy-input-width: auto;--bizy-input-background-color: #fff;--bizy-input-min-width: var(--bizy-select-min-width);--bizy-input-max-width: auto;margin-bottom:.3rem}.bizy-select__errors:empty{display:none!important}::ng-deep .bizy-select__errors *{color:var(--bizy-input-invalid-color)!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: BizyInputComponent, selector: "bizy-input", inputs: ["id", "name", "type", "customClass", "placeholder", "debounceTime", "rows", "maxLength", "autofocus", "disabled", "readonly", "value"], outputs: ["valueChange", "onChange", "onEnter", "onBackspace", "onSelect", "onBlur", "onFocus", "onPaste"] }, { kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i2$2.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation", "cdkConnectedOverlayUsePopover", "cdkConnectedOverlayMatchWidth", "cdkConnectedOverlay"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i2$2.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i3.ɵɵCdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13699
13712
  }
13700
13713
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.5", ngImport: i0, type: BizySelectComponent, decorators: [{
13701
13714
  type: Component,