@formio/js 5.0.0-dev.5720.5431de8 → 5.0.0-dev.5721.5aa8849

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 (110) hide show
  1. package/Changelog.md +18 -0
  2. package/dist/formio.form.js +34 -24
  3. package/dist/formio.form.min.js +1 -1
  4. package/dist/formio.full.js +37 -27
  5. package/dist/formio.full.min.js +1 -1
  6. package/dist/formio.utils.js +12 -2
  7. package/dist/formio.utils.min.js +1 -1
  8. package/lib/cjs/Form.d.ts +2 -2
  9. package/lib/cjs/Form.js +9 -5
  10. package/lib/cjs/PDF.js +1 -1
  11. package/lib/cjs/Webform.js +1 -2
  12. package/lib/cjs/WebformBuilder.js +13 -3
  13. package/lib/cjs/components/_classes/nested/NestedComponent.d.ts +2 -1
  14. package/lib/cjs/components/_classes/nested/NestedComponent.js +5 -1
  15. package/lib/cjs/components/_classes/nestedarray/NestedArrayComponent.d.ts +2 -0
  16. package/lib/cjs/components/_classes/nestedarray/NestedArrayComponent.js +50 -29
  17. package/lib/cjs/components/currency/Currency.d.ts +1 -0
  18. package/lib/cjs/components/datagrid/DataGrid.d.ts +0 -1
  19. package/lib/cjs/components/datagrid/DataGrid.js +0 -8
  20. package/lib/cjs/components/datamap/DataMap.js +1 -1
  21. package/lib/cjs/components/day/Day.d.ts +2 -2
  22. package/lib/cjs/components/day/Day.js +3 -3
  23. package/lib/cjs/components/editgrid/EditGrid.js +1 -5
  24. package/lib/cjs/components/editgrid/fixtures/comp17.d.ts +80 -0
  25. package/lib/cjs/components/editgrid/fixtures/comp17.js +99 -0
  26. package/lib/cjs/components/editgrid/fixtures/index.d.ts +2 -1
  27. package/lib/cjs/components/editgrid/fixtures/index.js +3 -1
  28. package/lib/cjs/components/file/File.js +4 -0
  29. package/lib/cjs/components/form/editForm/Form.edit.form.js +1 -1
  30. package/lib/cjs/components/number/Number.d.ts +7 -1
  31. package/lib/cjs/components/number/Number.js +11 -0
  32. package/lib/cjs/components/number/fixtures/comp10.d.ts +18 -0
  33. package/lib/cjs/components/number/fixtures/comp10.js +21 -0
  34. package/lib/cjs/components/number/fixtures/index.d.ts +2 -1
  35. package/lib/cjs/components/number/fixtures/index.js +3 -1
  36. package/lib/cjs/components/panel/Panel.d.ts +1 -0
  37. package/lib/cjs/components/panel/Panel.js +1 -0
  38. package/lib/cjs/components/radio/Radio.js +7 -6
  39. package/lib/cjs/components/radio/fixtures/comp12.d.ts +29 -0
  40. package/lib/cjs/components/radio/fixtures/comp12.js +36 -0
  41. package/lib/cjs/components/radio/fixtures/index.d.ts +2 -1
  42. package/lib/cjs/components/radio/fixtures/index.js +3 -1
  43. package/lib/cjs/components/select/Select.d.ts +38 -0
  44. package/lib/cjs/components/select/Select.js +10 -0
  45. package/lib/cjs/components/select/fixtures/comp25.d.ts +44 -0
  46. package/lib/cjs/components/select/fixtures/comp25.js +59 -0
  47. package/lib/cjs/components/select/fixtures/index.d.ts +2 -1
  48. package/lib/cjs/components/select/fixtures/index.js +3 -1
  49. package/lib/cjs/components/time/Time.d.ts +2 -2
  50. package/lib/cjs/components/time/Time.form.js +2 -2
  51. package/lib/cjs/components/time/Time.js +3 -2
  52. package/lib/cjs/components/time/fixtures/comp4.d.ts +166 -0
  53. package/lib/cjs/components/time/fixtures/comp4.js +171 -0
  54. package/lib/cjs/components/time/fixtures/index.d.ts +2 -1
  55. package/lib/cjs/components/time/fixtures/index.js +3 -1
  56. package/lib/cjs/templates/Templates.js +1 -1
  57. package/lib/cjs/translations/en.d.ts +1 -0
  58. package/lib/cjs/translations/en.js +1 -0
  59. package/lib/mjs/Form.d.ts +2 -2
  60. package/lib/mjs/Form.js +9 -5
  61. package/lib/mjs/PDF.js +1 -1
  62. package/lib/mjs/Webform.js +1 -2
  63. package/lib/mjs/WebformBuilder.js +12 -3
  64. package/lib/mjs/components/_classes/nested/NestedComponent.d.ts +2 -1
  65. package/lib/mjs/components/_classes/nested/NestedComponent.js +5 -1
  66. package/lib/mjs/components/_classes/nestedarray/NestedArrayComponent.d.ts +2 -0
  67. package/lib/mjs/components/_classes/nestedarray/NestedArrayComponent.js +51 -29
  68. package/lib/mjs/components/currency/Currency.d.ts +1 -0
  69. package/lib/mjs/components/datagrid/DataGrid.d.ts +0 -1
  70. package/lib/mjs/components/datagrid/DataGrid.js +0 -8
  71. package/lib/mjs/components/datamap/DataMap.js +1 -1
  72. package/lib/mjs/components/day/Day.d.ts +2 -2
  73. package/lib/mjs/components/day/Day.js +3 -3
  74. package/lib/mjs/components/editgrid/EditGrid.js +1 -5
  75. package/lib/mjs/components/editgrid/fixtures/comp17.d.ts +80 -0
  76. package/lib/mjs/components/editgrid/fixtures/comp17.js +97 -0
  77. package/lib/mjs/components/editgrid/fixtures/index.d.ts +2 -1
  78. package/lib/mjs/components/editgrid/fixtures/index.js +2 -1
  79. package/lib/mjs/components/file/File.js +4 -0
  80. package/lib/mjs/components/form/editForm/Form.edit.form.js +1 -1
  81. package/lib/mjs/components/number/Number.d.ts +7 -1
  82. package/lib/mjs/components/number/Number.js +11 -0
  83. package/lib/mjs/components/number/fixtures/comp10.d.ts +18 -0
  84. package/lib/mjs/components/number/fixtures/comp10.js +19 -0
  85. package/lib/mjs/components/number/fixtures/index.d.ts +2 -1
  86. package/lib/mjs/components/number/fixtures/index.js +2 -1
  87. package/lib/mjs/components/panel/Panel.d.ts +1 -0
  88. package/lib/mjs/components/panel/Panel.js +1 -0
  89. package/lib/mjs/components/radio/Radio.js +7 -6
  90. package/lib/mjs/components/radio/fixtures/comp12.d.ts +29 -0
  91. package/lib/mjs/components/radio/fixtures/comp12.js +34 -0
  92. package/lib/mjs/components/radio/fixtures/index.d.ts +2 -1
  93. package/lib/mjs/components/radio/fixtures/index.js +2 -1
  94. package/lib/mjs/components/select/Select.d.ts +38 -0
  95. package/lib/mjs/components/select/Select.js +13 -1
  96. package/lib/mjs/components/select/fixtures/comp25.d.ts +44 -0
  97. package/lib/mjs/components/select/fixtures/comp25.js +57 -0
  98. package/lib/mjs/components/select/fixtures/index.d.ts +2 -1
  99. package/lib/mjs/components/select/fixtures/index.js +2 -1
  100. package/lib/mjs/components/time/Time.d.ts +2 -2
  101. package/lib/mjs/components/time/Time.form.js +2 -2
  102. package/lib/mjs/components/time/Time.js +3 -2
  103. package/lib/mjs/components/time/fixtures/comp4.d.ts +166 -0
  104. package/lib/mjs/components/time/fixtures/comp4.js +169 -0
  105. package/lib/mjs/components/time/fixtures/index.d.ts +2 -1
  106. package/lib/mjs/components/time/fixtures/index.js +2 -1
  107. package/lib/mjs/templates/Templates.js +1 -1
  108. package/lib/mjs/translations/en.d.ts +1 -0
  109. package/lib/mjs/translations/en.js +1 -0
  110. package/package.json +3 -3
@@ -1,4 +1,4 @@
1
- import baseEditForm from '../_classes/component/Component.form';
1
+ import Components from '../Components';
2
2
  import TimeEditData from './editForm/Time.edit.data';
3
3
  import TimeEditDisplay from './editForm/Time.edit.display';
4
4
  /**
@@ -7,7 +7,7 @@ import TimeEditDisplay from './editForm/Time.edit.display';
7
7
  * @returns {import('@formio/core').Component[]} - The edit form components.
8
8
  */
9
9
  export default function (...extend) {
10
- return baseEditForm([
10
+ return Components.baseEditForm([
11
11
  {
12
12
  key: 'data',
13
13
  components: TimeEditData,
@@ -31,7 +31,8 @@ export default class TimeComponent extends TextFieldComponent {
31
31
  this.component.inputType = isEdgeBrowser && edgeVersion <= 18
32
32
  ? 'text'
33
33
  : (this.component.inputType || 'time');
34
- this.rawData = this.component.multiple ? [] : this.emptyValue;
34
+ // If default value is given then the raw data needs to be set
35
+ this.rawData = this.component.multiple ? [] : this.getValueAsString(this.defaultValue) || this.emptyValue;
35
36
  }
36
37
  static get builderInfo() {
37
38
  return {
@@ -62,7 +63,7 @@ export default class TimeComponent extends TextFieldComponent {
62
63
  return value;
63
64
  }
64
65
  get validationValue() {
65
- if (Array.isArray(this.rawData) && !this.rawData.length || !this.rawData) {
66
+ if ((Array.isArray(this.rawData) && !this.rawData.length) || !this.rawData) {
66
67
  return this.dataValue;
67
68
  }
68
69
  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;
@@ -0,0 +1,169 @@
1
+ export default {
2
+ "type": "form",
3
+ "display": "wizard",
4
+ "components": [
5
+ {
6
+ "title": "Page 1",
7
+ "breadcrumbClickable": true,
8
+ "buttonSettings": {
9
+ "previous": true,
10
+ "cancel": true,
11
+ "next": true
12
+ },
13
+ "navigateOnEnter": false,
14
+ "saveOnEnter": false,
15
+ "scrollToTop": false,
16
+ "collapsible": false,
17
+ "key": "page1",
18
+ "type": "panel",
19
+ "label": "Page 1",
20
+ "components": [
21
+ {
22
+ "label": "Time",
23
+ "disabled": true,
24
+ "alwaysEnabled": false,
25
+ "tableView": true,
26
+ "defaultValue": "03:03 PM",
27
+ "key": "time1",
28
+ "type": "time",
29
+ "input": true,
30
+ "inputMask": "99:99",
31
+ "hideOnChildrenHidden": false,
32
+ "id": "efw9yyq",
33
+ "placeholder": "",
34
+ "prefix": "",
35
+ "customClass": "",
36
+ "suffix": "",
37
+ "multiple": false,
38
+ "protected": false,
39
+ "unique": false,
40
+ "persistent": true,
41
+ "hidden": false,
42
+ "clearOnHide": true,
43
+ "refreshOn": "",
44
+ "redrawOn": "",
45
+ "modalEdit": false,
46
+ "dataGridLabel": false,
47
+ "labelPosition": "top",
48
+ "description": "",
49
+ "errorLabel": "",
50
+ "tooltip": "",
51
+ "hideLabel": false,
52
+ "tabindex": "",
53
+ "autofocus": false,
54
+ "dbIndex": false,
55
+ "customDefaultValue": "",
56
+ "calculateValue": "",
57
+ "calculateServer": false,
58
+ "widget": {
59
+ "type": "input"
60
+ },
61
+ "attributes": {},
62
+ "validateOn": "change",
63
+ "validate": {
64
+ "required": false,
65
+ "custom": "",
66
+ "customPrivate": false,
67
+ "strictDateValidation": false,
68
+ "multiple": false,
69
+ "unique": false,
70
+ "minLength": "",
71
+ "maxLength": "",
72
+ "pattern": ""
73
+ },
74
+ "conditional": {
75
+ "show": null,
76
+ "when": null,
77
+ "eq": ""
78
+ },
79
+ "overlay": {
80
+ "style": "",
81
+ "left": "",
82
+ "top": "",
83
+ "width": "",
84
+ "height": ""
85
+ },
86
+ "allowCalculateOverride": false,
87
+ "encrypted": false,
88
+ "showCharCount": false,
89
+ "showWordCount": false,
90
+ "properties": {},
91
+ "allowMultipleMasks": false,
92
+ "addons": [],
93
+ "mask": false,
94
+ "inputType": "time",
95
+ "inputFormat": "plain",
96
+ "displayMask": "",
97
+ "spellcheck": true,
98
+ "truncateMultipleSpaces": false,
99
+ "format": "HH:mm",
100
+ "dataFormat": "HH:mm:ss"
101
+ }
102
+ ],
103
+ "input": false,
104
+ "tableView": false,
105
+ "id": "e7vej1d",
106
+ "placeholder": "",
107
+ "prefix": "",
108
+ "customClass": "",
109
+ "suffix": "",
110
+ "multiple": false,
111
+ "defaultValue": null,
112
+ "protected": false,
113
+ "unique": false,
114
+ "persistent": false,
115
+ "hidden": false,
116
+ "clearOnHide": false,
117
+ "refreshOn": "",
118
+ "redrawOn": "",
119
+ "modalEdit": false,
120
+ "dataGridLabel": false,
121
+ "labelPosition": "top",
122
+ "description": "",
123
+ "errorLabel": "",
124
+ "tooltip": "",
125
+ "hideLabel": false,
126
+ "tabindex": "",
127
+ "disabled": false,
128
+ "autofocus": false,
129
+ "dbIndex": false,
130
+ "customDefaultValue": "",
131
+ "calculateValue": "",
132
+ "calculateServer": false,
133
+ "widget": null,
134
+ "attributes": {},
135
+ "validateOn": "change",
136
+ "validate": {
137
+ "required": false,
138
+ "custom": "",
139
+ "customPrivate": false,
140
+ "strictDateValidation": false,
141
+ "multiple": false,
142
+ "unique": false
143
+ },
144
+ "conditional": {
145
+ "show": null,
146
+ "when": null,
147
+ "eq": ""
148
+ },
149
+ "overlay": {
150
+ "style": "",
151
+ "left": "",
152
+ "top": "",
153
+ "width": "",
154
+ "height": ""
155
+ },
156
+ "allowCalculateOverride": false,
157
+ "encrypted": false,
158
+ "showCharCount": false,
159
+ "showWordCount": false,
160
+ "properties": {},
161
+ "allowMultipleMasks": false,
162
+ "addons": [],
163
+ "tree": false,
164
+ "lazyLoad": false,
165
+ "theme": "default",
166
+ "breadcrumb": "default"
167
+ }
168
+ ],
169
+ };
@@ -1,6 +1,7 @@
1
1
  import comp1 from './comp1';
2
2
  import comp2 from './comp2';
3
3
  import comp3 from './comp3';
4
+ import comp4 from './comp4';
4
5
  import timeForm from './timeForm';
5
6
  import timeForm2 from './timeForm2';
6
- export { comp1, comp2, comp3, timeForm, timeForm2 };
7
+ export { comp1, comp2, comp3, comp4, timeForm, timeForm2 };
@@ -1,6 +1,7 @@
1
1
  import comp1 from './comp1';
2
2
  import comp2 from './comp2';
3
3
  import comp3 from './comp3';
4
+ import comp4 from './comp4';
4
5
  import timeForm from './timeForm';
5
6
  import timeForm2 from './timeForm2';
6
- export { comp1, comp2, comp3, timeForm, timeForm2 };
7
+ export { comp1, comp2, comp3, comp4, timeForm, timeForm2 };
@@ -1,5 +1,5 @@
1
1
  import templates from './index';
2
2
  import { Template } from '@formio/core/experimental';
3
3
  Template.addTemplates(templates);
4
- Template.defaultTemplates = templates.bootstrap;
4
+ Template.defaultTemplates = Template.templates.bootstrap;
5
5
  export default Template;
@@ -75,6 +75,7 @@ declare namespace _default {
75
75
  let typeRemaining: string;
76
76
  let typeCount: string;
77
77
  let requiredDayField: string;
78
+ let requiredDayEmpty: string;
78
79
  let requiredMonthField: string;
79
80
  let requiredYearField: string;
80
81
  }
@@ -75,6 +75,7 @@ export default {
75
75
  typeRemaining: '{{ remaining }} {{ type }} remaining.',
76
76
  typeCount: '{{ count }} {{ type }}',
77
77
  requiredDayField: '{{ field }} is required',
78
+ requiredDayEmpty: '{{ field }} is required',
78
79
  requiredMonthField: '{{ field }} is required',
79
80
  requiredYearField: '{{ field }} is required'
80
81
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@formio/js",
3
- "version": "5.0.0-dev.5720.5431de8",
3
+ "version": "5.0.0-dev.5721.5aa8849",
4
4
  "description": "JavaScript powered Forms with JSON Form Builder",
5
5
  "main": "lib/cjs/index.js",
6
6
  "exports": {
@@ -89,7 +89,7 @@
89
89
  "bootstrap": "^5.3.3",
90
90
  "browser-cookies": "^1.2.0",
91
91
  "browser-md5-file": "^1.1.1",
92
- "compare-versions": "^6.0.0-rc.2",
92
+ "compare-versions": "^6.1.1",
93
93
  "core-js": "^3.37.1",
94
94
  "dialog-polyfill": "^0.5.6",
95
95
  "dom-autoscroller": "^2.3.4",
@@ -102,7 +102,7 @@
102
102
  "idb": "^7.1.1",
103
103
  "inputmask": "^5.0.8",
104
104
  "ismobilejs": "^1.1.1",
105
- "json-logic-js": "^2.0.2",
105
+ "json-logic-js": "^2.0.5",
106
106
  "jstimezonedetect": "^1.0.7",
107
107
  "jwt-decode": "^3.1.2",
108
108
  "lodash": "^4.17.21",