UNPKG

@dynamic-forms/bootstrap

Version:

dynamic-forms - component library using bootstrap

1 lines 86.3 kB
{"version":3,"file":"dynamic-forms-bootstrap.mjs","sources":["../../../../../libs/bootstrap/src/lib/dynamic-form-library/dynamic-form-library.ts","../../../../../libs/bootstrap/src/lib/dynamic-form-dialog/dynamic-form-dialog.component.ts","../../../../../libs/bootstrap/src/lib/dynamic-form-dialog/dynamic-form-dialog.component.html","../../../../../libs/bootstrap/src/lib/dynamic-form-action/dynamic-form-button/dynamic-form-button.component.ts","../../../../../libs/bootstrap/src/lib/dynamic-form-action/dynamic-form-button/dynamic-form-button.component.html","../../../../../libs/bootstrap/src/lib/dynamic-form-action/dynamic-form-button/dynamic-form-button-type.ts","../../../../../libs/bootstrap/src/lib/dynamic-form-action/dynamic-form-icon/dynamic-form-icon.component.ts","../../../../../libs/bootstrap/src/lib/dynamic-form-action/dynamic-form-icon/dynamic-form-icon.component.html","../../../../../libs/bootstrap/src/lib/dynamic-form-action/dynamic-form-icon/dynamic-form-icon-type.ts","../../../../../libs/bootstrap/src/lib/dynamic-form-action/dynamic-form-action.module.ts","../../../../../libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-accordion/dynamic-form-accordion.component.ts","../../../../../libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-accordion/dynamic-form-accordion.component.html","../../../../../libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-accordion/dynamic-form-accordion.module.ts","../../../../../libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-tabs/dynamic-form-tabs.component.ts","../../../../../libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-tabs/dynamic-form-tabs.component.html","../../../../../libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-tabs/dynamic-form-tabs.module.ts","../../../../../libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-modal/dynamic-form-modal.component.ts","../../../../../libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-modal/dynamic-form-modal.component.html","../../../../../libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-modal/dynamic-form-modal.module.ts","../../../../../libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-element.module.ts","../../../../../libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-errors/dynamic-form-control-errors.component.ts","../../../../../libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-errors/dynamic-form-control-errors.component.html","../../../../../libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-errors/dynamic-form-control-errors.module.ts","../../../../../libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-hints/dynamic-form-control-hints.component.ts","../../../../../libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-hints/dynamic-form-control-hints.component.html","../../../../../libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-hints/dynamic-form-control-hints.module.ts","../../../../../libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-label/dynamic-form-control-label.component.ts","../../../../../libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-label/dynamic-form-control-label.component.html","../../../../../libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-label/dynamic-form-control-label.module.ts","../../../../../libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-field-wrapper.module.ts","../../../../../libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-checkbox/dynamic-form-checkbox.component.ts","../../../../../libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-checkbox/dynamic-form-checkbox.component.html","../../../../../libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-checkbox/dynamic-form-checkbox-type.ts","../../../../../libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-input-wrapper/dynamic-form-input-wrapper.component.ts","../../../../../libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-input-wrapper/dynamic-form-input-wrapper.component.html","../../../../../libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-combobox/dynamic-form-combobox.component.ts","../../../../../libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-combobox/dynamic-form-combobox.component.html","../../../../../libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-combobox/dynamic-form-combobox-type.ts","../../../../../libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-datepicker/dynamic-form-datepicker.component.ts","../../../../../libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-datepicker/dynamic-form-datepicker.component.html","../../../../../libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-datepicker/dynamic-form-datepicker-type.ts","../../../../../libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-file/dynamic-form-file.component.ts","../../../../../libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-file/dynamic-form-file.component.html","../../../../../libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-file/dynamic-form-file-type.ts","../../../../../libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-numberbox/dynamic-form-numberbox.component.ts","../../../../../libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-numberbox/dynamic-form-numberbox.component.html","../../../../../libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-numberbox/dynamic-form-numberbox-type.ts","../../../../../libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-radio/dynamic-form-radio.component.ts","../../../../../libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-radio/dynamic-form-radio.component.html","../../../../../libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-radio/dynamic-form-radio-type.ts","../../../../../libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-select/dynamic-form-select.component.ts","../../../../../libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-select/dynamic-form-select.component.html","../../../../../libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-select/dynamic-form-select-type.ts","../../../../../libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-switch/dynamic-form-switch.component.ts","../../../../../libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-switch/dynamic-form-switch.component.html","../../../../../libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-switch/dynamic-form-switch-type.ts","../../../../../libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-textarea/dynamic-form-textarea.component.ts","../../../../../libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-textarea/dynamic-form-textarea.component.html","../../../../../libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-textarea/dynamic-form-textarea-type.ts","../../../../../libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-textbox/dynamic-form-textbox.component.ts","../../../../../libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-textbox/dynamic-form-textbox.component.html","../../../../../libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-textbox/dynamic-form-textbox-type.ts","../../../../../libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-toggle/dynamic-form-toggle.component.ts","../../../../../libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-toggle/dynamic-form-toggle.component.html","../../../../../libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-toggle/dynamic-form-toggle-type.ts","../../../../../libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-input.module.ts","../../../../../libs/bootstrap/src/lib/dynamic-forms.module.ts","../../../../../libs/bootstrap/src/public_api.ts","../../../../../libs/bootstrap/src/dynamic-forms-bootstrap.ts"],"sourcesContent":["import { DynamicFormLibrary } from '@dynamic-forms/core';\n\nexport const bsDynamicFormLibrary: DynamicFormLibrary = {\n name: 'bootstrap',\n references: ['core'],\n};\n","import { AsyncPipe, NgClass, NgStyle } from '@angular/common';\nimport { Component, Input } from '@angular/core';\nimport { DynamicFormAction, DynamicFormElement, DynamicFormElementsComponent } from '@dynamic-forms/core';\nimport { Observable } from 'rxjs';\n\n@Component({\n selector: 'bs-dynamic-form-dialog',\n templateUrl: './dynamic-form-dialog.component.html',\n imports: [AsyncPipe, NgClass, NgStyle, DynamicFormElementsComponent],\n})\nexport class BsDynamicFormDialogComponent {\n @Input() isOpen$: Observable<boolean>;\n\n @Input() children: DynamicFormElement[];\n @Input() headerActions: DynamicFormAction[];\n @Input() footerActions: DynamicFormAction[];\n\n @Input() width: string;\n @Input() height: string;\n @Input() minWidth: string;\n @Input() minHeight: string;\n @Input() maxWidth: string;\n @Input() maxHeight: string;\n @Input() maximized: boolean;\n\n @Input() title: string;\n @Input() titleHtml: string;\n\n @Input() classNameForm: string;\n @Input() classNameModal: string;\n @Input() classNameChildren: string;\n @Input() classNameHeader: string;\n @Input() classNameFooter: string;\n\n @Input() classNameTitle: string;\n}\n","<!-- eslint-disable @angular-eslint/template/no-inline-styles -->\n@if (isOpen$ | async) {\n <div class=\"dynamic-form-modal modal\" [ngClass]=\"classNameForm\" [class.maximized]=\"maximized\">\n <div\n class=\"modal-dialog modal-dialog-centered modal-dialog-scrollable\"\n [ngClass]=\"classNameModal\"\n [class.maximized]=\"maximized\"\n [ngStyle]=\"{\n width: maximized ? maxWidth || '100%' : width,\n 'min-width': maximized ? maxWidth || '100%' : minWidth,\n 'max-width': maximized ? maxWidth || '100%' : maxWidth,\n 'min-height': maximized ? '100%' : undefined,\n 'max-height': maximized ? '100%' : undefined,\n margin: maximized ? '0px auto' : undefined,\n }\"\n >\n <div\n class=\"modal-content\"\n [ngStyle]=\"{\n height: maximized ? maxHeight || '100%' : height,\n 'min-height': maximized ? maxHeight || '100%' : minHeight,\n 'max-height': maxHeight || '100%',\n }\"\n >\n @if (title || titleHtml || headerActions?.length) {\n <div class=\"modal-header\" [ngClass]=\"classNameHeader\">\n @if (titleHtml) {\n <div class=\"modal-title\" [ngClass]=\"classNameTitle\" [innerHTML]=\"titleHtml\"></div>\n } @else {\n <div class=\"modal-title\" [ngClass]=\"classNameTitle\">{{ title }}</div>\n }\n @if (headerActions?.length) {\n <div class=\"modal-toolbar\">\n <dynamic-form-elements [elements]=\"headerActions\" />\n </div>\n }\n </div>\n }\n <div class=\"modal-body\" [ngClass]=\"classNameChildren\">\n <dynamic-form-elements [elements]=\"children\" />\n </div>\n @if (footerActions?.length) {\n <div class=\"modal-footer\" [ngClass]=\"classNameFooter\">\n <dynamic-form-elements [elements]=\"footerActions\" />\n </div>\n }\n </div>\n </div>\n </div>\n}\n","import { NgClass } from '@angular/common';\nimport { Component } from '@angular/core';\nimport { DynamicFormActionService, DynamicFormButtonBase, DynamicFormColorPipe } from '@dynamic-forms/core';\nimport { BsDynamicFormDialogComponent } from '../../dynamic-form-dialog/dynamic-form-dialog.component';\n\n@Component({\n selector: 'bs-dynamic-form-button',\n templateUrl: './dynamic-form-button.component.html',\n imports: [NgClass, DynamicFormColorPipe, BsDynamicFormDialogComponent],\n})\nexport class BsDynamicFormButtonComponent extends DynamicFormButtonBase {\n constructor(protected override actionService: DynamicFormActionService) {\n super(actionService);\n }\n}\n","@if (template.url) {\n <a\n [class]=\"'dynamic-form-button btn btn-' + (template.color | dynamicFormColor: 'primary')\"\n [class.disabled]=\"template.disabled\"\n [ngClass]=\"template.className\"\n [hidden]=\"template.hidden\"\n [href]=\"template.url\"\n [target]=\"template.urlTarget || '_blank'\"\n >{{ template.label }}</a\n >\n} @else {\n <button\n [id]=\"id\"\n [class]=\"'dynamic-form-button btn btn-' + (template.color | dynamicFormColor: 'primary')\"\n [ngClass]=\"template.className\"\n [type]=\"template.type || 'button'\"\n [disabled]=\"template.disabled\"\n [hidden]=\"template.hidden\"\n (click)=\"onClick($event)\"\n >{{ template.label }}</button\n >\n}\n@if (dialog) {\n <bs-dynamic-form-dialog\n [isOpen$]=\"dialogOpen$\"\n [children]=\"dialogChildren\"\n [headerActions]=\"dialogHeaderActions\"\n [footerActions]=\"dialogFooterActions\"\n [width]=\"template.dialogWidth\"\n [minWidth]=\"template.dialogMinWidth\"\n [maxWidth]=\"template.dialogMaxWidth\"\n [title]=\"template.dialogTitle\"\n [titleHtml]=\"template.dialogTitleHtml\"\n [classNameForm]=\"element.root.template.className\"\n [classNameModal]=\"template.className\"\n [classNameTitle]=\"template.classNameDialogTitle\"\n [classNameChildren]=\"dialogTemplate?.classNameChildren\"\n [classNameHeader]=\"dialogTemplate?.classNameHeader\"\n [classNameFooter]=\"dialogTemplate?.classNameFooter\"\n />\n}\n","import { DynamicFormActionType } from '@dynamic-forms/core';\nimport { bsDynamicFormLibrary } from '../../dynamic-form-library/dynamic-form-library';\nimport { BsDynamicFormButtonComponent } from './dynamic-form-button.component';\n\nexport const bsDynamicFormButtonType: DynamicFormActionType = {\n type: 'button',\n component: BsDynamicFormButtonComponent,\n libraryName: bsDynamicFormLibrary.name,\n};\n","import { NgClass } from '@angular/common';\nimport { Component } from '@angular/core';\nimport { DynamicFormActionService, DynamicFormColorPipe, DynamicFormIconBase, DynamicFormIconPipe } from '@dynamic-forms/core';\nimport { BsDynamicFormDialogComponent } from '../../dynamic-form-dialog/dynamic-form-dialog.component';\n\n@Component({\n selector: 'bs-dynamic-form-icon',\n templateUrl: './dynamic-form-icon.component.html',\n imports: [NgClass, DynamicFormColorPipe, DynamicFormIconPipe, BsDynamicFormDialogComponent],\n})\nexport class BsDynamicFormIconComponent extends DynamicFormIconBase {\n constructor(protected override actionService: DynamicFormActionService) {\n super(actionService);\n }\n}\n","<div class=\"dynamic-form-icon-wrapper\" [ngClass]=\"template.classNameWrapper\">\n @if (template.url) {\n <a\n [class]=\"'dynamic-form-icon btn btn-outline-' + (template.color | dynamicFormColor: 'primary')\"\n [class.disabled]=\"template.disabled\"\n [ngClass]=\"template.className\"\n [hidden]=\"template.hidden\"\n [href]=\"template.url\"\n [target]=\"template.urlTarget || '_blank'\"\n >\n <i class=\"material-icons\">{{ template.icon | dynamicFormIcon }}</i></a\n >\n } @else {\n <button\n [id]=\"id\"\n [class]=\"'dynamic-form-icon btn btn-outline-' + (template.color | dynamicFormColor: 'primary')\"\n [ngClass]=\"template.className\"\n [type]=\"template.type || 'button'\"\n [disabled]=\"template.disabled\"\n [hidden]=\"template.hidden\"\n (click)=\"onClick($event)\"\n >\n <i class=\"material-icons\">{{ template.icon | dynamicFormIcon }}</i></button\n >\n }\n</div>\n@if (dialog) {\n <bs-dynamic-form-dialog\n [isOpen$]=\"dialogOpen$\"\n [children]=\"dialogChildren\"\n [headerActions]=\"dialogHeaderActions\"\n [footerActions]=\"dialogFooterActions\"\n [width]=\"template.dialogWidth\"\n [minWidth]=\"template.dialogMinWidth\"\n [maxWidth]=\"template.dialogMaxWidth\"\n [title]=\"template.dialogTitle\"\n [titleHtml]=\"template.dialogTitleHtml\"\n [classNameForm]=\"element.root.template.className\"\n [classNameModal]=\"template.className\"\n [classNameTitle]=\"template.classNameDialogTitle\"\n [classNameChildren]=\"dialogTemplate?.classNameChildren\"\n [classNameHeader]=\"dialogTemplate?.classNameHeader\"\n [classNameFooter]=\"dialogTemplate?.classNameFooter\"\n />\n}\n","import { DynamicFormActionType } from '@dynamic-forms/core';\nimport { bsDynamicFormLibrary } from '../../dynamic-form-library/dynamic-form-library';\nimport { BsDynamicFormIconComponent } from './dynamic-form-icon.component';\n\nexport const bsDynamicFormIconType: DynamicFormActionType = {\n type: 'icon',\n component: BsDynamicFormIconComponent,\n libraryName: bsDynamicFormLibrary.name,\n};\n","import { DynamicFormsFeature, withDynamicFormActions } from '@dynamic-forms/core';\nimport { bsDynamicFormButtonType } from './dynamic-form-button/dynamic-form-button-type';\nimport { bsDynamicFormIconType } from './dynamic-form-icon/dynamic-form-icon-type';\n\nexport const bsDynamicFormActionTypes = [bsDynamicFormButtonType, bsDynamicFormIconType];\n\nexport function withBsDynamicFormActionDefaultFeatures(): DynamicFormsFeature[] {\n return [withDynamicFormActions(...bsDynamicFormActionTypes)];\n}\n","import { NgClass } from '@angular/common';\nimport { Component } from '@angular/core';\nimport { DynamicFormAccordionBase, DynamicFormElementsComponent } from '@dynamic-forms/core';\n\n@Component({\n selector: 'bs-dynamic-form-accordion',\n templateUrl: './dynamic-form-accordion.component.html',\n imports: [NgClass, DynamicFormElementsComponent],\n})\nexport class BsDynamicFormAccordionComponent extends DynamicFormAccordionBase {\n constructor() {\n super();\n }\n}\n","<div class=\"dynamic-form-items dynamic-form-accordion accordion\" [ngClass]=\"template.className\" [hidden]=\"template.hidden\">\n @for (child of element.children; let index = $index; track index) {\n <div class=\"accordion-item\" [hidden]=\"child.template.hidden\">\n <div class=\"dynamic-form-item-header accordion-header\" [class.disabled]=\"child.disabled\" (click)=\"toggleItem(index)\">\n <button class=\"accordion-button\" type=\"button\" [class.collapsed]=\"index !== selectedIndex\">{{ child.label }}</button>\n </div>\n @if (index === selectedIndex) {\n <div class=\"dynamic-form-item accordion-body\">\n <dynamic-form-elements [elements]=\"child.children\" />\n </div>\n }\n </div>\n }\n</div>\n","import { DynamicFormElementType, DynamicFormsFeature, dynamicFormItemsFactory, withDynamicFormElements } from '@dynamic-forms/core';\nimport { bsDynamicFormLibrary } from '../../../dynamic-form-library/dynamic-form-library';\nimport { BsDynamicFormAccordionComponent } from './dynamic-form-accordion.component';\n\nexport const bsDynamicFormAccordionType: DynamicFormElementType = {\n type: 'accordion',\n factory: dynamicFormItemsFactory,\n component: BsDynamicFormAccordionComponent,\n libraryName: bsDynamicFormLibrary.name,\n};\n\nexport function withBsDynamicFormAccordion(): DynamicFormsFeature {\n return withDynamicFormElements(bsDynamicFormAccordionType);\n}\n","import { NgClass } from '@angular/common';\nimport { Component } from '@angular/core';\nimport { DynamicFormElementsComponent, DynamicFormTabsBase } from '@dynamic-forms/core';\n\n@Component({\n selector: 'bs-dynamic-form-tabs',\n templateUrl: './dynamic-form-tabs.component.html',\n imports: [NgClass, DynamicFormElementsComponent],\n})\nexport class BsDynamicFormTabsComponent extends DynamicFormTabsBase {\n constructor() {\n super();\n }\n}\n","<div class=\"dynamic-form-items dynamic-form-tabs\" [ngClass]=\"template.className\" [hidden]=\"template.hidden\">\n <ul class=\"nav nav-tabs\">\n @for (child of element.children; let index = $index; track index) {\n <li class=\"nav-item\" [hidden]=\"template.hidden\">\n <button\n type=\"button\"\n class=\"dynamic-form-item-header nav-link\"\n [class.active]=\"index === selectedIndex\"\n [class.disabled]=\"child.disabled\"\n (click)=\"selectItem(index)\"\n >{{ child.label }}</button\n >\n </li>\n }\n </ul>\n <div class=\"tab-content\">\n @if (selectedItem) {\n <div class=\"dynamic-form-item tab-pane active\" [hidden]=\"template.hidden\">\n <dynamic-form-elements [elements]=\"selectedItem.children\" />\n </div>\n }\n </div>\n</div>\n","import { DynamicFormElementType, DynamicFormsFeature, dynamicFormItemsFactory, withDynamicFormElements } from '@dynamic-forms/core';\nimport { bsDynamicFormLibrary } from '../../../dynamic-form-library/dynamic-form-library';\nimport { BsDynamicFormTabsComponent } from './dynamic-form-tabs.component';\n\nexport const bsDynamicFormTabsType: DynamicFormElementType = {\n type: 'tabs',\n factory: dynamicFormItemsFactory,\n component: BsDynamicFormTabsComponent,\n libraryName: bsDynamicFormLibrary.name,\n};\n\nexport function withBsDynamicFormTabs(): DynamicFormsFeature {\n return withDynamicFormElements(bsDynamicFormTabsType);\n}\n","import { Component } from '@angular/core';\nimport { DynamicFormElementComponent, DynamicFormModalBase } from '@dynamic-forms/core';\nimport { BsDynamicFormDialogComponent } from '../../dynamic-form-dialog/dynamic-form-dialog.component';\n\n@Component({\n selector: 'bs-dynamic-form-modal',\n templateUrl: './dynamic-form-modal.component.html',\n imports: [DynamicFormElementComponent, BsDynamicFormDialogComponent],\n})\nexport class BsDynamicFormModalComponent extends DynamicFormModalBase {\n constructor() {\n super();\n }\n}\n","@if (trigger) {\n <dynamic-form-element [element]=\"trigger\" />\n}\n\n<bs-dynamic-form-dialog\n [isOpen$]=\"isOpen$\"\n [children]=\"children\"\n [headerActions]=\"headerActions\"\n [footerActions]=\"footerActions\"\n [width]=\"template.width\"\n [height]=\"template.height\"\n [minWidth]=\"template.minWidth\"\n [minHeight]=\"template.minHeight\"\n [maxWidth]=\"template.maxWidth\"\n [maxHeight]=\"template.maxHeight\"\n [maximized]=\"template.maximized\"\n [title]=\"template.title\"\n [titleHtml]=\"template.titleHtml\"\n [classNameForm]=\"element.root.template.className\"\n [classNameModal]=\"template.className\"\n [classNameTitle]=\"template.classNameTitle\"\n [classNameChildren]=\"template.classNameChildren\"\n [classNameHeader]=\"template.classNameHeader\"\n [classNameFooter]=\"template.classNameFooter\"\n/>\n","import { DynamicFormElementType, DynamicFormsFeature, dynamicFormModalFactory, withDynamicFormElements } from '@dynamic-forms/core';\nimport { bsDynamicFormLibrary } from '../../dynamic-form-library/dynamic-form-library';\nimport { BsDynamicFormModalComponent } from './dynamic-form-modal.component';\n\nexport const bsDynamicFormModalType: DynamicFormElementType = {\n type: 'modal',\n factory: dynamicFormModalFactory,\n component: BsDynamicFormModalComponent,\n libraryName: bsDynamicFormLibrary.name,\n};\n\nexport function withBsDynamicFormModal(): DynamicFormsFeature {\n return withDynamicFormElements(bsDynamicFormModalType);\n}\n","import { DynamicFormsFeature, withDynamicFormElements, withDynamicFormModalActionHandlers } from '@dynamic-forms/core';\nimport { bsDynamicFormAccordionType } from './dynamic-form-items/dynamic-form-accordion/dynamic-form-accordion.module';\nimport { bsDynamicFormTabsType } from './dynamic-form-items/dynamic-form-tabs/dynamic-form-tabs.module';\nimport { bsDynamicFormModalType } from './dynamic-form-modal/dynamic-form-modal.module';\n\nexport const bsDynamicFormElementTypes = [bsDynamicFormAccordionType, bsDynamicFormTabsType, bsDynamicFormModalType];\n\nexport function withBsDynamicFormElementDefaultFeatures(): DynamicFormsFeature[] {\n return [withDynamicFormElements(...bsDynamicFormElementTypes), withDynamicFormModalActionHandlers()];\n}\n","import { Component, ViewContainerRef } from '@angular/core';\nimport { DynamicFormControlWrapperBase, DynamicFormValidationService } from '@dynamic-forms/core';\n\n@Component({\n selector: 'bs-dynamic-form-control-errors',\n templateUrl: './dynamic-form-control-errors.component.html',\n})\nexport class BsDynamicFormControlErrorsComponent extends DynamicFormControlWrapperBase {\n constructor(\n protected override containerRef: ViewContainerRef,\n protected override validationService: DynamicFormValidationService,\n ) {\n super(containerRef, validationService);\n }\n}\n","<ng-template #container />\n@if (showErrors) {\n <div class=\"dynamic-form-field-errors invalid-feedback\">{{ errorMessage }}</div>\n}\n","import { DynamicFormFieldWrapperType, DynamicFormsFeature, withDynamicFormFieldWrappers } from '@dynamic-forms/core';\nimport { bsDynamicFormLibrary } from '../../dynamic-form-library/dynamic-form-library';\nimport { BsDynamicFormControlErrorsComponent } from './dynamic-form-control-errors.component';\n\nexport const bsDynamicFormControlErrorsType: DynamicFormFieldWrapperType = {\n type: 'errors',\n component: BsDynamicFormControlErrorsComponent,\n libraryName: bsDynamicFormLibrary.name,\n};\n\nexport function withBsDynamicFormControlErrors(): DynamicFormsFeature {\n return withDynamicFormFieldWrappers(bsDynamicFormControlErrorsType);\n}\n","import { Component, ViewContainerRef } from '@angular/core';\nimport { DynamicFormControlHints, DynamicFormControlWrapperBase, DynamicFormValidationService } from '@dynamic-forms/core';\n\n@Component({\n selector: 'bs-dynamic-form-control-hints',\n templateUrl: './dynamic-form-control-hints.component.html',\n})\nexport class BsDynamicFormControlHintsComponent extends DynamicFormControlWrapperBase {\n constructor(\n protected override containerRef: ViewContainerRef,\n protected override validationService: DynamicFormValidationService,\n ) {\n super(containerRef, validationService);\n }\n\n get hints(): DynamicFormControlHints {\n return this.field.template.hints;\n }\n\n get hasHints(): boolean {\n return !!(this.hints?.hintStart || this.hints?.hintEnd);\n }\n\n get showHints(): boolean {\n return this.hasHints && !this.showErrors;\n }\n}\n","<ng-template #container />\n@if (showHints) {\n <small class=\"dynamic-form-field-hints form-text text-muted\">\n @if (hints.hintStart) {\n <span class=\"hint-start\">{{ hints?.hintStart }}</span>\n }\n <span class=\"hint-spacer\"></span>\n @if (hints.hintEnd) {\n <span class=\"hint-end\">{{ hints?.hintEnd }}</span>\n }\n </small>\n}\n","import { DynamicFormFieldWrapperType, DynamicFormsFeature, withDynamicFormFieldWrappers } from '@dynamic-forms/core';\nimport { bsDynamicFormLibrary } from '../../dynamic-form-library/dynamic-form-library';\nimport { BsDynamicFormControlHintsComponent } from './dynamic-form-control-hints.component';\n\nexport const bsDynamicFormControlHintsType: DynamicFormFieldWrapperType = {\n type: 'hints',\n component: BsDynamicFormControlHintsComponent,\n libraryName: bsDynamicFormLibrary.name,\n};\n\nexport function withBsDynamicFormControlHints(): DynamicFormsFeature {\n return withDynamicFormFieldWrappers(bsDynamicFormControlHintsType);\n}\n","import { Component, ViewContainerRef } from '@angular/core';\nimport { DynamicFormControlValidation, DynamicFormControlWrapperBase, DynamicFormValidationService } from '@dynamic-forms/core';\n\n@Component({\n selector: 'bs-dynamic-form-control-label',\n templateUrl: './dynamic-form-control-label.component.html',\n})\nexport class BsDynamicFormControlLabelComponent extends DynamicFormControlWrapperBase {\n constructor(\n protected override containerRef: ViewContainerRef,\n protected override validationService: DynamicFormValidationService,\n ) {\n super(containerRef, validationService);\n }\n\n get inputId(): string {\n return this.field.inputId;\n }\n\n get validation(): DynamicFormControlValidation {\n return this.field.template.validation;\n }\n}\n","@if (template.label) {\n <label class=\"form-label\" [for]=\"inputId\"\n >{{ template.label }}\n @if (validation?.required) {\n <span> *</span>\n }\n </label>\n}\n<ng-template #container />\n","import { DynamicFormFieldWrapperType, DynamicFormsFeature, withDynamicFormFieldWrappers } from '@dynamic-forms/core';\nimport { bsDynamicFormLibrary } from '../../dynamic-form-library/dynamic-form-library';\nimport { BsDynamicFormControlLabelComponent } from './dynamic-form-control-label.component';\n\nexport const bsDynamicFormControlLabelType: DynamicFormFieldWrapperType = {\n type: 'label',\n component: BsDynamicFormControlLabelComponent,\n libraryName: bsDynamicFormLibrary.name,\n};\n\nexport function withBsDynamicFormControlLabel(): DynamicFormsFeature {\n return withDynamicFormFieldWrappers(bsDynamicFormControlLabelType);\n}\n","import { DynamicFormsFeature, withDynamicFormFieldWrappers } from '@dynamic-forms/core';\nimport { bsDynamicFormControlErrorsType } from './dynamic-form-control-errors/dynamic-form-control-errors.module';\nimport { bsDynamicFormControlHintsType } from './dynamic-form-control-hints/dynamic-form-control-hints.module';\nimport { bsDynamicFormControlLabelType } from './dynamic-form-control-label/dynamic-form-control-label.module';\n\nexport const bsDynamicFormFieldWrapperTypes = [\n bsDynamicFormControlErrorsType,\n bsDynamicFormControlHintsType,\n bsDynamicFormControlLabelType,\n];\n\nexport function withBsDynamicFormFieldWrapperDefaultFeatures(): DynamicFormsFeature[] {\n return [withDynamicFormFieldWrappers(...bsDynamicFormFieldWrapperTypes)];\n}\n","import { Component } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { DynamicFormCheckbox, DynamicFormInputBase, DynamicFormValidationService } from '@dynamic-forms/core';\n\n@Component({\n selector: 'bs-dynamic-form-checkbox',\n templateUrl: './dynamic-form-checkbox.component.html',\n imports: [ReactiveFormsModule],\n})\nexport class BsDynamicFormCheckboxComponent extends DynamicFormInputBase<DynamicFormCheckbox> {\n constructor(protected override validationService: DynamicFormValidationService) {\n super(validationService);\n }\n}\n","<div class=\"form-check\">\n <input\n class=\"form-check-input\"\n type=\"checkbox\"\n [id]=\"inputId\"\n [readonly]=\"readonly\"\n [required]=\"validation?.required\"\n [indeterminate]=\"input?.indeterminate\"\n [formControl]=\"control\"\n />\n <label class=\"form-check-label\" [for]=\"inputId\"\n >{{ template.label }}\n @if (validation?.required) {\n <span> *</span>\n }\n </label>\n</div>\n","import { DynamicFormInputType } from '@dynamic-forms/core';\nimport { bsDynamicFormLibrary } from '../../dynamic-form-library/dynamic-form-library';\nimport { BsDynamicFormCheckboxComponent } from './dynamic-form-checkbox.component';\n\nexport const bsDynamicFormCheckboxType: DynamicFormInputType = {\n type: 'checkbox',\n component: BsDynamicFormCheckboxComponent,\n wrappers: ['errors'],\n libraryName: bsDynamicFormLibrary.name,\n};\n","import { NgTemplateOutlet } from '@angular/common';\nimport { Component, Input, TemplateRef } from '@angular/core';\nimport { DynamicFormControlAddOn, DynamicFormElementComponent } from '@dynamic-forms/core';\n\n@Component({\n selector: 'bs-dynamic-form-input-wrapper',\n templateUrl: './dynamic-form-input-wrapper.component.html',\n imports: [NgTemplateOutlet, DynamicFormElementComponent],\n})\nexport class BsDynamicFormInputWrapperComponent {\n @Input()\n inputTemplate: TemplateRef<any>;\n\n @Input()\n inputId: string;\n\n @Input()\n label: string;\n\n @Input()\n labelFloating: boolean;\n\n @Input()\n requiredMarker: boolean;\n\n @Input()\n inputAddOn: DynamicFormControlAddOn;\n\n @Input()\n prefixAddOn: DynamicFormControlAddOn;\n\n @Input()\n suffixAddOn: DynamicFormControlAddOn;\n}\n","@if (labelFloating) {\n @if (inputAddOn || prefixAddOn || suffixAddOn) {\n <div class=\"input-group floating\">\n @if (prefixAddOn && !prefixAddOn.hidden) {\n <dynamic-form-element\n class=\"dynamic-form-add-on prefix\"\n [element]=\"prefixAddOn\"\n [class.input-group-text]=\"prefixAddOn.classType === 'element'\"\n />\n }\n <div class=\"form-floating\">\n <ng-container *ngTemplateOutlet=\"inputTemplate\" />\n @if (label) {\n <label class=\"form-label\" [for]=\"inputId\"\n >{{ label }}\n @if (requiredMarker) {\n <span> *</span>\n }\n </label>\n }\n </div>\n @if (inputAddOn && !inputAddOn.hidden) {\n <dynamic-form-element\n class=\"dynamic-form-add-on suffix\"\n [element]=\"inputAddOn\"\n [class.input-group-text]=\"inputAddOn.classType === 'element'\"\n />\n }\n @if (suffixAddOn && !suffixAddOn.hidden) {\n <dynamic-form-element\n class=\"dynamic-form-add-on suffix\"\n [element]=\"suffixAddOn\"\n [class.input-group-text]=\"suffixAddOn.classType === 'element'\"\n />\n }\n </div>\n } @else {\n <div class=\"form-floating\">\n <ng-container *ngTemplateOutlet=\"inputTemplate\" />\n @if (label) {\n <label class=\"form-label\" [for]=\"inputId\"\n >{{ label }}\n @if (requiredMarker) {\n <span> *</span>\n }\n </label>\n }\n </div>\n }\n} @else {\n @if (label) {\n <label class=\"form-label\" [for]=\"inputId\"\n >{{ label }}\n @if (requiredMarker) {\n <span> *</span>\n }\n </label>\n }\n @if (inputAddOn || prefixAddOn || suffixAddOn) {\n <div class=\"input-group\">\n @if (prefixAddOn && !prefixAddOn.hidden) {\n <dynamic-form-element\n class=\"dynamic-form-add-on prefix\"\n [element]=\"prefixAddOn\"\n [class.input-group-text]=\"prefixAddOn.classType === 'element'\"\n />\n }\n\n <ng-container *ngTemplateOutlet=\"inputTemplate\" />\n @if (inputAddOn && !inputAddOn.hidden) {\n <dynamic-form-element\n class=\"dynamic-form-add-on suffix\"\n [element]=\"inputAddOn\"\n [class.input-group-text]=\"inputAddOn.classType === 'element'\"\n />\n }\n @if (suffixAddOn && !suffixAddOn.hidden) {\n <dynamic-form-element\n class=\"dynamic-form-add-on suffix\"\n [element]=\"suffixAddOn\"\n [class.input-group-text]=\"suffixAddOn.classType === 'element'\"\n />\n }\n </div>\n } @else {\n <ng-container *ngTemplateOutlet=\"inputTemplate\" />\n }\n}\n","import { Component } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { DynamicFormCombobox, DynamicFormInputBase, DynamicFormValidationService } from '@dynamic-forms/core';\nimport { BsDynamicFormInputWrapperComponent } from '../dynamic-form-input-wrapper/dynamic-form-input-wrapper.component';\n\n@Component({\n selector: 'bs-dynamic-form-combobox',\n templateUrl: './dynamic-form-combobox.component.html',\n imports: [ReactiveFormsModule, BsDynamicFormInputWrapperComponent],\n})\nexport class BsDynamicFormComboboxComponent extends DynamicFormInputBase<DynamicFormCombobox> {\n constructor(protected override validationService: DynamicFormValidationService) {\n super(validationService);\n }\n}\n","<bs-dynamic-form-input-wrapper\n [inputTemplate]=\"inputTemplate\"\n [inputId]=\"inputId\"\n [label]=\"template.label\"\n [labelFloating]=\"template.labelFloating\"\n [requiredMarker]=\"validation?.required\"\n [prefixAddOn]=\"prefixAddOn\"\n [suffixAddOn]=\"suffixAddOn\"\n/>\n\n<ng-template #inputTemplate>\n <input\n class=\"form-control\"\n type=\"text\"\n list=\"list\"\n autocomplete=\"off\"\n [id]=\"inputId\"\n [placeholder]=\"input.placeholder || ''\"\n [pattern]=\"input.pattern\"\n [readonly]=\"readonly\"\n [required]=\"validation?.required\"\n [formControl]=\"control\"\n />\n <datalist id=\"list\">\n @for (option of input.options; track option) {\n <option [value]=\"option\">{{ option }}</option>\n }\n </datalist>\n</ng-template>\n","import { DynamicFormInputType } from '@dynamic-forms/core';\nimport { bsDynamicFormLibrary } from '../../dynamic-form-library/dynamic-form-library';\nimport { BsDynamicFormComboboxComponent } from './dynamic-form-combobox.component';\n\nexport const bsDynamicFormComboboxType: DynamicFormInputType = {\n type: 'combobox',\n component: BsDynamicFormComboboxComponent,\n wrappers: ['hints', 'errors'],\n libraryName: bsDynamicFormLibrary.name,\n};\n","import { Component } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { DynamicFormDatepicker, DynamicFormInputBase, DynamicFormValidationService } from '@dynamic-forms/core';\nimport { BsDynamicFormInputWrapperComponent } from '../dynamic-form-input-wrapper/dynamic-form-input-wrapper.component';\n\n@Component({\n selector: 'bs-dynamic-form-datepicker',\n templateUrl: './dynamic-form-datepicker.component.html',\n imports: [ReactiveFormsModule, BsDynamicFormInputWrapperComponent],\n})\nexport class BsDynamicFormDatepickerComponent extends DynamicFormInputBase<DynamicFormDatepicker> {\n constructor(protected override validationService: DynamicFormValidationService) {\n super(validationService);\n }\n}\n","<bs-dynamic-form-input-wrapper\n [inputTemplate]=\"inputTemplate\"\n [inputId]=\"inputId\"\n [label]=\"template.label\"\n [labelFloating]=\"template.labelFloating\"\n [requiredMarker]=\"validation?.required\"\n [prefixAddOn]=\"prefixAddOn\"\n [suffixAddOn]=\"suffixAddOn\"\n/>\n\n<ng-template #inputTemplate>\n <input\n class=\"form-control\"\n type=\"date\"\n [id]=\"inputId\"\n [placeholder]=\"input.placeholder\"\n [min]=\"input.minDate\"\n [max]=\"input.maxDate\"\n [readonly]=\"readonly\"\n [required]=\"validation?.required\"\n [formControl]=\"control\"\n />\n</ng-template>\n","import { DynamicFormInputType } from '@dynamic-forms/core';\nimport { bsDynamicFormLibrary } from '../../dynamic-form-library/dynamic-form-library';\nimport { BsDynamicFormDatepickerComponent } from './dynamic-form-datepicker.component';\n\nexport const bsDynamicFormDatepickerType: DynamicFormInputType = {\n type: 'datepicker',\n component: BsDynamicFormDatepickerComponent,\n wrappers: ['hints', 'errors'],\n libraryName: bsDynamicFormLibrary.name,\n};\n","import { Component } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { DynamicFormBuilder, DynamicFormFileBase, DynamicFormFileDirective, DynamicFormValidationService } from '@dynamic-forms/core';\nimport { BsDynamicFormInputWrapperComponent } from '../dynamic-form-input-wrapper/dynamic-form-input-wrapper.component';\n\n@Component({\n selector: 'bs-dynamic-form-file',\n templateUrl: './dynamic-form-file.component.html',\n imports: [ReactiveFormsModule, DynamicFormFileDirective, BsDynamicFormInputWrapperComponent],\n})\nexport class BsDynamicFormFileComponent extends DynamicFormFileBase {\n constructor(\n protected override builder: DynamicFormBuilder,\n protected override validationService: DynamicFormValidationService,\n ) {\n super(builder, validationService);\n }\n}\n","<bs-dynamic-form-input-wrapper\n #wrapper\n [inputTemplate]=\"inputTemplate\"\n [inputId]=\"inputId\"\n [label]=\"template.label\"\n [labelFloating]=\"template.labelFloating\"\n [requiredMarker]=\"validation?.required\"\n [inputAddOn]=\"uploadAction\"\n [prefixAddOn]=\"prefixAddOn\"\n [suffixAddOn]=\"suffixAddOn\"\n/>\n\n<ng-template #inputTemplate>\n <input\n class=\"form-control\"\n type=\"text\"\n readonly\n [id]=\"inputId\"\n [placeholder]=\"input.placeholder || ''\"\n [value]=\"fileDirective.fileNamesAsText || ''\"\n [disabled]=\"control.disabled\"\n (blur)=\"control.markAsTouched()\"\n />\n <input\n #fileDirective=\"dynamicFormFile\"\n dynamicFormFile\n [acceptFiles]=\"input.accept\"\n [multipleFiles]=\"input.multiple\"\n [formControl]=\"control\"\n />\n</ng-template>\n","import { DynamicFormInputType } from '@dynamic-forms/core';\nimport { bsDynamicFormLibrary } from '../../dynamic-form-library/dynamic-form-library';\nimport { BsDynamicFormFileComponent } from './dynamic-form-file.component';\n\nexport const bsDynamicFormFileType: DynamicFormInputType = {\n type: 'file',\n component: BsDynamicFormFileComponent,\n wrappers: ['hints', 'errors'],\n libraryName: bsDynamicFormLibrary.name,\n};\n","import { Component } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { DynamicFormInputBase, DynamicFormNumberbox, DynamicFormValidationService } from '@dynamic-forms/core';\nimport { BsDynamicFormInputWrapperComponent } from '../dynamic-form-input-wrapper/dynamic-form-input-wrapper.component';\n\n@Component({\n selector: 'bs-dynamic-form-numberbox',\n templateUrl: './dynamic-form-numberbox.component.html',\n imports: [ReactiveFormsModule, BsDynamicFormInputWrapperComponent],\n})\nexport class BsDynamicFormNumberboxComponent extends DynamicFormInputBase<DynamicFormNumberbox> {\n constructor(protected override validationService: DynamicFormValidationService) {\n super(validationService);\n }\n}\n","<bs-dynamic-form-input-wrapper\n [inputTemplate]=\"inputTemplate\"\n [inputId]=\"inputId\"\n [label]=\"template.label\"\n [labelFloating]=\"template.labelFloating\"\n [requiredMarker]=\"validation?.required\"\n [prefixAddOn]=\"prefixAddOn\"\n [suffixAddOn]=\"suffixAddOn\"\n/>\n\n<ng-template #inputTemplate>\n <input\n class=\"form-control\"\n type=\"number\"\n [id]=\"inputId\"\n [placeholder]=\"input.placeholder || ''\"\n [min]=\"input.min\"\n [max]=\"input.max\"\n [readonly]=\"readonly\"\n [required]=\"validation?.required\"\n [formControl]=\"control\"\n />\n</ng-template>\n","import { DynamicFormInputType } from '@dynamic-forms/core';\nimport { bsDynamicFormLibrary } from '../../dynamic-form-library/dynamic-form-library';\nimport { BsDynamicFormNumberboxComponent } from './dynamic-form-numberbox.component';\n\nexport const bsDynamicFormNumberboxType: DynamicFormInputType = {\n type: 'numberbox',\n component: BsDynamicFormNumberboxComponent,\n wrappers: ['hints', 'errors'],\n libraryName: bsDynamicFormLibrary.name,\n};\n","import { Component } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { DynamicFormInputBase, DynamicFormRadio, DynamicFormValidationService } from '@dynamic-forms/core';\n\n@Component({\n selector: 'bs-dynamic-form-radio',\n templateUrl: './dynamic-form-radio.component.html',\n imports: [ReactiveFormsModule],\n})\nexport class BsDynamicFormRadioComponent extends DynamicFormInputBase<DynamicFormRadio> {\n constructor(protected override validationService: DynamicFormValidationService) {\n super(validationService);\n }\n}\n","@for (option of input.options; let index = $index; track index) {\n <div class=\"form-check\">\n <input\n class=\"form-check-input\"\n type=\"radio\"\n [id]=\"inputId + '-' + index\"\n [name]=\"inputId\"\n [formControl]=\"control\"\n [value]=\"option.value\"\n [attr.disabled]=\"control.disabled || option.disabled\"\n [readonly]=\"readonly\"\n />\n <label class=\"form-check-label\" [for]=\"inputId + '-' + index\">{{ option.label }}</label>\n </div>\n}\n","import { DynamicFormInputType } from '@dynamic-forms/core';\nimport { bsDynamicFormLibrary } from '../../dynamic-form-library/dynamic-form-library';\nimport { BsDynamicFormRadioComponent } from './dynamic-form-radio.component';\n\nexport const bsDynamicFormRadioType: DynamicFormInputType = {\n type: 'radio',\n component: BsDynamicFormRadioComponent,\n wrappers: ['label', 'errors'],\n libraryName: bsDynamicFormLibrary.name,\n};\n","import { Component } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { DynamicFormInputBase, DynamicFormSelect, DynamicFormValidationService } from '@dynamic-forms/core';\nimport { BsDynamicFormInputWrapperComponent } from '../dynamic-form-input-wrapper/dynamic-form-input-wrapper.component';\n\n@Component({\n selector: 'bs-dynamic-form-select',\n templateUrl: './dynamic-form-select.component.html',\n imports: [ReactiveFormsModule, BsDynamicFormInputWrapperComponent],\n})\nexport class BsDynamicFormSelectComponent extends DynamicFormInputBase<DynamicFormSelect> {\n constructor(protected override validationService: DynamicFormValidationService) {\n super(validationService);\n }\n}\n","<bs-dynamic-form-input-wrapper\n [inputTemplate]=\"inputTemplate\"\n [inputId]=\"inputId\"\n [label]=\"template.label\"\n [labelFloating]=\"template.labelFloating\"\n [requiredMarker]=\"validation?.required\"\n [prefixAddOn]=\"prefixAddOn\"\n [suffixAddOn]=\"suffixAddOn\"\n/>\n\n<ng-template #inputTemplate>\n @if (input.multiple) {\n <select class=\"form-select\" multiple [id]=\"inputId\" [required]=\"validation?.required\" [formControl]=\"control\">\n @for (option of input.options; track option) {\n @if (option.items) {\n <optgroup [label]=\"option.label\" [disabled]=\"option.disabled\">\n @for (optionItem of option.items; track optionItem) {\n <option [value]=\"optionItem.value\" [disabled]=\"optionItem.disabled\">{{ optionItem.label }}</option>\n }\n </optgroup>\n } @else {\n <option [value]=\"option.value\" [disabled]=\"option.disabled\">{{ option.label }}</option>\n }\n }\n </select>\n } @else {\n <select class=\"form-select\" [id]=\"inputId\" [required]=\"validation?.required\" [formControl]=\"control\">\n <option hidden [value]=\"null\">{{ input.placeholder }}</option>\n @for (option of input.options; track option) {\n @if (option.items) {\n <optgroup [label]=\"option.label\" [disabled]=\"option.disabled\">\n @for (optionItem of option.items; track optionItem) {\n <option [value]=\"optionItem.value\" [disabled]=\"optionItem.disabled\">{{ optionItem.label }}</option>\n }\n </optgroup>\n } @else {\n <option [value]=\"option.value\" [disabled]=\"option.disabled\">{{ option.label }}</option>\n }\n }\n </select>\n }\n</ng-template>\n","import { DynamicFormInputType } from '@dynamic-forms/core';\nimport { bsDynamicFormLibrary } from '../../dynamic-form-library/dynamic-form-library';\nimport { BsDynamicFormSelectComponent } from './dynamic-form-select.component';\n\nexport const bsDynamicFormSelectType: DynamicFormInputType = {\n type: 'select',\n component: BsDynamicFormSelectComponent,\n wrappers: ['hints', 'errors'],\n libraryName: bsDynamicFormLibrary.name,\n};\n","import { Component } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { DynamicFormInputBase, DynamicFormSwitch, DynamicFormValidationService } from '@dynamic-forms/core';\n\n@Component({\n selector: 'bs-dynamic-form-switch',\n templateUrl: './dynamic-form-switch.component.html',\n imports: [ReactiveFormsModule],\n})\nexport class BsDynamicFormSwitchComponent extends DynamicFormInputBase<DynamicFormSwitch> {\n constructor(protected override validationService: DynamicFormValidationService) {\n super(validationService);\n }\n}\n","<div class=\"form-check form-switch\">\n <input\n class=\"form-check-input\"\n type=\"checkbox\"\n [id]=\"inputId\"\n [readonly]=\"readonly\"\n [required]=\"validation?.required\"\n [formControl]=\"control\"\n />\n <label class=\"form-check-label\" [for]=\"inputId\"\n >{{ template.label }}\n @if (validation?.required) {\n <span> *</span>\n }\n </label>\n</div>\n","import { DynamicFormInputType } from '@dynamic-forms/core';\nimport { bsDynamicFormLibrary } from '../../dynamic-form-library/dynamic-form-library';\nimport { BsDynamicFormSwitchComponent } from './dynamic-form-switch.component';\n\nexport const bsDynamicFormSwitchType: DynamicFormInputType = {\n type: 'switch',\n component: BsDynamicFormSwitchComponent,\n wrappers: ['errors'],\n libraryName: bsDynamicFormLibrary.name,\n};\n","import { Component } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { DynamicFormInputBase, DynamicFormTextarea, DynamicFormValidationService } from '@dynamic-forms/core';\nimport { BsDynamicFormInputWrapperComponent } from '../dynamic-form-input-wrapper/dynamic-form-input-wrapper.component';\n\n@Component({\n selector: 'bs-dynamic-form-textarea',\n templateUrl: './dynamic-form-textarea.component.html',\n imports: [ReactiveFormsModule, BsDynamicFormInputWrapperComponent],\n})\nexport class BsDynamicFormTextareaComponent extends DynamicFormInputBase<DynamicFormTextarea> {\n constructor(protected override validationService: DynamicFormValidationService) {\n super(validationService);\n }\n}\n","<bs-dynamic-form-input-wrapper\n [inputTemplate]=\"inputTemplate\"\n [inputId]=\"inputId\"\n [label]=\"template.label\"\n [labelFloating]=\"template.labelFloating\"\n [requiredMarker]=\"validation?.required\"\n [prefixAddOn]=\"prefixAddOn\"\n [suffixAddOn]=\"suffixAddOn\"\n/>\n\n<ng-template #inputTemplate>\n <textarea\n class=\"form-control\"\n [id]=\"inputId\"\n [placeholder]=\"input.placeholder || ''\"\n [pattern]=\"input.pattern\"\n [readonly]=\"readonly\"\n [required]=\"validation?.required\"\n [formControl]=\"control\"\n ></textarea>\n</ng-template>\n","import { DynamicFormInputType } from '@dynamic-forms/core';\nimport { bsDynamicFormLibrary } from '../../dynamic-form-library/dynamic-form-library';\nimport { BsDynamicFormTextareaComponent } from './dynamic-form-textarea.component';\n\nexport const bsDynamicFormTextareaType: DynamicFormInputType = {\n type: 'textarea',\n component: BsDynamicFormTextareaComponent,\n wrappers: ['hints', 'errors'],\n libraryN