UNPKG

@ng-dynamic-forms/ui-bootstrap

Version:

Bootstrap UI package for NG Dynamic Forms

1 lines 68.6 kB
{"version":3,"file":"ui-bootstrap.mjs","sources":["../../../../projects/ng-dynamic-forms/ui-bootstrap/src/lib/checkbox/dynamic-bootstrap-checkbox.component.ts","../../../../projects/ng-dynamic-forms/ui-bootstrap/src/lib/checkbox/dynamic-bootstrap-checkbox.component.html","../../../../projects/ng-dynamic-forms/ui-bootstrap/src/lib/datepicker/dynamic-bootstrap-datepicker.component.ts","../../../../projects/ng-dynamic-forms/ui-bootstrap/src/lib/datepicker/dynamic-bootstrap-datepicker.component.html","../../../../projects/ng-dynamic-forms/ui-bootstrap/src/lib/input/dynamic-bootstrap-input.component.ts","../../../../projects/ng-dynamic-forms/ui-bootstrap/src/lib/input/dynamic-bootstrap-input.component.html","../../../../projects/ng-dynamic-forms/ui-bootstrap/src/lib/radio-group/dynamic-bootstrap-radio-group.component.ts","../../../../projects/ng-dynamic-forms/ui-bootstrap/src/lib/radio-group/dynamic-bootstrap-radio-group.component.html","../../../../projects/ng-dynamic-forms/ui-bootstrap/src/lib/rating/dynamic-bootstrap-rating.component.ts","../../../../projects/ng-dynamic-forms/ui-bootstrap/src/lib/rating/dynamic-bootstrap-rating.component.html","../../../../projects/ng-dynamic-forms/ui-bootstrap/src/lib/select/dynamic-bootstrap-select.component.ts","../../../../projects/ng-dynamic-forms/ui-bootstrap/src/lib/select/dynamic-bootstrap-select.component.html","../../../../projects/ng-dynamic-forms/ui-bootstrap/src/lib/textarea/dynamic-bootstrap-textarea.component.ts","../../../../projects/ng-dynamic-forms/ui-bootstrap/src/lib/textarea/dynamic-bootstrap-textarea.component.html","../../../../projects/ng-dynamic-forms/ui-bootstrap/src/lib/timepicker/dynamic-bootstrap-timepicker.component.ts","../../../../projects/ng-dynamic-forms/ui-bootstrap/src/lib/timepicker/dynamic-bootstrap-timepicker.component.html","../../../../projects/ng-dynamic-forms/ui-bootstrap/src/lib/dynamic-bootstrap-form-control-container.component.ts","../../../../projects/ng-dynamic-forms/ui-bootstrap/src/lib/dynamic-bootstrap-form-control-container.component.html","../../../../projects/ng-dynamic-forms/ui-bootstrap/src/lib/dynamic-bootstrap-form-array.component.html","../../../../projects/ng-dynamic-forms/ui-bootstrap/src/lib/dynamic-bootstrap-form-group.component.html","../../../../projects/ng-dynamic-forms/ui-bootstrap/src/lib/dynamic-bootstrap-form.component.ts","../../../../projects/ng-dynamic-forms/ui-bootstrap/src/lib/dynamic-bootstrap-form.component.html","../../../../projects/ng-dynamic-forms/ui-bootstrap/src/ui-bootstrap.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from \"@angular/core\";\nimport { UntypedFormGroup, ReactiveFormsModule } from \"@angular/forms\";\nimport {\n DynamicCheckboxModel,\n DynamicFormControlComponent,\n DynamicFormControlLayout,\n DynamicFormLayout,\n DynamicFormLayoutService,\n DynamicFormValidationService\n} from \"@ng-dynamic-forms/core\";\nimport { NgClass } from \"@angular/common\";\n\n@Component({\n selector: \"dynamic-bootstrap-checkbox\",\n templateUrl: \"./dynamic-bootstrap-checkbox.component.html\",\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [ReactiveFormsModule, NgClass]\n})\nexport class DynamicBootstrapCheckboxComponent extends DynamicFormControlComponent {\n @Input() formLayout?: DynamicFormLayout;\n @Input() group!: UntypedFormGroup;\n @Input() layout?: DynamicFormControlLayout;\n @Input() model!: DynamicCheckboxModel;\n\n @Output() blur: EventEmitter<any> = new EventEmitter();\n @Output() change: EventEmitter<any> = new EventEmitter();\n @Output() focus: EventEmitter<any> = new EventEmitter();\n\n constructor(protected layoutService: DynamicFormLayoutService, protected validationService: DynamicFormValidationService) {\n super(layoutService, validationService);\n }\n}\n","<div [formGroup]=\"group\" [class.disabled]=\"model.disabled\" [ngClass]=\"getClass('element', 'control') || 'checkbox'\">\n\n <label>\n\n <input type=\"checkbox\"\n [checked]=\"model.checked\"\n [formControlName]=\"model.id\"\n [id]=\"id\"\n [indeterminate]=\"model.indeterminate\"\n [name]=\"model.name\"\n [ngClass]=\"getClass('element', 'control')\"\n [required]=\"model.required\"\n [tabindex]=\"model.tabIndex\"\n [value]=\"model.value\"\n (blur)=\"onBlur($event)\"\n (change)=\"onChange($event)\"\n (focus)=\"onFocus($event)\"/><span [innerHTML]=\"model.label\"\n [ngClass]=\"[getClass('element', 'label'), getClass('grid', 'label')]\"></span></label>\n</div>\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild } from \"@angular/core\";\nimport { UntypedFormGroup, ReactiveFormsModule } from \"@angular/forms\";\nimport { BsDatepickerDirective, BsDatepickerModule } from \"ngx-bootstrap/datepicker\";\nimport {\n DynamicDatePickerModel,\n DynamicFormControlComponent,\n DynamicFormControlCustomEvent,\n DynamicFormControlLayout,\n DynamicFormLayout,\n DynamicFormLayoutService,\n DynamicFormValidationService\n} from \"@ng-dynamic-forms/core\";\nimport { NgClass, NgIf } from \"@angular/common\";\n\n@Component({\n selector: \"dynamic-bootstrap-datepicker\",\n templateUrl: \"./dynamic-bootstrap-datepicker.component.html\",\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [ReactiveFormsModule, BsDatepickerModule, NgClass, NgIf]\n})\nexport class DynamicBootstrapDatePickerComponent extends DynamicFormControlComponent {\n @Input() formLayout?: DynamicFormLayout;\n @Input() group!: UntypedFormGroup;\n @Input() layout?: DynamicFormControlLayout;\n @Input() model!: DynamicDatePickerModel;\n\n @Output() blur: EventEmitter<any> = new EventEmitter();\n @Output() change: EventEmitter<any> = new EventEmitter();\n @Output() customEvent: EventEmitter<DynamicFormControlCustomEvent> = new EventEmitter();\n @Output() focus: EventEmitter<any> = new EventEmitter();\n\n @ViewChild(BsDatepickerDirective, {static: true}) bsDatePicker!: BsDatepickerDirective;\n\n constructor(protected layoutService: DynamicFormLayoutService, protected validationService: DynamicFormValidationService) {\n super(layoutService, validationService);\n }\n}\n","<div [formGroup]=\"group\" class=\"input-group\">\n\n <input bsDatepicker class=\"form-control\" #bsDatepicker=\"bsDatepicker\"\n [autofocus]=\"model.autoFocus\"\n [bsConfig]=\"model.getAdditional('bsConfig', {containerClass: model.getAdditional('containerClass', 'theme-green'), showWeekNumbers: model.getAdditional('showWeekNumbers', true)})\"\n [formControlName]=\"model.id\"\n [id]=\"id\"\n [maxDate]=\"model.max\"\n [minDate]=\"model.min\"\n [name]=\"model.name\"\n [ngClass]=\"getClass('element', 'control')\"\n [outsideClick]=\"model.getAdditional('outsideClick', true)\"\n [placeholder]=\"model.placeholder\"\n [placement]=\"model.getAdditional('placement', 'bottom')\"\n [readonly]=\"model.readOnly\"\n [required]=\"model.required\"\n (bsValueChange)=\"onChange($event)\"\n (onHidden)=\"onCustomEvent($event, 'onHidden')\"\n (onShown)=\"onCustomEvent($event, 'onShown')\">\n\n <div *ngIf=\"model.toggleLabel\" class=\"input-group-btn\">\n\n <button *ngIf=\"model.toggleIcon\" class=\"btn\" (click)=\"bsDatepicker.toggle()\"><img [src]=\"model.toggleIcon\"/></button>\n <button *ngIf=\"model.toggleLabel\" class=\"btn\" (click)=\"bsDatepicker.toggle()\">{{ model.toggleLabel }}</button>\n\n </div>\n\n</div>\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from \"@angular/core\";\nimport { UntypedFormGroup, ReactiveFormsModule } from \"@angular/forms\";\nimport {\n DynamicFormControlComponent,\n DynamicFormControlLayout,\n DynamicFormLayout,\n DynamicFormLayoutService,\n DynamicFormValidationService,\n DynamicInputModel,\n DynamicFormsCoreModule\n} from \"@ng-dynamic-forms/core\";\nimport { NgxMaskDirective } from \"ngx-mask\";\nimport { NgIf, NgClass, NgFor, AsyncPipe } from \"@angular/common\";\n\n@Component({\n selector: \"dynamic-bootstrap-input\",\n templateUrl: \"./dynamic-bootstrap-input.component.html\",\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [ReactiveFormsModule, NgIf, DynamicFormsCoreModule, NgClass, NgxMaskDirective, NgFor, AsyncPipe]\n})\nexport class DynamicBootstrapInputComponent extends DynamicFormControlComponent {\n @Input() formLayout?: DynamicFormLayout;\n @Input() group!: UntypedFormGroup;\n @Input() layout?: DynamicFormControlLayout;\n @Input() model!: DynamicInputModel;\n\n @Output() blur: EventEmitter<any> = new EventEmitter();\n @Output() change: EventEmitter<any> = new EventEmitter();\n @Output() focus: EventEmitter<any> = new EventEmitter();\n\n constructor(protected layoutService: DynamicFormLayoutService, protected validationService: DynamicFormValidationService) {\n super(layoutService, validationService);\n }\n}\n","<div [formGroup]=\"group\" [class.input-group]=\"model.prefix || model.suffix\">\n\n <div *ngIf=\"model.prefix\" class=\"input-group-addon\" [innerHTML]=\"model.prefix\"></div>\n\n <input *ngIf=\"model.inputType === 'file'; else maskedInput\" class=\"form-control\"\n [attr.accept]=\"model.accept\"\n [attr.max]=\"model.max\"\n [attr.min]=\"model.min\"\n [attr.multiple]=\"model.multiple\"\n [attr.step]=\"model.step\"\n [autocomplete]=\"model.autoComplete\"\n [autofocus]=\"model.autoFocus\"\n [dynamicList]=\"model.listId\"\n [formControlName]=\"model.id\"\n [id]=\"id\"\n [maxlength]=\"model.maxLength\"\n [minlength]=\"model.minLength\"\n [name]=\"model.name\"\n [ngClass]=\"getClass('element', 'control')\"\n [pattern]=\"model.pattern\"\n [placeholder]=\"model.placeholder\"\n [readonly]=\"model.readOnly\"\n [required]=\"model.required\"\n [spellcheck]=\"model.spellCheck\"\n [tabindex]=\"model.tabIndex\"\n [type]=\"model.inputType\"\n (blur)=\"onBlur($event)\"\n (change)=\"onChange($event)\"\n (focus)=\"onFocus($event)\"/>\n\n <ng-template #maskedInput>\n <input class=\"form-control\"\n [attr.accept]=\"model.accept\"\n [attr.max]=\"model.max\"\n [attr.min]=\"model.min\"\n [attr.multiple]=\"model.multiple\"\n [attr.step]=\"model.step\"\n [autocomplete]=\"model.autoComplete\"\n [autofocus]=\"model.autoFocus\"\n [dynamicList]=\"model.listId\"\n [formControlName]=\"model.id\"\n [id]=\"id\"\n [maxlength]=\"model.maxLength\"\n [minlength]=\"model.minLength\"\n [name]=\"model.name\"\n [ngClass]=\"getClass('element', 'control')\"\n [pattern]=\"model.pattern\"\n [placeholder]=\"model.placeholder\"\n [readonly]=\"model.readOnly\"\n [required]=\"model.required\"\n [spellcheck]=\"model.spellCheck\"\n [tabindex]=\"model.tabIndex\"\n [mask]=\"model.mask\"\n [specialCharacters]=\"model.maskConfig?.specialCharacters\"\n [patterns]=\"model.maskConfig?.patterns\"\n [prefix]=\"model.maskConfig?.prefix\"\n [suffix]=\"model.maskConfig?.suffix\"\n [thousandSeparator]=\"model.maskConfig?.thousandSeparator\"\n [decimalMarker]=\"model.maskConfig?.decimalMarker\"\n [dropSpecialCharacters]=\"model.maskConfig?.dropSpecialCharacters\"\n [hiddenInput]=\"model.maskConfig?.hiddenInput\"\n [showMaskTyped]=\"model.maskConfig?.showMaskTyped\"\n [placeHolderCharacter]=\"model.maskConfig?.placeHolderCharacter\"\n [shownMaskExpression]=\"model.maskConfig?.shownMaskExpression\"\n [showTemplate]=\"model.maskConfig?.showTemplate\"\n [clearIfNotMatch]=\"model.maskConfig.clearIfNotMatch\"\n [validation]=\"model.maskConfig.validation\"\n [separatorLimit]=\"model.maskConfig.separatorLimit\"\n [allowNegativeNumbers]=\"model.maskConfig.allowNegativeNumbers\"\n [leadZeroDateTime]=\"model.maskConfig.leadZeroDateTime\"\n [type]=\"model.inputType\"\n (blur)=\"onBlur($event)\"\n (change)=\"onChange($event)\"\n (focus)=\"onFocus($event)\"/>\n </ng-template>\n\n <div *ngIf=\"model.suffix\" class=\"input-group-addon\" [innerHTML]=\"model.suffix\"></div>\n\n <datalist *ngIf=\"model.hasList\" [id]=\"model.listId\">\n <option *ngFor=\"let option of model.list$ | async\" [value]=\"option\">\n </datalist>\n\n</div>\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from \"@angular/core\";\nimport { UntypedFormGroup, ReactiveFormsModule } from \"@angular/forms\";\nimport {\n DynamicFormControlComponent,\n DynamicFormControlLayout,\n DynamicFormLayout,\n DynamicFormLayoutService,\n DynamicFormValidationService,\n DynamicRadioGroupModel\n} from \"@ng-dynamic-forms/core\";\nimport { NgClass, NgIf, NgFor, AsyncPipe } from \"@angular/common\";\n\n@Component({\n selector: \"dynamic-bootstrap-radio-group\",\n templateUrl: \"./dynamic-bootstrap-radio-group.component.html\",\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [ReactiveFormsModule, NgClass, NgIf, NgFor, AsyncPipe]\n})\nexport class DynamicBootstrapRadioGroupComponent extends DynamicFormControlComponent {\n @Input() formLayout?: DynamicFormLayout;\n @Input() group!: UntypedFormGroup;\n @Input() layout?: DynamicFormControlLayout;\n @Input() model!: DynamicRadioGroupModel<string>;\n\n @Output() blur: EventEmitter<any> = new EventEmitter();\n @Output() change: EventEmitter<any> = new EventEmitter();\n @Output() focus: EventEmitter<any> = new EventEmitter();\n\n constructor(protected layoutService: DynamicFormLayoutService, protected validationService: DynamicFormValidationService) {\n super(layoutService, validationService);\n }\n}\n","<fieldset role=\"radiogroup\"\n [formGroup]=\"group\"\n [id]=\"id\"\n [name]=\"model.name\"\n [ngClass]=\"getClass('element', 'control')\"\n [tabindex]=\"model.tabIndex\"\n (change)=\"onChange($event)\">\n\n <legend *ngIf=\"model.legend\" [innerHTML]=\"model.legend\"></legend>\n\n <div *ngFor=\"let option of model.options$ | async\" [ngClass]=\"getClass('element', 'option') || 'radio'\">\n\n <label><input type=\"radio\"\n [formControlName]=\"model.id\"\n [name]=\"model.name\"\n [value]=\"option.value\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"/><span [innerHTML]=\"option.label\"></span></label>\n </div>\n\n</fieldset>\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from \"@angular/core\";\nimport { UntypedFormGroup, ReactiveFormsModule } from \"@angular/forms\";\nimport {\n DynamicFormLayout,\n DynamicFormLayoutService,\n DynamicFormValidationService,\n DynamicFormControlComponent,\n DynamicRatingModel,\n DynamicFormControlLayout\n} from \"@ng-dynamic-forms/core\";\nimport { NgClass } from \"@angular/common\";\nimport { RatingModule } from \"ngx-bootstrap/rating\";\n\n@Component({\n selector: \"dynamic-bootstrap-rating\",\n templateUrl: \"./dynamic-bootstrap-rating.component.html\",\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [ReactiveFormsModule, RatingModule, NgClass]\n})\nexport class DynamicBootstrapRatingComponent extends DynamicFormControlComponent {\n @Input() formLayout?: DynamicFormLayout;\n @Input() group!: UntypedFormGroup;\n @Input() layout?: DynamicFormControlLayout;\n @Input() model!: DynamicRatingModel;\n\n @Output() blur: EventEmitter<any> = new EventEmitter();\n @Output() change: EventEmitter<any> = new EventEmitter();\n @Output() focus: EventEmitter<any> = new EventEmitter();\n\n constructor(protected layoutService: DynamicFormLayoutService, protected validationService: DynamicFormValidationService) {\n super(layoutService, validationService);\n }\n}\n","<ng-container [formGroup]=\"group\">\n\n <rating [formControlName]=\"model.id\"\n [id]=\"id\"\n [max]=\"model.max\"\n [ngClass]=\"getClass('element', 'control')\"\n [readonly]=\"model.getAdditional('readonly', false)\"\n (onHover)=\"onCustomEvent($event, 'onHover')\"\n (onLeave)=\"onCustomEvent($event, 'onLeave')\"></rating>\n\n</ng-container>\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from \"@angular/core\";\nimport { UntypedFormGroup, ReactiveFormsModule } from \"@angular/forms\";\nimport {\n DynamicFormControlComponent,\n DynamicFormControlLayout,\n DynamicFormLayout,\n DynamicFormLayoutService,\n DynamicFormValidationService,\n DynamicSelectModel\n} from \"@ng-dynamic-forms/core\";\nimport { NgClass, NgFor, AsyncPipe } from \"@angular/common\";\n\n@Component({\n selector: \"dynamic-bootstrap-select\",\n templateUrl: \"./dynamic-bootstrap-select.component.html\",\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [ReactiveFormsModule, NgClass, NgFor, AsyncPipe]\n})\nexport class DynamicBootstrapSelectComponent extends DynamicFormControlComponent {\n @Input() formLayout?: DynamicFormLayout;\n @Input() group!: UntypedFormGroup;\n @Input() layout?: DynamicFormControlLayout;\n @Input() model!: DynamicSelectModel<string>;\n\n @Output() blur: EventEmitter<any> = new EventEmitter();\n @Output() change: EventEmitter<any> = new EventEmitter();\n @Output() focus: EventEmitter<any> = new EventEmitter();\n\n constructor(protected layoutService: DynamicFormLayoutService, protected validationService: DynamicFormValidationService) {\n super(layoutService, validationService);\n }\n}\n","<ng-container [formGroup]=\"group\">\n\n <select class=\"form-control\"\n [compareWith]=\"model.compareWithFn\"\n [formControlName]=\"model.id\"\n [id]=\"id\"\n [name]=\"model.name\"\n [ngClass]=\"getClass('element', 'control')\"\n [required]=\"model.required\"\n [tabindex]=\"model.tabIndex\"\n (blur)=\"onBlur($event)\"\n (change)=\"onChange($event)\"\n (focus)=\"onFocus($event)\">\n\n <option *ngFor=\"let option of model.options$ | async\"\n [disabled]=\"option.disabled\"\n [ngValue]=\"option.value\">{{ option.label }}\n </option>\n\n </select>\n\n</ng-container>\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from \"@angular/core\";\nimport { UntypedFormGroup, ReactiveFormsModule } from \"@angular/forms\";\nimport {\n DynamicFormControlComponent,\n DynamicFormControlLayout,\n DynamicFormLayout,\n DynamicFormLayoutService,\n DynamicFormValidationService,\n DynamicTextAreaModel\n} from \"@ng-dynamic-forms/core\";\nimport { NgClass } from \"@angular/common\";\n\n@Component({\n selector: \"dynamic-bootstrap-textarea\",\n templateUrl: \"./dynamic-bootstrap-textarea.component.html\",\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [ReactiveFormsModule, NgClass]\n})\nexport class DynamicBootstrapTextAreaComponent extends DynamicFormControlComponent {\n @Input() formLayout?: DynamicFormLayout;\n @Input() group!: UntypedFormGroup;\n @Input() layout?: DynamicFormControlLayout;\n @Input() model!: DynamicTextAreaModel;\n\n @Output() blur: EventEmitter<any> = new EventEmitter();\n @Output() change: EventEmitter<any> = new EventEmitter();\n @Output() focus: EventEmitter<any> = new EventEmitter();\n\n constructor(protected layoutService: DynamicFormLayoutService, protected validationService: DynamicFormValidationService) {\n super(layoutService, validationService);\n }\n}\n","<ng-container [formGroup]=\"group\">\n\n <textarea class=\"form-control\"\n [cols]=\"model.cols\"\n [formControlName]=\"model.id\"\n [id]=\"id\"\n [maxlength]=\"model.maxLength\"\n [minlength]=\"model.minLength\"\n [name]=\"model.name\"\n [ngClass]=\"getClass('element', 'control')\"\n [placeholder]=\"model.placeholder\"\n [readonly]=\"model.readOnly\"\n [required]=\"model.required\"\n [rows]=\"model.rows\"\n [spellcheck]=\"model.spellCheck\"\n [tabindex]=\"model.tabIndex\"\n [wrap]=\"model.wrap\"\n (blur)=\"onBlur($event)\"\n (change)=\"onChange($event)\"\n (focus)=\"onFocus($event)\"></textarea>\n\n</ng-container>\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild } from \"@angular/core\";\nimport { UntypedFormGroup, ReactiveFormsModule } from \"@angular/forms\";\nimport { TimepickerComponent, TimepickerModule } from \"ngx-bootstrap/timepicker\";\nimport {\n DynamicFormControlComponent,\n DynamicFormControlLayout,\n DynamicFormLayout,\n DynamicFormLayoutService,\n DynamicFormValidationService,\n DynamicTimePickerModel\n} from \"@ng-dynamic-forms/core\";\nimport { NgClass } from \"@angular/common\";\n\n@Component({\n selector: \"dynamic-bootstrap-timepicker\",\n templateUrl: \"./dynamic-bootstrap-timepicker.component.html\",\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [ReactiveFormsModule, TimepickerModule, NgClass]\n})\nexport class DynamicBootstrapTimePickerComponent extends DynamicFormControlComponent {\n @Input() formLayout?: DynamicFormLayout;\n @Input() group!: UntypedFormGroup;\n @Input() layout?: DynamicFormControlLayout;\n @Input() model!: DynamicTimePickerModel;\n\n @Output() blur: EventEmitter<any> = new EventEmitter();\n @Output() change: EventEmitter<any> = new EventEmitter();\n @Output() focus: EventEmitter<any> = new EventEmitter();\n\n @ViewChild(TimepickerComponent, {static: true}) bsTimePicker!: TimepickerComponent;\n\n constructor(protected layoutService: DynamicFormLayoutService, protected validationService: DynamicFormValidationService) {\n super(layoutService, validationService);\n }\n}\n","<ng-container [formGroup]=\"group\">\n\n <timepicker [arrowkeys]=\"model.getAdditional('arrowkeys', true)\"\n [formControlName]=\"model.id\"\n [hourStep]=\"model.getAdditional('hourStep', 1)\"\n [id]=\"id\"\n [max]=\"model.max\"\n [min]=\"model.min\"\n [mousewheel]=\"model.getAdditional('mousewheel', true)\"\n [minuteStep]=\"model.getAdditional('minuteStep', 1)\"\n [ngClass]=\"getClass('element', 'control')\"\n [secondsStep]=\"model.getAdditional('secondsStep', 1)\"\n [showMeridian]=\"model.meridian\"\n [showSeconds]=\"model.showSeconds\"\n [showSpinners]=\"model.getAdditional('spinners', true)\"></timepicker>\n\n</ng-container>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentFactoryResolver,\n ContentChildren,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n QueryList,\n Type,\n ViewChild,\n ViewChildren,\n ViewContainerRef\n} from \"@angular/core\";\nimport { UntypedFormGroup, ReactiveFormsModule } from \"@angular/forms\";\nimport {\n DYNAMIC_FORM_CONTROL_TYPE_ARRAY,\n DYNAMIC_FORM_CONTROL_TYPE_CHECKBOX,\n DYNAMIC_FORM_CONTROL_TYPE_CHECKBOX_GROUP,\n DYNAMIC_FORM_CONTROL_TYPE_DATEPICKER,\n DYNAMIC_FORM_CONTROL_TYPE_GROUP,\n DYNAMIC_FORM_CONTROL_TYPE_INPUT,\n DYNAMIC_FORM_CONTROL_TYPE_RADIO_GROUP,\n DYNAMIC_FORM_CONTROL_TYPE_RATING,\n DYNAMIC_FORM_CONTROL_TYPE_SELECT,\n DYNAMIC_FORM_CONTROL_TYPE_TEXTAREA,\n DYNAMIC_FORM_CONTROL_TYPE_TIMEPICKER,\n DynamicFormArrayGroupModel,\n DynamicFormControl,\n DynamicFormControlContainerComponent,\n DynamicFormControlEvent,\n DynamicFormControlModel,\n DynamicFormComponentService,\n DynamicFormLayout,\n DynamicFormLayoutService,\n DynamicFormRelationService,\n DynamicFormValidationService,\n DynamicTemplateDirective,\n DynamicFormArrayComponent,\n DynamicFormControlLayout,\n DynamicFormArrayModel,\n DynamicFormControlCustomEvent,\n DynamicFormGroupComponent,\n DynamicFormGroupModel\n} from \"@ng-dynamic-forms/core\";\nimport { DynamicBootstrapCheckboxComponent } from \"./checkbox/dynamic-bootstrap-checkbox.component\";\nimport { DynamicBootstrapDatePickerComponent } from \"./datepicker/dynamic-bootstrap-datepicker.component\";\nimport { DynamicBootstrapInputComponent } from \"./input/dynamic-bootstrap-input.component\";\nimport { DynamicBootstrapRadioGroupComponent } from \"./radio-group/dynamic-bootstrap-radio-group.component\";\nimport { DynamicBootstrapRatingComponent } from \"./rating/dynamic-bootstrap-rating.component\";\nimport { DynamicBootstrapSelectComponent } from \"./select/dynamic-bootstrap-select.component\";\nimport { DynamicBootstrapTextAreaComponent } from \"./textarea/dynamic-bootstrap-textarea.component\";\nimport { DynamicBootstrapTimePickerComponent } from \"./timepicker/dynamic-bootstrap-timepicker.component\";\nimport { NgClass, NgFor, NgTemplateOutlet, NgIf } from \"@angular/common\";\n\n@Component({\n selector: \"dynamic-bootstrap-form-control\",\n templateUrl: \"./dynamic-bootstrap-form-control-container.component.html\",\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [ReactiveFormsModule, NgClass, NgIf, NgTemplateOutlet, NgFor]\n})\nexport class DynamicBootstrapFormControlContainerComponent extends DynamicFormControlContainerComponent {\n @ContentChildren(DynamicTemplateDirective) contentTemplateList!: QueryList<DynamicTemplateDirective>;\n\n @HostBinding(\"class\") klass?: string;\n\n @Input() asBootstrapFormGroup = true;\n @Input() context: DynamicFormArrayGroupModel | null = null;\n @Input() group!: UntypedFormGroup;\n @Input() hostClass?: string[];\n // tslint:disable-next-line:no-input-rename\n @Input(\"templates\") inputTemplateList?: QueryList<DynamicTemplateDirective>;\n @Input() layout?: DynamicFormLayout;\n @Input() model!: DynamicFormControlModel;\n\n @Output() blur: EventEmitter<DynamicFormControlEvent> = new EventEmitter<DynamicFormControlEvent>();\n @Output() change: EventEmitter<DynamicFormControlEvent> = new EventEmitter<DynamicFormControlEvent>();\n @Output() focus: EventEmitter<DynamicFormControlEvent> = new EventEmitter<DynamicFormControlEvent>();\n // tslint:disable-next-line:no-output-rename\n @Output(\"bsEvent\") customEvent: EventEmitter<DynamicFormControlEvent> = new EventEmitter<DynamicFormControlEvent>();\n\n @ViewChild(\"componentViewContainer\", {read: ViewContainerRef, static: true}) componentViewContainerRef!: ViewContainerRef;\n\n get componentType(): Type<DynamicFormControl> | null {\n return this.componentService.getCustomComponentType(this.model) || bootstrapUIFormControlMapFn(this.model);\n }\n\n constructor(protected changeDetectorRef: ChangeDetectorRef,\n protected componentFactoryResolver: ComponentFactoryResolver,\n protected layoutService: DynamicFormLayoutService,\n protected validationService: DynamicFormValidationService,\n protected componentService: DynamicFormComponentService,\n protected relationService: DynamicFormRelationService) {\n super(changeDetectorRef, componentFactoryResolver, layoutService, validationService, componentService, relationService);\n }\n}\n\nexport function bootstrapUIFormControlMapFn(model: DynamicFormControlModel): Type<DynamicFormControl> | null {\n switch (model.type) {\n case DYNAMIC_FORM_CONTROL_TYPE_ARRAY:\n return DynamicBootstrapFormArrayComponent;\n\n case DYNAMIC_FORM_CONTROL_TYPE_CHECKBOX:\n return DynamicBootstrapCheckboxComponent;\n\n case DYNAMIC_FORM_CONTROL_TYPE_CHECKBOX_GROUP:\n return DynamicBootstrapFormGroupComponent;\n\n case DYNAMIC_FORM_CONTROL_TYPE_DATEPICKER:\n return DynamicBootstrapDatePickerComponent;\n\n case DYNAMIC_FORM_CONTROL_TYPE_GROUP:\n return DynamicBootstrapFormGroupComponent;\n\n case DYNAMIC_FORM_CONTROL_TYPE_INPUT:\n return DynamicBootstrapInputComponent;\n\n case DYNAMIC_FORM_CONTROL_TYPE_RADIO_GROUP:\n return DynamicBootstrapRadioGroupComponent;\n\n case DYNAMIC_FORM_CONTROL_TYPE_RATING:\n return DynamicBootstrapRatingComponent;\n\n case DYNAMIC_FORM_CONTROL_TYPE_SELECT:\n return DynamicBootstrapSelectComponent;\n\n case DYNAMIC_FORM_CONTROL_TYPE_TEXTAREA:\n return DynamicBootstrapTextAreaComponent;\n\n case DYNAMIC_FORM_CONTROL_TYPE_TIMEPICKER:\n return DynamicBootstrapTimePickerComponent;\n\n default:\n return null;\n }\n}\n\n@Component({\n selector: \"dynamic-bootstrap-form-array\",\n templateUrl: \"./dynamic-bootstrap-form-array.component.html\",\n standalone: true,\n imports: [ReactiveFormsModule, NgClass, NgFor, NgTemplateOutlet, DynamicBootstrapFormControlContainerComponent]\n})\nexport class DynamicBootstrapFormArrayComponent extends DynamicFormArrayComponent {\n @Input() formLayout?: DynamicFormLayout;\n @Input() group!: UntypedFormGroup;\n @Input() layout?: DynamicFormControlLayout;\n @Input() model!: DynamicFormArrayModel;\n @Input() templates?: QueryList<DynamicTemplateDirective>;\n\n @Output() blur: EventEmitter<any> = new EventEmitter();\n @Output() change: EventEmitter<any> = new EventEmitter();\n @Output() customEvent: EventEmitter<DynamicFormControlCustomEvent> = new EventEmitter();\n @Output() focus: EventEmitter<any> = new EventEmitter();\n\n @ViewChildren(DynamicBootstrapFormControlContainerComponent) components!: QueryList<DynamicBootstrapFormControlContainerComponent>;\n\n constructor(protected layoutService: DynamicFormLayoutService, protected validationService: DynamicFormValidationService) {\n super(layoutService, validationService);\n }\n}\n\n@Component({\n selector: \"dynamic-bootstrap-form-group\",\n templateUrl: \"./dynamic-bootstrap-form-group.component.html\",\n standalone: true,\n imports: [ReactiveFormsModule, NgClass, NgIf, NgFor, DynamicBootstrapFormControlContainerComponent]\n})\nexport class DynamicBootstrapFormGroupComponent extends DynamicFormGroupComponent {\n @Input() formLayout?: DynamicFormLayout;\n @Input() group!: UntypedFormGroup;\n @Input() layout?: DynamicFormControlLayout;\n @Input() model!: DynamicFormGroupModel;\n @Input() templates?: QueryList<DynamicTemplateDirective> | DynamicTemplateDirective[];\n\n @Output() blur: EventEmitter<any> = new EventEmitter();\n @Output() change: EventEmitter<any> = new EventEmitter();\n @Output() customEvent: EventEmitter<DynamicFormControlCustomEvent> = new EventEmitter();\n @Output() focus: EventEmitter<any> = new EventEmitter();\n\n @ViewChildren(DynamicBootstrapFormControlContainerComponent) components!: QueryList<DynamicBootstrapFormControlContainerComponent>;\n\n constructor(protected layoutService: DynamicFormLayoutService, protected validationService: DynamicFormValidationService) {\n super(layoutService, validationService);\n }\n}\n","<div [class.form-group]=\"asBootstrapFormGroup || getClass('element', 'container').includes('form-group')\"\n [class.has-error]=\"showErrorMessages\"\n [formGroup]=\"group\"\n [ngClass]=\"['ng-dynamic-forms-'+model.type.toLowerCase(), getClass('element', 'container'), getClass('grid', 'container')]\">\n\n <label *ngIf=\"!isCheckbox && hasLabel\"\n [for]=\"id\"\n [innerHTML]=\"model.label\"\n [ngClass]=\"[getClass('element', 'label'), getClass('grid', 'label')]\"></label>\n\n <ng-container *ngTemplateOutlet=\"startTemplate?.templateRef; context: model\"></ng-container>\n\n <div [ngClass]=\"getClass('grid', 'control')\">\n\n <ng-container #componentViewContainer></ng-container>\n\n <span *ngIf=\"hasHint\" class=\"help-block\" [innerHTML]=\"hint\"\n [ngClass]=\"getClass('element', 'hint')\"></span>\n\n </div>\n\n <ul *ngIf=\"showErrorMessages\" class=\"has-error\"\n [ngClass]=\"[getClass('element', 'errors'), getClass('grid', 'errors')]\">\n\n <li *ngFor=\"let message of errorMessages\" class=\"help-block\">{{ message }}</li>\n\n </ul>\n\n <ng-container *ngTemplateOutlet=\"endTemplate?.templateRef; context: model\"></ng-container>\n\n <ng-content></ng-content>\n\n</div>\n","<ng-container [formGroup]=\"group\">\n\n <div [formArrayName]=\"model.id\" [id]=\"id\" [ngClass]=\"getClass('element', 'control')\">\n\n <div *ngFor=\"let groupModel of model.groups; let idx = index\" role=\"group\"\n [formGroupName]=\"idx\" [ngClass]=\"[getClass('element', 'group'), getClass('grid', 'group')]\">\n\n <ng-container *ngTemplateOutlet=\"startTemplate?.templateRef; context: groupModel\"></ng-container>\n\n <dynamic-bootstrap-form-control *ngFor=\"let _model of groupModel.group\"\n [context]=\"groupModel\"\n [group]=\"array.at(idx)\"\n [hidden]=\"_model.hidden\"\n [layout]=\"formLayout\"\n [model]=\"_model\"\n [templates]=\"templates\"\n [hostClass]=\"[getClass('element','children'), getClass('grid','children')]\"\n (blur)=\"onBlur($event)\"\n (change)=\"onChange($event)\"\n (focus)=\"onFocus($event)\"\n (bsEvent)=\"onCustomEvent($event, null, true)\"></dynamic-bootstrap-form-control>\n\n <ng-container *ngTemplateOutlet=\"endTemplate?.templateRef; context: groupModel\"></ng-container>\n\n </div>\n\n </div>\n\n</ng-container>\n","<ng-container [formGroup]=\"group\">\n\n <fieldset [formGroupName]=\"model.id\"\n [id]=\"id\"\n [name]=\"model.name\"\n [ngClass]=\"getClass('element', 'control')\">\n\n <legend *ngIf=\"model.legend\" [innerHTML]=\"model.legend\"></legend>\n\n <dynamic-bootstrap-form-control *ngFor=\"let _model of model.group\"\n [asBootstrapFormGroup]=\"false\"\n [group]=\"control\"\n [hidden]=\"_model.hidden\"\n [layout]=\"formLayout\"\n [model]=\"_model\"\n [templates]=\"templates\"\n [hostClass]=\"[getClass('element','children'), getClass('grid','children')]\"\n (blur)=\"onBlur($event)\"\n (change)=\"onChange($event)\"\n (focus)=\"onFocus($event)\"\n (bsEvent)=\"onCustomEvent($event, null, true)\"></dynamic-bootstrap-form-control>\n </fieldset>\n\n</ng-container>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n EventEmitter,\n Input,\n Output,\n QueryList,\n ViewChildren\n} from \"@angular/core\";\nimport { UntypedFormGroup } from \"@angular/forms\";\nimport {\n DynamicFormComponent,\n DynamicFormComponentService,\n DynamicFormControlEvent,\n DynamicFormLayout,\n DynamicFormModel,\n DynamicTemplateDirective\n} from \"@ng-dynamic-forms/core\";\nimport { DynamicBootstrapFormControlContainerComponent } from \"./dynamic-bootstrap-form-control-container.component\";\nimport { NgFor } from \"@angular/common\";\n\n@Component({\n selector: \"dynamic-bootstrap-form\",\n templateUrl: \"./dynamic-bootstrap-form.component.html\",\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [NgFor, DynamicBootstrapFormControlContainerComponent]\n})\nexport class DynamicBootstrapFormComponent extends DynamicFormComponent {\n @Input() group!: UntypedFormGroup;\n @Input() model!: DynamicFormModel;\n @Input() layout?: DynamicFormLayout;\n\n @Output() blur: EventEmitter<DynamicFormControlEvent> = new EventEmitter<DynamicFormControlEvent>();\n @Output() change: EventEmitter<DynamicFormControlEvent> = new EventEmitter<DynamicFormControlEvent>();\n @Output() focus: EventEmitter<DynamicFormControlEvent> = new EventEmitter<DynamicFormControlEvent>();\n @Output() bsEvent: EventEmitter<DynamicFormControlEvent> = new EventEmitter<DynamicFormControlEvent>();\n\n @ContentChildren(DynamicTemplateDirective) templates!: QueryList<DynamicTemplateDirective>;\n\n @ViewChildren(DynamicBootstrapFormControlContainerComponent) components!: QueryList<DynamicBootstrapFormControlContainerComponent>;\n\n constructor(protected changeDetectorRef: ChangeDetectorRef, protected componentService: DynamicFormComponentService) {\n super(changeDetectorRef, componentService);\n }\n}\n","<dynamic-bootstrap-form-control *ngFor=\"let controlModel of model; trackBy: trackByFn\"\n [group]=\"group\"\n [hidden]=\"controlModel.hidden\"\n [layout]=\"layout\"\n [model]=\"controlModel\"\n [templates]=\"templates\"\n (blur)=\"onBlur($event)\"\n (change)=\"onChange($event)\"\n (focus)=\"onFocus($event)\"\n (bsEvent)=\"onCustomEvent($event, bsEvent)\"></dynamic-bootstrap-form-control>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i3"],"mappings":"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