@ngx-formly/bootstrap 5.10.21 → 5.10.25

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.
@@ -94,7 +94,7 @@
94
94
  FormlyFieldCheckbox.decorators = [
95
95
  { type: core.Component, args: [{
96
96
  selector: 'formly-field-checkbox',
97
- template: "\n <div [ngClass]=\"{\n 'form-check': to.formCheck.indexOf('custom') === -1,\n 'form-check-inline': to.formCheck === 'inline',\n 'custom-control': to.formCheck.indexOf('custom') === 0,\n 'custom-checkbox': to.formCheck === 'custom' || to.formCheck === 'custom-inline',\n 'custom-control-inline': to.formCheck === 'custom-inline',\n 'custom-switch': to.formCheck === 'custom-switch'\n }\">\n <input type=\"checkbox\"\n [class.is-invalid]=\"showError\"\n [class.form-check-input]=\"to.formCheck.indexOf('custom') === -1\"\n [class.position-static]=\"to.formCheck === 'nolabel'\"\n [class.custom-control-input]=\"to.formCheck.indexOf('custom') === 0\"\n [indeterminate]=\"to.indeterminate && formControl.value === null\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\">\n <label [for]=\"id\"\n *ngIf=\"to.formCheck !== 'nolabel'\"\n [class.form-check-label]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-label]=\"to.formCheck.indexOf('custom') === 0\"\n >\n {{ to.label }}\n <span *ngIf=\"to.required && to.hideRequiredMarker !== true\">*</span>\n </label>\n </div>\n "
97
+ template: "\n <div [ngClass]=\"{\n 'form-check': to.formCheck.indexOf('custom') === -1,\n 'form-check-inline': to.formCheck === 'inline',\n 'custom-control': to.formCheck.indexOf('custom') === 0,\n 'custom-checkbox': to.formCheck === 'custom' || to.formCheck === 'custom-inline',\n 'custom-control-inline': to.formCheck === 'custom-inline',\n 'custom-switch': to.formCheck === 'custom-switch'\n }\">\n <input type=\"checkbox\"\n [class.is-invalid]=\"showError\"\n [class.form-check-input]=\"to.formCheck.indexOf('custom') === -1\"\n [class.position-static]=\"to.formCheck === 'nolabel'\"\n [class.custom-control-input]=\"to.formCheck.indexOf('custom') === 0\"\n [indeterminate]=\"to.indeterminate && formControl.value === null\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\">\n <label [for]=\"id\"\n *ngIf=\"to.formCheck !== 'nolabel'\"\n [class.form-check-label]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-label]=\"to.formCheck.indexOf('custom') === 0\"\n >\n {{ to.label }}\n <span *ngIf=\"to.required && to.hideRequiredMarker !== true\" aria-hidden=\"true\">*</span>\n </label>\n </div>\n "
98
98
  }] }
99
99
  ];
100
100
  return FormlyFieldCheckbox;
@@ -337,7 +337,7 @@
337
337
  FormlyWrapperFormField.decorators = [
338
338
  { type: core.Component, args: [{
339
339
  selector: 'formly-wrapper-form-field',
340
- template: "\n <div class=\"form-group\" [class.has-error]=\"showError\">\n <label *ngIf=\"to.label && to.hideLabel !== true\" [attr.for]=\"id\">\n {{ to.label }}\n <span *ngIf=\"to.required && to.hideRequiredMarker !== true\">*</span>\n </label>\n\n <ng-template #fieldComponent></ng-template>\n\n <div *ngIf=\"showError\" class=\"invalid-feedback\" [style.display]=\"'block'\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </div>\n\n <small *ngIf=\"to.description\" class=\"form-text text-muted\">{{ to.description }}</small>\n </div>\n "
340
+ template: "\n <div class=\"form-group\" [class.has-error]=\"showError\">\n <label *ngIf=\"to.label && to.hideLabel !== true\" [attr.for]=\"id\">\n {{ to.label }}\n <span *ngIf=\"to.required && to.hideRequiredMarker !== true\" aria-hidden=\"true\">*</span>\n </label>\n\n <ng-template #fieldComponent></ng-template>\n\n <div *ngIf=\"showError\" class=\"invalid-feedback\" [style.display]=\"'block'\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </div>\n\n <small *ngIf=\"to.description\" class=\"form-text text-muted\">{{ to.description }}</small>\n </div>\n "
341
341
  }] }
342
342
  ];
343
343
  return FormlyWrapperFormField;
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-formly-bootstrap.umd.js.map","sources":["node_modules/tslib/tslib.es6.js","ng://@ngx-formly/bootstrap/lib/types/checkbox.ts","ng://@ngx-formly/bootstrap/lib/types/multicheckbox.ts","ng://@ngx-formly/bootstrap/lib/types/input.ts","ng://@ngx-formly/bootstrap/lib/types/radio.ts","ng://@ngx-formly/bootstrap/lib/types/textarea.ts","ng://@ngx-formly/bootstrap/lib/types/select.ts","ng://@ngx-formly/bootstrap/lib/wrappers/form-field.wrapper.ts","ng://@ngx-formly/bootstrap/lib/bootstrap.config.ts","ng://@ngx-formly/bootstrap/lib/bootstrap.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\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 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) : new P(function (resolve) { resolve(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 function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n 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}\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\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\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 __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\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 (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = 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","import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-field-checkbox',\n template: `\n <div [ngClass]=\"{\n 'form-check': to.formCheck.indexOf('custom') === -1,\n 'form-check-inline': to.formCheck === 'inline',\n 'custom-control': to.formCheck.indexOf('custom') === 0,\n 'custom-checkbox': to.formCheck === 'custom' || to.formCheck === 'custom-inline',\n 'custom-control-inline': to.formCheck === 'custom-inline',\n 'custom-switch': to.formCheck === 'custom-switch'\n }\">\n <input type=\"checkbox\"\n [class.is-invalid]=\"showError\"\n [class.form-check-input]=\"to.formCheck.indexOf('custom') === -1\"\n [class.position-static]=\"to.formCheck === 'nolabel'\"\n [class.custom-control-input]=\"to.formCheck.indexOf('custom') === 0\"\n [indeterminate]=\"to.indeterminate && formControl.value === null\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\">\n <label [for]=\"id\"\n *ngIf=\"to.formCheck !== 'nolabel'\"\n [class.form-check-label]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-label]=\"to.formCheck.indexOf('custom') === 0\"\n >\n {{ to.label }}\n <span *ngIf=\"to.required && to.hideRequiredMarker !== true\">*</span>\n </label>\n </div>\n `,\n})\nexport class FormlyFieldCheckbox extends FieldType {\n defaultOptions = {\n templateOptions: {\n indeterminate: true,\n hideLabel: true,\n formCheck: 'custom', // 'custom' | 'custom-inline' | 'custom-switch' | 'stacked' | 'inline' | 'nolabel'\n },\n };\n}\n","import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-field-multicheckbox',\n template: `\n <div>\n <div *ngFor=\"let option of to.options | formlySelectOptions:field | async; let i = index;\"\n [ngClass]=\"{\n 'form-check': to.formCheck.indexOf('custom') === -1,\n 'form-check-inline': to.formCheck === 'inline',\n 'custom-control': to.formCheck.indexOf('custom') === 0,\n 'custom-checkbox': to.formCheck === 'custom' || to.formCheck === 'custom-inline',\n 'custom-control-inline': to.formCheck === 'custom-inline',\n 'custom-switch': to.formCheck === 'custom-switch'\n }\"\n >\n <input type=\"checkbox\"\n [id]=\"id + '_' + i\"\n [class.form-check-input]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-input]=\"to.formCheck.indexOf('custom') === 0\"\n [value]=\"option.value\"\n [checked]=\"isChecked(option)\"\n [formlyAttributes]=\"field\"\n (change)=\"onChange(option.value, $event.target.checked)\">\n <label\n [class.form-check-label]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-label]=\"to.formCheck.indexOf('custom') === 0\"\n [for]=\"id + '_' + i\">\n {{ option.label }}\n </label>\n </div>\n </div>\n `,\n})\nexport class FormlyFieldMultiCheckbox extends FieldType {\n defaultOptions = {\n templateOptions: {\n options: [],\n formCheck: 'custom', // 'custom' | 'custom-inline' | 'custom-switch' | 'stacked' | 'inline'\n },\n };\n\n onChange(value: any, checked: boolean) {\n if (this.to.type === 'array') {\n this.formControl.patchValue(checked\n ? [...(this.formControl.value || []), value]\n : [...(this.formControl.value || [])].filter(o => o !== value),\n );\n } else {\n this.formControl.patchValue({ ...this.formControl.value, [value]: checked });\n }\n this.formControl.markAsTouched();\n }\n\n isChecked(option: any) {\n const value = this.formControl.value;\n\n return value && (\n this.to.type === 'array'\n ? (value.indexOf(option.value) !== -1)\n : value[option.value]\n );\n }\n}\n","import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-field-input',\n template: `\n <input *ngIf=\"type !== 'number' else numberTmp\" [type]=\"type\" [formControl]=\"formControl\" class=\"form-control\" [formlyAttributes]=\"field\" [class.is-invalid]=\"showError\">\n <ng-template #numberTmp>\n <input type=\"number\" [formControl]=\"formControl\" class=\"form-control\" [formlyAttributes]=\"field\" [class.is-invalid]=\"showError\">\n </ng-template>\n `,\n})\nexport class FormlyFieldInput extends FieldType {\n get type() {\n return this.to.type || 'text';\n }\n}\n","import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-field-radio',\n template: `\n <div>\n <div *ngFor=\"let option of to.options | formlySelectOptions:field | async; let i = index;\"\n [ngClass]=\"{\n 'form-check': to.formCheck.indexOf('custom') === -1,\n 'form-check-inline': to.formCheck === 'inline',\n 'custom-control custom-radio': to.formCheck.indexOf('custom') === 0,\n 'custom-control-inline': to.formCheck === 'custom-inline'\n }\"\n >\n <input type=\"radio\"\n [id]=\"id + '_' + i\"\n [class.form-check-input]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-input]=\"to.formCheck.indexOf('custom') === 0\"\n [name]=\"field.name || id\"\n [class.is-invalid]=\"showError\"\n [attr.value]=\"option.value\"\n [value]=\"option.value\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [attr.disabled]=\"option.disabled || formControl.disabled ? true : null\">\n <label\n [class.form-check-label]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-label]=\"to.formCheck.indexOf('custom') === 0\"\n [for]=\"id + '_' + i\">\n {{ option.label }}\n </label>\n </div>\n </div>\n `,\n})\nexport class FormlyFieldRadio extends FieldType {\n defaultOptions = {\n templateOptions: {\n options: [],\n formCheck: 'custom', // 'custom' | 'custom-inline' | 'stacked' | 'inline'\n },\n };\n}\n","import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-field-textarea',\n template: `\n <textarea [formControl]=\"formControl\" [cols]=\"to.cols\"\n [rows]=\"to.rows\" class=\"form-control\" [class.is-invalid]=\"showError\"\n [formlyAttributes]=\"field\">\n </textarea>\n `,\n})\nexport class FormlyFieldTextArea extends FieldType {\n defaultOptions = {\n templateOptions: {\n cols: 1,\n rows: 1,\n },\n };\n}\n","import { Component, ViewChild, NgZone } from '@angular/core';\nimport { SelectControlValueAccessor } from '@angular/forms';\nimport { FieldType } from '@ngx-formly/core';\nimport { take } from 'rxjs/operators';\n\n@Component({\n selector: 'formly-field-select',\n template: `\n <select *ngIf=\"to.multiple; else singleSelect\" class=\"form-control\"\n multiple\n [class.custom-select]=\"to.customSelect\"\n [formControl]=\"formControl\"\n [compareWith]=\"to.compareWith\"\n [class.is-invalid]=\"showError\"\n [formlyAttributes]=\"field\">\n <ng-container *ngIf=\"to.options | formlySelectOptions:field | async as opts\">\n <ng-container *ngIf=\"to._flatOptions else grouplist\">\n <ng-container *ngFor=\"let opt of opts\">\n <option [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">{{ opt.label }}</option>\n </ng-container>\n </ng-container>\n\n <ng-template #grouplist>\n <ng-container *ngFor=\"let opt of opts\">\n <option *ngIf=\"!opt.group else optgroup\" [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">{{ opt.label }}</option>\n <ng-template #optgroup>\n <optgroup [label]=\"opt.label\">\n <option *ngFor=\"let child of opt.group\" [ngValue]=\"child.value\" [disabled]=\"child.disabled\">\n {{ child.label }}\n </option>\n </optgroup>\n </ng-template>\n </ng-container>\n </ng-template>\n </ng-container>\n </select>\n\n <ng-template #singleSelect>\n <select class=\"form-control\"\n [formControl]=\"formControl\"\n [compareWith]=\"to.compareWith\"\n [class.custom-select]=\"to.customSelect\"\n [class.is-invalid]=\"showError\"\n [formlyAttributes]=\"field\">\n <option *ngIf=\"to.placeholder\" [ngValue]=\"null\">{{ to.placeholder }}</option>\n <ng-container *ngIf=\"to.options | formlySelectOptions:field | async as opts\">\n <ng-container *ngIf=\"to._flatOptions else grouplist\">\n <ng-container *ngFor=\"let opt of opts\">\n <option [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">{{ opt.label }}</option>\n </ng-container>\n </ng-container>\n\n <ng-template #grouplist>\n <ng-container *ngFor=\"let opt of opts\">\n <option *ngIf=\"!opt.group else optgroup\" [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">{{ opt.label }}</option>\n <ng-template #optgroup>\n <optgroup [label]=\"opt.label\">\n <option *ngFor=\"let child of opt.group\" [ngValue]=\"child.value\" [disabled]=\"child.disabled\">\n {{ child.label }}\n </option>\n </optgroup>\n </ng-template>\n </ng-container>\n </ng-template>\n </ng-container>\n </select>\n </ng-template>\n `,\n})\nexport class FormlyFieldSelect extends FieldType {\n defaultOptions = {\n templateOptions: {\n options: [],\n compareWith(o1: any, o2: any) {\n return o1 === o2;\n },\n },\n };\n\n // workaround for https://github.com/angular/angular/issues/10010\n @ViewChild(SelectControlValueAccessor) set selectAccessor(s: any) {\n if (!s) return;\n\n const writeValue = s.writeValue.bind(s);\n if (s._getOptionId(s.value) === null) {\n writeValue(s.value);\n }\n\n s.writeValue = (value: any) => {\n const id = s._idCounter;\n writeValue(value);\n if (value === null) {\n this.ngZone.onStable.asObservable().pipe(take(1)).subscribe(() => {\n if (id !== s._idCounter && s._getOptionId(value) === null && s._elementRef.nativeElement.selectedIndex !== -1) {\n writeValue(value);\n }\n });\n }\n };\n }\n\n constructor(private ngZone: NgZone) {\n super();\n }\n}\n","import { Component } from '@angular/core';\nimport { FieldWrapper } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-wrapper-form-field',\n template: `\n <div class=\"form-group\" [class.has-error]=\"showError\">\n <label *ngIf=\"to.label && to.hideLabel !== true\" [attr.for]=\"id\">\n {{ to.label }}\n <span *ngIf=\"to.required && to.hideRequiredMarker !== true\">*</span>\n </label>\n\n <ng-template #fieldComponent></ng-template>\n\n <div *ngIf=\"showError\" class=\"invalid-feedback\" [style.display]=\"'block'\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </div>\n\n <small *ngIf=\"to.description\" class=\"form-text text-muted\">{{ to.description }}</small>\n </div>\n `,\n})\nexport class FormlyWrapperFormField extends FieldWrapper {\n}\n","import { ConfigOption } from '@ngx-formly/core';\nimport {\n FormlyFieldInput,\n FormlyFieldCheckbox,\n FormlyFieldRadio,\n FormlyFieldSelect,\n FormlyFieldTextArea,\n FormlyFieldMultiCheckbox,\n} from './types/types';\nimport { FormlyWrapperFormField } from './wrappers/wrappers';\n\nexport const FIELD_TYPE_COMPONENTS = [\n // types\n FormlyFieldInput,\n FormlyFieldCheckbox,\n FormlyFieldRadio,\n FormlyFieldSelect,\n FormlyFieldTextArea,\n FormlyFieldMultiCheckbox,\n\n // wrappers\n FormlyWrapperFormField,\n];\n\nexport const BOOTSTRAP_FORMLY_CONFIG: ConfigOption = {\n types: [\n {\n name: 'input',\n component: FormlyFieldInput,\n wrappers: ['form-field'],\n },\n {\n name: 'checkbox',\n component: FormlyFieldCheckbox,\n wrappers: ['form-field'],\n },\n {\n name: 'radio',\n component: FormlyFieldRadio,\n wrappers: ['form-field'],\n },\n {\n name: 'select',\n component: FormlyFieldSelect,\n wrappers: ['form-field'],\n },\n {\n name: 'textarea',\n component: FormlyFieldTextArea,\n wrappers: ['form-field'],\n },\n {\n name: 'multicheckbox',\n component: FormlyFieldMultiCheckbox,\n wrappers: ['form-field'],\n },\n ],\n wrappers: [\n {name: 'form-field', component: FormlyWrapperFormField },\n ],\n};\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { FormlyModule } from '@ngx-formly/core';\nimport { FormlySelectModule } from '@ngx-formly/core/select';\nimport { BOOTSTRAP_FORMLY_CONFIG, FIELD_TYPE_COMPONENTS } from './bootstrap.config';\nimport { FormlyBootstrapAddonsModule } from '@ngx-formly/bootstrap/addons';\n\n@NgModule({\n declarations: [\n FIELD_TYPE_COMPONENTS,\n ],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormlySelectModule,\n FormlyModule.forChild(BOOTSTRAP_FORMLY_CONFIG),\n FormlyBootstrapAddonsModule,\n ],\n})\nexport class FormlyBootstrapModule {}\n"],"names":["tslib_1.__extends","Component","FieldType","tslib_1.__spread","take","NgZone","ViewChild","SelectControlValueAccessor","FieldWrapper","NgModule","CommonModule","ReactiveFormsModule","FormlySelectModule","FormlyModule","FormlyBootstrapAddonsModule"],"mappings":"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"}
1
+ {"version":3,"file":"ngx-formly-bootstrap.umd.js.map","sources":["node_modules/tslib/tslib.es6.js","ng://@ngx-formly/bootstrap/lib/types/checkbox.ts","ng://@ngx-formly/bootstrap/lib/types/multicheckbox.ts","ng://@ngx-formly/bootstrap/lib/types/input.ts","ng://@ngx-formly/bootstrap/lib/types/radio.ts","ng://@ngx-formly/bootstrap/lib/types/textarea.ts","ng://@ngx-formly/bootstrap/lib/types/select.ts","ng://@ngx-formly/bootstrap/lib/wrappers/form-field.wrapper.ts","ng://@ngx-formly/bootstrap/lib/bootstrap.config.ts","ng://@ngx-formly/bootstrap/lib/bootstrap.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\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 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) : new P(function (resolve) { resolve(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 function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n 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}\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\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\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 __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\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 (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = 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","import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-field-checkbox',\n template: `\n <div [ngClass]=\"{\n 'form-check': to.formCheck.indexOf('custom') === -1,\n 'form-check-inline': to.formCheck === 'inline',\n 'custom-control': to.formCheck.indexOf('custom') === 0,\n 'custom-checkbox': to.formCheck === 'custom' || to.formCheck === 'custom-inline',\n 'custom-control-inline': to.formCheck === 'custom-inline',\n 'custom-switch': to.formCheck === 'custom-switch'\n }\">\n <input type=\"checkbox\"\n [class.is-invalid]=\"showError\"\n [class.form-check-input]=\"to.formCheck.indexOf('custom') === -1\"\n [class.position-static]=\"to.formCheck === 'nolabel'\"\n [class.custom-control-input]=\"to.formCheck.indexOf('custom') === 0\"\n [indeterminate]=\"to.indeterminate && formControl.value === null\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\">\n <label [for]=\"id\"\n *ngIf=\"to.formCheck !== 'nolabel'\"\n [class.form-check-label]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-label]=\"to.formCheck.indexOf('custom') === 0\"\n >\n {{ to.label }}\n <span *ngIf=\"to.required && to.hideRequiredMarker !== true\" aria-hidden=\"true\">*</span>\n </label>\n </div>\n `,\n})\nexport class FormlyFieldCheckbox extends FieldType {\n defaultOptions = {\n templateOptions: {\n indeterminate: true,\n hideLabel: true,\n formCheck: 'custom', // 'custom' | 'custom-inline' | 'custom-switch' | 'stacked' | 'inline' | 'nolabel'\n },\n };\n}\n","import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-field-multicheckbox',\n template: `\n <div>\n <div *ngFor=\"let option of to.options | formlySelectOptions:field | async; let i = index;\"\n [ngClass]=\"{\n 'form-check': to.formCheck.indexOf('custom') === -1,\n 'form-check-inline': to.formCheck === 'inline',\n 'custom-control': to.formCheck.indexOf('custom') === 0,\n 'custom-checkbox': to.formCheck === 'custom' || to.formCheck === 'custom-inline',\n 'custom-control-inline': to.formCheck === 'custom-inline',\n 'custom-switch': to.formCheck === 'custom-switch'\n }\"\n >\n <input type=\"checkbox\"\n [id]=\"id + '_' + i\"\n [class.form-check-input]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-input]=\"to.formCheck.indexOf('custom') === 0\"\n [value]=\"option.value\"\n [checked]=\"isChecked(option)\"\n [formlyAttributes]=\"field\"\n (change)=\"onChange(option.value, $event.target.checked)\">\n <label\n [class.form-check-label]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-label]=\"to.formCheck.indexOf('custom') === 0\"\n [for]=\"id + '_' + i\">\n {{ option.label }}\n </label>\n </div>\n </div>\n `,\n})\nexport class FormlyFieldMultiCheckbox extends FieldType {\n defaultOptions = {\n templateOptions: {\n options: [],\n formCheck: 'custom', // 'custom' | 'custom-inline' | 'custom-switch' | 'stacked' | 'inline'\n },\n };\n\n onChange(value: any, checked: boolean) {\n if (this.to.type === 'array') {\n this.formControl.patchValue(checked\n ? [...(this.formControl.value || []), value]\n : [...(this.formControl.value || [])].filter(o => o !== value),\n );\n } else {\n this.formControl.patchValue({ ...this.formControl.value, [value]: checked });\n }\n this.formControl.markAsTouched();\n }\n\n isChecked(option: any) {\n const value = this.formControl.value;\n\n return value && (\n this.to.type === 'array'\n ? (value.indexOf(option.value) !== -1)\n : value[option.value]\n );\n }\n}\n","import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-field-input',\n template: `\n <input *ngIf=\"type !== 'number' else numberTmp\" [type]=\"type\" [formControl]=\"formControl\" class=\"form-control\" [formlyAttributes]=\"field\" [class.is-invalid]=\"showError\">\n <ng-template #numberTmp>\n <input type=\"number\" [formControl]=\"formControl\" class=\"form-control\" [formlyAttributes]=\"field\" [class.is-invalid]=\"showError\">\n </ng-template>\n `,\n})\nexport class FormlyFieldInput extends FieldType {\n get type() {\n return this.to.type || 'text';\n }\n}\n","import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-field-radio',\n template: `\n <div>\n <div *ngFor=\"let option of to.options | formlySelectOptions:field | async; let i = index;\"\n [ngClass]=\"{\n 'form-check': to.formCheck.indexOf('custom') === -1,\n 'form-check-inline': to.formCheck === 'inline',\n 'custom-control custom-radio': to.formCheck.indexOf('custom') === 0,\n 'custom-control-inline': to.formCheck === 'custom-inline'\n }\"\n >\n <input type=\"radio\"\n [id]=\"id + '_' + i\"\n [class.form-check-input]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-input]=\"to.formCheck.indexOf('custom') === 0\"\n [name]=\"field.name || id\"\n [class.is-invalid]=\"showError\"\n [attr.value]=\"option.value\"\n [value]=\"option.value\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [attr.disabled]=\"option.disabled || formControl.disabled ? true : null\">\n <label\n [class.form-check-label]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-label]=\"to.formCheck.indexOf('custom') === 0\"\n [for]=\"id + '_' + i\">\n {{ option.label }}\n </label>\n </div>\n </div>\n `,\n})\nexport class FormlyFieldRadio extends FieldType {\n defaultOptions = {\n templateOptions: {\n options: [],\n formCheck: 'custom', // 'custom' | 'custom-inline' | 'stacked' | 'inline'\n },\n };\n}\n","import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-field-textarea',\n template: `\n <textarea [formControl]=\"formControl\" [cols]=\"to.cols\"\n [rows]=\"to.rows\" class=\"form-control\" [class.is-invalid]=\"showError\"\n [formlyAttributes]=\"field\">\n </textarea>\n `,\n})\nexport class FormlyFieldTextArea extends FieldType {\n defaultOptions = {\n templateOptions: {\n cols: 1,\n rows: 1,\n },\n };\n}\n","import { Component, ViewChild, NgZone } from '@angular/core';\nimport { SelectControlValueAccessor } from '@angular/forms';\nimport { FieldType } from '@ngx-formly/core';\nimport { take } from 'rxjs/operators';\n\n@Component({\n selector: 'formly-field-select',\n template: `\n <select *ngIf=\"to.multiple; else singleSelect\" class=\"form-control\"\n multiple\n [class.custom-select]=\"to.customSelect\"\n [formControl]=\"formControl\"\n [compareWith]=\"to.compareWith\"\n [class.is-invalid]=\"showError\"\n [formlyAttributes]=\"field\">\n <ng-container *ngIf=\"to.options | formlySelectOptions:field | async as opts\">\n <ng-container *ngIf=\"to._flatOptions else grouplist\">\n <ng-container *ngFor=\"let opt of opts\">\n <option [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">{{ opt.label }}</option>\n </ng-container>\n </ng-container>\n\n <ng-template #grouplist>\n <ng-container *ngFor=\"let opt of opts\">\n <option *ngIf=\"!opt.group else optgroup\" [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">{{ opt.label }}</option>\n <ng-template #optgroup>\n <optgroup [label]=\"opt.label\">\n <option *ngFor=\"let child of opt.group\" [ngValue]=\"child.value\" [disabled]=\"child.disabled\">\n {{ child.label }}\n </option>\n </optgroup>\n </ng-template>\n </ng-container>\n </ng-template>\n </ng-container>\n </select>\n\n <ng-template #singleSelect>\n <select class=\"form-control\"\n [formControl]=\"formControl\"\n [compareWith]=\"to.compareWith\"\n [class.custom-select]=\"to.customSelect\"\n [class.is-invalid]=\"showError\"\n [formlyAttributes]=\"field\">\n <option *ngIf=\"to.placeholder\" [ngValue]=\"null\">{{ to.placeholder }}</option>\n <ng-container *ngIf=\"to.options | formlySelectOptions:field | async as opts\">\n <ng-container *ngIf=\"to._flatOptions else grouplist\">\n <ng-container *ngFor=\"let opt of opts\">\n <option [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">{{ opt.label }}</option>\n </ng-container>\n </ng-container>\n\n <ng-template #grouplist>\n <ng-container *ngFor=\"let opt of opts\">\n <option *ngIf=\"!opt.group else optgroup\" [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">{{ opt.label }}</option>\n <ng-template #optgroup>\n <optgroup [label]=\"opt.label\">\n <option *ngFor=\"let child of opt.group\" [ngValue]=\"child.value\" [disabled]=\"child.disabled\">\n {{ child.label }}\n </option>\n </optgroup>\n </ng-template>\n </ng-container>\n </ng-template>\n </ng-container>\n </select>\n </ng-template>\n `,\n})\nexport class FormlyFieldSelect extends FieldType {\n defaultOptions = {\n templateOptions: {\n options: [],\n compareWith(o1: any, o2: any) {\n return o1 === o2;\n },\n },\n };\n\n // workaround for https://github.com/angular/angular/issues/10010\n @ViewChild(SelectControlValueAccessor) set selectAccessor(s: any) {\n if (!s) return;\n\n const writeValue = s.writeValue.bind(s);\n if (s._getOptionId(s.value) === null) {\n writeValue(s.value);\n }\n\n s.writeValue = (value: any) => {\n const id = s._idCounter;\n writeValue(value);\n if (value === null) {\n this.ngZone.onStable.asObservable().pipe(take(1)).subscribe(() => {\n if (id !== s._idCounter && s._getOptionId(value) === null && s._elementRef.nativeElement.selectedIndex !== -1) {\n writeValue(value);\n }\n });\n }\n };\n }\n\n constructor(private ngZone: NgZone) {\n super();\n }\n}\n","import { Component } from '@angular/core';\nimport { FieldWrapper } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-wrapper-form-field',\n template: `\n <div class=\"form-group\" [class.has-error]=\"showError\">\n <label *ngIf=\"to.label && to.hideLabel !== true\" [attr.for]=\"id\">\n {{ to.label }}\n <span *ngIf=\"to.required && to.hideRequiredMarker !== true\" aria-hidden=\"true\">*</span>\n </label>\n\n <ng-template #fieldComponent></ng-template>\n\n <div *ngIf=\"showError\" class=\"invalid-feedback\" [style.display]=\"'block'\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </div>\n\n <small *ngIf=\"to.description\" class=\"form-text text-muted\">{{ to.description }}</small>\n </div>\n `,\n})\nexport class FormlyWrapperFormField extends FieldWrapper {\n}\n","import { ConfigOption } from '@ngx-formly/core';\nimport {\n FormlyFieldInput,\n FormlyFieldCheckbox,\n FormlyFieldRadio,\n FormlyFieldSelect,\n FormlyFieldTextArea,\n FormlyFieldMultiCheckbox,\n} from './types/types';\nimport { FormlyWrapperFormField } from './wrappers/wrappers';\n\nexport const FIELD_TYPE_COMPONENTS = [\n // types\n FormlyFieldInput,\n FormlyFieldCheckbox,\n FormlyFieldRadio,\n FormlyFieldSelect,\n FormlyFieldTextArea,\n FormlyFieldMultiCheckbox,\n\n // wrappers\n FormlyWrapperFormField,\n];\n\nexport const BOOTSTRAP_FORMLY_CONFIG: ConfigOption = {\n types: [\n {\n name: 'input',\n component: FormlyFieldInput,\n wrappers: ['form-field'],\n },\n {\n name: 'checkbox',\n component: FormlyFieldCheckbox,\n wrappers: ['form-field'],\n },\n {\n name: 'radio',\n component: FormlyFieldRadio,\n wrappers: ['form-field'],\n },\n {\n name: 'select',\n component: FormlyFieldSelect,\n wrappers: ['form-field'],\n },\n {\n name: 'textarea',\n component: FormlyFieldTextArea,\n wrappers: ['form-field'],\n },\n {\n name: 'multicheckbox',\n component: FormlyFieldMultiCheckbox,\n wrappers: ['form-field'],\n },\n ],\n wrappers: [\n {name: 'form-field', component: FormlyWrapperFormField },\n ],\n};\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { FormlyModule } from '@ngx-formly/core';\nimport { FormlySelectModule } from '@ngx-formly/core/select';\nimport { BOOTSTRAP_FORMLY_CONFIG, FIELD_TYPE_COMPONENTS } from './bootstrap.config';\nimport { FormlyBootstrapAddonsModule } from '@ngx-formly/bootstrap/addons';\n\n@NgModule({\n declarations: [\n FIELD_TYPE_COMPONENTS,\n ],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormlySelectModule,\n FormlyModule.forChild(BOOTSTRAP_FORMLY_CONFIG),\n FormlyBootstrapAddonsModule,\n ],\n})\nexport class FormlyBootstrapModule {}\n"],"names":["tslib_1.__extends","Component","FieldType","tslib_1.__spread","take","NgZone","ViewChild","SelectControlValueAccessor","FieldWrapper","NgModule","CommonModule","ReactiveFormsModule","FormlySelectModule","FormlyModule","FormlyBootstrapAddonsModule"],"mappings":";;;;;;IAAA;;;;;;;;;;;;;;IAcA;IAEA,IAAI,aAAa,GAAG,UAAS,CAAC,EAAE,CAAC;QAC7B,aAAa,GAAG,MAAM,CAAC,cAAc;aAChC,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;YAC5E,UAAU,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;gBAAE,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;oBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;AAEF,aAAgB,SAAS,CAAC,CAAC,EAAE,CAAC;QAC1B,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpB,SAAS,EAAE,KAAK,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;QACvC,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;AAED,IAAO,IAAI,QAAQ,GAAG;QAClB,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC;YAC3C,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjD,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACjB,KAAK,IAAI,CAAC,IAAI,CAAC;oBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;wBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAChF;YACD,OAAO,CAAC,CAAC;SACZ,CAAA;QACD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAA;AAED,aA+EgB,MAAM,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QACjB,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI;YACA,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI;gBAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SAC9E;QACD,OAAO,KAAK,EAAE;YAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;SAAE;gBAC/B;YACJ,IAAI;gBACA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACpD;oBACO;gBAAE,IAAI,CAAC;oBAAE,MAAM,CAAC,CAAC,KAAK,CAAC;aAAE;SACpC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;AAED,aAAgB,QAAQ;QACpB,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;YAC9C,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,EAAE,CAAC;IACd,CAAC;;;;;;;QC3GwCA,uCAAS;QA9BlD;YAAA,qEAsCC;YAPC,oBAAc,GAAG;gBACf,eAAe,EAAE;oBACf,aAAa,EAAE,IAAI;oBACnB,SAAS,EAAE,IAAI;oBACf,SAAS,EAAE,QAAQ;iBACpB;aACF,CAAC;;SACH;;oBAtCAC,cAAS,SAAC;wBACT,QAAQ,EAAE,uBAAuB;wBACjC,QAAQ,EAAE,mvCA0BT;qBACF;;QASD,0BAAC;KAAA,CARwCC,gBAAS;;;;;;;QCEJF,4CAAS;QAhCvD;YAAA,qEA6DC;YA5BC,oBAAc,GAAG;gBACf,eAAe,EAAE;oBACf,OAAO,EAAE,EAAE;oBACX,SAAS,EAAE,QAAQ;iBACpB;aACF,CAAC;;SAuBH;;;;;;QArBC,2CAAQ;;;;;YAAR,UAAS,KAAU,EAAE,OAAgB;;gBACnC,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,OAAO,EAAE;oBAC5B,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO;oCAC1B,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE,IAAG,KAAK,KACzCG,UAAK,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE,GAAG,MAAM;;;mBAAC,UAAA,CAAC,IAAI,OAAA,CAAC,KAAK,KAAK,GAAA,EAAC,CAC/D,CAAC;iBACH;qBAAM;oBACL,IAAI,CAAC,WAAW,CAAC,UAAU,cAAM,IAAI,CAAC,WAAW,CAAC,KAAK,eAAG,KAAK,IAAG,OAAO,OAAG,CAAC;iBAC9E;gBACD,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;aAClC;;;;;QAED,4CAAS;;;;YAAT,UAAU,MAAW;;oBACb,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK;gBAEpC,OAAO,KAAK,KACV,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,OAAO;uBACnB,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;sBACnC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CACxB,CAAC;aACH;;oBA5DFF,cAAS,SAAC;wBACT,QAAQ,EAAE,4BAA4B;wBACtC,QAAQ,EAAE,4vCA4BT;qBACF;;QA8BD,+BAAC;KAAA,CA7B6CC,gBAAS;;;;;;;QCvBjBF,oCAAS;QAT/C;;SAaC;QAHC,sBAAI,kCAAI;;;gBAAR;gBACE,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,MAAM,CAAC;aAC/B;;;WAAA;;oBAZFC,cAAS,SAAC;wBACT,QAAQ,EAAE,oBAAoB;wBAC9B,QAAQ,EAAE,qYAKT;qBACF;;QAKD,uBAAC;KAAA,CAJqCC,gBAAS;;;;;;;QCwBTF,oCAAS;QAjC/C;YAAA,qEAwCC;YANC,oBAAc,GAAG;gBACf,eAAe,EAAE;oBACf,OAAO,EAAE,EAAE;oBACX,SAAS,EAAE,QAAQ;iBACpB;aACF,CAAC;;SACH;;oBAxCAC,cAAS,SAAC;wBACT,QAAQ,EAAE,oBAAoB;wBAC9B,QAAQ,EAAE,ovCA6BT;qBACF;;QAQD,uBAAC;KAAA,CAPqCC,gBAAS;;;;;;;QCxBNF,uCAAS;QATlD;YAAA,qEAgBC;YANC,oBAAc,GAAG;gBACf,eAAe,EAAE;oBACf,IAAI,EAAE,CAAC;oBACP,IAAI,EAAE,CAAC;iBACR;aACF,CAAC;;SACH;;oBAhBAC,cAAS,SAAC;wBACT,QAAQ,EAAE,uBAAuB;wBACjC,QAAQ,EAAE,8MAKT;qBACF;;QAQD,0BAAC;KAAA,CAPwCC,gBAAS;;;;;;;QCyDXF,qCAAS;QAgC9C,2BAAoB,MAAc;YAAlC,YACE,iBAAO,SACR;YAFmB,YAAM,GAAN,MAAM,CAAQ;YA/BlC,oBAAc,GAAG;gBACf,eAAe,EAAE;oBACf,OAAO,EAAE,EAAE;oBACX,WAAW;;;;kCAAC,EAAO,EAAE,EAAO;wBAC1B,OAAO,EAAE,KAAK,EAAE,CAAC;qBAClB;iBACF;aACF,CAAC;;SA0BD;QAvBD,sBAA2C,6CAAc;;;;;;;;YAAzD,UAA0D,CAAM;gBAAhE,iBAmBC;gBAlBC,IAAI,CAAC,CAAC;oBAAE,OAAO;;oBAET,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;gBACvC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE;oBACpC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;iBACrB;gBAED,CAAC,CAAC,UAAU;;;mBAAG,UAAC,KAAU;;wBAClB,EAAE,GAAG,CAAC,CAAC,UAAU;oBACvB,UAAU,CAAC,KAAK,CAAC,CAAC;oBAClB,IAAI,KAAK,KAAK,IAAI,EAAE;wBAClB,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,CAACI,cAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;;2BAAC;4BAC1D,IAAI,EAAE,KAAK,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,KAAK,CAAC,CAAC,EAAE;gCAC7G,UAAU,CAAC,KAAK,CAAC,CAAC;6BACnB;yBACF,EAAC,CAAC;qBACJ;iBACF,CAAA,CAAC;aACH;;;WAAA;;oBA9FFH,cAAS,SAAC;wBACT,QAAQ,EAAE,qBAAqB;wBAC/B,QAAQ,EAAE,upFA4DT;qBACF;;;;;wBApE8BI,WAAM;;;;qCAgFlCC,cAAS,SAACC,gCAA0B;;QAwBvC,wBAAC;KAAA,CAnCsCL,gBAAS;;;;;;;;;;;;QC/CJF,0CAAY;QAnBxD;;SAoBC;;oBApBAC,cAAS,SAAC;wBACT,QAAQ,EAAE,2BAA2B;wBACrC,QAAQ,EAAE,ioBAeT;qBACF;;QAED,6BAAC;KAAA,CAD2CO,mBAAY;;;;;;;;;;;ACrBxD;AAUA,QAAa,qBAAqB,GAAG;;QAEnC,gBAAgB;QAChB,mBAAmB;QACnB,gBAAgB;QAChB,iBAAiB;QACjB,mBAAmB;QACnB,wBAAwB;;QAGxB,sBAAsB;KACvB;;AAED,QAAa,uBAAuB,GAAiB;QACnD,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,OAAO;gBACb,SAAS,EAAE,gBAAgB;gBAC3B,QAAQ,EAAE,CAAC,YAAY,CAAC;aACzB;YACD;gBACE,IAAI,EAAE,UAAU;gBAChB,SAAS,EAAE,mBAAmB;gBAC9B,QAAQ,EAAE,CAAC,YAAY,CAAC;aACzB;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,SAAS,EAAE,gBAAgB;gBAC3B,QAAQ,EAAE,CAAC,YAAY,CAAC;aACzB;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,iBAAiB;gBAC5B,QAAQ,EAAE,CAAC,YAAY,CAAC;aACzB;YACD;gBACE,IAAI,EAAE,UAAU;gBAChB,SAAS,EAAE,mBAAmB;gBAC9B,QAAQ,EAAE,CAAC,YAAY,CAAC;aACzB;YACD;gBACE,IAAI,EAAE,eAAe;gBACrB,SAAS,EAAE,wBAAwB;gBACnC,QAAQ,EAAE,CAAC,YAAY,CAAC;aACzB;SACF;QACD,QAAQ,EAAE;YACR,EAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,sBAAsB,EAAE;SACzD;KACF;;;;;;AC5DD;QAQA;SAYqC;;oBAZpCC,aAAQ,SAAC;wBACR,YAAY,EAAE;4BACZ,qBAAqB;yBACtB;wBACD,OAAO,EAAE;4BACPC,mBAAY;4BACZC,yBAAmB;4BACnBC,yBAAkB;4BAClBC,mBAAY,CAAC,QAAQ,CAAC,uBAAuB,CAAC;4BAC9CC,kCAA2B;yBAC5B;qBACF;;QACmC,4BAAC;KAZrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,2 +1,2 @@
1
- !function(o,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("rxjs/operators"),require("@angular/core"),require("@angular/common"),require("@angular/forms"),require("@ngx-formly/core"),require("@ngx-formly/core/select"),require("@ngx-formly/bootstrap/addons")):"function"==typeof define&&define.amd?define("@ngx-formly/bootstrap",["exports","rxjs/operators","@angular/core","@angular/common","@angular/forms","@ngx-formly/core","@ngx-formly/core/select","@ngx-formly/bootstrap/addons"],e):e((o["ngx-formly"]=o["ngx-formly"]||{},o["ngx-formly"].bootstrap={}),o.rxjs.operators,o.ng.core,o.ng.common,o.ng.forms,o.core$1,o.select,o["ngx-formly"].bootstrap.addons)}(this,function(o,l,n,e,r,t,i,c){"use strict";var s=function(o,e){return(s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(o,e){o.__proto__=e}||function(o,e){for(var t in e)e.hasOwnProperty(t)&&(o[t]=e[t])})(o,e)};function a(o,e){function t(){this.constructor=o}s(o,e),o.prototype=null===e?Object.create(e):(t.prototype=e.prototype,new t)}var p=function(){return(p=Object.assign||function(o){for(var e,t=1,n=arguments.length;t<n;t++)for(var r in e=arguments[t])Object.prototype.hasOwnProperty.call(e,r)&&(o[r]=e[r]);return o}).apply(this,arguments)};function m(o,e){var t="function"==typeof Symbol&&o[Symbol.iterator];if(!t)return o;var n,r,l=t.call(o),i=[];try{for(;(void 0===e||0<e--)&&!(n=l.next()).done;)i.push(n.value)}catch(c){r={error:c}}finally{try{n&&!n.done&&(t=l["return"])&&t.call(l)}finally{if(r)throw r.error}}return i}function f(){for(var o=[],e=0;e<arguments.length;e++)o=o.concat(m(arguments[e]));return o}var u=function(e){function o(){var o=null!==e&&e.apply(this,arguments)||this;return o.defaultOptions={templateOptions:{indeterminate:!0,hideLabel:!0,formCheck:"custom"}},o}return a(o,e),o.decorators=[{type:n.Component,args:[{selector:"formly-field-checkbox",template:"\n <div [ngClass]=\"{\n 'form-check': to.formCheck.indexOf('custom') === -1,\n 'form-check-inline': to.formCheck === 'inline',\n 'custom-control': to.formCheck.indexOf('custom') === 0,\n 'custom-checkbox': to.formCheck === 'custom' || to.formCheck === 'custom-inline',\n 'custom-control-inline': to.formCheck === 'custom-inline',\n 'custom-switch': to.formCheck === 'custom-switch'\n }\">\n <input type=\"checkbox\"\n [class.is-invalid]=\"showError\"\n [class.form-check-input]=\"to.formCheck.indexOf('custom') === -1\"\n [class.position-static]=\"to.formCheck === 'nolabel'\"\n [class.custom-control-input]=\"to.formCheck.indexOf('custom') === 0\"\n [indeterminate]=\"to.indeterminate && formControl.value === null\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\">\n <label [for]=\"id\"\n *ngIf=\"to.formCheck !== 'nolabel'\"\n [class.form-check-label]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-label]=\"to.formCheck.indexOf('custom') === 0\"\n >\n {{ to.label }}\n <span *ngIf=\"to.required && to.hideRequiredMarker !== true\">*</span>\n </label>\n </div>\n "}]}],o}(t.FieldType),d=function(e){function o(){var o=null!==e&&e.apply(this,arguments)||this;return o.defaultOptions={templateOptions:{options:[],formCheck:"custom"}},o}return a(o,e),o.prototype.onChange=function(e,o){var t;"array"===this.to.type?this.formControl.patchValue(o?f(this.formControl.value||[],[e]):f(this.formControl.value||[]).filter(function(o){return o!==e})):this.formControl.patchValue(p({},this.formControl.value,((t={})[e]=o,t))),this.formControl.markAsTouched()},o.prototype.isChecked=function(o){var e=this.formControl.value;return e&&("array"===this.to.type?-1!==e.indexOf(o.value):e[o.value])},o.decorators=[{type:n.Component,args:[{selector:"formly-field-multicheckbox",template:"\n <div>\n <div *ngFor=\"let option of to.options | formlySelectOptions:field | async; let i = index;\"\n [ngClass]=\"{\n 'form-check': to.formCheck.indexOf('custom') === -1,\n 'form-check-inline': to.formCheck === 'inline',\n 'custom-control': to.formCheck.indexOf('custom') === 0,\n 'custom-checkbox': to.formCheck === 'custom' || to.formCheck === 'custom-inline',\n 'custom-control-inline': to.formCheck === 'custom-inline',\n 'custom-switch': to.formCheck === 'custom-switch'\n }\"\n >\n <input type=\"checkbox\"\n [id]=\"id + '_' + i\"\n [class.form-check-input]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-input]=\"to.formCheck.indexOf('custom') === 0\"\n [value]=\"option.value\"\n [checked]=\"isChecked(option)\"\n [formlyAttributes]=\"field\"\n (change)=\"onChange(option.value, $event.target.checked)\">\n <label\n [class.form-check-label]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-label]=\"to.formCheck.indexOf('custom') === 0\"\n [for]=\"id + '_' + i\">\n {{ option.label }}\n </label>\n </div>\n </div>\n "}]}],o}(t.FieldType),h=function(o){function e(){return null!==o&&o.apply(this,arguments)||this}return a(e,o),Object.defineProperty(e.prototype,"type",{get:function(){return this.to.type||"text"},enumerable:!0,configurable:!0}),e.decorators=[{type:n.Component,args:[{selector:"formly-field-input",template:'\n <input *ngIf="type !== \'number\' else numberTmp" [type]="type" [formControl]="formControl" class="form-control" [formlyAttributes]="field" [class.is-invalid]="showError">\n <ng-template #numberTmp>\n <input type="number" [formControl]="formControl" class="form-control" [formlyAttributes]="field" [class.is-invalid]="showError">\n </ng-template>\n '}]}],e}(t.FieldType),g=function(e){function o(){var o=null!==e&&e.apply(this,arguments)||this;return o.defaultOptions={templateOptions:{options:[],formCheck:"custom"}},o}return a(o,e),o.decorators=[{type:n.Component,args:[{selector:"formly-field-radio",template:'\n <div>\n <div *ngFor="let option of to.options | formlySelectOptions:field | async; let i = index;"\n [ngClass]="{\n \'form-check\': to.formCheck.indexOf(\'custom\') === -1,\n \'form-check-inline\': to.formCheck === \'inline\',\n \'custom-control custom-radio\': to.formCheck.indexOf(\'custom\') === 0,\n \'custom-control-inline\': to.formCheck === \'custom-inline\'\n }"\n >\n <input type="radio"\n [id]="id + \'_\' + i"\n [class.form-check-input]="to.formCheck.indexOf(\'custom\') === -1"\n [class.custom-control-input]="to.formCheck.indexOf(\'custom\') === 0"\n [name]="field.name || id"\n [class.is-invalid]="showError"\n [attr.value]="option.value"\n [value]="option.value"\n [formControl]="formControl"\n [formlyAttributes]="field"\n [attr.disabled]="option.disabled || formControl.disabled ? true : null">\n <label\n [class.form-check-label]="to.formCheck.indexOf(\'custom\') === -1"\n [class.custom-control-label]="to.formCheck.indexOf(\'custom\') === 0"\n [for]="id + \'_\' + i">\n {{ option.label }}\n </label>\n </div>\n </div>\n '}]}],o}(t.FieldType),y=function(e){function o(){var o=null!==e&&e.apply(this,arguments)||this;return o.defaultOptions={templateOptions:{cols:1,rows:1}},o}return a(o,e),o.decorators=[{type:n.Component,args:[{selector:"formly-field-textarea",template:'\n <textarea [formControl]="formControl" [cols]="to.cols"\n [rows]="to.rows" class="form-control" [class.is-invalid]="showError"\n [formlyAttributes]="field">\n </textarea>\n '}]}],o}(t.FieldType),b=function(t){function o(o){var e=t.call(this)||this;return e.ngZone=o,e.defaultOptions={templateOptions:{options:[],compareWith:function(o,e){return o===e}}},e}return a(o,t),Object.defineProperty(o.prototype,"selectAccessor",{set:function(t){var n=this;if(t){var r=t.writeValue.bind(t);null===t._getOptionId(t.value)&&r(t.value),t.writeValue=function(o){var e=t._idCounter;r(o),null===o&&n.ngZone.onStable.asObservable().pipe(l.take(1)).subscribe(function(){e!==t._idCounter&&null===t._getOptionId(o)&&-1!==t._elementRef.nativeElement.selectedIndex&&r(o)})}}},enumerable:!0,configurable:!0}),o.decorators=[{type:n.Component,args:[{selector:"formly-field-select",template:'\n <select *ngIf="to.multiple; else singleSelect" class="form-control"\n multiple\n [class.custom-select]="to.customSelect"\n [formControl]="formControl"\n [compareWith]="to.compareWith"\n [class.is-invalid]="showError"\n [formlyAttributes]="field">\n <ng-container *ngIf="to.options | formlySelectOptions:field | async as opts">\n <ng-container *ngIf="to._flatOptions else grouplist">\n <ng-container *ngFor="let opt of opts">\n <option [ngValue]="opt.value" [disabled]="opt.disabled">{{ opt.label }}</option>\n </ng-container>\n </ng-container>\n\n <ng-template #grouplist>\n <ng-container *ngFor="let opt of opts">\n <option *ngIf="!opt.group else optgroup" [ngValue]="opt.value" [disabled]="opt.disabled">{{ opt.label }}</option>\n <ng-template #optgroup>\n <optgroup [label]="opt.label">\n <option *ngFor="let child of opt.group" [ngValue]="child.value" [disabled]="child.disabled">\n {{ child.label }}\n </option>\n </optgroup>\n </ng-template>\n </ng-container>\n </ng-template>\n </ng-container>\n </select>\n\n <ng-template #singleSelect>\n <select class="form-control"\n [formControl]="formControl"\n [compareWith]="to.compareWith"\n [class.custom-select]="to.customSelect"\n [class.is-invalid]="showError"\n [formlyAttributes]="field">\n <option *ngIf="to.placeholder" [ngValue]="null">{{ to.placeholder }}</option>\n <ng-container *ngIf="to.options | formlySelectOptions:field | async as opts">\n <ng-container *ngIf="to._flatOptions else grouplist">\n <ng-container *ngFor="let opt of opts">\n <option [ngValue]="opt.value" [disabled]="opt.disabled">{{ opt.label }}</option>\n </ng-container>\n </ng-container>\n\n <ng-template #grouplist>\n <ng-container *ngFor="let opt of opts">\n <option *ngIf="!opt.group else optgroup" [ngValue]="opt.value" [disabled]="opt.disabled">{{ opt.label }}</option>\n <ng-template #optgroup>\n <optgroup [label]="opt.label">\n <option *ngFor="let child of opt.group" [ngValue]="child.value" [disabled]="child.disabled">\n {{ child.label }}\n </option>\n </optgroup>\n </ng-template>\n </ng-container>\n </ng-template>\n </ng-container>\n </select>\n </ng-template>\n '}]}],o.ctorParameters=function(){return[{type:n.NgZone}]},o.propDecorators={selectAccessor:[{type:n.ViewChild,args:[r.SelectControlValueAccessor]}]},o}(t.FieldType),C=function(o){function e(){return null!==o&&o.apply(this,arguments)||this}return a(e,o),e.decorators=[{type:n.Component,args:[{selector:"formly-wrapper-form-field",template:'\n <div class="form-group" [class.has-error]="showError">\n <label *ngIf="to.label && to.hideLabel !== true" [attr.for]="id">\n {{ to.label }}\n <span *ngIf="to.required && to.hideRequiredMarker !== true">*</span>\n </label>\n\n <ng-template #fieldComponent></ng-template>\n\n <div *ngIf="showError" class="invalid-feedback" [style.display]="\'block\'">\n <formly-validation-message [field]="field"></formly-validation-message>\n </div>\n\n <small *ngIf="to.description" class="form-text text-muted">{{ to.description }}</small>\n </div>\n '}]}],e}(t.FieldWrapper),v=[h,u,g,b,y,d,C],k={types:[{name:"input",component:h,wrappers:["form-field"]},{name:"checkbox",component:u,wrappers:["form-field"]},{name:"radio",component:g,wrappers:["form-field"]},{name:"select",component:b,wrappers:["form-field"]},{name:"textarea",component:y,wrappers:["form-field"]},{name:"multicheckbox",component:d,wrappers:["form-field"]}],wrappers:[{name:"form-field",component:C}]},x=function(){function o(){}return o.decorators=[{type:n.NgModule,args:[{declarations:[v],imports:[e.CommonModule,r.ReactiveFormsModule,i.FormlySelectModule,t.FormlyModule.forChild(k),c.FormlyBootstrapAddonsModule]}]}],o}();o.FormlyBootstrapModule=x,o.FormlyFieldCheckbox=u,o.FormlyFieldMultiCheckbox=d,o.FormlyFieldInput=h,o.FormlyFieldRadio=g,o.FormlyFieldTextArea=y,o.FormlyFieldSelect=b,o.FormlyWrapperFormField=C,o.ɵb=k,o.ɵa=v,Object.defineProperty(o,"__esModule",{value:!0})});
1
+ !function(o,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("rxjs/operators"),require("@angular/core"),require("@angular/common"),require("@angular/forms"),require("@ngx-formly/core"),require("@ngx-formly/core/select"),require("@ngx-formly/bootstrap/addons")):"function"==typeof define&&define.amd?define("@ngx-formly/bootstrap",["exports","rxjs/operators","@angular/core","@angular/common","@angular/forms","@ngx-formly/core","@ngx-formly/core/select","@ngx-formly/bootstrap/addons"],e):e((o["ngx-formly"]=o["ngx-formly"]||{},o["ngx-formly"].bootstrap={}),o.rxjs.operators,o.ng.core,o.ng.common,o.ng.forms,o.core$1,o.select,o["ngx-formly"].bootstrap.addons)}(this,function(o,l,n,e,r,t,i,c){"use strict";var a=function(o,e){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(o,e){o.__proto__=e}||function(o,e){for(var t in e)e.hasOwnProperty(t)&&(o[t]=e[t])})(o,e)};function s(o,e){function t(){this.constructor=o}a(o,e),o.prototype=null===e?Object.create(e):(t.prototype=e.prototype,new t)}var p=function(){return(p=Object.assign||function(o){for(var e,t=1,n=arguments.length;t<n;t++)for(var r in e=arguments[t])Object.prototype.hasOwnProperty.call(e,r)&&(o[r]=e[r]);return o}).apply(this,arguments)};function m(o,e){var t="function"==typeof Symbol&&o[Symbol.iterator];if(!t)return o;var n,r,l=t.call(o),i=[];try{for(;(void 0===e||0<e--)&&!(n=l.next()).done;)i.push(n.value)}catch(c){r={error:c}}finally{try{n&&!n.done&&(t=l["return"])&&t.call(l)}finally{if(r)throw r.error}}return i}function f(){for(var o=[],e=0;e<arguments.length;e++)o=o.concat(m(arguments[e]));return o}var u=function(e){function o(){var o=null!==e&&e.apply(this,arguments)||this;return o.defaultOptions={templateOptions:{indeterminate:!0,hideLabel:!0,formCheck:"custom"}},o}return s(o,e),o.decorators=[{type:n.Component,args:[{selector:"formly-field-checkbox",template:"\n <div [ngClass]=\"{\n 'form-check': to.formCheck.indexOf('custom') === -1,\n 'form-check-inline': to.formCheck === 'inline',\n 'custom-control': to.formCheck.indexOf('custom') === 0,\n 'custom-checkbox': to.formCheck === 'custom' || to.formCheck === 'custom-inline',\n 'custom-control-inline': to.formCheck === 'custom-inline',\n 'custom-switch': to.formCheck === 'custom-switch'\n }\">\n <input type=\"checkbox\"\n [class.is-invalid]=\"showError\"\n [class.form-check-input]=\"to.formCheck.indexOf('custom') === -1\"\n [class.position-static]=\"to.formCheck === 'nolabel'\"\n [class.custom-control-input]=\"to.formCheck.indexOf('custom') === 0\"\n [indeterminate]=\"to.indeterminate && formControl.value === null\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\">\n <label [for]=\"id\"\n *ngIf=\"to.formCheck !== 'nolabel'\"\n [class.form-check-label]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-label]=\"to.formCheck.indexOf('custom') === 0\"\n >\n {{ to.label }}\n <span *ngIf=\"to.required && to.hideRequiredMarker !== true\" aria-hidden=\"true\">*</span>\n </label>\n </div>\n "}]}],o}(t.FieldType),d=function(e){function o(){var o=null!==e&&e.apply(this,arguments)||this;return o.defaultOptions={templateOptions:{options:[],formCheck:"custom"}},o}return s(o,e),o.prototype.onChange=function(e,o){var t;"array"===this.to.type?this.formControl.patchValue(o?f(this.formControl.value||[],[e]):f(this.formControl.value||[]).filter(function(o){return o!==e})):this.formControl.patchValue(p({},this.formControl.value,((t={})[e]=o,t))),this.formControl.markAsTouched()},o.prototype.isChecked=function(o){var e=this.formControl.value;return e&&("array"===this.to.type?-1!==e.indexOf(o.value):e[o.value])},o.decorators=[{type:n.Component,args:[{selector:"formly-field-multicheckbox",template:"\n <div>\n <div *ngFor=\"let option of to.options | formlySelectOptions:field | async; let i = index;\"\n [ngClass]=\"{\n 'form-check': to.formCheck.indexOf('custom') === -1,\n 'form-check-inline': to.formCheck === 'inline',\n 'custom-control': to.formCheck.indexOf('custom') === 0,\n 'custom-checkbox': to.formCheck === 'custom' || to.formCheck === 'custom-inline',\n 'custom-control-inline': to.formCheck === 'custom-inline',\n 'custom-switch': to.formCheck === 'custom-switch'\n }\"\n >\n <input type=\"checkbox\"\n [id]=\"id + '_' + i\"\n [class.form-check-input]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-input]=\"to.formCheck.indexOf('custom') === 0\"\n [value]=\"option.value\"\n [checked]=\"isChecked(option)\"\n [formlyAttributes]=\"field\"\n (change)=\"onChange(option.value, $event.target.checked)\">\n <label\n [class.form-check-label]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-label]=\"to.formCheck.indexOf('custom') === 0\"\n [for]=\"id + '_' + i\">\n {{ option.label }}\n </label>\n </div>\n </div>\n "}]}],o}(t.FieldType),h=function(o){function e(){return null!==o&&o.apply(this,arguments)||this}return s(e,o),Object.defineProperty(e.prototype,"type",{get:function(){return this.to.type||"text"},enumerable:!0,configurable:!0}),e.decorators=[{type:n.Component,args:[{selector:"formly-field-input",template:'\n <input *ngIf="type !== \'number\' else numberTmp" [type]="type" [formControl]="formControl" class="form-control" [formlyAttributes]="field" [class.is-invalid]="showError">\n <ng-template #numberTmp>\n <input type="number" [formControl]="formControl" class="form-control" [formlyAttributes]="field" [class.is-invalid]="showError">\n </ng-template>\n '}]}],e}(t.FieldType),g=function(e){function o(){var o=null!==e&&e.apply(this,arguments)||this;return o.defaultOptions={templateOptions:{options:[],formCheck:"custom"}},o}return s(o,e),o.decorators=[{type:n.Component,args:[{selector:"formly-field-radio",template:'\n <div>\n <div *ngFor="let option of to.options | formlySelectOptions:field | async; let i = index;"\n [ngClass]="{\n \'form-check\': to.formCheck.indexOf(\'custom\') === -1,\n \'form-check-inline\': to.formCheck === \'inline\',\n \'custom-control custom-radio\': to.formCheck.indexOf(\'custom\') === 0,\n \'custom-control-inline\': to.formCheck === \'custom-inline\'\n }"\n >\n <input type="radio"\n [id]="id + \'_\' + i"\n [class.form-check-input]="to.formCheck.indexOf(\'custom\') === -1"\n [class.custom-control-input]="to.formCheck.indexOf(\'custom\') === 0"\n [name]="field.name || id"\n [class.is-invalid]="showError"\n [attr.value]="option.value"\n [value]="option.value"\n [formControl]="formControl"\n [formlyAttributes]="field"\n [attr.disabled]="option.disabled || formControl.disabled ? true : null">\n <label\n [class.form-check-label]="to.formCheck.indexOf(\'custom\') === -1"\n [class.custom-control-label]="to.formCheck.indexOf(\'custom\') === 0"\n [for]="id + \'_\' + i">\n {{ option.label }}\n </label>\n </div>\n </div>\n '}]}],o}(t.FieldType),y=function(e){function o(){var o=null!==e&&e.apply(this,arguments)||this;return o.defaultOptions={templateOptions:{cols:1,rows:1}},o}return s(o,e),o.decorators=[{type:n.Component,args:[{selector:"formly-field-textarea",template:'\n <textarea [formControl]="formControl" [cols]="to.cols"\n [rows]="to.rows" class="form-control" [class.is-invalid]="showError"\n [formlyAttributes]="field">\n </textarea>\n '}]}],o}(t.FieldType),b=function(t){function o(o){var e=t.call(this)||this;return e.ngZone=o,e.defaultOptions={templateOptions:{options:[],compareWith:function(o,e){return o===e}}},e}return s(o,t),Object.defineProperty(o.prototype,"selectAccessor",{set:function(t){var n=this;if(t){var r=t.writeValue.bind(t);null===t._getOptionId(t.value)&&r(t.value),t.writeValue=function(o){var e=t._idCounter;r(o),null===o&&n.ngZone.onStable.asObservable().pipe(l.take(1)).subscribe(function(){e!==t._idCounter&&null===t._getOptionId(o)&&-1!==t._elementRef.nativeElement.selectedIndex&&r(o)})}}},enumerable:!0,configurable:!0}),o.decorators=[{type:n.Component,args:[{selector:"formly-field-select",template:'\n <select *ngIf="to.multiple; else singleSelect" class="form-control"\n multiple\n [class.custom-select]="to.customSelect"\n [formControl]="formControl"\n [compareWith]="to.compareWith"\n [class.is-invalid]="showError"\n [formlyAttributes]="field">\n <ng-container *ngIf="to.options | formlySelectOptions:field | async as opts">\n <ng-container *ngIf="to._flatOptions else grouplist">\n <ng-container *ngFor="let opt of opts">\n <option [ngValue]="opt.value" [disabled]="opt.disabled">{{ opt.label }}</option>\n </ng-container>\n </ng-container>\n\n <ng-template #grouplist>\n <ng-container *ngFor="let opt of opts">\n <option *ngIf="!opt.group else optgroup" [ngValue]="opt.value" [disabled]="opt.disabled">{{ opt.label }}</option>\n <ng-template #optgroup>\n <optgroup [label]="opt.label">\n <option *ngFor="let child of opt.group" [ngValue]="child.value" [disabled]="child.disabled">\n {{ child.label }}\n </option>\n </optgroup>\n </ng-template>\n </ng-container>\n </ng-template>\n </ng-container>\n </select>\n\n <ng-template #singleSelect>\n <select class="form-control"\n [formControl]="formControl"\n [compareWith]="to.compareWith"\n [class.custom-select]="to.customSelect"\n [class.is-invalid]="showError"\n [formlyAttributes]="field">\n <option *ngIf="to.placeholder" [ngValue]="null">{{ to.placeholder }}</option>\n <ng-container *ngIf="to.options | formlySelectOptions:field | async as opts">\n <ng-container *ngIf="to._flatOptions else grouplist">\n <ng-container *ngFor="let opt of opts">\n <option [ngValue]="opt.value" [disabled]="opt.disabled">{{ opt.label }}</option>\n </ng-container>\n </ng-container>\n\n <ng-template #grouplist>\n <ng-container *ngFor="let opt of opts">\n <option *ngIf="!opt.group else optgroup" [ngValue]="opt.value" [disabled]="opt.disabled">{{ opt.label }}</option>\n <ng-template #optgroup>\n <optgroup [label]="opt.label">\n <option *ngFor="let child of opt.group" [ngValue]="child.value" [disabled]="child.disabled">\n {{ child.label }}\n </option>\n </optgroup>\n </ng-template>\n </ng-container>\n </ng-template>\n </ng-container>\n </select>\n </ng-template>\n '}]}],o.ctorParameters=function(){return[{type:n.NgZone}]},o.propDecorators={selectAccessor:[{type:n.ViewChild,args:[r.SelectControlValueAccessor]}]},o}(t.FieldType),C=function(o){function e(){return null!==o&&o.apply(this,arguments)||this}return s(e,o),e.decorators=[{type:n.Component,args:[{selector:"formly-wrapper-form-field",template:'\n <div class="form-group" [class.has-error]="showError">\n <label *ngIf="to.label && to.hideLabel !== true" [attr.for]="id">\n {{ to.label }}\n <span *ngIf="to.required && to.hideRequiredMarker !== true" aria-hidden="true">*</span>\n </label>\n\n <ng-template #fieldComponent></ng-template>\n\n <div *ngIf="showError" class="invalid-feedback" [style.display]="\'block\'">\n <formly-validation-message [field]="field"></formly-validation-message>\n </div>\n\n <small *ngIf="to.description" class="form-text text-muted">{{ to.description }}</small>\n </div>\n '}]}],e}(t.FieldWrapper),v=[h,u,g,b,y,d,C],k={types:[{name:"input",component:h,wrappers:["form-field"]},{name:"checkbox",component:u,wrappers:["form-field"]},{name:"radio",component:g,wrappers:["form-field"]},{name:"select",component:b,wrappers:["form-field"]},{name:"textarea",component:y,wrappers:["form-field"]},{name:"multicheckbox",component:d,wrappers:["form-field"]}],wrappers:[{name:"form-field",component:C}]},x=function(){function o(){}return o.decorators=[{type:n.NgModule,args:[{declarations:[v],imports:[e.CommonModule,r.ReactiveFormsModule,i.FormlySelectModule,t.FormlyModule.forChild(k),c.FormlyBootstrapAddonsModule]}]}],o}();o.FormlyBootstrapModule=x,o.FormlyFieldCheckbox=u,o.FormlyFieldMultiCheckbox=d,o.FormlyFieldInput=h,o.FormlyFieldRadio=g,o.FormlyFieldTextArea=y,o.FormlyFieldSelect=b,o.FormlyWrapperFormField=C,o.ɵb=k,o.ɵa=v,Object.defineProperty(o,"__esModule",{value:!0})});
2
2
  //# sourceMappingURL=ngx-formly-bootstrap.umd.min.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["node_modules/tslib/tslib.es6.js","ng://@ngx-formly/bootstrap/lib/types/checkbox.ts","ng://@ngx-formly/bootstrap/lib/types/multicheckbox.ts","ng://@ngx-formly/bootstrap/lib/types/input.ts","ng://@ngx-formly/bootstrap/lib/types/radio.ts","ng://@ngx-formly/bootstrap/lib/types/textarea.ts","ng://@ngx-formly/bootstrap/lib/types/select.ts","ng://@ngx-formly/bootstrap/lib/wrappers/form-field.wrapper.ts","ng://@ngx-formly/bootstrap/lib/bootstrap.config.ts","ng://@ngx-formly/bootstrap/lib/bootstrap.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__assign","assign","t","s","i","n","arguments","length","call","apply","__read","o","m","Symbol","iterator","r","e","ar","next","done","push","value","error","__spread","concat","FormlyFieldCheckbox","_this","_super","defaultOptions","templateOptions","indeterminate","hideLabel","formCheck","tslib_1.__extends","Component","args","selector","template","FieldType","FormlyFieldMultiCheckbox","options","onChange","checked","to","type","formControl","patchValue","tslib_1.__spread","filter","_a","markAsTouched","isChecked","option","indexOf","FormlyFieldInput","defineProperty","FormlyFieldRadio","FormlyFieldTextArea","cols","rows","FormlyFieldSelect","ngZone","compareWith","o1","o2","writeValue","bind","_getOptionId","id","_idCounter","onStable","asObservable","pipe","take","subscribe","_elementRef","nativeElement","selectedIndex","NgZone","ViewChild","SelectControlValueAccessor","FormlyWrapperFormField","FieldWrapper","FIELD_TYPE_COMPONENTS","BOOTSTRAP_FORMLY_CONFIG","types","name","component","wrappers","FormlyBootstrapModule","NgModule","declarations","imports","CommonModule","ReactiveFormsModule","FormlySelectModule","FormlyModule","forChild","FormlyBootstrapAddonsModule"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\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 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) : new P(function (resolve) { resolve(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 function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n 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}\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\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\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 __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\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 (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = 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","import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-field-checkbox',\n template: `\n <div [ngClass]=\"{\n 'form-check': to.formCheck.indexOf('custom') === -1,\n 'form-check-inline': to.formCheck === 'inline',\n 'custom-control': to.formCheck.indexOf('custom') === 0,\n 'custom-checkbox': to.formCheck === 'custom' || to.formCheck === 'custom-inline',\n 'custom-control-inline': to.formCheck === 'custom-inline',\n 'custom-switch': to.formCheck === 'custom-switch'\n }\">\n <input type=\"checkbox\"\n [class.is-invalid]=\"showError\"\n [class.form-check-input]=\"to.formCheck.indexOf('custom') === -1\"\n [class.position-static]=\"to.formCheck === 'nolabel'\"\n [class.custom-control-input]=\"to.formCheck.indexOf('custom') === 0\"\n [indeterminate]=\"to.indeterminate && formControl.value === null\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\">\n <label [for]=\"id\"\n *ngIf=\"to.formCheck !== 'nolabel'\"\n [class.form-check-label]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-label]=\"to.formCheck.indexOf('custom') === 0\"\n >\n {{ to.label }}\n <span *ngIf=\"to.required && to.hideRequiredMarker !== true\">*</span>\n </label>\n </div>\n `,\n})\nexport class FormlyFieldCheckbox extends FieldType {\n defaultOptions = {\n templateOptions: {\n indeterminate: true,\n hideLabel: true,\n formCheck: 'custom', // 'custom' | 'custom-inline' | 'custom-switch' | 'stacked' | 'inline' | 'nolabel'\n },\n };\n}\n","import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-field-multicheckbox',\n template: `\n <div>\n <div *ngFor=\"let option of to.options | formlySelectOptions:field | async; let i = index;\"\n [ngClass]=\"{\n 'form-check': to.formCheck.indexOf('custom') === -1,\n 'form-check-inline': to.formCheck === 'inline',\n 'custom-control': to.formCheck.indexOf('custom') === 0,\n 'custom-checkbox': to.formCheck === 'custom' || to.formCheck === 'custom-inline',\n 'custom-control-inline': to.formCheck === 'custom-inline',\n 'custom-switch': to.formCheck === 'custom-switch'\n }\"\n >\n <input type=\"checkbox\"\n [id]=\"id + '_' + i\"\n [class.form-check-input]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-input]=\"to.formCheck.indexOf('custom') === 0\"\n [value]=\"option.value\"\n [checked]=\"isChecked(option)\"\n [formlyAttributes]=\"field\"\n (change)=\"onChange(option.value, $event.target.checked)\">\n <label\n [class.form-check-label]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-label]=\"to.formCheck.indexOf('custom') === 0\"\n [for]=\"id + '_' + i\">\n {{ option.label }}\n </label>\n </div>\n </div>\n `,\n})\nexport class FormlyFieldMultiCheckbox extends FieldType {\n defaultOptions = {\n templateOptions: {\n options: [],\n formCheck: 'custom', // 'custom' | 'custom-inline' | 'custom-switch' | 'stacked' | 'inline'\n },\n };\n\n onChange(value: any, checked: boolean) {\n if (this.to.type === 'array') {\n this.formControl.patchValue(checked\n ? [...(this.formControl.value || []), value]\n : [...(this.formControl.value || [])].filter(o => o !== value),\n );\n } else {\n this.formControl.patchValue({ ...this.formControl.value, [value]: checked });\n }\n this.formControl.markAsTouched();\n }\n\n isChecked(option: any) {\n const value = this.formControl.value;\n\n return value && (\n this.to.type === 'array'\n ? (value.indexOf(option.value) !== -1)\n : value[option.value]\n );\n }\n}\n","import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-field-input',\n template: `\n <input *ngIf=\"type !== 'number' else numberTmp\" [type]=\"type\" [formControl]=\"formControl\" class=\"form-control\" [formlyAttributes]=\"field\" [class.is-invalid]=\"showError\">\n <ng-template #numberTmp>\n <input type=\"number\" [formControl]=\"formControl\" class=\"form-control\" [formlyAttributes]=\"field\" [class.is-invalid]=\"showError\">\n </ng-template>\n `,\n})\nexport class FormlyFieldInput extends FieldType {\n get type() {\n return this.to.type || 'text';\n }\n}\n","import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-field-radio',\n template: `\n <div>\n <div *ngFor=\"let option of to.options | formlySelectOptions:field | async; let i = index;\"\n [ngClass]=\"{\n 'form-check': to.formCheck.indexOf('custom') === -1,\n 'form-check-inline': to.formCheck === 'inline',\n 'custom-control custom-radio': to.formCheck.indexOf('custom') === 0,\n 'custom-control-inline': to.formCheck === 'custom-inline'\n }\"\n >\n <input type=\"radio\"\n [id]=\"id + '_' + i\"\n [class.form-check-input]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-input]=\"to.formCheck.indexOf('custom') === 0\"\n [name]=\"field.name || id\"\n [class.is-invalid]=\"showError\"\n [attr.value]=\"option.value\"\n [value]=\"option.value\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [attr.disabled]=\"option.disabled || formControl.disabled ? true : null\">\n <label\n [class.form-check-label]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-label]=\"to.formCheck.indexOf('custom') === 0\"\n [for]=\"id + '_' + i\">\n {{ option.label }}\n </label>\n </div>\n </div>\n `,\n})\nexport class FormlyFieldRadio extends FieldType {\n defaultOptions = {\n templateOptions: {\n options: [],\n formCheck: 'custom', // 'custom' | 'custom-inline' | 'stacked' | 'inline'\n },\n };\n}\n","import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-field-textarea',\n template: `\n <textarea [formControl]=\"formControl\" [cols]=\"to.cols\"\n [rows]=\"to.rows\" class=\"form-control\" [class.is-invalid]=\"showError\"\n [formlyAttributes]=\"field\">\n </textarea>\n `,\n})\nexport class FormlyFieldTextArea extends FieldType {\n defaultOptions = {\n templateOptions: {\n cols: 1,\n rows: 1,\n },\n };\n}\n","import { Component, ViewChild, NgZone } from '@angular/core';\nimport { SelectControlValueAccessor } from '@angular/forms';\nimport { FieldType } from '@ngx-formly/core';\nimport { take } from 'rxjs/operators';\n\n@Component({\n selector: 'formly-field-select',\n template: `\n <select *ngIf=\"to.multiple; else singleSelect\" class=\"form-control\"\n multiple\n [class.custom-select]=\"to.customSelect\"\n [formControl]=\"formControl\"\n [compareWith]=\"to.compareWith\"\n [class.is-invalid]=\"showError\"\n [formlyAttributes]=\"field\">\n <ng-container *ngIf=\"to.options | formlySelectOptions:field | async as opts\">\n <ng-container *ngIf=\"to._flatOptions else grouplist\">\n <ng-container *ngFor=\"let opt of opts\">\n <option [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">{{ opt.label }}</option>\n </ng-container>\n </ng-container>\n\n <ng-template #grouplist>\n <ng-container *ngFor=\"let opt of opts\">\n <option *ngIf=\"!opt.group else optgroup\" [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">{{ opt.label }}</option>\n <ng-template #optgroup>\n <optgroup [label]=\"opt.label\">\n <option *ngFor=\"let child of opt.group\" [ngValue]=\"child.value\" [disabled]=\"child.disabled\">\n {{ child.label }}\n </option>\n </optgroup>\n </ng-template>\n </ng-container>\n </ng-template>\n </ng-container>\n </select>\n\n <ng-template #singleSelect>\n <select class=\"form-control\"\n [formControl]=\"formControl\"\n [compareWith]=\"to.compareWith\"\n [class.custom-select]=\"to.customSelect\"\n [class.is-invalid]=\"showError\"\n [formlyAttributes]=\"field\">\n <option *ngIf=\"to.placeholder\" [ngValue]=\"null\">{{ to.placeholder }}</option>\n <ng-container *ngIf=\"to.options | formlySelectOptions:field | async as opts\">\n <ng-container *ngIf=\"to._flatOptions else grouplist\">\n <ng-container *ngFor=\"let opt of opts\">\n <option [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">{{ opt.label }}</option>\n </ng-container>\n </ng-container>\n\n <ng-template #grouplist>\n <ng-container *ngFor=\"let opt of opts\">\n <option *ngIf=\"!opt.group else optgroup\" [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">{{ opt.label }}</option>\n <ng-template #optgroup>\n <optgroup [label]=\"opt.label\">\n <option *ngFor=\"let child of opt.group\" [ngValue]=\"child.value\" [disabled]=\"child.disabled\">\n {{ child.label }}\n </option>\n </optgroup>\n </ng-template>\n </ng-container>\n </ng-template>\n </ng-container>\n </select>\n </ng-template>\n `,\n})\nexport class FormlyFieldSelect extends FieldType {\n defaultOptions = {\n templateOptions: {\n options: [],\n compareWith(o1: any, o2: any) {\n return o1 === o2;\n },\n },\n };\n\n // workaround for https://github.com/angular/angular/issues/10010\n @ViewChild(SelectControlValueAccessor) set selectAccessor(s: any) {\n if (!s) return;\n\n const writeValue = s.writeValue.bind(s);\n if (s._getOptionId(s.value) === null) {\n writeValue(s.value);\n }\n\n s.writeValue = (value: any) => {\n const id = s._idCounter;\n writeValue(value);\n if (value === null) {\n this.ngZone.onStable.asObservable().pipe(take(1)).subscribe(() => {\n if (id !== s._idCounter && s._getOptionId(value) === null && s._elementRef.nativeElement.selectedIndex !== -1) {\n writeValue(value);\n }\n });\n }\n };\n }\n\n constructor(private ngZone: NgZone) {\n super();\n }\n}\n","import { Component } from '@angular/core';\nimport { FieldWrapper } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-wrapper-form-field',\n template: `\n <div class=\"form-group\" [class.has-error]=\"showError\">\n <label *ngIf=\"to.label && to.hideLabel !== true\" [attr.for]=\"id\">\n {{ to.label }}\n <span *ngIf=\"to.required && to.hideRequiredMarker !== true\">*</span>\n </label>\n\n <ng-template #fieldComponent></ng-template>\n\n <div *ngIf=\"showError\" class=\"invalid-feedback\" [style.display]=\"'block'\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </div>\n\n <small *ngIf=\"to.description\" class=\"form-text text-muted\">{{ to.description }}</small>\n </div>\n `,\n})\nexport class FormlyWrapperFormField extends FieldWrapper {\n}\n","import { ConfigOption } from '@ngx-formly/core';\nimport {\n FormlyFieldInput,\n FormlyFieldCheckbox,\n FormlyFieldRadio,\n FormlyFieldSelect,\n FormlyFieldTextArea,\n FormlyFieldMultiCheckbox,\n} from './types/types';\nimport { FormlyWrapperFormField } from './wrappers/wrappers';\n\nexport const FIELD_TYPE_COMPONENTS = [\n // types\n FormlyFieldInput,\n FormlyFieldCheckbox,\n FormlyFieldRadio,\n FormlyFieldSelect,\n FormlyFieldTextArea,\n FormlyFieldMultiCheckbox,\n\n // wrappers\n FormlyWrapperFormField,\n];\n\nexport const BOOTSTRAP_FORMLY_CONFIG: ConfigOption = {\n types: [\n {\n name: 'input',\n component: FormlyFieldInput,\n wrappers: ['form-field'],\n },\n {\n name: 'checkbox',\n component: FormlyFieldCheckbox,\n wrappers: ['form-field'],\n },\n {\n name: 'radio',\n component: FormlyFieldRadio,\n wrappers: ['form-field'],\n },\n {\n name: 'select',\n component: FormlyFieldSelect,\n wrappers: ['form-field'],\n },\n {\n name: 'textarea',\n component: FormlyFieldTextArea,\n wrappers: ['form-field'],\n },\n {\n name: 'multicheckbox',\n component: FormlyFieldMultiCheckbox,\n wrappers: ['form-field'],\n },\n ],\n wrappers: [\n {name: 'form-field', component: FormlyWrapperFormField },\n ],\n};\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { FormlyModule } from '@ngx-formly/core';\nimport { FormlySelectModule } from '@ngx-formly/core/select';\nimport { BOOTSTRAP_FORMLY_CONFIG, FIELD_TYPE_COMPONENTS } from './bootstrap.config';\nimport { FormlyBootstrapAddonsModule } from '@ngx-formly/bootstrap/addons';\n\n@NgModule({\n declarations: [\n FIELD_TYPE_COMPONENTS,\n ],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormlySelectModule,\n FormlyModule.forChild(BOOTSTRAP_FORMLY_CONFIG),\n FormlyBootstrapAddonsModule,\n ],\n})\nexport class FormlyBootstrapModule {}\n"]}
1
+ {"version":3,"sources":["node_modules/tslib/tslib.es6.js","ng://@ngx-formly/bootstrap/lib/types/checkbox.ts","ng://@ngx-formly/bootstrap/lib/types/multicheckbox.ts","ng://@ngx-formly/bootstrap/lib/types/input.ts","ng://@ngx-formly/bootstrap/lib/types/radio.ts","ng://@ngx-formly/bootstrap/lib/types/textarea.ts","ng://@ngx-formly/bootstrap/lib/types/select.ts","ng://@ngx-formly/bootstrap/lib/wrappers/form-field.wrapper.ts","ng://@ngx-formly/bootstrap/lib/bootstrap.config.ts","ng://@ngx-formly/bootstrap/lib/bootstrap.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__assign","assign","t","s","i","n","arguments","length","call","apply","__read","o","m","Symbol","iterator","r","e","ar","next","done","push","value","error","__spread","concat","FormlyFieldCheckbox","_this","_super","defaultOptions","templateOptions","indeterminate","hideLabel","formCheck","tslib_1.__extends","Component","args","selector","template","FieldType","FormlyFieldMultiCheckbox","options","onChange","checked","to","type","formControl","patchValue","tslib_1.__spread","filter","_a","markAsTouched","isChecked","option","indexOf","FormlyFieldInput","defineProperty","FormlyFieldRadio","FormlyFieldTextArea","cols","rows","FormlyFieldSelect","ngZone","compareWith","o1","o2","writeValue","bind","_getOptionId","id","_idCounter","onStable","asObservable","pipe","take","subscribe","_elementRef","nativeElement","selectedIndex","NgZone","ViewChild","SelectControlValueAccessor","FormlyWrapperFormField","FieldWrapper","FIELD_TYPE_COMPONENTS","BOOTSTRAP_FORMLY_CONFIG","types","name","component","wrappers","FormlyBootstrapModule","NgModule","declarations","imports","CommonModule","ReactiveFormsModule","FormlySelectModule","FormlyModule","forChild","FormlyBootstrapAddonsModule"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\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 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) : new P(function (resolve) { resolve(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 function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n 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}\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\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\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 __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\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 (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = 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","import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-field-checkbox',\n template: `\n <div [ngClass]=\"{\n 'form-check': to.formCheck.indexOf('custom') === -1,\n 'form-check-inline': to.formCheck === 'inline',\n 'custom-control': to.formCheck.indexOf('custom') === 0,\n 'custom-checkbox': to.formCheck === 'custom' || to.formCheck === 'custom-inline',\n 'custom-control-inline': to.formCheck === 'custom-inline',\n 'custom-switch': to.formCheck === 'custom-switch'\n }\">\n <input type=\"checkbox\"\n [class.is-invalid]=\"showError\"\n [class.form-check-input]=\"to.formCheck.indexOf('custom') === -1\"\n [class.position-static]=\"to.formCheck === 'nolabel'\"\n [class.custom-control-input]=\"to.formCheck.indexOf('custom') === 0\"\n [indeterminate]=\"to.indeterminate && formControl.value === null\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\">\n <label [for]=\"id\"\n *ngIf=\"to.formCheck !== 'nolabel'\"\n [class.form-check-label]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-label]=\"to.formCheck.indexOf('custom') === 0\"\n >\n {{ to.label }}\n <span *ngIf=\"to.required && to.hideRequiredMarker !== true\" aria-hidden=\"true\">*</span>\n </label>\n </div>\n `,\n})\nexport class FormlyFieldCheckbox extends FieldType {\n defaultOptions = {\n templateOptions: {\n indeterminate: true,\n hideLabel: true,\n formCheck: 'custom', // 'custom' | 'custom-inline' | 'custom-switch' | 'stacked' | 'inline' | 'nolabel'\n },\n };\n}\n","import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-field-multicheckbox',\n template: `\n <div>\n <div *ngFor=\"let option of to.options | formlySelectOptions:field | async; let i = index;\"\n [ngClass]=\"{\n 'form-check': to.formCheck.indexOf('custom') === -1,\n 'form-check-inline': to.formCheck === 'inline',\n 'custom-control': to.formCheck.indexOf('custom') === 0,\n 'custom-checkbox': to.formCheck === 'custom' || to.formCheck === 'custom-inline',\n 'custom-control-inline': to.formCheck === 'custom-inline',\n 'custom-switch': to.formCheck === 'custom-switch'\n }\"\n >\n <input type=\"checkbox\"\n [id]=\"id + '_' + i\"\n [class.form-check-input]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-input]=\"to.formCheck.indexOf('custom') === 0\"\n [value]=\"option.value\"\n [checked]=\"isChecked(option)\"\n [formlyAttributes]=\"field\"\n (change)=\"onChange(option.value, $event.target.checked)\">\n <label\n [class.form-check-label]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-label]=\"to.formCheck.indexOf('custom') === 0\"\n [for]=\"id + '_' + i\">\n {{ option.label }}\n </label>\n </div>\n </div>\n `,\n})\nexport class FormlyFieldMultiCheckbox extends FieldType {\n defaultOptions = {\n templateOptions: {\n options: [],\n formCheck: 'custom', // 'custom' | 'custom-inline' | 'custom-switch' | 'stacked' | 'inline'\n },\n };\n\n onChange(value: any, checked: boolean) {\n if (this.to.type === 'array') {\n this.formControl.patchValue(checked\n ? [...(this.formControl.value || []), value]\n : [...(this.formControl.value || [])].filter(o => o !== value),\n );\n } else {\n this.formControl.patchValue({ ...this.formControl.value, [value]: checked });\n }\n this.formControl.markAsTouched();\n }\n\n isChecked(option: any) {\n const value = this.formControl.value;\n\n return value && (\n this.to.type === 'array'\n ? (value.indexOf(option.value) !== -1)\n : value[option.value]\n );\n }\n}\n","import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-field-input',\n template: `\n <input *ngIf=\"type !== 'number' else numberTmp\" [type]=\"type\" [formControl]=\"formControl\" class=\"form-control\" [formlyAttributes]=\"field\" [class.is-invalid]=\"showError\">\n <ng-template #numberTmp>\n <input type=\"number\" [formControl]=\"formControl\" class=\"form-control\" [formlyAttributes]=\"field\" [class.is-invalid]=\"showError\">\n </ng-template>\n `,\n})\nexport class FormlyFieldInput extends FieldType {\n get type() {\n return this.to.type || 'text';\n }\n}\n","import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-field-radio',\n template: `\n <div>\n <div *ngFor=\"let option of to.options | formlySelectOptions:field | async; let i = index;\"\n [ngClass]=\"{\n 'form-check': to.formCheck.indexOf('custom') === -1,\n 'form-check-inline': to.formCheck === 'inline',\n 'custom-control custom-radio': to.formCheck.indexOf('custom') === 0,\n 'custom-control-inline': to.formCheck === 'custom-inline'\n }\"\n >\n <input type=\"radio\"\n [id]=\"id + '_' + i\"\n [class.form-check-input]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-input]=\"to.formCheck.indexOf('custom') === 0\"\n [name]=\"field.name || id\"\n [class.is-invalid]=\"showError\"\n [attr.value]=\"option.value\"\n [value]=\"option.value\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [attr.disabled]=\"option.disabled || formControl.disabled ? true : null\">\n <label\n [class.form-check-label]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-label]=\"to.formCheck.indexOf('custom') === 0\"\n [for]=\"id + '_' + i\">\n {{ option.label }}\n </label>\n </div>\n </div>\n `,\n})\nexport class FormlyFieldRadio extends FieldType {\n defaultOptions = {\n templateOptions: {\n options: [],\n formCheck: 'custom', // 'custom' | 'custom-inline' | 'stacked' | 'inline'\n },\n };\n}\n","import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-field-textarea',\n template: `\n <textarea [formControl]=\"formControl\" [cols]=\"to.cols\"\n [rows]=\"to.rows\" class=\"form-control\" [class.is-invalid]=\"showError\"\n [formlyAttributes]=\"field\">\n </textarea>\n `,\n})\nexport class FormlyFieldTextArea extends FieldType {\n defaultOptions = {\n templateOptions: {\n cols: 1,\n rows: 1,\n },\n };\n}\n","import { Component, ViewChild, NgZone } from '@angular/core';\nimport { SelectControlValueAccessor } from '@angular/forms';\nimport { FieldType } from '@ngx-formly/core';\nimport { take } from 'rxjs/operators';\n\n@Component({\n selector: 'formly-field-select',\n template: `\n <select *ngIf=\"to.multiple; else singleSelect\" class=\"form-control\"\n multiple\n [class.custom-select]=\"to.customSelect\"\n [formControl]=\"formControl\"\n [compareWith]=\"to.compareWith\"\n [class.is-invalid]=\"showError\"\n [formlyAttributes]=\"field\">\n <ng-container *ngIf=\"to.options | formlySelectOptions:field | async as opts\">\n <ng-container *ngIf=\"to._flatOptions else grouplist\">\n <ng-container *ngFor=\"let opt of opts\">\n <option [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">{{ opt.label }}</option>\n </ng-container>\n </ng-container>\n\n <ng-template #grouplist>\n <ng-container *ngFor=\"let opt of opts\">\n <option *ngIf=\"!opt.group else optgroup\" [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">{{ opt.label }}</option>\n <ng-template #optgroup>\n <optgroup [label]=\"opt.label\">\n <option *ngFor=\"let child of opt.group\" [ngValue]=\"child.value\" [disabled]=\"child.disabled\">\n {{ child.label }}\n </option>\n </optgroup>\n </ng-template>\n </ng-container>\n </ng-template>\n </ng-container>\n </select>\n\n <ng-template #singleSelect>\n <select class=\"form-control\"\n [formControl]=\"formControl\"\n [compareWith]=\"to.compareWith\"\n [class.custom-select]=\"to.customSelect\"\n [class.is-invalid]=\"showError\"\n [formlyAttributes]=\"field\">\n <option *ngIf=\"to.placeholder\" [ngValue]=\"null\">{{ to.placeholder }}</option>\n <ng-container *ngIf=\"to.options | formlySelectOptions:field | async as opts\">\n <ng-container *ngIf=\"to._flatOptions else grouplist\">\n <ng-container *ngFor=\"let opt of opts\">\n <option [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">{{ opt.label }}</option>\n </ng-container>\n </ng-container>\n\n <ng-template #grouplist>\n <ng-container *ngFor=\"let opt of opts\">\n <option *ngIf=\"!opt.group else optgroup\" [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">{{ opt.label }}</option>\n <ng-template #optgroup>\n <optgroup [label]=\"opt.label\">\n <option *ngFor=\"let child of opt.group\" [ngValue]=\"child.value\" [disabled]=\"child.disabled\">\n {{ child.label }}\n </option>\n </optgroup>\n </ng-template>\n </ng-container>\n </ng-template>\n </ng-container>\n </select>\n </ng-template>\n `,\n})\nexport class FormlyFieldSelect extends FieldType {\n defaultOptions = {\n templateOptions: {\n options: [],\n compareWith(o1: any, o2: any) {\n return o1 === o2;\n },\n },\n };\n\n // workaround for https://github.com/angular/angular/issues/10010\n @ViewChild(SelectControlValueAccessor) set selectAccessor(s: any) {\n if (!s) return;\n\n const writeValue = s.writeValue.bind(s);\n if (s._getOptionId(s.value) === null) {\n writeValue(s.value);\n }\n\n s.writeValue = (value: any) => {\n const id = s._idCounter;\n writeValue(value);\n if (value === null) {\n this.ngZone.onStable.asObservable().pipe(take(1)).subscribe(() => {\n if (id !== s._idCounter && s._getOptionId(value) === null && s._elementRef.nativeElement.selectedIndex !== -1) {\n writeValue(value);\n }\n });\n }\n };\n }\n\n constructor(private ngZone: NgZone) {\n super();\n }\n}\n","import { Component } from '@angular/core';\nimport { FieldWrapper } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-wrapper-form-field',\n template: `\n <div class=\"form-group\" [class.has-error]=\"showError\">\n <label *ngIf=\"to.label && to.hideLabel !== true\" [attr.for]=\"id\">\n {{ to.label }}\n <span *ngIf=\"to.required && to.hideRequiredMarker !== true\" aria-hidden=\"true\">*</span>\n </label>\n\n <ng-template #fieldComponent></ng-template>\n\n <div *ngIf=\"showError\" class=\"invalid-feedback\" [style.display]=\"'block'\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </div>\n\n <small *ngIf=\"to.description\" class=\"form-text text-muted\">{{ to.description }}</small>\n </div>\n `,\n})\nexport class FormlyWrapperFormField extends FieldWrapper {\n}\n","import { ConfigOption } from '@ngx-formly/core';\nimport {\n FormlyFieldInput,\n FormlyFieldCheckbox,\n FormlyFieldRadio,\n FormlyFieldSelect,\n FormlyFieldTextArea,\n FormlyFieldMultiCheckbox,\n} from './types/types';\nimport { FormlyWrapperFormField } from './wrappers/wrappers';\n\nexport const FIELD_TYPE_COMPONENTS = [\n // types\n FormlyFieldInput,\n FormlyFieldCheckbox,\n FormlyFieldRadio,\n FormlyFieldSelect,\n FormlyFieldTextArea,\n FormlyFieldMultiCheckbox,\n\n // wrappers\n FormlyWrapperFormField,\n];\n\nexport const BOOTSTRAP_FORMLY_CONFIG: ConfigOption = {\n types: [\n {\n name: 'input',\n component: FormlyFieldInput,\n wrappers: ['form-field'],\n },\n {\n name: 'checkbox',\n component: FormlyFieldCheckbox,\n wrappers: ['form-field'],\n },\n {\n name: 'radio',\n component: FormlyFieldRadio,\n wrappers: ['form-field'],\n },\n {\n name: 'select',\n component: FormlyFieldSelect,\n wrappers: ['form-field'],\n },\n {\n name: 'textarea',\n component: FormlyFieldTextArea,\n wrappers: ['form-field'],\n },\n {\n name: 'multicheckbox',\n component: FormlyFieldMultiCheckbox,\n wrappers: ['form-field'],\n },\n ],\n wrappers: [\n {name: 'form-field', component: FormlyWrapperFormField },\n ],\n};\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { FormlyModule } from '@ngx-formly/core';\nimport { FormlySelectModule } from '@ngx-formly/core/select';\nimport { BOOTSTRAP_FORMLY_CONFIG, FIELD_TYPE_COMPONENTS } from './bootstrap.config';\nimport { FormlyBootstrapAddonsModule } from '@ngx-formly/bootstrap/addons';\n\n@NgModule({\n declarations: [\n FIELD_TYPE_COMPONENTS,\n ],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormlySelectModule,\n FormlyModule.forChild(BOOTSTRAP_FORMLY_CONFIG),\n FormlyBootstrapAddonsModule,\n ],\n})\nexport class FormlyBootstrapModule {}\n"]}
@@ -42,7 +42,7 @@ FormlyFieldCheckbox.decorators = [
42
42
  [class.custom-control-label]="to.formCheck.indexOf('custom') === 0"
43
43
  >
44
44
  {{ to.label }}
45
- <span *ngIf="to.required && to.hideRequiredMarker !== true">*</span>
45
+ <span *ngIf="to.required && to.hideRequiredMarker !== true" aria-hidden="true">*</span>
46
46
  </label>
47
47
  </div>
48
48
  `
@@ -52,4 +52,4 @@ if (false) {
52
52
  /** @type {?} */
53
53
  FormlyFieldCheckbox.prototype.defaultOptions;
54
54
  }
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4LWZvcm1seS9ib290c3RyYXAvIiwic291cmNlcyI6WyJsaWIvdHlwZXMvY2hlY2tib3gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBZ0M3QyxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsU0FBUztJQTlCbEQ7O1FBK0JFLG1CQUFjLEdBQUc7WUFDZixlQUFlLEVBQUU7Z0JBQ2YsYUFBYSxFQUFFLElBQUk7Z0JBQ25CLFNBQVMsRUFBRSxJQUFJO2dCQUNmLFNBQVMsRUFBRSxRQUFRO2FBQ3BCO1NBQ0YsQ0FBQztJQUNKLENBQUM7OztZQXRDQSxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtnQkFDakMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBCVDthQUNGOzs7O0lBRUMsNkNBTUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmb3JtbHktZmllbGQtY2hlY2tib3gnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgW25nQ2xhc3NdPVwie1xuICAgICAgJ2Zvcm0tY2hlY2snOiB0by5mb3JtQ2hlY2suaW5kZXhPZignY3VzdG9tJykgPT09IC0xLFxuICAgICAgJ2Zvcm0tY2hlY2staW5saW5lJzogdG8uZm9ybUNoZWNrID09PSAnaW5saW5lJyxcbiAgICAgICdjdXN0b20tY29udHJvbCc6IHRvLmZvcm1DaGVjay5pbmRleE9mKCdjdXN0b20nKSA9PT0gMCxcbiAgICAgICdjdXN0b20tY2hlY2tib3gnOiB0by5mb3JtQ2hlY2sgPT09ICdjdXN0b20nIHx8IHRvLmZvcm1DaGVjayA9PT0gJ2N1c3RvbS1pbmxpbmUnLFxuICAgICAgJ2N1c3RvbS1jb250cm9sLWlubGluZSc6IHRvLmZvcm1DaGVjayA9PT0gJ2N1c3RvbS1pbmxpbmUnLFxuICAgICAgJ2N1c3RvbS1zd2l0Y2gnOiB0by5mb3JtQ2hlY2sgPT09ICdjdXN0b20tc3dpdGNoJ1xuICAgIH1cIj5cbiAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICBbY2xhc3MuaXMtaW52YWxpZF09XCJzaG93RXJyb3JcIlxuICAgICAgICBbY2xhc3MuZm9ybS1jaGVjay1pbnB1dF09XCJ0by5mb3JtQ2hlY2suaW5kZXhPZignY3VzdG9tJykgPT09IC0xXCJcbiAgICAgICAgW2NsYXNzLnBvc2l0aW9uLXN0YXRpY109XCJ0by5mb3JtQ2hlY2sgPT09ICdub2xhYmVsJ1wiXG4gICAgICAgIFtjbGFzcy5jdXN0b20tY29udHJvbC1pbnB1dF09XCJ0by5mb3JtQ2hlY2suaW5kZXhPZignY3VzdG9tJykgPT09IDBcIlxuICAgICAgICBbaW5kZXRlcm1pbmF0ZV09XCJ0by5pbmRldGVybWluYXRlICYmIGZvcm1Db250cm9sLnZhbHVlID09PSBudWxsXCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICAgICAgW2Zvcm1seUF0dHJpYnV0ZXNdPVwiZmllbGRcIj5cbiAgICAgIDxsYWJlbCBbZm9yXT1cImlkXCJcbiAgICAgICAgKm5nSWY9XCJ0by5mb3JtQ2hlY2sgIT09ICdub2xhYmVsJ1wiXG4gICAgICAgIFtjbGFzcy5mb3JtLWNoZWNrLWxhYmVsXT1cInRvLmZvcm1DaGVjay5pbmRleE9mKCdjdXN0b20nKSA9PT0gLTFcIlxuICAgICAgICBbY2xhc3MuY3VzdG9tLWNvbnRyb2wtbGFiZWxdPVwidG8uZm9ybUNoZWNrLmluZGV4T2YoJ2N1c3RvbScpID09PSAwXCJcbiAgICAgID5cbiAgICAgICAge3sgdG8ubGFiZWwgfX1cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJ0by5yZXF1aXJlZCAmJiB0by5oaWRlUmVxdWlyZWRNYXJrZXIgIT09IHRydWVcIj4qPC9zcGFuPlxuICAgICAgPC9sYWJlbD5cbiAgICA8L2Rpdj5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybWx5RmllbGRDaGVja2JveCBleHRlbmRzIEZpZWxkVHlwZSB7XG4gIGRlZmF1bHRPcHRpb25zID0ge1xuICAgIHRlbXBsYXRlT3B0aW9uczoge1xuICAgICAgaW5kZXRlcm1pbmF0ZTogdHJ1ZSxcbiAgICAgIGhpZGVMYWJlbDogdHJ1ZSxcbiAgICAgIGZvcm1DaGVjazogJ2N1c3RvbScsIC8vICdjdXN0b20nIHwgJ2N1c3RvbS1pbmxpbmUnIHwgJ2N1c3RvbS1zd2l0Y2gnIHwgJ3N0YWNrZWQnIHwgJ2lubGluZScgfCAnbm9sYWJlbCdcbiAgICB9LFxuICB9O1xufVxuIl19
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4LWZvcm1seS9ib290c3RyYXAvIiwic291cmNlcyI6WyJsaWIvdHlwZXMvY2hlY2tib3gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBZ0M3QyxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsU0FBUztJQTlCbEQ7O1FBK0JFLG1CQUFjLEdBQUc7WUFDZixlQUFlLEVBQUU7Z0JBQ2YsYUFBYSxFQUFFLElBQUk7Z0JBQ25CLFNBQVMsRUFBRSxJQUFJO2dCQUNmLFNBQVMsRUFBRSxRQUFRO2FBQ3BCO1NBQ0YsQ0FBQztJQUNKLENBQUM7OztZQXRDQSxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtnQkFDakMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBCVDthQUNGOzs7O0lBRUMsNkNBTUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmb3JtbHktZmllbGQtY2hlY2tib3gnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgW25nQ2xhc3NdPVwie1xuICAgICAgJ2Zvcm0tY2hlY2snOiB0by5mb3JtQ2hlY2suaW5kZXhPZignY3VzdG9tJykgPT09IC0xLFxuICAgICAgJ2Zvcm0tY2hlY2staW5saW5lJzogdG8uZm9ybUNoZWNrID09PSAnaW5saW5lJyxcbiAgICAgICdjdXN0b20tY29udHJvbCc6IHRvLmZvcm1DaGVjay5pbmRleE9mKCdjdXN0b20nKSA9PT0gMCxcbiAgICAgICdjdXN0b20tY2hlY2tib3gnOiB0by5mb3JtQ2hlY2sgPT09ICdjdXN0b20nIHx8IHRvLmZvcm1DaGVjayA9PT0gJ2N1c3RvbS1pbmxpbmUnLFxuICAgICAgJ2N1c3RvbS1jb250cm9sLWlubGluZSc6IHRvLmZvcm1DaGVjayA9PT0gJ2N1c3RvbS1pbmxpbmUnLFxuICAgICAgJ2N1c3RvbS1zd2l0Y2gnOiB0by5mb3JtQ2hlY2sgPT09ICdjdXN0b20tc3dpdGNoJ1xuICAgIH1cIj5cbiAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICBbY2xhc3MuaXMtaW52YWxpZF09XCJzaG93RXJyb3JcIlxuICAgICAgICBbY2xhc3MuZm9ybS1jaGVjay1pbnB1dF09XCJ0by5mb3JtQ2hlY2suaW5kZXhPZignY3VzdG9tJykgPT09IC0xXCJcbiAgICAgICAgW2NsYXNzLnBvc2l0aW9uLXN0YXRpY109XCJ0by5mb3JtQ2hlY2sgPT09ICdub2xhYmVsJ1wiXG4gICAgICAgIFtjbGFzcy5jdXN0b20tY29udHJvbC1pbnB1dF09XCJ0by5mb3JtQ2hlY2suaW5kZXhPZignY3VzdG9tJykgPT09IDBcIlxuICAgICAgICBbaW5kZXRlcm1pbmF0ZV09XCJ0by5pbmRldGVybWluYXRlICYmIGZvcm1Db250cm9sLnZhbHVlID09PSBudWxsXCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICAgICAgW2Zvcm1seUF0dHJpYnV0ZXNdPVwiZmllbGRcIj5cbiAgICAgIDxsYWJlbCBbZm9yXT1cImlkXCJcbiAgICAgICAgKm5nSWY9XCJ0by5mb3JtQ2hlY2sgIT09ICdub2xhYmVsJ1wiXG4gICAgICAgIFtjbGFzcy5mb3JtLWNoZWNrLWxhYmVsXT1cInRvLmZvcm1DaGVjay5pbmRleE9mKCdjdXN0b20nKSA9PT0gLTFcIlxuICAgICAgICBbY2xhc3MuY3VzdG9tLWNvbnRyb2wtbGFiZWxdPVwidG8uZm9ybUNoZWNrLmluZGV4T2YoJ2N1c3RvbScpID09PSAwXCJcbiAgICAgID5cbiAgICAgICAge3sgdG8ubGFiZWwgfX1cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJ0by5yZXF1aXJlZCAmJiB0by5oaWRlUmVxdWlyZWRNYXJrZXIgIT09IHRydWVcIiBhcmlhLWhpZGRlbj1cInRydWVcIj4qPC9zcGFuPlxuICAgICAgPC9sYWJlbD5cbiAgICA8L2Rpdj5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybWx5RmllbGRDaGVja2JveCBleHRlbmRzIEZpZWxkVHlwZSB7XG4gIGRlZmF1bHRPcHRpb25zID0ge1xuICAgIHRlbXBsYXRlT3B0aW9uczoge1xuICAgICAgaW5kZXRlcm1pbmF0ZTogdHJ1ZSxcbiAgICAgIGhpZGVMYWJlbDogdHJ1ZSxcbiAgICAgIGZvcm1DaGVjazogJ2N1c3RvbScsIC8vICdjdXN0b20nIHwgJ2N1c3RvbS1pbmxpbmUnIHwgJ2N1c3RvbS1zd2l0Y2gnIHwgJ3N0YWNrZWQnIHwgJ2lubGluZScgfCAnbm9sYWJlbCdcbiAgICB9LFxuICB9O1xufVxuIl19
@@ -13,7 +13,7 @@ FormlyWrapperFormField.decorators = [
13
13
  <div class="form-group" [class.has-error]="showError">
14
14
  <label *ngIf="to.label && to.hideLabel !== true" [attr.for]="id">
15
15
  {{ to.label }}
16
- <span *ngIf="to.required && to.hideRequiredMarker !== true">*</span>
16
+ <span *ngIf="to.required && to.hideRequiredMarker !== true" aria-hidden="true">*</span>
17
17
  </label>
18
18
 
19
19
  <ng-template #fieldComponent></ng-template>
@@ -27,4 +27,4 @@ FormlyWrapperFormField.decorators = [
27
27
  `
28
28
  }] }
29
29
  ];
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC53cmFwcGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neC1mb3JtbHkvYm9vdHN0cmFwLyIsInNvdXJjZXMiOlsibGliL3dyYXBwZXJzL2Zvcm0tZmllbGQud3JhcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFxQmhELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxZQUFZOzs7WUFuQnZELFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsMkJBQTJCO2dCQUNyQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7OztHQWVUO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpZWxkV3JhcHBlciB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmb3JtbHktd3JhcHBlci1mb3JtLWZpZWxkJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiIFtjbGFzcy5oYXMtZXJyb3JdPVwic2hvd0Vycm9yXCI+XG4gICAgICA8bGFiZWwgKm5nSWY9XCJ0by5sYWJlbCAmJiB0by5oaWRlTGFiZWwgIT09IHRydWVcIiBbYXR0ci5mb3JdPVwiaWRcIj5cbiAgICAgICAge3sgdG8ubGFiZWwgfX1cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJ0by5yZXF1aXJlZCAmJiB0by5oaWRlUmVxdWlyZWRNYXJrZXIgIT09IHRydWVcIj4qPC9zcGFuPlxuICAgICAgPC9sYWJlbD5cblxuICAgICAgPG5nLXRlbXBsYXRlICNmaWVsZENvbXBvbmVudD48L25nLXRlbXBsYXRlPlxuXG4gICAgICA8ZGl2ICpuZ0lmPVwic2hvd0Vycm9yXCIgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCIgW3N0eWxlLmRpc3BsYXldPVwiJ2Jsb2NrJ1wiPlxuICAgICAgICA8Zm9ybWx5LXZhbGlkYXRpb24tbWVzc2FnZSBbZmllbGRdPVwiZmllbGRcIj48L2Zvcm1seS12YWxpZGF0aW9uLW1lc3NhZ2U+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPHNtYWxsICpuZ0lmPVwidG8uZGVzY3JpcHRpb25cIiBjbGFzcz1cImZvcm0tdGV4dCB0ZXh0LW11dGVkXCI+e3sgdG8uZGVzY3JpcHRpb24gfX08L3NtYWxsPlxuICAgIDwvZGl2PlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtbHlXcmFwcGVyRm9ybUZpZWxkIGV4dGVuZHMgRmllbGRXcmFwcGVyIHtcbn1cbiJdfQ==
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC53cmFwcGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neC1mb3JtbHkvYm9vdHN0cmFwLyIsInNvdXJjZXMiOlsibGliL3dyYXBwZXJzL2Zvcm0tZmllbGQud3JhcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFxQmhELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxZQUFZOzs7WUFuQnZELFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsMkJBQTJCO2dCQUNyQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7OztHQWVUO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpZWxkV3JhcHBlciB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmb3JtbHktd3JhcHBlci1mb3JtLWZpZWxkJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiIFtjbGFzcy5oYXMtZXJyb3JdPVwic2hvd0Vycm9yXCI+XG4gICAgICA8bGFiZWwgKm5nSWY9XCJ0by5sYWJlbCAmJiB0by5oaWRlTGFiZWwgIT09IHRydWVcIiBbYXR0ci5mb3JdPVwiaWRcIj5cbiAgICAgICAge3sgdG8ubGFiZWwgfX1cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJ0by5yZXF1aXJlZCAmJiB0by5oaWRlUmVxdWlyZWRNYXJrZXIgIT09IHRydWVcIiBhcmlhLWhpZGRlbj1cInRydWVcIj4qPC9zcGFuPlxuICAgICAgPC9sYWJlbD5cblxuICAgICAgPG5nLXRlbXBsYXRlICNmaWVsZENvbXBvbmVudD48L25nLXRlbXBsYXRlPlxuXG4gICAgICA8ZGl2ICpuZ0lmPVwic2hvd0Vycm9yXCIgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCIgW3N0eWxlLmRpc3BsYXldPVwiJ2Jsb2NrJ1wiPlxuICAgICAgICA8Zm9ybWx5LXZhbGlkYXRpb24tbWVzc2FnZSBbZmllbGRdPVwiZmllbGRcIj48L2Zvcm1seS12YWxpZGF0aW9uLW1lc3NhZ2U+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPHNtYWxsICpuZ0lmPVwidG8uZGVzY3JpcHRpb25cIiBjbGFzcz1cImZvcm0tdGV4dCB0ZXh0LW11dGVkXCI+e3sgdG8uZGVzY3JpcHRpb24gfX08L3NtYWxsPlxuICAgIDwvZGl2PlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtbHlXcmFwcGVyRm9ybUZpZWxkIGV4dGVuZHMgRmllbGRXcmFwcGVyIHtcbn1cbiJdfQ==
@@ -21,7 +21,7 @@ var FormlyFieldCheckbox = /** @class */ (function (_super) {
21
21
  FormlyFieldCheckbox.decorators = [
22
22
  { type: Component, args: [{
23
23
  selector: 'formly-field-checkbox',
24
- template: "\n <div [ngClass]=\"{\n 'form-check': to.formCheck.indexOf('custom') === -1,\n 'form-check-inline': to.formCheck === 'inline',\n 'custom-control': to.formCheck.indexOf('custom') === 0,\n 'custom-checkbox': to.formCheck === 'custom' || to.formCheck === 'custom-inline',\n 'custom-control-inline': to.formCheck === 'custom-inline',\n 'custom-switch': to.formCheck === 'custom-switch'\n }\">\n <input type=\"checkbox\"\n [class.is-invalid]=\"showError\"\n [class.form-check-input]=\"to.formCheck.indexOf('custom') === -1\"\n [class.position-static]=\"to.formCheck === 'nolabel'\"\n [class.custom-control-input]=\"to.formCheck.indexOf('custom') === 0\"\n [indeterminate]=\"to.indeterminate && formControl.value === null\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\">\n <label [for]=\"id\"\n *ngIf=\"to.formCheck !== 'nolabel'\"\n [class.form-check-label]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-label]=\"to.formCheck.indexOf('custom') === 0\"\n >\n {{ to.label }}\n <span *ngIf=\"to.required && to.hideRequiredMarker !== true\">*</span>\n </label>\n </div>\n "
24
+ template: "\n <div [ngClass]=\"{\n 'form-check': to.formCheck.indexOf('custom') === -1,\n 'form-check-inline': to.formCheck === 'inline',\n 'custom-control': to.formCheck.indexOf('custom') === 0,\n 'custom-checkbox': to.formCheck === 'custom' || to.formCheck === 'custom-inline',\n 'custom-control-inline': to.formCheck === 'custom-inline',\n 'custom-switch': to.formCheck === 'custom-switch'\n }\">\n <input type=\"checkbox\"\n [class.is-invalid]=\"showError\"\n [class.form-check-input]=\"to.formCheck.indexOf('custom') === -1\"\n [class.position-static]=\"to.formCheck === 'nolabel'\"\n [class.custom-control-input]=\"to.formCheck.indexOf('custom') === 0\"\n [indeterminate]=\"to.indeterminate && formControl.value === null\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\">\n <label [for]=\"id\"\n *ngIf=\"to.formCheck !== 'nolabel'\"\n [class.form-check-label]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-label]=\"to.formCheck.indexOf('custom') === 0\"\n >\n {{ to.label }}\n <span *ngIf=\"to.required && to.hideRequiredMarker !== true\" aria-hidden=\"true\">*</span>\n </label>\n </div>\n "
25
25
  }] }
26
26
  ];
27
27
  return FormlyFieldCheckbox;
@@ -31,4 +31,4 @@ if (false) {
31
31
  /** @type {?} */
32
32
  FormlyFieldCheckbox.prototype.defaultOptions;
33
33
  }
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4LWZvcm1seS9ib290c3RyYXAvIiwic291cmNlcyI6WyJsaWIvdHlwZXMvY2hlY2tib3gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU3QztJQThCeUMsK0NBQVM7SUE5QmxEO1FBQUEscUVBc0NDO1FBUEMsb0JBQWMsR0FBRztZQUNmLGVBQWUsRUFBRTtnQkFDZixhQUFhLEVBQUUsSUFBSTtnQkFDbkIsU0FBUyxFQUFFLElBQUk7Z0JBQ2YsU0FBUyxFQUFFLFFBQVE7YUFDcEI7U0FDRixDQUFDOztJQUNKLENBQUM7O2dCQXRDQSxTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsUUFBUSxFQUFFLDh0Q0EwQlQ7aUJBQ0Y7O0lBU0QsMEJBQUM7Q0FBQSxBQXRDRCxDQThCeUMsU0FBUyxHQVFqRDtTQVJZLG1CQUFtQjs7O0lBQzlCLDZDQU1FIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWVsZFR5cGUgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZm9ybWx5LWZpZWxkLWNoZWNrYm94JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IFtuZ0NsYXNzXT1cIntcbiAgICAgICdmb3JtLWNoZWNrJzogdG8uZm9ybUNoZWNrLmluZGV4T2YoJ2N1c3RvbScpID09PSAtMSxcbiAgICAgICdmb3JtLWNoZWNrLWlubGluZSc6IHRvLmZvcm1DaGVjayA9PT0gJ2lubGluZScsXG4gICAgICAnY3VzdG9tLWNvbnRyb2wnOiB0by5mb3JtQ2hlY2suaW5kZXhPZignY3VzdG9tJykgPT09IDAsXG4gICAgICAnY3VzdG9tLWNoZWNrYm94JzogdG8uZm9ybUNoZWNrID09PSAnY3VzdG9tJyB8fCB0by5mb3JtQ2hlY2sgPT09ICdjdXN0b20taW5saW5lJyxcbiAgICAgICdjdXN0b20tY29udHJvbC1pbmxpbmUnOiB0by5mb3JtQ2hlY2sgPT09ICdjdXN0b20taW5saW5lJyxcbiAgICAgICdjdXN0b20tc3dpdGNoJzogdG8uZm9ybUNoZWNrID09PSAnY3VzdG9tLXN3aXRjaCdcbiAgICB9XCI+XG4gICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgW2NsYXNzLmlzLWludmFsaWRdPVwic2hvd0Vycm9yXCJcbiAgICAgICAgW2NsYXNzLmZvcm0tY2hlY2staW5wdXRdPVwidG8uZm9ybUNoZWNrLmluZGV4T2YoJ2N1c3RvbScpID09PSAtMVwiXG4gICAgICAgIFtjbGFzcy5wb3NpdGlvbi1zdGF0aWNdPVwidG8uZm9ybUNoZWNrID09PSAnbm9sYWJlbCdcIlxuICAgICAgICBbY2xhc3MuY3VzdG9tLWNvbnRyb2wtaW5wdXRdPVwidG8uZm9ybUNoZWNrLmluZGV4T2YoJ2N1c3RvbScpID09PSAwXCJcbiAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwidG8uaW5kZXRlcm1pbmF0ZSAmJiBmb3JtQ29udHJvbC52YWx1ZSA9PT0gbnVsbFwiXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgICAgIFtmb3JtbHlBdHRyaWJ1dGVzXT1cImZpZWxkXCI+XG4gICAgICA8bGFiZWwgW2Zvcl09XCJpZFwiXG4gICAgICAgICpuZ0lmPVwidG8uZm9ybUNoZWNrICE9PSAnbm9sYWJlbCdcIlxuICAgICAgICBbY2xhc3MuZm9ybS1jaGVjay1sYWJlbF09XCJ0by5mb3JtQ2hlY2suaW5kZXhPZignY3VzdG9tJykgPT09IC0xXCJcbiAgICAgICAgW2NsYXNzLmN1c3RvbS1jb250cm9sLWxhYmVsXT1cInRvLmZvcm1DaGVjay5pbmRleE9mKCdjdXN0b20nKSA9PT0gMFwiXG4gICAgICA+XG4gICAgICAgIHt7IHRvLmxhYmVsIH19XG4gICAgICAgIDxzcGFuICpuZ0lmPVwidG8ucmVxdWlyZWQgJiYgdG8uaGlkZVJlcXVpcmVkTWFya2VyICE9PSB0cnVlXCI+Kjwvc3Bhbj5cbiAgICAgIDwvbGFiZWw+XG4gICAgPC9kaXY+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1seUZpZWxkQ2hlY2tib3ggZXh0ZW5kcyBGaWVsZFR5cGUge1xuICBkZWZhdWx0T3B0aW9ucyA9IHtcbiAgICB0ZW1wbGF0ZU9wdGlvbnM6IHtcbiAgICAgIGluZGV0ZXJtaW5hdGU6IHRydWUsXG4gICAgICBoaWRlTGFiZWw6IHRydWUsXG4gICAgICBmb3JtQ2hlY2s6ICdjdXN0b20nLCAvLyAnY3VzdG9tJyB8ICdjdXN0b20taW5saW5lJyB8ICdjdXN0b20tc3dpdGNoJyB8ICdzdGFja2VkJyB8ICdpbmxpbmUnIHwgJ25vbGFiZWwnXG4gICAgfSxcbiAgfTtcbn1cbiJdfQ==
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4LWZvcm1seS9ib290c3RyYXAvIiwic291cmNlcyI6WyJsaWIvdHlwZXMvY2hlY2tib3gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU3QztJQThCeUMsK0NBQVM7SUE5QmxEO1FBQUEscUVBc0NDO1FBUEMsb0JBQWMsR0FBRztZQUNmLGVBQWUsRUFBRTtnQkFDZixhQUFhLEVBQUUsSUFBSTtnQkFDbkIsU0FBUyxFQUFFLElBQUk7Z0JBQ2YsU0FBUyxFQUFFLFFBQVE7YUFDcEI7U0FDRixDQUFDOztJQUNKLENBQUM7O2dCQXRDQSxTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsUUFBUSxFQUFFLG12Q0EwQlQ7aUJBQ0Y7O0lBU0QsMEJBQUM7Q0FBQSxBQXRDRCxDQThCeUMsU0FBUyxHQVFqRDtTQVJZLG1CQUFtQjs7O0lBQzlCLDZDQU1FIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWVsZFR5cGUgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZm9ybWx5LWZpZWxkLWNoZWNrYm94JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IFtuZ0NsYXNzXT1cIntcbiAgICAgICdmb3JtLWNoZWNrJzogdG8uZm9ybUNoZWNrLmluZGV4T2YoJ2N1c3RvbScpID09PSAtMSxcbiAgICAgICdmb3JtLWNoZWNrLWlubGluZSc6IHRvLmZvcm1DaGVjayA9PT0gJ2lubGluZScsXG4gICAgICAnY3VzdG9tLWNvbnRyb2wnOiB0by5mb3JtQ2hlY2suaW5kZXhPZignY3VzdG9tJykgPT09IDAsXG4gICAgICAnY3VzdG9tLWNoZWNrYm94JzogdG8uZm9ybUNoZWNrID09PSAnY3VzdG9tJyB8fCB0by5mb3JtQ2hlY2sgPT09ICdjdXN0b20taW5saW5lJyxcbiAgICAgICdjdXN0b20tY29udHJvbC1pbmxpbmUnOiB0by5mb3JtQ2hlY2sgPT09ICdjdXN0b20taW5saW5lJyxcbiAgICAgICdjdXN0b20tc3dpdGNoJzogdG8uZm9ybUNoZWNrID09PSAnY3VzdG9tLXN3aXRjaCdcbiAgICB9XCI+XG4gICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgW2NsYXNzLmlzLWludmFsaWRdPVwic2hvd0Vycm9yXCJcbiAgICAgICAgW2NsYXNzLmZvcm0tY2hlY2staW5wdXRdPVwidG8uZm9ybUNoZWNrLmluZGV4T2YoJ2N1c3RvbScpID09PSAtMVwiXG4gICAgICAgIFtjbGFzcy5wb3NpdGlvbi1zdGF0aWNdPVwidG8uZm9ybUNoZWNrID09PSAnbm9sYWJlbCdcIlxuICAgICAgICBbY2xhc3MuY3VzdG9tLWNvbnRyb2wtaW5wdXRdPVwidG8uZm9ybUNoZWNrLmluZGV4T2YoJ2N1c3RvbScpID09PSAwXCJcbiAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwidG8uaW5kZXRlcm1pbmF0ZSAmJiBmb3JtQ29udHJvbC52YWx1ZSA9PT0gbnVsbFwiXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgICAgIFtmb3JtbHlBdHRyaWJ1dGVzXT1cImZpZWxkXCI+XG4gICAgICA8bGFiZWwgW2Zvcl09XCJpZFwiXG4gICAgICAgICpuZ0lmPVwidG8uZm9ybUNoZWNrICE9PSAnbm9sYWJlbCdcIlxuICAgICAgICBbY2xhc3MuZm9ybS1jaGVjay1sYWJlbF09XCJ0by5mb3JtQ2hlY2suaW5kZXhPZignY3VzdG9tJykgPT09IC0xXCJcbiAgICAgICAgW2NsYXNzLmN1c3RvbS1jb250cm9sLWxhYmVsXT1cInRvLmZvcm1DaGVjay5pbmRleE9mKCdjdXN0b20nKSA9PT0gMFwiXG4gICAgICA+XG4gICAgICAgIHt7IHRvLmxhYmVsIH19XG4gICAgICAgIDxzcGFuICpuZ0lmPVwidG8ucmVxdWlyZWQgJiYgdG8uaGlkZVJlcXVpcmVkTWFya2VyICE9PSB0cnVlXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+Kjwvc3Bhbj5cbiAgICAgIDwvbGFiZWw+XG4gICAgPC9kaXY+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1seUZpZWxkQ2hlY2tib3ggZXh0ZW5kcyBGaWVsZFR5cGUge1xuICBkZWZhdWx0T3B0aW9ucyA9IHtcbiAgICB0ZW1wbGF0ZU9wdGlvbnM6IHtcbiAgICAgIGluZGV0ZXJtaW5hdGU6IHRydWUsXG4gICAgICBoaWRlTGFiZWw6IHRydWUsXG4gICAgICBmb3JtQ2hlY2s6ICdjdXN0b20nLCAvLyAnY3VzdG9tJyB8ICdjdXN0b20taW5saW5lJyB8ICdjdXN0b20tc3dpdGNoJyB8ICdzdGFja2VkJyB8ICdpbmxpbmUnIHwgJ25vbGFiZWwnXG4gICAgfSxcbiAgfTtcbn1cbiJdfQ==
@@ -13,10 +13,10 @@ var FormlyWrapperFormField = /** @class */ (function (_super) {
13
13
  FormlyWrapperFormField.decorators = [
14
14
  { type: Component, args: [{
15
15
  selector: 'formly-wrapper-form-field',
16
- template: "\n <div class=\"form-group\" [class.has-error]=\"showError\">\n <label *ngIf=\"to.label && to.hideLabel !== true\" [attr.for]=\"id\">\n {{ to.label }}\n <span *ngIf=\"to.required && to.hideRequiredMarker !== true\">*</span>\n </label>\n\n <ng-template #fieldComponent></ng-template>\n\n <div *ngIf=\"showError\" class=\"invalid-feedback\" [style.display]=\"'block'\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </div>\n\n <small *ngIf=\"to.description\" class=\"form-text text-muted\">{{ to.description }}</small>\n </div>\n "
16
+ template: "\n <div class=\"form-group\" [class.has-error]=\"showError\">\n <label *ngIf=\"to.label && to.hideLabel !== true\" [attr.for]=\"id\">\n {{ to.label }}\n <span *ngIf=\"to.required && to.hideRequiredMarker !== true\" aria-hidden=\"true\">*</span>\n </label>\n\n <ng-template #fieldComponent></ng-template>\n\n <div *ngIf=\"showError\" class=\"invalid-feedback\" [style.display]=\"'block'\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </div>\n\n <small *ngIf=\"to.description\" class=\"form-text text-muted\">{{ to.description }}</small>\n </div>\n "
17
17
  }] }
18
18
  ];
19
19
  return FormlyWrapperFormField;
20
20
  }(FieldWrapper));
21
21
  export { FormlyWrapperFormField };
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC53cmFwcGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neC1mb3JtbHkvYm9vdHN0cmFwLyIsInNvdXJjZXMiOlsibGliL3dyYXBwZXJzL2Zvcm0tZmllbGQud3JhcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWhEO0lBbUI0QyxrREFBWTtJQW5CeEQ7O0lBb0JBLENBQUM7O2dCQXBCQSxTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsUUFBUSxFQUFFLDRtQkFlVDtpQkFDRjs7SUFFRCw2QkFBQztDQUFBLEFBcEJELENBbUI0QyxZQUFZLEdBQ3ZEO1NBRFksc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWVsZFdyYXBwZXIgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZm9ybWx5LXdyYXBwZXItZm9ybS1maWVsZCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIiBbY2xhc3MuaGFzLWVycm9yXT1cInNob3dFcnJvclwiPlxuICAgICAgPGxhYmVsICpuZ0lmPVwidG8ubGFiZWwgJiYgdG8uaGlkZUxhYmVsICE9PSB0cnVlXCIgW2F0dHIuZm9yXT1cImlkXCI+XG4gICAgICAgIHt7IHRvLmxhYmVsIH19XG4gICAgICAgIDxzcGFuICpuZ0lmPVwidG8ucmVxdWlyZWQgJiYgdG8uaGlkZVJlcXVpcmVkTWFya2VyICE9PSB0cnVlXCI+Kjwvc3Bhbj5cbiAgICAgIDwvbGFiZWw+XG5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjZmllbGRDb21wb25lbnQ+PC9uZy10ZW1wbGF0ZT5cblxuICAgICAgPGRpdiAqbmdJZj1cInNob3dFcnJvclwiIGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiIFtzdHlsZS5kaXNwbGF5XT1cIidibG9jaydcIj5cbiAgICAgICAgPGZvcm1seS12YWxpZGF0aW9uLW1lc3NhZ2UgW2ZpZWxkXT1cImZpZWxkXCI+PC9mb3JtbHktdmFsaWRhdGlvbi1tZXNzYWdlPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxzbWFsbCAqbmdJZj1cInRvLmRlc2NyaXB0aW9uXCIgY2xhc3M9XCJmb3JtLXRleHQgdGV4dC1tdXRlZFwiPnt7IHRvLmRlc2NyaXB0aW9uIH19PC9zbWFsbD5cbiAgICA8L2Rpdj5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybWx5V3JhcHBlckZvcm1GaWVsZCBleHRlbmRzIEZpZWxkV3JhcHBlciB7XG59XG4iXX0=
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC53cmFwcGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neC1mb3JtbHkvYm9vdHN0cmFwLyIsInNvdXJjZXMiOlsibGliL3dyYXBwZXJzL2Zvcm0tZmllbGQud3JhcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWhEO0lBbUI0QyxrREFBWTtJQW5CeEQ7O0lBb0JBLENBQUM7O2dCQXBCQSxTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsUUFBUSxFQUFFLGlvQkFlVDtpQkFDRjs7SUFFRCw2QkFBQztDQUFBLEFBcEJELENBbUI0QyxZQUFZLEdBQ3ZEO1NBRFksc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWVsZFdyYXBwZXIgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZm9ybWx5LXdyYXBwZXItZm9ybS1maWVsZCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIiBbY2xhc3MuaGFzLWVycm9yXT1cInNob3dFcnJvclwiPlxuICAgICAgPGxhYmVsICpuZ0lmPVwidG8ubGFiZWwgJiYgdG8uaGlkZUxhYmVsICE9PSB0cnVlXCIgW2F0dHIuZm9yXT1cImlkXCI+XG4gICAgICAgIHt7IHRvLmxhYmVsIH19XG4gICAgICAgIDxzcGFuICpuZ0lmPVwidG8ucmVxdWlyZWQgJiYgdG8uaGlkZVJlcXVpcmVkTWFya2VyICE9PSB0cnVlXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+Kjwvc3Bhbj5cbiAgICAgIDwvbGFiZWw+XG5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjZmllbGRDb21wb25lbnQ+PC9uZy10ZW1wbGF0ZT5cblxuICAgICAgPGRpdiAqbmdJZj1cInNob3dFcnJvclwiIGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiIFtzdHlsZS5kaXNwbGF5XT1cIidibG9jaydcIj5cbiAgICAgICAgPGZvcm1seS12YWxpZGF0aW9uLW1lc3NhZ2UgW2ZpZWxkXT1cImZpZWxkXCI+PC9mb3JtbHktdmFsaWRhdGlvbi1tZXNzYWdlPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxzbWFsbCAqbmdJZj1cInRvLmRlc2NyaXB0aW9uXCIgY2xhc3M9XCJmb3JtLXRleHQgdGV4dC1tdXRlZFwiPnt7IHRvLmRlc2NyaXB0aW9uIH19PC9zbWFsbD5cbiAgICA8L2Rpdj5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybWx5V3JhcHBlckZvcm1GaWVsZCBleHRlbmRzIEZpZWxkV3JhcHBlciB7XG59XG4iXX0=
@@ -48,7 +48,7 @@ FormlyFieldCheckbox.decorators = [
48
48
  [class.custom-control-label]="to.formCheck.indexOf('custom') === 0"
49
49
  >
50
50
  {{ to.label }}
51
- <span *ngIf="to.required && to.hideRequiredMarker !== true">*</span>
51
+ <span *ngIf="to.required && to.hideRequiredMarker !== true" aria-hidden="true">*</span>
52
52
  </label>
53
53
  </div>
54
54
  `
@@ -389,7 +389,7 @@ FormlyWrapperFormField.decorators = [
389
389
  <div class="form-group" [class.has-error]="showError">
390
390
  <label *ngIf="to.label && to.hideLabel !== true" [attr.for]="id">
391
391
  {{ to.label }}
392
- <span *ngIf="to.required && to.hideRequiredMarker !== true">*</span>
392
+ <span *ngIf="to.required && to.hideRequiredMarker !== true" aria-hidden="true">*</span>
393
393
  </label>
394
394
 
395
395
  <ng-template #fieldComponent></ng-template>
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-formly-bootstrap.js.map","sources":["ng://@ngx-formly/bootstrap/lib/types/checkbox.ts","ng://@ngx-formly/bootstrap/lib/types/multicheckbox.ts","ng://@ngx-formly/bootstrap/lib/types/input.ts","ng://@ngx-formly/bootstrap/lib/types/radio.ts","ng://@ngx-formly/bootstrap/lib/types/textarea.ts","ng://@ngx-formly/bootstrap/lib/types/select.ts","ng://@ngx-formly/bootstrap/lib/wrappers/form-field.wrapper.ts","ng://@ngx-formly/bootstrap/lib/bootstrap.config.ts","ng://@ngx-formly/bootstrap/lib/bootstrap.module.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-field-checkbox',\n template: `\n <div [ngClass]=\"{\n 'form-check': to.formCheck.indexOf('custom') === -1,\n 'form-check-inline': to.formCheck === 'inline',\n 'custom-control': to.formCheck.indexOf('custom') === 0,\n 'custom-checkbox': to.formCheck === 'custom' || to.formCheck === 'custom-inline',\n 'custom-control-inline': to.formCheck === 'custom-inline',\n 'custom-switch': to.formCheck === 'custom-switch'\n }\">\n <input type=\"checkbox\"\n [class.is-invalid]=\"showError\"\n [class.form-check-input]=\"to.formCheck.indexOf('custom') === -1\"\n [class.position-static]=\"to.formCheck === 'nolabel'\"\n [class.custom-control-input]=\"to.formCheck.indexOf('custom') === 0\"\n [indeterminate]=\"to.indeterminate && formControl.value === null\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\">\n <label [for]=\"id\"\n *ngIf=\"to.formCheck !== 'nolabel'\"\n [class.form-check-label]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-label]=\"to.formCheck.indexOf('custom') === 0\"\n >\n {{ to.label }}\n <span *ngIf=\"to.required && to.hideRequiredMarker !== true\">*</span>\n </label>\n </div>\n `,\n})\nexport class FormlyFieldCheckbox extends FieldType {\n defaultOptions = {\n templateOptions: {\n indeterminate: true,\n hideLabel: true,\n formCheck: 'custom', // 'custom' | 'custom-inline' | 'custom-switch' | 'stacked' | 'inline' | 'nolabel'\n },\n };\n}\n","import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-field-multicheckbox',\n template: `\n <div>\n <div *ngFor=\"let option of to.options | formlySelectOptions:field | async; let i = index;\"\n [ngClass]=\"{\n 'form-check': to.formCheck.indexOf('custom') === -1,\n 'form-check-inline': to.formCheck === 'inline',\n 'custom-control': to.formCheck.indexOf('custom') === 0,\n 'custom-checkbox': to.formCheck === 'custom' || to.formCheck === 'custom-inline',\n 'custom-control-inline': to.formCheck === 'custom-inline',\n 'custom-switch': to.formCheck === 'custom-switch'\n }\"\n >\n <input type=\"checkbox\"\n [id]=\"id + '_' + i\"\n [class.form-check-input]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-input]=\"to.formCheck.indexOf('custom') === 0\"\n [value]=\"option.value\"\n [checked]=\"isChecked(option)\"\n [formlyAttributes]=\"field\"\n (change)=\"onChange(option.value, $event.target.checked)\">\n <label\n [class.form-check-label]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-label]=\"to.formCheck.indexOf('custom') === 0\"\n [for]=\"id + '_' + i\">\n {{ option.label }}\n </label>\n </div>\n </div>\n `,\n})\nexport class FormlyFieldMultiCheckbox extends FieldType {\n defaultOptions = {\n templateOptions: {\n options: [],\n formCheck: 'custom', // 'custom' | 'custom-inline' | 'custom-switch' | 'stacked' | 'inline'\n },\n };\n\n onChange(value: any, checked: boolean) {\n if (this.to.type === 'array') {\n this.formControl.patchValue(checked\n ? [...(this.formControl.value || []), value]\n : [...(this.formControl.value || [])].filter(o => o !== value),\n );\n } else {\n this.formControl.patchValue({ ...this.formControl.value, [value]: checked });\n }\n this.formControl.markAsTouched();\n }\n\n isChecked(option: any) {\n const value = this.formControl.value;\n\n return value && (\n this.to.type === 'array'\n ? (value.indexOf(option.value) !== -1)\n : value[option.value]\n );\n }\n}\n","import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-field-input',\n template: `\n <input *ngIf=\"type !== 'number' else numberTmp\" [type]=\"type\" [formControl]=\"formControl\" class=\"form-control\" [formlyAttributes]=\"field\" [class.is-invalid]=\"showError\">\n <ng-template #numberTmp>\n <input type=\"number\" [formControl]=\"formControl\" class=\"form-control\" [formlyAttributes]=\"field\" [class.is-invalid]=\"showError\">\n </ng-template>\n `,\n})\nexport class FormlyFieldInput extends FieldType {\n get type() {\n return this.to.type || 'text';\n }\n}\n","import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-field-radio',\n template: `\n <div>\n <div *ngFor=\"let option of to.options | formlySelectOptions:field | async; let i = index;\"\n [ngClass]=\"{\n 'form-check': to.formCheck.indexOf('custom') === -1,\n 'form-check-inline': to.formCheck === 'inline',\n 'custom-control custom-radio': to.formCheck.indexOf('custom') === 0,\n 'custom-control-inline': to.formCheck === 'custom-inline'\n }\"\n >\n <input type=\"radio\"\n [id]=\"id + '_' + i\"\n [class.form-check-input]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-input]=\"to.formCheck.indexOf('custom') === 0\"\n [name]=\"field.name || id\"\n [class.is-invalid]=\"showError\"\n [attr.value]=\"option.value\"\n [value]=\"option.value\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [attr.disabled]=\"option.disabled || formControl.disabled ? true : null\">\n <label\n [class.form-check-label]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-label]=\"to.formCheck.indexOf('custom') === 0\"\n [for]=\"id + '_' + i\">\n {{ option.label }}\n </label>\n </div>\n </div>\n `,\n})\nexport class FormlyFieldRadio extends FieldType {\n defaultOptions = {\n templateOptions: {\n options: [],\n formCheck: 'custom', // 'custom' | 'custom-inline' | 'stacked' | 'inline'\n },\n };\n}\n","import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-field-textarea',\n template: `\n <textarea [formControl]=\"formControl\" [cols]=\"to.cols\"\n [rows]=\"to.rows\" class=\"form-control\" [class.is-invalid]=\"showError\"\n [formlyAttributes]=\"field\">\n </textarea>\n `,\n})\nexport class FormlyFieldTextArea extends FieldType {\n defaultOptions = {\n templateOptions: {\n cols: 1,\n rows: 1,\n },\n };\n}\n","import { Component, ViewChild, NgZone } from '@angular/core';\nimport { SelectControlValueAccessor } from '@angular/forms';\nimport { FieldType } from '@ngx-formly/core';\nimport { take } from 'rxjs/operators';\n\n@Component({\n selector: 'formly-field-select',\n template: `\n <select *ngIf=\"to.multiple; else singleSelect\" class=\"form-control\"\n multiple\n [class.custom-select]=\"to.customSelect\"\n [formControl]=\"formControl\"\n [compareWith]=\"to.compareWith\"\n [class.is-invalid]=\"showError\"\n [formlyAttributes]=\"field\">\n <ng-container *ngIf=\"to.options | formlySelectOptions:field | async as opts\">\n <ng-container *ngIf=\"to._flatOptions else grouplist\">\n <ng-container *ngFor=\"let opt of opts\">\n <option [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">{{ opt.label }}</option>\n </ng-container>\n </ng-container>\n\n <ng-template #grouplist>\n <ng-container *ngFor=\"let opt of opts\">\n <option *ngIf=\"!opt.group else optgroup\" [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">{{ opt.label }}</option>\n <ng-template #optgroup>\n <optgroup [label]=\"opt.label\">\n <option *ngFor=\"let child of opt.group\" [ngValue]=\"child.value\" [disabled]=\"child.disabled\">\n {{ child.label }}\n </option>\n </optgroup>\n </ng-template>\n </ng-container>\n </ng-template>\n </ng-container>\n </select>\n\n <ng-template #singleSelect>\n <select class=\"form-control\"\n [formControl]=\"formControl\"\n [compareWith]=\"to.compareWith\"\n [class.custom-select]=\"to.customSelect\"\n [class.is-invalid]=\"showError\"\n [formlyAttributes]=\"field\">\n <option *ngIf=\"to.placeholder\" [ngValue]=\"null\">{{ to.placeholder }}</option>\n <ng-container *ngIf=\"to.options | formlySelectOptions:field | async as opts\">\n <ng-container *ngIf=\"to._flatOptions else grouplist\">\n <ng-container *ngFor=\"let opt of opts\">\n <option [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">{{ opt.label }}</option>\n </ng-container>\n </ng-container>\n\n <ng-template #grouplist>\n <ng-container *ngFor=\"let opt of opts\">\n <option *ngIf=\"!opt.group else optgroup\" [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">{{ opt.label }}</option>\n <ng-template #optgroup>\n <optgroup [label]=\"opt.label\">\n <option *ngFor=\"let child of opt.group\" [ngValue]=\"child.value\" [disabled]=\"child.disabled\">\n {{ child.label }}\n </option>\n </optgroup>\n </ng-template>\n </ng-container>\n </ng-template>\n </ng-container>\n </select>\n </ng-template>\n `,\n})\nexport class FormlyFieldSelect extends FieldType {\n defaultOptions = {\n templateOptions: {\n options: [],\n compareWith(o1: any, o2: any) {\n return o1 === o2;\n },\n },\n };\n\n // workaround for https://github.com/angular/angular/issues/10010\n @ViewChild(SelectControlValueAccessor) set selectAccessor(s: any) {\n if (!s) return;\n\n const writeValue = s.writeValue.bind(s);\n if (s._getOptionId(s.value) === null) {\n writeValue(s.value);\n }\n\n s.writeValue = (value: any) => {\n const id = s._idCounter;\n writeValue(value);\n if (value === null) {\n this.ngZone.onStable.asObservable().pipe(take(1)).subscribe(() => {\n if (id !== s._idCounter && s._getOptionId(value) === null && s._elementRef.nativeElement.selectedIndex !== -1) {\n writeValue(value);\n }\n });\n }\n };\n }\n\n constructor(private ngZone: NgZone) {\n super();\n }\n}\n","import { Component } from '@angular/core';\nimport { FieldWrapper } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-wrapper-form-field',\n template: `\n <div class=\"form-group\" [class.has-error]=\"showError\">\n <label *ngIf=\"to.label && to.hideLabel !== true\" [attr.for]=\"id\">\n {{ to.label }}\n <span *ngIf=\"to.required && to.hideRequiredMarker !== true\">*</span>\n </label>\n\n <ng-template #fieldComponent></ng-template>\n\n <div *ngIf=\"showError\" class=\"invalid-feedback\" [style.display]=\"'block'\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </div>\n\n <small *ngIf=\"to.description\" class=\"form-text text-muted\">{{ to.description }}</small>\n </div>\n `,\n})\nexport class FormlyWrapperFormField extends FieldWrapper {\n}\n","import { ConfigOption } from '@ngx-formly/core';\nimport {\n FormlyFieldInput,\n FormlyFieldCheckbox,\n FormlyFieldRadio,\n FormlyFieldSelect,\n FormlyFieldTextArea,\n FormlyFieldMultiCheckbox,\n} from './types/types';\nimport { FormlyWrapperFormField } from './wrappers/wrappers';\n\nexport const FIELD_TYPE_COMPONENTS = [\n // types\n FormlyFieldInput,\n FormlyFieldCheckbox,\n FormlyFieldRadio,\n FormlyFieldSelect,\n FormlyFieldTextArea,\n FormlyFieldMultiCheckbox,\n\n // wrappers\n FormlyWrapperFormField,\n];\n\nexport const BOOTSTRAP_FORMLY_CONFIG: ConfigOption = {\n types: [\n {\n name: 'input',\n component: FormlyFieldInput,\n wrappers: ['form-field'],\n },\n {\n name: 'checkbox',\n component: FormlyFieldCheckbox,\n wrappers: ['form-field'],\n },\n {\n name: 'radio',\n component: FormlyFieldRadio,\n wrappers: ['form-field'],\n },\n {\n name: 'select',\n component: FormlyFieldSelect,\n wrappers: ['form-field'],\n },\n {\n name: 'textarea',\n component: FormlyFieldTextArea,\n wrappers: ['form-field'],\n },\n {\n name: 'multicheckbox',\n component: FormlyFieldMultiCheckbox,\n wrappers: ['form-field'],\n },\n ],\n wrappers: [\n {name: 'form-field', component: FormlyWrapperFormField },\n ],\n};\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { FormlyModule } from '@ngx-formly/core';\nimport { FormlySelectModule } from '@ngx-formly/core/select';\nimport { BOOTSTRAP_FORMLY_CONFIG, FIELD_TYPE_COMPONENTS } from './bootstrap.config';\nimport { FormlyBootstrapAddonsModule } from '@ngx-formly/bootstrap/addons';\n\n@NgModule({\n declarations: [\n FIELD_TYPE_COMPONENTS,\n ],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormlySelectModule,\n FormlyModule.forChild(BOOTSTRAP_FORMLY_CONFIG),\n FormlyBootstrapAddonsModule,\n ],\n})\nexport class FormlyBootstrapModule {}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngx-formly-bootstrap.js.map","sources":["ng://@ngx-formly/bootstrap/lib/types/checkbox.ts","ng://@ngx-formly/bootstrap/lib/types/multicheckbox.ts","ng://@ngx-formly/bootstrap/lib/types/input.ts","ng://@ngx-formly/bootstrap/lib/types/radio.ts","ng://@ngx-formly/bootstrap/lib/types/textarea.ts","ng://@ngx-formly/bootstrap/lib/types/select.ts","ng://@ngx-formly/bootstrap/lib/wrappers/form-field.wrapper.ts","ng://@ngx-formly/bootstrap/lib/bootstrap.config.ts","ng://@ngx-formly/bootstrap/lib/bootstrap.module.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-field-checkbox',\n template: `\n <div [ngClass]=\"{\n 'form-check': to.formCheck.indexOf('custom') === -1,\n 'form-check-inline': to.formCheck === 'inline',\n 'custom-control': to.formCheck.indexOf('custom') === 0,\n 'custom-checkbox': to.formCheck === 'custom' || to.formCheck === 'custom-inline',\n 'custom-control-inline': to.formCheck === 'custom-inline',\n 'custom-switch': to.formCheck === 'custom-switch'\n }\">\n <input type=\"checkbox\"\n [class.is-invalid]=\"showError\"\n [class.form-check-input]=\"to.formCheck.indexOf('custom') === -1\"\n [class.position-static]=\"to.formCheck === 'nolabel'\"\n [class.custom-control-input]=\"to.formCheck.indexOf('custom') === 0\"\n [indeterminate]=\"to.indeterminate && formControl.value === null\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\">\n <label [for]=\"id\"\n *ngIf=\"to.formCheck !== 'nolabel'\"\n [class.form-check-label]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-label]=\"to.formCheck.indexOf('custom') === 0\"\n >\n {{ to.label }}\n <span *ngIf=\"to.required && to.hideRequiredMarker !== true\" aria-hidden=\"true\">*</span>\n </label>\n </div>\n `,\n})\nexport class FormlyFieldCheckbox extends FieldType {\n defaultOptions = {\n templateOptions: {\n indeterminate: true,\n hideLabel: true,\n formCheck: 'custom', // 'custom' | 'custom-inline' | 'custom-switch' | 'stacked' | 'inline' | 'nolabel'\n },\n };\n}\n","import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-field-multicheckbox',\n template: `\n <div>\n <div *ngFor=\"let option of to.options | formlySelectOptions:field | async; let i = index;\"\n [ngClass]=\"{\n 'form-check': to.formCheck.indexOf('custom') === -1,\n 'form-check-inline': to.formCheck === 'inline',\n 'custom-control': to.formCheck.indexOf('custom') === 0,\n 'custom-checkbox': to.formCheck === 'custom' || to.formCheck === 'custom-inline',\n 'custom-control-inline': to.formCheck === 'custom-inline',\n 'custom-switch': to.formCheck === 'custom-switch'\n }\"\n >\n <input type=\"checkbox\"\n [id]=\"id + '_' + i\"\n [class.form-check-input]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-input]=\"to.formCheck.indexOf('custom') === 0\"\n [value]=\"option.value\"\n [checked]=\"isChecked(option)\"\n [formlyAttributes]=\"field\"\n (change)=\"onChange(option.value, $event.target.checked)\">\n <label\n [class.form-check-label]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-label]=\"to.formCheck.indexOf('custom') === 0\"\n [for]=\"id + '_' + i\">\n {{ option.label }}\n </label>\n </div>\n </div>\n `,\n})\nexport class FormlyFieldMultiCheckbox extends FieldType {\n defaultOptions = {\n templateOptions: {\n options: [],\n formCheck: 'custom', // 'custom' | 'custom-inline' | 'custom-switch' | 'stacked' | 'inline'\n },\n };\n\n onChange(value: any, checked: boolean) {\n if (this.to.type === 'array') {\n this.formControl.patchValue(checked\n ? [...(this.formControl.value || []), value]\n : [...(this.formControl.value || [])].filter(o => o !== value),\n );\n } else {\n this.formControl.patchValue({ ...this.formControl.value, [value]: checked });\n }\n this.formControl.markAsTouched();\n }\n\n isChecked(option: any) {\n const value = this.formControl.value;\n\n return value && (\n this.to.type === 'array'\n ? (value.indexOf(option.value) !== -1)\n : value[option.value]\n );\n }\n}\n","import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-field-input',\n template: `\n <input *ngIf=\"type !== 'number' else numberTmp\" [type]=\"type\" [formControl]=\"formControl\" class=\"form-control\" [formlyAttributes]=\"field\" [class.is-invalid]=\"showError\">\n <ng-template #numberTmp>\n <input type=\"number\" [formControl]=\"formControl\" class=\"form-control\" [formlyAttributes]=\"field\" [class.is-invalid]=\"showError\">\n </ng-template>\n `,\n})\nexport class FormlyFieldInput extends FieldType {\n get type() {\n return this.to.type || 'text';\n }\n}\n","import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-field-radio',\n template: `\n <div>\n <div *ngFor=\"let option of to.options | formlySelectOptions:field | async; let i = index;\"\n [ngClass]=\"{\n 'form-check': to.formCheck.indexOf('custom') === -1,\n 'form-check-inline': to.formCheck === 'inline',\n 'custom-control custom-radio': to.formCheck.indexOf('custom') === 0,\n 'custom-control-inline': to.formCheck === 'custom-inline'\n }\"\n >\n <input type=\"radio\"\n [id]=\"id + '_' + i\"\n [class.form-check-input]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-input]=\"to.formCheck.indexOf('custom') === 0\"\n [name]=\"field.name || id\"\n [class.is-invalid]=\"showError\"\n [attr.value]=\"option.value\"\n [value]=\"option.value\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [attr.disabled]=\"option.disabled || formControl.disabled ? true : null\">\n <label\n [class.form-check-label]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-label]=\"to.formCheck.indexOf('custom') === 0\"\n [for]=\"id + '_' + i\">\n {{ option.label }}\n </label>\n </div>\n </div>\n `,\n})\nexport class FormlyFieldRadio extends FieldType {\n defaultOptions = {\n templateOptions: {\n options: [],\n formCheck: 'custom', // 'custom' | 'custom-inline' | 'stacked' | 'inline'\n },\n };\n}\n","import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-field-textarea',\n template: `\n <textarea [formControl]=\"formControl\" [cols]=\"to.cols\"\n [rows]=\"to.rows\" class=\"form-control\" [class.is-invalid]=\"showError\"\n [formlyAttributes]=\"field\">\n </textarea>\n `,\n})\nexport class FormlyFieldTextArea extends FieldType {\n defaultOptions = {\n templateOptions: {\n cols: 1,\n rows: 1,\n },\n };\n}\n","import { Component, ViewChild, NgZone } from '@angular/core';\nimport { SelectControlValueAccessor } from '@angular/forms';\nimport { FieldType } from '@ngx-formly/core';\nimport { take } from 'rxjs/operators';\n\n@Component({\n selector: 'formly-field-select',\n template: `\n <select *ngIf=\"to.multiple; else singleSelect\" class=\"form-control\"\n multiple\n [class.custom-select]=\"to.customSelect\"\n [formControl]=\"formControl\"\n [compareWith]=\"to.compareWith\"\n [class.is-invalid]=\"showError\"\n [formlyAttributes]=\"field\">\n <ng-container *ngIf=\"to.options | formlySelectOptions:field | async as opts\">\n <ng-container *ngIf=\"to._flatOptions else grouplist\">\n <ng-container *ngFor=\"let opt of opts\">\n <option [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">{{ opt.label }}</option>\n </ng-container>\n </ng-container>\n\n <ng-template #grouplist>\n <ng-container *ngFor=\"let opt of opts\">\n <option *ngIf=\"!opt.group else optgroup\" [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">{{ opt.label }}</option>\n <ng-template #optgroup>\n <optgroup [label]=\"opt.label\">\n <option *ngFor=\"let child of opt.group\" [ngValue]=\"child.value\" [disabled]=\"child.disabled\">\n {{ child.label }}\n </option>\n </optgroup>\n </ng-template>\n </ng-container>\n </ng-template>\n </ng-container>\n </select>\n\n <ng-template #singleSelect>\n <select class=\"form-control\"\n [formControl]=\"formControl\"\n [compareWith]=\"to.compareWith\"\n [class.custom-select]=\"to.customSelect\"\n [class.is-invalid]=\"showError\"\n [formlyAttributes]=\"field\">\n <option *ngIf=\"to.placeholder\" [ngValue]=\"null\">{{ to.placeholder }}</option>\n <ng-container *ngIf=\"to.options | formlySelectOptions:field | async as opts\">\n <ng-container *ngIf=\"to._flatOptions else grouplist\">\n <ng-container *ngFor=\"let opt of opts\">\n <option [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">{{ opt.label }}</option>\n </ng-container>\n </ng-container>\n\n <ng-template #grouplist>\n <ng-container *ngFor=\"let opt of opts\">\n <option *ngIf=\"!opt.group else optgroup\" [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">{{ opt.label }}</option>\n <ng-template #optgroup>\n <optgroup [label]=\"opt.label\">\n <option *ngFor=\"let child of opt.group\" [ngValue]=\"child.value\" [disabled]=\"child.disabled\">\n {{ child.label }}\n </option>\n </optgroup>\n </ng-template>\n </ng-container>\n </ng-template>\n </ng-container>\n </select>\n </ng-template>\n `,\n})\nexport class FormlyFieldSelect extends FieldType {\n defaultOptions = {\n templateOptions: {\n options: [],\n compareWith(o1: any, o2: any) {\n return o1 === o2;\n },\n },\n };\n\n // workaround for https://github.com/angular/angular/issues/10010\n @ViewChild(SelectControlValueAccessor) set selectAccessor(s: any) {\n if (!s) return;\n\n const writeValue = s.writeValue.bind(s);\n if (s._getOptionId(s.value) === null) {\n writeValue(s.value);\n }\n\n s.writeValue = (value: any) => {\n const id = s._idCounter;\n writeValue(value);\n if (value === null) {\n this.ngZone.onStable.asObservable().pipe(take(1)).subscribe(() => {\n if (id !== s._idCounter && s._getOptionId(value) === null && s._elementRef.nativeElement.selectedIndex !== -1) {\n writeValue(value);\n }\n });\n }\n };\n }\n\n constructor(private ngZone: NgZone) {\n super();\n }\n}\n","import { Component } from '@angular/core';\nimport { FieldWrapper } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-wrapper-form-field',\n template: `\n <div class=\"form-group\" [class.has-error]=\"showError\">\n <label *ngIf=\"to.label && to.hideLabel !== true\" [attr.for]=\"id\">\n {{ to.label }}\n <span *ngIf=\"to.required && to.hideRequiredMarker !== true\" aria-hidden=\"true\">*</span>\n </label>\n\n <ng-template #fieldComponent></ng-template>\n\n <div *ngIf=\"showError\" class=\"invalid-feedback\" [style.display]=\"'block'\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </div>\n\n <small *ngIf=\"to.description\" class=\"form-text text-muted\">{{ to.description }}</small>\n </div>\n `,\n})\nexport class FormlyWrapperFormField extends FieldWrapper {\n}\n","import { ConfigOption } from '@ngx-formly/core';\nimport {\n FormlyFieldInput,\n FormlyFieldCheckbox,\n FormlyFieldRadio,\n FormlyFieldSelect,\n FormlyFieldTextArea,\n FormlyFieldMultiCheckbox,\n} from './types/types';\nimport { FormlyWrapperFormField } from './wrappers/wrappers';\n\nexport const FIELD_TYPE_COMPONENTS = [\n // types\n FormlyFieldInput,\n FormlyFieldCheckbox,\n FormlyFieldRadio,\n FormlyFieldSelect,\n FormlyFieldTextArea,\n FormlyFieldMultiCheckbox,\n\n // wrappers\n FormlyWrapperFormField,\n];\n\nexport const BOOTSTRAP_FORMLY_CONFIG: ConfigOption = {\n types: [\n {\n name: 'input',\n component: FormlyFieldInput,\n wrappers: ['form-field'],\n },\n {\n name: 'checkbox',\n component: FormlyFieldCheckbox,\n wrappers: ['form-field'],\n },\n {\n name: 'radio',\n component: FormlyFieldRadio,\n wrappers: ['form-field'],\n },\n {\n name: 'select',\n component: FormlyFieldSelect,\n wrappers: ['form-field'],\n },\n {\n name: 'textarea',\n component: FormlyFieldTextArea,\n wrappers: ['form-field'],\n },\n {\n name: 'multicheckbox',\n component: FormlyFieldMultiCheckbox,\n wrappers: ['form-field'],\n },\n ],\n wrappers: [\n {name: 'form-field', component: FormlyWrapperFormField },\n ],\n};\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { FormlyModule } from '@ngx-formly/core';\nimport { FormlySelectModule } from '@ngx-formly/core/select';\nimport { BOOTSTRAP_FORMLY_CONFIG, FIELD_TYPE_COMPONENTS } from './bootstrap.config';\nimport { FormlyBootstrapAddonsModule } from '@ngx-formly/bootstrap/addons';\n\n@NgModule({\n declarations: [\n FIELD_TYPE_COMPONENTS,\n ],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormlySelectModule,\n FormlyModule.forChild(BOOTSTRAP_FORMLY_CONFIG),\n FormlyBootstrapAddonsModule,\n ],\n})\nexport class FormlyBootstrapModule {}\n"],"names":[],"mappings":"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"}
@@ -27,7 +27,7 @@ var FormlyFieldCheckbox = /** @class */ (function (_super) {
27
27
  FormlyFieldCheckbox.decorators = [
28
28
  { type: Component, args: [{
29
29
  selector: 'formly-field-checkbox',
30
- template: "\n <div [ngClass]=\"{\n 'form-check': to.formCheck.indexOf('custom') === -1,\n 'form-check-inline': to.formCheck === 'inline',\n 'custom-control': to.formCheck.indexOf('custom') === 0,\n 'custom-checkbox': to.formCheck === 'custom' || to.formCheck === 'custom-inline',\n 'custom-control-inline': to.formCheck === 'custom-inline',\n 'custom-switch': to.formCheck === 'custom-switch'\n }\">\n <input type=\"checkbox\"\n [class.is-invalid]=\"showError\"\n [class.form-check-input]=\"to.formCheck.indexOf('custom') === -1\"\n [class.position-static]=\"to.formCheck === 'nolabel'\"\n [class.custom-control-input]=\"to.formCheck.indexOf('custom') === 0\"\n [indeterminate]=\"to.indeterminate && formControl.value === null\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\">\n <label [for]=\"id\"\n *ngIf=\"to.formCheck !== 'nolabel'\"\n [class.form-check-label]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-label]=\"to.formCheck.indexOf('custom') === 0\"\n >\n {{ to.label }}\n <span *ngIf=\"to.required && to.hideRequiredMarker !== true\">*</span>\n </label>\n </div>\n "
30
+ template: "\n <div [ngClass]=\"{\n 'form-check': to.formCheck.indexOf('custom') === -1,\n 'form-check-inline': to.formCheck === 'inline',\n 'custom-control': to.formCheck.indexOf('custom') === 0,\n 'custom-checkbox': to.formCheck === 'custom' || to.formCheck === 'custom-inline',\n 'custom-control-inline': to.formCheck === 'custom-inline',\n 'custom-switch': to.formCheck === 'custom-switch'\n }\">\n <input type=\"checkbox\"\n [class.is-invalid]=\"showError\"\n [class.form-check-input]=\"to.formCheck.indexOf('custom') === -1\"\n [class.position-static]=\"to.formCheck === 'nolabel'\"\n [class.custom-control-input]=\"to.formCheck.indexOf('custom') === 0\"\n [indeterminate]=\"to.indeterminate && formControl.value === null\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\">\n <label [for]=\"id\"\n *ngIf=\"to.formCheck !== 'nolabel'\"\n [class.form-check-label]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-label]=\"to.formCheck.indexOf('custom') === 0\"\n >\n {{ to.label }}\n <span *ngIf=\"to.required && to.hideRequiredMarker !== true\" aria-hidden=\"true\">*</span>\n </label>\n </div>\n "
31
31
  }] }
32
32
  ];
33
33
  return FormlyFieldCheckbox;
@@ -273,7 +273,7 @@ var FormlyWrapperFormField = /** @class */ (function (_super) {
273
273
  FormlyWrapperFormField.decorators = [
274
274
  { type: Component, args: [{
275
275
  selector: 'formly-wrapper-form-field',
276
- template: "\n <div class=\"form-group\" [class.has-error]=\"showError\">\n <label *ngIf=\"to.label && to.hideLabel !== true\" [attr.for]=\"id\">\n {{ to.label }}\n <span *ngIf=\"to.required && to.hideRequiredMarker !== true\">*</span>\n </label>\n\n <ng-template #fieldComponent></ng-template>\n\n <div *ngIf=\"showError\" class=\"invalid-feedback\" [style.display]=\"'block'\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </div>\n\n <small *ngIf=\"to.description\" class=\"form-text text-muted\">{{ to.description }}</small>\n </div>\n "
276
+ template: "\n <div class=\"form-group\" [class.has-error]=\"showError\">\n <label *ngIf=\"to.label && to.hideLabel !== true\" [attr.for]=\"id\">\n {{ to.label }}\n <span *ngIf=\"to.required && to.hideRequiredMarker !== true\" aria-hidden=\"true\">*</span>\n </label>\n\n <ng-template #fieldComponent></ng-template>\n\n <div *ngIf=\"showError\" class=\"invalid-feedback\" [style.display]=\"'block'\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </div>\n\n <small *ngIf=\"to.description\" class=\"form-text text-muted\">{{ to.description }}</small>\n </div>\n "
277
277
  }] }
278
278
  ];
279
279
  return FormlyWrapperFormField;
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-formly-bootstrap.js.map","sources":["ng://@ngx-formly/bootstrap/lib/types/checkbox.ts","ng://@ngx-formly/bootstrap/lib/types/multicheckbox.ts","ng://@ngx-formly/bootstrap/lib/types/input.ts","ng://@ngx-formly/bootstrap/lib/types/radio.ts","ng://@ngx-formly/bootstrap/lib/types/textarea.ts","ng://@ngx-formly/bootstrap/lib/types/select.ts","ng://@ngx-formly/bootstrap/lib/wrappers/form-field.wrapper.ts","ng://@ngx-formly/bootstrap/lib/bootstrap.config.ts","ng://@ngx-formly/bootstrap/lib/bootstrap.module.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-field-checkbox',\n template: `\n <div [ngClass]=\"{\n 'form-check': to.formCheck.indexOf('custom') === -1,\n 'form-check-inline': to.formCheck === 'inline',\n 'custom-control': to.formCheck.indexOf('custom') === 0,\n 'custom-checkbox': to.formCheck === 'custom' || to.formCheck === 'custom-inline',\n 'custom-control-inline': to.formCheck === 'custom-inline',\n 'custom-switch': to.formCheck === 'custom-switch'\n }\">\n <input type=\"checkbox\"\n [class.is-invalid]=\"showError\"\n [class.form-check-input]=\"to.formCheck.indexOf('custom') === -1\"\n [class.position-static]=\"to.formCheck === 'nolabel'\"\n [class.custom-control-input]=\"to.formCheck.indexOf('custom') === 0\"\n [indeterminate]=\"to.indeterminate && formControl.value === null\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\">\n <label [for]=\"id\"\n *ngIf=\"to.formCheck !== 'nolabel'\"\n [class.form-check-label]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-label]=\"to.formCheck.indexOf('custom') === 0\"\n >\n {{ to.label }}\n <span *ngIf=\"to.required && to.hideRequiredMarker !== true\">*</span>\n </label>\n </div>\n `,\n})\nexport class FormlyFieldCheckbox extends FieldType {\n defaultOptions = {\n templateOptions: {\n indeterminate: true,\n hideLabel: true,\n formCheck: 'custom', // 'custom' | 'custom-inline' | 'custom-switch' | 'stacked' | 'inline' | 'nolabel'\n },\n };\n}\n","import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-field-multicheckbox',\n template: `\n <div>\n <div *ngFor=\"let option of to.options | formlySelectOptions:field | async; let i = index;\"\n [ngClass]=\"{\n 'form-check': to.formCheck.indexOf('custom') === -1,\n 'form-check-inline': to.formCheck === 'inline',\n 'custom-control': to.formCheck.indexOf('custom') === 0,\n 'custom-checkbox': to.formCheck === 'custom' || to.formCheck === 'custom-inline',\n 'custom-control-inline': to.formCheck === 'custom-inline',\n 'custom-switch': to.formCheck === 'custom-switch'\n }\"\n >\n <input type=\"checkbox\"\n [id]=\"id + '_' + i\"\n [class.form-check-input]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-input]=\"to.formCheck.indexOf('custom') === 0\"\n [value]=\"option.value\"\n [checked]=\"isChecked(option)\"\n [formlyAttributes]=\"field\"\n (change)=\"onChange(option.value, $event.target.checked)\">\n <label\n [class.form-check-label]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-label]=\"to.formCheck.indexOf('custom') === 0\"\n [for]=\"id + '_' + i\">\n {{ option.label }}\n </label>\n </div>\n </div>\n `,\n})\nexport class FormlyFieldMultiCheckbox extends FieldType {\n defaultOptions = {\n templateOptions: {\n options: [],\n formCheck: 'custom', // 'custom' | 'custom-inline' | 'custom-switch' | 'stacked' | 'inline'\n },\n };\n\n onChange(value: any, checked: boolean) {\n if (this.to.type === 'array') {\n this.formControl.patchValue(checked\n ? [...(this.formControl.value || []), value]\n : [...(this.formControl.value || [])].filter(o => o !== value),\n );\n } else {\n this.formControl.patchValue({ ...this.formControl.value, [value]: checked });\n }\n this.formControl.markAsTouched();\n }\n\n isChecked(option: any) {\n const value = this.formControl.value;\n\n return value && (\n this.to.type === 'array'\n ? (value.indexOf(option.value) !== -1)\n : value[option.value]\n );\n }\n}\n","import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-field-input',\n template: `\n <input *ngIf=\"type !== 'number' else numberTmp\" [type]=\"type\" [formControl]=\"formControl\" class=\"form-control\" [formlyAttributes]=\"field\" [class.is-invalid]=\"showError\">\n <ng-template #numberTmp>\n <input type=\"number\" [formControl]=\"formControl\" class=\"form-control\" [formlyAttributes]=\"field\" [class.is-invalid]=\"showError\">\n </ng-template>\n `,\n})\nexport class FormlyFieldInput extends FieldType {\n get type() {\n return this.to.type || 'text';\n }\n}\n","import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-field-radio',\n template: `\n <div>\n <div *ngFor=\"let option of to.options | formlySelectOptions:field | async; let i = index;\"\n [ngClass]=\"{\n 'form-check': to.formCheck.indexOf('custom') === -1,\n 'form-check-inline': to.formCheck === 'inline',\n 'custom-control custom-radio': to.formCheck.indexOf('custom') === 0,\n 'custom-control-inline': to.formCheck === 'custom-inline'\n }\"\n >\n <input type=\"radio\"\n [id]=\"id + '_' + i\"\n [class.form-check-input]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-input]=\"to.formCheck.indexOf('custom') === 0\"\n [name]=\"field.name || id\"\n [class.is-invalid]=\"showError\"\n [attr.value]=\"option.value\"\n [value]=\"option.value\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [attr.disabled]=\"option.disabled || formControl.disabled ? true : null\">\n <label\n [class.form-check-label]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-label]=\"to.formCheck.indexOf('custom') === 0\"\n [for]=\"id + '_' + i\">\n {{ option.label }}\n </label>\n </div>\n </div>\n `,\n})\nexport class FormlyFieldRadio extends FieldType {\n defaultOptions = {\n templateOptions: {\n options: [],\n formCheck: 'custom', // 'custom' | 'custom-inline' | 'stacked' | 'inline'\n },\n };\n}\n","import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-field-textarea',\n template: `\n <textarea [formControl]=\"formControl\" [cols]=\"to.cols\"\n [rows]=\"to.rows\" class=\"form-control\" [class.is-invalid]=\"showError\"\n [formlyAttributes]=\"field\">\n </textarea>\n `,\n})\nexport class FormlyFieldTextArea extends FieldType {\n defaultOptions = {\n templateOptions: {\n cols: 1,\n rows: 1,\n },\n };\n}\n","import { Component, ViewChild, NgZone } from '@angular/core';\nimport { SelectControlValueAccessor } from '@angular/forms';\nimport { FieldType } from '@ngx-formly/core';\nimport { take } from 'rxjs/operators';\n\n@Component({\n selector: 'formly-field-select',\n template: `\n <select *ngIf=\"to.multiple; else singleSelect\" class=\"form-control\"\n multiple\n [class.custom-select]=\"to.customSelect\"\n [formControl]=\"formControl\"\n [compareWith]=\"to.compareWith\"\n [class.is-invalid]=\"showError\"\n [formlyAttributes]=\"field\">\n <ng-container *ngIf=\"to.options | formlySelectOptions:field | async as opts\">\n <ng-container *ngIf=\"to._flatOptions else grouplist\">\n <ng-container *ngFor=\"let opt of opts\">\n <option [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">{{ opt.label }}</option>\n </ng-container>\n </ng-container>\n\n <ng-template #grouplist>\n <ng-container *ngFor=\"let opt of opts\">\n <option *ngIf=\"!opt.group else optgroup\" [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">{{ opt.label }}</option>\n <ng-template #optgroup>\n <optgroup [label]=\"opt.label\">\n <option *ngFor=\"let child of opt.group\" [ngValue]=\"child.value\" [disabled]=\"child.disabled\">\n {{ child.label }}\n </option>\n </optgroup>\n </ng-template>\n </ng-container>\n </ng-template>\n </ng-container>\n </select>\n\n <ng-template #singleSelect>\n <select class=\"form-control\"\n [formControl]=\"formControl\"\n [compareWith]=\"to.compareWith\"\n [class.custom-select]=\"to.customSelect\"\n [class.is-invalid]=\"showError\"\n [formlyAttributes]=\"field\">\n <option *ngIf=\"to.placeholder\" [ngValue]=\"null\">{{ to.placeholder }}</option>\n <ng-container *ngIf=\"to.options | formlySelectOptions:field | async as opts\">\n <ng-container *ngIf=\"to._flatOptions else grouplist\">\n <ng-container *ngFor=\"let opt of opts\">\n <option [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">{{ opt.label }}</option>\n </ng-container>\n </ng-container>\n\n <ng-template #grouplist>\n <ng-container *ngFor=\"let opt of opts\">\n <option *ngIf=\"!opt.group else optgroup\" [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">{{ opt.label }}</option>\n <ng-template #optgroup>\n <optgroup [label]=\"opt.label\">\n <option *ngFor=\"let child of opt.group\" [ngValue]=\"child.value\" [disabled]=\"child.disabled\">\n {{ child.label }}\n </option>\n </optgroup>\n </ng-template>\n </ng-container>\n </ng-template>\n </ng-container>\n </select>\n </ng-template>\n `,\n})\nexport class FormlyFieldSelect extends FieldType {\n defaultOptions = {\n templateOptions: {\n options: [],\n compareWith(o1: any, o2: any) {\n return o1 === o2;\n },\n },\n };\n\n // workaround for https://github.com/angular/angular/issues/10010\n @ViewChild(SelectControlValueAccessor) set selectAccessor(s: any) {\n if (!s) return;\n\n const writeValue = s.writeValue.bind(s);\n if (s._getOptionId(s.value) === null) {\n writeValue(s.value);\n }\n\n s.writeValue = (value: any) => {\n const id = s._idCounter;\n writeValue(value);\n if (value === null) {\n this.ngZone.onStable.asObservable().pipe(take(1)).subscribe(() => {\n if (id !== s._idCounter && s._getOptionId(value) === null && s._elementRef.nativeElement.selectedIndex !== -1) {\n writeValue(value);\n }\n });\n }\n };\n }\n\n constructor(private ngZone: NgZone) {\n super();\n }\n}\n","import { Component } from '@angular/core';\nimport { FieldWrapper } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-wrapper-form-field',\n template: `\n <div class=\"form-group\" [class.has-error]=\"showError\">\n <label *ngIf=\"to.label && to.hideLabel !== true\" [attr.for]=\"id\">\n {{ to.label }}\n <span *ngIf=\"to.required && to.hideRequiredMarker !== true\">*</span>\n </label>\n\n <ng-template #fieldComponent></ng-template>\n\n <div *ngIf=\"showError\" class=\"invalid-feedback\" [style.display]=\"'block'\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </div>\n\n <small *ngIf=\"to.description\" class=\"form-text text-muted\">{{ to.description }}</small>\n </div>\n `,\n})\nexport class FormlyWrapperFormField extends FieldWrapper {\n}\n","import { ConfigOption } from '@ngx-formly/core';\nimport {\n FormlyFieldInput,\n FormlyFieldCheckbox,\n FormlyFieldRadio,\n FormlyFieldSelect,\n FormlyFieldTextArea,\n FormlyFieldMultiCheckbox,\n} from './types/types';\nimport { FormlyWrapperFormField } from './wrappers/wrappers';\n\nexport const FIELD_TYPE_COMPONENTS = [\n // types\n FormlyFieldInput,\n FormlyFieldCheckbox,\n FormlyFieldRadio,\n FormlyFieldSelect,\n FormlyFieldTextArea,\n FormlyFieldMultiCheckbox,\n\n // wrappers\n FormlyWrapperFormField,\n];\n\nexport const BOOTSTRAP_FORMLY_CONFIG: ConfigOption = {\n types: [\n {\n name: 'input',\n component: FormlyFieldInput,\n wrappers: ['form-field'],\n },\n {\n name: 'checkbox',\n component: FormlyFieldCheckbox,\n wrappers: ['form-field'],\n },\n {\n name: 'radio',\n component: FormlyFieldRadio,\n wrappers: ['form-field'],\n },\n {\n name: 'select',\n component: FormlyFieldSelect,\n wrappers: ['form-field'],\n },\n {\n name: 'textarea',\n component: FormlyFieldTextArea,\n wrappers: ['form-field'],\n },\n {\n name: 'multicheckbox',\n component: FormlyFieldMultiCheckbox,\n wrappers: ['form-field'],\n },\n ],\n wrappers: [\n {name: 'form-field', component: FormlyWrapperFormField },\n ],\n};\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { FormlyModule } from '@ngx-formly/core';\nimport { FormlySelectModule } from '@ngx-formly/core/select';\nimport { BOOTSTRAP_FORMLY_CONFIG, FIELD_TYPE_COMPONENTS } from './bootstrap.config';\nimport { FormlyBootstrapAddonsModule } from '@ngx-formly/bootstrap/addons';\n\n@NgModule({\n declarations: [\n FIELD_TYPE_COMPONENTS,\n ],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormlySelectModule,\n FormlyModule.forChild(BOOTSTRAP_FORMLY_CONFIG),\n FormlyBootstrapAddonsModule,\n ],\n})\nexport class FormlyBootstrapModule {}\n"],"names":["tslib_1.__extends","tslib_1.__spread"],"mappings":"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"}
1
+ {"version":3,"file":"ngx-formly-bootstrap.js.map","sources":["ng://@ngx-formly/bootstrap/lib/types/checkbox.ts","ng://@ngx-formly/bootstrap/lib/types/multicheckbox.ts","ng://@ngx-formly/bootstrap/lib/types/input.ts","ng://@ngx-formly/bootstrap/lib/types/radio.ts","ng://@ngx-formly/bootstrap/lib/types/textarea.ts","ng://@ngx-formly/bootstrap/lib/types/select.ts","ng://@ngx-formly/bootstrap/lib/wrappers/form-field.wrapper.ts","ng://@ngx-formly/bootstrap/lib/bootstrap.config.ts","ng://@ngx-formly/bootstrap/lib/bootstrap.module.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-field-checkbox',\n template: `\n <div [ngClass]=\"{\n 'form-check': to.formCheck.indexOf('custom') === -1,\n 'form-check-inline': to.formCheck === 'inline',\n 'custom-control': to.formCheck.indexOf('custom') === 0,\n 'custom-checkbox': to.formCheck === 'custom' || to.formCheck === 'custom-inline',\n 'custom-control-inline': to.formCheck === 'custom-inline',\n 'custom-switch': to.formCheck === 'custom-switch'\n }\">\n <input type=\"checkbox\"\n [class.is-invalid]=\"showError\"\n [class.form-check-input]=\"to.formCheck.indexOf('custom') === -1\"\n [class.position-static]=\"to.formCheck === 'nolabel'\"\n [class.custom-control-input]=\"to.formCheck.indexOf('custom') === 0\"\n [indeterminate]=\"to.indeterminate && formControl.value === null\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\">\n <label [for]=\"id\"\n *ngIf=\"to.formCheck !== 'nolabel'\"\n [class.form-check-label]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-label]=\"to.formCheck.indexOf('custom') === 0\"\n >\n {{ to.label }}\n <span *ngIf=\"to.required && to.hideRequiredMarker !== true\" aria-hidden=\"true\">*</span>\n </label>\n </div>\n `,\n})\nexport class FormlyFieldCheckbox extends FieldType {\n defaultOptions = {\n templateOptions: {\n indeterminate: true,\n hideLabel: true,\n formCheck: 'custom', // 'custom' | 'custom-inline' | 'custom-switch' | 'stacked' | 'inline' | 'nolabel'\n },\n };\n}\n","import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-field-multicheckbox',\n template: `\n <div>\n <div *ngFor=\"let option of to.options | formlySelectOptions:field | async; let i = index;\"\n [ngClass]=\"{\n 'form-check': to.formCheck.indexOf('custom') === -1,\n 'form-check-inline': to.formCheck === 'inline',\n 'custom-control': to.formCheck.indexOf('custom') === 0,\n 'custom-checkbox': to.formCheck === 'custom' || to.formCheck === 'custom-inline',\n 'custom-control-inline': to.formCheck === 'custom-inline',\n 'custom-switch': to.formCheck === 'custom-switch'\n }\"\n >\n <input type=\"checkbox\"\n [id]=\"id + '_' + i\"\n [class.form-check-input]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-input]=\"to.formCheck.indexOf('custom') === 0\"\n [value]=\"option.value\"\n [checked]=\"isChecked(option)\"\n [formlyAttributes]=\"field\"\n (change)=\"onChange(option.value, $event.target.checked)\">\n <label\n [class.form-check-label]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-label]=\"to.formCheck.indexOf('custom') === 0\"\n [for]=\"id + '_' + i\">\n {{ option.label }}\n </label>\n </div>\n </div>\n `,\n})\nexport class FormlyFieldMultiCheckbox extends FieldType {\n defaultOptions = {\n templateOptions: {\n options: [],\n formCheck: 'custom', // 'custom' | 'custom-inline' | 'custom-switch' | 'stacked' | 'inline'\n },\n };\n\n onChange(value: any, checked: boolean) {\n if (this.to.type === 'array') {\n this.formControl.patchValue(checked\n ? [...(this.formControl.value || []), value]\n : [...(this.formControl.value || [])].filter(o => o !== value),\n );\n } else {\n this.formControl.patchValue({ ...this.formControl.value, [value]: checked });\n }\n this.formControl.markAsTouched();\n }\n\n isChecked(option: any) {\n const value = this.formControl.value;\n\n return value && (\n this.to.type === 'array'\n ? (value.indexOf(option.value) !== -1)\n : value[option.value]\n );\n }\n}\n","import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-field-input',\n template: `\n <input *ngIf=\"type !== 'number' else numberTmp\" [type]=\"type\" [formControl]=\"formControl\" class=\"form-control\" [formlyAttributes]=\"field\" [class.is-invalid]=\"showError\">\n <ng-template #numberTmp>\n <input type=\"number\" [formControl]=\"formControl\" class=\"form-control\" [formlyAttributes]=\"field\" [class.is-invalid]=\"showError\">\n </ng-template>\n `,\n})\nexport class FormlyFieldInput extends FieldType {\n get type() {\n return this.to.type || 'text';\n }\n}\n","import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-field-radio',\n template: `\n <div>\n <div *ngFor=\"let option of to.options | formlySelectOptions:field | async; let i = index;\"\n [ngClass]=\"{\n 'form-check': to.formCheck.indexOf('custom') === -1,\n 'form-check-inline': to.formCheck === 'inline',\n 'custom-control custom-radio': to.formCheck.indexOf('custom') === 0,\n 'custom-control-inline': to.formCheck === 'custom-inline'\n }\"\n >\n <input type=\"radio\"\n [id]=\"id + '_' + i\"\n [class.form-check-input]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-input]=\"to.formCheck.indexOf('custom') === 0\"\n [name]=\"field.name || id\"\n [class.is-invalid]=\"showError\"\n [attr.value]=\"option.value\"\n [value]=\"option.value\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [attr.disabled]=\"option.disabled || formControl.disabled ? true : null\">\n <label\n [class.form-check-label]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-label]=\"to.formCheck.indexOf('custom') === 0\"\n [for]=\"id + '_' + i\">\n {{ option.label }}\n </label>\n </div>\n </div>\n `,\n})\nexport class FormlyFieldRadio extends FieldType {\n defaultOptions = {\n templateOptions: {\n options: [],\n formCheck: 'custom', // 'custom' | 'custom-inline' | 'stacked' | 'inline'\n },\n };\n}\n","import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-field-textarea',\n template: `\n <textarea [formControl]=\"formControl\" [cols]=\"to.cols\"\n [rows]=\"to.rows\" class=\"form-control\" [class.is-invalid]=\"showError\"\n [formlyAttributes]=\"field\">\n </textarea>\n `,\n})\nexport class FormlyFieldTextArea extends FieldType {\n defaultOptions = {\n templateOptions: {\n cols: 1,\n rows: 1,\n },\n };\n}\n","import { Component, ViewChild, NgZone } from '@angular/core';\nimport { SelectControlValueAccessor } from '@angular/forms';\nimport { FieldType } from '@ngx-formly/core';\nimport { take } from 'rxjs/operators';\n\n@Component({\n selector: 'formly-field-select',\n template: `\n <select *ngIf=\"to.multiple; else singleSelect\" class=\"form-control\"\n multiple\n [class.custom-select]=\"to.customSelect\"\n [formControl]=\"formControl\"\n [compareWith]=\"to.compareWith\"\n [class.is-invalid]=\"showError\"\n [formlyAttributes]=\"field\">\n <ng-container *ngIf=\"to.options | formlySelectOptions:field | async as opts\">\n <ng-container *ngIf=\"to._flatOptions else grouplist\">\n <ng-container *ngFor=\"let opt of opts\">\n <option [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">{{ opt.label }}</option>\n </ng-container>\n </ng-container>\n\n <ng-template #grouplist>\n <ng-container *ngFor=\"let opt of opts\">\n <option *ngIf=\"!opt.group else optgroup\" [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">{{ opt.label }}</option>\n <ng-template #optgroup>\n <optgroup [label]=\"opt.label\">\n <option *ngFor=\"let child of opt.group\" [ngValue]=\"child.value\" [disabled]=\"child.disabled\">\n {{ child.label }}\n </option>\n </optgroup>\n </ng-template>\n </ng-container>\n </ng-template>\n </ng-container>\n </select>\n\n <ng-template #singleSelect>\n <select class=\"form-control\"\n [formControl]=\"formControl\"\n [compareWith]=\"to.compareWith\"\n [class.custom-select]=\"to.customSelect\"\n [class.is-invalid]=\"showError\"\n [formlyAttributes]=\"field\">\n <option *ngIf=\"to.placeholder\" [ngValue]=\"null\">{{ to.placeholder }}</option>\n <ng-container *ngIf=\"to.options | formlySelectOptions:field | async as opts\">\n <ng-container *ngIf=\"to._flatOptions else grouplist\">\n <ng-container *ngFor=\"let opt of opts\">\n <option [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">{{ opt.label }}</option>\n </ng-container>\n </ng-container>\n\n <ng-template #grouplist>\n <ng-container *ngFor=\"let opt of opts\">\n <option *ngIf=\"!opt.group else optgroup\" [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">{{ opt.label }}</option>\n <ng-template #optgroup>\n <optgroup [label]=\"opt.label\">\n <option *ngFor=\"let child of opt.group\" [ngValue]=\"child.value\" [disabled]=\"child.disabled\">\n {{ child.label }}\n </option>\n </optgroup>\n </ng-template>\n </ng-container>\n </ng-template>\n </ng-container>\n </select>\n </ng-template>\n `,\n})\nexport class FormlyFieldSelect extends FieldType {\n defaultOptions = {\n templateOptions: {\n options: [],\n compareWith(o1: any, o2: any) {\n return o1 === o2;\n },\n },\n };\n\n // workaround for https://github.com/angular/angular/issues/10010\n @ViewChild(SelectControlValueAccessor) set selectAccessor(s: any) {\n if (!s) return;\n\n const writeValue = s.writeValue.bind(s);\n if (s._getOptionId(s.value) === null) {\n writeValue(s.value);\n }\n\n s.writeValue = (value: any) => {\n const id = s._idCounter;\n writeValue(value);\n if (value === null) {\n this.ngZone.onStable.asObservable().pipe(take(1)).subscribe(() => {\n if (id !== s._idCounter && s._getOptionId(value) === null && s._elementRef.nativeElement.selectedIndex !== -1) {\n writeValue(value);\n }\n });\n }\n };\n }\n\n constructor(private ngZone: NgZone) {\n super();\n }\n}\n","import { Component } from '@angular/core';\nimport { FieldWrapper } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-wrapper-form-field',\n template: `\n <div class=\"form-group\" [class.has-error]=\"showError\">\n <label *ngIf=\"to.label && to.hideLabel !== true\" [attr.for]=\"id\">\n {{ to.label }}\n <span *ngIf=\"to.required && to.hideRequiredMarker !== true\" aria-hidden=\"true\">*</span>\n </label>\n\n <ng-template #fieldComponent></ng-template>\n\n <div *ngIf=\"showError\" class=\"invalid-feedback\" [style.display]=\"'block'\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </div>\n\n <small *ngIf=\"to.description\" class=\"form-text text-muted\">{{ to.description }}</small>\n </div>\n `,\n})\nexport class FormlyWrapperFormField extends FieldWrapper {\n}\n","import { ConfigOption } from '@ngx-formly/core';\nimport {\n FormlyFieldInput,\n FormlyFieldCheckbox,\n FormlyFieldRadio,\n FormlyFieldSelect,\n FormlyFieldTextArea,\n FormlyFieldMultiCheckbox,\n} from './types/types';\nimport { FormlyWrapperFormField } from './wrappers/wrappers';\n\nexport const FIELD_TYPE_COMPONENTS = [\n // types\n FormlyFieldInput,\n FormlyFieldCheckbox,\n FormlyFieldRadio,\n FormlyFieldSelect,\n FormlyFieldTextArea,\n FormlyFieldMultiCheckbox,\n\n // wrappers\n FormlyWrapperFormField,\n];\n\nexport const BOOTSTRAP_FORMLY_CONFIG: ConfigOption = {\n types: [\n {\n name: 'input',\n component: FormlyFieldInput,\n wrappers: ['form-field'],\n },\n {\n name: 'checkbox',\n component: FormlyFieldCheckbox,\n wrappers: ['form-field'],\n },\n {\n name: 'radio',\n component: FormlyFieldRadio,\n wrappers: ['form-field'],\n },\n {\n name: 'select',\n component: FormlyFieldSelect,\n wrappers: ['form-field'],\n },\n {\n name: 'textarea',\n component: FormlyFieldTextArea,\n wrappers: ['form-field'],\n },\n {\n name: 'multicheckbox',\n component: FormlyFieldMultiCheckbox,\n wrappers: ['form-field'],\n },\n ],\n wrappers: [\n {name: 'form-field', component: FormlyWrapperFormField },\n ],\n};\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { FormlyModule } from '@ngx-formly/core';\nimport { FormlySelectModule } from '@ngx-formly/core/select';\nimport { BOOTSTRAP_FORMLY_CONFIG, FIELD_TYPE_COMPONENTS } from './bootstrap.config';\nimport { FormlyBootstrapAddonsModule } from '@ngx-formly/bootstrap/addons';\n\n@NgModule({\n declarations: [\n FIELD_TYPE_COMPONENTS,\n ],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormlySelectModule,\n FormlyModule.forChild(BOOTSTRAP_FORMLY_CONFIG),\n FormlyBootstrapAddonsModule,\n ],\n})\nexport class FormlyBootstrapModule {}\n"],"names":["tslib_1.__extends","tslib_1.__spread"],"mappings":"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"}
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"FormlyFieldCheckbox":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@ngx-formly/core","name":"FieldType","line":33,"character":41},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"formly-field-checkbox","template":"\n <div [ngClass]=\"{\n 'form-check': to.formCheck.indexOf('custom') === -1,\n 'form-check-inline': to.formCheck === 'inline',\n 'custom-control': to.formCheck.indexOf('custom') === 0,\n 'custom-checkbox': to.formCheck === 'custom' || to.formCheck === 'custom-inline',\n 'custom-control-inline': to.formCheck === 'custom-inline',\n 'custom-switch': to.formCheck === 'custom-switch'\n }\">\n <input type=\"checkbox\"\n [class.is-invalid]=\"showError\"\n [class.form-check-input]=\"to.formCheck.indexOf('custom') === -1\"\n [class.position-static]=\"to.formCheck === 'nolabel'\"\n [class.custom-control-input]=\"to.formCheck.indexOf('custom') === 0\"\n [indeterminate]=\"to.indeterminate && formControl.value === null\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\">\n <label [for]=\"id\"\n *ngIf=\"to.formCheck !== 'nolabel'\"\n [class.form-check-label]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-label]=\"to.formCheck.indexOf('custom') === 0\"\n >\n {{ to.label }}\n <span *ngIf=\"to.required && to.hideRequiredMarker !== true\">*</span>\n </label>\n </div>\n "}]}],"members":{}},"FormlyFieldMultiCheckbox":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@ngx-formly/core","name":"FieldType","line":35,"character":46},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"formly-field-multicheckbox","template":"\n <div>\n <div *ngFor=\"let option of to.options | formlySelectOptions:field | async; let i = index;\"\n [ngClass]=\"{\n 'form-check': to.formCheck.indexOf('custom') === -1,\n 'form-check-inline': to.formCheck === 'inline',\n 'custom-control': to.formCheck.indexOf('custom') === 0,\n 'custom-checkbox': to.formCheck === 'custom' || to.formCheck === 'custom-inline',\n 'custom-control-inline': to.formCheck === 'custom-inline',\n 'custom-switch': to.formCheck === 'custom-switch'\n }\"\n >\n <input type=\"checkbox\"\n [id]=\"id + '_' + i\"\n [class.form-check-input]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-input]=\"to.formCheck.indexOf('custom') === 0\"\n [value]=\"option.value\"\n [checked]=\"isChecked(option)\"\n [formlyAttributes]=\"field\"\n (change)=\"onChange(option.value, $event.target.checked)\">\n <label\n [class.form-check-label]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-label]=\"to.formCheck.indexOf('custom') === 0\"\n [for]=\"id + '_' + i\">\n {{ option.label }}\n </label>\n </div>\n </div>\n "}]}],"members":{"onChange":[{"__symbolic":"method"}],"isChecked":[{"__symbolic":"method"}]}},"FormlyFieldInput":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@ngx-formly/core","name":"FieldType","line":12,"character":38},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"formly-field-input","template":"\n <input *ngIf=\"type !== 'number' else numberTmp\" [type]=\"type\" [formControl]=\"formControl\" class=\"form-control\" [formlyAttributes]=\"field\" [class.is-invalid]=\"showError\">\n <ng-template #numberTmp>\n <input type=\"number\" [formControl]=\"formControl\" class=\"form-control\" [formlyAttributes]=\"field\" [class.is-invalid]=\"showError\">\n </ng-template>\n "}]}],"members":{}},"FormlyFieldRadio":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@ngx-formly/core","name":"FieldType","line":36,"character":38},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"formly-field-radio","template":"\n <div>\n <div *ngFor=\"let option of to.options | formlySelectOptions:field | async; let i = index;\"\n [ngClass]=\"{\n 'form-check': to.formCheck.indexOf('custom') === -1,\n 'form-check-inline': to.formCheck === 'inline',\n 'custom-control custom-radio': to.formCheck.indexOf('custom') === 0,\n 'custom-control-inline': to.formCheck === 'custom-inline'\n }\"\n >\n <input type=\"radio\"\n [id]=\"id + '_' + i\"\n [class.form-check-input]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-input]=\"to.formCheck.indexOf('custom') === 0\"\n [name]=\"field.name || id\"\n [class.is-invalid]=\"showError\"\n [attr.value]=\"option.value\"\n [value]=\"option.value\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [attr.disabled]=\"option.disabled || formControl.disabled ? true : null\">\n <label\n [class.form-check-label]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-label]=\"to.formCheck.indexOf('custom') === 0\"\n [for]=\"id + '_' + i\">\n {{ option.label }}\n </label>\n </div>\n </div>\n "}]}],"members":{}},"FormlyFieldTextArea":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@ngx-formly/core","name":"FieldType","line":12,"character":41},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"formly-field-textarea","template":"\n <textarea [formControl]=\"formControl\" [cols]=\"to.cols\"\n [rows]=\"to.rows\" class=\"form-control\" [class.is-invalid]=\"showError\"\n [formlyAttributes]=\"field\">\n </textarea>\n "}]}],"members":{}},"FormlyFieldSelect":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@ngx-formly/core","name":"FieldType","line":69,"character":39},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"formly-field-select","template":"\n <select *ngIf=\"to.multiple; else singleSelect\" class=\"form-control\"\n multiple\n [class.custom-select]=\"to.customSelect\"\n [formControl]=\"formControl\"\n [compareWith]=\"to.compareWith\"\n [class.is-invalid]=\"showError\"\n [formlyAttributes]=\"field\">\n <ng-container *ngIf=\"to.options | formlySelectOptions:field | async as opts\">\n <ng-container *ngIf=\"to._flatOptions else grouplist\">\n <ng-container *ngFor=\"let opt of opts\">\n <option [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">{{ opt.label }}</option>\n </ng-container>\n </ng-container>\n\n <ng-template #grouplist>\n <ng-container *ngFor=\"let opt of opts\">\n <option *ngIf=\"!opt.group else optgroup\" [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">{{ opt.label }}</option>\n <ng-template #optgroup>\n <optgroup [label]=\"opt.label\">\n <option *ngFor=\"let child of opt.group\" [ngValue]=\"child.value\" [disabled]=\"child.disabled\">\n {{ child.label }}\n </option>\n </optgroup>\n </ng-template>\n </ng-container>\n </ng-template>\n </ng-container>\n </select>\n\n <ng-template #singleSelect>\n <select class=\"form-control\"\n [formControl]=\"formControl\"\n [compareWith]=\"to.compareWith\"\n [class.custom-select]=\"to.customSelect\"\n [class.is-invalid]=\"showError\"\n [formlyAttributes]=\"field\">\n <option *ngIf=\"to.placeholder\" [ngValue]=\"null\">{{ to.placeholder }}</option>\n <ng-container *ngIf=\"to.options | formlySelectOptions:field | async as opts\">\n <ng-container *ngIf=\"to._flatOptions else grouplist\">\n <ng-container *ngFor=\"let opt of opts\">\n <option [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">{{ opt.label }}</option>\n </ng-container>\n </ng-container>\n\n <ng-template #grouplist>\n <ng-container *ngFor=\"let opt of opts\">\n <option *ngIf=\"!opt.group else optgroup\" [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">{{ opt.label }}</option>\n <ng-template #optgroup>\n <optgroup [label]=\"opt.label\">\n <option *ngFor=\"let child of opt.group\" [ngValue]=\"child.value\" [disabled]=\"child.disabled\">\n {{ child.label }}\n </option>\n </optgroup>\n </ng-template>\n </ng-container>\n </ng-template>\n </ng-container>\n </select>\n </ng-template>\n "}]}],"members":{"selectAccessor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":80,"character":3},"arguments":[{"__symbolic":"reference","module":"@angular/forms","name":"SelectControlValueAccessor","line":80,"character":13}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":101,"character":30}]}]}},"FormlyWrapperFormField":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@ngx-formly/core","name":"FieldWrapper","line":22,"character":44},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"formly-wrapper-form-field","template":"\n <div class=\"form-group\" [class.has-error]=\"showError\">\n <label *ngIf=\"to.label && to.hideLabel !== true\" [attr.for]=\"id\">\n {{ to.label }}\n <span *ngIf=\"to.required && to.hideRequiredMarker !== true\">*</span>\n </label>\n\n <ng-template #fieldComponent></ng-template>\n\n <div *ngIf=\"showError\" class=\"invalid-feedback\" [style.display]=\"'block'\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </div>\n\n <small *ngIf=\"to.description\" class=\"form-text text-muted\">{{ to.description }}</small>\n </div>\n "}]}],"members":{}},"FormlyBootstrapModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":8,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵa"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":13,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":14,"character":4},{"__symbolic":"reference","module":"@ngx-formly/core/select","name":"FormlySelectModule","line":15,"character":4},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngx-formly/core","name":"FormlyModule","line":16,"character":4},"member":"forChild"},"arguments":[{"__symbolic":"reference","name":"ɵb"}]},{"__symbolic":"reference","module":"@ngx-formly/bootstrap/addons","name":"FormlyBootstrapAddonsModule","line":17,"character":4}]}]}],"members":{}},"ɵa":[{"__symbolic":"reference","name":"FormlyFieldInput"},{"__symbolic":"reference","name":"FormlyFieldCheckbox"},{"__symbolic":"reference","name":"FormlyFieldRadio"},{"__symbolic":"reference","name":"FormlyFieldSelect"},{"__symbolic":"reference","name":"FormlyFieldTextArea"},{"__symbolic":"reference","name":"FormlyFieldMultiCheckbox"},{"__symbolic":"reference","name":"FormlyWrapperFormField"}],"ɵb":{"types":[{"name":"input","component":{"__symbolic":"reference","name":"FormlyFieldInput"},"wrappers":["form-field"]},{"name":"checkbox","component":{"__symbolic":"reference","name":"FormlyFieldCheckbox"},"wrappers":["form-field"]},{"name":"radio","component":{"__symbolic":"reference","name":"FormlyFieldRadio"},"wrappers":["form-field"]},{"name":"select","component":{"__symbolic":"reference","name":"FormlyFieldSelect"},"wrappers":["form-field"]},{"name":"textarea","component":{"__symbolic":"reference","name":"FormlyFieldTextArea"},"wrappers":["form-field"]},{"name":"multicheckbox","component":{"__symbolic":"reference","name":"FormlyFieldMultiCheckbox"},"wrappers":["form-field"]}],"wrappers":[{"name":"form-field","component":{"__symbolic":"reference","name":"FormlyWrapperFormField"}}]}},"origins":{"FormlyFieldCheckbox":"./lib/types/checkbox","FormlyFieldMultiCheckbox":"./lib/types/multicheckbox","FormlyFieldInput":"./lib/types/input","FormlyFieldRadio":"./lib/types/radio","FormlyFieldTextArea":"./lib/types/textarea","FormlyFieldSelect":"./lib/types/select","FormlyWrapperFormField":"./lib/wrappers/form-field.wrapper","FormlyBootstrapModule":"./lib/bootstrap.module","ɵa":"./lib/bootstrap.config","ɵb":"./lib/bootstrap.config"},"importAs":"@ngx-formly/bootstrap"}
1
+ {"__symbolic":"module","version":4,"metadata":{"FormlyFieldCheckbox":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@ngx-formly/core","name":"FieldType","line":33,"character":41},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"formly-field-checkbox","template":"\n <div [ngClass]=\"{\n 'form-check': to.formCheck.indexOf('custom') === -1,\n 'form-check-inline': to.formCheck === 'inline',\n 'custom-control': to.formCheck.indexOf('custom') === 0,\n 'custom-checkbox': to.formCheck === 'custom' || to.formCheck === 'custom-inline',\n 'custom-control-inline': to.formCheck === 'custom-inline',\n 'custom-switch': to.formCheck === 'custom-switch'\n }\">\n <input type=\"checkbox\"\n [class.is-invalid]=\"showError\"\n [class.form-check-input]=\"to.formCheck.indexOf('custom') === -1\"\n [class.position-static]=\"to.formCheck === 'nolabel'\"\n [class.custom-control-input]=\"to.formCheck.indexOf('custom') === 0\"\n [indeterminate]=\"to.indeterminate && formControl.value === null\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\">\n <label [for]=\"id\"\n *ngIf=\"to.formCheck !== 'nolabel'\"\n [class.form-check-label]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-label]=\"to.formCheck.indexOf('custom') === 0\"\n >\n {{ to.label }}\n <span *ngIf=\"to.required && to.hideRequiredMarker !== true\" aria-hidden=\"true\">*</span>\n </label>\n </div>\n "}]}],"members":{}},"FormlyFieldMultiCheckbox":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@ngx-formly/core","name":"FieldType","line":35,"character":46},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"formly-field-multicheckbox","template":"\n <div>\n <div *ngFor=\"let option of to.options | formlySelectOptions:field | async; let i = index;\"\n [ngClass]=\"{\n 'form-check': to.formCheck.indexOf('custom') === -1,\n 'form-check-inline': to.formCheck === 'inline',\n 'custom-control': to.formCheck.indexOf('custom') === 0,\n 'custom-checkbox': to.formCheck === 'custom' || to.formCheck === 'custom-inline',\n 'custom-control-inline': to.formCheck === 'custom-inline',\n 'custom-switch': to.formCheck === 'custom-switch'\n }\"\n >\n <input type=\"checkbox\"\n [id]=\"id + '_' + i\"\n [class.form-check-input]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-input]=\"to.formCheck.indexOf('custom') === 0\"\n [value]=\"option.value\"\n [checked]=\"isChecked(option)\"\n [formlyAttributes]=\"field\"\n (change)=\"onChange(option.value, $event.target.checked)\">\n <label\n [class.form-check-label]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-label]=\"to.formCheck.indexOf('custom') === 0\"\n [for]=\"id + '_' + i\">\n {{ option.label }}\n </label>\n </div>\n </div>\n "}]}],"members":{"onChange":[{"__symbolic":"method"}],"isChecked":[{"__symbolic":"method"}]}},"FormlyFieldInput":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@ngx-formly/core","name":"FieldType","line":12,"character":38},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"formly-field-input","template":"\n <input *ngIf=\"type !== 'number' else numberTmp\" [type]=\"type\" [formControl]=\"formControl\" class=\"form-control\" [formlyAttributes]=\"field\" [class.is-invalid]=\"showError\">\n <ng-template #numberTmp>\n <input type=\"number\" [formControl]=\"formControl\" class=\"form-control\" [formlyAttributes]=\"field\" [class.is-invalid]=\"showError\">\n </ng-template>\n "}]}],"members":{}},"FormlyFieldRadio":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@ngx-formly/core","name":"FieldType","line":36,"character":38},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"formly-field-radio","template":"\n <div>\n <div *ngFor=\"let option of to.options | formlySelectOptions:field | async; let i = index;\"\n [ngClass]=\"{\n 'form-check': to.formCheck.indexOf('custom') === -1,\n 'form-check-inline': to.formCheck === 'inline',\n 'custom-control custom-radio': to.formCheck.indexOf('custom') === 0,\n 'custom-control-inline': to.formCheck === 'custom-inline'\n }\"\n >\n <input type=\"radio\"\n [id]=\"id + '_' + i\"\n [class.form-check-input]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-input]=\"to.formCheck.indexOf('custom') === 0\"\n [name]=\"field.name || id\"\n [class.is-invalid]=\"showError\"\n [attr.value]=\"option.value\"\n [value]=\"option.value\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [attr.disabled]=\"option.disabled || formControl.disabled ? true : null\">\n <label\n [class.form-check-label]=\"to.formCheck.indexOf('custom') === -1\"\n [class.custom-control-label]=\"to.formCheck.indexOf('custom') === 0\"\n [for]=\"id + '_' + i\">\n {{ option.label }}\n </label>\n </div>\n </div>\n "}]}],"members":{}},"FormlyFieldTextArea":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@ngx-formly/core","name":"FieldType","line":12,"character":41},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"formly-field-textarea","template":"\n <textarea [formControl]=\"formControl\" [cols]=\"to.cols\"\n [rows]=\"to.rows\" class=\"form-control\" [class.is-invalid]=\"showError\"\n [formlyAttributes]=\"field\">\n </textarea>\n "}]}],"members":{}},"FormlyFieldSelect":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@ngx-formly/core","name":"FieldType","line":69,"character":39},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"formly-field-select","template":"\n <select *ngIf=\"to.multiple; else singleSelect\" class=\"form-control\"\n multiple\n [class.custom-select]=\"to.customSelect\"\n [formControl]=\"formControl\"\n [compareWith]=\"to.compareWith\"\n [class.is-invalid]=\"showError\"\n [formlyAttributes]=\"field\">\n <ng-container *ngIf=\"to.options | formlySelectOptions:field | async as opts\">\n <ng-container *ngIf=\"to._flatOptions else grouplist\">\n <ng-container *ngFor=\"let opt of opts\">\n <option [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">{{ opt.label }}</option>\n </ng-container>\n </ng-container>\n\n <ng-template #grouplist>\n <ng-container *ngFor=\"let opt of opts\">\n <option *ngIf=\"!opt.group else optgroup\" [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">{{ opt.label }}</option>\n <ng-template #optgroup>\n <optgroup [label]=\"opt.label\">\n <option *ngFor=\"let child of opt.group\" [ngValue]=\"child.value\" [disabled]=\"child.disabled\">\n {{ child.label }}\n </option>\n </optgroup>\n </ng-template>\n </ng-container>\n </ng-template>\n </ng-container>\n </select>\n\n <ng-template #singleSelect>\n <select class=\"form-control\"\n [formControl]=\"formControl\"\n [compareWith]=\"to.compareWith\"\n [class.custom-select]=\"to.customSelect\"\n [class.is-invalid]=\"showError\"\n [formlyAttributes]=\"field\">\n <option *ngIf=\"to.placeholder\" [ngValue]=\"null\">{{ to.placeholder }}</option>\n <ng-container *ngIf=\"to.options | formlySelectOptions:field | async as opts\">\n <ng-container *ngIf=\"to._flatOptions else grouplist\">\n <ng-container *ngFor=\"let opt of opts\">\n <option [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">{{ opt.label }}</option>\n </ng-container>\n </ng-container>\n\n <ng-template #grouplist>\n <ng-container *ngFor=\"let opt of opts\">\n <option *ngIf=\"!opt.group else optgroup\" [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">{{ opt.label }}</option>\n <ng-template #optgroup>\n <optgroup [label]=\"opt.label\">\n <option *ngFor=\"let child of opt.group\" [ngValue]=\"child.value\" [disabled]=\"child.disabled\">\n {{ child.label }}\n </option>\n </optgroup>\n </ng-template>\n </ng-container>\n </ng-template>\n </ng-container>\n </select>\n </ng-template>\n "}]}],"members":{"selectAccessor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":80,"character":3},"arguments":[{"__symbolic":"reference","module":"@angular/forms","name":"SelectControlValueAccessor","line":80,"character":13}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":101,"character":30}]}]}},"FormlyWrapperFormField":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@ngx-formly/core","name":"FieldWrapper","line":22,"character":44},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"formly-wrapper-form-field","template":"\n <div class=\"form-group\" [class.has-error]=\"showError\">\n <label *ngIf=\"to.label && to.hideLabel !== true\" [attr.for]=\"id\">\n {{ to.label }}\n <span *ngIf=\"to.required && to.hideRequiredMarker !== true\" aria-hidden=\"true\">*</span>\n </label>\n\n <ng-template #fieldComponent></ng-template>\n\n <div *ngIf=\"showError\" class=\"invalid-feedback\" [style.display]=\"'block'\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </div>\n\n <small *ngIf=\"to.description\" class=\"form-text text-muted\">{{ to.description }}</small>\n </div>\n "}]}],"members":{}},"FormlyBootstrapModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":8,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵa"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":13,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":14,"character":4},{"__symbolic":"reference","module":"@ngx-formly/core/select","name":"FormlySelectModule","line":15,"character":4},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngx-formly/core","name":"FormlyModule","line":16,"character":4},"member":"forChild"},"arguments":[{"__symbolic":"reference","name":"ɵb"}]},{"__symbolic":"reference","module":"@ngx-formly/bootstrap/addons","name":"FormlyBootstrapAddonsModule","line":17,"character":4}]}]}],"members":{}},"ɵa":[{"__symbolic":"reference","name":"FormlyFieldInput"},{"__symbolic":"reference","name":"FormlyFieldCheckbox"},{"__symbolic":"reference","name":"FormlyFieldRadio"},{"__symbolic":"reference","name":"FormlyFieldSelect"},{"__symbolic":"reference","name":"FormlyFieldTextArea"},{"__symbolic":"reference","name":"FormlyFieldMultiCheckbox"},{"__symbolic":"reference","name":"FormlyWrapperFormField"}],"ɵb":{"types":[{"name":"input","component":{"__symbolic":"reference","name":"FormlyFieldInput"},"wrappers":["form-field"]},{"name":"checkbox","component":{"__symbolic":"reference","name":"FormlyFieldCheckbox"},"wrappers":["form-field"]},{"name":"radio","component":{"__symbolic":"reference","name":"FormlyFieldRadio"},"wrappers":["form-field"]},{"name":"select","component":{"__symbolic":"reference","name":"FormlyFieldSelect"},"wrappers":["form-field"]},{"name":"textarea","component":{"__symbolic":"reference","name":"FormlyFieldTextArea"},"wrappers":["form-field"]},{"name":"multicheckbox","component":{"__symbolic":"reference","name":"FormlyFieldMultiCheckbox"},"wrappers":["form-field"]}],"wrappers":[{"name":"form-field","component":{"__symbolic":"reference","name":"FormlyWrapperFormField"}}]}},"origins":{"FormlyFieldCheckbox":"./lib/types/checkbox","FormlyFieldMultiCheckbox":"./lib/types/multicheckbox","FormlyFieldInput":"./lib/types/input","FormlyFieldRadio":"./lib/types/radio","FormlyFieldTextArea":"./lib/types/textarea","FormlyFieldSelect":"./lib/types/select","FormlyWrapperFormField":"./lib/wrappers/form-field.wrapper","FormlyBootstrapModule":"./lib/bootstrap.module","ɵa":"./lib/bootstrap.config","ɵb":"./lib/bootstrap.config"},"importAs":"@ngx-formly/bootstrap"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ngx-formly/bootstrap",
3
- "version": "5.10.21",
3
+ "version": "5.10.25",
4
4
  "license": "MIT",
5
5
  "homepage": "https://github.com/ngx-formly/ngx-formly#readme",
6
6
  "description": "ngx-formly is an Angular 2 module which has a Components to help customize and render JavaScript/JSON configured forms. The formly-form Component and the FormlyConfig service are very powerful and bring unmatched maintainability to your application's forms.",
@@ -25,7 +25,7 @@
25
25
  "url": "https://github.com/ngx-formly/ngx-formly/issues"
26
26
  },
27
27
  "peerDependencies": {
28
- "@ngx-formly/core": "5.10.21",
28
+ "@ngx-formly/core": "5.10.25",
29
29
  "bootstrap": "^4.0.0"
30
30
  },
31
31
  "main": "bundles/ngx-formly-bootstrap.umd.js",