@koalarx/ui 12.7.8 → 12.7.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.
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/material/dialog'), require('@angular/material/button'), require('@angular/material/icon'), require('ngx-device-detector'), require('@koalarx/utils/operators/string')) :
3
- typeof define === 'function' && define.amd ? define('@koalarx/ui/dialog', ['exports', '@angular/core', '@angular/common', '@angular/material/dialog', '@angular/material/button', '@angular/material/icon', 'ngx-device-detector', '@koalarx/utils/operators/string'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.koalarx = global.koalarx || {}, global.koalarx.ui = global.koalarx.ui || {}, global.koalarx.ui.dialog = {}), global.ng.core, global.ng.common, global.ng.material.dialog, global.ng.material.button, global.ng.material.icon, global.i2, global.string));
5
- })(this, (function (exports, i0, common, i1, button, icon, i2, string) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/material/dialog'), require('@angular/material/button'), require('@angular/material/icon'), require('ngx-device-detector'), require('@koalarx/utils/operators/string'), require('ngx-device-detector/lib/device-detector.service')) :
3
+ typeof define === 'function' && define.amd ? define('@koalarx/ui/dialog', ['exports', '@angular/core', '@angular/common', '@angular/material/dialog', '@angular/material/button', '@angular/material/icon', 'ngx-device-detector', '@koalarx/utils/operators/string', 'ngx-device-detector/lib/device-detector.service'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.koalarx = global.koalarx || {}, global.koalarx.ui = global.koalarx.ui || {}, global.koalarx.ui.dialog = {}), global.ng.core, global.ng.common, global.ng.material.dialog, global.ng.material.button, global.ng.material.icon, global.i2, global.string, global.i2));
5
+ })(this, (function (exports, i0, common, i1, button, icon, ngxDeviceDetector, string, i2) { 'use strict';
6
6
 
7
7
  function _interopNamespace(e) {
8
8
  if (e && e.__esModule) return e;
@@ -122,7 +122,7 @@
122
122
  ];
123
123
  KoalaDialogService.ctorParameters = function () { return [
124
124
  { type: i1.MatDialog },
125
- { type: i2.DeviceDetectorService }
125
+ { type: ngxDeviceDetector.DeviceDetectorService }
126
126
  ]; };
127
127
 
128
128
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"koalarx-ui-dialog.umd.js","sources":["../../../projects/dialog/src/lib/dialog.component.ts","../../../projects/dialog/src/lib/koala.dialog.module.ts","../../../projects/dialog/src/lib/koala.dialog.service.ts","../../../projects/dialog/src/koalarx-ui-dialog.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\n\n@Component({\n selector: 'koala-dialog',\n templateUrl: 'dialog.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DialogComponent {\n @Input() titleDialog?: string;\n @Input() iconTitleDialog?: string;\n @Input() triggerDialogClose?: string;\n @Input() btnCloseLabel?: string;\n @Input() btnCloseColor: ThemePalette;\n}\n","import { NgModule } from '@angular/core';\nimport { DialogComponent } from './dialog.component';\nimport { CommonModule } from '@angular/common';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\n\n@NgModule({\n declarations: [\n DialogComponent\n ],\n imports: [\n CommonModule,\n MatIconModule,\n MatButtonModule,\n MatDialogModule\n ],\n exports: [\n DialogComponent\n ]\n})\nexport class KoalaDialogModule {\n}\n","import { Injectable } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { KoalaDialogTemplateInterface } from './koala.dialog-template.interface';\nimport { ComponentType } from '@angular/cdk/overlay';\nimport { DeviceDetectorService } from \"ngx-device-detector\";\nimport { randomString } from \"@koalarx/utils/operators/string\";\n\nexport type KoalaDialogSizeType = 'auto' | 'small' | 'normal' | 'big' | 'mobile';\n\n@Injectable({providedIn: \"any\"})\nexport class KoalaDialogService {\n\n constructor(\n private dialog: MatDialog,\n private deviceService: DeviceDetectorService) {\n }\n\n public open<T>(\n dialogComponent: ComponentType<T>,\n size: KoalaDialogSizeType,\n data?: any,\n triggerBeforeClosed: string | boolean | object = false,\n beforeClosed?: (event?: any) => void\n ) {\n const dialogRef = this.dialog.open(dialogComponent, this.dialogTemplate(data)[this.deviceService.isMobile() ? 'mobile' : size])\n dialogRef.afterOpened().subscribe(() => {\n history.pushState(null, '', location.href);\n return false;\n });\n dialogRef.beforeClosed().subscribe(event => {\n if ((triggerBeforeClosed && event === triggerBeforeClosed) ||\n (typeof triggerBeforeClosed == 'object' && typeof event == 'object')\n ) {\n if (beforeClosed) {\n beforeClosed(event);\n }\n }\n });\n dialogRef.keydownEvents().subscribe(event => {\n if (event.key === 'Escape') {\n dialogRef.close({closeOnNavigation: true})\n }\n });\n }\n\n private dialogTemplate(data: any = null): KoalaDialogTemplateInterface {\n let dialogElementId = \"dialog-\" + randomString(10);\n\n return {\n auto: {id: dialogElementId, panelClass: ['koala-dialog', 'auto'], disableClose: true, data},\n small: {id: dialogElementId, panelClass: ['koala-dialog', 'small'], disableClose: true, data},\n normal: {id: dialogElementId, panelClass: ['koala-dialog', 'normal'], disableClose: true, data},\n big: {id: dialogElementId, panelClass: ['koala-dialog', 'big'], disableClose: true, data},\n fullScreen: {id: dialogElementId, panelClass: ['koala-dialog'], disableClose: true, data},\n mobile: {\n id: dialogElementId,\n autoFocus: false,\n panelClass: [\"koala-dialog\", 'mobile'],\n width: '100vw',\n maxWidth: '100vw',\n maxHeight: '90vh',\n data\n }\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["Component","ChangeDetectionStrategy","Input","NgModule","CommonModule","MatIconModule","MatButtonModule","MatDialogModule","randomString","Injectable","MatDialog","DeviceDetectorService"],"mappings":"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"}
1
+ {"version":3,"file":"koalarx-ui-dialog.umd.js","sources":["../../../projects/dialog/src/lib/dialog.component.ts","../../../projects/dialog/src/lib/koala.dialog.module.ts","../../../projects/dialog/src/lib/koala.dialog.service.ts","../../../projects/dialog/src/koalarx-ui-dialog.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\n\n@Component({\n selector: 'koala-dialog',\n templateUrl: 'dialog.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DialogComponent {\n @Input() titleDialog?: string;\n @Input() iconTitleDialog?: string;\n @Input() triggerDialogClose?: string;\n @Input() btnCloseLabel?: string;\n @Input() btnCloseColor: ThemePalette;\n}\n","import { NgModule } from '@angular/core';\nimport { DialogComponent } from './dialog.component';\nimport { CommonModule } from '@angular/common';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\n\n@NgModule({\n declarations: [\n DialogComponent\n ],\n imports: [\n CommonModule,\n MatIconModule,\n MatButtonModule,\n MatDialogModule\n ],\n exports: [\n DialogComponent\n ]\n})\nexport class KoalaDialogModule {\n}\n","import { Injectable } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { KoalaDialogTemplateInterface } from './koala.dialog-template.interface';\nimport { ComponentType } from '@angular/cdk/overlay';\nimport { DeviceDetectorService } from \"ngx-device-detector\";\nimport { randomString } from \"@koalarx/utils/operators/string\";\n\nexport type KoalaDialogSizeType = 'auto' | 'small' | 'normal' | 'big' | 'mobile';\n\n@Injectable({providedIn: \"any\"})\nexport class KoalaDialogService {\n\n constructor(\n private dialog: MatDialog,\n private deviceService: DeviceDetectorService) {\n }\n\n public open<T>(\n dialogComponent: ComponentType<T>,\n size: KoalaDialogSizeType,\n data?: any,\n triggerBeforeClosed: string | boolean | object = false,\n beforeClosed?: (event?: any) => void\n ) {\n const dialogRef = this.dialog.open(dialogComponent, this.dialogTemplate(data)[this.deviceService.isMobile() ? 'mobile' : size])\n dialogRef.afterOpened().subscribe(() => {\n history.pushState(null, '', location.href);\n return false;\n });\n dialogRef.beforeClosed().subscribe(event => {\n if ((triggerBeforeClosed && event === triggerBeforeClosed) ||\n (typeof triggerBeforeClosed == 'object' && typeof event == 'object')\n ) {\n if (beforeClosed) {\n beforeClosed(event);\n }\n }\n });\n dialogRef.keydownEvents().subscribe(event => {\n if (event.key === 'Escape') {\n dialogRef.close({closeOnNavigation: true})\n }\n });\n }\n\n private dialogTemplate(data: any = null): KoalaDialogTemplateInterface {\n let dialogElementId = \"dialog-\" + randomString(10);\n\n return {\n auto: {id: dialogElementId, panelClass: ['koala-dialog', 'auto'], disableClose: true, data},\n small: {id: dialogElementId, panelClass: ['koala-dialog', 'small'], disableClose: true, data},\n normal: {id: dialogElementId, panelClass: ['koala-dialog', 'normal'], disableClose: true, data},\n big: {id: dialogElementId, panelClass: ['koala-dialog', 'big'], disableClose: true, data},\n fullScreen: {id: dialogElementId, panelClass: ['koala-dialog'], disableClose: true, data},\n mobile: {\n id: dialogElementId,\n autoFocus: false,\n panelClass: [\"koala-dialog\", 'mobile'],\n width: '100vw',\n maxWidth: '100vw',\n maxHeight: '90vh',\n data\n }\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["Component","ChangeDetectionStrategy","Input","NgModule","CommonModule","MatIconModule","MatButtonModule","MatDialogModule","randomString","Injectable","MatDialog","DeviceDetectorService"],"mappings":"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"}
@@ -4,7 +4,7 @@ import { DeviceDetectorService } from "ngx-device-detector";
4
4
  import { randomString } from "@koalarx/utils/operators/string";
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@angular/material/dialog";
7
- import * as i2 from "ngx-device-detector";
7
+ import * as i2 from "ngx-device-detector/lib/device-detector.service";
8
8
  export class KoalaDialogService {
9
9
  constructor(dialog, deviceService) {
10
10
  this.dialog = dialog;
@@ -5,9 +5,9 @@ import * as i1 from '@angular/material/dialog';
5
5
  import { MatDialogModule, MatDialog } from '@angular/material/dialog';
6
6
  import { MatButtonModule } from '@angular/material/button';
7
7
  import { MatIconModule } from '@angular/material/icon';
8
- import * as i2 from 'ngx-device-detector';
9
8
  import { DeviceDetectorService } from 'ngx-device-detector';
10
9
  import { randomString } from '@koalarx/utils/operators/string';
10
+ import * as i2 from 'ngx-device-detector/lib/device-detector.service';
11
11
 
12
12
  class DialogComponent {
13
13
  }
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('rxjs'), require('@koalarx/ui/core'), require('@angular/forms'), require('@koalarx/utils'), require('ngx-device-detector'), require('@koalarx/utils/operators/string'), require('rxjs/operators'), require('@koalarx/utils/operators/delay'), require('@angular/common'), require('@angular/material/input'), require('@angular/material/select'), require('@angular/material/radio'), require('@angular/material/checkbox'), require('@angular/material/autocomplete'), require('@angular/material/button'), require('@angular/material/icon'), require('@angular/material/progress-spinner'), require('ngx-mask'), require('@koalarx/ui/common'), require('ng2-currency-mask'), require('@koalarx/ui/button'), require('@angular/material/expansion'), require('@koalarx/ui/file-button'), require('@angular/material/chips')) :
3
- typeof define === 'function' && define.amd ? define('@koalarx/ui/form', ['exports', '@angular/core', 'rxjs', '@koalarx/ui/core', '@angular/forms', '@koalarx/utils', 'ngx-device-detector', '@koalarx/utils/operators/string', 'rxjs/operators', '@koalarx/utils/operators/delay', '@angular/common', '@angular/material/input', '@angular/material/select', '@angular/material/radio', '@angular/material/checkbox', '@angular/material/autocomplete', '@angular/material/button', '@angular/material/icon', '@angular/material/progress-spinner', 'ngx-mask', '@koalarx/ui/common', 'ng2-currency-mask', '@koalarx/ui/button', '@angular/material/expansion', '@koalarx/ui/file-button', '@angular/material/chips'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.koalarx = global.koalarx || {}, global.koalarx.ui = global.koalarx.ui || {}, global.koalarx.ui.form = {}), global.ng.core, global.rxjs, global.core, global.ng.forms, global.utils, global.i2, global.string, global.rxjs.operators, global.delay, global.ng.common, global.ng.material.input, global.ng.material.select, global.ng.material.radio, global.ng.material.checkbox, global.ng.material.autocomplete, global.ng.material.button, global.ng.material.icon, global.ng.material.progressSpinner, global["ngx-mask"], global.common$1, global.ng2CurrencyMask, global.button, global.ng.material.expansion, global.fileButton, global.ng.material.chips));
5
- })(this, (function (exports, i0, rxjs, core, i1, utils, i2, string, operators, delay, common, input, select, radio, checkbox, autocomplete, button, icon, progressSpinner, ngxMask, common$1, ng2CurrencyMask, button$1, expansion, fileButton, chips) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('rxjs'), require('@koalarx/ui/core'), require('@angular/forms'), require('@koalarx/utils'), require('ngx-device-detector'), require('@koalarx/utils/operators/string'), require('ngx-device-detector/lib/device-detector.service'), require('rxjs/operators'), require('@koalarx/utils/operators/delay'), require('@angular/common'), require('@angular/material/input'), require('@angular/material/select'), require('@angular/material/radio'), require('@angular/material/checkbox'), require('@angular/material/autocomplete'), require('@angular/material/button'), require('@angular/material/icon'), require('@angular/material/progress-spinner'), require('ngx-mask'), require('@koalarx/ui/common'), require('ng2-currency-mask'), require('@koalarx/ui/button'), require('@angular/material/expansion'), require('@koalarx/ui/file-button'), require('@angular/material/chips')) :
3
+ typeof define === 'function' && define.amd ? define('@koalarx/ui/form', ['exports', '@angular/core', 'rxjs', '@koalarx/ui/core', '@angular/forms', '@koalarx/utils', 'ngx-device-detector', '@koalarx/utils/operators/string', 'ngx-device-detector/lib/device-detector.service', 'rxjs/operators', '@koalarx/utils/operators/delay', '@angular/common', '@angular/material/input', '@angular/material/select', '@angular/material/radio', '@angular/material/checkbox', '@angular/material/autocomplete', '@angular/material/button', '@angular/material/icon', '@angular/material/progress-spinner', 'ngx-mask', '@koalarx/ui/common', 'ng2-currency-mask', '@koalarx/ui/button', '@angular/material/expansion', '@koalarx/ui/file-button', '@angular/material/chips'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.koalarx = global.koalarx || {}, global.koalarx.ui = global.koalarx.ui || {}, global.koalarx.ui.form = {}), global.ng.core, global.rxjs, global.core, global.ng.forms, global.utils, global.ngxDeviceDetector, global.string, global.i2, global.rxjs.operators, global.delay, global.ng.common, global.ng.material.input, global.ng.material.select, global.ng.material.radio, global.ng.material.checkbox, global.ng.material.autocomplete, global.ng.material.button, global.ng.material.icon, global.ng.material.progressSpinner, global["ngx-mask"], global.common$1, global.ng2CurrencyMask, global.button, global.ng.material.expansion, global.fileButton, global.ng.material.chips));
5
+ })(this, (function (exports, i0, rxjs, core, i1, utils, ngxDeviceDetector, string, i2, operators, delay, common, input, select, radio, checkbox, autocomplete, button, icon, progressSpinner, ngxMask, common$1, ng2CurrencyMask, button$1, expansion, fileButton, chips) { 'use strict';
6
6
 
7
7
  function _interopNamespace(e) {
8
8
  if (e && e.__esModule) return e;
@@ -1019,7 +1019,7 @@
1019
1019
  ];
1020
1020
  KoalaDynamicFormService.ctorParameters = function () { return [
1021
1021
  { type: i1.FormBuilder },
1022
- { type: i2.DeviceDetectorService }
1022
+ { type: ngxDeviceDetector.DeviceDetectorService }
1023
1023
  ]; };
1024
1024
 
1025
1025
  var ValidationHelper = /** @class */ (function () {
@@ -1 +1 @@
1
- {"version":3,"file":"koalarx-ui-form.umd.js","sources":["../../../projects/form/src/lib/btn-submit/btn-submit.component.ts","../../../projects/form/src/lib/dynamic-form/enums/dynamic-form-type-field.enum.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/form/src/lib/dynamic-form/builder/fields/field.base.ts","../../../projects/form/src/lib/dynamic-form/builder/fields/autocomplete.builder.ts","../../../projects/form/src/lib/dynamic-form/builder/fields/field.builder.ts","../../../projects/form/src/lib/dynamic-form/builder/fields/more-items.builder.ts","../../../projects/form/src/lib/dynamic-form/builder/dynamic-form.builder.ts","../../../projects/form/src/lib/dynamic-form/validators/date-min.validator.ts","../../../projects/form/src/lib/dynamic-form/validators/date-max.validator.ts","../../../projects/form/src/lib/dynamic-form/koala.dynamic-form.service.ts","../../../projects/form/src/lib/dynamic-form/validators/validation.helper.ts","../../../projects/form/src/lib/dynamic-form/validators/cpf.validator.ts","../../../projects/form/src/lib/dynamic-form/validators/cnpj.validator.ts","../../../projects/form/src/lib/dynamic-form/validators/autocomplete-selected.validator.ts","../../../projects/form/src/lib/dynamic-form/validators/koala-dynamic-form-validator-result.helper.ts","../../../projects/form/src/lib/show-invalid-fields/show-invalid-fields.ts","../../../projects/form/src/lib/form.abstract.ts","../../../projects/form/src/lib/dynamic-form/dynamic-form.component.ts","../../../projects/form/src/lib/directives/koala-autofocus.directive.ts","../../../projects/form/src/lib/koala.form.module.ts","../../../projects/form/src/koalarx-ui-form.ts"],"sourcesContent":["import { Component, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { ThemePalette } from '@angular/material/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { KoalaLanguageHelper } from \"@koalarx/ui/core\";\n\n@Component({\n selector: 'koala-submit',\n templateUrl: 'btn-submit.component.html',\n styleUrls: ['btn-submit.component.css']\n})\nexport class BtnSubmitComponent implements OnInit, OnChanges {\n @Input() fg: FormGroup;\n @Input() color: ThemePalette = 'primary';\n @Input() btnLabel: string = KoalaLanguageHelper.getBtnLabel();\n @Input() btnSubmitDisabled = false;\n @Input() loader: BehaviorSubject<boolean>;\n @Input() iconButton: boolean;\n @Input() icon: string;\n @Input() iconColor: 'blue' | 'red' | 'yellow' | 'black' | 'green';\n public disabled = new BehaviorSubject<boolean>(false);\n\n ngOnInit() {\n if (!this.btnLabel) {\n this.btnLabel = KoalaLanguageHelper.getBtnLabel();\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.btnSubmitDisabled) {\n this.disabled.next(changes.btnSubmitDisabled.currentValue);\n }\n }\n}\n","export enum DynamicFormTypeFieldEnum {\n text = 1,\n password,\n cpf,\n cnpj,\n datetime,\n email,\n phone,\n number,\n valueList,\n textarea,\n time,\n hoursAndMinutes,\n checkbox,\n select,\n coin,\n percent,\n moreItems,\n id,\n textLogs,\n file,\n autocomplete,\n color,\n dynamicForm,\n date,\n radio,\n float,\n stringNumber,\n selectMultipleNative,\n month,\n competenceDate,\n stringWithCustomMasc\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { KoalaDynamicFormFieldInterface } from \"../../interfaces/koala.dynamic-form-field.interface\";\nimport { DynamicFormTypeFieldEnum } from \"../../enums/dynamic-form-type-field.enum\";\nimport { FloatLabelType, MatFormFieldAppearance } from \"@angular/material/form-field\";\nimport { AsyncValidatorFn, FormBuilder, ValidatorFn } from \"@angular/forms\";\nimport { KoalaDynamicFormConfigInterface } from \"../../interfaces/koala.dynamic-form-config.interface\";\nimport { koala } from \"@koalarx/utils\";\nimport { DeviceDetectorService } from \"ngx-device-detector\";\nimport { DynamicFormBuilder } from \"../dynamic-form.builder\";\n\nexport abstract class FieldBase {\n protected readonly fieldConfig: KoalaDynamicFormFieldInterface;\n\n protected constructor(\n label: string,\n name: string,\n type: DynamicFormTypeFieldEnum,\n private formConfig: KoalaDynamicFormConfigInterface,\n protected fb: FormBuilder,\n protected deviceService: DeviceDetectorService\n ) {\n this.fieldConfig = {\n label,\n name,\n type\n }\n this.appearance().grid();\n }\n\n public hide(hide: boolean = true) {\n this.fieldConfig.show = !hide;\n return this;\n }\n\n public focus() {\n this.fieldConfig.focus = true;\n return this;\n }\n\n public syncValidator(validators: ValidatorFn[]) {\n this.fieldConfig.syncValidators = validators;\n return this;\n }\n\n public asyncValidator(validators: AsyncValidatorFn | AsyncValidatorFn[]) {\n this.fieldConfig.asyncValidators = validators;\n return this;\n }\n\n public disabled(disabled: boolean = true) {\n this.fieldConfig.disabled = disabled;\n return this;\n }\n\n public required(required: boolean = true) {\n this.fieldConfig.required = required;\n return this;\n }\n\n public textHint(hint: string) {\n this.fieldConfig.textHint = hint;\n return this;\n }\n\n public min(min: number) {\n this.fieldConfig.min = min;\n return this;\n }\n\n public max(max: number) {\n this.fieldConfig.max = max;\n return this;\n }\n\n public minLength(min: number) {\n this.fieldConfig.minLength = min;\n return this;\n }\n\n public maxLength(max: number) {\n this.fieldConfig.maxLength = max;\n return this;\n }\n\n public multiple(multiple = true) {\n this.fieldConfig.multiple = multiple;\n }\n\n public valueChanges<T>(fn: (value: T) => void) {\n this.fieldConfig.valueChanges = fn;\n return this;\n }\n\n public setValue(value: any) {\n this.fieldConfig.value = value;\n return this;\n }\n\n public appearance(type: MatFormFieldAppearance = \"outline\", floatLabel: FloatLabelType = \"always\") {\n this.fieldConfig.appearance = type;\n this.fieldConfig.floatLabel = floatLabel;\n return this;\n }\n\n public grid(size: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 = 12, width: number = 100) {\n if (this.deviceService.isMobile()) {\n size = 12;\n }\n\n for (let colSize = 12; colSize >= 1; colSize--) {\n this.fieldConfig.class = this.fieldConfig.class?.replace('col-' + colSize, '');\n }\n this.addClass('col-' + size);\n this.addFieldClass('w-' + width);\n\n return this;\n }\n\n public setOptions(options: { value: any; name: string; }[]) {\n this.fieldConfig.opcoesSelect = options;\n return this;\n }\n\n public addClass(className: string) {\n if (\n this.deviceService.isMobile() &&\n className.indexOf('col-') >= 0 &&\n className.indexOf('col-12') === 0\n ) {\n className = className.replace('col-1', 'col-12')\n .replace('col-2', 'col-12')\n .replace('col-3', 'col-12')\n .replace('col-4', 'col-12')\n .replace('col-5', 'col-12')\n .replace('col-6', 'col-12')\n .replace('col-7', 'col-12')\n .replace('col-8', 'col-12')\n .replace('col-9', 'col-12')\n .replace('col-10', 'col-12')\n .replace('col-11', 'col-12');\n }\n\n this.fieldConfig.class = koala(`${this.fieldConfig?.class ?? ''} ${className}`)\n .string()\n .split(' ')\n .clearEmptyValues()\n .toString(' ')\n .getValue();\n return this;\n }\n\n public addFieldClass(className: string) {\n this.fieldConfig.fieldClass = koala(`${this.fieldConfig?.fieldClass ?? ''} ${className}`)\n .string()\n .split(' ')\n .clearEmptyValues()\n .toString(' ')\n .getValue();\n return this;\n }\n\n public setCustomMasc(mask: string, config?: {\n thousandSeparator?: string;\n suffix?: string;\n prefix?: string;\n }) {\n this.fieldConfig.customMasc = mask;\n this.fieldConfig.customMascThousandSeparator = config?.thousandSeparator;\n this.fieldConfig.customMascSuffix = config?.suffix;\n this.fieldConfig.customMascPrefix = config?.prefix;\n return this;\n }\n\n public generate() {\n let getLastConfig = (this.formConfig.formConfig.length > 0) ?\n this.formConfig.formConfig[this.formConfig.formConfig.length - 1] :\n null;\n\n if (getLastConfig?.type === DynamicFormTypeFieldEnum.moreItems && getLastConfig?.name !== 'endMoreItems') {\n this.formConfig.formConfig[this.formConfig.formConfig.length - 1].moreItemsConfig.formConfig.push(this.fieldConfig);\n } else {\n if (getLastConfig?.name === 'endMoreItems') {\n this.formConfig.formConfig.splice(this.formConfig.formConfig.length - 1, 1);\n }\n\n this.formConfig.formConfig.push(this.fieldConfig);\n }\n return new DynamicFormBuilder(\n this.fb,\n this.deviceService,\n this.formConfig.formConfig\n );\n }\n}\n","import { KoalaDynamicFormConfigInterface } from \"../../interfaces/koala.dynamic-form-config.interface\";\nimport { DynamicFormTypeFieldEnum } from \"../../enums/dynamic-form-type-field.enum\";\nimport { BehaviorSubject, Observable } from \"rxjs\";\nimport { KoalaDynamicAutocompleteOptionsInterface } from \"../../interfaces/koala.dynamic-autocomplete-options.interface\";\nimport { FormBuilder } from \"@angular/forms\";\nimport { KoalaDynamicFormAutocompleteMultipleConfigInterface } from \"../../interfaces/koala.dynamic-form-autocomplete-multiple-config.interface\";\nimport { FieldBase } from \"./field.base\";\nimport { DeviceDetectorService } from \"ngx-device-detector\";\n\nexport class AutocompleteBuilder extends FieldBase {\n private service$: Observable<KoalaDynamicAutocompleteOptionsInterface[]>;\n\n constructor(\n label: string,\n name: string,\n formConfig: KoalaDynamicFormConfigInterface,\n fb: FormBuilder,\n deviceService: DeviceDetectorService\n ) {\n super(label, name, DynamicFormTypeFieldEnum.autocomplete, formConfig, fb, deviceService);\n }\n\n public service(service: Observable<KoalaDynamicAutocompleteOptionsInterface[]>) {\n this.service$ = service;\n return this;\n }\n\n public defaultValueOnClean(value: any) {\n this.fieldConfig.autocompleteDefaultValueOnClear = value;\n return this;\n }\n\n public loadOptions(type: 'all' | 'onDemand', onDemandFilter?: (filter: string) => Observable<KoalaDynamicAutocompleteOptionsInterface[]>) {\n this.fieldConfig.autocompleteType = type;\n\n if (type === \"all\") {\n const options$ = new BehaviorSubject<KoalaDynamicAutocompleteOptionsInterface[]>([]);\n this.service$.subscribe(options => options$.next(options));\n this.fieldConfig.autocompleteOptions = options$;\n } else {\n this.fieldConfig.autocompleteFilter = onDemandFilter;\n }\n\n return this;\n }\n\n public colorChipConfig(fn: (subject: BehaviorSubject<KoalaDynamicFormAutocompleteMultipleConfigInterface>) => void) {\n this.fieldConfig.autocompleteMultipleConfig = new BehaviorSubject<KoalaDynamicFormAutocompleteMultipleConfigInterface>(null);\n fn(this.fieldConfig.autocompleteMultipleConfig);\n return this;\n }\n}\n","import { DynamicFormTypeFieldEnum } from \"../../enums/dynamic-form-type-field.enum\";\nimport { FieldBase } from \"./field.base\";\nimport { FormBuilder } from \"@angular/forms\";\nimport { KoalaDynamicFormConfigInterface } from \"../../interfaces/koala.dynamic-form-config.interface\";\nimport { DeviceDetectorService } from \"ngx-device-detector\";\n\nexport class FieldBuilder extends FieldBase {\n\n constructor(\n label: string,\n name: string,\n type: DynamicFormTypeFieldEnum,\n formConfig: KoalaDynamicFormConfigInterface,\n fb: FormBuilder,\n deviceService: DeviceDetectorService\n ) {\n super(label, name, type, formConfig, fb, deviceService);\n }\n}\n","import { DynamicFormTypeFieldEnum } from \"../../enums/dynamic-form-type-field.enum\";\nimport { FormBuilder } from \"@angular/forms\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { KoalaDynamicSetValueInterface } from \"../../interfaces/koala.dynamic-set-value.interface\";\nimport { KoalaDynamicFormFieldInterface } from \"../../interfaces/koala.dynamic-form-field.interface\";\nimport { KoalaDynamicFormConfigInterface } from \"../../interfaces/koala.dynamic-form-config.interface\";\nimport { DeviceDetectorService } from \"ngx-device-detector\";\nimport { DynamicFormBuilder } from \"../dynamic-form.builder\";\n\nexport class MoreItemsBuilder {\n private fieldConfig: KoalaDynamicFormFieldInterface;\n\n constructor(\n private label: string,\n private name: string,\n private btnAddLabel: string,\n private min: number,\n private max: number,\n private formConfig: KoalaDynamicFormConfigInterface,\n private fb: FormBuilder,\n private deviceService: DeviceDetectorService,\n ) {\n }\n\n public build() {\n let getLastConfig = (this.formConfig.formConfig.length > 0) ?\n this.formConfig.formConfig[this.formConfig.formConfig.length - 1] :\n null;\n\n this.fieldConfig = {\n label: this.label,\n name: this.name,\n type: DynamicFormTypeFieldEnum.moreItems,\n moreItemsIconBackgroundColor: '#fff',\n moreItemsIconFontColor: '#212121',\n moreItemsMinItems: this.min,\n moreItemsMaxItems: this.max,\n moreItemsButtonIconAddlabel: this.btnAddLabel,\n moreItemsConfig: {\n form: this.fb.group({}),\n formConfig: [],\n setValues: new BehaviorSubject<BehaviorSubject<KoalaDynamicSetValueInterface[]>[]>([])\n }\n };\n\n if (getLastConfig?.type === DynamicFormTypeFieldEnum.moreItems && getLastConfig?.name !== 'endMoreItems') {\n let formConfigMoreItems = getLastConfig.moreItemsConfig.formConfig as KoalaDynamicFormFieldInterface[];\n if (formConfigMoreItems.length > 0) {\n let lastIndexMoreItems = 0;\n formConfigMoreItems.forEach((item, index) => {\n if (item.type === DynamicFormTypeFieldEnum.moreItems) lastIndexMoreItems = index;\n });\n formConfigMoreItems[lastIndexMoreItems].moreItemsConfig.formConfig.push(this.fieldConfig);\n } else {\n this.formConfig.formConfig[this.formConfig.formConfig.length - 1].moreItemsConfig.formConfig.push(this.fieldConfig);\n }\n } else {\n if (getLastConfig?.name === 'endMoreItems') {\n this.formConfig.formConfig.splice(this.formConfig.formConfig.length - 1, 1);\n }\n this.formConfig.formConfig.push(this.fieldConfig);\n }\n\n return new DynamicFormBuilder(\n this.fb,\n this.deviceService,\n this.formConfig.formConfig\n );\n }\n}\n","import { FormBuilder } from \"@angular/forms\";\nimport { KoalaDynamicFormConfigInterface } from \"../interfaces/koala.dynamic-form-config.interface\";\nimport { KoalaDynamicFormFieldInterface } from \"../interfaces/koala.dynamic-form-field.interface\";\nimport { DynamicFormTypeFieldEnum } from \"../enums/dynamic-form-type-field.enum\";\nimport { AutocompleteBuilder } from \"./fields/autocomplete.builder\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { KoalaDynamicSetValueInterface } from \"../interfaces/koala.dynamic-set-value.interface\";\nimport { KoalaDynamicFormShowFieldInterface } from \"../interfaces/koala.dynamic-form-show-field.interface\";\nimport { koala } from \"@koalarx/utils\";\nimport { DeviceDetectorService } from \"ngx-device-detector\";\nimport { FieldBuilder } from \"./fields/field.builder\";\nimport { MoreItemsBuilder } from \"./fields/more-items.builder\";\n\nexport type DynamicFormFieldType = 'text' | 'password' | 'cpf' | 'cnpj' | 'datetime' | 'email' | 'phone' | 'number' | 'stringNumber' | 'valueList' | 'textarea' | 'time' | 'hoursAndMinutes' | 'checkbox' | 'select' | 'selectMultipleNative' | 'coin' | 'percent' | 'id' | 'textLogs' | 'color' | 'date' | 'radio' | 'float' | 'month' | 'competenceDate' | 'stringWithCustomMasc';\n\nexport class DynamicFormBuilder {\n private readonly config: KoalaDynamicFormConfigInterface;\n\n constructor(\n private fb: FormBuilder,\n private deviceService: DeviceDetectorService,\n configInMemory?: KoalaDynamicFormFieldInterface[]) {\n this.config = {\n form: fb.group({}),\n formConfig: configInMemory ?? [],\n setValues: new BehaviorSubject<KoalaDynamicSetValueInterface[]>(null),\n showFields: new BehaviorSubject<KoalaDynamicFormShowFieldInterface[]>(null)\n }\n }\n\n public field(label: string, name: string, type: DynamicFormFieldType) {\n switch (type) {\n case \"id\":\n case \"text\":\n case \"textarea\":\n case \"number\":\n case \"stringNumber\":\n case \"cnpj\":\n case \"cpf\":\n case \"coin\":\n case \"color\":\n case \"date\":\n case \"datetime\":\n case \"email\":\n case \"float\":\n case \"password\":\n case \"percent\":\n case \"phone\":\n case \"time\":\n case \"hoursAndMinutes\":\n case \"textLogs\":\n case \"valueList\":\n case \"checkbox\":\n case \"radio\":\n case \"select\":\n case \"selectMultipleNative\":\n case \"month\":\n case \"competenceDate\":\n case \"stringWithCustomMasc\":\n return new FieldBuilder(label, name, DynamicFormTypeFieldEnum[type], this.config, this.fb, this.deviceService);\n }\n }\n\n public autocomplete(label: string, name: string) {\n return new AutocompleteBuilder(label, name, this.config, this.fb, this.deviceService);\n }\n\n public simpleMoreItems(label: string, name: string, btnAddLabel: string, min: number, max: number) {\n return new MoreItemsBuilder(\n label,\n name,\n btnAddLabel,\n min,\n max,\n this.config,\n this.fb,\n this.deviceService\n );\n }\n\n public autofill(object: any) {\n if (object) {\n const setValues: KoalaDynamicSetValueInterface[] = [];\n Object.keys(object).forEach(indexName => {\n\n const arrField = koala(this.config.formConfig).array<KoalaDynamicFormFieldInterface>().filter(indexName, 'name').getValue();\n if (arrField.length === 1) {\n\n const field = arrField[0] ?? null;\n\n if (\n typeof object[indexName] !== \"object\" ||\n field.type === DynamicFormTypeFieldEnum.autocomplete ||\n field.type === DynamicFormTypeFieldEnum.selectMultipleNative\n ) {\n if (field.type === DynamicFormTypeFieldEnum.textLogs) {\n field.textObs = object[indexName];\n } else {\n setValues.push({\n name: indexName,\n value: object[indexName]\n });\n }\n } else {\n if (field.type === DynamicFormTypeFieldEnum.moreItems) {\n const setValuesMoreItems = [];\n const objectMoreItems = object[indexName] as any[];\n objectMoreItems.forEach(objectItem => {\n const moreItemValues: KoalaDynamicSetValueInterface[] = [];\n Object.keys(objectItem).forEach(objectIndexName => {\n moreItemValues.push({\n name: objectIndexName,\n value: objectItem[objectIndexName]\n });\n });\n setValuesMoreItems.push(new BehaviorSubject<KoalaDynamicSetValueInterface[]>(moreItemValues));\n });\n\n field.moreItemsConfig?.setValues?.next(setValuesMoreItems);\n } else if (field.type === DynamicFormTypeFieldEnum.dynamicForm) {\n const dynamicFormObject = object[indexName];\n const dynamicFormSetValues: KoalaDynamicSetValueInterface[] = [];\n\n Object.keys(dynamicFormObject).forEach(dynamicFormIndexName => {\n const arrDynamicField = koala(field.dynamicFormConfig.formConfig).array<KoalaDynamicFormFieldInterface>().filter(indexName, 'name').getValue();\n const dynamicField = arrDynamicField[0] ?? null;\n\n if (dynamicField?.type === DynamicFormTypeFieldEnum.textLogs) {\n dynamicField.textObs = object[indexName];\n } else {\n dynamicFormSetValues.push({\n name: dynamicFormIndexName,\n value: dynamicFormObject[dynamicFormIndexName]\n });\n }\n });\n\n field.dynamicFormConfig?.setValues?.next(dynamicFormSetValues);\n } else {\n this.autofill(object[indexName]);\n }\n }\n }\n });\n\n this.config?.setValues?.next(setValues);\n }\n\n return this;\n }\n\n public literalConfig(config: KoalaDynamicFormFieldInterface) {\n this.config.formConfig.push(config);\n if (config.type === DynamicFormTypeFieldEnum.moreItems) this.generateMoreItems();\n return this;\n }\n\n public generate() {\n this.config.formConfig = this.config.formConfig.filter(config => config.name !== 'endMoreItems');\n return this.config;\n }\n\n public generateMoreItems() {\n this.config.formConfig.push({\n name: 'endMoreItems',\n type: DynamicFormTypeFieldEnum.moreItems\n });\n return new DynamicFormBuilder(\n this.fb,\n this.deviceService,\n this.config.formConfig\n );\n }\n}\n","import { AbstractControl, ValidationErrors } from \"@angular/forms\";\nimport { KoalaCustomValidatorFnInterface } from \"../interfaces/koala-custom-validator-fn.interface\";\n\nexport function DateMinValidator(min: string): KoalaCustomValidatorFnInterface {\n return (control: AbstractControl): ValidationErrors | null => {\n if (control.value && typeof min === 'string') {\n if (new Date(control.value) < new Date(min)) {\n return {dateMin: true};\n }\n }\n return null;\n }\n}\n","import { AbstractControl, ValidationErrors } from \"@angular/forms\";\nimport { KoalaCustomValidatorFnInterface } from \"../interfaces/koala-custom-validator-fn.interface\";\n\nexport function DateMaxValidator(max: string): KoalaCustomValidatorFnInterface {\n return (control: AbstractControl): ValidationErrors | null => {\n if (control.value && typeof max === 'string') {\n if (new Date(control.value) > new Date(max)) {\n return {dateMax: true};\n }\n }\n return null;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { DynamicFormTypeFieldEnum } from './enums/dynamic-form-type-field.enum';\nimport { FormArray, FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { KoalaDynamicSetValueInterface } from './interfaces/koala.dynamic-set-value.interface';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { KoalaDynamicAutocompleteOptionsInterface } from './interfaces/koala.dynamic-autocomplete-options.interface';\nimport { KoalaDynamicFormShowFieldInterface } from './interfaces/koala.dynamic-form-show-field.interface';\nimport { KoalaDynamicFormConfigInterface } from './interfaces/koala.dynamic-form-config.interface';\nimport { DynamicFormBuilder } from \"./builder/dynamic-form.builder\";\nimport { koala } from \"@koalarx/utils\";\nimport { DateMinValidator } from \"./validators/date-min.validator\";\nimport { DateMaxValidator } from \"./validators/date-max.validator\";\nimport { DeviceDetectorService } from \"ngx-device-detector\";\nimport { unmaskCoin } from \"@koalarx/utils/operators/string\";\n\nexport type KoalaDynamicFormValidatorType = 'required' | 'min' | 'max';\n\n@Injectable({providedIn: \"any\"})\nexport class KoalaDynamicFormService {\n\n constructor(\n protected fb: FormBuilder,\n protected deviceService: DeviceDetectorService) {\n }\n\n public build() {\n return new DynamicFormBuilder(this.fb, this.deviceService);\n }\n\n public updateValidator(formGroup: FormGroup, name: string, type: KoalaDynamicFormValidatorType, value: boolean | number | string) {\n if (type === 'required' && typeof value !== 'boolean') {\n throw new Error(`Type required cannot be a ${typeof value}`);\n } else if ((type === 'min' || type === 'max') && typeof value === \"boolean\") {\n throw new Error(`Type ${type} cannot be a boolean`);\n }\n\n const formArray = formGroup.get('formData') as FormArray;\n const control = formArray.controls.find(control => control.get('name').value === name);\n\n if (control) {\n const currentRequired = control.get('required').value;\n const currentMin = control.get('min').value;\n const currentMax = control.get('max').value;\n const validators = [];\n\n control.get('value').clearValidators();\n control.get('value').setErrors(null);\n\n if ((type === \"required\" && value) || currentRequired) {\n validators.push(Validators.required);\n control.get('value').setErrors({required: true});\n }\n if ((type === \"min\" || currentMin)) {\n if (typeof value === \"number\") {\n validators.push(Validators.min((type === \"min\" ? value : currentMin)));\n control.get('value').setErrors({min: true});\n }\n else if (typeof value === \"string\") {\n validators.push(DateMinValidator((type === \"min\" ? value : currentMin)));\n control.get('value').setErrors({dateMin: true});\n }\n }\n if ((type === \"max\" || currentMax)) {\n if (typeof value === \"number\") {\n validators.push(Validators.max((type === \"max\" ? value : currentMax)));\n control.get('value').setErrors({max: true});\n }\n else if (typeof value === \"string\") {\n validators.push(DateMaxValidator((type === \"max\" ? value : currentMax)));\n control.get('value').setErrors({dateMax: true});\n }\n }\n\n if (type === \"required\") {\n control.get('required').setValue(value);\n } else if (type === \"min\") {\n control.get('min').setValue(value);\n } else if (type === \"max\") {\n control.get('max').setValue(value);\n }\n control.get('value').setValidators(validators);\n control.get('value').updateValueAndValidity();\n }\n }\n\n public emitData(form: FormGroup) {\n const data = {};\n const formArray = form.get('formData') as FormArray;\n formArray?.controls.forEach(control => {\n if (control.get('show').value.getValue() !== false) {\n let value: any = control.get('value').value;\n if (control.get('type').value === DynamicFormTypeFieldEnum.valueList) {\n if (value === null || value === undefined) {\n value = '';\n }\n value = koala(value).string().split().getValue();\n } else if (control.get('type').value === DynamicFormTypeFieldEnum.moreItems) {\n const moreItems = control.get('moreItemsConfig').value as { form: FormGroup }[];\n value = [];\n moreItems.forEach(item => {\n value.push(this.emitData(item.form));\n });\n } else if (control.get('type').value === DynamicFormTypeFieldEnum.autocomplete) {\n if (control.get('multiple').value) {\n const options = control.get('autocompleteSelectedValue').value as KoalaDynamicAutocompleteOptionsInterface[];\n value = options?.map(item => item?.value);\n } else {\n value = (control.get('autocompleteSelectedValue').value?.value ?\n control.get('autocompleteSelectedValue').value.value :\n control.get('autocompleteSelectedValue').value\n );\n }\n } else if (control.get('type').value === DynamicFormTypeFieldEnum.dynamicForm) {\n const dynamicFormConfig = control.get('dynamicFormConfig').value as BehaviorSubject<KoalaDynamicFormConfigInterface>;\n value = this.emitData(dynamicFormConfig.getValue().form);\n } else if (control.get('type').value === DynamicFormTypeFieldEnum.number) {\n value = parseInt(value);\n } else if ((\n control.get('type').value === DynamicFormTypeFieldEnum.float ||\n control.get('type').value === DynamicFormTypeFieldEnum.percent\n ) && typeof value === \"string\") {\n value = parseFloat(value.replace(/,/g, '.'));\n } else if (\n control.get('type').value === DynamicFormTypeFieldEnum.coin &&\n typeof value === \"string\"\n ) {\n value = unmaskCoin(value);\n }\n data[control.get('name').value] = value;\n }\n });\n\n return data;\n }\n\n public resetForm(form: FormGroup) {\n const formArray = form.get('formData') as FormArray;\n formArray.controls.forEach(control => {\n if (control.get('type').value === DynamicFormTypeFieldEnum.moreItems) {\n control.get('moreItemsConfig').setValue([]);\n } else {\n control.get('value').reset();\n }\n });\n }\n\n public setValuesInMoreItemsForm(\n subject: BehaviorSubject<BehaviorSubject<KoalaDynamicSetValueInterface[]>[]>,\n values: KoalaDynamicSetValueInterface[][]\n ) {\n const valuesMoreItems = [];\n values.forEach(itemValue => {\n valuesMoreItems.push(new BehaviorSubject<KoalaDynamicSetValueInterface[]>(itemValue));\n });\n subject.next(valuesMoreItems);\n }\n\n public autocompleteFilterOnServer(\n request: () => Promise<any[]>,\n nameConfig: {\n propsByName: string[];\n delimiter: string;\n },\n indexNameByValue?: string\n ) {\n return new Observable<KoalaDynamicAutocompleteOptionsInterface[]>(observe => {\n request().then(response => {\n const options: KoalaDynamicAutocompleteOptionsInterface[] = [];\n response.forEach(item => {\n let value = '';\n if (indexNameByValue?.indexOf(' > ') >= 0) {\n value = this.getValueByStringPath(indexNameByValue, item);\n } else if (indexNameByValue) {\n value = item[indexNameByValue];\n } else {\n value = item;\n }\n options.push({\n name: koala(item).object().toString(\n nameConfig.propsByName,\n (nameConfig.delimiter ?? ' ')\n ).getValue(),\n value\n });\n });\n observe.next(options);\n });\n });\n }\n\n public showFields(\n subject: BehaviorSubject<KoalaDynamicFormShowFieldInterface[]>,\n names: string[],\n show: boolean,\n clearCurrentValue = false\n ) {\n const fields: KoalaDynamicFormShowFieldInterface[] = [];\n names.forEach(name => {\n fields.push({\n name,\n show,\n clearCurrentValue\n });\n });\n subject.next(fields);\n }\n\n private getValueByStringPath(indexNameByValue: string, item: any) {\n let value;\n const partsIndex = indexNameByValue.split(' > ');\n let partIndex = 0;\n do {\n if (!value) {\n value = item[partsIndex[partIndex]];\n } else {\n value = value[partsIndex[partIndex]];\n }\n partIndex++;\n } while (partIndex < partsIndex.length);\n\n return value;\n }\n}\n","export class ValidationHelper {\n public static validateCpf(value: string) {\n function calcChecker1(digits: any) {\n let sum: number | null = null;\n\n for (let j = 0; j < 9; ++j) {\n sum += digits.toString().charAt(j) * (10 - j);\n }\n\n const lastSumChecker1 = sum % 11;\n\n return lastSumChecker1 < 2 ? 0 : 11 - lastSumChecker1;\n }\n\n function calcChecker2(cpfWithChecker1: any) {\n let sum: number | null = null;\n\n for (let k = 0; k < 10; ++k) {\n sum += cpfWithChecker1.toString().charAt(k) * (11 - k);\n }\n\n const lastSumChecker2 = sum % 11;\n\n return lastSumChecker2 < 2 ? 0 : 11 - lastSumChecker2;\n }\n\n const cleanCPF = value.replace(/\\.|\\-|\\s/g, '');\n const firstNineDigits = cleanCPF.substring(0, 9);\n const checker = cleanCPF.substring(9, 11);\n\n if (cleanCPF.length !== 11) {\n return false;\n }\n\n // Checking if all digits are equal\n for (let i = 0; i < 10; i++) {\n if ('' + firstNineDigits + checker === Array(12).join(`${i}`)) {\n return false;\n }\n }\n\n const checker1 = calcChecker1(firstNineDigits);\n const checker2 = calcChecker2(firstNineDigits + '' + checker1);\n\n return checker.toString() === checker1.toString() + checker2.toString();\n }\n\n public static validateCnpj(value: string) {\n value = value.replace(/[^\\d]+/g, '');\n\n if (value === '') {\n return false;\n }\n\n if (value.length !== 14) {\n return false;\n }\n\n // Elimina CNPJs invalidos conhecidos\n if (value === '00000000000000' ||\n value === '11111111111111' ||\n value === '22222222222222' ||\n value === '33333333333333' ||\n value === '44444444444444' ||\n value === '55555555555555' ||\n value === '66666666666666' ||\n value === '77777777777777' ||\n value === '88888888888888' ||\n value === '99999999999999') {\n return false;\n }\n\n // Valida DVs\n let tamanho = value.length - 2;\n let numeros = value.substring(0, tamanho);\n const digitos = value.substring(tamanho);\n let soma = 0;\n let pos = tamanho - 7;\n for (let i = tamanho; i >= 1; i--) {\n soma += parseInt(numeros.charAt(tamanho - i), 10) * pos--;\n if (pos < 2) {\n pos = 9;\n }\n }\n let resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;\n if (resultado !== parseInt(digitos.charAt(0), 10)) {\n return false;\n }\n\n tamanho = tamanho + 1;\n numeros = value.substring(0, tamanho);\n soma = 0;\n pos = tamanho - 7;\n for (let i = tamanho; i >= 1; i--) {\n soma += parseInt(numeros.charAt(tamanho - i), 10) * pos--;\n if (pos < 2) {\n pos = 9;\n }\n }\n resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;\n\n return !(resultado !== parseInt(digitos.charAt(1), 10));\n }\n}\n","import { AbstractControl } from '@angular/forms';\nimport { ValidationHelper } from './validation.helper';\n\nexport function CpfValidator(control: AbstractControl) {\n if (control.value) {\n if (control.value.length <= 14 && !ValidationHelper.validateCpf(control.value)) {\n return {cpfInvalid: true};\n }\n }\n return null;\n}\n","import { AbstractControl } from '@angular/forms';\nimport { ValidationHelper } from './validation.helper';\n\nexport function CnpjValidator(control: AbstractControl) {\n if (control.value) {\n if (control.value.length > 14 && !ValidationHelper.validateCnpj(control.value)) {\n return {cnpjInvalid: true};\n }\n }\n return null;\n}\n","import { AbstractControl } from '@angular/forms';\n\nexport function AutocompleteSelectedValidator(control: AbstractControl) {\n if (\n control.value &&\n control.value.hasOwnProperty('value') &&\n control.value.hasOwnProperty('name') &&\n Object.keys(control.value).length === 2\n ) {\n return null;\n }\n \n return {autocompleteSelected: true};\n}\n","export class KoalaDynamicFormValidatorResultHelper {\n\n public static generate(errorMessage: string) {\n return {\n customError: {\n message: errorMessage\n }\n }\n }\n}\n","import { ErrorStateMatcher } from '@angular/material/core';\nimport { FormControl, FormGroupDirective, NgForm } from '@angular/forms';\n\nexport class ShowInvalidFields implements ErrorStateMatcher {\n\n constructor() {\n }\n\n isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\n const isSubmitted = form && form.submitted;\n return !!(control && control.invalid && (control.errors || control.dirty || control.touched || isSubmitted));\n }\n}\n","import { ShowInvalidFields } from './show-invalid-fields/show-invalid-fields';\nimport { FormGroup } from '@angular/forms';\nimport { BehaviorSubject } from 'rxjs';\n\nexport abstract class FormAbstract {\n public showInvalidFields: ShowInvalidFields;\n public btnLabel: string;\n public loader = new BehaviorSubject<boolean>(false);\n public btnSubmitDisabled = false;\n public getData = new BehaviorSubject<boolean>(false);\n\n protected constructor(private formAbstract: () => FormGroup) {\n }\n\n public selecionarAutocomplete(controlName: string, obj: any, indexName?: string) {\n if (obj) {\n let value = indexName ? obj[indexName] : obj;\n if (Array.isArray(obj)) {\n value = [];\n obj.forEach(item => {\n value.push(indexName ? item[indexName] : item);\n });\n }\n\n this.formAbstract().get(controlName).setValue(value);\n } else {\n this.formAbstract().get(controlName).setValue('');\n }\n }\n\n public btnClickGetData() {\n this.getData.next(true);\n }\n\n protected enableShowInvalidFields() {\n this.showInvalidFields = new ShowInvalidFields();\n }\n\n protected loading(show: boolean = true, btnLabel?: string) {\n this.btnSubmitDisabled = show;\n this.loader.next(show);\n\n if (show) {\n this.btnLabel = btnLabel ? btnLabel : 'Enviando Dados...';\n } else {\n this.btnLabel = btnLabel ? btnLabel : 'Enviar';\n }\n }\n}\n","import { FormArray, FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { KoalaDynamicFormFieldInterface } from './interfaces/koala.dynamic-form-field.interface';\nimport { DynamicFormTypeFieldEnum } from './enums/dynamic-form-type-field.enum';\nimport { CpfValidator } from './validators/cpf.validator';\nimport { CnpjValidator } from './validators/cnpj.validator';\nimport { ChangeDetectionStrategy, Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\nimport { FormAbstract } from '../form.abstract';\nimport { debounceTime } from 'rxjs/operators';\nimport { BehaviorSubject } from 'rxjs';\nimport { KoalaDynamicSetValueInterface } from './interfaces/koala.dynamic-set-value.interface';\nimport { AutocompleteSelectedValidator } from './validators/autocomplete-selected.validator';\nimport { KoalaDynamicAutocompleteOptionsInterface } from './interfaces/koala.dynamic-autocomplete-options.interface';\nimport { KoalaDynamicFormShowFieldInterface } from './interfaces/koala.dynamic-form-show-field.interface';\nimport { KoalaDynamicFormService } from './koala.dynamic-form.service';\nimport { KoalaDynamicFormMoreItensShowFieldConfigInterface } from './interfaces/koala.dynamic-form-more-itens-show-field-config.interface';\nimport { ThemePalette } from '@angular/material/core';\nimport { KoalaDynamicFormAutocompleteMultipleConfigInterface } from './interfaces/koala.dynamic-form-autocomplete-multiple-config.interface';\nimport { KoalaDynamicFormConfigInterface } from './interfaces/koala.dynamic-form-config.interface';\nimport { delay } from \"@koalarx/utils/operators/delay\";\nimport { koala } from \"@koalarx/utils\";\nimport { DateMinValidator } from \"./validators/date-min.validator\";\nimport { DateMaxValidator } from \"./validators/date-max.validator\";\nimport { KoalaLanguageHelper } from \"@koalarx/ui/core\";\n\n@Component({\n selector: 'koala-dynamic-form',\n templateUrl: 'dynamic-form.component.html',\n styleUrls: ['dynamic-form.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DynamicFormComponent extends FormAbstract implements OnInit {\n @Input() form: FormGroup;\n @Input() formConfig: KoalaDynamicFormFieldInterface[];\n @Input() showFields: BehaviorSubject<KoalaDynamicFormShowFieldInterface[]>;\n @Input() showFieldsMoreItensConfig: KoalaDynamicFormMoreItensShowFieldConfigInterface[];\n @Input() setValues: BehaviorSubject<KoalaDynamicSetValueInterface[]>;\n @Input() tabIndexStart: number = 1;\n public controls: FormArray;\n public typeField = DynamicFormTypeFieldEnum;\n public hoursAndMinutesMask = '00:000';\n public errorMessage = KoalaLanguageHelper;\n\n @ViewChild('autocompleteInput') autocompleteInput: ElementRef<HTMLInputElement>;\n\n constructor(\n private fb: FormBuilder,\n private dynamicFormService: KoalaDynamicFormService\n ) {\n super(() => this.form);\n }\n\n ngOnInit() {\n if (!this.form.get('formData')) {\n this.form.addControl('formData', this.fb.array([]));\n }\n this.controls = this.form.get('formData') as FormArray;\n this.formConfig?.forEach((config, indexConfig) => {\n const newFormGroup = this.newControl(config);\n if (config.asyncValidators) {\n newFormGroup.get('value').setAsyncValidators(config.asyncValidators);\n }\n newFormGroup.get('value').updateValueAndValidity();\n if (config.type === DynamicFormTypeFieldEnum.dynamicForm) {\n const formGroupDynamicFormsSubject = newFormGroup.get('dynamicFormConfig').value as BehaviorSubject<KoalaDynamicFormConfigInterface>;\n formGroupDynamicFormsSubject.subscribe(formGroupConfig => {\n if (formGroupConfig) {\n formGroupConfig.form.valueChanges.subscribe(() => {\n if (formGroupConfig.form.valid && (config.valueChanges || this.showFieldsMoreItensConfig)) {\n const value = this.dynamicFormService.emitData(formGroupConfig.form);\n newFormGroup.get('value').setValue(value);\n }\n });\n }\n });\n }\n if (\n config.valueChanges ||\n config.type === DynamicFormTypeFieldEnum.autocomplete ||\n config.type === DynamicFormTypeFieldEnum.dynamicForm ||\n this.showFieldsMoreItensConfig\n ) {\n if (config.type === DynamicFormTypeFieldEnum.autocomplete) {\n const autocompleteOptionsSubject = newFormGroup.get('autocompleteOptions').value as BehaviorSubject<KoalaDynamicAutocompleteOptionsInterface[]>;\n if (autocompleteOptionsSubject) {\n autocompleteOptionsSubject.subscribe(options => newFormGroup.get('autocompleteOptionsFiltered').value.next(options));\n }\n }\n newFormGroup.get('value')\n .valueChanges\n .pipe(debounceTime(300))\n .subscribe(async value => {\n await this.setConfigDynamicForm(newFormGroup);\n if (config.type === DynamicFormTypeFieldEnum.autocomplete) {\n if (\n value && (\n value.hasOwnProperty('value') &&\n value.hasOwnProperty('name') &&\n Object.keys(value).length === 2\n ) || (\n Array.isArray(value) &&\n newFormGroup.get('multiple').value\n )) {\n if (newFormGroup.get('multiple').value) {\n if (Array.isArray(value)) {\n newFormGroup.get('autocompleteSelectedValue').setValue(value);\n } else {\n newFormGroup.get('autocompleteSelectedValue').value.push(value);\n }\n if (this.autocompleteInput?.nativeElement) {\n this.autocompleteInput.nativeElement.value = '';\n }\n } else {\n newFormGroup.get('autocompleteSelectedValue').setValue(value);\n }\n } else if (!newFormGroup.get('multiple').value) {\n newFormGroup.get('autocompleteSelectedValue').setValue(koala(this.formConfig)\n .array<KoalaDynamicFormFieldInterface>()\n .filter(newFormGroup.get('name').value, 'name')\n .getValue()[0]?.autocompleteDefaultValueOnClear ?? null);\n }\n\n if (config.type === DynamicFormTypeFieldEnum.autocomplete) {\n if (config.autocompleteType === 'all') {\n const autocompleteOptionsSubject = newFormGroup.get('autocompleteOptions').value as BehaviorSubject<KoalaDynamicAutocompleteOptionsInterface[]>;\n newFormGroup.get('autocompleteOptionsFiltered').value.next(this.autocompleteFilter(\n autocompleteOptionsSubject.value,\n value\n ));\n } else if (config.autocompleteType === 'onDemand' && typeof value !== \"object\") {\n const loader = newFormGroup.get('autocompleteLoading').value as BehaviorSubject<boolean>;\n loader.next(true);\n config.autocompleteFilter(value).subscribe(options => {\n newFormGroup.get('autocompleteOptionsFiltered').value.next(options);\n loader.next(false);\n });\n }\n }\n }\n if (config.valueChanges) {\n if (config.type === DynamicFormTypeFieldEnum.autocomplete) {\n config.valueChanges((newFormGroup.get('multiple').value ?\n newFormGroup.get('autocompleteSelectedValue').value.map(item => item.value) :\n newFormGroup.get('autocompleteSelectedValue').value?.value\n ));\n } else {\n config.valueChanges(value);\n }\n }\n });\n }\n this.controls.push(newFormGroup);\n if (config.moreItemsConfig) {\n if (config.moreItemsMinItems > 0) {\n for (let min = 0; min < config.moreItemsMinItems; min++) {\n if (min <= config.moreItemsMaxItems) {\n this.addMoreItem(indexConfig);\n }\n }\n }\n if (config.moreItemsConfig.setValues) {\n config.moreItemsConfig\n .setValues\n .subscribe(async values => {\n if (values.length > 0) {\n values.forEach((itemValue, indexValue) => {\n if (!this.controls.controls[indexConfig].get('moreItemsConfig').value[indexValue]) {\n this.addMoreItem(indexConfig);\n }\n setTimeout(() => {\n this.setValuesOnFields(\n itemValue,\n this.controls.controls[indexConfig].get('moreItemsConfig').value[indexValue].form\n );\n }, 300);\n });\n }\n });\n }\n }\n });\n if (this.showFields) {\n this.changeVisibilityFields(this.showFields, this.form);\n }\n if (this.setValues) {\n this.setValuesOnFields(this.setValues, this.form);\n }\n }\n\n public hoursAndMinutesApplyMask(index: number, event: KeyboardEvent) {\n const control = this.controls?.controls[index];\n const type = control?.get('type').value as DynamicFormTypeFieldEnum;\n if (type === DynamicFormTypeFieldEnum.hoursAndMinutes) {\n const value = control?.get('value').value;\n if (event.key == 'Backspace' && value.length < 6) {\n this.hoursAndMinutesMask = '00:000';\n } else if (event.key != 'Backspace' && value.length >= 6) {\n this.hoursAndMinutesMask = '000:00';\n }\n }\n }\n\n public passwordView(index: number) {\n const control = this.controls?.controls[index];\n const hidePassword = !control?.get('hidePassword').value;\n control?.get('hidePassword').setValue(hidePassword);\n control?.get('type').setValue(hidePassword ?\n DynamicFormTypeFieldEnum.password :\n DynamicFormTypeFieldEnum.text\n );\n }\n\n public addMoreItem(propIndex: number) {\n if (this.controls.controls[propIndex].get('moreItemsConfig').value.length < this.controls.controls[propIndex].get('moreItemsMaxItems').value) {\n const formGroup = this.fb.group({});\n this.controls.controls[propIndex].get('moreItemsConfig').value.push({\n form: formGroup,\n formConfig: this.formConfig[propIndex].moreItemsConfig.formConfig,\n showFields: new BehaviorSubject<BehaviorSubject<KoalaDynamicSetValueInterface[]>[]>([]),\n showFieldsMoreItensConfig: this.formConfig[propIndex].moreItemsConfig.showFieldsConfig\n });\n this.controls.controls[propIndex].get('moreItemsExpanded').setValue(\n this.controls.controls[propIndex].get('moreItemsConfig').value.length - 1\n );\n const formArrayMoreItems = this.controls.controls[propIndex].get('moreItemsFormGroup') as FormArray;\n formArrayMoreItems.push(formGroup);\n }\n }\n\n public removeMoreItem(propIndex: number, removeIndex) {\n const expandedItemIndex = removeIndex - 1;\n this.controls.controls[propIndex].get('moreItemsConfig').value.splice(removeIndex, 1);\n setTimeout(() => {\n this.controls.controls[propIndex].get('moreItemsExpanded').setValue((expandedItemIndex < 0) ? 0 : expandedItemIndex);\n }, 50);\n }\n\n public clearAutocomplete(propIndex: number) {\n if (this.controls.controls[propIndex].get('multiple').value) {\n this.controls.controls[propIndex].get('autocompleteSelectedValue').setValue([]);\n this.controls.controls[propIndex].get('value').setValue(null);\n } else {\n this.controls.controls[propIndex].get('autocompleteSelectedValue').setValue(this.formConfig[propIndex].autocompleteDefaultValueOnClear ?? null);\n this.controls.controls[propIndex].get('value').setValue(this.formConfig[propIndex].autocompleteDefaultValueOnClear ?? null);\n }\n }\n\n public display(option?: KoalaDynamicAutocompleteOptionsInterface): string | undefined {\n return option ? option.name : undefined;\n }\n\n public removeOptionOnAutocomplete(propIndex: number, option: KoalaDynamicAutocompleteOptionsInterface) {\n const value = this.controls.controls[propIndex].get('autocompleteSelectedValue').value.filter(item => item !== option) as KoalaDynamicAutocompleteOptionsInterface[];\n this.controls.controls[propIndex].get('autocompleteSelectedValue').setValue(value);\n if (value.length === 0) {\n this.controls.controls[propIndex].get('autocompleteSelectedValue').setValue([]);\n this.controls.controls[propIndex].get('value').setValue(null);\n } else if (this.formConfig[propIndex].valueChanges) {\n this.formConfig[propIndex].valueChanges(value.map(item => item.value));\n }\n }\n\n public getColorChip(config: KoalaDynamicFormAutocompleteMultipleConfigInterface): ThemePalette {\n return config.color;\n }\n\n private newControl(config: KoalaDynamicFormFieldInterface): FormGroup {\n let validators = config.syncValidators ?? [];\n let value: any = config.value ?? '';\n let valueSelectedAutocomplete: KoalaDynamicAutocompleteOptionsInterface | KoalaDynamicAutocompleteOptionsInterface[] = (\n config.multiple ? [] : (config.autocompleteDefaultValueOnClear ?? null)\n );\n\n if (config.required === true) validators.push(Validators.required);\n if (config.min && typeof config.min === \"number\") validators.push(Validators.min(config.min));\n if (config.max && typeof config.max === \"number\") validators.push(Validators.max(config.max));\n if (\n config.type === DynamicFormTypeFieldEnum.date ||\n config.type === DynamicFormTypeFieldEnum.datetime ||\n config.type === DynamicFormTypeFieldEnum.time\n ) {\n if (config.min && typeof config.min === \"string\") { validators.push(DateMinValidator(config.min)); }\n if (config.max && typeof config.max === \"string\") { validators.push(DateMaxValidator(config.max)); }\n }\n if (config.minLength) validators.push(Validators.minLength(config.minLength));\n if (config.maxLength) validators.push(Validators.maxLength(config.maxLength));\n\n if (config.type === DynamicFormTypeFieldEnum.cpf) {\n validators.push(CpfValidator);\n } else if (config.type === DynamicFormTypeFieldEnum.cnpj) {\n validators.push(CnpjValidator);\n } else if (config.type === DynamicFormTypeFieldEnum.email) {\n validators.push(Validators.email);\n } else if (config.type === DynamicFormTypeFieldEnum.autocomplete) {\n if (value) {\n valueSelectedAutocomplete = value;\n value = (config.multiple ? valueSelectedAutocomplete[0] : value);\n }\n if (config.required === true) {\n validators.push(AutocompleteSelectedValidator);\n }\n } else if (config.type === DynamicFormTypeFieldEnum.checkbox) {\n value = config.value ?? false;\n }\n\n if (\n config.type === DynamicFormTypeFieldEnum.hoursAndMinutes &&\n value.length >= 6\n ) {\n this.hoursAndMinutesMask = '000:00';\n }\n\n if (config.dynamicFormConfig) {\n const cloneDynamicFormConfig = {} as KoalaDynamicFormConfigInterface;\n Object.assign(cloneDynamicFormConfig, config.dynamicFormConfig);\n cloneDynamicFormConfig.form = config.dynamicFormConfig.form;\n config.dynamicFormConfig = cloneDynamicFormConfig;\n }\n\n if (config.show === false) {\n validators = [];\n }\n\n const field = this.fb.group({\n show: [new BehaviorSubject<boolean>(config.show ?? true)],\n label: [config.label],\n name: [config.name],\n type: [config.type],\n fileButtonConfig: [{\n icon: config?.fileButtonConfig?.icon ?? 'attach_file',\n text: config?.fileButtonConfig?.text ?? 'Clique para anexar arquivos',\n backgroundColor: config?.fileButtonConfig?.backgroundColor ?? 'white',\n color: config?.fileButtonConfig?.color ?? 'blue',\n accept: config?.fileButtonConfig?.accept ?? '*'\n }],\n dynamicFormConfig: [new BehaviorSubject<KoalaDynamicFormConfigInterface>(config.dynamicFormConfig)],\n dynamicFormGroup: this.fb.array([]),\n appearance: [config.appearance],\n floatLabel: [config.floatLabel],\n placeholder: [config.placeholder],\n class: [config.class],\n fieldClass: [config.fieldClass],\n textHint: [config.textHint],\n required: [config.required ?? false],\n min: [config.min ?? 0],\n max: [config.max ?? 99999999999],\n minLength: [config.minLength ?? 0],\n maxLength: [config.maxLength ?? 255],\n disabled: [config.disabled ?? false],\n focus: [config.focus ?? false],\n multiple: [config.multiple ?? false],\n opcoesSelect: [config.opcoesSelect ?? []],\n hidePassword: config.type === DynamicFormTypeFieldEnum.password ? true : null,\n moreItemsButtonIconAddlabel: [config.moreItemsButtonIconAddlabel],\n moreItemsMinItems: [config.moreItemsMinItems ?? 0],\n moreItemsMaxItems: [config.moreItemsMaxItems ?? 100],\n moreItemsIcon: [config.moreItemsIcon],\n moreItemsIconFontColor: [config.moreItemsIconFontColor],\n moreItemsIconBackgroundColor: [config.moreItemsIconBackgroundColor],\n moreItemsExpanded: [''],\n moreItemsConfig: [[]],\n moreItemsFormGroup: this.fb.array([]),\n autocompleteLoading: [new BehaviorSubject<boolean>(false)],\n autocompleteOptions: [config.autocompleteOptions],\n autocompleteMultipleConfig: [config.autocompleteMultipleConfig],\n autocompleteOptionsFiltered: [new BehaviorSubject<any>([])],\n autocompleteSelectedValue: [valueSelectedAutocomplete],\n textLogs: [config?.textObs],\n customMasc: [config?.customMasc],\n customMascThousandSeparator: [config?.customMascThousandSeparator ?? ''],\n customMascSuffix: [config?.customMascSuffix ?? ''],\n customMascPrefix: [config?.customMascPrefix ?? ''],\n value: [{value, disabled: config.disabled}, validators, config.asyncValidators]\n });\n\n if (config.autocompleteType === \"onDemand\") {\n const loader = field.get('autocompleteLoading').value as BehaviorSubject<boolean>;\n loader.next(true);\n config.autocompleteFilter('').subscribe(options => {\n field.get('autocompleteOptionsFiltered').value.next(options);\n loader.next(false);\n });\n }\n\n return field;\n }\n\n private setValuesOnFields(subject: BehaviorSubject<KoalaDynamicSetValueInterface[]>, form: FormGroup) {\n subject.subscribe(item => {\n if (item) {\n const formArray = form.get('formData') as FormArray;\n for (const prop of item.values()) {\n this.setValueByProp(formArray, prop);\n }\n }\n });\n }\n\n private changeVisibilityFields(subject: BehaviorSubject<KoalaDynamicFormShowFieldInterface[]>, form: FormGroup) {\n subject.pipe(debounceTime(5)).subscribe(item => {\n if (item) {\n const formArray = form.get('formData') as FormArray;\n for (const prop of item.values()) {\n for (const [indexControl, control] of formArray.controls.entries()) {\n if (control.get('name').value === prop.name) {\n control.get('show').value.next(prop.show);\n const config: KoalaDynamicFormFieldInterface = this.formConfig[indexControl] ?? null;\n if (prop.show) {\n let validators = [];\n if (config) {\n if (config.type === DynamicFormTypeFieldEnum.dynamicForm) {\n const formArrayMoreItems = control.get('dynamicFormGroup') as FormArray;\n formArrayMoreItems.push(config?.dynamicFormConfig?.form);\n } else {\n validators = config.syncValidators ?? [];\n if (config.required === true) {\n validators.push(Validators.required);\n }\n if (config.type === DynamicFormTypeFieldEnum.cpf) {\n validators.push(CpfValidator);\n } else if (config.type === DynamicFormTypeFieldEnum.cnpj) {\n validators.push(CnpjValidator);\n } else if (config.type === DynamicFormTypeFieldEnum.email) {\n validators.push(Validators.email);\n } else if (\n config.required === true &&\n config.type === DynamicFormTypeFieldEnum.autocomplete\n ) {\n validators.push(AutocompleteSelectedValidator);\n }\n\n if (config.min && typeof config.min === \"number\") validators.push(Validators.min(config.min));\n if (config.max && typeof config.max === \"number\") validators.push(Validators.max(config.max));\n if (\n config.type === DynamicFormTypeFieldEnum.date ||\n config.type === DynamicFormTypeFieldEnum.datetime ||\n config.type === DynamicFormTypeFieldEnum.time\n ) {\n if (config.min && typeof config.min === \"string\") { validators.push(DateMinValidator(config.min)); }\n if (config.max && typeof config.max === \"string\") { validators.push(DateMaxValidator(config.max)); }\n }\n if (config.minLength) validators.push(Validators.minLength(config.minLength));\n if (config.maxLength) validators.push(Validators.maxLength(config.maxLength));\n\n control.get('value').setValidators(validators);\n if (config.asyncValidators) {\n control.get('value').setAsyncValidators(config.asyncValidators);\n }\n }\n\n control.get('value').updateValueAndValidity();\n if (prop.clearCurrentValue) {\n control.get('value').setValue(null);\n }\n }\n } else {\n control.get('value').clearValidators();\n control.get('value').clearAsyncValidators();\n control.setErrors(null);\n control.get('value').setValue(null);\n control.get('value').updateValueAndValidity();\n\n if (config.type === DynamicFormTypeFieldEnum.dynamicForm) {\n const formGroup = control as FormGroup;\n formGroup.removeControl('dynamicFormGroup');\n formGroup.addControl('dynamicFormGroup', this.fb.array([]));\n }\n }\n break;\n }\n }\n }\n }\n });\n }\n\n private autocompleteFilter(arr: KoalaDynamicAutocompleteOptionsInterface[], value: string): KoalaDynamicAutocompleteOptionsInterface[] {\n return arr.filter(filter => {\n if (typeof value === 'string') {\n if (filter) {\n let find = true;\n value.toLowerCase()\n .split(' ')\n .forEach(part => {\n if (filter.name.toLowerCase().indexOf(part) < 0) {\n find = false;\n return false;\n }\n });\n\n return find;\n }\n } else {\n return true;\n }\n });\n }\n\n private setValueByProp(formArray: FormArray, prop: KoalaDynamicSetValueInterface) {\n if (formArray) {\n if (prop.name.indexOf(' > ') >= 0) {\n let dynamicFormSubject: BehaviorSubject<KoalaDynamicFormConfigInterface>;\n const arrPropName = prop.name.split(' > ');\n let indexPropName = 0;\n do {\n const control = formArray.controls.find(control => control.get('name').value === arrPropName[indexPropName]);\n if (indexPropName === arrPropName.length - 2) {\n dynamicFormSubject = control.get('dynamicFormConfig').value;\n const dynamicForm = dynamicFormSubject.getValue();\n if (dynamicForm.formConfig.find(fc => fc.name === arrPropName[arrPropName.length - 1])) {\n if (dynamicForm.setValues) {\n dynamicForm.setValues.next(koala(dynamicForm.setValues.getValue()).array<any>().merge([{\n name: arrPropName[arrPropName.length - 1],\n value: prop.value\n }]).getValue());\n } else {\n dynamicForm.setValues = new BehaviorSubject<KoalaDynamicSetValueInterface[]>([{\n name: arrPropName[arrPropName.length - 1],\n value: prop.value\n }]);\n }\n }\n }\n indexPropName++;\n } while (indexPropName < arrPropName.length - 1);\n } else {\n for (const control of formArray.controls.values()) {\n if (control.get('name').value === prop.name) {\n control.get('value').setValue(prop.value);\n break;\n }\n }\n }\n }\n }\n\n private async setConfigDynamicForm(newFormGroup: FormGroup) {\n if (this.showFieldsMoreItensConfig) {\n const value = newFormGroup.get('value').value;\n const configs = this.showFieldsMoreItensConfig\n .filter(config => config.nameField === newFormGroup.get('name').value)\n .sort(config => {\n if (config.fnShow(value)) {\n return 1;\n }\n return -1;\n });\n for (const config of configs) {\n if (config) {\n if (config.dynamicFormConfig && config.fnShow(value)) {\n const controlDynamicFormConfig = this.controls\n .controls\n .find(control =>\n config.fieldsToShow.indexOf(control.get('name').value) >= 0\n );\n const dynamicFormConfigSubject = controlDynamicFormConfig.get('dynamicFormConfig').value as BehaviorSubject<KoalaDynamicFormConfigInterface>;\n dynamicFormConfigSubject.next(null);\n await delay(1);\n dynamicFormConfigSubject.next(config.dynamicFormConfig(value));\n }\n this.dynamicFormService.showFields(\n this.showFields,\n config.fieldsToShow,\n config.fnShow(value),\n config.clearCurrentValue\n );\n }\n }\n }\n }\n}\n","import { AfterContentInit, Directive, ElementRef, Input } from '@angular/core';\n\n@Directive({\n\tselector: '[koalaAutoFocus]'\n})\nexport class KoalaAutofocusDirective implements AfterContentInit {\n\t@Input() public koalaAutoFocus: boolean;\n\t\n\tpublic constructor(private el: ElementRef) {}\n\t\n\tpublic ngAfterContentInit() {\n\t\tif (this.koalaAutoFocus) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.el.nativeElement.focus();\n\t\t\t}, 500);\n\t\t}\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { BtnSubmitComponent } from './btn-submit/btn-submit.component';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { DynamicFormComponent } from './dynamic-form/dynamic-form.component';\nimport { NgxMaskModule } from 'ngx-mask';\nimport { maskOptions } from '@koalarx/ui/common';\nimport { CurrencyMaskModule } from 'ng2-currency-mask';\nimport { KoalaButtonModule } from '@koalarx/ui/button';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { KoalaAutofocusDirective } from './directives/koala-autofocus.directive';\nimport { KoalaFileButtonModule } from '@koalarx/ui/file-button';\nimport { MatChipsModule } from '@angular/material/chips';\n\n@NgModule({\n declarations: [\n BtnSubmitComponent,\n DynamicFormComponent,\n KoalaAutofocusDirective\n ],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n CurrencyMaskModule,\n NgxMaskModule.forRoot(maskOptions),\n KoalaFileButtonModule,\n MatInputModule,\n MatSelectModule,\n MatRadioModule,\n MatCheckboxModule,\n MatAutocompleteModule,\n MatButtonModule,\n MatIconModule,\n MatExpansionModule,\n MatChipsModule,\n KoalaButtonModule,\n MatProgressSpinnerModule\n ],\n exports: [\n ReactiveFormsModule,\n FormsModule,\n KoalaAutofocusDirective,\n NgxMaskModule,\n KoalaFileButtonModule,\n MatInputModule,\n MatSelectModule,\n MatRadioModule,\n MatCheckboxModule,\n MatAutocompleteModule,\n MatButtonModule,\n MatIconModule,\n MatProgressSpinnerModule,\n BtnSubmitComponent,\n DynamicFormComponent\n ]\n})\nexport class KoalaFormModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["KoalaLanguageHelper","BehaviorSubject","Component","Input","DynamicFormTypeFieldEnum","koala","Validators","unmaskCoin","Observable","Injectable","FormBuilder","DeviceDetectorService","debounceTime","delay","ChangeDetectionStrategy","ViewChild","Directive","ElementRef","NgModule","CommonModule","ReactiveFormsModule","FormsModule","CurrencyMaskModule","NgxMaskModule","maskOptions","KoalaFileButtonModule","MatInputModule","MatSelectModule","MatRadioModule","MatCheckboxModule","MatAutocompleteModule","MatButtonModule","MatIconModule","MatExpansionModule","MatChipsModule","KoalaButtonModule","MatProgressSpinnerModule"],"mappings":"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"}
1
+ {"version":3,"file":"koalarx-ui-form.umd.js","sources":["../../../projects/form/src/lib/btn-submit/btn-submit.component.ts","../../../projects/form/src/lib/dynamic-form/enums/dynamic-form-type-field.enum.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/form/src/lib/dynamic-form/builder/fields/field.base.ts","../../../projects/form/src/lib/dynamic-form/builder/fields/autocomplete.builder.ts","../../../projects/form/src/lib/dynamic-form/builder/fields/field.builder.ts","../../../projects/form/src/lib/dynamic-form/builder/fields/more-items.builder.ts","../../../projects/form/src/lib/dynamic-form/builder/dynamic-form.builder.ts","../../../projects/form/src/lib/dynamic-form/validators/date-min.validator.ts","../../../projects/form/src/lib/dynamic-form/validators/date-max.validator.ts","../../../projects/form/src/lib/dynamic-form/koala.dynamic-form.service.ts","../../../projects/form/src/lib/dynamic-form/validators/validation.helper.ts","../../../projects/form/src/lib/dynamic-form/validators/cpf.validator.ts","../../../projects/form/src/lib/dynamic-form/validators/cnpj.validator.ts","../../../projects/form/src/lib/dynamic-form/validators/autocomplete-selected.validator.ts","../../../projects/form/src/lib/dynamic-form/validators/koala-dynamic-form-validator-result.helper.ts","../../../projects/form/src/lib/show-invalid-fields/show-invalid-fields.ts","../../../projects/form/src/lib/form.abstract.ts","../../../projects/form/src/lib/dynamic-form/dynamic-form.component.ts","../../../projects/form/src/lib/directives/koala-autofocus.directive.ts","../../../projects/form/src/lib/koala.form.module.ts","../../../projects/form/src/koalarx-ui-form.ts"],"sourcesContent":["import { Component, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { ThemePalette } from '@angular/material/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { KoalaLanguageHelper } from \"@koalarx/ui/core\";\n\n@Component({\n selector: 'koala-submit',\n templateUrl: 'btn-submit.component.html',\n styleUrls: ['btn-submit.component.css']\n})\nexport class BtnSubmitComponent implements OnInit, OnChanges {\n @Input() fg: FormGroup;\n @Input() color: ThemePalette = 'primary';\n @Input() btnLabel: string = KoalaLanguageHelper.getBtnLabel();\n @Input() btnSubmitDisabled = false;\n @Input() loader: BehaviorSubject<boolean>;\n @Input() iconButton: boolean;\n @Input() icon: string;\n @Input() iconColor: 'blue' | 'red' | 'yellow' | 'black' | 'green';\n public disabled = new BehaviorSubject<boolean>(false);\n\n ngOnInit() {\n if (!this.btnLabel) {\n this.btnLabel = KoalaLanguageHelper.getBtnLabel();\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.btnSubmitDisabled) {\n this.disabled.next(changes.btnSubmitDisabled.currentValue);\n }\n }\n}\n","export enum DynamicFormTypeFieldEnum {\n text = 1,\n password,\n cpf,\n cnpj,\n datetime,\n email,\n phone,\n number,\n valueList,\n textarea,\n time,\n hoursAndMinutes,\n checkbox,\n select,\n coin,\n percent,\n moreItems,\n id,\n textLogs,\n file,\n autocomplete,\n color,\n dynamicForm,\n date,\n radio,\n float,\n stringNumber,\n selectMultipleNative,\n month,\n competenceDate,\n stringWithCustomMasc\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { KoalaDynamicFormFieldInterface } from \"../../interfaces/koala.dynamic-form-field.interface\";\nimport { DynamicFormTypeFieldEnum } from \"../../enums/dynamic-form-type-field.enum\";\nimport { FloatLabelType, MatFormFieldAppearance } from \"@angular/material/form-field\";\nimport { AsyncValidatorFn, FormBuilder, ValidatorFn } from \"@angular/forms\";\nimport { KoalaDynamicFormConfigInterface } from \"../../interfaces/koala.dynamic-form-config.interface\";\nimport { koala } from \"@koalarx/utils\";\nimport { DeviceDetectorService } from \"ngx-device-detector\";\nimport { DynamicFormBuilder } from \"../dynamic-form.builder\";\n\nexport abstract class FieldBase {\n protected readonly fieldConfig: KoalaDynamicFormFieldInterface;\n\n protected constructor(\n label: string,\n name: string,\n type: DynamicFormTypeFieldEnum,\n private formConfig: KoalaDynamicFormConfigInterface,\n protected fb: FormBuilder,\n protected deviceService: DeviceDetectorService\n ) {\n this.fieldConfig = {\n label,\n name,\n type\n }\n this.appearance().grid();\n }\n\n public hide(hide: boolean = true) {\n this.fieldConfig.show = !hide;\n return this;\n }\n\n public focus() {\n this.fieldConfig.focus = true;\n return this;\n }\n\n public syncValidator(validators: ValidatorFn[]) {\n this.fieldConfig.syncValidators = validators;\n return this;\n }\n\n public asyncValidator(validators: AsyncValidatorFn | AsyncValidatorFn[]) {\n this.fieldConfig.asyncValidators = validators;\n return this;\n }\n\n public disabled(disabled: boolean = true) {\n this.fieldConfig.disabled = disabled;\n return this;\n }\n\n public required(required: boolean = true) {\n this.fieldConfig.required = required;\n return this;\n }\n\n public textHint(hint: string) {\n this.fieldConfig.textHint = hint;\n return this;\n }\n\n public min(min: number) {\n this.fieldConfig.min = min;\n return this;\n }\n\n public max(max: number) {\n this.fieldConfig.max = max;\n return this;\n }\n\n public minLength(min: number) {\n this.fieldConfig.minLength = min;\n return this;\n }\n\n public maxLength(max: number) {\n this.fieldConfig.maxLength = max;\n return this;\n }\n\n public multiple(multiple = true) {\n this.fieldConfig.multiple = multiple;\n }\n\n public valueChanges<T>(fn: (value: T) => void) {\n this.fieldConfig.valueChanges = fn;\n return this;\n }\n\n public setValue(value: any) {\n this.fieldConfig.value = value;\n return this;\n }\n\n public appearance(type: MatFormFieldAppearance = \"outline\", floatLabel: FloatLabelType = \"always\") {\n this.fieldConfig.appearance = type;\n this.fieldConfig.floatLabel = floatLabel;\n return this;\n }\n\n public grid(size: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 = 12, width: number = 100) {\n if (this.deviceService.isMobile()) {\n size = 12;\n }\n\n for (let colSize = 12; colSize >= 1; colSize--) {\n this.fieldConfig.class = this.fieldConfig.class?.replace('col-' + colSize, '');\n }\n this.addClass('col-' + size);\n this.addFieldClass('w-' + width);\n\n return this;\n }\n\n public setOptions(options: { value: any; name: string; }[]) {\n this.fieldConfig.opcoesSelect = options;\n return this;\n }\n\n public addClass(className: string) {\n if (\n this.deviceService.isMobile() &&\n className.indexOf('col-') >= 0 &&\n className.indexOf('col-12') === 0\n ) {\n className = className.replace('col-1', 'col-12')\n .replace('col-2', 'col-12')\n .replace('col-3', 'col-12')\n .replace('col-4', 'col-12')\n .replace('col-5', 'col-12')\n .replace('col-6', 'col-12')\n .replace('col-7', 'col-12')\n .replace('col-8', 'col-12')\n .replace('col-9', 'col-12')\n .replace('col-10', 'col-12')\n .replace('col-11', 'col-12');\n }\n\n this.fieldConfig.class = koala(`${this.fieldConfig?.class ?? ''} ${className}`)\n .string()\n .split(' ')\n .clearEmptyValues()\n .toString(' ')\n .getValue();\n return this;\n }\n\n public addFieldClass(className: string) {\n this.fieldConfig.fieldClass = koala(`${this.fieldConfig?.fieldClass ?? ''} ${className}`)\n .string()\n .split(' ')\n .clearEmptyValues()\n .toString(' ')\n .getValue();\n return this;\n }\n\n public setCustomMasc(mask: string, config?: {\n thousandSeparator?: string;\n suffix?: string;\n prefix?: string;\n }) {\n this.fieldConfig.customMasc = mask;\n this.fieldConfig.customMascThousandSeparator = config?.thousandSeparator;\n this.fieldConfig.customMascSuffix = config?.suffix;\n this.fieldConfig.customMascPrefix = config?.prefix;\n return this;\n }\n\n public generate() {\n let getLastConfig = (this.formConfig.formConfig.length > 0) ?\n this.formConfig.formConfig[this.formConfig.formConfig.length - 1] :\n null;\n\n if (getLastConfig?.type === DynamicFormTypeFieldEnum.moreItems && getLastConfig?.name !== 'endMoreItems') {\n this.formConfig.formConfig[this.formConfig.formConfig.length - 1].moreItemsConfig.formConfig.push(this.fieldConfig);\n } else {\n if (getLastConfig?.name === 'endMoreItems') {\n this.formConfig.formConfig.splice(this.formConfig.formConfig.length - 1, 1);\n }\n\n this.formConfig.formConfig.push(this.fieldConfig);\n }\n return new DynamicFormBuilder(\n this.fb,\n this.deviceService,\n this.formConfig.formConfig\n );\n }\n}\n","import { KoalaDynamicFormConfigInterface } from \"../../interfaces/koala.dynamic-form-config.interface\";\nimport { DynamicFormTypeFieldEnum } from \"../../enums/dynamic-form-type-field.enum\";\nimport { BehaviorSubject, Observable } from \"rxjs\";\nimport { KoalaDynamicAutocompleteOptionsInterface } from \"../../interfaces/koala.dynamic-autocomplete-options.interface\";\nimport { FormBuilder } from \"@angular/forms\";\nimport { KoalaDynamicFormAutocompleteMultipleConfigInterface } from \"../../interfaces/koala.dynamic-form-autocomplete-multiple-config.interface\";\nimport { FieldBase } from \"./field.base\";\nimport { DeviceDetectorService } from \"ngx-device-detector\";\n\nexport class AutocompleteBuilder extends FieldBase {\n private service$: Observable<KoalaDynamicAutocompleteOptionsInterface[]>;\n\n constructor(\n label: string,\n name: string,\n formConfig: KoalaDynamicFormConfigInterface,\n fb: FormBuilder,\n deviceService: DeviceDetectorService\n ) {\n super(label, name, DynamicFormTypeFieldEnum.autocomplete, formConfig, fb, deviceService);\n }\n\n public service(service: Observable<KoalaDynamicAutocompleteOptionsInterface[]>) {\n this.service$ = service;\n return this;\n }\n\n public defaultValueOnClean(value: any) {\n this.fieldConfig.autocompleteDefaultValueOnClear = value;\n return this;\n }\n\n public loadOptions(type: 'all' | 'onDemand', onDemandFilter?: (filter: string) => Observable<KoalaDynamicAutocompleteOptionsInterface[]>) {\n this.fieldConfig.autocompleteType = type;\n\n if (type === \"all\") {\n const options$ = new BehaviorSubject<KoalaDynamicAutocompleteOptionsInterface[]>([]);\n this.service$.subscribe(options => options$.next(options));\n this.fieldConfig.autocompleteOptions = options$;\n } else {\n this.fieldConfig.autocompleteFilter = onDemandFilter;\n }\n\n return this;\n }\n\n public colorChipConfig(fn: (subject: BehaviorSubject<KoalaDynamicFormAutocompleteMultipleConfigInterface>) => void) {\n this.fieldConfig.autocompleteMultipleConfig = new BehaviorSubject<KoalaDynamicFormAutocompleteMultipleConfigInterface>(null);\n fn(this.fieldConfig.autocompleteMultipleConfig);\n return this;\n }\n}\n","import { DynamicFormTypeFieldEnum } from \"../../enums/dynamic-form-type-field.enum\";\nimport { FieldBase } from \"./field.base\";\nimport { FormBuilder } from \"@angular/forms\";\nimport { KoalaDynamicFormConfigInterface } from \"../../interfaces/koala.dynamic-form-config.interface\";\nimport { DeviceDetectorService } from \"ngx-device-detector\";\n\nexport class FieldBuilder extends FieldBase {\n\n constructor(\n label: string,\n name: string,\n type: DynamicFormTypeFieldEnum,\n formConfig: KoalaDynamicFormConfigInterface,\n fb: FormBuilder,\n deviceService: DeviceDetectorService\n ) {\n super(label, name, type, formConfig, fb, deviceService);\n }\n}\n","import { DynamicFormTypeFieldEnum } from \"../../enums/dynamic-form-type-field.enum\";\nimport { FormBuilder } from \"@angular/forms\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { KoalaDynamicSetValueInterface } from \"../../interfaces/koala.dynamic-set-value.interface\";\nimport { KoalaDynamicFormFieldInterface } from \"../../interfaces/koala.dynamic-form-field.interface\";\nimport { KoalaDynamicFormConfigInterface } from \"../../interfaces/koala.dynamic-form-config.interface\";\nimport { DeviceDetectorService } from \"ngx-device-detector\";\nimport { DynamicFormBuilder } from \"../dynamic-form.builder\";\n\nexport class MoreItemsBuilder {\n private fieldConfig: KoalaDynamicFormFieldInterface;\n\n constructor(\n private label: string,\n private name: string,\n private btnAddLabel: string,\n private min: number,\n private max: number,\n private formConfig: KoalaDynamicFormConfigInterface,\n private fb: FormBuilder,\n private deviceService: DeviceDetectorService,\n ) {\n }\n\n public build() {\n let getLastConfig = (this.formConfig.formConfig.length > 0) ?\n this.formConfig.formConfig[this.formConfig.formConfig.length - 1] :\n null;\n\n this.fieldConfig = {\n label: this.label,\n name: this.name,\n type: DynamicFormTypeFieldEnum.moreItems,\n moreItemsIconBackgroundColor: '#fff',\n moreItemsIconFontColor: '#212121',\n moreItemsMinItems: this.min,\n moreItemsMaxItems: this.max,\n moreItemsButtonIconAddlabel: this.btnAddLabel,\n moreItemsConfig: {\n form: this.fb.group({}),\n formConfig: [],\n setValues: new BehaviorSubject<BehaviorSubject<KoalaDynamicSetValueInterface[]>[]>([])\n }\n };\n\n if (getLastConfig?.type === DynamicFormTypeFieldEnum.moreItems && getLastConfig?.name !== 'endMoreItems') {\n let formConfigMoreItems = getLastConfig.moreItemsConfig.formConfig as KoalaDynamicFormFieldInterface[];\n if (formConfigMoreItems.length > 0) {\n let lastIndexMoreItems = 0;\n formConfigMoreItems.forEach((item, index) => {\n if (item.type === DynamicFormTypeFieldEnum.moreItems) lastIndexMoreItems = index;\n });\n formConfigMoreItems[lastIndexMoreItems].moreItemsConfig.formConfig.push(this.fieldConfig);\n } else {\n this.formConfig.formConfig[this.formConfig.formConfig.length - 1].moreItemsConfig.formConfig.push(this.fieldConfig);\n }\n } else {\n if (getLastConfig?.name === 'endMoreItems') {\n this.formConfig.formConfig.splice(this.formConfig.formConfig.length - 1, 1);\n }\n this.formConfig.formConfig.push(this.fieldConfig);\n }\n\n return new DynamicFormBuilder(\n this.fb,\n this.deviceService,\n this.formConfig.formConfig\n );\n }\n}\n","import { FormBuilder } from \"@angular/forms\";\nimport { KoalaDynamicFormConfigInterface } from \"../interfaces/koala.dynamic-form-config.interface\";\nimport { KoalaDynamicFormFieldInterface } from \"../interfaces/koala.dynamic-form-field.interface\";\nimport { DynamicFormTypeFieldEnum } from \"../enums/dynamic-form-type-field.enum\";\nimport { AutocompleteBuilder } from \"./fields/autocomplete.builder\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { KoalaDynamicSetValueInterface } from \"../interfaces/koala.dynamic-set-value.interface\";\nimport { KoalaDynamicFormShowFieldInterface } from \"../interfaces/koala.dynamic-form-show-field.interface\";\nimport { koala } from \"@koalarx/utils\";\nimport { DeviceDetectorService } from \"ngx-device-detector\";\nimport { FieldBuilder } from \"./fields/field.builder\";\nimport { MoreItemsBuilder } from \"./fields/more-items.builder\";\n\nexport type DynamicFormFieldType = 'text' | 'password' | 'cpf' | 'cnpj' | 'datetime' | 'email' | 'phone' | 'number' | 'stringNumber' | 'valueList' | 'textarea' | 'time' | 'hoursAndMinutes' | 'checkbox' | 'select' | 'selectMultipleNative' | 'coin' | 'percent' | 'id' | 'textLogs' | 'color' | 'date' | 'radio' | 'float' | 'month' | 'competenceDate' | 'stringWithCustomMasc';\n\nexport class DynamicFormBuilder {\n private readonly config: KoalaDynamicFormConfigInterface;\n\n constructor(\n private fb: FormBuilder,\n private deviceService: DeviceDetectorService,\n configInMemory?: KoalaDynamicFormFieldInterface[]) {\n this.config = {\n form: fb.group({}),\n formConfig: configInMemory ?? [],\n setValues: new BehaviorSubject<KoalaDynamicSetValueInterface[]>(null),\n showFields: new BehaviorSubject<KoalaDynamicFormShowFieldInterface[]>(null)\n }\n }\n\n public field(label: string, name: string, type: DynamicFormFieldType) {\n switch (type) {\n case \"id\":\n case \"text\":\n case \"textarea\":\n case \"number\":\n case \"stringNumber\":\n case \"cnpj\":\n case \"cpf\":\n case \"coin\":\n case \"color\":\n case \"date\":\n case \"datetime\":\n case \"email\":\n case \"float\":\n case \"password\":\n case \"percent\":\n case \"phone\":\n case \"time\":\n case \"hoursAndMinutes\":\n case \"textLogs\":\n case \"valueList\":\n case \"checkbox\":\n case \"radio\":\n case \"select\":\n case \"selectMultipleNative\":\n case \"month\":\n case \"competenceDate\":\n case \"stringWithCustomMasc\":\n return new FieldBuilder(label, name, DynamicFormTypeFieldEnum[type], this.config, this.fb, this.deviceService);\n }\n }\n\n public autocomplete(label: string, name: string) {\n return new AutocompleteBuilder(label, name, this.config, this.fb, this.deviceService);\n }\n\n public simpleMoreItems(label: string, name: string, btnAddLabel: string, min: number, max: number) {\n return new MoreItemsBuilder(\n label,\n name,\n btnAddLabel,\n min,\n max,\n this.config,\n this.fb,\n this.deviceService\n );\n }\n\n public autofill(object: any) {\n if (object) {\n const setValues: KoalaDynamicSetValueInterface[] = [];\n Object.keys(object).forEach(indexName => {\n\n const arrField = koala(this.config.formConfig).array<KoalaDynamicFormFieldInterface>().filter(indexName, 'name').getValue();\n if (arrField.length === 1) {\n\n const field = arrField[0] ?? null;\n\n if (\n typeof object[indexName] !== \"object\" ||\n field.type === DynamicFormTypeFieldEnum.autocomplete ||\n field.type === DynamicFormTypeFieldEnum.selectMultipleNative\n ) {\n if (field.type === DynamicFormTypeFieldEnum.textLogs) {\n field.textObs = object[indexName];\n } else {\n setValues.push({\n name: indexName,\n value: object[indexName]\n });\n }\n } else {\n if (field.type === DynamicFormTypeFieldEnum.moreItems) {\n const setValuesMoreItems = [];\n const objectMoreItems = object[indexName] as any[];\n objectMoreItems.forEach(objectItem => {\n const moreItemValues: KoalaDynamicSetValueInterface[] = [];\n Object.keys(objectItem).forEach(objectIndexName => {\n moreItemValues.push({\n name: objectIndexName,\n value: objectItem[objectIndexName]\n });\n });\n setValuesMoreItems.push(new BehaviorSubject<KoalaDynamicSetValueInterface[]>(moreItemValues));\n });\n\n field.moreItemsConfig?.setValues?.next(setValuesMoreItems);\n } else if (field.type === DynamicFormTypeFieldEnum.dynamicForm) {\n const dynamicFormObject = object[indexName];\n const dynamicFormSetValues: KoalaDynamicSetValueInterface[] = [];\n\n Object.keys(dynamicFormObject).forEach(dynamicFormIndexName => {\n const arrDynamicField = koala(field.dynamicFormConfig.formConfig).array<KoalaDynamicFormFieldInterface>().filter(indexName, 'name').getValue();\n const dynamicField = arrDynamicField[0] ?? null;\n\n if (dynamicField?.type === DynamicFormTypeFieldEnum.textLogs) {\n dynamicField.textObs = object[indexName];\n } else {\n dynamicFormSetValues.push({\n name: dynamicFormIndexName,\n value: dynamicFormObject[dynamicFormIndexName]\n });\n }\n });\n\n field.dynamicFormConfig?.setValues?.next(dynamicFormSetValues);\n } else {\n this.autofill(object[indexName]);\n }\n }\n }\n });\n\n this.config?.setValues?.next(setValues);\n }\n\n return this;\n }\n\n public literalConfig(config: KoalaDynamicFormFieldInterface) {\n this.config.formConfig.push(config);\n if (config.type === DynamicFormTypeFieldEnum.moreItems) this.generateMoreItems();\n return this;\n }\n\n public generate() {\n this.config.formConfig = this.config.formConfig.filter(config => config.name !== 'endMoreItems');\n return this.config;\n }\n\n public generateMoreItems() {\n this.config.formConfig.push({\n name: 'endMoreItems',\n type: DynamicFormTypeFieldEnum.moreItems\n });\n return new DynamicFormBuilder(\n this.fb,\n this.deviceService,\n this.config.formConfig\n );\n }\n}\n","import { AbstractControl, ValidationErrors } from \"@angular/forms\";\nimport { KoalaCustomValidatorFnInterface } from \"../interfaces/koala-custom-validator-fn.interface\";\n\nexport function DateMinValidator(min: string): KoalaCustomValidatorFnInterface {\n return (control: AbstractControl): ValidationErrors | null => {\n if (control.value && typeof min === 'string') {\n if (new Date(control.value) < new Date(min)) {\n return {dateMin: true};\n }\n }\n return null;\n }\n}\n","import { AbstractControl, ValidationErrors } from \"@angular/forms\";\nimport { KoalaCustomValidatorFnInterface } from \"../interfaces/koala-custom-validator-fn.interface\";\n\nexport function DateMaxValidator(max: string): KoalaCustomValidatorFnInterface {\n return (control: AbstractControl): ValidationErrors | null => {\n if (control.value && typeof max === 'string') {\n if (new Date(control.value) > new Date(max)) {\n return {dateMax: true};\n }\n }\n return null;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { DynamicFormTypeFieldEnum } from './enums/dynamic-form-type-field.enum';\nimport { FormArray, FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { KoalaDynamicSetValueInterface } from './interfaces/koala.dynamic-set-value.interface';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { KoalaDynamicAutocompleteOptionsInterface } from './interfaces/koala.dynamic-autocomplete-options.interface';\nimport { KoalaDynamicFormShowFieldInterface } from './interfaces/koala.dynamic-form-show-field.interface';\nimport { KoalaDynamicFormConfigInterface } from './interfaces/koala.dynamic-form-config.interface';\nimport { DynamicFormBuilder } from \"./builder/dynamic-form.builder\";\nimport { koala } from \"@koalarx/utils\";\nimport { DateMinValidator } from \"./validators/date-min.validator\";\nimport { DateMaxValidator } from \"./validators/date-max.validator\";\nimport { DeviceDetectorService } from \"ngx-device-detector\";\nimport { unmaskCoin } from \"@koalarx/utils/operators/string\";\n\nexport type KoalaDynamicFormValidatorType = 'required' | 'min' | 'max';\n\n@Injectable({providedIn: \"any\"})\nexport class KoalaDynamicFormService {\n\n constructor(\n protected fb: FormBuilder,\n protected deviceService: DeviceDetectorService) {\n }\n\n public build() {\n return new DynamicFormBuilder(this.fb, this.deviceService);\n }\n\n public updateValidator(formGroup: FormGroup, name: string, type: KoalaDynamicFormValidatorType, value: boolean | number | string) {\n if (type === 'required' && typeof value !== 'boolean') {\n throw new Error(`Type required cannot be a ${typeof value}`);\n } else if ((type === 'min' || type === 'max') && typeof value === \"boolean\") {\n throw new Error(`Type ${type} cannot be a boolean`);\n }\n\n const formArray = formGroup.get('formData') as FormArray;\n const control = formArray.controls.find(control => control.get('name').value === name);\n\n if (control) {\n const currentRequired = control.get('required').value;\n const currentMin = control.get('min').value;\n const currentMax = control.get('max').value;\n const validators = [];\n\n control.get('value').clearValidators();\n control.get('value').setErrors(null);\n\n if ((type === \"required\" && value) || currentRequired) {\n validators.push(Validators.required);\n control.get('value').setErrors({required: true});\n }\n if ((type === \"min\" || currentMin)) {\n if (typeof value === \"number\") {\n validators.push(Validators.min((type === \"min\" ? value : currentMin)));\n control.get('value').setErrors({min: true});\n }\n else if (typeof value === \"string\") {\n validators.push(DateMinValidator((type === \"min\" ? value : currentMin)));\n control.get('value').setErrors({dateMin: true});\n }\n }\n if ((type === \"max\" || currentMax)) {\n if (typeof value === \"number\") {\n validators.push(Validators.max((type === \"max\" ? value : currentMax)));\n control.get('value').setErrors({max: true});\n }\n else if (typeof value === \"string\") {\n validators.push(DateMaxValidator((type === \"max\" ? value : currentMax)));\n control.get('value').setErrors({dateMax: true});\n }\n }\n\n if (type === \"required\") {\n control.get('required').setValue(value);\n } else if (type === \"min\") {\n control.get('min').setValue(value);\n } else if (type === \"max\") {\n control.get('max').setValue(value);\n }\n control.get('value').setValidators(validators);\n control.get('value').updateValueAndValidity();\n }\n }\n\n public emitData(form: FormGroup) {\n const data = {};\n const formArray = form.get('formData') as FormArray;\n formArray?.controls.forEach(control => {\n if (control.get('show').value.getValue() !== false) {\n let value: any = control.get('value').value;\n if (control.get('type').value === DynamicFormTypeFieldEnum.valueList) {\n if (value === null || value === undefined) {\n value = '';\n }\n value = koala(value).string().split().getValue();\n } else if (control.get('type').value === DynamicFormTypeFieldEnum.moreItems) {\n const moreItems = control.get('moreItemsConfig').value as { form: FormGroup }[];\n value = [];\n moreItems.forEach(item => {\n value.push(this.emitData(item.form));\n });\n } else if (control.get('type').value === DynamicFormTypeFieldEnum.autocomplete) {\n if (control.get('multiple').value) {\n const options = control.get('autocompleteSelectedValue').value as KoalaDynamicAutocompleteOptionsInterface[];\n value = options?.map(item => item?.value);\n } else {\n value = (control.get('autocompleteSelectedValue').value?.value ?\n control.get('autocompleteSelectedValue').value.value :\n control.get('autocompleteSelectedValue').value\n );\n }\n } else if (control.get('type').value === DynamicFormTypeFieldEnum.dynamicForm) {\n const dynamicFormConfig = control.get('dynamicFormConfig').value as BehaviorSubject<KoalaDynamicFormConfigInterface>;\n value = this.emitData(dynamicFormConfig.getValue().form);\n } else if (control.get('type').value === DynamicFormTypeFieldEnum.number) {\n value = parseInt(value);\n } else if ((\n control.get('type').value === DynamicFormTypeFieldEnum.float ||\n control.get('type').value === DynamicFormTypeFieldEnum.percent\n ) && typeof value === \"string\") {\n value = parseFloat(value.replace(/,/g, '.'));\n } else if (\n control.get('type').value === DynamicFormTypeFieldEnum.coin &&\n typeof value === \"string\"\n ) {\n value = unmaskCoin(value);\n }\n data[control.get('name').value] = value;\n }\n });\n\n return data;\n }\n\n public resetForm(form: FormGroup) {\n const formArray = form.get('formData') as FormArray;\n formArray.controls.forEach(control => {\n if (control.get('type').value === DynamicFormTypeFieldEnum.moreItems) {\n control.get('moreItemsConfig').setValue([]);\n } else {\n control.get('value').reset();\n }\n });\n }\n\n public setValuesInMoreItemsForm(\n subject: BehaviorSubject<BehaviorSubject<KoalaDynamicSetValueInterface[]>[]>,\n values: KoalaDynamicSetValueInterface[][]\n ) {\n const valuesMoreItems = [];\n values.forEach(itemValue => {\n valuesMoreItems.push(new BehaviorSubject<KoalaDynamicSetValueInterface[]>(itemValue));\n });\n subject.next(valuesMoreItems);\n }\n\n public autocompleteFilterOnServer(\n request: () => Promise<any[]>,\n nameConfig: {\n propsByName: string[];\n delimiter: string;\n },\n indexNameByValue?: string\n ) {\n return new Observable<KoalaDynamicAutocompleteOptionsInterface[]>(observe => {\n request().then(response => {\n const options: KoalaDynamicAutocompleteOptionsInterface[] = [];\n response.forEach(item => {\n let value = '';\n if (indexNameByValue?.indexOf(' > ') >= 0) {\n value = this.getValueByStringPath(indexNameByValue, item);\n } else if (indexNameByValue) {\n value = item[indexNameByValue];\n } else {\n value = item;\n }\n options.push({\n name: koala(item).object().toString(\n nameConfig.propsByName,\n (nameConfig.delimiter ?? ' ')\n ).getValue(),\n value\n });\n });\n observe.next(options);\n });\n });\n }\n\n public showFields(\n subject: BehaviorSubject<KoalaDynamicFormShowFieldInterface[]>,\n names: string[],\n show: boolean,\n clearCurrentValue = false\n ) {\n const fields: KoalaDynamicFormShowFieldInterface[] = [];\n names.forEach(name => {\n fields.push({\n name,\n show,\n clearCurrentValue\n });\n });\n subject.next(fields);\n }\n\n private getValueByStringPath(indexNameByValue: string, item: any) {\n let value;\n const partsIndex = indexNameByValue.split(' > ');\n let partIndex = 0;\n do {\n if (!value) {\n value = item[partsIndex[partIndex]];\n } else {\n value = value[partsIndex[partIndex]];\n }\n partIndex++;\n } while (partIndex < partsIndex.length);\n\n return value;\n }\n}\n","export class ValidationHelper {\n public static validateCpf(value: string) {\n function calcChecker1(digits: any) {\n let sum: number | null = null;\n\n for (let j = 0; j < 9; ++j) {\n sum += digits.toString().charAt(j) * (10 - j);\n }\n\n const lastSumChecker1 = sum % 11;\n\n return lastSumChecker1 < 2 ? 0 : 11 - lastSumChecker1;\n }\n\n function calcChecker2(cpfWithChecker1: any) {\n let sum: number | null = null;\n\n for (let k = 0; k < 10; ++k) {\n sum += cpfWithChecker1.toString().charAt(k) * (11 - k);\n }\n\n const lastSumChecker2 = sum % 11;\n\n return lastSumChecker2 < 2 ? 0 : 11 - lastSumChecker2;\n }\n\n const cleanCPF = value.replace(/\\.|\\-|\\s/g, '');\n const firstNineDigits = cleanCPF.substring(0, 9);\n const checker = cleanCPF.substring(9, 11);\n\n if (cleanCPF.length !== 11) {\n return false;\n }\n\n // Checking if all digits are equal\n for (let i = 0; i < 10; i++) {\n if ('' + firstNineDigits + checker === Array(12).join(`${i}`)) {\n return false;\n }\n }\n\n const checker1 = calcChecker1(firstNineDigits);\n const checker2 = calcChecker2(firstNineDigits + '' + checker1);\n\n return checker.toString() === checker1.toString() + checker2.toString();\n }\n\n public static validateCnpj(value: string) {\n value = value.replace(/[^\\d]+/g, '');\n\n if (value === '') {\n return false;\n }\n\n if (value.length !== 14) {\n return false;\n }\n\n // Elimina CNPJs invalidos conhecidos\n if (value === '00000000000000' ||\n value === '11111111111111' ||\n value === '22222222222222' ||\n value === '33333333333333' ||\n value === '44444444444444' ||\n value === '55555555555555' ||\n value === '66666666666666' ||\n value === '77777777777777' ||\n value === '88888888888888' ||\n value === '99999999999999') {\n return false;\n }\n\n // Valida DVs\n let tamanho = value.length - 2;\n let numeros = value.substring(0, tamanho);\n const digitos = value.substring(tamanho);\n let soma = 0;\n let pos = tamanho - 7;\n for (let i = tamanho; i >= 1; i--) {\n soma += parseInt(numeros.charAt(tamanho - i), 10) * pos--;\n if (pos < 2) {\n pos = 9;\n }\n }\n let resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;\n if (resultado !== parseInt(digitos.charAt(0), 10)) {\n return false;\n }\n\n tamanho = tamanho + 1;\n numeros = value.substring(0, tamanho);\n soma = 0;\n pos = tamanho - 7;\n for (let i = tamanho; i >= 1; i--) {\n soma += parseInt(numeros.charAt(tamanho - i), 10) * pos--;\n if (pos < 2) {\n pos = 9;\n }\n }\n resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;\n\n return !(resultado !== parseInt(digitos.charAt(1), 10));\n }\n}\n","import { AbstractControl } from '@angular/forms';\nimport { ValidationHelper } from './validation.helper';\n\nexport function CpfValidator(control: AbstractControl) {\n if (control.value) {\n if (control.value.length <= 14 && !ValidationHelper.validateCpf(control.value)) {\n return {cpfInvalid: true};\n }\n }\n return null;\n}\n","import { AbstractControl } from '@angular/forms';\nimport { ValidationHelper } from './validation.helper';\n\nexport function CnpjValidator(control: AbstractControl) {\n if (control.value) {\n if (control.value.length > 14 && !ValidationHelper.validateCnpj(control.value)) {\n return {cnpjInvalid: true};\n }\n }\n return null;\n}\n","import { AbstractControl } from '@angular/forms';\n\nexport function AutocompleteSelectedValidator(control: AbstractControl) {\n if (\n control.value &&\n control.value.hasOwnProperty('value') &&\n control.value.hasOwnProperty('name') &&\n Object.keys(control.value).length === 2\n ) {\n return null;\n }\n \n return {autocompleteSelected: true};\n}\n","export class KoalaDynamicFormValidatorResultHelper {\n\n public static generate(errorMessage: string) {\n return {\n customError: {\n message: errorMessage\n }\n }\n }\n}\n","import { ErrorStateMatcher } from '@angular/material/core';\nimport { FormControl, FormGroupDirective, NgForm } from '@angular/forms';\n\nexport class ShowInvalidFields implements ErrorStateMatcher {\n\n constructor() {\n }\n\n isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\n const isSubmitted = form && form.submitted;\n return !!(control && control.invalid && (control.errors || control.dirty || control.touched || isSubmitted));\n }\n}\n","import { ShowInvalidFields } from './show-invalid-fields/show-invalid-fields';\nimport { FormGroup } from '@angular/forms';\nimport { BehaviorSubject } from 'rxjs';\n\nexport abstract class FormAbstract {\n public showInvalidFields: ShowInvalidFields;\n public btnLabel: string;\n public loader = new BehaviorSubject<boolean>(false);\n public btnSubmitDisabled = false;\n public getData = new BehaviorSubject<boolean>(false);\n\n protected constructor(private formAbstract: () => FormGroup) {\n }\n\n public selecionarAutocomplete(controlName: string, obj: any, indexName?: string) {\n if (obj) {\n let value = indexName ? obj[indexName] : obj;\n if (Array.isArray(obj)) {\n value = [];\n obj.forEach(item => {\n value.push(indexName ? item[indexName] : item);\n });\n }\n\n this.formAbstract().get(controlName).setValue(value);\n } else {\n this.formAbstract().get(controlName).setValue('');\n }\n }\n\n public btnClickGetData() {\n this.getData.next(true);\n }\n\n protected enableShowInvalidFields() {\n this.showInvalidFields = new ShowInvalidFields();\n }\n\n protected loading(show: boolean = true, btnLabel?: string) {\n this.btnSubmitDisabled = show;\n this.loader.next(show);\n\n if (show) {\n this.btnLabel = btnLabel ? btnLabel : 'Enviando Dados...';\n } else {\n this.btnLabel = btnLabel ? btnLabel : 'Enviar';\n }\n }\n}\n","import { FormArray, FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { KoalaDynamicFormFieldInterface } from './interfaces/koala.dynamic-form-field.interface';\nimport { DynamicFormTypeFieldEnum } from './enums/dynamic-form-type-field.enum';\nimport { CpfValidator } from './validators/cpf.validator';\nimport { CnpjValidator } from './validators/cnpj.validator';\nimport { ChangeDetectionStrategy, Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\nimport { FormAbstract } from '../form.abstract';\nimport { debounceTime } from 'rxjs/operators';\nimport { BehaviorSubject } from 'rxjs';\nimport { KoalaDynamicSetValueInterface } from './interfaces/koala.dynamic-set-value.interface';\nimport { AutocompleteSelectedValidator } from './validators/autocomplete-selected.validator';\nimport { KoalaDynamicAutocompleteOptionsInterface } from './interfaces/koala.dynamic-autocomplete-options.interface';\nimport { KoalaDynamicFormShowFieldInterface } from './interfaces/koala.dynamic-form-show-field.interface';\nimport { KoalaDynamicFormService } from './koala.dynamic-form.service';\nimport { KoalaDynamicFormMoreItensShowFieldConfigInterface } from './interfaces/koala.dynamic-form-more-itens-show-field-config.interface';\nimport { ThemePalette } from '@angular/material/core';\nimport { KoalaDynamicFormAutocompleteMultipleConfigInterface } from './interfaces/koala.dynamic-form-autocomplete-multiple-config.interface';\nimport { KoalaDynamicFormConfigInterface } from './interfaces/koala.dynamic-form-config.interface';\nimport { delay } from \"@koalarx/utils/operators/delay\";\nimport { koala } from \"@koalarx/utils\";\nimport { DateMinValidator } from \"./validators/date-min.validator\";\nimport { DateMaxValidator } from \"./validators/date-max.validator\";\nimport { KoalaLanguageHelper } from \"@koalarx/ui/core\";\n\n@Component({\n selector: 'koala-dynamic-form',\n templateUrl: 'dynamic-form.component.html',\n styleUrls: ['dynamic-form.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DynamicFormComponent extends FormAbstract implements OnInit {\n @Input() form: FormGroup;\n @Input() formConfig: KoalaDynamicFormFieldInterface[];\n @Input() showFields: BehaviorSubject<KoalaDynamicFormShowFieldInterface[]>;\n @Input() showFieldsMoreItensConfig: KoalaDynamicFormMoreItensShowFieldConfigInterface[];\n @Input() setValues: BehaviorSubject<KoalaDynamicSetValueInterface[]>;\n @Input() tabIndexStart: number = 1;\n public controls: FormArray;\n public typeField = DynamicFormTypeFieldEnum;\n public hoursAndMinutesMask = '00:000';\n public errorMessage = KoalaLanguageHelper;\n\n @ViewChild('autocompleteInput') autocompleteInput: ElementRef<HTMLInputElement>;\n\n constructor(\n private fb: FormBuilder,\n private dynamicFormService: KoalaDynamicFormService\n ) {\n super(() => this.form);\n }\n\n ngOnInit() {\n if (!this.form.get('formData')) {\n this.form.addControl('formData', this.fb.array([]));\n }\n this.controls = this.form.get('formData') as FormArray;\n this.formConfig?.forEach((config, indexConfig) => {\n const newFormGroup = this.newControl(config);\n if (config.asyncValidators) {\n newFormGroup.get('value').setAsyncValidators(config.asyncValidators);\n }\n newFormGroup.get('value').updateValueAndValidity();\n if (config.type === DynamicFormTypeFieldEnum.dynamicForm) {\n const formGroupDynamicFormsSubject = newFormGroup.get('dynamicFormConfig').value as BehaviorSubject<KoalaDynamicFormConfigInterface>;\n formGroupDynamicFormsSubject.subscribe(formGroupConfig => {\n if (formGroupConfig) {\n formGroupConfig.form.valueChanges.subscribe(() => {\n if (formGroupConfig.form.valid && (config.valueChanges || this.showFieldsMoreItensConfig)) {\n const value = this.dynamicFormService.emitData(formGroupConfig.form);\n newFormGroup.get('value').setValue(value);\n }\n });\n }\n });\n }\n if (\n config.valueChanges ||\n config.type === DynamicFormTypeFieldEnum.autocomplete ||\n config.type === DynamicFormTypeFieldEnum.dynamicForm ||\n this.showFieldsMoreItensConfig\n ) {\n if (config.type === DynamicFormTypeFieldEnum.autocomplete) {\n const autocompleteOptionsSubject = newFormGroup.get('autocompleteOptions').value as BehaviorSubject<KoalaDynamicAutocompleteOptionsInterface[]>;\n if (autocompleteOptionsSubject) {\n autocompleteOptionsSubject.subscribe(options => newFormGroup.get('autocompleteOptionsFiltered').value.next(options));\n }\n }\n newFormGroup.get('value')\n .valueChanges\n .pipe(debounceTime(300))\n .subscribe(async value => {\n await this.setConfigDynamicForm(newFormGroup);\n if (config.type === DynamicFormTypeFieldEnum.autocomplete) {\n if (\n value && (\n value.hasOwnProperty('value') &&\n value.hasOwnProperty('name') &&\n Object.keys(value).length === 2\n ) || (\n Array.isArray(value) &&\n newFormGroup.get('multiple').value\n )) {\n if (newFormGroup.get('multiple').value) {\n if (Array.isArray(value)) {\n newFormGroup.get('autocompleteSelectedValue').setValue(value);\n } else {\n newFormGroup.get('autocompleteSelectedValue').value.push(value);\n }\n if (this.autocompleteInput?.nativeElement) {\n this.autocompleteInput.nativeElement.value = '';\n }\n } else {\n newFormGroup.get('autocompleteSelectedValue').setValue(value);\n }\n } else if (!newFormGroup.get('multiple').value) {\n newFormGroup.get('autocompleteSelectedValue').setValue(koala(this.formConfig)\n .array<KoalaDynamicFormFieldInterface>()\n .filter(newFormGroup.get('name').value, 'name')\n .getValue()[0]?.autocompleteDefaultValueOnClear ?? null);\n }\n\n if (config.type === DynamicFormTypeFieldEnum.autocomplete) {\n if (config.autocompleteType === 'all') {\n const autocompleteOptionsSubject = newFormGroup.get('autocompleteOptions').value as BehaviorSubject<KoalaDynamicAutocompleteOptionsInterface[]>;\n newFormGroup.get('autocompleteOptionsFiltered').value.next(this.autocompleteFilter(\n autocompleteOptionsSubject.value,\n value\n ));\n } else if (config.autocompleteType === 'onDemand' && typeof value !== \"object\") {\n const loader = newFormGroup.get('autocompleteLoading').value as BehaviorSubject<boolean>;\n loader.next(true);\n config.autocompleteFilter(value).subscribe(options => {\n newFormGroup.get('autocompleteOptionsFiltered').value.next(options);\n loader.next(false);\n });\n }\n }\n }\n if (config.valueChanges) {\n if (config.type === DynamicFormTypeFieldEnum.autocomplete) {\n config.valueChanges((newFormGroup.get('multiple').value ?\n newFormGroup.get('autocompleteSelectedValue').value.map(item => item.value) :\n newFormGroup.get('autocompleteSelectedValue').value?.value\n ));\n } else {\n config.valueChanges(value);\n }\n }\n });\n }\n this.controls.push(newFormGroup);\n if (config.moreItemsConfig) {\n if (config.moreItemsMinItems > 0) {\n for (let min = 0; min < config.moreItemsMinItems; min++) {\n if (min <= config.moreItemsMaxItems) {\n this.addMoreItem(indexConfig);\n }\n }\n }\n if (config.moreItemsConfig.setValues) {\n config.moreItemsConfig\n .setValues\n .subscribe(async values => {\n if (values.length > 0) {\n values.forEach((itemValue, indexValue) => {\n if (!this.controls.controls[indexConfig].get('moreItemsConfig').value[indexValue]) {\n this.addMoreItem(indexConfig);\n }\n setTimeout(() => {\n this.setValuesOnFields(\n itemValue,\n this.controls.controls[indexConfig].get('moreItemsConfig').value[indexValue].form\n );\n }, 300);\n });\n }\n });\n }\n }\n });\n if (this.showFields) {\n this.changeVisibilityFields(this.showFields, this.form);\n }\n if (this.setValues) {\n this.setValuesOnFields(this.setValues, this.form);\n }\n }\n\n public hoursAndMinutesApplyMask(index: number, event: KeyboardEvent) {\n const control = this.controls?.controls[index];\n const type = control?.get('type').value as DynamicFormTypeFieldEnum;\n if (type === DynamicFormTypeFieldEnum.hoursAndMinutes) {\n const value = control?.get('value').value;\n if (event.key == 'Backspace' && value.length < 6) {\n this.hoursAndMinutesMask = '00:000';\n } else if (event.key != 'Backspace' && value.length >= 6) {\n this.hoursAndMinutesMask = '000:00';\n }\n }\n }\n\n public passwordView(index: number) {\n const control = this.controls?.controls[index];\n const hidePassword = !control?.get('hidePassword').value;\n control?.get('hidePassword').setValue(hidePassword);\n control?.get('type').setValue(hidePassword ?\n DynamicFormTypeFieldEnum.password :\n DynamicFormTypeFieldEnum.text\n );\n }\n\n public addMoreItem(propIndex: number) {\n if (this.controls.controls[propIndex].get('moreItemsConfig').value.length < this.controls.controls[propIndex].get('moreItemsMaxItems').value) {\n const formGroup = this.fb.group({});\n this.controls.controls[propIndex].get('moreItemsConfig').value.push({\n form: formGroup,\n formConfig: this.formConfig[propIndex].moreItemsConfig.formConfig,\n showFields: new BehaviorSubject<BehaviorSubject<KoalaDynamicSetValueInterface[]>[]>([]),\n showFieldsMoreItensConfig: this.formConfig[propIndex].moreItemsConfig.showFieldsConfig\n });\n this.controls.controls[propIndex].get('moreItemsExpanded').setValue(\n this.controls.controls[propIndex].get('moreItemsConfig').value.length - 1\n );\n const formArrayMoreItems = this.controls.controls[propIndex].get('moreItemsFormGroup') as FormArray;\n formArrayMoreItems.push(formGroup);\n }\n }\n\n public removeMoreItem(propIndex: number, removeIndex) {\n const expandedItemIndex = removeIndex - 1;\n this.controls.controls[propIndex].get('moreItemsConfig').value.splice(removeIndex, 1);\n setTimeout(() => {\n this.controls.controls[propIndex].get('moreItemsExpanded').setValue((expandedItemIndex < 0) ? 0 : expandedItemIndex);\n }, 50);\n }\n\n public clearAutocomplete(propIndex: number) {\n if (this.controls.controls[propIndex].get('multiple').value) {\n this.controls.controls[propIndex].get('autocompleteSelectedValue').setValue([]);\n this.controls.controls[propIndex].get('value').setValue(null);\n } else {\n this.controls.controls[propIndex].get('autocompleteSelectedValue').setValue(this.formConfig[propIndex].autocompleteDefaultValueOnClear ?? null);\n this.controls.controls[propIndex].get('value').setValue(this.formConfig[propIndex].autocompleteDefaultValueOnClear ?? null);\n }\n }\n\n public display(option?: KoalaDynamicAutocompleteOptionsInterface): string | undefined {\n return option ? option.name : undefined;\n }\n\n public removeOptionOnAutocomplete(propIndex: number, option: KoalaDynamicAutocompleteOptionsInterface) {\n const value = this.controls.controls[propIndex].get('autocompleteSelectedValue').value.filter(item => item !== option) as KoalaDynamicAutocompleteOptionsInterface[];\n this.controls.controls[propIndex].get('autocompleteSelectedValue').setValue(value);\n if (value.length === 0) {\n this.controls.controls[propIndex].get('autocompleteSelectedValue').setValue([]);\n this.controls.controls[propIndex].get('value').setValue(null);\n } else if (this.formConfig[propIndex].valueChanges) {\n this.formConfig[propIndex].valueChanges(value.map(item => item.value));\n }\n }\n\n public getColorChip(config: KoalaDynamicFormAutocompleteMultipleConfigInterface): ThemePalette {\n return config.color;\n }\n\n private newControl(config: KoalaDynamicFormFieldInterface): FormGroup {\n let validators = config.syncValidators ?? [];\n let value: any = config.value ?? '';\n let valueSelectedAutocomplete: KoalaDynamicAutocompleteOptionsInterface | KoalaDynamicAutocompleteOptionsInterface[] = (\n config.multiple ? [] : (config.autocompleteDefaultValueOnClear ?? null)\n );\n\n if (config.required === true) validators.push(Validators.required);\n if (config.min && typeof config.min === \"number\") validators.push(Validators.min(config.min));\n if (config.max && typeof config.max === \"number\") validators.push(Validators.max(config.max));\n if (\n config.type === DynamicFormTypeFieldEnum.date ||\n config.type === DynamicFormTypeFieldEnum.datetime ||\n config.type === DynamicFormTypeFieldEnum.time\n ) {\n if (config.min && typeof config.min === \"string\") { validators.push(DateMinValidator(config.min)); }\n if (config.max && typeof config.max === \"string\") { validators.push(DateMaxValidator(config.max)); }\n }\n if (config.minLength) validators.push(Validators.minLength(config.minLength));\n if (config.maxLength) validators.push(Validators.maxLength(config.maxLength));\n\n if (config.type === DynamicFormTypeFieldEnum.cpf) {\n validators.push(CpfValidator);\n } else if (config.type === DynamicFormTypeFieldEnum.cnpj) {\n validators.push(CnpjValidator);\n } else if (config.type === DynamicFormTypeFieldEnum.email) {\n validators.push(Validators.email);\n } else if (config.type === DynamicFormTypeFieldEnum.autocomplete) {\n if (value) {\n valueSelectedAutocomplete = value;\n value = (config.multiple ? valueSelectedAutocomplete[0] : value);\n }\n if (config.required === true) {\n validators.push(AutocompleteSelectedValidator);\n }\n } else if (config.type === DynamicFormTypeFieldEnum.checkbox) {\n value = config.value ?? false;\n }\n\n if (\n config.type === DynamicFormTypeFieldEnum.hoursAndMinutes &&\n value.length >= 6\n ) {\n this.hoursAndMinutesMask = '000:00';\n }\n\n if (config.dynamicFormConfig) {\n const cloneDynamicFormConfig = {} as KoalaDynamicFormConfigInterface;\n Object.assign(cloneDynamicFormConfig, config.dynamicFormConfig);\n cloneDynamicFormConfig.form = config.dynamicFormConfig.form;\n config.dynamicFormConfig = cloneDynamicFormConfig;\n }\n\n if (config.show === false) {\n validators = [];\n }\n\n const field = this.fb.group({\n show: [new BehaviorSubject<boolean>(config.show ?? true)],\n label: [config.label],\n name: [config.name],\n type: [config.type],\n fileButtonConfig: [{\n icon: config?.fileButtonConfig?.icon ?? 'attach_file',\n text: config?.fileButtonConfig?.text ?? 'Clique para anexar arquivos',\n backgroundColor: config?.fileButtonConfig?.backgroundColor ?? 'white',\n color: config?.fileButtonConfig?.color ?? 'blue',\n accept: config?.fileButtonConfig?.accept ?? '*'\n }],\n dynamicFormConfig: [new BehaviorSubject<KoalaDynamicFormConfigInterface>(config.dynamicFormConfig)],\n dynamicFormGroup: this.fb.array([]),\n appearance: [config.appearance],\n floatLabel: [config.floatLabel],\n placeholder: [config.placeholder],\n class: [config.class],\n fieldClass: [config.fieldClass],\n textHint: [config.textHint],\n required: [config.required ?? false],\n min: [config.min ?? 0],\n max: [config.max ?? 99999999999],\n minLength: [config.minLength ?? 0],\n maxLength: [config.maxLength ?? 255],\n disabled: [config.disabled ?? false],\n focus: [config.focus ?? false],\n multiple: [config.multiple ?? false],\n opcoesSelect: [config.opcoesSelect ?? []],\n hidePassword: config.type === DynamicFormTypeFieldEnum.password ? true : null,\n moreItemsButtonIconAddlabel: [config.moreItemsButtonIconAddlabel],\n moreItemsMinItems: [config.moreItemsMinItems ?? 0],\n moreItemsMaxItems: [config.moreItemsMaxItems ?? 100],\n moreItemsIcon: [config.moreItemsIcon],\n moreItemsIconFontColor: [config.moreItemsIconFontColor],\n moreItemsIconBackgroundColor: [config.moreItemsIconBackgroundColor],\n moreItemsExpanded: [''],\n moreItemsConfig: [[]],\n moreItemsFormGroup: this.fb.array([]),\n autocompleteLoading: [new BehaviorSubject<boolean>(false)],\n autocompleteOptions: [config.autocompleteOptions],\n autocompleteMultipleConfig: [config.autocompleteMultipleConfig],\n autocompleteOptionsFiltered: [new BehaviorSubject<any>([])],\n autocompleteSelectedValue: [valueSelectedAutocomplete],\n textLogs: [config?.textObs],\n customMasc: [config?.customMasc],\n customMascThousandSeparator: [config?.customMascThousandSeparator ?? ''],\n customMascSuffix: [config?.customMascSuffix ?? ''],\n customMascPrefix: [config?.customMascPrefix ?? ''],\n value: [{value, disabled: config.disabled}, validators, config.asyncValidators]\n });\n\n if (config.autocompleteType === \"onDemand\") {\n const loader = field.get('autocompleteLoading').value as BehaviorSubject<boolean>;\n loader.next(true);\n config.autocompleteFilter('').subscribe(options => {\n field.get('autocompleteOptionsFiltered').value.next(options);\n loader.next(false);\n });\n }\n\n return field;\n }\n\n private setValuesOnFields(subject: BehaviorSubject<KoalaDynamicSetValueInterface[]>, form: FormGroup) {\n subject.subscribe(item => {\n if (item) {\n const formArray = form.get('formData') as FormArray;\n for (const prop of item.values()) {\n this.setValueByProp(formArray, prop);\n }\n }\n });\n }\n\n private changeVisibilityFields(subject: BehaviorSubject<KoalaDynamicFormShowFieldInterface[]>, form: FormGroup) {\n subject.pipe(debounceTime(5)).subscribe(item => {\n if (item) {\n const formArray = form.get('formData') as FormArray;\n for (const prop of item.values()) {\n for (const [indexControl, control] of formArray.controls.entries()) {\n if (control.get('name').value === prop.name) {\n control.get('show').value.next(prop.show);\n const config: KoalaDynamicFormFieldInterface = this.formConfig[indexControl] ?? null;\n if (prop.show) {\n let validators = [];\n if (config) {\n if (config.type === DynamicFormTypeFieldEnum.dynamicForm) {\n const formArrayMoreItems = control.get('dynamicFormGroup') as FormArray;\n formArrayMoreItems.push(config?.dynamicFormConfig?.form);\n } else {\n validators = config.syncValidators ?? [];\n if (config.required === true) {\n validators.push(Validators.required);\n }\n if (config.type === DynamicFormTypeFieldEnum.cpf) {\n validators.push(CpfValidator);\n } else if (config.type === DynamicFormTypeFieldEnum.cnpj) {\n validators.push(CnpjValidator);\n } else if (config.type === DynamicFormTypeFieldEnum.email) {\n validators.push(Validators.email);\n } else if (\n config.required === true &&\n config.type === DynamicFormTypeFieldEnum.autocomplete\n ) {\n validators.push(AutocompleteSelectedValidator);\n }\n\n if (config.min && typeof config.min === \"number\") validators.push(Validators.min(config.min));\n if (config.max && typeof config.max === \"number\") validators.push(Validators.max(config.max));\n if (\n config.type === DynamicFormTypeFieldEnum.date ||\n config.type === DynamicFormTypeFieldEnum.datetime ||\n config.type === DynamicFormTypeFieldEnum.time\n ) {\n if (config.min && typeof config.min === \"string\") { validators.push(DateMinValidator(config.min)); }\n if (config.max && typeof config.max === \"string\") { validators.push(DateMaxValidator(config.max)); }\n }\n if (config.minLength) validators.push(Validators.minLength(config.minLength));\n if (config.maxLength) validators.push(Validators.maxLength(config.maxLength));\n\n control.get('value').setValidators(validators);\n if (config.asyncValidators) {\n control.get('value').setAsyncValidators(config.asyncValidators);\n }\n }\n\n control.get('value').updateValueAndValidity();\n if (prop.clearCurrentValue) {\n control.get('value').setValue(null);\n }\n }\n } else {\n control.get('value').clearValidators();\n control.get('value').clearAsyncValidators();\n control.setErrors(null);\n control.get('value').setValue(null);\n control.get('value').updateValueAndValidity();\n\n if (config.type === DynamicFormTypeFieldEnum.dynamicForm) {\n const formGroup = control as FormGroup;\n formGroup.removeControl('dynamicFormGroup');\n formGroup.addControl('dynamicFormGroup', this.fb.array([]));\n }\n }\n break;\n }\n }\n }\n }\n });\n }\n\n private autocompleteFilter(arr: KoalaDynamicAutocompleteOptionsInterface[], value: string): KoalaDynamicAutocompleteOptionsInterface[] {\n return arr.filter(filter => {\n if (typeof value === 'string') {\n if (filter) {\n let find = true;\n value.toLowerCase()\n .split(' ')\n .forEach(part => {\n if (filter.name.toLowerCase().indexOf(part) < 0) {\n find = false;\n return false;\n }\n });\n\n return find;\n }\n } else {\n return true;\n }\n });\n }\n\n private setValueByProp(formArray: FormArray, prop: KoalaDynamicSetValueInterface) {\n if (formArray) {\n if (prop.name.indexOf(' > ') >= 0) {\n let dynamicFormSubject: BehaviorSubject<KoalaDynamicFormConfigInterface>;\n const arrPropName = prop.name.split(' > ');\n let indexPropName = 0;\n do {\n const control = formArray.controls.find(control => control.get('name').value === arrPropName[indexPropName]);\n if (indexPropName === arrPropName.length - 2) {\n dynamicFormSubject = control.get('dynamicFormConfig').value;\n const dynamicForm = dynamicFormSubject.getValue();\n if (dynamicForm.formConfig.find(fc => fc.name === arrPropName[arrPropName.length - 1])) {\n if (dynamicForm.setValues) {\n dynamicForm.setValues.next(koala(dynamicForm.setValues.getValue()).array<any>().merge([{\n name: arrPropName[arrPropName.length - 1],\n value: prop.value\n }]).getValue());\n } else {\n dynamicForm.setValues = new BehaviorSubject<KoalaDynamicSetValueInterface[]>([{\n name: arrPropName[arrPropName.length - 1],\n value: prop.value\n }]);\n }\n }\n }\n indexPropName++;\n } while (indexPropName < arrPropName.length - 1);\n } else {\n for (const control of formArray.controls.values()) {\n if (control.get('name').value === prop.name) {\n control.get('value').setValue(prop.value);\n break;\n }\n }\n }\n }\n }\n\n private async setConfigDynamicForm(newFormGroup: FormGroup) {\n if (this.showFieldsMoreItensConfig) {\n const value = newFormGroup.get('value').value;\n const configs = this.showFieldsMoreItensConfig\n .filter(config => config.nameField === newFormGroup.get('name').value)\n .sort(config => {\n if (config.fnShow(value)) {\n return 1;\n }\n return -1;\n });\n for (const config of configs) {\n if (config) {\n if (config.dynamicFormConfig && config.fnShow(value)) {\n const controlDynamicFormConfig = this.controls\n .controls\n .find(control =>\n config.fieldsToShow.indexOf(control.get('name').value) >= 0\n );\n const dynamicFormConfigSubject = controlDynamicFormConfig.get('dynamicFormConfig').value as BehaviorSubject<KoalaDynamicFormConfigInterface>;\n dynamicFormConfigSubject.next(null);\n await delay(1);\n dynamicFormConfigSubject.next(config.dynamicFormConfig(value));\n }\n this.dynamicFormService.showFields(\n this.showFields,\n config.fieldsToShow,\n config.fnShow(value),\n config.clearCurrentValue\n );\n }\n }\n }\n }\n}\n","import { AfterContentInit, Directive, ElementRef, Input } from '@angular/core';\n\n@Directive({\n\tselector: '[koalaAutoFocus]'\n})\nexport class KoalaAutofocusDirective implements AfterContentInit {\n\t@Input() public koalaAutoFocus: boolean;\n\t\n\tpublic constructor(private el: ElementRef) {}\n\t\n\tpublic ngAfterContentInit() {\n\t\tif (this.koalaAutoFocus) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.el.nativeElement.focus();\n\t\t\t}, 500);\n\t\t}\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { BtnSubmitComponent } from './btn-submit/btn-submit.component';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { DynamicFormComponent } from './dynamic-form/dynamic-form.component';\nimport { NgxMaskModule } from 'ngx-mask';\nimport { maskOptions } from '@koalarx/ui/common';\nimport { CurrencyMaskModule } from 'ng2-currency-mask';\nimport { KoalaButtonModule } from '@koalarx/ui/button';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { KoalaAutofocusDirective } from './directives/koala-autofocus.directive';\nimport { KoalaFileButtonModule } from '@koalarx/ui/file-button';\nimport { MatChipsModule } from '@angular/material/chips';\n\n@NgModule({\n declarations: [\n BtnSubmitComponent,\n DynamicFormComponent,\n KoalaAutofocusDirective\n ],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n CurrencyMaskModule,\n NgxMaskModule.forRoot(maskOptions),\n KoalaFileButtonModule,\n MatInputModule,\n MatSelectModule,\n MatRadioModule,\n MatCheckboxModule,\n MatAutocompleteModule,\n MatButtonModule,\n MatIconModule,\n MatExpansionModule,\n MatChipsModule,\n KoalaButtonModule,\n MatProgressSpinnerModule\n ],\n exports: [\n ReactiveFormsModule,\n FormsModule,\n KoalaAutofocusDirective,\n NgxMaskModule,\n KoalaFileButtonModule,\n MatInputModule,\n MatSelectModule,\n MatRadioModule,\n MatCheckboxModule,\n MatAutocompleteModule,\n MatButtonModule,\n MatIconModule,\n MatProgressSpinnerModule,\n BtnSubmitComponent,\n DynamicFormComponent\n ]\n})\nexport class KoalaFormModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["KoalaLanguageHelper","BehaviorSubject","Component","Input","DynamicFormTypeFieldEnum","koala","Validators","unmaskCoin","Observable","Injectable","FormBuilder","DeviceDetectorService","debounceTime","delay","ChangeDetectionStrategy","ViewChild","Directive","ElementRef","NgModule","CommonModule","ReactiveFormsModule","FormsModule","CurrencyMaskModule","NgxMaskModule","maskOptions","KoalaFileButtonModule","MatInputModule","MatSelectModule","MatRadioModule","MatCheckboxModule","MatAutocompleteModule","MatButtonModule","MatIconModule","MatExpansionModule","MatChipsModule","KoalaButtonModule","MatProgressSpinnerModule"],"mappings":"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"}
@@ -10,7 +10,7 @@ import { DeviceDetectorService } from "ngx-device-detector";
10
10
  import { unmaskCoin } from "@koalarx/utils/operators/string";
11
11
  import * as i0 from "@angular/core";
12
12
  import * as i1 from "@angular/forms";
13
- import * as i2 from "ngx-device-detector";
13
+ import * as i2 from "ngx-device-detector/lib/device-detector.service";
14
14
  export class KoalaDynamicFormService {
15
15
  constructor(fb, deviceService) {
16
16
  this.fb = fb;
@@ -5,9 +5,9 @@ import { KoalaLanguageHelper } from '@koalarx/ui/core';
5
5
  import * as i1 from '@angular/forms';
6
6
  import { Validators, FormBuilder, ReactiveFormsModule, FormsModule } from '@angular/forms';
7
7
  import { koala } from '@koalarx/utils';
8
- import * as i2 from 'ngx-device-detector';
9
8
  import { DeviceDetectorService } from 'ngx-device-detector';
10
9
  import { unmaskCoin } from '@koalarx/utils/operators/string';
10
+ import * as i2 from 'ngx-device-detector/lib/device-detector.service';
11
11
  import { __awaiter } from 'tslib';
12
12
  import { debounceTime } from 'rxjs/operators';
13
13
  import { delay } from '@koalarx/utils/operators/delay';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@koalarx/ui",
3
- "version": "12.7.8",
3
+ "version": "12.7.13",
4
4
  "description": "Koala UI is a Design System developed in Angular whose objective is to facilitate and make your development faster and simpler, making this framework your greatest ally.",
5
5
  "repository": {
6
6
  "type": "git",