@formio/js 5.0.0-dev.5719.d2d4a61 → 5.0.0-dev.5720.e861c22

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.
Files changed (56) hide show
  1. package/Changelog.md +6 -0
  2. package/dist/formio.form.js +7 -7
  3. package/dist/formio.form.min.js +1 -1
  4. package/dist/formio.full.js +8 -8
  5. package/dist/formio.full.min.js +1 -1
  6. package/lib/cjs/Webform.js +1 -1
  7. package/lib/cjs/WebformBuilder.js +11 -2
  8. package/lib/cjs/components/_classes/nested/NestedComponent.d.ts +2 -1
  9. package/lib/cjs/components/_classes/nested/NestedComponent.js +4 -1
  10. package/lib/cjs/components/currency/Currency.d.ts +1 -0
  11. package/lib/cjs/components/number/Number.d.ts +7 -1
  12. package/lib/cjs/components/number/Number.js +11 -0
  13. package/lib/cjs/components/number/fixtures/comp10.d.ts +18 -0
  14. package/lib/cjs/components/number/fixtures/comp10.js +21 -0
  15. package/lib/cjs/components/number/fixtures/index.d.ts +2 -1
  16. package/lib/cjs/components/number/fixtures/index.js +3 -1
  17. package/lib/cjs/components/panel/Panel.d.ts +1 -0
  18. package/lib/cjs/components/panel/Panel.js +1 -0
  19. package/lib/cjs/components/radio/Radio.js +17 -6
  20. package/lib/cjs/components/radio/fixtures/comp12.d.ts +29 -0
  21. package/lib/cjs/components/radio/fixtures/comp12.js +36 -0
  22. package/lib/cjs/components/radio/fixtures/index.d.ts +2 -1
  23. package/lib/cjs/components/radio/fixtures/index.js +3 -1
  24. package/lib/cjs/components/select/Select.js +1 -1
  25. package/lib/cjs/components/time/Time.d.ts +2 -2
  26. package/lib/cjs/components/time/Time.js +3 -2
  27. package/lib/cjs/components/time/fixtures/comp4.d.ts +166 -0
  28. package/lib/cjs/components/time/fixtures/comp4.js +171 -0
  29. package/lib/cjs/components/time/fixtures/index.d.ts +2 -1
  30. package/lib/cjs/components/time/fixtures/index.js +3 -1
  31. package/lib/mjs/Webform.js +1 -1
  32. package/lib/mjs/WebformBuilder.js +10 -2
  33. package/lib/mjs/components/_classes/nested/NestedComponent.d.ts +2 -1
  34. package/lib/mjs/components/_classes/nested/NestedComponent.js +4 -1
  35. package/lib/mjs/components/currency/Currency.d.ts +1 -0
  36. package/lib/mjs/components/number/Number.d.ts +7 -1
  37. package/lib/mjs/components/number/Number.js +11 -0
  38. package/lib/mjs/components/number/fixtures/comp10.d.ts +18 -0
  39. package/lib/mjs/components/number/fixtures/comp10.js +19 -0
  40. package/lib/mjs/components/number/fixtures/index.d.ts +2 -1
  41. package/lib/mjs/components/number/fixtures/index.js +2 -1
  42. package/lib/mjs/components/panel/Panel.d.ts +1 -0
  43. package/lib/mjs/components/panel/Panel.js +1 -0
  44. package/lib/mjs/components/radio/Radio.js +17 -6
  45. package/lib/mjs/components/radio/fixtures/comp12.d.ts +29 -0
  46. package/lib/mjs/components/radio/fixtures/comp12.js +34 -0
  47. package/lib/mjs/components/radio/fixtures/index.d.ts +2 -1
  48. package/lib/mjs/components/radio/fixtures/index.js +2 -1
  49. package/lib/mjs/components/select/Select.js +1 -1
  50. package/lib/mjs/components/time/Time.d.ts +2 -2
  51. package/lib/mjs/components/time/Time.js +3 -2
  52. package/lib/mjs/components/time/fixtures/comp4.d.ts +166 -0
  53. package/lib/mjs/components/time/fixtures/comp4.js +169 -0
  54. package/lib/mjs/components/time/fixtures/index.d.ts +2 -1
  55. package/lib/mjs/components/time/fixtures/index.js +2 -1
  56. package/package.json +1 -1
@@ -1130,7 +1130,7 @@ class Webform extends NestedDataComponent_1.default {
1130
1130
  });
1131
1131
  const displayedErrors = [];
1132
1132
  if (errors.length) {
1133
- errors = lodash_1.default.uniqBy(errors, (error) => error.message);
1133
+ errors = lodash_1.default.uniqBy(errors, (error) => { var _a, _b; return [error.message, (_a = error.component) === null || _a === void 0 ? void 0 : _a.id, (_b = error.context) === null || _b === void 0 ? void 0 : _b.path].join(); });
1134
1134
  const createListItem = (message, index) => {
1135
1135
  var _a, _b, _c;
1136
1136
  const err = errors[index];
@@ -908,7 +908,11 @@ class WebformBuilder extends Component_1.default {
908
908
  if (form && form.properties) {
909
909
  this.options.properties = form.properties;
910
910
  }
911
- this.keyboardActionsEnabled = lodash_1.default.get(this.options, 'keyboardBuilder', false) || ((_a = this.options.properties) === null || _a === void 0 ? void 0 : _a.keyboardBuilder);
911
+ let keyboardActionsEnabled = lodash_1.default.get(this.options, 'keyboardBuilder', false) || ((_a = this.options.properties) === null || _a === void 0 ? void 0 : _a.keyboardBuilder);
912
+ if (typeof keyboardActionsEnabled === 'string') {
913
+ keyboardActionsEnabled = keyboardActionsEnabled === 'true';
914
+ }
915
+ this.keyboardActionsEnabled = keyboardActionsEnabled;
912
916
  const isShowSubmitButton = !this.options.noDefaultSubmitButton
913
917
  && (!form.components.length || !form.components.find(comp => comp.key === 'submit'));
914
918
  // Ensure there is at least a submit button.
@@ -1060,7 +1064,10 @@ class WebformBuilder extends Component_1.default {
1060
1064
  'calculateValue',
1061
1065
  'conditional',
1062
1066
  'customConditional',
1063
- 'id'
1067
+ 'id',
1068
+ 'fields.day.required',
1069
+ 'fields.month.required',
1070
+ 'fields.year.required',
1064
1071
  ]));
1065
1072
  const parentComponent = defaultValueComponent.parent;
1066
1073
  let tabIndex = -1;
@@ -1236,6 +1243,7 @@ class WebformBuilder extends Component_1.default {
1236
1243
  const previewButtons = this.componentEdit.querySelectorAll(`[${this._referenceAttributeName}="previewButton"]`);
1237
1244
  previewButtons.forEach((previewButton) => {
1238
1245
  this.editForm.addEventListener(previewButton, 'click', (event) => {
1246
+ var _a;
1239
1247
  event.preventDefault();
1240
1248
  this.showPreview = !this.showPreview;
1241
1249
  this.editForm.detach();
@@ -1247,6 +1255,7 @@ class WebformBuilder extends Component_1.default {
1247
1255
  helplinks: this.helplinks,
1248
1256
  }));
1249
1257
  this.editForm.attach(this.componentEdit.querySelector(`[${this._referenceAttributeName}="editForm"]`));
1258
+ this.updateComponent((_a = this.editForm.submission.data) !== null && _a !== void 0 ? _a : component);
1250
1259
  this.attachEditComponentControls(component, parent, isNew, original, ComponentClass);
1251
1260
  });
1252
1261
  });
@@ -211,11 +211,12 @@ export default class NestedComponent extends Field {
211
211
  calculateValue(data: any, flags: any, row: any): any;
212
212
  isLastPage(): boolean;
213
213
  isValid(data: any, dirty: any): any;
214
- validationProcessor({ scope, data, row, instance }: {
214
+ validationProcessor({ scope, data, row, instance, component }: {
215
215
  scope: any;
216
216
  data: any;
217
217
  row: any;
218
218
  instance: any;
219
+ component: any;
219
220
  }, flags: any): void;
220
221
  /**
221
222
  * Perform a validation on all child components of this nested component.
@@ -681,8 +681,11 @@ class NestedComponent extends Field_1.default {
681
681
  isValid(data, dirty) {
682
682
  return this.getComponents().reduce((valid, comp) => comp.isValid(data, dirty) && valid, super.isValid(data, dirty));
683
683
  }
684
- validationProcessor({ scope, data, row, instance }, flags) {
684
+ validationProcessor({ scope, data, row, instance, component }, flags) {
685
685
  const { dirty } = flags;
686
+ if (this.root.hasExtraPages && this.page !== this.root.page) {
687
+ instance = this.getComponentById(component.id);
688
+ }
686
689
  if (!instance) {
687
690
  return;
688
691
  }
@@ -2,6 +2,7 @@ export default class CurrencyComponent extends NumberComponent {
2
2
  constructor(component: any, options: any, data: any);
3
3
  currencyPrefix: any;
4
4
  currencySuffix: any;
5
+ parseNumber(value: any): number;
5
6
  parseValue(value: any): string | null;
6
7
  addZerosAndFormatValue(value: any): any;
7
8
  stripPrefixSuffix(value: any): any;
@@ -27,7 +27,13 @@ export default class NumberComponent extends Input {
27
27
  */
28
28
  createNumberMask(): any;
29
29
  isDecimalAllowed(): any;
30
- parseNumber(value: any): number;
30
+ /**
31
+ * parses a numeric string by removing the delimiters and replacing the decimal separator back to '.' so that it can
32
+ * be processed by either parseInt or parseFloat
33
+ * @param {string} value the value to be parsed
34
+ * @returns {number} a parsed number
35
+ */
36
+ parseNumber(value: string): number;
31
37
  setInputMask(input: any): void;
32
38
  getValueAt(index: any): number | null;
33
39
  setValueAt(index: any, value: any, flags?: {}): void;
@@ -91,6 +91,11 @@ class NumberComponent extends Input_1.default {
91
91
  }
92
92
  get defaultValue() {
93
93
  let defaultValue = super.defaultValue;
94
+ if (typeof defaultValue === 'string') {
95
+ // Default value may be a string or have custom thousands separators or decimal symbols, so we need to call
96
+ // parseNumber on it
97
+ defaultValue = this.parseNumber(defaultValue);
98
+ }
94
99
  if (!defaultValue && this.component.defaultValue === 0) {
95
100
  defaultValue = this.component.defaultValue;
96
101
  }
@@ -102,6 +107,12 @@ class NumberComponent extends Input_1.default {
102
107
  isDecimalAllowed() {
103
108
  return lodash_1.default.get(this.component, 'allowDecimal', !(this.component.validate && this.component.validate.integer));
104
109
  }
110
+ /**
111
+ * parses a numeric string by removing the delimiters and replacing the decimal separator back to '.' so that it can
112
+ * be processed by either parseInt or parseFloat
113
+ * @param {string} value the value to be parsed
114
+ * @returns {number} a parsed number
115
+ */
105
116
  parseNumber(value) {
106
117
  // Remove delimiters and convert decimal separator to dot.
107
118
  value = value.split(this.delimiter).join('').replace(this.decimalSeparator, '.');
@@ -0,0 +1,18 @@
1
+ declare namespace _default {
2
+ let components: {
3
+ label: string;
4
+ applyMaskOn: string;
5
+ mask: boolean;
6
+ tableView: boolean;
7
+ delimiter: boolean;
8
+ requireDecimal: boolean;
9
+ inputFormat: string;
10
+ truncateMultipleSpaces: boolean;
11
+ validateWhenHidden: boolean;
12
+ key: string;
13
+ type: string;
14
+ input: boolean;
15
+ defaultValue: string;
16
+ }[];
17
+ }
18
+ export default _default;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = {
4
+ components: [
5
+ {
6
+ "label": "Number",
7
+ "applyMaskOn": "change",
8
+ "mask": false,
9
+ "tableView": false,
10
+ "delimiter": false,
11
+ "requireDecimal": false,
12
+ "inputFormat": "plain",
13
+ "truncateMultipleSpaces": false,
14
+ "validateWhenHidden": false,
15
+ "key": "number",
16
+ "type": "number",
17
+ "input": true,
18
+ "defaultValue": "123.23"
19
+ }
20
+ ]
21
+ };
@@ -7,4 +7,5 @@ import comp6 from './comp6';
7
7
  import comp7 from './comp7';
8
8
  import comp8 from './comp8';
9
9
  import comp9 from './comp9';
10
- export { comp1, comp2, comp3, comp4, comp5, comp6, comp7, comp8, comp9 };
10
+ import comp10 from './comp10';
11
+ export { comp1, comp2, comp3, comp4, comp5, comp6, comp7, comp8, comp9, comp10 };
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.comp9 = exports.comp8 = exports.comp7 = exports.comp6 = exports.comp5 = exports.comp4 = exports.comp3 = exports.comp2 = exports.comp1 = void 0;
6
+ exports.comp10 = exports.comp9 = exports.comp8 = exports.comp7 = exports.comp6 = exports.comp5 = exports.comp4 = exports.comp3 = exports.comp2 = exports.comp1 = void 0;
7
7
  const comp1_1 = __importDefault(require("./comp1"));
8
8
  exports.comp1 = comp1_1.default;
9
9
  const comp2_1 = __importDefault(require("./comp2"));
@@ -22,3 +22,5 @@ const comp8_1 = __importDefault(require("./comp8"));
22
22
  exports.comp8 = comp8_1.default;
23
23
  const comp9_1 = __importDefault(require("./comp9"));
24
24
  exports.comp9 = comp9_1.default;
25
+ const comp10_1 = __importDefault(require("./comp10"));
26
+ exports.comp10 = comp10_1.default;
@@ -4,6 +4,7 @@ export default class PanelComponent extends NestedComponent {
4
4
  icon: string;
5
5
  group: string;
6
6
  documentation: string;
7
+ showPreview: boolean;
7
8
  weight: number;
8
9
  schema: any;
9
10
  };
@@ -27,6 +27,7 @@ class PanelComponent extends NestedComponent_1.default {
27
27
  icon: 'list-alt',
28
28
  group: 'layout',
29
29
  documentation: '/userguide/form-building/layout-components#panel',
30
+ showPreview: false,
30
31
  weight: 30,
31
32
  schema: PanelComponent.schema()
32
33
  };
@@ -264,6 +264,16 @@ class RadioComponent extends ListComponent_1.default {
264
264
  if (method.toUpperCase() === 'GET') {
265
265
  body = null;
266
266
  }
267
+ const limit = this.component.limit || 100;
268
+ const skip = this.isScrollLoading ? this.selectOptions.length : 0;
269
+ // Allow for url interpolation.
270
+ url = this.interpolate(this.sanitize(url, this.shouldSanitizeValue), {
271
+ formioBase: Formio_1.Formio.getBaseUrl(),
272
+ search,
273
+ limit,
274
+ skip,
275
+ page: Math.abs(Math.floor(skip / limit))
276
+ });
267
277
  // Set ignoreCache if it is
268
278
  options.ignoreCache = this.component.ignoreCache;
269
279
  // Make the request.
@@ -295,14 +305,15 @@ class RadioComponent extends ListComponent_1.default {
295
305
  setItems(items) {
296
306
  const listData = [];
297
307
  items === null || items === void 0 ? void 0 : items.forEach((item, i) => {
308
+ const valueAtProperty = lodash_1.default.get(item, this.component.valueProperty);
298
309
  this.loadedOptions[i] = {
299
- value: this.component.valueProperty ? item[this.component.valueProperty] : item,
300
- label: this.component.valueProperty ? this.itemTemplate(item, item[this.component.valueProperty]) : this.itemTemplate(item, item, i)
310
+ value: this.component.valueProperty ? valueAtProperty : item,
311
+ label: this.component.valueProperty ? this.itemTemplate(item, valueAtProperty) : this.itemTemplate(item, item, i)
301
312
  };
302
- listData.push(this.templateData[this.component.valueProperty ? item[this.component.valueProperty] : i]);
303
- if ((this.component.valueProperty || !this.isRadio) && (lodash_1.default.isUndefined(item[this.component.valueProperty]) ||
304
- (!this.isRadio && lodash_1.default.isObject(item[this.component.valueProperty])) ||
305
- (!this.isRadio && lodash_1.default.isBoolean(item[this.component.valueProperty])))) {
313
+ listData.push(this.templateData[this.component.valueProperty ? valueAtProperty : i]);
314
+ if ((this.component.valueProperty || !this.isRadio) && (lodash_1.default.isUndefined(valueAtProperty) ||
315
+ (!this.isRadio && lodash_1.default.isObject(valueAtProperty)) ||
316
+ (!this.isRadio && lodash_1.default.isBoolean(valueAtProperty)))) {
306
317
  this.loadedOptions[i].invalid = true;
307
318
  }
308
319
  });
@@ -0,0 +1,29 @@
1
+ declare namespace _default {
2
+ let components: {
3
+ label: string;
4
+ optionsLabelPosition: string;
5
+ tableView: boolean;
6
+ dataSrc: string;
7
+ values: {
8
+ label: string;
9
+ value: string;
10
+ shortcut: string;
11
+ }[];
12
+ valueProperty: string;
13
+ validateWhenHidden: boolean;
14
+ key: string;
15
+ type: string;
16
+ data: {
17
+ url: string;
18
+ headers: {
19
+ key: string;
20
+ value: string;
21
+ }[];
22
+ };
23
+ template: string;
24
+ authenticate: boolean;
25
+ input: boolean;
26
+ inputType: string;
27
+ }[];
28
+ }
29
+ export default _default;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = {
4
+ components: [
5
+ {
6
+ "label": "Select Boxes",
7
+ "optionsLabelPosition": "right",
8
+ "tableView": false,
9
+ "dataSrc": "url",
10
+ "values": [
11
+ {
12
+ "label": "",
13
+ "value": "",
14
+ "shortcut": ""
15
+ }
16
+ ],
17
+ "valueProperty": "data.name",
18
+ "validateWhenHidden": false,
19
+ "key": "selectBoxes",
20
+ "type": "selectboxes",
21
+ "data": {
22
+ "url": "https://remote-dev.form.io/projectId/name/submission",
23
+ "headers": [
24
+ {
25
+ "key": "",
26
+ "value": ""
27
+ }
28
+ ]
29
+ },
30
+ "template": "<span>{{ item.data.name }}</span>",
31
+ "authenticate": true,
32
+ "input": true,
33
+ "inputType": "checkbox"
34
+ }
35
+ ]
36
+ };
@@ -9,4 +9,5 @@ import comp8 from './comp8';
9
9
  import comp9 from './comp9';
10
10
  import comp10 from './comp10';
11
11
  import comp11 from './comp11';
12
- export { comp1, comp2, comp3, comp4, comp5, comp6, comp7, comp8, comp9, comp10, comp11 };
12
+ import comp12 from './comp12';
13
+ export { comp1, comp2, comp3, comp4, comp5, comp6, comp7, comp8, comp9, comp10, comp11, comp12 };
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.comp11 = exports.comp10 = exports.comp9 = exports.comp8 = exports.comp7 = exports.comp6 = exports.comp5 = exports.comp4 = exports.comp3 = exports.comp2 = exports.comp1 = void 0;
6
+ exports.comp12 = exports.comp11 = exports.comp10 = exports.comp9 = exports.comp8 = exports.comp7 = exports.comp6 = exports.comp5 = exports.comp4 = exports.comp3 = exports.comp2 = exports.comp1 = void 0;
7
7
  const comp1_1 = __importDefault(require("./comp1"));
8
8
  exports.comp1 = comp1_1.default;
9
9
  const comp2_1 = __importDefault(require("./comp2"));
@@ -26,3 +26,5 @@ const comp10_1 = __importDefault(require("./comp10"));
26
26
  exports.comp10 = comp10_1.default;
27
27
  const comp11_1 = __importDefault(require("./comp11"));
28
28
  exports.comp11 = comp11_1.default;
29
+ const comp12_1 = __importDefault(require("./comp12"));
30
+ exports.comp12 = comp12_1.default;
@@ -526,7 +526,7 @@ class SelectComponent extends ListComponent_1.default {
526
526
  skip,
527
527
  };
528
528
  // Allow for url interpolation.
529
- url = this.interpolate(url, {
529
+ url = this.interpolate(this.sanitize(url, this.shouldSanitizeValue), {
530
530
  formioBase: Formio_1.Formio.getBaseUrl(),
531
531
  search,
532
532
  limit,
@@ -1,12 +1,12 @@
1
1
  export default class TimeComponent extends TextFieldComponent {
2
- rawData: string | never[];
2
+ rawData: any;
3
3
  get dataFormat(): any;
4
4
  get skipMaskValidation(): boolean;
5
5
  isNotCompleteInput(value: any): any;
6
6
  removeValue(index: any): void;
7
7
  resetRawData(index: any): void;
8
8
  setRawValue(value: any, index: any): void;
9
- getRawValue(index: any): string | never[];
9
+ getRawValue(index: any): any;
10
10
  getValueAt(index: any): any;
11
11
  setValueAt(index: any, value: any): void;
12
12
  getStringAsValue(view: any): any;
@@ -30,7 +30,8 @@ class TimeComponent extends TextField_1.default {
30
30
  this.component.inputType = isEdgeBrowser && edgeVersion <= 18
31
31
  ? 'text'
32
32
  : (this.component.inputType || 'time');
33
- this.rawData = this.component.multiple ? [] : this.emptyValue;
33
+ // If default value is given then the raw data needs to be set
34
+ this.rawData = this.component.multiple ? [] : this.getValueAsString(this.defaultValue) || this.emptyValue;
34
35
  }
35
36
  static get builderInfo() {
36
37
  return {
@@ -61,7 +62,7 @@ class TimeComponent extends TextField_1.default {
61
62
  return value;
62
63
  }
63
64
  get validationValue() {
64
- if (Array.isArray(this.rawData) && !this.rawData.length || !this.rawData) {
65
+ if ((Array.isArray(this.rawData) && !this.rawData.length) || !this.rawData) {
65
66
  return this.dataValue;
66
67
  }
67
68
  return this.rawData;
@@ -0,0 +1,166 @@
1
+ declare namespace _default {
2
+ let type: string;
3
+ let display: string;
4
+ let components: {
5
+ title: string;
6
+ breadcrumbClickable: boolean;
7
+ buttonSettings: {
8
+ previous: boolean;
9
+ cancel: boolean;
10
+ next: boolean;
11
+ };
12
+ navigateOnEnter: boolean;
13
+ saveOnEnter: boolean;
14
+ scrollToTop: boolean;
15
+ collapsible: boolean;
16
+ key: string;
17
+ type: string;
18
+ label: string;
19
+ components: {
20
+ label: string;
21
+ disabled: boolean;
22
+ alwaysEnabled: boolean;
23
+ tableView: boolean;
24
+ defaultValue: string;
25
+ key: string;
26
+ type: string;
27
+ input: boolean;
28
+ inputMask: string;
29
+ hideOnChildrenHidden: boolean;
30
+ id: string;
31
+ placeholder: string;
32
+ prefix: string;
33
+ customClass: string;
34
+ suffix: string;
35
+ multiple: boolean;
36
+ protected: boolean;
37
+ unique: boolean;
38
+ persistent: boolean;
39
+ hidden: boolean;
40
+ clearOnHide: boolean;
41
+ refreshOn: string;
42
+ redrawOn: string;
43
+ modalEdit: boolean;
44
+ dataGridLabel: boolean;
45
+ labelPosition: string;
46
+ description: string;
47
+ errorLabel: string;
48
+ tooltip: string;
49
+ hideLabel: boolean;
50
+ tabindex: string;
51
+ autofocus: boolean;
52
+ dbIndex: boolean;
53
+ customDefaultValue: string;
54
+ calculateValue: string;
55
+ calculateServer: boolean;
56
+ widget: {
57
+ type: string;
58
+ };
59
+ attributes: {};
60
+ validateOn: string;
61
+ validate: {
62
+ required: boolean;
63
+ custom: string;
64
+ customPrivate: boolean;
65
+ strictDateValidation: boolean;
66
+ multiple: boolean;
67
+ unique: boolean;
68
+ minLength: string;
69
+ maxLength: string;
70
+ pattern: string;
71
+ };
72
+ conditional: {
73
+ show: null;
74
+ when: null;
75
+ eq: string;
76
+ };
77
+ overlay: {
78
+ style: string;
79
+ left: string;
80
+ top: string;
81
+ width: string;
82
+ height: string;
83
+ };
84
+ allowCalculateOverride: boolean;
85
+ encrypted: boolean;
86
+ showCharCount: boolean;
87
+ showWordCount: boolean;
88
+ properties: {};
89
+ allowMultipleMasks: boolean;
90
+ addons: never[];
91
+ mask: boolean;
92
+ inputType: string;
93
+ inputFormat: string;
94
+ displayMask: string;
95
+ spellcheck: boolean;
96
+ truncateMultipleSpaces: boolean;
97
+ format: string;
98
+ dataFormat: string;
99
+ }[];
100
+ input: boolean;
101
+ tableView: boolean;
102
+ id: string;
103
+ placeholder: string;
104
+ prefix: string;
105
+ customClass: string;
106
+ suffix: string;
107
+ multiple: boolean;
108
+ defaultValue: null;
109
+ protected: boolean;
110
+ unique: boolean;
111
+ persistent: boolean;
112
+ hidden: boolean;
113
+ clearOnHide: boolean;
114
+ refreshOn: string;
115
+ redrawOn: string;
116
+ modalEdit: boolean;
117
+ dataGridLabel: boolean;
118
+ labelPosition: string;
119
+ description: string;
120
+ errorLabel: string;
121
+ tooltip: string;
122
+ hideLabel: boolean;
123
+ tabindex: string;
124
+ disabled: boolean;
125
+ autofocus: boolean;
126
+ dbIndex: boolean;
127
+ customDefaultValue: string;
128
+ calculateValue: string;
129
+ calculateServer: boolean;
130
+ widget: null;
131
+ attributes: {};
132
+ validateOn: string;
133
+ validate: {
134
+ required: boolean;
135
+ custom: string;
136
+ customPrivate: boolean;
137
+ strictDateValidation: boolean;
138
+ multiple: boolean;
139
+ unique: boolean;
140
+ };
141
+ conditional: {
142
+ show: null;
143
+ when: null;
144
+ eq: string;
145
+ };
146
+ overlay: {
147
+ style: string;
148
+ left: string;
149
+ top: string;
150
+ width: string;
151
+ height: string;
152
+ };
153
+ allowCalculateOverride: boolean;
154
+ encrypted: boolean;
155
+ showCharCount: boolean;
156
+ showWordCount: boolean;
157
+ properties: {};
158
+ allowMultipleMasks: boolean;
159
+ addons: never[];
160
+ tree: boolean;
161
+ lazyLoad: boolean;
162
+ theme: string;
163
+ breadcrumb: string;
164
+ }[];
165
+ }
166
+ export default _default;