gd-bs 5.7.6 → 5.7.7

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.
@@ -49,19 +49,12 @@ var _CheckboxGroup = /** @class */ (function (_super) {
49
49
  }
50
50
  // Configure the card group
51
51
  _CheckboxGroup.prototype.configure = function (cbTemplate) {
52
- var colSize = this.props.colSize > 0 && this.props.colSize < 13 ? this.props.colSize : (this.props.label ? 10 : 12);
53
52
  var renderRow = typeof (this.props.renderRow) === "boolean" ? this.props.renderRow : true;
54
- // See if we are not rendering a row
55
- if (!renderRow) {
56
- // Remove the row class
57
- this.el.classList.remove("row");
58
- }
59
53
  // See if a label is defined
60
54
  var label = this.el.querySelector("legend");
61
55
  if (label) {
62
56
  if (this.props.label && this.props.hideLabel != true) {
63
57
  // Add the label
64
- renderRow ? label.classList.add("col-" + (12 - colSize)) : null;
65
58
  label.innerHTML = this.props.label;
66
59
  }
67
60
  else {
@@ -72,11 +65,7 @@ var _CheckboxGroup = /** @class */ (function (_super) {
72
65
  // Get the group and configure the size
73
66
  var group = this.el.querySelector("div");
74
67
  if (group) {
75
- if (renderRow) {
76
- // Set the class
77
- group.classList.add("col-" + colSize);
78
- }
79
- else {
68
+ if (!renderRow) {
80
69
  // Remove the group element
81
70
  this.el.removeChild(group);
82
71
  }
@@ -36,6 +36,9 @@ var CheckboxItem = /** @class */ (function () {
36
36
  // Default the title property for the checkbox
37
37
  this._elCheckbox.title = this.props.label || this._parent.title || "";
38
38
  }
39
+ // Set the column size
40
+ var colSize = this._parent.colSize > 0 && this._parent.colSize < 13 ? this._parent.colSize : 12;
41
+ this._el.classList.add("col-" + colSize);
39
42
  // See if the title property is defined
40
43
  if (this._parent.title) {
41
44
  // Set the title
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HTMLSwitch = exports.HTMLRadio = exports.HTMLCheckbox = exports.HTML = void 0;
4
4
  // Checkbox
5
- exports.HTML = "\n<div class=\"row\">\n <legend class=\"col-form-label\"></legend>\n <div></div>\n</div>".trim();
5
+ exports.HTML = "\n<div>\n <legend class=\"col-form-label\"></legend>\n <div class=\"row\"></div>\n</div>".trim();
6
6
  // Checkbox
7
7
  exports.HTMLCheckbox = "\n<div class=\"form-check\">\n <input type=\"checkbox\" class=\"form-check-input\" />\n <label class=\"form-check-label\"></label>\n</div>".trim();
8
8
  // Radio
@@ -111,6 +111,7 @@ var FormControl = /** @class */ (function () {
111
111
  isReadonly: this._props.isReadonly,
112
112
  items: cbProps.items,
113
113
  onChange: cbProps.onChange,
114
+ renderRow: cbProps.renderRow,
114
115
  title: this._props.title,
115
116
  type: checkboxGroup_1.CheckboxGroupTypes.Checkbox,
116
117
  value: this._props.value
@@ -217,6 +218,7 @@ var FormControl = /** @class */ (function () {
217
218
  items: cbMultiProps.items,
218
219
  multi: true,
219
220
  onChange: cbMultiProps.onChange,
221
+ renderRow: cbMultiProps.renderRow,
220
222
  title: this._props.title,
221
223
  type: checkboxGroup_1.CheckboxGroupTypes.Checkbox,
222
224
  value: this._props.value
@@ -263,6 +265,7 @@ var FormControl = /** @class */ (function () {
263
265
  items: this._props.items,
264
266
  multi: true,
265
267
  onChange: this._props.onChange,
268
+ renderRow: this._props.renderRow,
266
269
  title: this._props.title,
267
270
  type: checkboxGroup_1.CheckboxGroupTypes.Radio,
268
271
  value: this._props.value
@@ -280,6 +283,7 @@ var FormControl = /** @class */ (function () {
280
283
  items: this._props.items,
281
284
  multi: true,
282
285
  onChange: this._props.onChange,
286
+ renderRow: this._props.renderRow,
283
287
  title: this._props.title,
284
288
  type: checkboxGroup_1.CheckboxGroupTypes.Switch,
285
289
  value: this._props.value
@@ -311,6 +315,7 @@ var FormControl = /** @class */ (function () {
311
315
  isReadonly: this._props.isReadonly,
312
316
  items: this._props.items,
313
317
  onChange: this._props.onChange,
318
+ renderRow: this._props.renderRow,
314
319
  title: this._props.title,
315
320
  type: checkboxGroup_1.CheckboxGroupTypes.Radio,
316
321
  value: this._props.value
@@ -359,6 +364,7 @@ var FormControl = /** @class */ (function () {
359
364
  isReadonly: this._props.isReadonly,
360
365
  items: this._props.items,
361
366
  onChange: this._props.onChange,
367
+ renderRow: this._props.renderRow,
362
368
  title: this._props.title,
363
369
  type: checkboxGroup_1.CheckboxGroupTypes.Switch,
364
370
  value: this._props.value
@@ -907,7 +907,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));
907
907
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
908
908
 
909
909
  "use strict";
910
- eval("\n\nvar __extends = this && this.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n };\n\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.CheckboxGroup = exports.CheckboxGroupTypes = void 0;\n\nvar base_1 = __webpack_require__(/*! ../base */ \"./src/components/base.ts\");\n\nvar item_1 = __webpack_require__(/*! ./item */ \"./src/components/checkboxGroup/item.ts\");\n\nvar templates_1 = __webpack_require__(/*! ./templates */ \"./src/components/checkboxGroup/templates.ts\");\n/**\r\n * Checkbox Group Types\r\n */\n\n\nvar CheckboxGroupTypes;\n\n(function (CheckboxGroupTypes) {\n CheckboxGroupTypes[CheckboxGroupTypes[\"Checkbox\"] = 1] = \"Checkbox\";\n CheckboxGroupTypes[CheckboxGroupTypes[\"Radio\"] = 2] = \"Radio\";\n CheckboxGroupTypes[CheckboxGroupTypes[\"Switch\"] = 3] = \"Switch\";\n})(CheckboxGroupTypes = exports.CheckboxGroupTypes || (exports.CheckboxGroupTypes = {}));\n/**\r\n * Checkbox Group\r\n */\n\n\nvar _CheckboxGroup =\n/** @class */\nfunction (_super) {\n __extends(_CheckboxGroup, _super); // Constructor\n\n\n function _CheckboxGroup(props, template, cbTemplate) {\n if (template === void 0) {\n template = templates_1.HTML;\n }\n\n var _this = _super.call(this, template, props) || this;\n\n _this._checkboxes = null;\n _this._initFl = false; // Configure the checkbox group\n\n _this.configure(cbTemplate); // Configure the parent\n\n\n _this.configureParent(); // Set the flag\n\n\n _this._initFl = true;\n return _this;\n } // Configure the card group\n\n\n _CheckboxGroup.prototype.configure = function (cbTemplate) {\n var colSize = this.props.colSize > 0 && this.props.colSize < 13 ? this.props.colSize : this.props.label ? 10 : 12;\n var renderRow = typeof this.props.renderRow === \"boolean\" ? this.props.renderRow : true; // See if we are not rendering a row\n\n if (!renderRow) {\n // Remove the row class\n this.el.classList.remove(\"row\");\n } // See if a label is defined\n\n\n var label = this.el.querySelector(\"legend\");\n\n if (label) {\n if (this.props.label && this.props.hideLabel != true) {\n // Add the label\n renderRow ? label.classList.add(\"col-\" + (12 - colSize)) : null;\n label.innerHTML = this.props.label;\n } else {\n // Remove the label\n this.el.removeChild(label);\n }\n } // Get the group and configure the size\n\n\n var group = this.el.querySelector(\"div\");\n\n if (group) {\n if (renderRow) {\n // Set the class\n group.classList.add(\"col-\" + colSize);\n } else {\n // Remove the group element\n this.el.removeChild(group);\n }\n } // Render the checkboxes\n\n\n this.renderItems(renderRow ? group : this.el, cbTemplate);\n }; // Configure the events\n\n\n _CheckboxGroup.prototype.configureEvents = function (item) {\n var _this = this; // See if we are not allowing multiple selections\n\n\n if (this.props.multi != true) {\n // Add a click event\n item.checkbox.addEventListener(\"click\", function (ev) {\n // Parse the checkboxes\n for (var i = 0; i < _this._checkboxes.length; i++) {\n var checkbox = _this._checkboxes[i]; // Ensure this item is checked\n\n if (!checkbox.isChecked) {\n continue;\n } // Skip this item\n\n\n if (checkbox.el.outerHTML == item.el.outerHTML) {\n continue;\n } // Toggle the checkbox\n\n\n checkbox.toggle();\n }\n });\n } // See if there is a change event defined\n\n\n if (this.props.onChange) {\n // Add a click event\n item.checkbox.addEventListener(\"click\", function (ev) {\n // Call the event\n _this.props.onChange(_this.getValue(), ev);\n });\n }\n }; // Render the checkboxes\n\n\n _CheckboxGroup.prototype.renderItems = function (group, cbTemplate) {\n // Clear the checkboxes\n this._checkboxes = []; // Set the items\n\n var items = this.props.items;\n\n if (items == null || typeof items.length !== \"number\") {\n // Clear the items\n items = []; // Create an item based on the label\n\n items.push({\n label: this.props.label || \"\"\n });\n } // See if this is a single checkbox\n\n\n if (this.props.multi != true && items.length > 0) {\n // See if this checkbox should be checked\n if (typeof this.props.value === \"boolean\" && this.props.value) {\n // Select the item\n items[0].isSelected = true;\n }\n } // Parse the items\n\n\n for (var i = 0; i < items.length; i++) {\n var item = items[i]; // Create the checkbox\n\n var checkbox = new item_1.CheckboxItem(item, this.props, cbTemplate);\n\n this._checkboxes.push(checkbox);\n\n group.appendChild(checkbox.el); // Configure the events\n\n this.configureEvents(checkbox); // Execute the render event\n\n this.props.onRender ? this.props.onRender(checkbox.el, item) : null;\n }\n };\n /**\r\n * Public Methods\r\n */\n // Method to get the value\n\n\n _CheckboxGroup.prototype.getValue = function () {\n var values = []; // Parse the checkboxes\n\n for (var i = 0; i < this._checkboxes.length; i++) {\n var cb = this._checkboxes[i]; // See if it's checked\n\n if (cb.isChecked) {\n // Add the value\n values.push(cb.props);\n }\n } // Return the values\n\n\n return this.props.multi ? values : values[0];\n }; // Method to set the value\n // Sets the dropdown value\n\n\n _CheckboxGroup.prototype.setValue = function (value) {\n // Ensure it's an array\n var values = value ? typeof value.length === \"number\" && typeof value !== \"string\" ? value : [value] : []; // Parse the items\n\n for (var i = 0; i < this._checkboxes.length; i++) {\n var checkbox = this._checkboxes[i]; // Toggle checked items\n\n checkbox.isChecked ? checkbox.toggle() : null;\n } // Parse the values\n\n\n for (var i = 0; i < values.length; i++) {\n var value_1 = values[i]; // Parse the items\n\n for (var j = 0; j < this._checkboxes.length; j++) {\n var checkbox = this._checkboxes[j]; // Select this checkbox if the label matches\n\n checkbox.props.label == value_1 ? checkbox.toggle() : null;\n }\n } // See if a change event exists\n\n\n if (this._initFl && this.props.onChange) {\n // Execute the change event\n this.props.onChange(this.getValue());\n }\n };\n\n return _CheckboxGroup;\n}(base_1.Base);\n\nvar CheckboxGroup = function CheckboxGroup(props, template, cbTemplate) {\n return new _CheckboxGroup(props, template, cbTemplate);\n};\n\nexports.CheckboxGroup = CheckboxGroup;\n\n//# sourceURL=webpack://gd-bs/./src/components/checkboxGroup/index.ts?");
910
+ eval("\n\nvar __extends = this && this.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n };\n\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.CheckboxGroup = exports.CheckboxGroupTypes = void 0;\n\nvar base_1 = __webpack_require__(/*! ../base */ \"./src/components/base.ts\");\n\nvar item_1 = __webpack_require__(/*! ./item */ \"./src/components/checkboxGroup/item.ts\");\n\nvar templates_1 = __webpack_require__(/*! ./templates */ \"./src/components/checkboxGroup/templates.ts\");\n/**\r\n * Checkbox Group Types\r\n */\n\n\nvar CheckboxGroupTypes;\n\n(function (CheckboxGroupTypes) {\n CheckboxGroupTypes[CheckboxGroupTypes[\"Checkbox\"] = 1] = \"Checkbox\";\n CheckboxGroupTypes[CheckboxGroupTypes[\"Radio\"] = 2] = \"Radio\";\n CheckboxGroupTypes[CheckboxGroupTypes[\"Switch\"] = 3] = \"Switch\";\n})(CheckboxGroupTypes = exports.CheckboxGroupTypes || (exports.CheckboxGroupTypes = {}));\n/**\r\n * Checkbox Group\r\n */\n\n\nvar _CheckboxGroup =\n/** @class */\nfunction (_super) {\n __extends(_CheckboxGroup, _super); // Constructor\n\n\n function _CheckboxGroup(props, template, cbTemplate) {\n if (template === void 0) {\n template = templates_1.HTML;\n }\n\n var _this = _super.call(this, template, props) || this;\n\n _this._checkboxes = null;\n _this._initFl = false; // Configure the checkbox group\n\n _this.configure(cbTemplate); // Configure the parent\n\n\n _this.configureParent(); // Set the flag\n\n\n _this._initFl = true;\n return _this;\n } // Configure the card group\n\n\n _CheckboxGroup.prototype.configure = function (cbTemplate) {\n var renderRow = typeof this.props.renderRow === \"boolean\" ? this.props.renderRow : true; // See if a label is defined\n\n var label = this.el.querySelector(\"legend\");\n\n if (label) {\n if (this.props.label && this.props.hideLabel != true) {\n // Add the label\n label.innerHTML = this.props.label;\n } else {\n // Remove the label\n this.el.removeChild(label);\n }\n } // Get the group and configure the size\n\n\n var group = this.el.querySelector(\"div\");\n\n if (group) {\n if (!renderRow) {\n // Remove the group element\n this.el.removeChild(group);\n }\n } // Render the checkboxes\n\n\n this.renderItems(renderRow ? group : this.el, cbTemplate);\n }; // Configure the events\n\n\n _CheckboxGroup.prototype.configureEvents = function (item) {\n var _this = this; // See if we are not allowing multiple selections\n\n\n if (this.props.multi != true) {\n // Add a click event\n item.checkbox.addEventListener(\"click\", function (ev) {\n // Parse the checkboxes\n for (var i = 0; i < _this._checkboxes.length; i++) {\n var checkbox = _this._checkboxes[i]; // Ensure this item is checked\n\n if (!checkbox.isChecked) {\n continue;\n } // Skip this item\n\n\n if (checkbox.el.outerHTML == item.el.outerHTML) {\n continue;\n } // Toggle the checkbox\n\n\n checkbox.toggle();\n }\n });\n } // See if there is a change event defined\n\n\n if (this.props.onChange) {\n // Add a click event\n item.checkbox.addEventListener(\"click\", function (ev) {\n // Call the event\n _this.props.onChange(_this.getValue(), ev);\n });\n }\n }; // Render the checkboxes\n\n\n _CheckboxGroup.prototype.renderItems = function (group, cbTemplate) {\n // Clear the checkboxes\n this._checkboxes = []; // Set the items\n\n var items = this.props.items;\n\n if (items == null || typeof items.length !== \"number\") {\n // Clear the items\n items = []; // Create an item based on the label\n\n items.push({\n label: this.props.label || \"\"\n });\n } // See if this is a single checkbox\n\n\n if (this.props.multi != true && items.length > 0) {\n // See if this checkbox should be checked\n if (typeof this.props.value === \"boolean\" && this.props.value) {\n // Select the item\n items[0].isSelected = true;\n }\n } // Parse the items\n\n\n for (var i = 0; i < items.length; i++) {\n var item = items[i]; // Create the checkbox\n\n var checkbox = new item_1.CheckboxItem(item, this.props, cbTemplate);\n\n this._checkboxes.push(checkbox);\n\n group.appendChild(checkbox.el); // Configure the events\n\n this.configureEvents(checkbox); // Execute the render event\n\n this.props.onRender ? this.props.onRender(checkbox.el, item) : null;\n }\n };\n /**\r\n * Public Methods\r\n */\n // Method to get the value\n\n\n _CheckboxGroup.prototype.getValue = function () {\n var values = []; // Parse the checkboxes\n\n for (var i = 0; i < this._checkboxes.length; i++) {\n var cb = this._checkboxes[i]; // See if it's checked\n\n if (cb.isChecked) {\n // Add the value\n values.push(cb.props);\n }\n } // Return the values\n\n\n return this.props.multi ? values : values[0];\n }; // Method to set the value\n // Sets the dropdown value\n\n\n _CheckboxGroup.prototype.setValue = function (value) {\n // Ensure it's an array\n var values = value ? typeof value.length === \"number\" && typeof value !== \"string\" ? value : [value] : []; // Parse the items\n\n for (var i = 0; i < this._checkboxes.length; i++) {\n var checkbox = this._checkboxes[i]; // Toggle checked items\n\n checkbox.isChecked ? checkbox.toggle() : null;\n } // Parse the values\n\n\n for (var i = 0; i < values.length; i++) {\n var value_1 = values[i]; // Parse the items\n\n for (var j = 0; j < this._checkboxes.length; j++) {\n var checkbox = this._checkboxes[j]; // Select this checkbox if the label matches\n\n checkbox.props.label == value_1 ? checkbox.toggle() : null;\n }\n } // See if a change event exists\n\n\n if (this._initFl && this.props.onChange) {\n // Execute the change event\n this.props.onChange(this.getValue());\n }\n };\n\n return _CheckboxGroup;\n}(base_1.Base);\n\nvar CheckboxGroup = function CheckboxGroup(props, template, cbTemplate) {\n return new _CheckboxGroup(props, template, cbTemplate);\n};\n\nexports.CheckboxGroup = CheckboxGroup;\n\n//# sourceURL=webpack://gd-bs/./src/components/checkboxGroup/index.ts?");
911
911
 
912
912
  /***/ }),
913
913
 
@@ -918,7 +918,7 @@ eval("\n\nvar __extends = this && this.__extends || function () {\n var _extend
918
918
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
919
919
 
920
920
  "use strict";
921
- eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.CheckboxItem = void 0;\n\nvar _1 = __webpack_require__(/*! . */ \"./src/components/checkboxGroup/index.ts\");\n\nvar templates_1 = __webpack_require__(/*! ./templates */ \"./src/components/checkboxGroup/templates.ts\");\n/**\r\n * Checkbox Item\r\n */\n\n\nvar CheckboxItem =\n/** @class */\nfunction () {\n // Constructor\n function CheckboxItem(props, parent, template) {\n this._el = null;\n this._elCheckbox = null;\n this._isSelected = null;\n this._parent = null;\n this._props = null; // Save the properties\n\n this._parent = parent;\n this._props = props; // Create the element\n\n var el = document.createElement(\"div\");\n el.innerHTML = template || this.getHTML().trim();\n this._el = el.firstChild; // Configure the item\n\n this.configure(); // Configure the events\n\n this.configureEvents();\n } // Configure the item\n\n\n CheckboxItem.prototype.configure = function () {\n // Set the attributes\n this._elCheckbox = this._el.querySelector(\"input\");\n\n if (this._elCheckbox) {\n this._elCheckbox.disabled = this._parent.isDisabled ? true : false;\n this._elCheckbox.readOnly = this._parent.isReadonly ? true : false; // Default the title property for the checkbox\n\n this._elCheckbox.title = this.props.label || this._parent.title || \"\";\n } // See if the title property is defined\n\n\n if (this._parent.title) {\n // Set the title\n this._el.title = this._parent.title;\n } // See if the inline flag is set\n\n\n if (this._parent.isInline) {\n this._el.classList.add(\"form-check-inline\");\n } // Set the label\n\n\n var label = this._el.querySelector(\"label\");\n\n if (label) {\n label.innerHTML = this._props.label || \"&nbsp;\";\n } // Ensure the checkbox exists\n\n\n if (this._elCheckbox) {\n // See if the \"isSelected\" property is set\n if (typeof this._props.isSelected === \"boolean\") {\n // Set the selected property\n this._isSelected = this._props.isSelected;\n this._elCheckbox.checked = this._isSelected;\n } // Else, see if a value exists for the group\n else if (this._parent.value) {\n // Parse the values\n var values = typeof this._parent.value === \"string\" ? [this._parent.value] : this._parent.value;\n\n for (var j = 0; j < values.length; j++) {\n // See if this item is selected\n if (values[j] == this._props.label) {\n // Select this item\n this._elCheckbox.checked = true;\n }\n } // Set the value\n\n\n this._isSelected = this._elCheckbox.checked;\n } else {\n // Set the default value\n this._isSelected = this._props.isSelected ? true : false;\n this._elCheckbox.checked = this._isSelected;\n }\n }\n }; // Configures the events\n\n\n CheckboxItem.prototype.configureEvents = function () {\n var _this = this; // Add a click event\n\n\n this._elCheckbox.addEventListener(\"click\", function (ev) {\n // Update the value\n _this._isSelected = !_this._isSelected;\n _this._elCheckbox.checked = _this._isSelected; // See if an event is defined\n\n if (_this._props.onChange) {\n // Call the event\n _this._props.onChange(_this._isSelected ? _this._props : null, ev);\n }\n });\n }; // Gets the HTML template\n\n\n CheckboxItem.prototype.getHTML = function () {\n // Return it based on the type\n switch (this._props.type || this._parent.type) {\n // Radio\n case _1.CheckboxGroupTypes.Radio:\n return templates_1.HTMLRadio;\n // Switch\n\n case _1.CheckboxGroupTypes.Switch:\n return templates_1.HTMLSwitch;\n // Default to a checkbox\n\n default:\n return templates_1.HTMLCheckbox;\n }\n };\n\n Object.defineProperty(CheckboxItem.prototype, \"checkbox\", {\n /**\r\n * Public Properties\r\n */\n // The checkbox element\n get: function get() {\n return this._elCheckbox;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CheckboxItem.prototype, \"el\", {\n // The component HTML element\n get: function get() {\n return this._el;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CheckboxItem.prototype, \"isChecked\", {\n // Returns true if the checkbox is checked\n get: function get() {\n // Get the checkbox\n var cb = this._el.querySelector(\"input\"); // Return the value\n\n\n return cb ? cb.checked : null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CheckboxItem.prototype, \"props\", {\n // The component properties\n get: function get() {\n return this._props;\n },\n enumerable: false,\n configurable: true\n }); // Toggles the checkbox\n\n CheckboxItem.prototype.toggle = function () {\n // Update the value\n this._isSelected = !this._isSelected; // Set the checkbox value\n\n this._el.querySelector(\"input\").checked = this._isSelected;\n };\n\n return CheckboxItem;\n}();\n\nexports.CheckboxItem = CheckboxItem;\n\n//# sourceURL=webpack://gd-bs/./src/components/checkboxGroup/item.ts?");
921
+ eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.CheckboxItem = void 0;\n\nvar _1 = __webpack_require__(/*! . */ \"./src/components/checkboxGroup/index.ts\");\n\nvar templates_1 = __webpack_require__(/*! ./templates */ \"./src/components/checkboxGroup/templates.ts\");\n/**\r\n * Checkbox Item\r\n */\n\n\nvar CheckboxItem =\n/** @class */\nfunction () {\n // Constructor\n function CheckboxItem(props, parent, template) {\n this._el = null;\n this._elCheckbox = null;\n this._isSelected = null;\n this._parent = null;\n this._props = null; // Save the properties\n\n this._parent = parent;\n this._props = props; // Create the element\n\n var el = document.createElement(\"div\");\n el.innerHTML = template || this.getHTML().trim();\n this._el = el.firstChild; // Configure the item\n\n this.configure(); // Configure the events\n\n this.configureEvents();\n } // Configure the item\n\n\n CheckboxItem.prototype.configure = function () {\n // Set the attributes\n this._elCheckbox = this._el.querySelector(\"input\");\n\n if (this._elCheckbox) {\n this._elCheckbox.disabled = this._parent.isDisabled ? true : false;\n this._elCheckbox.readOnly = this._parent.isReadonly ? true : false; // Default the title property for the checkbox\n\n this._elCheckbox.title = this.props.label || this._parent.title || \"\";\n } // Set the column size\n\n\n var colSize = this._parent.colSize > 0 && this._parent.colSize < 13 ? this._parent.colSize : 12;\n\n this._el.classList.add(\"col-\" + colSize); // See if the title property is defined\n\n\n if (this._parent.title) {\n // Set the title\n this._el.title = this._parent.title;\n } // See if the inline flag is set\n\n\n if (this._parent.isInline) {\n this._el.classList.add(\"form-check-inline\");\n } // Set the label\n\n\n var label = this._el.querySelector(\"label\");\n\n if (label) {\n label.innerHTML = this._props.label || \"&nbsp;\";\n } // Ensure the checkbox exists\n\n\n if (this._elCheckbox) {\n // See if the \"isSelected\" property is set\n if (typeof this._props.isSelected === \"boolean\") {\n // Set the selected property\n this._isSelected = this._props.isSelected;\n this._elCheckbox.checked = this._isSelected;\n } // Else, see if a value exists for the group\n else if (this._parent.value) {\n // Parse the values\n var values = typeof this._parent.value === \"string\" ? [this._parent.value] : this._parent.value;\n\n for (var j = 0; j < values.length; j++) {\n // See if this item is selected\n if (values[j] == this._props.label) {\n // Select this item\n this._elCheckbox.checked = true;\n }\n } // Set the value\n\n\n this._isSelected = this._elCheckbox.checked;\n } else {\n // Set the default value\n this._isSelected = this._props.isSelected ? true : false;\n this._elCheckbox.checked = this._isSelected;\n }\n }\n }; // Configures the events\n\n\n CheckboxItem.prototype.configureEvents = function () {\n var _this = this; // Add a click event\n\n\n this._elCheckbox.addEventListener(\"click\", function (ev) {\n // Update the value\n _this._isSelected = !_this._isSelected;\n _this._elCheckbox.checked = _this._isSelected; // See if an event is defined\n\n if (_this._props.onChange) {\n // Call the event\n _this._props.onChange(_this._isSelected ? _this._props : null, ev);\n }\n });\n }; // Gets the HTML template\n\n\n CheckboxItem.prototype.getHTML = function () {\n // Return it based on the type\n switch (this._props.type || this._parent.type) {\n // Radio\n case _1.CheckboxGroupTypes.Radio:\n return templates_1.HTMLRadio;\n // Switch\n\n case _1.CheckboxGroupTypes.Switch:\n return templates_1.HTMLSwitch;\n // Default to a checkbox\n\n default:\n return templates_1.HTMLCheckbox;\n }\n };\n\n Object.defineProperty(CheckboxItem.prototype, \"checkbox\", {\n /**\r\n * Public Properties\r\n */\n // The checkbox element\n get: function get() {\n return this._elCheckbox;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CheckboxItem.prototype, \"el\", {\n // The component HTML element\n get: function get() {\n return this._el;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CheckboxItem.prototype, \"isChecked\", {\n // Returns true if the checkbox is checked\n get: function get() {\n // Get the checkbox\n var cb = this._el.querySelector(\"input\"); // Return the value\n\n\n return cb ? cb.checked : null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CheckboxItem.prototype, \"props\", {\n // The component properties\n get: function get() {\n return this._props;\n },\n enumerable: false,\n configurable: true\n }); // Toggles the checkbox\n\n CheckboxItem.prototype.toggle = function () {\n // Update the value\n this._isSelected = !this._isSelected; // Set the checkbox value\n\n this._el.querySelector(\"input\").checked = this._isSelected;\n };\n\n return CheckboxItem;\n}();\n\nexports.CheckboxItem = CheckboxItem;\n\n//# sourceURL=webpack://gd-bs/./src/components/checkboxGroup/item.ts?");
922
922
 
923
923
  /***/ }),
924
924
 
@@ -929,7 +929,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));
929
929
  /***/ (function(__unused_webpack_module, exports) {
930
930
 
931
931
  "use strict";
932
- eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.HTMLSwitch = exports.HTMLRadio = exports.HTMLCheckbox = exports.HTML = void 0; // Checkbox\n\nexports.HTML = \"\\n<div class=\\\"row\\\">\\n <legend class=\\\"col-form-label\\\"></legend>\\n <div></div>\\n</div>\".trim(); // Checkbox\n\nexports.HTMLCheckbox = \"\\n<div class=\\\"form-check\\\">\\n <input type=\\\"checkbox\\\" class=\\\"form-check-input\\\" />\\n <label class=\\\"form-check-label\\\"></label>\\n</div>\".trim(); // Radio\n\nexports.HTMLRadio = \"\\n<div class=\\\"form-check\\\">\\n <input type=\\\"radio\\\" class=\\\"form-check-input\\\" />\\n <label class=\\\"form-check-label\\\"></label>\\n</div>\".trim(); // Switch\n\nexports.HTMLSwitch = \"\\n<div class=\\\"form-check form-switch\\\">\\n <input type=\\\"checkbox\\\" class=\\\"form-check-input\\\" />\\n <label class=\\\"form-check-label\\\"></label>\\n</div>\".trim();\n\n//# sourceURL=webpack://gd-bs/./src/components/checkboxGroup/templates.ts?");
932
+ eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.HTMLSwitch = exports.HTMLRadio = exports.HTMLCheckbox = exports.HTML = void 0; // Checkbox\n\nexports.HTML = \"\\n<div>\\n <legend class=\\\"col-form-label\\\"></legend>\\n <div class=\\\"row\\\"></div>\\n</div>\".trim(); // Checkbox\n\nexports.HTMLCheckbox = \"\\n<div class=\\\"form-check\\\">\\n <input type=\\\"checkbox\\\" class=\\\"form-check-input\\\" />\\n <label class=\\\"form-check-label\\\"></label>\\n</div>\".trim(); // Radio\n\nexports.HTMLRadio = \"\\n<div class=\\\"form-check\\\">\\n <input type=\\\"radio\\\" class=\\\"form-check-input\\\" />\\n <label class=\\\"form-check-label\\\"></label>\\n</div>\".trim(); // Switch\n\nexports.HTMLSwitch = \"\\n<div class=\\\"form-check form-switch\\\">\\n <input type=\\\"checkbox\\\" class=\\\"form-check-input\\\" />\\n <label class=\\\"form-check-label\\\"></label>\\n</div>\".trim();\n\n//# sourceURL=webpack://gd-bs/./src/components/checkboxGroup/templates.ts?");
933
933
 
934
934
  /***/ }),
935
935
 
@@ -1028,7 +1028,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));
1028
1028
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
1029
1029
 
1030
1030
  "use strict";
1031
- eval("\n\nvar __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.FormControl = void 0;\n\nvar checkboxGroup_1 = __webpack_require__(/*! ../checkboxGroup */ \"./src/components/checkboxGroup/index.ts\");\n\nvar custom_1 = __webpack_require__(/*! ./custom */ \"./src/components/form/custom.ts\");\n\nvar dropdown_1 = __webpack_require__(/*! ../dropdown */ \"./src/components/dropdown/index.ts\");\n\nvar inputGroup_1 = __webpack_require__(/*! ../inputGroup */ \"./src/components/inputGroup/index.ts\");\n\nvar listBox_1 = __webpack_require__(/*! ../listBox */ \"./src/components/listBox/index.ts\");\n\nvar _1 = __webpack_require__(/*! . */ \"./src/components/form/index.ts\");\n/**\r\n * Form Control\r\n */\n\n\nvar FormControl =\n/** @class */\nfunction () {\n // Constructor\n function FormControl(props, formProps, elLabel) {\n var _this = this;\n\n this._cb = null;\n this._custom = null;\n this._el = null;\n this._elLabel = null;\n this._formProps = null;\n this._ddl = null;\n this._isRendered = false;\n this._lb = null;\n this._tb = null; // Save the parameters\n\n this._formProps = formProps;\n this._props = props;\n this._elLabel = elLabel; // See if there is a rendering event\n\n if (typeof this._props.onControlRendering === \"function\") {\n // Call the event and see if a promise is returned\n var returnVal = this._props.onControlRendering(Object.assign({}, this._props));\n\n if (returnVal && typeof returnVal[\"then\"] === \"function\") {\n // Wait for it to complete\n returnVal[\"then\"](function (newProps) {\n // Update the properties\n _this._props = newProps || _this._props; // Create the control\n\n _this.create();\n });\n } else {\n // Create the control\n this.create();\n }\n } else {\n // Create the control\n this.create();\n }\n } // Configure the control\n\n\n FormControl.prototype.configure = function () {\n // Ensure a control was created\n if (this.control) {\n // Set the element\n this._el = this.control.el; // See if an error message exists\n\n if (this._props.errorMessage) {\n // Get the group\n var elGroup = this._el.querySelector(\".input-group\") || this._el.querySelector(\".form-check:last-child\");\n\n if (elGroup) {\n // Add the error message\n var elErrorMessage = document.createElement(\"div\");\n elErrorMessage.className = \"invalid-feedback\";\n elErrorMessage.innerHTML = this._props.errorMessage;\n elGroup.appendChild(elErrorMessage);\n }\n } // See if an element was defined to render to\n\n\n if (this._props.el) {\n // Append the control to the element\n this._props.el.appendChild(this._el);\n } // See if the label is set\n\n\n if (this._elLabel && this._formProps.isFloating && this._el.id) {\n // Set the attributes\n this._elLabel.setAttribute(\"for\", this._el.id);\n }\n }\n }; // Creates the control\n\n\n FormControl.prototype.create = function () {\n var _this = this; // Parse the custom classes to add\n\n\n var className = [this._props.className || \"\", this._props.controlClassName || \"\"].join(\" \").trim(); // Render the control based on the type\n\n switch (this._props.type) {\n // Checkbox\n case _1.FormControlTypes.Checkbox:\n var cbProps = this._props; // Add the checkbox group\n\n this._cb = (0, checkboxGroup_1.CheckboxGroup)({\n className: className,\n colSize: cbProps.colSize,\n hideLabel: true,\n isInline: cbProps.isInline,\n isDisabled: this._props.isDisabled,\n isReadonly: this._props.isReadonly,\n items: cbProps.items,\n onChange: cbProps.onChange,\n title: this._props.title,\n type: checkboxGroup_1.CheckboxGroupTypes.Checkbox,\n value: this._props.value\n });\n break;\n // Color Picker\n\n case _1.FormControlTypes.ColorPicker:\n // Add the input\n this._tb = (0, inputGroup_1.InputGroup)({\n className: className,\n id: this._props.id,\n isDisabled: this._props.isDisabled,\n isReadonly: this._props.isReadonly,\n onChange: this._props.onChange,\n placeholder: this._props.placeholder,\n title: this._props.title,\n type: inputGroup_1.InputGroupTypes.ColorPicker,\n value: this._props.value\n });\n break;\n // Datalist\n\n case _1.FormControlTypes.Datalist:\n // Add the dropdown\n this._ddl = (0, dropdown_1.Dropdown)({\n className: className,\n formFl: true,\n id: this._props.id,\n isDatalist: true,\n isReadonly: this._props.isReadonly,\n items: this._props.items,\n onChange: this._props.onChange,\n title: this._props.title,\n value: this._props.value\n });\n break;\n // Dropdown\n\n case _1.FormControlTypes.Dropdown:\n // Add the dropdown\n this._ddl = (0, dropdown_1.Dropdown)({\n className: className,\n formFl: true,\n id: this._props.id,\n isReadonly: this._props.isReadonly,\n items: this._props.items,\n onChange: this._props.onChange,\n onMenuRendering: this._props.onMenuRendering,\n title: this._props.title,\n value: this._props.value\n });\n break;\n // Email\n\n case _1.FormControlTypes.Email:\n // Add the input\n this._tb = (0, inputGroup_1.InputGroup)({\n className: className,\n id: this._props.id,\n isDisabled: this._props.isDisabled,\n isReadonly: this._props.isReadonly,\n onChange: this._props.onChange,\n placeholder: this._props.placeholder,\n title: this._props.title,\n type: inputGroup_1.InputGroupTypes.Email,\n value: this._props.value\n });\n break;\n // File\n\n case _1.FormControlTypes.File:\n // Add the input\n this._tb = (0, inputGroup_1.InputGroup)({\n className: className,\n id: this._props.id,\n isDisabled: this._props.isDisabled,\n isReadonly: this._props.isReadonly,\n onChange: this._props.onChange,\n placeholder: this._props.placeholder,\n title: this._props.title,\n type: inputGroup_1.InputGroupTypes.File,\n value: this._props.value\n });\n break;\n // List Box\n\n case _1.FormControlTypes.ListBox:\n // Add the list box\n this._lb = (0, listBox_1.ListBox)({\n id: this._props.name,\n isReadonly: this._props.isReadonly,\n items: this._props.items,\n onChange: this._props.onChange,\n placeholder: this._props.placeholder,\n value: this._props.value\n });\n break;\n // Multi-Checkbox\n\n case _1.FormControlTypes.MultiCheckbox:\n var cbMultiProps = this._props; // Add the checkbox group\n\n this._cb = (0, checkboxGroup_1.CheckboxGroup)({\n className: className,\n colSize: cbMultiProps.colSize,\n hideLabel: true,\n isDisabled: this._props.isDisabled,\n isInline: cbMultiProps.isInline,\n isReadonly: this._props.isReadonly,\n items: cbMultiProps.items,\n multi: true,\n onChange: cbMultiProps.onChange,\n title: this._props.title,\n type: checkboxGroup_1.CheckboxGroupTypes.Checkbox,\n value: this._props.value\n });\n break;\n // Multi-Dropdown\n\n case _1.FormControlTypes.MultiDropdown:\n // Add the dropdown\n this._ddl = (0, dropdown_1.Dropdown)({\n className: className,\n formFl: true,\n id: this._props.id,\n isReadonly: this._props.isReadonly,\n items: this._props.items,\n multi: true,\n onChange: this._props.onChange,\n onMenuRendering: this._props.onMenuRendering,\n title: this._props.title,\n value: this._props.value\n });\n break;\n // Multi-List Box\n\n case _1.FormControlTypes.MultiListBox:\n // Add the list box\n this._lb = (0, listBox_1.ListBox)({\n id: this._props.name,\n isReadonly: this._props.isReadonly,\n items: this._props.items,\n multi: true,\n onChange: this._props.onChange,\n placeholder: this._props.placeholder,\n value: this._props.value\n });\n break;\n // Multi-Radio\n\n case _1.FormControlTypes.MultiRadio:\n // Add the checkbox group\n this._cb = (0, checkboxGroup_1.CheckboxGroup)({\n className: className,\n colSize: this._props.colSize,\n hideLabel: true,\n isDisabled: this._props.isDisabled,\n isReadonly: this._props.isReadonly,\n items: this._props.items,\n multi: true,\n onChange: this._props.onChange,\n title: this._props.title,\n type: checkboxGroup_1.CheckboxGroupTypes.Radio,\n value: this._props.value\n });\n break;\n // Multi-Switch\n\n case _1.FormControlTypes.MultiSwitch:\n // Add the checkbox group\n this._cb = (0, checkboxGroup_1.CheckboxGroup)({\n className: className,\n colSize: this._props.colSize,\n hideLabel: true,\n isDisabled: this._props.isDisabled,\n isReadonly: this._props.isReadonly,\n items: this._props.items,\n multi: true,\n onChange: this._props.onChange,\n title: this._props.title,\n type: checkboxGroup_1.CheckboxGroupTypes.Switch,\n value: this._props.value\n });\n break;\n // Password\n\n case _1.FormControlTypes.Password:\n // Add the input\n this._tb = (0, inputGroup_1.InputGroup)({\n className: className,\n id: this._props.id,\n isDisabled: this._props.isDisabled,\n isReadonly: this._props.isReadonly,\n onChange: this._props.onChange,\n placeholder: this._props.placeholder,\n title: this._props.title,\n type: inputGroup_1.InputGroupTypes.Password,\n value: this._props.value\n });\n break;\n // Radio\n\n case _1.FormControlTypes.Radio:\n // Add the checkbox group\n this._cb = (0, checkboxGroup_1.CheckboxGroup)({\n className: className,\n colSize: this._props.colSize,\n hideLabel: true,\n isDisabled: this._props.isDisabled,\n isReadonly: this._props.isReadonly,\n items: this._props.items,\n onChange: this._props.onChange,\n title: this._props.title,\n type: checkboxGroup_1.CheckboxGroupTypes.Radio,\n value: this._props.value\n });\n break;\n // Range\n\n case _1.FormControlTypes.Range:\n // Add the input\n this._tb = (0, inputGroup_1.InputGroup)({\n className: className,\n id: this._props.id,\n isDisabled: this._props.isDisabled,\n isReadonly: this._props.isReadonly,\n min: this._props.min || 0,\n max: this._props.max || 100,\n onChange: this._props.onChange,\n placeholder: this._props.placeholder,\n step: this._props.step,\n title: this._props.title,\n type: inputGroup_1.InputGroupTypes.Range,\n value: this._props.value\n });\n break;\n // Read Only\n\n case _1.FormControlTypes.Readonly:\n // Add the input\n this._tb = (0, inputGroup_1.InputGroup)({\n className: className,\n id: this._props.id,\n isReadonly: true,\n onChange: this._props.onChange,\n placeholder: this._props.placeholder,\n title: this._props.title,\n type: inputGroup_1.InputGroupTypes.TextField,\n value: this._props.value\n });\n break;\n // Switch\n\n case _1.FormControlTypes.Switch:\n // Add the checkbox group\n this._cb = (0, checkboxGroup_1.CheckboxGroup)({\n className: className,\n colSize: this._props.colSize,\n hideLabel: true,\n isDisabled: this._props.isDisabled,\n isReadonly: this._props.isReadonly,\n items: this._props.items,\n onChange: this._props.onChange,\n title: this._props.title,\n type: checkboxGroup_1.CheckboxGroupTypes.Switch,\n value: this._props.value\n });\n break;\n // Text Area\n\n case _1.FormControlTypes.TextArea:\n // Add the input\n this._tb = (0, inputGroup_1.InputGroup)({\n className: className,\n id: this._props.id,\n isDisabled: this._props.isDisabled,\n isReadonly: this._props.isReadonly,\n onChange: this._props.onChange,\n placeholder: this._props.placeholder,\n rows: this._props.rows,\n title: this._props.title,\n type: inputGroup_1.InputGroupTypes.TextArea,\n value: this._props.value\n });\n break;\n // Text Field\n\n case _1.FormControlTypes.TextField:\n // Add the input\n this._tb = (0, inputGroup_1.InputGroup)({\n className: className,\n id: this._props.id,\n isDisabled: this._props.isDisabled,\n isReadonly: this._props.isReadonly,\n onChange: this._props.onChange,\n placeholder: this._props.placeholder,\n title: this._props.title,\n type: inputGroup_1.InputGroupTypes.TextField,\n value: this._props.value\n });\n break;\n // Custom Type\n\n default:\n // Create the default element\n this._el = document.createElement(\"div\");\n this._el.className = className; // See if there is a custom type\n\n var custom = custom_1.CustomControls.getByType(this._props.type);\n\n if (custom && typeof custom === \"function\") {\n // Execute the event\n this._custom = custom(this._props);\n }\n\n break;\n } // See if a checkbox was rendered and an id was set\n\n\n if (this.control && this._props.id) {\n // Set the id\n this.control.el.id = this._props.id;\n } // Configure the control\n\n\n this.configure(); // Wait before executing the rendered event, otherwise the controls will be null\n\n setTimeout(function () {\n // Execute the events\n _this._props.onControlRendered ? _this._props.onControlRendered(_this) : null;\n _this._formProps.onControlRendered ? _this._formProps.onControlRendered(_this) : null; // Set the flag\n\n _this._isRendered = true;\n }, 10);\n };\n\n Object.defineProperty(FormControl.prototype, \"el\", {\n /**\r\n * Public Interface\r\n */\n get: function get() {\n return this._el;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FormControl.prototype, \"checkbox\", {\n // The checkbox control\n get: function get() {\n return this._cb;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FormControl.prototype, \"dropdown\", {\n // The dropdown control\n get: function get() {\n return this._ddl;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FormControl.prototype, \"control\", {\n // The textbox control\n get: function get() {\n return this._cb || this._ddl || this._lb || this._tb || this._custom;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FormControl.prototype, \"label\", {\n // The control label\n get: function get() {\n return this._elLabel;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FormControl.prototype, \"listbox\", {\n // The listbox control\n get: function get() {\n return this._lb;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FormControl.prototype, \"textbox\", {\n // The textbox control\n get: function get() {\n return this._tb;\n },\n enumerable: false,\n configurable: true\n }); // Method to get the form control value\n\n FormControl.prototype.getValue = function () {\n // See if there is an override event\n if (this._props.onGetValue) {\n return this._props.onGetValue(this._props);\n } // See if this is a checkbox\n\n\n if (this._cb) {\n // See if the items were defined\n if (this._props.items) {\n // Return the value(s)\n return this._cb.getValue();\n } // Return the value\n\n\n return this._cb.getValue() ? true : false;\n } // See if this is a dropdown\n\n\n if (this._ddl) {\n // Return the value\n return this._ddl.getValue();\n } // See if this is a list box\n\n\n if (this._lb) {\n // Return the value\n return this._lb.getValue();\n } // See if this is a textbox\n\n\n if (this._tb) {\n // Return the value\n return this._tb.getValue();\n }\n }; // Is loaded\n\n\n FormControl.prototype.isLoaded = function () {\n var _this = this; // Return a promise\n\n\n return new Promise(function (resolve) {\n // Wait for the control to be created\n var id = setInterval(function () {\n // See if the control has been rendered\n if (_this.isRendered) {\n // Stop the loop\n clearInterval(id); // Resolve the promise\n\n resolve();\n }\n }, 10);\n });\n };\n\n Object.defineProperty(FormControl.prototype, \"isRendered\", {\n // Flag indicating the control is loaded\n get: function get() {\n return this._isRendered;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FormControl.prototype, \"isValid\", {\n // Validates the control\n get: function get() {\n var validation = {\n isValid: true\n }; // Get the element and value\n\n var elControl = this._cb || this._ddl || this._lb || this._tb ? (this._cb || this._ddl || this._lb || this._tb).el : this._el;\n var value = this.getValue(); // See if this control is required\n\n if (this._props.required) {\n // See if a value doesn't exists\n if (value == null) {\n // Set the flag\n validation.isValid = false;\n } // Else, see if the value is an array\n else if (typeof value.length === \"number\") {\n // Set the flag\n validation.isValid = value.length > 0;\n }\n } // See if an event exists\n\n\n if (this._props.onValidate) {\n // Call the event\n var returnValue = this._props.onValidate(this._props, {\n value: value\n });\n\n if (typeof returnValue === \"boolean\") {\n // Set the flag\n validation.isValid = returnValue;\n } // Else, ensure it exists\n else if (returnValue) {\n // Set the validation\n validation = __assign(__assign({}, validation), returnValue);\n }\n } // Update the validation\n\n\n this.updateValidation(elControl, validation); // Return the flag\n\n return validation.isValid;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FormControl.prototype, \"props\", {\n // The form control properties\n get: function get() {\n return this._props;\n },\n enumerable: false,\n configurable: true\n }); // Sets the form control label\n\n FormControl.prototype.setLabel = function (value) {\n // Update the label\n this._elLabel ? this._elLabel.innerHTML = value || \"\" : null;\n }; // Sets the custom control\n\n\n FormControl.prototype.setControl = function (control) {\n // Set the custom control\n this._custom = control;\n }; // Sets the form control value\n\n\n FormControl.prototype.setValue = function (value) {\n // Set the value\n this.control ? this.control.setValue(value) : null;\n }; // Updates the control validation\n\n\n FormControl.prototype.updateValidation = function (elControl, validation) {\n // Get the form control\n var elFormControl = elControl.querySelector(\".form-control\") || elControl.querySelector(\".form-select\");\n\n if (elFormControl) {\n // Clear the invalid/valid classes\n elFormControl.classList.remove(\"is-invalid\");\n elFormControl.classList.remove(\"is-valid\"); // Set the class\n\n elFormControl.classList.add(validation.isValid ? \"is-valid\" : \"is-invalid\");\n } else {\n var validateControls = function validateControls(controls) {\n // Parse the controls\n for (var i = 0; i < controls.length; i++) {\n var control = controls[i]; // Clear the invalid/valid classes\n\n control.classList.remove(\"is-invalid\");\n control.classList.remove(\"is-valid\"); // Set the class\n\n control.classList.add(validation.isValid ? \"is-valid\" : \"is-invalid\");\n }\n }; // Get the checkboxes\n\n\n var elCheckboxes = elControl.querySelectorAll(\".form-check-input\");\n\n if (elCheckboxes.length > 0) {\n // Validate the controls\n validateControls(elCheckboxes); // Set the form control\n\n elFormControl = elCheckboxes.length > 0 ? elCheckboxes[elCheckboxes.length - 1] : elFormControl;\n } // Get the custom controls\n\n\n var elCustomControls = elControl.querySelectorAll(\".custom-control-input\");\n\n if (elCustomControls.length > 0) {\n // Validate the controls\n validateControls(elCustomControls); // Set the form control\n\n elFormControl = elCustomControls.length > 0 ? elCustomControls[elCustomControls.length - 1] : elFormControl;\n }\n } // Ensure the form control exists\n\n\n if (elFormControl) {\n var useTooltip = this._formProps.validationType == _1.FormValidationTypes.Tooltip; // Clear the old valid message if it exists\n\n var validClassName = useTooltip ? \"valid-tooltip\" : \"valid-feedback\";\n var elMessage = elFormControl.parentNode.querySelector(\".\" + validClassName);\n\n if (elMessage) {\n // Clear the message\n elMessage.innerHTML = \"\";\n elMessage.style.display = \"\";\n } // Clear the old valid message if it exists\n\n\n var invalidClassName = useTooltip ? \"invalid-tooltip\" : \"invalid-feedback\";\n elMessage = elFormControl.parentNode.querySelector(\".\" + invalidClassName);\n\n if (elMessage) {\n // Clear the message\n elMessage.innerHTML = \"\";\n elMessage.style.display = \"\";\n } // See if there is invalid feedback\n\n\n if (validation.invalidMessage || this._props.errorMessage) {\n // Get the element\n var invalidClassName_1 = useTooltip ? \"invalid-tooltip\" : \"invalid-feedback\";\n elMessage = elFormControl.parentNode.querySelector(\".\" + invalidClassName_1);\n\n if (elMessage == null) {\n // Create the element\n elMessage = document.createElement(\"div\");\n elMessage.className = invalidClassName_1;\n elFormControl.parentNode.appendChild(elMessage);\n } // Set the message\n\n\n elMessage.innerHTML = validation.invalidMessage || this._props.errorMessage; // Update the display\n\n elMessage.style.display = validation.isValid ? \"\" : \"block\";\n } // See if there is valid feedback\n\n\n if (validation.validMessage) {\n // Get the element\n var validClassName_1 = useTooltip ? \"valid-tooltip\" : \"valid-feedback\";\n elMessage = elFormControl.parentNode.querySelector(\".\" + validClassName_1);\n\n if (elMessage == null) {\n // Create the element\n elMessage = document.createElement(\"div\");\n elMessage.className = validClassName_1;\n elFormControl.parentNode.appendChild(elMessage);\n } // Set the message\n\n\n elMessage.innerHTML = validation.validMessage; // Update the display\n\n elMessage.style.display = validation.isValid ? \"block\" : \"\";\n }\n }\n };\n\n return FormControl;\n}();\n\nexports.FormControl = FormControl;\n\n//# sourceURL=webpack://gd-bs/./src/components/form/control.ts?");
1031
+ eval("\n\nvar __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.FormControl = void 0;\n\nvar checkboxGroup_1 = __webpack_require__(/*! ../checkboxGroup */ \"./src/components/checkboxGroup/index.ts\");\n\nvar custom_1 = __webpack_require__(/*! ./custom */ \"./src/components/form/custom.ts\");\n\nvar dropdown_1 = __webpack_require__(/*! ../dropdown */ \"./src/components/dropdown/index.ts\");\n\nvar inputGroup_1 = __webpack_require__(/*! ../inputGroup */ \"./src/components/inputGroup/index.ts\");\n\nvar listBox_1 = __webpack_require__(/*! ../listBox */ \"./src/components/listBox/index.ts\");\n\nvar _1 = __webpack_require__(/*! . */ \"./src/components/form/index.ts\");\n/**\r\n * Form Control\r\n */\n\n\nvar FormControl =\n/** @class */\nfunction () {\n // Constructor\n function FormControl(props, formProps, elLabel) {\n var _this = this;\n\n this._cb = null;\n this._custom = null;\n this._el = null;\n this._elLabel = null;\n this._formProps = null;\n this._ddl = null;\n this._isRendered = false;\n this._lb = null;\n this._tb = null; // Save the parameters\n\n this._formProps = formProps;\n this._props = props;\n this._elLabel = elLabel; // See if there is a rendering event\n\n if (typeof this._props.onControlRendering === \"function\") {\n // Call the event and see if a promise is returned\n var returnVal = this._props.onControlRendering(Object.assign({}, this._props));\n\n if (returnVal && typeof returnVal[\"then\"] === \"function\") {\n // Wait for it to complete\n returnVal[\"then\"](function (newProps) {\n // Update the properties\n _this._props = newProps || _this._props; // Create the control\n\n _this.create();\n });\n } else {\n // Create the control\n this.create();\n }\n } else {\n // Create the control\n this.create();\n }\n } // Configure the control\n\n\n FormControl.prototype.configure = function () {\n // Ensure a control was created\n if (this.control) {\n // Set the element\n this._el = this.control.el; // See if an error message exists\n\n if (this._props.errorMessage) {\n // Get the group\n var elGroup = this._el.querySelector(\".input-group\") || this._el.querySelector(\".form-check:last-child\");\n\n if (elGroup) {\n // Add the error message\n var elErrorMessage = document.createElement(\"div\");\n elErrorMessage.className = \"invalid-feedback\";\n elErrorMessage.innerHTML = this._props.errorMessage;\n elGroup.appendChild(elErrorMessage);\n }\n } // See if an element was defined to render to\n\n\n if (this._props.el) {\n // Append the control to the element\n this._props.el.appendChild(this._el);\n } // See if the label is set\n\n\n if (this._elLabel && this._formProps.isFloating && this._el.id) {\n // Set the attributes\n this._elLabel.setAttribute(\"for\", this._el.id);\n }\n }\n }; // Creates the control\n\n\n FormControl.prototype.create = function () {\n var _this = this; // Parse the custom classes to add\n\n\n var className = [this._props.className || \"\", this._props.controlClassName || \"\"].join(\" \").trim(); // Render the control based on the type\n\n switch (this._props.type) {\n // Checkbox\n case _1.FormControlTypes.Checkbox:\n var cbProps = this._props; // Add the checkbox group\n\n this._cb = (0, checkboxGroup_1.CheckboxGroup)({\n className: className,\n colSize: cbProps.colSize,\n hideLabel: true,\n isInline: cbProps.isInline,\n isDisabled: this._props.isDisabled,\n isReadonly: this._props.isReadonly,\n items: cbProps.items,\n onChange: cbProps.onChange,\n renderRow: cbProps.renderRow,\n title: this._props.title,\n type: checkboxGroup_1.CheckboxGroupTypes.Checkbox,\n value: this._props.value\n });\n break;\n // Color Picker\n\n case _1.FormControlTypes.ColorPicker:\n // Add the input\n this._tb = (0, inputGroup_1.InputGroup)({\n className: className,\n id: this._props.id,\n isDisabled: this._props.isDisabled,\n isReadonly: this._props.isReadonly,\n onChange: this._props.onChange,\n placeholder: this._props.placeholder,\n title: this._props.title,\n type: inputGroup_1.InputGroupTypes.ColorPicker,\n value: this._props.value\n });\n break;\n // Datalist\n\n case _1.FormControlTypes.Datalist:\n // Add the dropdown\n this._ddl = (0, dropdown_1.Dropdown)({\n className: className,\n formFl: true,\n id: this._props.id,\n isDatalist: true,\n isReadonly: this._props.isReadonly,\n items: this._props.items,\n onChange: this._props.onChange,\n title: this._props.title,\n value: this._props.value\n });\n break;\n // Dropdown\n\n case _1.FormControlTypes.Dropdown:\n // Add the dropdown\n this._ddl = (0, dropdown_1.Dropdown)({\n className: className,\n formFl: true,\n id: this._props.id,\n isReadonly: this._props.isReadonly,\n items: this._props.items,\n onChange: this._props.onChange,\n onMenuRendering: this._props.onMenuRendering,\n title: this._props.title,\n value: this._props.value\n });\n break;\n // Email\n\n case _1.FormControlTypes.Email:\n // Add the input\n this._tb = (0, inputGroup_1.InputGroup)({\n className: className,\n id: this._props.id,\n isDisabled: this._props.isDisabled,\n isReadonly: this._props.isReadonly,\n onChange: this._props.onChange,\n placeholder: this._props.placeholder,\n title: this._props.title,\n type: inputGroup_1.InputGroupTypes.Email,\n value: this._props.value\n });\n break;\n // File\n\n case _1.FormControlTypes.File:\n // Add the input\n this._tb = (0, inputGroup_1.InputGroup)({\n className: className,\n id: this._props.id,\n isDisabled: this._props.isDisabled,\n isReadonly: this._props.isReadonly,\n onChange: this._props.onChange,\n placeholder: this._props.placeholder,\n title: this._props.title,\n type: inputGroup_1.InputGroupTypes.File,\n value: this._props.value\n });\n break;\n // List Box\n\n case _1.FormControlTypes.ListBox:\n // Add the list box\n this._lb = (0, listBox_1.ListBox)({\n id: this._props.name,\n isReadonly: this._props.isReadonly,\n items: this._props.items,\n onChange: this._props.onChange,\n placeholder: this._props.placeholder,\n value: this._props.value\n });\n break;\n // Multi-Checkbox\n\n case _1.FormControlTypes.MultiCheckbox:\n var cbMultiProps = this._props; // Add the checkbox group\n\n this._cb = (0, checkboxGroup_1.CheckboxGroup)({\n className: className,\n colSize: cbMultiProps.colSize,\n hideLabel: true,\n isDisabled: this._props.isDisabled,\n isInline: cbMultiProps.isInline,\n isReadonly: this._props.isReadonly,\n items: cbMultiProps.items,\n multi: true,\n onChange: cbMultiProps.onChange,\n renderRow: cbMultiProps.renderRow,\n title: this._props.title,\n type: checkboxGroup_1.CheckboxGroupTypes.Checkbox,\n value: this._props.value\n });\n break;\n // Multi-Dropdown\n\n case _1.FormControlTypes.MultiDropdown:\n // Add the dropdown\n this._ddl = (0, dropdown_1.Dropdown)({\n className: className,\n formFl: true,\n id: this._props.id,\n isReadonly: this._props.isReadonly,\n items: this._props.items,\n multi: true,\n onChange: this._props.onChange,\n onMenuRendering: this._props.onMenuRendering,\n title: this._props.title,\n value: this._props.value\n });\n break;\n // Multi-List Box\n\n case _1.FormControlTypes.MultiListBox:\n // Add the list box\n this._lb = (0, listBox_1.ListBox)({\n id: this._props.name,\n isReadonly: this._props.isReadonly,\n items: this._props.items,\n multi: true,\n onChange: this._props.onChange,\n placeholder: this._props.placeholder,\n value: this._props.value\n });\n break;\n // Multi-Radio\n\n case _1.FormControlTypes.MultiRadio:\n // Add the checkbox group\n this._cb = (0, checkboxGroup_1.CheckboxGroup)({\n className: className,\n colSize: this._props.colSize,\n hideLabel: true,\n isDisabled: this._props.isDisabled,\n isReadonly: this._props.isReadonly,\n items: this._props.items,\n multi: true,\n onChange: this._props.onChange,\n renderRow: this._props.renderRow,\n title: this._props.title,\n type: checkboxGroup_1.CheckboxGroupTypes.Radio,\n value: this._props.value\n });\n break;\n // Multi-Switch\n\n case _1.FormControlTypes.MultiSwitch:\n // Add the checkbox group\n this._cb = (0, checkboxGroup_1.CheckboxGroup)({\n className: className,\n colSize: this._props.colSize,\n hideLabel: true,\n isDisabled: this._props.isDisabled,\n isReadonly: this._props.isReadonly,\n items: this._props.items,\n multi: true,\n onChange: this._props.onChange,\n renderRow: this._props.renderRow,\n title: this._props.title,\n type: checkboxGroup_1.CheckboxGroupTypes.Switch,\n value: this._props.value\n });\n break;\n // Password\n\n case _1.FormControlTypes.Password:\n // Add the input\n this._tb = (0, inputGroup_1.InputGroup)({\n className: className,\n id: this._props.id,\n isDisabled: this._props.isDisabled,\n isReadonly: this._props.isReadonly,\n onChange: this._props.onChange,\n placeholder: this._props.placeholder,\n title: this._props.title,\n type: inputGroup_1.InputGroupTypes.Password,\n value: this._props.value\n });\n break;\n // Radio\n\n case _1.FormControlTypes.Radio:\n // Add the checkbox group\n this._cb = (0, checkboxGroup_1.CheckboxGroup)({\n className: className,\n colSize: this._props.colSize,\n hideLabel: true,\n isDisabled: this._props.isDisabled,\n isReadonly: this._props.isReadonly,\n items: this._props.items,\n onChange: this._props.onChange,\n renderRow: this._props.renderRow,\n title: this._props.title,\n type: checkboxGroup_1.CheckboxGroupTypes.Radio,\n value: this._props.value\n });\n break;\n // Range\n\n case _1.FormControlTypes.Range:\n // Add the input\n this._tb = (0, inputGroup_1.InputGroup)({\n className: className,\n id: this._props.id,\n isDisabled: this._props.isDisabled,\n isReadonly: this._props.isReadonly,\n min: this._props.min || 0,\n max: this._props.max || 100,\n onChange: this._props.onChange,\n placeholder: this._props.placeholder,\n step: this._props.step,\n title: this._props.title,\n type: inputGroup_1.InputGroupTypes.Range,\n value: this._props.value\n });\n break;\n // Read Only\n\n case _1.FormControlTypes.Readonly:\n // Add the input\n this._tb = (0, inputGroup_1.InputGroup)({\n className: className,\n id: this._props.id,\n isReadonly: true,\n onChange: this._props.onChange,\n placeholder: this._props.placeholder,\n title: this._props.title,\n type: inputGroup_1.InputGroupTypes.TextField,\n value: this._props.value\n });\n break;\n // Switch\n\n case _1.FormControlTypes.Switch:\n // Add the checkbox group\n this._cb = (0, checkboxGroup_1.CheckboxGroup)({\n className: className,\n colSize: this._props.colSize,\n hideLabel: true,\n isDisabled: this._props.isDisabled,\n isReadonly: this._props.isReadonly,\n items: this._props.items,\n onChange: this._props.onChange,\n renderRow: this._props.renderRow,\n title: this._props.title,\n type: checkboxGroup_1.CheckboxGroupTypes.Switch,\n value: this._props.value\n });\n break;\n // Text Area\n\n case _1.FormControlTypes.TextArea:\n // Add the input\n this._tb = (0, inputGroup_1.InputGroup)({\n className: className,\n id: this._props.id,\n isDisabled: this._props.isDisabled,\n isReadonly: this._props.isReadonly,\n onChange: this._props.onChange,\n placeholder: this._props.placeholder,\n rows: this._props.rows,\n title: this._props.title,\n type: inputGroup_1.InputGroupTypes.TextArea,\n value: this._props.value\n });\n break;\n // Text Field\n\n case _1.FormControlTypes.TextField:\n // Add the input\n this._tb = (0, inputGroup_1.InputGroup)({\n className: className,\n id: this._props.id,\n isDisabled: this._props.isDisabled,\n isReadonly: this._props.isReadonly,\n onChange: this._props.onChange,\n placeholder: this._props.placeholder,\n title: this._props.title,\n type: inputGroup_1.InputGroupTypes.TextField,\n value: this._props.value\n });\n break;\n // Custom Type\n\n default:\n // Create the default element\n this._el = document.createElement(\"div\");\n this._el.className = className; // See if there is a custom type\n\n var custom = custom_1.CustomControls.getByType(this._props.type);\n\n if (custom && typeof custom === \"function\") {\n // Execute the event\n this._custom = custom(this._props);\n }\n\n break;\n } // See if a checkbox was rendered and an id was set\n\n\n if (this.control && this._props.id) {\n // Set the id\n this.control.el.id = this._props.id;\n } // Configure the control\n\n\n this.configure(); // Wait before executing the rendered event, otherwise the controls will be null\n\n setTimeout(function () {\n // Execute the events\n _this._props.onControlRendered ? _this._props.onControlRendered(_this) : null;\n _this._formProps.onControlRendered ? _this._formProps.onControlRendered(_this) : null; // Set the flag\n\n _this._isRendered = true;\n }, 10);\n };\n\n Object.defineProperty(FormControl.prototype, \"el\", {\n /**\r\n * Public Interface\r\n */\n get: function get() {\n return this._el;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FormControl.prototype, \"checkbox\", {\n // The checkbox control\n get: function get() {\n return this._cb;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FormControl.prototype, \"dropdown\", {\n // The dropdown control\n get: function get() {\n return this._ddl;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FormControl.prototype, \"control\", {\n // The textbox control\n get: function get() {\n return this._cb || this._ddl || this._lb || this._tb || this._custom;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FormControl.prototype, \"label\", {\n // The control label\n get: function get() {\n return this._elLabel;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FormControl.prototype, \"listbox\", {\n // The listbox control\n get: function get() {\n return this._lb;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FormControl.prototype, \"textbox\", {\n // The textbox control\n get: function get() {\n return this._tb;\n },\n enumerable: false,\n configurable: true\n }); // Method to get the form control value\n\n FormControl.prototype.getValue = function () {\n // See if there is an override event\n if (this._props.onGetValue) {\n return this._props.onGetValue(this._props);\n } // See if this is a checkbox\n\n\n if (this._cb) {\n // See if the items were defined\n if (this._props.items) {\n // Return the value(s)\n return this._cb.getValue();\n } // Return the value\n\n\n return this._cb.getValue() ? true : false;\n } // See if this is a dropdown\n\n\n if (this._ddl) {\n // Return the value\n return this._ddl.getValue();\n } // See if this is a list box\n\n\n if (this._lb) {\n // Return the value\n return this._lb.getValue();\n } // See if this is a textbox\n\n\n if (this._tb) {\n // Return the value\n return this._tb.getValue();\n }\n }; // Is loaded\n\n\n FormControl.prototype.isLoaded = function () {\n var _this = this; // Return a promise\n\n\n return new Promise(function (resolve) {\n // Wait for the control to be created\n var id = setInterval(function () {\n // See if the control has been rendered\n if (_this.isRendered) {\n // Stop the loop\n clearInterval(id); // Resolve the promise\n\n resolve();\n }\n }, 10);\n });\n };\n\n Object.defineProperty(FormControl.prototype, \"isRendered\", {\n // Flag indicating the control is loaded\n get: function get() {\n return this._isRendered;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FormControl.prototype, \"isValid\", {\n // Validates the control\n get: function get() {\n var validation = {\n isValid: true\n }; // Get the element and value\n\n var elControl = this._cb || this._ddl || this._lb || this._tb ? (this._cb || this._ddl || this._lb || this._tb).el : this._el;\n var value = this.getValue(); // See if this control is required\n\n if (this._props.required) {\n // See if a value doesn't exists\n if (value == null) {\n // Set the flag\n validation.isValid = false;\n } // Else, see if the value is an array\n else if (typeof value.length === \"number\") {\n // Set the flag\n validation.isValid = value.length > 0;\n }\n } // See if an event exists\n\n\n if (this._props.onValidate) {\n // Call the event\n var returnValue = this._props.onValidate(this._props, {\n value: value\n });\n\n if (typeof returnValue === \"boolean\") {\n // Set the flag\n validation.isValid = returnValue;\n } // Else, ensure it exists\n else if (returnValue) {\n // Set the validation\n validation = __assign(__assign({}, validation), returnValue);\n }\n } // Update the validation\n\n\n this.updateValidation(elControl, validation); // Return the flag\n\n return validation.isValid;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FormControl.prototype, \"props\", {\n // The form control properties\n get: function get() {\n return this._props;\n },\n enumerable: false,\n configurable: true\n }); // Sets the form control label\n\n FormControl.prototype.setLabel = function (value) {\n // Update the label\n this._elLabel ? this._elLabel.innerHTML = value || \"\" : null;\n }; // Sets the custom control\n\n\n FormControl.prototype.setControl = function (control) {\n // Set the custom control\n this._custom = control;\n }; // Sets the form control value\n\n\n FormControl.prototype.setValue = function (value) {\n // Set the value\n this.control ? this.control.setValue(value) : null;\n }; // Updates the control validation\n\n\n FormControl.prototype.updateValidation = function (elControl, validation) {\n // Get the form control\n var elFormControl = elControl.querySelector(\".form-control\") || elControl.querySelector(\".form-select\");\n\n if (elFormControl) {\n // Clear the invalid/valid classes\n elFormControl.classList.remove(\"is-invalid\");\n elFormControl.classList.remove(\"is-valid\"); // Set the class\n\n elFormControl.classList.add(validation.isValid ? \"is-valid\" : \"is-invalid\");\n } else {\n var validateControls = function validateControls(controls) {\n // Parse the controls\n for (var i = 0; i < controls.length; i++) {\n var control = controls[i]; // Clear the invalid/valid classes\n\n control.classList.remove(\"is-invalid\");\n control.classList.remove(\"is-valid\"); // Set the class\n\n control.classList.add(validation.isValid ? \"is-valid\" : \"is-invalid\");\n }\n }; // Get the checkboxes\n\n\n var elCheckboxes = elControl.querySelectorAll(\".form-check-input\");\n\n if (elCheckboxes.length > 0) {\n // Validate the controls\n validateControls(elCheckboxes); // Set the form control\n\n elFormControl = elCheckboxes.length > 0 ? elCheckboxes[elCheckboxes.length - 1] : elFormControl;\n } // Get the custom controls\n\n\n var elCustomControls = elControl.querySelectorAll(\".custom-control-input\");\n\n if (elCustomControls.length > 0) {\n // Validate the controls\n validateControls(elCustomControls); // Set the form control\n\n elFormControl = elCustomControls.length > 0 ? elCustomControls[elCustomControls.length - 1] : elFormControl;\n }\n } // Ensure the form control exists\n\n\n if (elFormControl) {\n var useTooltip = this._formProps.validationType == _1.FormValidationTypes.Tooltip; // Clear the old valid message if it exists\n\n var validClassName = useTooltip ? \"valid-tooltip\" : \"valid-feedback\";\n var elMessage = elFormControl.parentNode.querySelector(\".\" + validClassName);\n\n if (elMessage) {\n // Clear the message\n elMessage.innerHTML = \"\";\n elMessage.style.display = \"\";\n } // Clear the old valid message if it exists\n\n\n var invalidClassName = useTooltip ? \"invalid-tooltip\" : \"invalid-feedback\";\n elMessage = elFormControl.parentNode.querySelector(\".\" + invalidClassName);\n\n if (elMessage) {\n // Clear the message\n elMessage.innerHTML = \"\";\n elMessage.style.display = \"\";\n } // See if there is invalid feedback\n\n\n if (validation.invalidMessage || this._props.errorMessage) {\n // Get the element\n var invalidClassName_1 = useTooltip ? \"invalid-tooltip\" : \"invalid-feedback\";\n elMessage = elFormControl.parentNode.querySelector(\".\" + invalidClassName_1);\n\n if (elMessage == null) {\n // Create the element\n elMessage = document.createElement(\"div\");\n elMessage.className = invalidClassName_1;\n elFormControl.parentNode.appendChild(elMessage);\n } // Set the message\n\n\n elMessage.innerHTML = validation.invalidMessage || this._props.errorMessage; // Update the display\n\n elMessage.style.display = validation.isValid ? \"\" : \"block\";\n } // See if there is valid feedback\n\n\n if (validation.validMessage) {\n // Get the element\n var validClassName_1 = useTooltip ? \"valid-tooltip\" : \"valid-feedback\";\n elMessage = elFormControl.parentNode.querySelector(\".\" + validClassName_1);\n\n if (elMessage == null) {\n // Create the element\n elMessage = document.createElement(\"div\");\n elMessage.className = validClassName_1;\n elFormControl.parentNode.appendChild(elMessage);\n } // Set the message\n\n\n elMessage.innerHTML = validation.validMessage; // Update the display\n\n elMessage.style.display = validation.isValid ? \"block\" : \"\";\n }\n }\n };\n\n return FormControl;\n}();\n\nexports.FormControl = FormControl;\n\n//# sourceURL=webpack://gd-bs/./src/components/form/control.ts?");
1032
1032
 
1033
1033
  /***/ }),
1034
1034