@ng-vagabond-lab/ng-dsv 0.2.12 → 0.2.13

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.
Files changed (80) hide show
  1. package/fesm2022/ng-vagabond-lab-ng-dsv-api.mjs +16 -11
  2. package/fesm2022/ng-vagabond-lab-ng-dsv-api.mjs.map +1 -1
  3. package/fesm2022/ng-vagabond-lab-ng-dsv-base-service.mjs +32 -22
  4. package/fesm2022/ng-vagabond-lab-ng-dsv-base-service.mjs.map +1 -1
  5. package/fesm2022/ng-vagabond-lab-ng-dsv-base.mjs +29 -25
  6. package/fesm2022/ng-vagabond-lab-ng-dsv-base.mjs.map +1 -1
  7. package/fesm2022/ng-vagabond-lab-ng-dsv-date.mjs +3 -3
  8. package/fesm2022/ng-vagabond-lab-ng-dsv-date.mjs.map +1 -1
  9. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-accordion.mjs +15 -9
  10. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-accordion.mjs.map +1 -1
  11. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-avatar.mjs +11 -7
  12. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-avatar.mjs.map +1 -1
  13. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-button.mjs +26 -16
  14. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-button.mjs.map +1 -1
  15. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-card.mjs +16 -14
  16. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-card.mjs.map +1 -1
  17. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-chip.mjs +7 -5
  18. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-chip.mjs.map +1 -1
  19. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-color.mjs +22 -14
  20. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-color.mjs.map +1 -1
  21. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-container.mjs +7 -5
  22. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-container.mjs.map +1 -1
  23. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-file.mjs +35 -22
  24. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-file.mjs.map +1 -1
  25. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-form-reactive.mjs +70 -47
  26. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-form-reactive.mjs.map +1 -1
  27. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-form-signal.mjs +81 -54
  28. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-form-signal.mjs.map +1 -1
  29. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-header.mjs +11 -7
  30. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-header.mjs.map +1 -1
  31. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-img.mjs +19 -11
  32. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-img.mjs.map +1 -1
  33. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-item.mjs +15 -9
  34. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-item.mjs.map +1 -1
  35. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-linear-progress.mjs +9 -6
  36. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-linear-progress.mjs.map +1 -1
  37. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-link-pipe.mjs +6 -6
  38. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-link-pipe.mjs.map +1 -1
  39. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-list.mjs +22 -17
  40. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-list.mjs.map +1 -1
  41. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-menu.mjs +24 -18
  42. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-menu.mjs.map +1 -1
  43. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-modal.mjs +46 -29
  44. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-modal.mjs.map +1 -1
  45. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-paginate.mjs +7 -5
  46. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-paginate.mjs.map +1 -1
  47. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-scroll.mjs +33 -21
  48. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-scroll.mjs.map +1 -1
  49. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-skeleton.mjs +3 -3
  50. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-skeleton.mjs.map +1 -1
  51. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-tab.mjs +14 -10
  52. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-tab.mjs.map +1 -1
  53. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-table.mjs +15 -9
  54. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-table.mjs.map +1 -1
  55. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-theme.mjs +11 -10
  56. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-theme.mjs.map +1 -1
  57. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-toast.mjs +16 -11
  58. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-toast.mjs.map +1 -1
  59. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-tooltip.mjs +15 -9
  60. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-tooltip.mjs.map +1 -1
  61. package/fesm2022/ng-vagabond-lab-ng-dsv-environment.mjs +7 -5
  62. package/fesm2022/ng-vagabond-lab-ng-dsv-environment.mjs.map +1 -1
  63. package/fesm2022/ng-vagabond-lab-ng-dsv-i18n.mjs +7 -5
  64. package/fesm2022/ng-vagabond-lab-ng-dsv-i18n.mjs.map +1 -1
  65. package/fesm2022/ng-vagabond-lab-ng-dsv-module-admin.mjs +51 -33
  66. package/fesm2022/ng-vagabond-lab-ng-dsv-module-admin.mjs.map +1 -1
  67. package/fesm2022/ng-vagabond-lab-ng-dsv-module-auth.mjs +21 -15
  68. package/fesm2022/ng-vagabond-lab-ng-dsv-module-auth.mjs.map +1 -1
  69. package/fesm2022/ng-vagabond-lab-ng-dsv-module-contact.mjs +5 -4
  70. package/fesm2022/ng-vagabond-lab-ng-dsv-module-contact.mjs.map +1 -1
  71. package/fesm2022/ng-vagabond-lab-ng-dsv-platform.mjs +9 -6
  72. package/fesm2022/ng-vagabond-lab-ng-dsv-platform.mjs.map +1 -1
  73. package/fesm2022/ng-vagabond-lab-ng-dsv-router.mjs +13 -11
  74. package/fesm2022/ng-vagabond-lab-ng-dsv-router.mjs.map +1 -1
  75. package/fesm2022/ng-vagabond-lab-ng-dsv-storage.mjs +15 -9
  76. package/fesm2022/ng-vagabond-lab-ng-dsv-storage.mjs.map +1 -1
  77. package/fesm2022/ng-vagabond-lab-ng-dsv-template.mjs +38 -28
  78. package/fesm2022/ng-vagabond-lab-ng-dsv-template.mjs.map +1 -1
  79. package/package.json +1 -1
  80. package/types/ng-vagabond-lab-ng-dsv-ds-form-signal.d.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-form-reactive.mjs","sources":["../../../projects/ng-dsv/ds/form/reactive/label/component/form-reactive-label.component.ts","../../../projects/ng-dsv/ds/form/reactive/label/component/form-reactive-label.component.html","../../../projects/ng-dsv/ds/form/reactive/checkbox/component/form-reactive-checkbox.component.ts","../../../projects/ng-dsv/ds/form/reactive/checkbox/component/form-reactive-checkbox.component.html","../../../projects/ng-dsv/ds/form/reactive/form/base/base-form.component.ts","../../../projects/ng-dsv/ds/form/reactive/form/component/form-reactive.component.ts","../../../projects/ng-dsv/ds/form/reactive/form/component/form-reactive.component.html","../../../projects/ng-dsv/ds/form/reactive/error/component/form-reactive-error.component.ts","../../../projects/ng-dsv/ds/form/reactive/error/component/form-reactive-error.component.html","../../../projects/ng-dsv/ds/form/reactive/input/component/form-reactive-input.component.ts","../../../projects/ng-dsv/ds/form/reactive/input/component/form-reactive-input.component.html","../../../projects/ng-dsv/ds/form/reactive/searchbar/component/form-reactive-searchbar.component.ts","../../../projects/ng-dsv/ds/form/reactive/searchbar/component/form-reactive-searchbar.component.html","../../../projects/ng-dsv/ds/form/reactive/select/component/form-reactive-select.component.ts","../../../projects/ng-dsv/ds/form/reactive/select/component/form-reactive-select.component.html","../../../projects/ng-dsv/ds/form/reactive/ng-vagabond-lab-ng-dsv-ds-form-reactive.ts"],"sourcesContent":["import { Component, effect, input, signal } from '@angular/core';\nimport { AbstractControl, Validators } from '@angular/forms';\n\n@Component({\n selector: 'dsv-form-reactive-label',\n templateUrl: './form-reactive-label.component.html',\n styleUrls: ['./form-reactive-label.component.scss'],\n})\nexport class DsvFormReactiveLabelComponent {\n readonly label = input.required<string>();\n readonly field = input<AbstractControl>();\n readonly show = input<boolean>(true);\n\n readonly isRequired = signal<boolean>(false);\n\n constructor() {\n effect(() => {\n this.isRequired.set(this.field()?.hasValidator?.(Validators.required) ?? false);\n });\n }\n}\n","@if (show()) {\n <label\n [for]=\"label()\"\n class=\"text\"\n [class.error]=\"field()?.touched && field()?.invalid\"\n >\n {{ label() }} {{ isRequired() ? '*' : '' }}\n </label>\n}\n","import { Component, input, output } from '@angular/core';\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { DsvFormReactiveLabelComponent } from '../../label/component/form-reactive-label.component';\n\n@Component({\n selector: 'dsv-form-reactive-checkbox',\n imports: [ReactiveFormsModule, DsvFormReactiveLabelComponent],\n templateUrl: './form-reactive-checkbox.component.html',\n styleUrls: [\n '../../input/component/form-reactive-input.component.scss',\n './form-reactive-checkbox.component.scss',\n ],\n})\nexport class DsvFormReactiveCheckboxComponent {\n readonly form = input.required<FormGroup>();\n readonly field = input.required<string>();\n readonly withLabel = input<boolean>(true);\n\n readonly callbackChange = output<string>();\n\n doChange(): void {\n this.callbackChange.emit(this.form().value[this.field()]);\n }\n}\n","<div [formGroup]=\"form()\">\n <dsv-form-reactive-label\n [label]=\"field()\"\n [field]=\"form().get(field())!\"\n [show]=\"withLabel()\"\n />\n <div>\n <input\n type=\"checkbox\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n [id]=\"field()\"\n />\n </div>\n</div>\n","import { Directive, inject } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\n\n@Directive()\nexport abstract class DsvBaseFormReactiveComponent {\n protected readonly formBuilder = inject(FormBuilder);\n protected form!: FormGroup;\n}\n","import { Component, inject, input, output } from '@angular/core';\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { RouterLink } from '@angular/router';\nimport { ApiDto } from '@ng-vagabond-lab/ng-dsv/api';\nimport { DsvButtonComponent } from '@ng-vagabond-lab/ng-dsv/ds/button';\nimport { ToastService } from '@ng-vagabond-lab/ng-dsv/ds/toast';\nimport { TranslatePipe } from '@ngx-translate/core';\n\n@Component({\n selector: 'dsv-form-reactive',\n imports: [ReactiveFormsModule, DsvButtonComponent, RouterLink, TranslatePipe],\n templateUrl: './form-reactive.component.html',\n styleUrl: './form-reactive.component.scss',\n})\nexport class DsvFormReactiveComponent {\n readonly toastService = inject(ToastService);\n\n readonly form = input.required<FormGroup>();\n\n readonly urlBack = input<string>();\n readonly textValid = input<string>('ENREGISTRER');\n readonly formValid = input<string>('Formulaire envoyé !');\n\n readonly callback = output<ApiDto>();\n\n onSubmit(): void {\n this.form().markAllAsTouched();\n if (this.form().valid) {\n this.callback.emit(this.form().value);\n if (this.textValid() !== '') {\n this.toastService.showToast({\n text: this.formValid(),\n });\n }\n } else {\n this.toastService.showToast({\n text: 'Erreur dans le formulaire !',\n type: 'error',\n });\n }\n }\n}\n","<form\n [formGroup]=\"form()\"\n (ngSubmit)=\"onSubmit()\"\n>\n <div class=\"form-scroll\">\n <ng-content></ng-content>\n </div>\n <div\n class=\"form-buttons\"\n [class.hidden]=\"!(urlBack() && textValid() !== '')\"\n >\n @if (urlBack()) {\n <dsv-button\n color=\"default\"\n variant=\"outlined\"\n [routerLink]=\"urlBack()\"\n [prevent]=\"false\"\n >{{ 'RETOUR' | translate }}</dsv-button\n >\n }\n @if (textValid() && textValid() !== '') {\n <dsv-button\n type=\"submit\"\n color=\"primary\"\n >{{ textValid()! | translate }}</dsv-button\n >\n }\n </div>\n</form>\n","import { Component, input } from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { TranslatePipe } from '@ngx-translate/core';\n\n@Component({\n selector: 'dsv-form-reactive-error',\n imports: [TranslatePipe],\n templateUrl: './form-reactive-error.component.html',\n styleUrls: ['./form-reactive-error.component.scss'],\n host: {\n class: 'text error',\n },\n})\nexport class DsvFormReactiveErrorComponent {\n readonly field = input.required<AbstractControl<any, any>>();\n}\n","@if (field().touched && field().invalid) {\n @if (field().errors?.['required']) {\n <div>{{ 'Le champ est obligatoire.' | translate }}</div>\n }\n}\n","import { Component, input, output } from '@angular/core';\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { INPUT_TYPE } from '@ng-vagabond-lab/ng-dsv/type';\nimport { DsvFormReactiveErrorComponent } from '../../error/component/form-reactive-error.component';\nimport { DsvFormReactiveLabelComponent } from '../../label/component/form-reactive-label.component';\n\n@Component({\n selector: 'dsv-form-reactive-input',\n imports: [ReactiveFormsModule, DsvFormReactiveLabelComponent, DsvFormReactiveErrorComponent],\n templateUrl: './form-reactive-input.component.html',\n styleUrl: './form-reactive-input.component.scss',\n})\nexport class DsvFormReactiveInputComponent {\n readonly form = input.required<FormGroup>();\n readonly field = input.required<string>();\n readonly type = input<INPUT_TYPE>('text');\n readonly withLabel = input<boolean>(true);\n readonly required = input<boolean>(false);\n readonly icon = input<string>();\n\n readonly callbackSend = output<string>();\n\n onEnter(): void {\n this.callbackSend.emit(this.form().value[this.field()]);\n }\n}\n","<div [formGroup]=\"form()\">\n @if (withLabel()) {\n <dsv-form-reactive-label [label]=\"field()\" [field]=\"form().get(field())!\" />\n }\n @if (type() === 'textarea') {\n <textarea\n [id]=\"field()\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n [class.error]=\"form().get(field())?.touched && form().get(field())?.invalid\"\n ></textarea>\n } @else {\n <input\n [id]=\"field()\"\n [type]=\"type()\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n [class.icon]=\"icon()\"\n [class.error]=\"form().get(field())?.touched && form().get(field())?.invalid\"\n (change)=\"onEnter()\"\n (keydown.enter)=\"onEnter()\"\n step=\"1\"\n />\n }\n @if (icon()) {\n <i [class]=\"icon()\"></i>\n }\n <dsv-form-reactive-error [field]=\"form().get(field())!\" />\n</div>\n","import { Component, effect, input, output } from '@angular/core';\nimport {\n DsvBaseFormReactiveComponent,\n DsvFormReactiveComponent,\n DsvFormReactiveInputComponent,\n} from '../../public-api';\n\n@Component({\n selector: 'dsv-form-reactive-searchbar',\n imports: [DsvFormReactiveComponent, DsvFormReactiveInputComponent],\n templateUrl: './form-reactive-searchbar.component.html',\n styleUrls: ['./form-reactive-searchbar.component.scss'],\n})\nexport class DsvFormReactiveSearchbarComponent extends DsvBaseFormReactiveComponent {\n readonly search = input<string>('');\n readonly callbackSearch = output<string>();\n\n constructor() {\n super();\n effect(() => {\n this.form = this.formBuilder.group({\n search: [this.search()],\n });\n });\n }\n\n onSend(value: string): void {\n this.callbackSearch.emit(value);\n }\n}\n","<dsv-form-reactive\n [form]=\"form\"\n textValid=\"\"\n>\n <dsv-form-reactive-input\n [form]=\"form\"\n field=\"search\"\n type=\"search\"\n icon=\"icon ri-search-line\"\n [withLabel]=\"false\"\n (callbackSend)=\"onSend($event)\"\n />\n</dsv-form-reactive>\n","import { Component, input, output } from '@angular/core';\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { ApiDto } from '@ng-vagabond-lab/ng-dsv/api';\nimport { DsvFormReactiveErrorComponent } from '../../error/component/form-reactive-error.component';\nimport { DsvFormReactiveLabelComponent } from '../../label/component/form-reactive-label.component';\n\n@Component({\n selector: 'dsv-form-reactive-select',\n imports: [ReactiveFormsModule, DsvFormReactiveLabelComponent, DsvFormReactiveErrorComponent],\n templateUrl: './form-reactive-select.component.html',\n styleUrls: [\n '../../input/component/form-reactive-input.component.scss',\n './form-reactive-select.component.scss',\n ],\n})\nexport class FormReactiveSelectComponent {\n readonly form = input.required<FormGroup>();\n readonly field = input.required<string>();\n readonly withLabel = input<boolean>(true);\n\n readonly list = input<(ApiDto & { name: string })[]>([]);\n\n readonly callbackChange = output<string>();\n\n doChange(): void {\n this.callbackChange.emit(this.form().value[this.field()]);\n }\n}\n","<div [formGroup]=\"form()\">\n <dsv-form-reactive-label\n [label]=\"field()\"\n [field]=\"form().get(field())!\"\n [show]=\"withLabel()\"\n />\n <div>\n <select\n [id]=\"field()\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n (change)=\"doChange()\"\n [class.error]=\"form().get(field())?.touched && form().get(field())?.invalid\"\n >\n @for (list of list(); track list.id) {\n <option [value]=\"list.id\">\n {{ list.name }}\n </option>\n }\n </select>\n <dsv-form-reactive-error [field]=\"form().get(field())!\" />\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-form-reactive.mjs","sources":["../../../projects/ng-dsv/ds/form/reactive/label/component/form-reactive-label.component.ts","../../../projects/ng-dsv/ds/form/reactive/label/component/form-reactive-label.component.html","../../../projects/ng-dsv/ds/form/reactive/checkbox/component/form-reactive-checkbox.component.ts","../../../projects/ng-dsv/ds/form/reactive/checkbox/component/form-reactive-checkbox.component.html","../../../projects/ng-dsv/ds/form/reactive/form/base/base-form.component.ts","../../../projects/ng-dsv/ds/form/reactive/form/component/form-reactive.component.ts","../../../projects/ng-dsv/ds/form/reactive/form/component/form-reactive.component.html","../../../projects/ng-dsv/ds/form/reactive/error/component/form-reactive-error.component.ts","../../../projects/ng-dsv/ds/form/reactive/error/component/form-reactive-error.component.html","../../../projects/ng-dsv/ds/form/reactive/input/component/form-reactive-input.component.ts","../../../projects/ng-dsv/ds/form/reactive/input/component/form-reactive-input.component.html","../../../projects/ng-dsv/ds/form/reactive/searchbar/component/form-reactive-searchbar.component.ts","../../../projects/ng-dsv/ds/form/reactive/searchbar/component/form-reactive-searchbar.component.html","../../../projects/ng-dsv/ds/form/reactive/select/component/form-reactive-select.component.ts","../../../projects/ng-dsv/ds/form/reactive/select/component/form-reactive-select.component.html","../../../projects/ng-dsv/ds/form/reactive/ng-vagabond-lab-ng-dsv-ds-form-reactive.ts"],"sourcesContent":["import { Component, effect, input, signal } from '@angular/core';\nimport { AbstractControl, Validators } from '@angular/forms';\n\n@Component({\n selector: 'dsv-form-reactive-label',\n templateUrl: './form-reactive-label.component.html',\n styleUrls: ['./form-reactive-label.component.scss'],\n})\nexport class DsvFormReactiveLabelComponent {\n readonly label = input.required<string>();\n readonly field = input<AbstractControl>();\n readonly show = input<boolean>(true);\n\n readonly isRequired = signal<boolean>(false);\n\n constructor() {\n effect(() => {\n this.isRequired.set(this.field()?.hasValidator?.(Validators.required) ?? false);\n });\n }\n}\n","@if (show()) {\n <label\n [for]=\"label()\"\n class=\"text\"\n [class.error]=\"field()?.touched && field()?.invalid\"\n >\n {{ label() }} {{ isRequired() ? '*' : '' }}\n </label>\n}\n","import { Component, input, output } from '@angular/core';\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { DsvFormReactiveLabelComponent } from '../../label/component/form-reactive-label.component';\n\n@Component({\n selector: 'dsv-form-reactive-checkbox',\n imports: [ReactiveFormsModule, DsvFormReactiveLabelComponent],\n templateUrl: './form-reactive-checkbox.component.html',\n styleUrls: [\n '../../input/component/form-reactive-input.component.scss',\n './form-reactive-checkbox.component.scss',\n ],\n})\nexport class DsvFormReactiveCheckboxComponent {\n readonly form = input.required<FormGroup>();\n readonly field = input.required<string>();\n readonly withLabel = input<boolean>(true);\n\n readonly callbackChange = output<string>();\n\n doChange(): void {\n this.callbackChange.emit(this.form().value[this.field()]);\n }\n}\n","<div [formGroup]=\"form()\">\n <dsv-form-reactive-label\n [label]=\"field()\"\n [field]=\"form().get(field())!\"\n [show]=\"withLabel()\"\n />\n <div>\n <input\n type=\"checkbox\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n [id]=\"field()\"\n />\n </div>\n</div>\n","import { Directive, inject } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\n\n@Directive()\nexport abstract class DsvBaseFormReactiveComponent {\n protected readonly formBuilder = inject(FormBuilder);\n protected form!: FormGroup;\n}\n","import { Component, inject, input, output } from '@angular/core';\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { RouterLink } from '@angular/router';\nimport { ApiDto } from '@ng-vagabond-lab/ng-dsv/api';\nimport { DsvButtonComponent } from '@ng-vagabond-lab/ng-dsv/ds/button';\nimport { ToastService } from '@ng-vagabond-lab/ng-dsv/ds/toast';\nimport { TranslatePipe } from '@ngx-translate/core';\n\n@Component({\n selector: 'dsv-form-reactive',\n imports: [ReactiveFormsModule, DsvButtonComponent, RouterLink, TranslatePipe],\n templateUrl: './form-reactive.component.html',\n styleUrl: './form-reactive.component.scss',\n})\nexport class DsvFormReactiveComponent {\n readonly toastService = inject(ToastService);\n\n readonly form = input.required<FormGroup>();\n\n readonly urlBack = input<string>();\n readonly textValid = input<string>('ENREGISTRER');\n readonly formValid = input<string>('Formulaire envoyé !');\n\n readonly callback = output<ApiDto>();\n\n onSubmit(): void {\n this.form().markAllAsTouched();\n if (this.form().valid) {\n this.callback.emit(this.form().value);\n if (this.textValid() !== '') {\n this.toastService.showToast({\n text: this.formValid(),\n });\n }\n } else {\n this.toastService.showToast({\n text: 'Erreur dans le formulaire !',\n type: 'error',\n });\n }\n }\n}\n","<form\n [formGroup]=\"form()\"\n (ngSubmit)=\"onSubmit()\"\n>\n <div class=\"form-scroll\">\n <ng-content></ng-content>\n </div>\n <div\n class=\"form-buttons\"\n [class.hidden]=\"!(urlBack() && textValid() !== '')\"\n >\n @if (urlBack()) {\n <dsv-button\n color=\"default\"\n variant=\"outlined\"\n [routerLink]=\"urlBack()\"\n [prevent]=\"false\"\n >{{ 'RETOUR' | translate }}</dsv-button\n >\n }\n @if (textValid() && textValid() !== '') {\n <dsv-button\n type=\"submit\"\n color=\"primary\"\n >{{ textValid()! | translate }}</dsv-button\n >\n }\n </div>\n</form>\n","import { Component, input } from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { TranslatePipe } from '@ngx-translate/core';\n\n@Component({\n selector: 'dsv-form-reactive-error',\n imports: [TranslatePipe],\n templateUrl: './form-reactive-error.component.html',\n styleUrls: ['./form-reactive-error.component.scss'],\n host: {\n class: 'text error',\n },\n})\nexport class DsvFormReactiveErrorComponent {\n readonly field = input.required<AbstractControl<any, any>>();\n}\n","@if (field().touched && field().invalid) {\n @if (field().errors?.['required']) {\n <div>{{ 'Le champ est obligatoire.' | translate }}</div>\n }\n}\n","import { Component, input, output } from '@angular/core';\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { INPUT_TYPE } from '@ng-vagabond-lab/ng-dsv/type';\nimport { DsvFormReactiveErrorComponent } from '../../error/component/form-reactive-error.component';\nimport { DsvFormReactiveLabelComponent } from '../../label/component/form-reactive-label.component';\n\n@Component({\n selector: 'dsv-form-reactive-input',\n imports: [ReactiveFormsModule, DsvFormReactiveLabelComponent, DsvFormReactiveErrorComponent],\n templateUrl: './form-reactive-input.component.html',\n styleUrl: './form-reactive-input.component.scss',\n})\nexport class DsvFormReactiveInputComponent {\n readonly form = input.required<FormGroup>();\n readonly field = input.required<string>();\n readonly type = input<INPUT_TYPE>('text');\n readonly withLabel = input<boolean>(true);\n readonly required = input<boolean>(false);\n readonly icon = input<string>();\n\n readonly callbackSend = output<string>();\n\n onEnter(): void {\n this.callbackSend.emit(this.form().value[this.field()]);\n }\n}\n","<div [formGroup]=\"form()\">\n @if (withLabel()) {\n <dsv-form-reactive-label [label]=\"field()\" [field]=\"form().get(field())!\" />\n }\n @if (type() === 'textarea') {\n <textarea\n [id]=\"field()\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n [class.error]=\"form().get(field())?.touched && form().get(field())?.invalid\"\n ></textarea>\n } @else {\n <input\n [id]=\"field()\"\n [type]=\"type()\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n [class.icon]=\"icon()\"\n [class.error]=\"form().get(field())?.touched && form().get(field())?.invalid\"\n (change)=\"onEnter()\"\n (keydown.enter)=\"onEnter()\"\n step=\"1\"\n />\n }\n @if (icon()) {\n <i [class]=\"icon()\"></i>\n }\n <dsv-form-reactive-error [field]=\"form().get(field())!\" />\n</div>\n","import { Component, effect, input, output } from '@angular/core';\nimport {\n DsvBaseFormReactiveComponent,\n DsvFormReactiveComponent,\n DsvFormReactiveInputComponent,\n} from '../../public-api';\n\n@Component({\n selector: 'dsv-form-reactive-searchbar',\n imports: [DsvFormReactiveComponent, DsvFormReactiveInputComponent],\n templateUrl: './form-reactive-searchbar.component.html',\n styleUrls: ['./form-reactive-searchbar.component.scss'],\n})\nexport class DsvFormReactiveSearchbarComponent extends DsvBaseFormReactiveComponent {\n readonly search = input<string>('');\n readonly callbackSearch = output<string>();\n\n constructor() {\n super();\n effect(() => {\n this.form = this.formBuilder.group({\n search: [this.search()],\n });\n });\n }\n\n onSend(value: string): void {\n this.callbackSearch.emit(value);\n }\n}\n","<dsv-form-reactive\n [form]=\"form\"\n textValid=\"\"\n>\n <dsv-form-reactive-input\n [form]=\"form\"\n field=\"search\"\n type=\"search\"\n icon=\"icon ri-search-line\"\n [withLabel]=\"false\"\n (callbackSend)=\"onSend($event)\"\n />\n</dsv-form-reactive>\n","import { Component, input, output } from '@angular/core';\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { ApiDto } from '@ng-vagabond-lab/ng-dsv/api';\nimport { DsvFormReactiveErrorComponent } from '../../error/component/form-reactive-error.component';\nimport { DsvFormReactiveLabelComponent } from '../../label/component/form-reactive-label.component';\n\n@Component({\n selector: 'dsv-form-reactive-select',\n imports: [ReactiveFormsModule, DsvFormReactiveLabelComponent, DsvFormReactiveErrorComponent],\n templateUrl: './form-reactive-select.component.html',\n styleUrls: [\n '../../input/component/form-reactive-input.component.scss',\n './form-reactive-select.component.scss',\n ],\n})\nexport class FormReactiveSelectComponent {\n readonly form = input.required<FormGroup>();\n readonly field = input.required<string>();\n readonly withLabel = input<boolean>(true);\n\n readonly list = input<(ApiDto & { name: string })[]>([]);\n\n readonly callbackChange = output<string>();\n\n doChange(): void {\n this.callbackChange.emit(this.form().value[this.field()]);\n }\n}\n","<div [formGroup]=\"form()\">\n <dsv-form-reactive-label\n [label]=\"field()\"\n [field]=\"form().get(field())!\"\n [show]=\"withLabel()\"\n />\n <div>\n <select\n [id]=\"field()\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n (change)=\"doChange()\"\n [class.error]=\"form().get(field())?.touched && form().get(field())?.invalid\"\n >\n @for (list of list(); track list.id) {\n <option [value]=\"list.id\">\n {{ list.name }}\n </option>\n }\n </select>\n <dsv-form-reactive-error [field]=\"form().get(field())!\" />\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -8,14 +8,22 @@ import { DsvButtonComponent } from '@ng-vagabond-lab/ng-dsv/ds/button';
8
8
  import { ToastService } from '@ng-vagabond-lab/ng-dsv/ds/toast';
9
9
 
10
10
  class DsvBaseFormSignalInputComponent {
11
- form = input.required(...(ngDevMode ? [{ debugName: "form" }] : /* istanbul ignore next */ []));
12
- fieldName = input.required(...(ngDevMode ? [{ debugName: "fieldName" }] : /* istanbul ignore next */ []));
13
- label = input(...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
14
- withLabel = input(true, ...(ngDevMode ? [{ debugName: "withLabel" }] : /* istanbul ignore next */ []));
15
- placeholder = input('', ...(ngDevMode ? [{ debugName: "placeholder" }] : /* istanbul ignore next */ []));
16
- required = input(false, ...(ngDevMode ? [{ debugName: "required" }] : /* istanbul ignore next */ []));
17
- debug = input(false, ...(ngDevMode ? [{ debugName: "debug" }] : /* istanbul ignore next */ []));
18
- isError = signal(false, ...(ngDevMode ? [{ debugName: "isError" }] : /* istanbul ignore next */ []));
11
+ form = input.required(/* @ts-ignore */
12
+ ...(ngDevMode ? [{ debugName: "form" }] : /* istanbul ignore next */ []));
13
+ fieldName = input.required(/* @ts-ignore */
14
+ ...(ngDevMode ? [{ debugName: "fieldName" }] : /* istanbul ignore next */ []));
15
+ label = input(/* @ts-ignore */
16
+ ...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
17
+ withLabel = input(true, /* @ts-ignore */
18
+ ...(ngDevMode ? [{ debugName: "withLabel" }] : /* istanbul ignore next */ []));
19
+ placeholder = input('', /* @ts-ignore */
20
+ ...(ngDevMode ? [{ debugName: "placeholder" }] : /* istanbul ignore next */ []));
21
+ required = input(false, /* @ts-ignore */
22
+ ...(ngDevMode ? [{ debugName: "required" }] : /* istanbul ignore next */ []));
23
+ debug = input(false, /* @ts-ignore */
24
+ ...(ngDevMode ? [{ debugName: "debug" }] : /* istanbul ignore next */ []));
25
+ isError = signal(false, /* @ts-ignore */
26
+ ...(ngDevMode ? [{ debugName: "isError" }] : /* istanbul ignore next */ []));
19
27
  callbackSend = output();
20
28
  callbackChange = output();
21
29
  constructor() {
@@ -45,28 +53,33 @@ class DsvBaseFormSignalInputComponent {
45
53
  }
46
54
  return '';
47
55
  }
48
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: DsvBaseFormSignalInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
49
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.14", type: DsvBaseFormSignalInputComponent, isStandalone: true, inputs: { form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: true, transformFunction: null }, fieldName: { classPropertyName: "fieldName", publicName: "fieldName", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, withLabel: { classPropertyName: "withLabel", publicName: "withLabel", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, debug: { classPropertyName: "debug", publicName: "debug", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { callbackSend: "callbackSend", callbackChange: "callbackChange" }, ngImport: i0 });
56
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: DsvBaseFormSignalInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
57
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.1", type: DsvBaseFormSignalInputComponent, isStandalone: true, inputs: { form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: true, transformFunction: null }, fieldName: { classPropertyName: "fieldName", publicName: "fieldName", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, withLabel: { classPropertyName: "withLabel", publicName: "withLabel", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, debug: { classPropertyName: "debug", publicName: "debug", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { callbackSend: "callbackSend", callbackChange: "callbackChange" }, ngImport: i0 });
50
58
  }
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: DsvBaseFormSignalInputComponent, decorators: [{
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: DsvBaseFormSignalInputComponent, decorators: [{
52
60
  type: Directive
53
61
  }], ctorParameters: () => [], propDecorators: { form: [{ type: i0.Input, args: [{ isSignal: true, alias: "form", required: true }] }], fieldName: [{ type: i0.Input, args: [{ isSignal: true, alias: "fieldName", required: true }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], withLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "withLabel", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], debug: [{ type: i0.Input, args: [{ isSignal: true, alias: "debug", required: false }] }], callbackSend: [{ type: i0.Output, args: ["callbackSend"] }], callbackChange: [{ type: i0.Output, args: ["callbackChange"] }] } });
54
62
 
55
63
  class DsvFormSignalLabelComponent {
56
- label = input.required(...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
57
- name = input.required(...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
58
- signal = input.required(...(ngDevMode ? [{ debugName: "signal" }] : /* istanbul ignore next */ []));
59
- show = input(true, ...(ngDevMode ? [{ debugName: "show" }] : /* istanbul ignore next */ []));
60
- isRequired = signal(false, ...(ngDevMode ? [{ debugName: "isRequired" }] : /* istanbul ignore next */ []));
64
+ label = input.required(/* @ts-ignore */
65
+ ...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
66
+ name = input.required(/* @ts-ignore */
67
+ ...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
68
+ signal = input.required(/* @ts-ignore */
69
+ ...(ngDevMode ? [{ debugName: "signal" }] : /* istanbul ignore next */ []));
70
+ show = input(true, /* @ts-ignore */
71
+ ...(ngDevMode ? [{ debugName: "show" }] : /* istanbul ignore next */ []));
72
+ isRequired = signal(false, /* @ts-ignore */
73
+ ...(ngDevMode ? [{ debugName: "isRequired" }] : /* istanbul ignore next */ []));
61
74
  constructor() {
62
75
  effect(() => {
63
76
  this.isRequired.set(this.signal().required());
64
77
  });
65
78
  }
66
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: DsvFormSignalLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
67
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.14", type: DsvFormSignalLabelComponent, isStandalone: true, selector: "dsv-form-signal-label", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null }, signal: { classPropertyName: "signal", publicName: "signal", isSignal: true, isRequired: true, transformFunction: null }, show: { classPropertyName: "show", publicName: "show", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (show()) {\n <label\n [for]=\"name()\"\n class=\"text\"\n [class.error]=\"signal().touched() && signal().errors().length! > 0\"\n >\n {{ label() }} {{ isRequired() ? '*' : '' }}\n </label>\n}\n", styles: [":host{margin-left:4px;height:100%;display:flex;align-content:center;opacity:.65;-webkit-user-select:none;user-select:none}:host label{display:flex;align-items:center;width:100%}:host:empty{display:none}\n"] });
79
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: DsvFormSignalLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
80
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.1", type: DsvFormSignalLabelComponent, isStandalone: true, selector: "dsv-form-signal-label", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null }, signal: { classPropertyName: "signal", publicName: "signal", isSignal: true, isRequired: true, transformFunction: null }, show: { classPropertyName: "show", publicName: "show", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (show()) {\n <label\n [for]=\"name()\"\n class=\"text\"\n [class.error]=\"signal().touched() && signal().errors().length! > 0\"\n >\n {{ label() }} {{ isRequired() ? '*' : '' }}\n </label>\n}\n", styles: [":host{margin-left:4px;height:100%;display:flex;align-content:center;opacity:.65;-webkit-user-select:none;user-select:none}:host label{display:flex;align-items:center;width:100%}:host:empty{display:none}\n"] });
68
81
  }
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: DsvFormSignalLabelComponent, decorators: [{
82
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: DsvFormSignalLabelComponent, decorators: [{
70
83
  type: Component,
71
84
  args: [{ selector: 'dsv-form-signal-label', template: "@if (show()) {\n <label\n [for]=\"name()\"\n class=\"text\"\n [class.error]=\"signal().touched() && signal().errors().length! > 0\"\n >\n {{ label() }} {{ isRequired() ? '*' : '' }}\n </label>\n}\n", styles: [":host{margin-left:4px;height:100%;display:flex;align-content:center;opacity:.65;-webkit-user-select:none;user-select:none}:host label{display:flex;align-items:center;width:100%}:host:empty{display:none}\n"] }]
72
85
  }], ctorParameters: () => [], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: true }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: true }] }], signal: [{ type: i0.Input, args: [{ isSignal: true, alias: "signal", required: true }] }], show: [{ type: i0.Input, args: [{ isSignal: true, alias: "show", required: false }] }] } });
@@ -75,18 +88,21 @@ class DsvFormSignalCheckboxComponent extends DsvBaseFormSignalInputComponent {
75
88
  getBooleanSignal() {
76
89
  return this.form()?.[this.fieldName()];
77
90
  }
78
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: DsvFormSignalCheckboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
79
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.14", type: DsvFormSignalCheckboxComponent, isStandalone: true, selector: "dsv-form-signal-checkbox", usesInheritance: true, ngImport: i0, template: "<div>\n @if (getSignal()) {\n <dsv-form-signal-label\n [name]=\"fieldName()\"\n [label]=\"label() ?? fieldName()\"\n [signal]=\"getSignal()()\"\n [show]=\"withLabel()\"\n />\n <div>\n <input\n type=\"checkbox\"\n [id]=\"fieldName()\"\n class=\"form-control\"\n [class.error]=\"isError()\"\n [formField]=\"getBooleanSignal()\"\n (change)=\"doChange()\"\n />\n </div>\n }\n</div>\n", styles: [":host{--input-width: calc(100% - 12px) ;--input-max-width: auto;--input-opacity: 1;--input-flex-direction: column;--input-align-center: false;--input-justify-content: false;--input-gap: 0;--input-height: auto;--input-min-height: 90px;--input-max-height: 150px;width:100%}:host>div{display:flex;flex-direction:var(--input-flex-direction);gap:var(--input-gap);align-items:var(--input-align-center);justify-content:var(--input-justify-content);position:relative;gap:2px}:host>div .form-control{font-family:inherit;display:block;margin:0;padding:5px;width:var(--input-width);max-width:var(--input-max-width);font-size:1rem;line-height:1.5;color:var(--text);background-color:var(--background-card);background-clip:padding-box;border:1px solid var(--border);border-radius:5px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;outline-color:#0000004d;opacity:var(--input-opacity)}:host>div .form-control.icon{padding-left:25px}:host>div .form-control.error{border:1px solid var(--error)}:host>div .form-control:disabled{opacity:.6}:host>div i{position:absolute;z-index:1;top:10px;left:7px}:host>div textarea{overflow:auto;scrollbar-width:thin;resize:vertical}:host>div textarea.form-control{height:auto;height:var(--input-height);min-height:var(--input-min-height);max-height:var(--input-max-height)}:host-context(body.dark) .form-control{color-scheme:dark}\n", ":host{display:flex;flex:1;width:100%;margin-bottom:10px!important}:host>div{align-items:center;flex-direction:row;flex:1}:host>div dsv-form-label,:host>div dsv-form-reactive-label,:host>div dsv-form-signal-label{margin-bottom:0!important;flex:1!important;cursor:pointer!important}:host>div input{accent-color:var(--primary);width:20px!important;height:20px!important;margin-right:5px!important}:host>div input[type=checkbox]:checked{appearance:none;-webkit-appearance:none;width:18px;height:18px;border:2px solid var(--primary);border-radius:3px;background-size:120%;background-color:var(--primary);background-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.854 3.646a.5.5 0 0 1 0 .708l-7 7a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L6.5 10.293l6.646-6.647a.5.5 0 0 1 .708 0z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:center}\n"], dependencies: [{ kind: "directive", type: FormField, selector: "[formField]", inputs: ["formField"], exportAs: ["formField"] }, { kind: "component", type: DsvFormSignalLabelComponent, selector: "dsv-form-signal-label", inputs: ["label", "name", "signal", "show"] }] });
91
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: DsvFormSignalCheckboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
92
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.1", type: DsvFormSignalCheckboxComponent, isStandalone: true, selector: "dsv-form-signal-checkbox", usesInheritance: true, ngImport: i0, template: "<div>\n @if (getSignal()) {\n <dsv-form-signal-label\n [name]=\"fieldName()\"\n [label]=\"label() ?? fieldName()\"\n [signal]=\"getSignal()()\"\n [show]=\"withLabel()\"\n />\n <div>\n <input\n type=\"checkbox\"\n [id]=\"fieldName()\"\n class=\"form-control\"\n [class.error]=\"isError()\"\n [formField]=\"getBooleanSignal()\"\n (change)=\"doChange()\"\n />\n </div>\n }\n</div>\n", styles: [":host{--input-width: calc(100% - 12px) ;--input-max-width: auto;--input-opacity: 1;--input-flex-direction: column;--input-align-center: false;--input-justify-content: false;--input-gap: 0;--input-height: auto;--input-min-height: 90px;--input-max-height: 150px;width:100%}:host>div{display:flex;flex-direction:var(--input-flex-direction);gap:var(--input-gap);align-items:var(--input-align-center);justify-content:var(--input-justify-content);position:relative;gap:2px}:host>div .form-control{font-family:inherit;display:block;margin:0;padding:5px;width:var(--input-width);max-width:var(--input-max-width);font-size:1rem;line-height:1.5;color:var(--text);background-color:var(--background-card);background-clip:padding-box;border:1px solid var(--border);border-radius:5px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;outline-color:#0000004d;opacity:var(--input-opacity)}:host>div .form-control.icon{padding-left:25px}:host>div .form-control.error{border:1px solid var(--error)}:host>div .form-control:disabled{opacity:.6}:host>div i{position:absolute;z-index:1;top:10px;left:7px}:host>div textarea{overflow:auto;scrollbar-width:thin;resize:vertical}:host>div textarea.form-control{height:auto;height:var(--input-height);min-height:var(--input-min-height);max-height:var(--input-max-height)}:host-context(body.dark) .form-control{color-scheme:dark}\n", ":host{display:flex;flex:1;width:100%;margin-bottom:10px!important}:host>div{align-items:center;flex-direction:row;flex:1}:host>div dsv-form-label,:host>div dsv-form-reactive-label,:host>div dsv-form-signal-label{margin-bottom:0!important;flex:1!important;cursor:pointer!important}:host>div input{accent-color:var(--primary);width:20px!important;height:20px!important;margin-right:5px!important}:host>div input[type=checkbox]:checked{appearance:none;-webkit-appearance:none;width:18px;height:18px;border:2px solid var(--primary);border-radius:3px;background-size:120%;background-color:var(--primary);background-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.854 3.646a.5.5 0 0 1 0 .708l-7 7a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L6.5 10.293l6.646-6.647a.5.5 0 0 1 .708 0z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:center}\n"], dependencies: [{ kind: "directive", type: FormField, selector: "[formField]", inputs: ["formField"], exportAs: ["formField"] }, { kind: "component", type: DsvFormSignalLabelComponent, selector: "dsv-form-signal-label", inputs: ["label", "name", "signal", "show"] }] });
80
93
  }
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: DsvFormSignalCheckboxComponent, decorators: [{
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: DsvFormSignalCheckboxComponent, decorators: [{
82
95
  type: Component,
83
96
  args: [{ selector: 'dsv-form-signal-checkbox', imports: [FormField, DsvFormSignalLabelComponent], template: "<div>\n @if (getSignal()) {\n <dsv-form-signal-label\n [name]=\"fieldName()\"\n [label]=\"label() ?? fieldName()\"\n [signal]=\"getSignal()()\"\n [show]=\"withLabel()\"\n />\n <div>\n <input\n type=\"checkbox\"\n [id]=\"fieldName()\"\n class=\"form-control\"\n [class.error]=\"isError()\"\n [formField]=\"getBooleanSignal()\"\n (change)=\"doChange()\"\n />\n </div>\n }\n</div>\n", styles: [":host{--input-width: calc(100% - 12px) ;--input-max-width: auto;--input-opacity: 1;--input-flex-direction: column;--input-align-center: false;--input-justify-content: false;--input-gap: 0;--input-height: auto;--input-min-height: 90px;--input-max-height: 150px;width:100%}:host>div{display:flex;flex-direction:var(--input-flex-direction);gap:var(--input-gap);align-items:var(--input-align-center);justify-content:var(--input-justify-content);position:relative;gap:2px}:host>div .form-control{font-family:inherit;display:block;margin:0;padding:5px;width:var(--input-width);max-width:var(--input-max-width);font-size:1rem;line-height:1.5;color:var(--text);background-color:var(--background-card);background-clip:padding-box;border:1px solid var(--border);border-radius:5px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;outline-color:#0000004d;opacity:var(--input-opacity)}:host>div .form-control.icon{padding-left:25px}:host>div .form-control.error{border:1px solid var(--error)}:host>div .form-control:disabled{opacity:.6}:host>div i{position:absolute;z-index:1;top:10px;left:7px}:host>div textarea{overflow:auto;scrollbar-width:thin;resize:vertical}:host>div textarea.form-control{height:auto;height:var(--input-height);min-height:var(--input-min-height);max-height:var(--input-max-height)}:host-context(body.dark) .form-control{color-scheme:dark}\n", ":host{display:flex;flex:1;width:100%;margin-bottom:10px!important}:host>div{align-items:center;flex-direction:row;flex:1}:host>div dsv-form-label,:host>div dsv-form-reactive-label,:host>div dsv-form-signal-label{margin-bottom:0!important;flex:1!important;cursor:pointer!important}:host>div input{accent-color:var(--primary);width:20px!important;height:20px!important;margin-right:5px!important}:host>div input[type=checkbox]:checked{appearance:none;-webkit-appearance:none;width:18px;height:18px;border:2px solid var(--primary);border-radius:3px;background-size:120%;background-color:var(--primary);background-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.854 3.646a.5.5 0 0 1 0 .708l-7 7a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L6.5 10.293l6.646-6.647a.5.5 0 0 1 .708 0z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:center}\n"] }]
84
97
  }] });
85
98
 
86
99
  class FormSignalErrorComponent {
87
- errors = input.required(...(ngDevMode ? [{ debugName: "errors" }] : /* istanbul ignore next */ []));
88
- isTouched = input(false, ...(ngDevMode ? [{ debugName: "isTouched" }] : /* istanbul ignore next */ []));
89
- error = signal('', ...(ngDevMode ? [{ debugName: "error" }] : /* istanbul ignore next */ []));
100
+ errors = input.required(/* @ts-ignore */
101
+ ...(ngDevMode ? [{ debugName: "errors" }] : /* istanbul ignore next */ []));
102
+ isTouched = input(false, /* @ts-ignore */
103
+ ...(ngDevMode ? [{ debugName: "isTouched" }] : /* istanbul ignore next */ []));
104
+ error = signal('', /* @ts-ignore */
105
+ ...(ngDevMode ? [{ debugName: "error" }] : /* istanbul ignore next */ []));
90
106
  constructor() {
91
107
  effect(() => {
92
108
  let errorMessage = '';
@@ -122,10 +138,10 @@ class FormSignalErrorComponent {
122
138
  this.error.set(errorMessage);
123
139
  });
124
140
  }
125
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: FormSignalErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
126
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.14", type: FormSignalErrorComponent, isStandalone: true, selector: "dsv-form-signal-error", inputs: { errors: { classPropertyName: "errors", publicName: "errors", isSignal: true, isRequired: true, transformFunction: null }, isTouched: { classPropertyName: "isTouched", publicName: "isTouched", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "text error" }, ngImport: i0, template: "@if (errors().length > 0 && isTouched()) {\n @if (error() !== '') {\n <div>{{ error() | translate }}</div>\n }\n}\n", styles: [":host:not(:empty){padding:10px 3px}\n"], dependencies: [{ kind: "pipe", type: TranslatePipe, name: "translate" }] });
141
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: FormSignalErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
142
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.1", type: FormSignalErrorComponent, isStandalone: true, selector: "dsv-form-signal-error", inputs: { errors: { classPropertyName: "errors", publicName: "errors", isSignal: true, isRequired: true, transformFunction: null }, isTouched: { classPropertyName: "isTouched", publicName: "isTouched", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "text error" }, ngImport: i0, template: "@if (errors().length > 0 && isTouched()) {\n @if (error() !== '') {\n <div>{{ error() | translate }}</div>\n }\n}\n", styles: [":host:not(:empty){padding:10px 3px}\n"], dependencies: [{ kind: "pipe", type: TranslatePipe, name: "translate" }] });
127
143
  }
128
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: FormSignalErrorComponent, decorators: [{
144
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: FormSignalErrorComponent, decorators: [{
129
145
  type: Component,
130
146
  args: [{ selector: 'dsv-form-signal-error', imports: [TranslatePipe], host: {
131
147
  class: 'text error',
@@ -134,13 +150,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
134
150
 
135
151
  class DsvFormSignalComponent {
136
152
  toastService = inject(ToastService);
137
- form = input.required(...(ngDevMode ? [{ debugName: "form" }] : /* istanbul ignore next */ []));
138
- urlBack = input(...(ngDevMode ? [undefined, { debugName: "urlBack" }] : /* istanbul ignore next */ []));
139
- textValid = input('ENREGISTRER', ...(ngDevMode ? [{ debugName: "textValid" }] : /* istanbul ignore next */ []));
140
- formValid = input('', ...(ngDevMode ? [{ debugName: "formValid" }] : /* istanbul ignore next */ []));
153
+ form = input.required(/* @ts-ignore */
154
+ ...(ngDevMode ? [{ debugName: "form" }] : /* istanbul ignore next */ []));
155
+ urlBack = input(/* @ts-ignore */
156
+ ...(ngDevMode ? [undefined, { debugName: "urlBack" }] : /* istanbul ignore next */ []));
157
+ textValid = input('ENREGISTRER', /* @ts-ignore */
158
+ ...(ngDevMode ? [{ debugName: "textValid" }] : /* istanbul ignore next */ []));
159
+ formValid = input('', /* @ts-ignore */
160
+ ...(ngDevMode ? [{ debugName: "formValid" }] : /* istanbul ignore next */ []));
141
161
  callbackBack = output();
142
162
  callback = output();
143
- isCallbackBack = computed(() => isCallback(this.callbackBack), ...(ngDevMode ? [{ debugName: "isCallbackBack" }] : /* istanbul ignore next */ []));
163
+ isCallbackBack = computed(() => isCallback(this.callbackBack), /* @ts-ignore */
164
+ ...(ngDevMode ? [{ debugName: "isCallbackBack" }] : /* istanbul ignore next */ []));
144
165
  onSubmit(event) {
145
166
  event.preventDefault();
146
167
  submit(this.form(), async (form) => {
@@ -160,36 +181,40 @@ class DsvFormSignalComponent {
160
181
  }
161
182
  });
162
183
  }
163
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: DsvFormSignalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
164
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.14", type: DsvFormSignalComponent, isStandalone: true, selector: "dsv-form-signal", inputs: { form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: true, transformFunction: null }, urlBack: { classPropertyName: "urlBack", publicName: "urlBack", isSignal: true, isRequired: false, transformFunction: null }, textValid: { classPropertyName: "textValid", publicName: "textValid", isSignal: true, isRequired: false, transformFunction: null }, formValid: { classPropertyName: "formValid", publicName: "formValid", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { callbackBack: "callbackBack", callback: "callback" }, ngImport: i0, template: "<form (submit)=\"onSubmit($event)\" novalidate>\n <div class=\"form-scroll\">\n <ng-content></ng-content>\n </div>\n <div class=\"form-buttons\">\n @if (urlBack()) {\n <dsv-button color=\"default\" variant=\"outlined\" [routerLink]=\"urlBack()\" [prevent]=\"false\">{{\n 'RETOUR' | translate\n }}</dsv-button>\n }\n @if (isCallbackBack()) {\n <dsv-button color=\"default\" variant=\"outlined\" (callback)=\"callbackBack.emit()\">{{\n 'RETOUR' | translate\n }}</dsv-button>\n }\n @if (textValid() && textValid() !== '') {\n <dsv-button type=\"submit\" color=\"primary\">{{ textValid()! | translate }}</dsv-button>\n }\n </div>\n</form>\n", styles: [":host{--form-flex-direction: column;--form-flex-wrap: nowrap;--form-flex-padding: 0;--form-max-height: auto;--form-overflow: auto;display:flex;width:100%;height:100%}:host form{flex-direction:column;display:flex;margin-top:0;unicode-bidi:isolate;max-height:var(--form-max-height)}:host form .form-scroll{overflow:var(--form-overflow);scrollbar-width:thin;display:flex;flex-direction:var(--form-flex-direction);flex-wrap:var(--form-flex-wrap);padding:var(--form-flex-padding);gap:10px}:host form .form-scroll>div{width:100%}:host .form-buttons:empty{display:none}:host .form-buttons{display:flex;justify-content:flex-end;gap:10px;padding-top:10px}\n"], dependencies: [{ kind: "component", type: DsvButtonComponent, selector: "dsv-button", inputs: ["libelle", "routerLink", "icon", "iconEnd", "disabled", "noHover", "type", "prevent"], outputs: ["callback"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
184
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: DsvFormSignalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
185
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.1", type: DsvFormSignalComponent, isStandalone: true, selector: "dsv-form-signal", inputs: { form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: true, transformFunction: null }, urlBack: { classPropertyName: "urlBack", publicName: "urlBack", isSignal: true, isRequired: false, transformFunction: null }, textValid: { classPropertyName: "textValid", publicName: "textValid", isSignal: true, isRequired: false, transformFunction: null }, formValid: { classPropertyName: "formValid", publicName: "formValid", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { callbackBack: "callbackBack", callback: "callback" }, ngImport: i0, template: "<form (submit)=\"onSubmit($event)\" novalidate>\n <div class=\"form-scroll\">\n <ng-content></ng-content>\n </div>\n <div class=\"form-buttons\">\n @if (urlBack()) {\n <dsv-button color=\"default\" variant=\"outlined\" [routerLink]=\"urlBack()\" [prevent]=\"false\">{{\n 'RETOUR' | translate\n }}</dsv-button>\n }\n @if (isCallbackBack()) {\n <dsv-button color=\"default\" variant=\"outlined\" (callback)=\"callbackBack.emit()\">{{\n 'RETOUR' | translate\n }}</dsv-button>\n }\n @if (textValid() && textValid() !== '') {\n <dsv-button type=\"submit\" color=\"primary\">{{ textValid()! | translate }}</dsv-button>\n }\n </div>\n</form>\n", styles: [":host{--form-flex-direction: column;--form-flex-wrap: nowrap;--form-flex-padding: 0;--form-max-height: auto;--form-overflow: auto;display:flex;width:100%;height:100%}:host form{flex-direction:column;display:flex;margin-top:0;unicode-bidi:isolate;max-height:var(--form-max-height)}:host form .form-scroll{overflow:var(--form-overflow);scrollbar-width:thin;display:flex;flex-direction:var(--form-flex-direction);flex-wrap:var(--form-flex-wrap);padding:var(--form-flex-padding);gap:10px}:host form .form-scroll>div{width:100%}:host .form-buttons:empty{display:none}:host .form-buttons{display:flex;justify-content:flex-end;gap:10px;padding-top:10px}\n"], dependencies: [{ kind: "component", type: DsvButtonComponent, selector: "dsv-button", inputs: ["libelle", "routerLink", "icon", "iconEnd", "disabled", "noHover", "type", "prevent"], outputs: ["callback"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "browserUrl", "routerLink"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
165
186
  }
166
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: DsvFormSignalComponent, decorators: [{
187
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: DsvFormSignalComponent, decorators: [{
167
188
  type: Component,
168
189
  args: [{ selector: 'dsv-form-signal', imports: [DsvButtonComponent, RouterLink, TranslatePipe], template: "<form (submit)=\"onSubmit($event)\" novalidate>\n <div class=\"form-scroll\">\n <ng-content></ng-content>\n </div>\n <div class=\"form-buttons\">\n @if (urlBack()) {\n <dsv-button color=\"default\" variant=\"outlined\" [routerLink]=\"urlBack()\" [prevent]=\"false\">{{\n 'RETOUR' | translate\n }}</dsv-button>\n }\n @if (isCallbackBack()) {\n <dsv-button color=\"default\" variant=\"outlined\" (callback)=\"callbackBack.emit()\">{{\n 'RETOUR' | translate\n }}</dsv-button>\n }\n @if (textValid() && textValid() !== '') {\n <dsv-button type=\"submit\" color=\"primary\">{{ textValid()! | translate }}</dsv-button>\n }\n </div>\n</form>\n", styles: [":host{--form-flex-direction: column;--form-flex-wrap: nowrap;--form-flex-padding: 0;--form-max-height: auto;--form-overflow: auto;display:flex;width:100%;height:100%}:host form{flex-direction:column;display:flex;margin-top:0;unicode-bidi:isolate;max-height:var(--form-max-height)}:host form .form-scroll{overflow:var(--form-overflow);scrollbar-width:thin;display:flex;flex-direction:var(--form-flex-direction);flex-wrap:var(--form-flex-wrap);padding:var(--form-flex-padding);gap:10px}:host form .form-scroll>div{width:100%}:host .form-buttons:empty{display:none}:host .form-buttons{display:flex;justify-content:flex-end;gap:10px;padding-top:10px}\n"] }]
169
190
  }], propDecorators: { form: [{ type: i0.Input, args: [{ isSignal: true, alias: "form", required: true }] }], urlBack: [{ type: i0.Input, args: [{ isSignal: true, alias: "urlBack", required: false }] }], textValid: [{ type: i0.Input, args: [{ isSignal: true, alias: "textValid", required: false }] }], formValid: [{ type: i0.Input, args: [{ isSignal: true, alias: "formValid", required: false }] }], callbackBack: [{ type: i0.Output, args: ["callbackBack"] }], callback: [{ type: i0.Output, args: ["callback"] }] } });
170
191
 
171
192
  class DsvFormSignalInputComponent extends DsvBaseFormSignalInputComponent {
172
- type = input('text', ...(ngDevMode ? [{ debugName: "type" }] : /* istanbul ignore next */ []));
173
- icon = input(...(ngDevMode ? [undefined, { debugName: "icon" }] : /* istanbul ignore next */ []));
174
- withError = input(true, ...(ngDevMode ? [{ debugName: "withError" }] : /* istanbul ignore next */ []));
175
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: DsvFormSignalInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
176
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.14", type: DsvFormSignalInputComponent, isStandalone: true, selector: "dsv-form-signal-input", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, withError: { classPropertyName: "withError", publicName: "withError", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<div>\n @if (getSignal()) {\n @if (withLabel()) {\n <dsv-form-signal-label\n [name]=\"fieldName()\"\n [label]=\"label() ?? fieldName()\"\n [signal]=\"getSignal()()\"\n />\n }\n @if (type() === 'textarea') {\n <textarea\n [id]=\"fieldName()\"\n [formField]=\"getSignal()\"\n [placeholder]=\"placeholder()\"\n class=\"form-control\"\n ></textarea>\n } @else {\n <input\n #input\n [type]=\"type()\"\n [id]=\"fieldName()\"\n class=\"form-control\"\n [class.error]=\"isError()\"\n [formField]=\"getSignal()\"\n [placeholder]=\"placeholder()\"\n [class.icon]=\"icon()\"\n (blur)=\"doOnSend()\"\n (change)=\"doChange()\"\n (keydown.enter)=\"doOnSend()\"\n />\n }\n @if (icon()) {\n <i [class]=\"icon()\"></i>\n }\n @if (withError()) {\n <dsv-form-signal-error [errors]=\"getSignal()().errors()\" [isTouched]=\"isTouched()\" />\n }\n }\n</div>\n", styles: [":host{--input-width: calc(100% - 12px) ;--input-max-width: auto;--input-opacity: 1;--input-flex-direction: column;--input-align-center: false;--input-justify-content: false;--input-gap: 0;--input-height: auto;--input-min-height: 90px;--input-max-height: 150px;width:100%}:host>div{display:flex;flex-direction:var(--input-flex-direction);gap:var(--input-gap);align-items:var(--input-align-center);justify-content:var(--input-justify-content);position:relative;gap:2px}:host>div .form-control{font-family:inherit;display:block;margin:0;padding:5px;width:var(--input-width);max-width:var(--input-max-width);font-size:1rem;line-height:1.5;color:var(--text);background-color:var(--background-card);background-clip:padding-box;border:1px solid var(--border);border-radius:5px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;outline-color:#0000004d;opacity:var(--input-opacity)}:host>div .form-control.icon{padding-left:25px}:host>div .form-control.error{border:1px solid var(--error)}:host>div .form-control:disabled{opacity:.6}:host>div i{position:absolute;z-index:1;top:10px;left:7px}:host>div textarea{overflow:auto;scrollbar-width:thin;resize:vertical}:host>div textarea.form-control{height:auto;height:var(--input-height);min-height:var(--input-min-height);max-height:var(--input-max-height)}:host-context(body.dark) .form-control{color-scheme:dark}\n"], dependencies: [{ kind: "directive", type: FormField, selector: "[formField]", inputs: ["formField"], exportAs: ["formField"] }, { kind: "component", type: DsvFormSignalLabelComponent, selector: "dsv-form-signal-label", inputs: ["label", "name", "signal", "show"] }, { kind: "component", type: FormSignalErrorComponent, selector: "dsv-form-signal-error", inputs: ["errors", "isTouched"] }] });
193
+ type = input('text', /* @ts-ignore */
194
+ ...(ngDevMode ? [{ debugName: "type" }] : /* istanbul ignore next */ []));
195
+ icon = input(/* @ts-ignore */
196
+ ...(ngDevMode ? [undefined, { debugName: "icon" }] : /* istanbul ignore next */ []));
197
+ withError = input(true, /* @ts-ignore */
198
+ ...(ngDevMode ? [{ debugName: "withError" }] : /* istanbul ignore next */ []));
199
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: DsvFormSignalInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
200
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.1", type: DsvFormSignalInputComponent, isStandalone: true, selector: "dsv-form-signal-input", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, withError: { classPropertyName: "withError", publicName: "withError", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<div>\n @if (getSignal()) {\n @if (withLabel()) {\n <dsv-form-signal-label\n [name]=\"fieldName()\"\n [label]=\"label() ?? fieldName()\"\n [signal]=\"getSignal()()\"\n />\n }\n @if (type() === 'textarea') {\n <textarea\n [id]=\"fieldName()\"\n [formField]=\"getSignal()\"\n [placeholder]=\"placeholder()\"\n class=\"form-control\"\n ></textarea>\n } @else {\n <input\n #input\n [type]=\"type()\"\n [id]=\"fieldName()\"\n class=\"form-control\"\n [class.error]=\"isError()\"\n [formField]=\"getSignal()\"\n [placeholder]=\"placeholder()\"\n [class.icon]=\"icon()\"\n (blur)=\"doOnSend()\"\n (change)=\"doChange()\"\n (keydown.enter)=\"doOnSend()\"\n />\n }\n @if (icon()) {\n <i [class]=\"icon()\"></i>\n }\n @if (withError()) {\n <dsv-form-signal-error [errors]=\"getSignal()().errors()\" [isTouched]=\"isTouched()\" />\n }\n }\n</div>\n", styles: [":host{--input-width: calc(100% - 12px) ;--input-max-width: auto;--input-opacity: 1;--input-flex-direction: column;--input-align-center: false;--input-justify-content: false;--input-gap: 0;--input-height: auto;--input-min-height: 90px;--input-max-height: 150px;width:100%}:host>div{display:flex;flex-direction:var(--input-flex-direction);gap:var(--input-gap);align-items:var(--input-align-center);justify-content:var(--input-justify-content);position:relative;gap:2px}:host>div .form-control{font-family:inherit;display:block;margin:0;padding:5px;width:var(--input-width);max-width:var(--input-max-width);font-size:1rem;line-height:1.5;color:var(--text);background-color:var(--background-card);background-clip:padding-box;border:1px solid var(--border);border-radius:5px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;outline-color:#0000004d;opacity:var(--input-opacity)}:host>div .form-control.icon{padding-left:25px}:host>div .form-control.error{border:1px solid var(--error)}:host>div .form-control:disabled{opacity:.6}:host>div i{position:absolute;z-index:1;top:10px;left:7px}:host>div textarea{overflow:auto;scrollbar-width:thin;resize:vertical}:host>div textarea.form-control{height:auto;height:var(--input-height);min-height:var(--input-min-height);max-height:var(--input-max-height)}:host-context(body.dark) .form-control{color-scheme:dark}\n"], dependencies: [{ kind: "directive", type: FormField, selector: "[formField]", inputs: ["formField"], exportAs: ["formField"] }, { kind: "component", type: DsvFormSignalLabelComponent, selector: "dsv-form-signal-label", inputs: ["label", "name", "signal", "show"] }, { kind: "component", type: FormSignalErrorComponent, selector: "dsv-form-signal-error", inputs: ["errors", "isTouched"] }] });
177
201
  }
178
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: DsvFormSignalInputComponent, decorators: [{
202
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: DsvFormSignalInputComponent, decorators: [{
179
203
  type: Component,
180
204
  args: [{ selector: 'dsv-form-signal-input', imports: [FormField, DsvFormSignalLabelComponent, FormSignalErrorComponent], template: "<div>\n @if (getSignal()) {\n @if (withLabel()) {\n <dsv-form-signal-label\n [name]=\"fieldName()\"\n [label]=\"label() ?? fieldName()\"\n [signal]=\"getSignal()()\"\n />\n }\n @if (type() === 'textarea') {\n <textarea\n [id]=\"fieldName()\"\n [formField]=\"getSignal()\"\n [placeholder]=\"placeholder()\"\n class=\"form-control\"\n ></textarea>\n } @else {\n <input\n #input\n [type]=\"type()\"\n [id]=\"fieldName()\"\n class=\"form-control\"\n [class.error]=\"isError()\"\n [formField]=\"getSignal()\"\n [placeholder]=\"placeholder()\"\n [class.icon]=\"icon()\"\n (blur)=\"doOnSend()\"\n (change)=\"doChange()\"\n (keydown.enter)=\"doOnSend()\"\n />\n }\n @if (icon()) {\n <i [class]=\"icon()\"></i>\n }\n @if (withError()) {\n <dsv-form-signal-error [errors]=\"getSignal()().errors()\" [isTouched]=\"isTouched()\" />\n }\n }\n</div>\n", styles: [":host{--input-width: calc(100% - 12px) ;--input-max-width: auto;--input-opacity: 1;--input-flex-direction: column;--input-align-center: false;--input-justify-content: false;--input-gap: 0;--input-height: auto;--input-min-height: 90px;--input-max-height: 150px;width:100%}:host>div{display:flex;flex-direction:var(--input-flex-direction);gap:var(--input-gap);align-items:var(--input-align-center);justify-content:var(--input-justify-content);position:relative;gap:2px}:host>div .form-control{font-family:inherit;display:block;margin:0;padding:5px;width:var(--input-width);max-width:var(--input-max-width);font-size:1rem;line-height:1.5;color:var(--text);background-color:var(--background-card);background-clip:padding-box;border:1px solid var(--border);border-radius:5px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;outline-color:#0000004d;opacity:var(--input-opacity)}:host>div .form-control.icon{padding-left:25px}:host>div .form-control.error{border:1px solid var(--error)}:host>div .form-control:disabled{opacity:.6}:host>div i{position:absolute;z-index:1;top:10px;left:7px}:host>div textarea{overflow:auto;scrollbar-width:thin;resize:vertical}:host>div textarea.form-control{height:auto;height:var(--input-height);min-height:var(--input-min-height);max-height:var(--input-max-height)}:host-context(body.dark) .form-control{color-scheme:dark}\n"] }]
181
205
  }], propDecorators: { type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], withError: [{ type: i0.Input, args: [{ isSignal: true, alias: "withError", required: false }] }] } });
182
206
 
183
207
  class DsvBaseFormSignalComponent {
184
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: DsvBaseFormSignalComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
185
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.14", type: DsvBaseFormSignalComponent, isStandalone: true, ngImport: i0 });
208
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: DsvBaseFormSignalComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
209
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.1", type: DsvBaseFormSignalComponent, isStandalone: true, ngImport: i0 });
186
210
  }
187
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: DsvBaseFormSignalComponent, decorators: [{
211
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: DsvBaseFormSignalComponent, decorators: [{
188
212
  type: Directive
189
213
  }] });
190
214
 
191
215
  class DsvFormSignalSearchbarComponent extends DsvBaseFormSignalComponent {
192
- search = input('', ...(ngDevMode ? [{ debugName: "search" }] : /* istanbul ignore next */ []));
216
+ search = input('', /* @ts-ignore */
217
+ ...(ngDevMode ? [{ debugName: "search" }] : /* istanbul ignore next */ []));
193
218
  callbackSearch = output();
194
219
  form = form(signal({ search: this.search() }));
195
220
  constructor() {
@@ -201,21 +226,23 @@ class DsvFormSignalSearchbarComponent extends DsvBaseFormSignalComponent {
201
226
  onSend(value) {
202
227
  this.callbackSearch.emit(value);
203
228
  }
204
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: DsvFormSignalSearchbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
205
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.14", type: DsvFormSignalSearchbarComponent, isStandalone: true, selector: "dsv-form-signal-searchbar", inputs: { search: { classPropertyName: "search", publicName: "search", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { callbackSearch: "callbackSearch" }, usesInheritance: true, ngImport: i0, template: "<dsv-form-signal\n [form]=\"form\"\n textValid=\"\"\n>\n <dsv-form-signal-input\n [form]=\"form\"\n fieldName=\"search\"\n type=\"search\"\n [withLabel]=\"false\"\n (callbackChange)=\"onSend($event)\"\n (callbackSend)=\"onSend($event)\"\n icon=\"icon ri-search-line\"\n ></dsv-form-signal-input>\n</dsv-form-signal>\n", styles: [":host{display:flex;margin:5px}:host dsv-form-reactive-input,:host dsv-form-signal-input{--input-width: 100% !important}\n"], dependencies: [{ kind: "component", type: DsvFormSignalComponent, selector: "dsv-form-signal", inputs: ["form", "urlBack", "textValid", "formValid"], outputs: ["callbackBack", "callback"] }, { kind: "component", type: DsvFormSignalInputComponent, selector: "dsv-form-signal-input", inputs: ["type", "icon", "withError"] }] });
229
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: DsvFormSignalSearchbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
230
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.1", type: DsvFormSignalSearchbarComponent, isStandalone: true, selector: "dsv-form-signal-searchbar", inputs: { search: { classPropertyName: "search", publicName: "search", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { callbackSearch: "callbackSearch" }, usesInheritance: true, ngImport: i0, template: "<dsv-form-signal\n [form]=\"form\"\n textValid=\"\"\n>\n <dsv-form-signal-input\n [form]=\"form\"\n fieldName=\"search\"\n type=\"search\"\n [withLabel]=\"false\"\n (callbackChange)=\"onSend($event)\"\n (callbackSend)=\"onSend($event)\"\n icon=\"icon ri-search-line\"\n ></dsv-form-signal-input>\n</dsv-form-signal>\n", styles: [":host{display:flex;margin:5px}:host dsv-form-reactive-input,:host dsv-form-signal-input{--input-width: 100% !important}\n"], dependencies: [{ kind: "component", type: DsvFormSignalComponent, selector: "dsv-form-signal", inputs: ["form", "urlBack", "textValid", "formValid"], outputs: ["callbackBack", "callback"] }, { kind: "component", type: DsvFormSignalInputComponent, selector: "dsv-form-signal-input", inputs: ["type", "icon", "withError"] }] });
206
231
  }
207
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: DsvFormSignalSearchbarComponent, decorators: [{
232
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: DsvFormSignalSearchbarComponent, decorators: [{
208
233
  type: Component,
209
234
  args: [{ selector: 'dsv-form-signal-searchbar', imports: [DsvFormSignalComponent, DsvFormSignalInputComponent], template: "<dsv-form-signal\n [form]=\"form\"\n textValid=\"\"\n>\n <dsv-form-signal-input\n [form]=\"form\"\n fieldName=\"search\"\n type=\"search\"\n [withLabel]=\"false\"\n (callbackChange)=\"onSend($event)\"\n (callbackSend)=\"onSend($event)\"\n icon=\"icon ri-search-line\"\n ></dsv-form-signal-input>\n</dsv-form-signal>\n", styles: [":host{display:flex;margin:5px}:host dsv-form-reactive-input,:host dsv-form-signal-input{--input-width: 100% !important}\n"] }]
210
235
  }], ctorParameters: () => [], propDecorators: { search: [{ type: i0.Input, args: [{ isSignal: true, alias: "search", required: false }] }], callbackSearch: [{ type: i0.Output, args: ["callbackSearch"] }] } });
211
236
 
212
237
  class DsvFormSignalSelectComponent extends DsvBaseFormSignalInputComponent {
213
- multiple = input(false, ...(ngDevMode ? [{ debugName: "multiple" }] : /* istanbul ignore next */ []));
214
- list = input([], ...(ngDevMode ? [{ debugName: "list" }] : /* istanbul ignore next */ []));
215
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: DsvFormSignalSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
216
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.14", type: DsvFormSignalSelectComponent, isStandalone: true, selector: "dsv-form-signal-select", inputs: { multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, list: { classPropertyName: "list", publicName: "list", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<div>\n @if (getSignal()) {\n <dsv-form-signal-label\n [name]=\"fieldName()\"\n [label]=\"label() ?? fieldName()\"\n [signal]=\"getSignal()()\"\n [show]=\"withLabel()\"\n />\n <div class=\"flex-column\">\n <select\n [id]=\"fieldName()\"\n [formField]=\"getSignal()\"\n class=\"form-control\"\n (change)=\"doChange()\"\n [class.error]=\"isError()\"\n [multiple]=\"multiple()\"\n >\n @for (list of list(); track list.id) {\n <option\n [value]=\"list.id\"\n [selected]=\"list.id?.toString() === getSignal()().value().toString()\"\n >\n {{ list.name }}\n </option>\n }\n </select>\n <dsv-form-signal-error [errors]=\"getSignal()().errors()\" [isTouched]=\"isTouched()\" />\n </div>\n }\n</div>\n", styles: [":host{--input-width: calc(100% - 12px) ;--input-max-width: auto;--input-opacity: 1;--input-flex-direction: column;--input-align-center: false;--input-justify-content: false;--input-gap: 0;--input-height: auto;--input-min-height: 90px;--input-max-height: 150px;width:100%}:host>div{display:flex;flex-direction:var(--input-flex-direction);gap:var(--input-gap);align-items:var(--input-align-center);justify-content:var(--input-justify-content);position:relative;gap:2px}:host>div .form-control{font-family:inherit;display:block;margin:0;padding:5px;width:var(--input-width);max-width:var(--input-max-width);font-size:1rem;line-height:1.5;color:var(--text);background-color:var(--background-card);background-clip:padding-box;border:1px solid var(--border);border-radius:5px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;outline-color:#0000004d;opacity:var(--input-opacity)}:host>div .form-control.icon{padding-left:25px}:host>div .form-control.error{border:1px solid var(--error)}:host>div .form-control:disabled{opacity:.6}:host>div i{position:absolute;z-index:1;top:10px;left:7px}:host>div textarea{overflow:auto;scrollbar-width:thin;resize:vertical}:host>div textarea.form-control{height:auto;height:var(--input-height);min-height:var(--input-min-height);max-height:var(--input-max-height)}:host-context(body.dark) .form-control{color-scheme:dark}\n", ":host{--select-width: calc(100% - 2px) ;--select-height: 32px;width:100%}:host>div .form-control{width:var(--select-width);height:var(--select-height)}:host>div .form-control[multiple]{height:auto}\n"], dependencies: [{ kind: "directive", type: FormField, selector: "[formField]", inputs: ["formField"], exportAs: ["formField"] }, { kind: "component", type: DsvFormSignalLabelComponent, selector: "dsv-form-signal-label", inputs: ["label", "name", "signal", "show"] }, { kind: "component", type: FormSignalErrorComponent, selector: "dsv-form-signal-error", inputs: ["errors", "isTouched"] }] });
238
+ multiple = input(false, /* @ts-ignore */
239
+ ...(ngDevMode ? [{ debugName: "multiple" }] : /* istanbul ignore next */ []));
240
+ list = input([], /* @ts-ignore */
241
+ ...(ngDevMode ? [{ debugName: "list" }] : /* istanbul ignore next */ []));
242
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: DsvFormSignalSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
243
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.1", type: DsvFormSignalSelectComponent, isStandalone: true, selector: "dsv-form-signal-select", inputs: { multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, list: { classPropertyName: "list", publicName: "list", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<div>\n @if (getSignal()) {\n <dsv-form-signal-label\n [name]=\"fieldName()\"\n [label]=\"label() ?? fieldName()\"\n [signal]=\"getSignal()()\"\n [show]=\"withLabel()\"\n />\n <div class=\"flex-column\">\n <select\n [id]=\"fieldName()\"\n [formField]=\"getSignal()\"\n class=\"form-control\"\n (change)=\"doChange()\"\n [class.error]=\"isError()\"\n [multiple]=\"multiple()\"\n >\n @for (list of list(); track list.id) {\n <option\n [value]=\"list.id\"\n [selected]=\"list.id?.toString() === getSignal()().value().toString()\"\n >\n {{ list.name }}\n </option>\n }\n </select>\n <dsv-form-signal-error [errors]=\"getSignal()().errors()\" [isTouched]=\"isTouched()\" />\n </div>\n }\n</div>\n", styles: [":host{--input-width: calc(100% - 12px) ;--input-max-width: auto;--input-opacity: 1;--input-flex-direction: column;--input-align-center: false;--input-justify-content: false;--input-gap: 0;--input-height: auto;--input-min-height: 90px;--input-max-height: 150px;width:100%}:host>div{display:flex;flex-direction:var(--input-flex-direction);gap:var(--input-gap);align-items:var(--input-align-center);justify-content:var(--input-justify-content);position:relative;gap:2px}:host>div .form-control{font-family:inherit;display:block;margin:0;padding:5px;width:var(--input-width);max-width:var(--input-max-width);font-size:1rem;line-height:1.5;color:var(--text);background-color:var(--background-card);background-clip:padding-box;border:1px solid var(--border);border-radius:5px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;outline-color:#0000004d;opacity:var(--input-opacity)}:host>div .form-control.icon{padding-left:25px}:host>div .form-control.error{border:1px solid var(--error)}:host>div .form-control:disabled{opacity:.6}:host>div i{position:absolute;z-index:1;top:10px;left:7px}:host>div textarea{overflow:auto;scrollbar-width:thin;resize:vertical}:host>div textarea.form-control{height:auto;height:var(--input-height);min-height:var(--input-min-height);max-height:var(--input-max-height)}:host-context(body.dark) .form-control{color-scheme:dark}\n", ":host{--select-width: calc(100% - 2px) ;--select-height: 32px;width:100%}:host>div .form-control{width:var(--select-width);height:var(--select-height)}:host>div .form-control[multiple]{height:auto}\n"], dependencies: [{ kind: "directive", type: FormField, selector: "[formField]", inputs: ["formField"], exportAs: ["formField"] }, { kind: "component", type: DsvFormSignalLabelComponent, selector: "dsv-form-signal-label", inputs: ["label", "name", "signal", "show"] }, { kind: "component", type: FormSignalErrorComponent, selector: "dsv-form-signal-error", inputs: ["errors", "isTouched"] }] });
217
244
  }
218
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: DsvFormSignalSelectComponent, decorators: [{
245
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: DsvFormSignalSelectComponent, decorators: [{
219
246
  type: Component,
220
247
  args: [{ selector: 'dsv-form-signal-select', imports: [FormField, DsvFormSignalLabelComponent, FormSignalErrorComponent], template: "<div>\n @if (getSignal()) {\n <dsv-form-signal-label\n [name]=\"fieldName()\"\n [label]=\"label() ?? fieldName()\"\n [signal]=\"getSignal()()\"\n [show]=\"withLabel()\"\n />\n <div class=\"flex-column\">\n <select\n [id]=\"fieldName()\"\n [formField]=\"getSignal()\"\n class=\"form-control\"\n (change)=\"doChange()\"\n [class.error]=\"isError()\"\n [multiple]=\"multiple()\"\n >\n @for (list of list(); track list.id) {\n <option\n [value]=\"list.id\"\n [selected]=\"list.id?.toString() === getSignal()().value().toString()\"\n >\n {{ list.name }}\n </option>\n }\n </select>\n <dsv-form-signal-error [errors]=\"getSignal()().errors()\" [isTouched]=\"isTouched()\" />\n </div>\n }\n</div>\n", styles: [":host{--input-width: calc(100% - 12px) ;--input-max-width: auto;--input-opacity: 1;--input-flex-direction: column;--input-align-center: false;--input-justify-content: false;--input-gap: 0;--input-height: auto;--input-min-height: 90px;--input-max-height: 150px;width:100%}:host>div{display:flex;flex-direction:var(--input-flex-direction);gap:var(--input-gap);align-items:var(--input-align-center);justify-content:var(--input-justify-content);position:relative;gap:2px}:host>div .form-control{font-family:inherit;display:block;margin:0;padding:5px;width:var(--input-width);max-width:var(--input-max-width);font-size:1rem;line-height:1.5;color:var(--text);background-color:var(--background-card);background-clip:padding-box;border:1px solid var(--border);border-radius:5px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;outline-color:#0000004d;opacity:var(--input-opacity)}:host>div .form-control.icon{padding-left:25px}:host>div .form-control.error{border:1px solid var(--error)}:host>div .form-control:disabled{opacity:.6}:host>div i{position:absolute;z-index:1;top:10px;left:7px}:host>div textarea{overflow:auto;scrollbar-width:thin;resize:vertical}:host>div textarea.form-control{height:auto;height:var(--input-height);min-height:var(--input-min-height);max-height:var(--input-max-height)}:host-context(body.dark) .form-control{color-scheme:dark}\n", ":host{--select-width: calc(100% - 2px) ;--select-height: 32px;width:100%}:host>div .form-control{width:var(--select-width);height:var(--select-height)}:host>div .form-control[multiple]{height:auto}\n"] }]
221
248
  }], propDecorators: { multiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiple", required: false }] }], list: [{ type: i0.Input, args: [{ isSignal: true, alias: "list", required: false }] }] } });