@formio/js 5.2.3 → 5.2.4-rc.0

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 (510) hide show
  1. package/dist/formio.builder.css +161 -50
  2. package/dist/formio.builder.min.css +1 -1
  3. package/dist/formio.embed.js +1 -1
  4. package/dist/formio.embed.min.js +1 -1
  5. package/dist/formio.embed.min.js.LICENSE.txt +1 -1
  6. package/dist/formio.form.css +158 -49
  7. package/dist/formio.form.js +152 -108
  8. package/dist/formio.form.min.css +1 -1
  9. package/dist/formio.form.min.js +1 -1
  10. package/dist/formio.form.min.js.LICENSE.txt +1 -1
  11. package/dist/formio.full.css +161 -50
  12. package/dist/formio.full.js +401 -227
  13. package/dist/formio.full.min.css +1 -1
  14. package/dist/formio.full.min.js +1 -1
  15. package/dist/formio.full.min.js.LICENSE.txt +1 -1
  16. package/dist/formio.js +51 -18
  17. package/dist/formio.min.js +1 -1
  18. package/dist/formio.min.js.LICENSE.txt +1 -1
  19. package/dist/formio.utils.js +47 -14
  20. package/dist/formio.utils.min.js +1 -1
  21. package/dist/formio.utils.min.js.LICENSE.txt +1 -1
  22. package/lib/cjs/CDN.js +12 -12
  23. package/lib/cjs/Element.d.ts +3 -2
  24. package/lib/cjs/Element.js +27 -21
  25. package/lib/cjs/Embed.js +74 -40
  26. package/lib/cjs/EventEmitter.js +1 -1
  27. package/lib/cjs/Form.d.ts +371 -341
  28. package/lib/cjs/Form.js +153 -39
  29. package/lib/cjs/FormBuilder.d.ts +3 -3
  30. package/lib/cjs/FormBuilder.js +2 -3
  31. package/lib/cjs/Formio.js +26 -23
  32. package/lib/cjs/InlineEmbed.js +23 -17
  33. package/lib/cjs/PDF.d.ts +1 -0
  34. package/lib/cjs/PDF.js +18 -15
  35. package/lib/cjs/PDFBuilder.js +51 -36
  36. package/lib/cjs/Webform.d.ts +8 -366
  37. package/lib/cjs/Webform.js +176 -235
  38. package/lib/cjs/WebformBuilder.js +217 -144
  39. package/lib/cjs/Wizard.js +92 -62
  40. package/lib/cjs/WizardBuilder.js +27 -19
  41. package/lib/cjs/addons/FormioAddon.js +1 -1
  42. package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.form.js +59 -57
  43. package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.js +24 -16
  44. package/lib/cjs/addons/index.js +3 -3
  45. package/lib/cjs/components/Components.js +0 -4
  46. package/lib/cjs/components/_classes/component/Component.form.js +11 -11
  47. package/lib/cjs/components/_classes/component/Component.js +298 -179
  48. package/lib/cjs/components/_classes/component/editForm/Component.edit.addons.js +2 -4
  49. package/lib/cjs/components/_classes/component/editForm/Component.edit.api.js +5 -5
  50. package/lib/cjs/components/_classes/component/editForm/Component.edit.conditional.js +9 -11
  51. package/lib/cjs/components/_classes/component/editForm/Component.edit.data.d.ts +37 -0
  52. package/lib/cjs/components/_classes/component/editForm/Component.edit.data.js +39 -25
  53. package/lib/cjs/components/_classes/component/editForm/Component.edit.display.js +47 -29
  54. package/lib/cjs/components/_classes/component/editForm/Component.edit.layout.js +9 -9
  55. package/lib/cjs/components/_classes/component/editForm/Component.edit.logic.js +5 -7
  56. package/lib/cjs/components/_classes/component/editForm/Component.edit.validation.js +37 -34
  57. package/lib/cjs/components/_classes/component/editForm/utils.js +12 -16
  58. package/lib/cjs/components/_classes/componentModal/ComponentModal.js +6 -6
  59. package/lib/cjs/components/_classes/field/Field.js +7 -1
  60. package/lib/cjs/components/_classes/input/Input.js +30 -26
  61. package/lib/cjs/components/_classes/list/ListComponent.form.js +1 -1
  62. package/lib/cjs/components/_classes/list/ListComponent.js +27 -18
  63. package/lib/cjs/components/_classes/list/editForm/ListComponent.edit.data.js +36 -9
  64. package/lib/cjs/components/_classes/multivalue/Multivalue.js +32 -13
  65. package/lib/cjs/components/_classes/nested/NestedComponent.form.js +3 -3
  66. package/lib/cjs/components/_classes/nested/NestedComponent.js +36 -32
  67. package/lib/cjs/components/_classes/nestedarray/NestedArrayComponent.js +19 -14
  68. package/lib/cjs/components/_classes/nesteddata/NestedDataComponent.js +19 -17
  69. package/lib/cjs/components/address/Address.js +52 -45
  70. package/lib/cjs/components/address/editForm/Address.edit.data.js +2 -2
  71. package/lib/cjs/components/address/editForm/Address.edit.display.js +2 -2
  72. package/lib/cjs/components/address/editForm/Address.edit.provider.js +53 -11
  73. package/lib/cjs/components/alert/Alert.js +21 -15
  74. package/lib/cjs/components/button/Button.form.js +1 -1
  75. package/lib/cjs/components/button/Button.js +50 -27
  76. package/lib/cjs/components/button/editForm/Button.edit.display.js +49 -9
  77. package/lib/cjs/components/checkbox/Checkbox.d.ts +1 -1
  78. package/lib/cjs/components/checkbox/Checkbox.form.js +3 -3
  79. package/lib/cjs/components/checkbox/Checkbox.js +28 -20
  80. package/lib/cjs/components/checkbox/editForm/Checkbox.edit.data.js +1 -1
  81. package/lib/cjs/components/checkbox/editForm/Checkbox.edit.display.js +13 -3
  82. package/lib/cjs/components/checkbox/editForm/Checkbox.edit.validation.js +2 -2
  83. package/lib/cjs/components/columns/Columns.form.js +1 -1
  84. package/lib/cjs/components/columns/Columns.js +24 -12
  85. package/lib/cjs/components/columns/editForm/Columns.edit.display.js +17 -17
  86. package/lib/cjs/components/container/Container.form.js +2 -2
  87. package/lib/cjs/components/container/Container.js +6 -4
  88. package/lib/cjs/components/container/editForm/Container.edit.data.js +3 -3
  89. package/lib/cjs/components/container/editForm/Container.edit.display.js +4 -4
  90. package/lib/cjs/components/content/Content.form.js +4 -2
  91. package/lib/cjs/components/content/Content.js +10 -8
  92. package/lib/cjs/components/content/editForm/Content.edit.display.js +10 -10
  93. package/lib/cjs/components/currency/Currency.form.js +3 -3
  94. package/lib/cjs/components/currency/Currency.js +19 -10
  95. package/lib/cjs/components/currency/editForm/Currency.edit.data.js +5 -5
  96. package/lib/cjs/components/currency/editForm/Currency.edit.display.js +8 -8
  97. package/lib/cjs/components/datagrid/DataGrid.form.js +3 -3
  98. package/lib/cjs/components/datagrid/DataGrid.js +89 -38
  99. package/lib/cjs/components/datagrid/editForm/DataGrid.edit.data.js +1 -1
  100. package/lib/cjs/components/datagrid/editForm/DataGrid.edit.display.js +14 -14
  101. package/lib/cjs/components/datagrid/editForm/DataGrid.edit.validation.js +3 -3
  102. package/lib/cjs/components/datamap/DataMap.form.js +2 -2
  103. package/lib/cjs/components/datamap/DataMap.js +44 -31
  104. package/lib/cjs/components/datamap/editForm/DataMap.edit.data.js +1 -1
  105. package/lib/cjs/components/datamap/editForm/DataMap.edit.display.js +8 -8
  106. package/lib/cjs/components/datetime/DateTime.form.js +5 -5
  107. package/lib/cjs/components/datetime/DateTime.js +30 -15
  108. package/lib/cjs/components/datetime/editForm/DateTime.edit.data.js +4 -3
  109. package/lib/cjs/components/datetime/editForm/DateTime.edit.date.js +10 -10
  110. package/lib/cjs/components/datetime/editForm/DateTime.edit.display.js +22 -17
  111. package/lib/cjs/components/datetime/editForm/DateTime.edit.time.js +5 -5
  112. package/lib/cjs/components/datetime/editForm/DateTime.edit.validation.js +3 -3
  113. package/lib/cjs/components/day/Day.form.js +5 -5
  114. package/lib/cjs/components/day/Day.js +146 -56
  115. package/lib/cjs/components/day/editForm/Day.edit.day.js +13 -9
  116. package/lib/cjs/components/day/editForm/Day.edit.display.js +7 -7
  117. package/lib/cjs/components/day/editForm/Day.edit.month.js +12 -8
  118. package/lib/cjs/components/day/editForm/Day.edit.validation.js +7 -7
  119. package/lib/cjs/components/day/editForm/Day.edit.year.js +8 -8
  120. package/lib/cjs/components/editgrid/EditGrid.form.js +2 -2
  121. package/lib/cjs/components/editgrid/EditGrid.js +137 -89
  122. package/lib/cjs/components/editgrid/editForm/EditGrid.edit.data.js +2 -2
  123. package/lib/cjs/components/editgrid/editForm/EditGrid.edit.display.js +7 -2
  124. package/lib/cjs/components/editgrid/editForm/EditGrid.edit.templates.js +16 -16
  125. package/lib/cjs/components/editgrid/editForm/EditGrid.edit.validation.js +3 -3
  126. package/lib/cjs/components/email/Email.js +4 -4
  127. package/lib/cjs/components/email/editForm/Email.edit.display.js +3 -3
  128. package/lib/cjs/components/email/editForm/Email.edit.validation.js +6 -6
  129. package/lib/cjs/components/fieldset/Fieldset.form.js +1 -1
  130. package/lib/cjs/components/fieldset/Fieldset.js +2 -2
  131. package/lib/cjs/components/fieldset/editForm/Fieldset.edit.display.js +8 -8
  132. package/lib/cjs/components/file/File.form.js +4 -4
  133. package/lib/cjs/components/file/File.js +126 -80
  134. package/lib/cjs/components/file/editForm/File.edit.display.js +9 -5
  135. package/lib/cjs/components/file/editForm/File.edit.file.d.ts +37 -16
  136. package/lib/cjs/components/file/editForm/File.edit.file.js +169 -72
  137. package/lib/cjs/components/file/editForm/File.edit.validation.js +2 -2
  138. package/lib/cjs/components/form/Form.form.js +3 -3
  139. package/lib/cjs/components/form/Form.js +67 -51
  140. package/lib/cjs/components/form/editForm/Form.edit.data.js +1 -3
  141. package/lib/cjs/components/form/editForm/Form.edit.display.js +6 -7
  142. package/lib/cjs/components/form/editForm/Form.edit.form.js +11 -9
  143. package/lib/cjs/components/hidden/Hidden.form.js +4 -4
  144. package/lib/cjs/components/hidden/Hidden.js +2 -2
  145. package/lib/cjs/components/hidden/editForm/Hidden.edit.data.js +3 -3
  146. package/lib/cjs/components/hidden/editForm/Hidden.edit.display.js +10 -10
  147. package/lib/cjs/components/html/HTML.js +23 -17
  148. package/lib/cjs/components/html/editForm/HTML.edit.display.js +17 -17
  149. package/lib/cjs/components/html/editForm/HTML.edit.logic.js +2 -2
  150. package/lib/cjs/components/number/Number.form.js +3 -3
  151. package/lib/cjs/components/number/Number.js +27 -11
  152. package/lib/cjs/components/number/editForm/Number.edit.data.js +3 -3
  153. package/lib/cjs/components/number/editForm/Number.edit.display.js +4 -4
  154. package/lib/cjs/components/number/editForm/Number.edit.validation.js +9 -9
  155. package/lib/cjs/components/panel/Panel.form.js +1 -1
  156. package/lib/cjs/components/panel/Panel.js +2 -2
  157. package/lib/cjs/components/panel/editForm/Panel.edit.conditional.js +5 -7
  158. package/lib/cjs/components/panel/editForm/Panel.edit.display.js +55 -29
  159. package/lib/cjs/components/password/Password.form.js +3 -3
  160. package/lib/cjs/components/password/Password.js +5 -2
  161. package/lib/cjs/components/password/editForm/Password.edit.data.js +11 -11
  162. package/lib/cjs/components/password/editForm/Password.edit.display.js +3 -3
  163. package/lib/cjs/components/password/editForm/Password.edit.validation.js +3 -3
  164. package/lib/cjs/components/phonenumber/PhoneNumber.form.js +8 -8
  165. package/lib/cjs/components/phonenumber/PhoneNumber.js +3 -3
  166. package/lib/cjs/components/phonenumber/editForm/PhoneNumber.edit.validation.js +6 -6
  167. package/lib/cjs/components/radio/Radio.form.js +3 -3
  168. package/lib/cjs/components/radio/Radio.js +55 -26
  169. package/lib/cjs/components/radio/editForm/Radio.edit.data.js +23 -9
  170. package/lib/cjs/components/radio/editForm/Radio.edit.display.js +6 -6
  171. package/lib/cjs/components/radio/editForm/Radio.edit.validation.js +2 -2
  172. package/lib/cjs/components/recaptcha/ReCaptcha.form.js +5 -5
  173. package/lib/cjs/components/recaptcha/ReCaptcha.js +7 -5
  174. package/lib/cjs/components/recaptcha/editForm/ReCaptcha.edit.display.js +24 -24
  175. package/lib/cjs/components/select/Select.form.js +3 -3
  176. package/lib/cjs/components/select/Select.js +235 -129
  177. package/lib/cjs/components/select/editForm/Select.edit.data.d.ts +1 -1
  178. package/lib/cjs/components/select/editForm/Select.edit.data.js +191 -57
  179. package/lib/cjs/components/select/editForm/Select.edit.display.js +2 -2
  180. package/lib/cjs/components/select/editForm/Select.edit.validation.js +4 -4
  181. package/lib/cjs/components/selectboxes/SelectBoxes.form.js +3 -3
  182. package/lib/cjs/components/selectboxes/SelectBoxes.js +31 -15
  183. package/lib/cjs/components/selectboxes/editForm/SelectBoxes.edit.validation.js +5 -5
  184. package/lib/cjs/components/signature/Signature.form.js +3 -3
  185. package/lib/cjs/components/signature/Signature.js +25 -15
  186. package/lib/cjs/components/signature/editForm/Signature.edit.display.js +19 -10
  187. package/lib/cjs/components/survey/Survey.form.js +3 -3
  188. package/lib/cjs/components/survey/Survey.js +30 -17
  189. package/lib/cjs/components/survey/editForm/Survey.edit.data.js +23 -11
  190. package/lib/cjs/components/survey/editForm/Survey.edit.display.js +1 -1
  191. package/lib/cjs/components/survey/editForm/Survey.edit.validation.js +1 -1
  192. package/lib/cjs/components/table/Table.form.js +1 -1
  193. package/lib/cjs/components/table/Table.js +7 -5
  194. package/lib/cjs/components/table/editForm/Table.edit.display.js +22 -22
  195. package/lib/cjs/components/tabs/Tabs.form.js +1 -1
  196. package/lib/cjs/components/tabs/Tabs.js +26 -8
  197. package/lib/cjs/components/tabs/editForm/Tabs.edit.display.js +21 -17
  198. package/lib/cjs/components/tags/Tags.form.js +1 -1
  199. package/lib/cjs/components/tags/Tags.js +28 -12
  200. package/lib/cjs/components/tags/editForm/Tags.edit.data.js +7 -7
  201. package/lib/cjs/components/textarea/TextArea.form.js +2 -2
  202. package/lib/cjs/components/textarea/TextArea.js +63 -45
  203. package/lib/cjs/components/textarea/editForm/TextArea.edit.display.js +96 -72
  204. package/lib/cjs/components/textarea/editForm/TextArea.edit.validation.js +3 -3
  205. package/lib/cjs/components/textfield/TextField.form.js +3 -3
  206. package/lib/cjs/components/textfield/TextField.js +32 -21
  207. package/lib/cjs/components/textfield/editForm/TextField.edit.data.js +15 -13
  208. package/lib/cjs/components/textfield/editForm/TextField.edit.display.js +31 -21
  209. package/lib/cjs/components/textfield/editForm/TextField.edit.validation.js +6 -6
  210. package/lib/cjs/components/time/Time.js +17 -10
  211. package/lib/cjs/components/time/editForm/Time.edit.display.js +2 -2
  212. package/lib/cjs/components/unknown/Unknown.form.js +5 -5
  213. package/lib/cjs/components/unknown/Unknown.js +2 -2
  214. package/lib/cjs/components/unknown/editForm/Unknown.edit.display.js +3 -3
  215. package/lib/cjs/components/url/Url.form.js +3 -3
  216. package/lib/cjs/components/url/Url.js +2 -2
  217. package/lib/cjs/components/url/editForm/Url.edit.display.js +3 -3
  218. package/lib/cjs/components/url/editForm/Url.edit.validation.js +1 -1
  219. package/lib/cjs/components/well/Well.form.js +1 -1
  220. package/lib/cjs/components/well/Well.js +2 -2
  221. package/lib/cjs/components/well/editForm/Well.edit.display.js +10 -10
  222. package/lib/cjs/formio.form.d.ts +2 -1
  223. package/lib/cjs/formio.form.js +38 -12
  224. package/lib/cjs/i18n.d.ts +4 -0
  225. package/lib/cjs/i18n.js +7 -3
  226. package/lib/cjs/package.json +1 -1
  227. package/lib/cjs/providers/address/AddressProvider.js +8 -5
  228. package/lib/cjs/providers/address/GoogleAddressProvider.d.ts +3 -3
  229. package/lib/cjs/providers/address/GoogleAddressProvider.js +24 -13
  230. package/lib/cjs/providers/processor/fileProcessor.js +3 -1
  231. package/lib/cjs/providers/storage/azure.js +5 -2
  232. package/lib/cjs/providers/storage/dropbox.js +4 -5
  233. package/lib/cjs/providers/storage/googleDrive.js +3 -4
  234. package/lib/cjs/providers/storage/index.js +1 -1
  235. package/lib/cjs/providers/storage/indexeddb.js +16 -6
  236. package/lib/cjs/providers/storage/s3.js +17 -6
  237. package/lib/cjs/providers/storage/uploadAdapter.js +17 -11
  238. package/lib/cjs/providers/storage/url.js +13 -11
  239. package/lib/cjs/providers/storage/xhr.js +17 -9
  240. package/lib/cjs/templates/index.js +1 -1
  241. package/lib/cjs/translations/de.d.ts +80 -0
  242. package/lib/cjs/translations/de.js +81 -0
  243. package/lib/cjs/translations/en.d.ts +0 -2
  244. package/lib/cjs/translations/en.js +7 -9
  245. package/lib/cjs/utils/ChoicesWrapper.js +2 -2
  246. package/lib/cjs/utils/builder.js +31 -7
  247. package/lib/cjs/utils/calendarUtils.js +7 -5
  248. package/lib/cjs/utils/conditionOperators/ConditionOperator.js +1 -1
  249. package/lib/cjs/utils/conditionOperators/DateGreaterThan.js +12 -4
  250. package/lib/cjs/utils/conditionOperators/IsEmptyValue.js +3 -1
  251. package/lib/cjs/utils/conditionOperators/IsEqualTo.js +10 -6
  252. package/lib/cjs/utils/conditionOperators/index.js +1 -1
  253. package/lib/cjs/utils/formUtils.js +1 -1
  254. package/lib/cjs/utils/i18n.js +7 -1
  255. package/lib/cjs/utils/index.d.ts +2 -1
  256. package/lib/cjs/utils/index.js +2 -2
  257. package/lib/cjs/utils/utils.d.ts +10 -1
  258. package/lib/cjs/utils/utils.js +175 -92
  259. package/lib/cjs/widgets/CalendarWidget.js +66 -49
  260. package/lib/cjs/widgets/InputWidget.js +6 -4
  261. package/lib/cjs/widgets/index.js +1 -1
  262. package/lib/mjs/CDN.js +12 -12
  263. package/lib/mjs/Element.d.ts +3 -2
  264. package/lib/mjs/Element.js +27 -21
  265. package/lib/mjs/Embed.js +76 -42
  266. package/lib/mjs/EventEmitter.js +1 -1
  267. package/lib/mjs/Form.d.ts +371 -341
  268. package/lib/mjs/Form.js +142 -126
  269. package/lib/mjs/FormBuilder.d.ts +3 -3
  270. package/lib/mjs/FormBuilder.js +2 -3
  271. package/lib/mjs/Formio.js +26 -23
  272. package/lib/mjs/InlineEmbed.js +23 -17
  273. package/lib/mjs/PDF.d.ts +1 -0
  274. package/lib/mjs/PDF.js +18 -15
  275. package/lib/mjs/PDFBuilder.js +51 -36
  276. package/lib/mjs/Webform.d.ts +8 -366
  277. package/lib/mjs/Webform.js +183 -250
  278. package/lib/mjs/WebformBuilder.js +220 -147
  279. package/lib/mjs/Wizard.js +93 -63
  280. package/lib/mjs/WizardBuilder.js +27 -19
  281. package/lib/mjs/addons/FormioAddon.js +1 -1
  282. package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.form.js +59 -57
  283. package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.js +24 -16
  284. package/lib/mjs/addons/index.js +3 -3
  285. package/lib/mjs/components/Components.js +0 -4
  286. package/lib/mjs/components/_classes/component/Component.form.js +11 -11
  287. package/lib/mjs/components/_classes/component/Component.js +303 -184
  288. package/lib/mjs/components/_classes/component/editForm/Component.edit.addons.js +2 -4
  289. package/lib/mjs/components/_classes/component/editForm/Component.edit.api.js +5 -5
  290. package/lib/mjs/components/_classes/component/editForm/Component.edit.conditional.js +9 -11
  291. package/lib/mjs/components/_classes/component/editForm/Component.edit.data.d.ts +37 -0
  292. package/lib/mjs/components/_classes/component/editForm/Component.edit.data.js +39 -25
  293. package/lib/mjs/components/_classes/component/editForm/Component.edit.display.js +47 -29
  294. package/lib/mjs/components/_classes/component/editForm/Component.edit.layout.js +9 -9
  295. package/lib/mjs/components/_classes/component/editForm/Component.edit.logic.js +5 -7
  296. package/lib/mjs/components/_classes/component/editForm/Component.edit.validation.js +37 -34
  297. package/lib/mjs/components/_classes/component/editForm/utils.js +12 -16
  298. package/lib/mjs/components/_classes/componentModal/ComponentModal.js +2 -2
  299. package/lib/mjs/components/_classes/field/Field.js +8 -2
  300. package/lib/mjs/components/_classes/input/Input.js +27 -23
  301. package/lib/mjs/components/_classes/list/ListComponent.form.js +1 -1
  302. package/lib/mjs/components/_classes/list/ListComponent.js +27 -18
  303. package/lib/mjs/components/_classes/list/editForm/ListComponent.edit.data.js +36 -9
  304. package/lib/mjs/components/_classes/multivalue/Multivalue.js +32 -13
  305. package/lib/mjs/components/_classes/nested/NestedComponent.form.js +3 -3
  306. package/lib/mjs/components/_classes/nested/NestedComponent.js +32 -28
  307. package/lib/mjs/components/_classes/nestedarray/NestedArrayComponent.js +20 -15
  308. package/lib/mjs/components/_classes/nesteddata/NestedDataComponent.js +19 -17
  309. package/lib/mjs/components/address/Address.js +57 -46
  310. package/lib/mjs/components/address/editForm/Address.edit.data.js +2 -2
  311. package/lib/mjs/components/address/editForm/Address.edit.display.js +2 -2
  312. package/lib/mjs/components/address/editForm/Address.edit.provider.js +53 -11
  313. package/lib/mjs/components/alert/Alert.js +22 -16
  314. package/lib/mjs/components/button/Button.form.js +1 -1
  315. package/lib/mjs/components/button/Button.js +51 -28
  316. package/lib/mjs/components/button/editForm/Button.edit.display.js +49 -9
  317. package/lib/mjs/components/checkbox/Checkbox.d.ts +1 -1
  318. package/lib/mjs/components/checkbox/Checkbox.form.js +3 -3
  319. package/lib/mjs/components/checkbox/Checkbox.js +29 -21
  320. package/lib/mjs/components/checkbox/editForm/Checkbox.edit.data.js +1 -1
  321. package/lib/mjs/components/checkbox/editForm/Checkbox.edit.display.js +13 -3
  322. package/lib/mjs/components/checkbox/editForm/Checkbox.edit.validation.js +2 -2
  323. package/lib/mjs/components/columns/Columns.form.js +1 -1
  324. package/lib/mjs/components/columns/Columns.js +24 -12
  325. package/lib/mjs/components/columns/editForm/Columns.edit.display.js +17 -17
  326. package/lib/mjs/components/container/Container.form.js +2 -2
  327. package/lib/mjs/components/container/Container.js +6 -4
  328. package/lib/mjs/components/container/editForm/Container.edit.data.js +3 -3
  329. package/lib/mjs/components/container/editForm/Container.edit.display.js +4 -4
  330. package/lib/mjs/components/content/Content.form.js +4 -2
  331. package/lib/mjs/components/content/Content.js +10 -8
  332. package/lib/mjs/components/content/editForm/Content.edit.display.js +10 -10
  333. package/lib/mjs/components/currency/Currency.form.js +3 -3
  334. package/lib/mjs/components/currency/Currency.js +19 -10
  335. package/lib/mjs/components/currency/editForm/Currency.edit.data.js +5 -5
  336. package/lib/mjs/components/currency/editForm/Currency.edit.display.js +8 -8
  337. package/lib/mjs/components/datagrid/DataGrid.form.js +3 -3
  338. package/lib/mjs/components/datagrid/DataGrid.js +90 -39
  339. package/lib/mjs/components/datagrid/editForm/DataGrid.edit.data.js +1 -1
  340. package/lib/mjs/components/datagrid/editForm/DataGrid.edit.display.js +14 -14
  341. package/lib/mjs/components/datagrid/editForm/DataGrid.edit.validation.js +3 -3
  342. package/lib/mjs/components/datamap/DataMap.form.js +2 -2
  343. package/lib/mjs/components/datamap/DataMap.js +44 -31
  344. package/lib/mjs/components/datamap/editForm/DataMap.edit.data.js +1 -1
  345. package/lib/mjs/components/datamap/editForm/DataMap.edit.display.js +8 -8
  346. package/lib/mjs/components/datetime/DateTime.form.js +5 -5
  347. package/lib/mjs/components/datetime/DateTime.js +31 -16
  348. package/lib/mjs/components/datetime/editForm/DateTime.edit.data.js +4 -3
  349. package/lib/mjs/components/datetime/editForm/DateTime.edit.date.js +10 -10
  350. package/lib/mjs/components/datetime/editForm/DateTime.edit.display.js +22 -17
  351. package/lib/mjs/components/datetime/editForm/DateTime.edit.time.js +5 -5
  352. package/lib/mjs/components/datetime/editForm/DateTime.edit.validation.js +3 -3
  353. package/lib/mjs/components/day/Day.form.js +5 -5
  354. package/lib/mjs/components/day/Day.js +147 -57
  355. package/lib/mjs/components/day/editForm/Day.edit.day.js +13 -9
  356. package/lib/mjs/components/day/editForm/Day.edit.display.js +7 -7
  357. package/lib/mjs/components/day/editForm/Day.edit.month.js +12 -8
  358. package/lib/mjs/components/day/editForm/Day.edit.validation.js +7 -7
  359. package/lib/mjs/components/day/editForm/Day.edit.year.js +8 -8
  360. package/lib/mjs/components/editgrid/EditGrid.form.js +2 -2
  361. package/lib/mjs/components/editgrid/EditGrid.js +138 -90
  362. package/lib/mjs/components/editgrid/editForm/EditGrid.edit.data.js +2 -2
  363. package/lib/mjs/components/editgrid/editForm/EditGrid.edit.display.js +7 -2
  364. package/lib/mjs/components/editgrid/editForm/EditGrid.edit.templates.js +16 -16
  365. package/lib/mjs/components/editgrid/editForm/EditGrid.edit.validation.js +3 -3
  366. package/lib/mjs/components/email/Email.js +4 -4
  367. package/lib/mjs/components/email/editForm/Email.edit.display.js +3 -3
  368. package/lib/mjs/components/email/editForm/Email.edit.validation.js +6 -6
  369. package/lib/mjs/components/fieldset/Fieldset.form.js +1 -1
  370. package/lib/mjs/components/fieldset/Fieldset.js +2 -2
  371. package/lib/mjs/components/fieldset/editForm/Fieldset.edit.display.js +8 -8
  372. package/lib/mjs/components/file/File.form.js +4 -4
  373. package/lib/mjs/components/file/File.js +131 -84
  374. package/lib/mjs/components/file/editForm/File.edit.display.js +9 -5
  375. package/lib/mjs/components/file/editForm/File.edit.file.d.ts +37 -16
  376. package/lib/mjs/components/file/editForm/File.edit.file.js +169 -72
  377. package/lib/mjs/components/file/editForm/File.edit.validation.js +2 -2
  378. package/lib/mjs/components/form/Form.form.js +3 -3
  379. package/lib/mjs/components/form/Form.js +67 -51
  380. package/lib/mjs/components/form/editForm/Form.edit.data.js +1 -3
  381. package/lib/mjs/components/form/editForm/Form.edit.display.js +6 -7
  382. package/lib/mjs/components/form/editForm/Form.edit.form.js +10 -8
  383. package/lib/mjs/components/hidden/Hidden.form.js +4 -4
  384. package/lib/mjs/components/hidden/Hidden.js +2 -2
  385. package/lib/mjs/components/hidden/editForm/Hidden.edit.data.js +3 -3
  386. package/lib/mjs/components/hidden/editForm/Hidden.edit.display.js +10 -10
  387. package/lib/mjs/components/html/HTML.js +23 -17
  388. package/lib/mjs/components/html/editForm/HTML.edit.display.js +17 -17
  389. package/lib/mjs/components/html/editForm/HTML.edit.logic.js +2 -2
  390. package/lib/mjs/components/number/Number.form.js +3 -3
  391. package/lib/mjs/components/number/Number.js +28 -12
  392. package/lib/mjs/components/number/editForm/Number.edit.data.js +3 -3
  393. package/lib/mjs/components/number/editForm/Number.edit.display.js +4 -4
  394. package/lib/mjs/components/number/editForm/Number.edit.validation.js +9 -9
  395. package/lib/mjs/components/panel/Panel.form.js +1 -1
  396. package/lib/mjs/components/panel/Panel.js +2 -2
  397. package/lib/mjs/components/panel/editForm/Panel.edit.conditional.js +6 -8
  398. package/lib/mjs/components/panel/editForm/Panel.edit.display.js +55 -29
  399. package/lib/mjs/components/password/Password.form.js +3 -3
  400. package/lib/mjs/components/password/Password.js +5 -2
  401. package/lib/mjs/components/password/editForm/Password.edit.data.js +11 -11
  402. package/lib/mjs/components/password/editForm/Password.edit.display.js +3 -3
  403. package/lib/mjs/components/password/editForm/Password.edit.validation.js +3 -3
  404. package/lib/mjs/components/phonenumber/PhoneNumber.form.js +8 -8
  405. package/lib/mjs/components/phonenumber/PhoneNumber.js +3 -3
  406. package/lib/mjs/components/phonenumber/editForm/PhoneNumber.edit.validation.js +6 -6
  407. package/lib/mjs/components/radio/Radio.form.js +3 -3
  408. package/lib/mjs/components/radio/Radio.js +56 -27
  409. package/lib/mjs/components/radio/editForm/Radio.edit.data.js +23 -9
  410. package/lib/mjs/components/radio/editForm/Radio.edit.display.js +6 -6
  411. package/lib/mjs/components/radio/editForm/Radio.edit.validation.js +2 -2
  412. package/lib/mjs/components/recaptcha/ReCaptcha.form.js +5 -5
  413. package/lib/mjs/components/recaptcha/ReCaptcha.js +7 -5
  414. package/lib/mjs/components/recaptcha/editForm/ReCaptcha.edit.display.js +24 -24
  415. package/lib/mjs/components/select/Select.form.js +3 -3
  416. package/lib/mjs/components/select/Select.js +240 -134
  417. package/lib/mjs/components/select/editForm/Select.edit.data.d.ts +1 -1
  418. package/lib/mjs/components/select/editForm/Select.edit.data.js +191 -57
  419. package/lib/mjs/components/select/editForm/Select.edit.display.js +2 -2
  420. package/lib/mjs/components/select/editForm/Select.edit.validation.js +4 -4
  421. package/lib/mjs/components/selectboxes/SelectBoxes.form.js +3 -3
  422. package/lib/mjs/components/selectboxes/SelectBoxes.js +32 -16
  423. package/lib/mjs/components/selectboxes/editForm/SelectBoxes.edit.validation.js +5 -5
  424. package/lib/mjs/components/signature/Signature.form.js +3 -3
  425. package/lib/mjs/components/signature/Signature.js +25 -15
  426. package/lib/mjs/components/signature/editForm/Signature.edit.display.js +19 -10
  427. package/lib/mjs/components/survey/Survey.form.js +3 -3
  428. package/lib/mjs/components/survey/Survey.js +30 -17
  429. package/lib/mjs/components/survey/editForm/Survey.edit.data.js +23 -11
  430. package/lib/mjs/components/survey/editForm/Survey.edit.display.js +1 -1
  431. package/lib/mjs/components/survey/editForm/Survey.edit.validation.js +1 -1
  432. package/lib/mjs/components/table/Table.form.js +1 -1
  433. package/lib/mjs/components/table/Table.js +7 -5
  434. package/lib/mjs/components/table/editForm/Table.edit.display.js +22 -22
  435. package/lib/mjs/components/tabs/Tabs.form.js +1 -1
  436. package/lib/mjs/components/tabs/Tabs.js +26 -8
  437. package/lib/mjs/components/tabs/editForm/Tabs.edit.display.js +21 -17
  438. package/lib/mjs/components/tags/Tags.form.js +1 -1
  439. package/lib/mjs/components/tags/Tags.js +28 -12
  440. package/lib/mjs/components/tags/editForm/Tags.edit.data.js +7 -7
  441. package/lib/mjs/components/textarea/TextArea.form.js +2 -2
  442. package/lib/mjs/components/textarea/TextArea.js +75 -51
  443. package/lib/mjs/components/textarea/editForm/TextArea.edit.display.js +96 -72
  444. package/lib/mjs/components/textarea/editForm/TextArea.edit.validation.js +3 -3
  445. package/lib/mjs/components/textfield/TextField.form.js +3 -3
  446. package/lib/mjs/components/textfield/TextField.js +34 -23
  447. package/lib/mjs/components/textfield/editForm/TextField.edit.data.js +15 -13
  448. package/lib/mjs/components/textfield/editForm/TextField.edit.display.js +31 -21
  449. package/lib/mjs/components/textfield/editForm/TextField.edit.validation.js +6 -6
  450. package/lib/mjs/components/time/Time.js +17 -10
  451. package/lib/mjs/components/time/editForm/Time.edit.display.js +2 -2
  452. package/lib/mjs/components/unknown/Unknown.form.js +5 -5
  453. package/lib/mjs/components/unknown/Unknown.js +2 -2
  454. package/lib/mjs/components/unknown/editForm/Unknown.edit.display.js +3 -3
  455. package/lib/mjs/components/url/Url.form.js +3 -3
  456. package/lib/mjs/components/url/Url.js +2 -2
  457. package/lib/mjs/components/url/editForm/Url.edit.display.js +3 -3
  458. package/lib/mjs/components/url/editForm/Url.edit.validation.js +1 -1
  459. package/lib/mjs/components/well/Well.form.js +1 -1
  460. package/lib/mjs/components/well/Well.js +2 -2
  461. package/lib/mjs/components/well/editForm/Well.edit.display.js +10 -10
  462. package/lib/mjs/formio.form.d.ts +2 -1
  463. package/lib/mjs/formio.form.js +10 -8
  464. package/lib/mjs/i18n.d.ts +4 -0
  465. package/lib/mjs/i18n.js +7 -3
  466. package/lib/mjs/package.json +1 -1
  467. package/lib/mjs/providers/address/AddressProvider.js +8 -5
  468. package/lib/mjs/providers/address/GoogleAddressProvider.d.ts +3 -3
  469. package/lib/mjs/providers/address/GoogleAddressProvider.js +24 -13
  470. package/lib/mjs/providers/processor/fileProcessor.js +3 -1
  471. package/lib/mjs/providers/storage/azure.js +5 -2
  472. package/lib/mjs/providers/storage/dropbox.js +4 -5
  473. package/lib/mjs/providers/storage/googleDrive.js +3 -4
  474. package/lib/mjs/providers/storage/index.js +1 -1
  475. package/lib/mjs/providers/storage/indexeddb.js +16 -6
  476. package/lib/mjs/providers/storage/s3.js +19 -8
  477. package/lib/mjs/providers/storage/uploadAdapter.js +17 -11
  478. package/lib/mjs/providers/storage/url.js +13 -11
  479. package/lib/mjs/providers/storage/xhr.js +17 -9
  480. package/lib/mjs/templates/index.js +1 -1
  481. package/lib/mjs/translations/de.d.ts +80 -0
  482. package/lib/mjs/translations/de.js +79 -0
  483. package/lib/mjs/translations/en.d.ts +0 -2
  484. package/lib/mjs/translations/en.js +7 -9
  485. package/lib/mjs/utils/ChoicesWrapper.js +2 -2
  486. package/lib/mjs/utils/builder.js +31 -7
  487. package/lib/mjs/utils/calendarUtils.js +7 -5
  488. package/lib/mjs/utils/conditionOperators/ConditionOperator.js +1 -1
  489. package/lib/mjs/utils/conditionOperators/DateGreaterThan.js +16 -5
  490. package/lib/mjs/utils/conditionOperators/IsEmptyValue.js +3 -1
  491. package/lib/mjs/utils/conditionOperators/IsEqualTo.js +10 -6
  492. package/lib/mjs/utils/conditionOperators/index.js +1 -1
  493. package/lib/mjs/utils/formUtils.js +2 -2
  494. package/lib/mjs/utils/i18n.js +7 -1
  495. package/lib/mjs/utils/index.d.ts +2 -1
  496. package/lib/mjs/utils/index.js +3 -3
  497. package/lib/mjs/utils/utils.d.ts +10 -1
  498. package/lib/mjs/utils/utils.js +178 -91
  499. package/lib/mjs/widgets/CalendarWidget.js +67 -50
  500. package/lib/mjs/widgets/InputWidget.js +6 -4
  501. package/lib/mjs/widgets/index.js +1 -1
  502. package/package.json +3 -3
  503. package/lib/cjs/pdf.image.d.ts +0 -2
  504. package/lib/cjs/pdf.image.js +0 -94
  505. package/lib/cjs/utils/jsonlogic/operators.d.ts +0 -1
  506. package/lib/cjs/utils/jsonlogic/operators.js +0 -265
  507. package/lib/mjs/pdf.image.d.ts +0 -2
  508. package/lib/mjs/pdf.image.js +0 -94
  509. package/lib/mjs/utils/jsonlogic/operators.d.ts +0 -1
  510. package/lib/mjs/utils/jsonlogic/operators.js +0 -262
@@ -20,7 +20,6 @@ if (typeof window !== 'undefined' && typeof window.global === 'undefined') {
20
20
  }
21
21
  const dragula_1 = __importDefault(require("dragula"));
22
22
  class WebformBuilder extends Component_1.default {
23
- // eslint-disable-next-line max-statements
24
23
  constructor() {
25
24
  let element, options;
26
25
  if (arguments[0] instanceof HTMLElement || arguments[1]) {
@@ -82,17 +81,17 @@ class WebformBuilder extends Component_1.default {
82
81
  }
83
82
  }
84
83
  this.groupOrder = this.groupOrder
85
- .filter(group => group && !group.ignore)
84
+ .filter((group) => group && !group.ignore)
86
85
  .sort((a, b) => a.weight - b.weight);
87
- const defaultOpenedGroup = this.groupOrder.find(x => x.key !== 'basic' && x.default);
86
+ const defaultOpenedGroup = this.groupOrder.find((x) => x.key !== 'basic' && x.default);
88
87
  if (defaultOpenedGroup) {
89
- this.groupOrder.forEach(x => {
88
+ this.groupOrder.forEach((x) => {
90
89
  if ('default' in x && x.key !== defaultOpenedGroup.key) {
91
90
  x.default = false;
92
91
  }
93
92
  });
94
93
  }
95
- this.groupOrder = this.groupOrder.map(group => group.key);
94
+ this.groupOrder = this.groupOrder.map((group) => group.key);
96
95
  for (const type in Components_1.default.components) {
97
96
  const component = Components_1.default.components[type];
98
97
  if (component.builderInfo && component.builderInfo.schema) {
@@ -110,9 +109,7 @@ class WebformBuilder extends Component_1.default {
110
109
  for (const key in info.components) {
111
110
  const compKey = group === 'resource' ? `component-${key}` : key;
112
111
  let comp = info.components[compKey];
113
- if (comp === true &&
114
- Components_1.default.components[key] &&
115
- Components_1.default.components[key].builderInfo) {
112
+ if (comp === true && Components_1.default.components[key] && Components_1.default.components[key].builderInfo) {
116
113
  comp = Components_1.default.components[key].builderInfo;
117
114
  }
118
115
  if (comp && comp.schema) {
@@ -136,7 +133,8 @@ class WebformBuilder extends Component_1.default {
136
133
  // The main webform shouldn't have this class as it adds extra styles.
137
134
  return template;
138
135
  }
139
- if (this.options.disabled && this.options.disabled.includes(self.key) || self.parent.noDragDrop) {
136
+ if ((this.options.disabled && this.options.disabled.includes(self.key)) ||
137
+ self.parent.noDragDrop) {
140
138
  return html;
141
139
  }
142
140
  return this.renderTemplate('builderComponent', {
@@ -145,20 +143,23 @@ class WebformBuilder extends Component_1.default {
145
143
  childComponent: component,
146
144
  design: (_b = self === null || self === void 0 ? void 0 : self.options) === null || _b === void 0 ? void 0 : _b.design,
147
145
  editJson: (_c = self === null || self === void 0 ? void 0 : self.options) === null || _c === void 0 ? void 0 : _c.editJson,
148
- editComponent: this.hasEditTabs(component.type)
146
+ editComponent: this.hasEditTabs(component.type),
149
147
  });
150
148
  };
151
149
  this.options.hooks.renderComponents = (html, { components, self }) => {
152
150
  // if Datagrid and already has a component, don't make it droppable.
153
- if (self.type === 'datagrid' && components.length > 0 || self.noDragDrop) {
151
+ if ((self.type === 'datagrid' && components.length > 0) || self.noDragDrop) {
154
152
  return html;
155
153
  }
156
154
  if (!components ||
157
155
  (!components.length && !components.nodrop) ||
158
- (self.type === 'form' && components.length <= 1 && (components.length === 0 || components[0].type === 'button'))) {
159
- html = this.renderTemplate('builderPlaceholder', {
160
- position: 0
161
- }) + html;
156
+ (self.type === 'form' &&
157
+ components.length <= 1 &&
158
+ (components.length === 0 || components[0].type === 'button'))) {
159
+ html =
160
+ this.renderTemplate('builderPlaceholder', {
161
+ position: 0,
162
+ }) + html;
162
163
  }
163
164
  return this.renderTemplate('builderComponents', {
164
165
  key: self.key,
@@ -195,7 +196,8 @@ class WebformBuilder extends Component_1.default {
195
196
  this.dragula.containers.push(containerElement);
196
197
  }
197
198
  // If this is an existing datagrid element, don't make it draggable.
198
- if ((component.type === 'datagrid' || component.type === 'datamap') && components.length > 0) {
199
+ if ((component.type === 'datagrid' || component.type === 'datamap') &&
200
+ components.length > 0) {
199
201
  return element;
200
202
  }
201
203
  // Since we added a wrapper, need to return the original element so that we can find the components inside it.
@@ -217,19 +219,27 @@ class WebformBuilder extends Component_1.default {
217
219
  params: {
218
220
  type: 'resource',
219
221
  limit: 1000000,
220
- select: '_id,title,name,components'
221
- }
222
+ select: '_id,title,name,components',
223
+ },
222
224
  };
223
225
  if (this.options && this.options.resourceTag) {
224
- query.params.tags = [this.options.resourceTag];
226
+ query.params.tags = [
227
+ this.options.resourceTag,
228
+ ];
225
229
  }
226
230
  else if (!this.options || !this.options.hasOwnProperty('resourceTag')) {
227
- query.params.tags = ['builder'];
231
+ query.params.tags = [
232
+ 'builder',
233
+ ];
228
234
  }
229
235
  const formio = new Formio_1.Formio(Formio_1.Formio.projectUrl);
230
236
  const isResourcesDisabled = this.options.builder && this.options.builder.resource === false;
231
- formio.loadProject().then((project) => {
232
- if (project && (lodash_1.default.get(project, 'settings.addConfigToForms', false) || lodash_1.default.get(project, 'addConfigToForms', false))) {
237
+ formio
238
+ .loadProject()
239
+ .then((project) => {
240
+ if (project &&
241
+ (lodash_1.default.get(project, 'settings.addConfigToForms', false) ||
242
+ lodash_1.default.get(project, 'addConfigToForms', false))) {
233
243
  const config = project.config || {};
234
244
  this.options.formConfig = config;
235
245
  const pathToFormConfig = 'webform._form.config';
@@ -238,13 +248,13 @@ class WebformBuilder extends Component_1.default {
238
248
  lodash_1.default.set(this, pathToFormConfig, config);
239
249
  }
240
250
  }
241
- }).catch((err) => {
251
+ })
252
+ .catch((err) => {
242
253
  console.warn(`Could not load project settings: ${err.message || err}`);
243
254
  });
244
255
  if (!formio.noProject && !isResourcesDisabled && formio.formsUrl) {
245
256
  const resourceOptions = this.options.builder && this.options.builder.resource;
246
- formio.loadForms(query)
247
- .then((resources) => {
257
+ formio.loadForms(query).then((resources) => {
248
258
  if (resources.length) {
249
259
  this.builder.resource = {
250
260
  title: resourceOptions ? resourceOptions.title : 'Existing Resource Fields',
@@ -252,7 +262,7 @@ class WebformBuilder extends Component_1.default {
252
262
  weight: resourceOptions ? resourceOptions.weight : 50,
253
263
  subgroups: [],
254
264
  components: [],
255
- componentOrder: []
265
+ componentOrder: [],
256
266
  };
257
267
  this.groups.resource = {
258
268
  title: resourceOptions ? resourceOptions.title : 'Existing Resource Fields',
@@ -260,7 +270,7 @@ class WebformBuilder extends Component_1.default {
260
270
  weight: resourceOptions ? resourceOptions.weight : 50,
261
271
  subgroups: [],
262
272
  components: [],
263
- componentOrder: []
273
+ componentOrder: [],
264
274
  };
265
275
  if (!this.groupOrder.includes('resource')) {
266
276
  this.groupOrder.push('resource');
@@ -310,7 +320,7 @@ class WebformBuilder extends Component_1.default {
310
320
  group: 'resource',
311
321
  subgroup: resourceKey,
312
322
  }, {
313
- schema: Object.assign(Object.assign({}, component), { label: component.label, key: component.key, lockKey: true, source: (!this.options.noSource ? resource._id : undefined), isNew: true })
323
+ schema: Object.assign(Object.assign({}, component), { label: component.label, key: component.key, lockKey: true, source: !this.options.noSource ? resource._id : undefined, isNew: true }),
314
324
  });
315
325
  }, true);
316
326
  this.groups.resource.subgroups.push(subgroup);
@@ -322,9 +332,12 @@ class WebformBuilder extends Component_1.default {
322
332
  allowHTML: true,
323
333
  trigger: 'mouseenter focus',
324
334
  placement: 'top',
325
- delay: [200, 0],
335
+ delay: [
336
+ 200,
337
+ 0,
338
+ ],
326
339
  zIndex: 10000,
327
- content: title
340
+ content: title,
328
341
  });
329
342
  }
330
343
  attachComponent(element, component) {
@@ -339,7 +352,7 @@ class WebformBuilder extends Component_1.default {
339
352
  moveComponent: 'single',
340
353
  copyComponent: 'single',
341
354
  pasteComponent: 'single',
342
- editJson: 'single'
355
+ editJson: 'single',
343
356
  });
344
357
  if (component.refs.copyComponent) {
345
358
  this.attachTooltip(component.refs.copyComponent, this.t('Copy'));
@@ -363,7 +376,9 @@ class WebformBuilder extends Component_1.default {
363
376
  const parent = this.getParentElement(element);
364
377
  if (component.refs.editComponent) {
365
378
  this.attachTooltip(component.refs.editComponent, this.t('Edit'));
366
- component.addEventListener(component.refs.editComponent, 'click', () => this.editComponent(component.schema, parent, false, false, component.component, { inDataGrid: component.isInDataGrid }));
379
+ component.addEventListener(component.refs.editComponent, 'click', () => this.editComponent(component.schema, parent, false, false, component.component, {
380
+ inDataGrid: component.isInDataGrid,
381
+ }));
367
382
  }
368
383
  if (component.refs.editJson) {
369
384
  this.attachTooltip(component.refs.editJson, this.t('Edit JSON'));
@@ -379,7 +394,7 @@ class WebformBuilder extends Component_1.default {
379
394
  this.webform = new Webform_1.default(this.element, options);
380
395
  if (this.element) {
381
396
  this.loadRefs(this.element, {
382
- form: 'single'
397
+ form: 'single',
383
398
  });
384
399
  if (this.refs.form) {
385
400
  this.webform.element = this.refs.form;
@@ -403,20 +418,20 @@ class WebformBuilder extends Component_1.default {
403
418
  },
404
419
  advanced: {
405
420
  title: 'Advanced',
406
- weight: 10
421
+ weight: 10,
407
422
  },
408
423
  layout: {
409
424
  title: 'Layout',
410
- weight: 20
425
+ weight: 20,
411
426
  },
412
427
  data: {
413
428
  title: 'Data',
414
- weight: 30
429
+ weight: 30,
415
430
  },
416
431
  premium: {
417
432
  title: 'Premium',
418
- weight: 40
419
- }
433
+ weight: 40,
434
+ },
420
435
  };
421
436
  }
422
437
  redraw() {
@@ -453,7 +468,10 @@ class WebformBuilder extends Component_1.default {
453
468
  const componentSchema = component.component;
454
469
  // If the current component is the namespace, we don't need to find it again.
455
470
  if (namespaceKey === component.key) {
456
- return [...componentSchema.components, componentSchema];
471
+ return [
472
+ ...componentSchema.components,
473
+ componentSchema,
474
+ ];
457
475
  }
458
476
  // Get the namespace component so we have the original object.
459
477
  const namespaceComponent = (0, utils_1.getComponent)(this.form.components, namespaceKey, true);
@@ -465,7 +483,16 @@ class WebformBuilder extends Component_1.default {
465
483
  return null;
466
484
  }
467
485
  // Some components are their own namespace.
468
- if (['address', 'container', 'datagrid', 'editgrid', 'dynamicWizard', 'tree'].includes(component.type) || component.tree || component.arrayTree) {
486
+ if ([
487
+ 'address',
488
+ 'container',
489
+ 'datagrid',
490
+ 'editgrid',
491
+ 'dynamicWizard',
492
+ 'tree',
493
+ ].includes(component.type) ||
494
+ component.tree ||
495
+ component.arrayTree) {
469
496
  return component.key;
470
497
  }
471
498
  // Anything else, keep going up.
@@ -485,7 +512,7 @@ class WebformBuilder extends Component_1.default {
485
512
  group,
486
513
  groupKey: group.key,
487
514
  groupId: `group-container-${groupKey}`,
488
- subgroups: []
515
+ subgroups: [],
489
516
  })),
490
517
  keyboardActionsEnabled: this.keyboardActionsEnabled,
491
518
  })),
@@ -504,7 +531,7 @@ class WebformBuilder extends Component_1.default {
504
531
  sidebar: 'single',
505
532
  'sidebar-search': 'single',
506
533
  'sidebar-groups': 'single',
507
- 'container': 'multiple',
534
+ container: 'multiple',
508
535
  'sidebar-anchor': 'multiple',
509
536
  'sidebar-group': 'multiple',
510
537
  'sidebar-container': 'multiple',
@@ -530,11 +557,15 @@ class WebformBuilder extends Component_1.default {
530
557
  };
531
558
  const hideShow = (group, forceShow, toggle = false) => {
532
559
  if (forceShow || (toggle && !Array.from(group.classList).includes('show'))) {
533
- group.classList.add(['show']);
560
+ group.classList.add([
561
+ 'show',
562
+ ]);
534
563
  group.style.display = 'inherit';
535
564
  }
536
565
  else {
537
- group.classList.remove(['show']);
566
+ group.classList.remove([
567
+ 'show',
568
+ ]);
538
569
  group.style.display = 'none';
539
570
  }
540
571
  };
@@ -551,7 +582,9 @@ class WebformBuilder extends Component_1.default {
551
582
  const openByDefault = getAttribute(group, 'default') === 'true';
552
583
  const groupId = group.getAttribute('id').slice('group-'.length);
553
584
  const groupParent = getAttribute(group, 'parent').slice('#builder-sidebar-'.length);
554
- if (((openByDefault && groupParent === clickedId) || groupId === clickedParentId || groupIndex === index)) {
585
+ if ((openByDefault && groupParent === clickedId) ||
586
+ groupId === clickedParentId ||
587
+ groupIndex === index) {
555
588
  hideShow(group, false, true);
556
589
  }
557
590
  });
@@ -576,13 +609,15 @@ class WebformBuilder extends Component_1.default {
576
609
  }
577
610
  const drake = this.dragula;
578
611
  if (this.refs.form) {
579
- (0, dom_autoscroller_1.default)([window], {
612
+ (0, dom_autoscroller_1.default)([
613
+ window,
614
+ ], {
580
615
  margin: 20,
581
616
  maxSpeed: 6,
582
617
  scrollWhenOutside: true,
583
618
  autoScroll: function () {
584
619
  return this.down && (drake === null || drake === void 0 ? void 0 : drake.dragging);
585
- }
620
+ },
586
621
  });
587
622
  return this.webform.attach(this.refs.form);
588
623
  }
@@ -617,30 +652,29 @@ class WebformBuilder extends Component_1.default {
617
652
  };
618
653
  const filterGroupOrder = (groupOrder, searchValue) => {
619
654
  const result = lodash_1.default.cloneDeep(groupOrder);
620
- return result.filter(key => filterGroupBy(this.groups[key], searchValue));
655
+ return result.filter((key) => filterGroupBy(this.groups[key], searchValue));
621
656
  };
622
657
  const filterSubgroups = (groups, searchValue) => {
623
658
  const result = lodash_1.default.clone(groups);
624
659
  return result
625
- .map(subgroup => filterGroupBy(subgroup, searchValue))
626
- .filter(subgroup => !lodash_1.default.isNull(subgroup));
660
+ .map((subgroup) => filterGroupBy(subgroup, searchValue))
661
+ .filter((subgroup) => !lodash_1.default.isNull(subgroup));
627
662
  };
628
- const toTemplate = groupKey => {
663
+ const toTemplate = (groupKey) => {
629
664
  return {
630
665
  group: filterGroupBy(this.groups[groupKey], searchValue),
631
666
  groupKey,
632
667
  groupId: sidebar.id || sidebarGroups.id,
633
- subgroups: filterSubgroups(this.groups[groupKey].subgroups, searchValue)
634
- .map((group) => this.renderTemplate('builderSidebarGroup', {
668
+ subgroups: filterSubgroups(this.groups[groupKey].subgroups, searchValue).map((group) => this.renderTemplate('builderSidebarGroup', {
635
669
  group,
636
670
  groupKey: group.key,
637
671
  groupId: `group-container-${groupKey}`,
638
- subgroups: []
672
+ subgroups: [],
639
673
  })),
640
674
  };
641
675
  };
642
676
  sidebarGroups.innerHTML = filterGroupOrder(this.groupOrder, searchValue)
643
- .map(groupKey => this.renderTemplate('builderSidebarGroup', toTemplate(groupKey)))
677
+ .map((groupKey) => this.renderTemplate('builderSidebarGroup', toTemplate(groupKey)))
644
678
  .join('');
645
679
  this.loadRefs(this.element, {
646
680
  'sidebar-groups': 'single',
@@ -658,10 +692,10 @@ class WebformBuilder extends Component_1.default {
658
692
  const isResource = groupInfo.key.indexOf('resource-') === 0;
659
693
  if (components) {
660
694
  groupInfo.componentOrder = Object.keys(components)
661
- .map(key => components[key])
662
- .filter(component => component && !component.ignore && !component.ignoreForForm)
695
+ .map((key) => components[key])
696
+ .filter((component) => component && !component.ignore && !component.ignoreForForm)
663
697
  .sort((a, b) => a.weight - b.weight)
664
- .map(component => isResource ? `component-${component.key}` : component.key);
698
+ .map((component) => (isResource ? `component-${component.key}` : component.key));
665
699
  }
666
700
  }
667
701
  updateDragAndDrop() {
@@ -677,7 +711,9 @@ class WebformBuilder extends Component_1.default {
677
711
  if (this.dragula) {
678
712
  this.dragula.destroy();
679
713
  }
680
- const containersArray = Array.prototype.slice.call(this.refs['sidebar-container']).filter(item => {
714
+ const containersArray = Array.prototype.slice
715
+ .call(this.refs['sidebar-container'])
716
+ .filter((item) => {
681
717
  return item.id !== 'group-container-resource';
682
718
  });
683
719
  if (!dragula_1.default) {
@@ -686,8 +722,8 @@ class WebformBuilder extends Component_1.default {
686
722
  this.dragula = (0, dragula_1.default)(containersArray, {
687
723
  moves(el) {
688
724
  let moves = true;
689
- const list = Array.from(el.classList).filter(item => item.indexOf('formio-component-') === 0);
690
- list.forEach(item => {
725
+ const list = Array.from(el.classList).filter((item) => item.indexOf('formio-component-') === 0);
726
+ list.forEach((item) => {
691
727
  const key = item.slice('formio-component-'.length);
692
728
  if (options.disabled && options.disabled.includes(key)) {
693
729
  moves = false;
@@ -703,7 +739,7 @@ class WebformBuilder extends Component_1.default {
703
739
  },
704
740
  accepts(el, target) {
705
741
  return !el.contains(target) && !target.classList.contains('no-drop');
706
- }
742
+ },
707
743
  }).on('drop', (element, target, source, sibling) => this.onDrop(element, target, source, sibling));
708
744
  }
709
745
  detach() {
@@ -737,7 +773,8 @@ class WebformBuilder extends Component_1.default {
737
773
  info = (0, utils_1.fastCloneDeep)(groupComponents[key].schema);
738
774
  }
739
775
  }
740
- else if (group === 'searchFields') { //Search components go into this group
776
+ else if (group === 'searchFields') {
777
+ //Search components go into this group
741
778
  const resourceGroups = this.groups.resource.subgroups;
742
779
  for (let ix = 0; ix < resourceGroups.length; ix++) {
743
780
  const resourceGroup = resourceGroups[ix];
@@ -765,22 +802,21 @@ class WebformBuilder extends Component_1.default {
765
802
  let tabIndex = 0;
766
803
  switch (parent.type) {
767
804
  case 'table':
768
- tableRowIndex = lodash_1.default.findIndex(parent.rows, row => row.some(column => column.components.some(comp => comp.key === component.key)));
769
- tableColumnIndex = lodash_1.default.findIndex(parent.rows[tableRowIndex], (column => column.components.some(comp => comp.key === component.key)));
805
+ tableRowIndex = lodash_1.default.findIndex(parent.rows, (row) => row.some((column) => column.components.some((comp) => comp.key === component.key)));
806
+ tableColumnIndex = lodash_1.default.findIndex(parent.rows[tableRowIndex], (column) => column.components.some((comp) => comp.key === component.key));
770
807
  path = `rows[${tableRowIndex}][${tableColumnIndex}].components`;
771
808
  break;
772
809
  case 'columns':
773
- columnIndex = lodash_1.default.findIndex(parent.columns, column => column.components.some(comp => comp.key === component.key));
810
+ columnIndex = lodash_1.default.findIndex(parent.columns, (column) => column.components.some((comp) => comp.key === component.key));
774
811
  path = `columns[${columnIndex}].components`;
775
812
  break;
776
813
  case 'tabs':
777
- tabIndex = lodash_1.default.findIndex(parent.components, tab => tab.components.some(comp => comp.key === component.key));
814
+ tabIndex = lodash_1.default.findIndex(parent.components, (tab) => tab.components.some((comp) => comp.key === component.key));
778
815
  path = `components[${tabIndex}].components`;
779
816
  break;
780
817
  }
781
818
  return path;
782
819
  }
783
- /* eslint-disable max-statements */
784
820
  onDrop(element, target, source, sibling) {
785
821
  var _a;
786
822
  if (!target) {
@@ -816,7 +852,7 @@ class WebformBuilder extends Component_1.default {
816
852
  return;
817
853
  }
818
854
  // Show an error if siblings are disabled for a component and such a component already exists.
819
- const compKey = (group === 'resource') ? `component-${key}` : key;
855
+ const compKey = group === 'resource' ? `component-${key}` : key;
820
856
  const draggableComponent = ((_a = this.groups[group]) === null || _a === void 0 ? void 0 : _a.components[compKey]) || {};
821
857
  if (draggableComponent.disableSiblings) {
822
858
  let isCompAlreadyExists = false;
@@ -855,8 +891,10 @@ class WebformBuilder extends Component_1.default {
855
891
  if (target.formioContainer) {
856
892
  if (sibling) {
857
893
  if (!sibling.getAttribute('data-noattach')) {
858
- index = lodash_1.default.findIndex(target.formioContainer, { key: lodash_1.default.get(sibling, 'formioComponent.component.key') });
859
- index = (index === -1) ? 0 : index;
894
+ index = lodash_1.default.findIndex(target.formioContainer, {
895
+ key: lodash_1.default.get(sibling, 'formioComponent.component.key'),
896
+ });
897
+ index = index === -1 ? 0 : index;
860
898
  }
861
899
  else {
862
900
  index = sibling.getAttribute('data-position');
@@ -878,11 +916,11 @@ class WebformBuilder extends Component_1.default {
878
916
  parent.addChildComponent(info, element, target, source, sibling);
879
917
  }
880
918
  const componentInDataGrid = parent.type === 'datagrid';
881
- if (isNew
882
- && !this.options.noNewEdit
883
- && !info.noNewEdit
884
- && this.hasEditTabs(info.type)
885
- && !(this.options.design && info.type === 'reviewpage')) {
919
+ if (isNew &&
920
+ !this.options.noNewEdit &&
921
+ !info.noNewEdit &&
922
+ this.hasEditTabs(info.type) &&
923
+ !(this.options.design && info.type === 'reviewpage')) {
886
924
  this.editComponent(info, target, isNew, null, null, { inDataGrid: componentInDataGrid });
887
925
  }
888
926
  // Only rebuild the parts needing to be rebuilt.
@@ -946,12 +984,12 @@ class WebformBuilder extends Component_1.default {
946
984
  block: false,
947
985
  action: 'submit',
948
986
  disableOnInvalid: true,
949
- theme: 'primary'
987
+ theme: 'primary',
950
988
  });
951
989
  }
952
990
  if (this.webform) {
953
991
  const shouldRebuild = !this.webform.form.components ||
954
- (form.components.length !== this.webform.form.components.length);
992
+ form.components.length !== this.webform.form.components.length;
955
993
  return this.webform.setForm(form, { keepAsReference: true }).then(() => {
956
994
  if (this.refs.form) {
957
995
  this.builderHeight = this.refs.form.offsetHeight;
@@ -968,7 +1006,7 @@ class WebformBuilder extends Component_1.default {
968
1006
  //populate isEnabled for captcha form settings
969
1007
  let isCaptchaEnabled = false;
970
1008
  if (this.form.components) {
971
- (0, utils_1.eachComponent)(form.components, component => {
1009
+ (0, utils_1.eachComponent)(form.components, (component) => {
972
1010
  if (isCaptchaEnabled) {
973
1011
  return;
974
1012
  }
@@ -995,7 +1033,8 @@ class WebformBuilder extends Component_1.default {
995
1033
  (Array.isArray(component.rows) && component.rows.length) ||
996
1034
  (Array.isArray(component.columns) && component.columns.length));
997
1035
  if (this.options.alwaysConfirmComponentRemoval || removingComponentsGroup) {
998
- const message = removingComponentsGroup ? 'Removing this component will also remove all of its children. Are you sure you want to do this?'
1036
+ const message = removingComponentsGroup
1037
+ ? 'Removing this component will also remove all of its children. Are you sure you want to do this?'
999
1038
  : 'Are you sure you want to remove this component?';
1000
1039
  remove = window.confirm(this.t(message));
1001
1040
  }
@@ -1014,7 +1053,7 @@ class WebformBuilder extends Component_1.default {
1014
1053
  if (component.input && componentInstance && parent.formioComponent) {
1015
1054
  const parentDefaultValue = lodash_1.default.get(parent.formioComponent, 'component.defaultValue', null);
1016
1055
  if (Array.isArray(parentDefaultValue)) {
1017
- parentDefaultValue.forEach(v => lodash_1.default.unset(v, componentInstance.key));
1056
+ parentDefaultValue.forEach((v) => lodash_1.default.unset(v, componentInstance.key));
1018
1057
  }
1019
1058
  else if (typeof parentDefaultValue === 'object') {
1020
1059
  lodash_1.default.unset(parentDefaultValue, componentInstance.key);
@@ -1039,23 +1078,29 @@ class WebformBuilder extends Component_1.default {
1039
1078
  }
1040
1079
  }
1041
1080
  updateComponent(component, changed) {
1042
- const sanitizeConfig = lodash_1.default.get(this.webform, 'form.settings.sanitizeConfig') || lodash_1.default.get(this.webform, 'form.globalSettings.sanitizeConfig');
1081
+ const sanitizeConfig = lodash_1.default.get(this.webform, 'form.settings.sanitizeConfig') ||
1082
+ lodash_1.default.get(this.webform, 'form.globalSettings.sanitizeConfig');
1043
1083
  // Update the preview.
1044
1084
  if (this.preview) {
1045
1085
  this.preview.form = {
1046
- components: [lodash_1.default.omit(Object.assign({}, component), [
1086
+ components: [
1087
+ lodash_1.default.omit(Object.assign({}, component), [
1047
1088
  'hidden',
1048
1089
  'conditional',
1049
1090
  'calculateValue',
1050
1091
  'logic',
1051
1092
  'autofocus',
1052
1093
  'customConditional',
1053
- ])],
1094
+ ]),
1095
+ ],
1054
1096
  config: this.options.formConfig || {},
1055
1097
  sanitizeConfig,
1056
1098
  };
1057
- const fieldsToRemoveDoubleQuotes = ['label', 'tooltip'];
1058
- this.preview.form.components.forEach(component => this.replaceDoubleQuotes(component, fieldsToRemoveDoubleQuotes));
1099
+ const fieldsToRemoveDoubleQuotes = [
1100
+ 'label',
1101
+ 'tooltip',
1102
+ ];
1103
+ this.preview.form.components.forEach((component) => this.replaceDoubleQuotes(component, fieldsToRemoveDoubleQuotes));
1059
1104
  const previewElement = this.componentEdit.querySelector(`[${this._referenceAttributeName}="preview"]`);
1060
1105
  if (previewElement) {
1061
1106
  this.setContent(previewElement, this.preview.render(), null, sanitizeConfig);
@@ -1065,8 +1110,11 @@ class WebformBuilder extends Component_1.default {
1065
1110
  // Change the "default value" field to be reflective of this component.
1066
1111
  const defaultValueComponent = (0, utils_1.getComponent)(this.editForm.components, 'defaultValue', true);
1067
1112
  if (defaultValueComponent && component.type !== 'hidden') {
1068
- const defaultChanged = changed && ((changed.component && changed.component.key === 'defaultValue')
1069
- || (changed.instance && defaultValueComponent.hasComponent && defaultValueComponent.hasComponent(changed.instance)));
1113
+ const defaultChanged = changed &&
1114
+ ((changed.component && changed.component.key === 'defaultValue') ||
1115
+ (changed.instance &&
1116
+ defaultValueComponent.hasComponent &&
1117
+ defaultValueComponent.hasComponent(changed.instance)));
1070
1118
  if (!defaultChanged) {
1071
1119
  lodash_1.default.assign(defaultValueComponent.component, lodash_1.default.omit(Object.assign({}, component), [
1072
1120
  'key',
@@ -1095,12 +1143,12 @@ class WebformBuilder extends Component_1.default {
1095
1143
  if (!this.originalDefaultValue) {
1096
1144
  this.originalDefaultValue = (0, utils_1.fastCloneDeep)(defaultValueComponent.component);
1097
1145
  }
1098
- (0, utils_1.eachComponent)(defaultValueComponent.component.components, (comp => {
1146
+ (0, utils_1.eachComponent)(defaultValueComponent.component.components, (comp) => {
1099
1147
  var _a;
1100
1148
  if ((_a = comp.validate) === null || _a === void 0 ? void 0 : _a.required) {
1101
1149
  comp.validate.required = false;
1102
1150
  }
1103
- }));
1151
+ });
1104
1152
  }
1105
1153
  const parentComponent = defaultValueComponent.parent;
1106
1154
  let tabIndex = -1;
@@ -1156,9 +1204,15 @@ class WebformBuilder extends Component_1.default {
1156
1204
  const isLayout = (0, utils_1.componentInfo)(comp).layout;
1157
1205
  if (!isLayout) {
1158
1206
  if (keys.has(paths.dataPath)) {
1159
- const onlyRadioCheckboxes = ((_a = repeatablePaths[paths.dataPath]) === null || _a === void 0 ? void 0 : _a.onlyRadioCheckboxes) === false ? false : isRadioCheckbox;
1207
+ const onlyRadioCheckboxes = ((_a = repeatablePaths[paths.dataPath]) === null || _a === void 0 ? void 0 : _a.onlyRadioCheckboxes) === false
1208
+ ? false
1209
+ : isRadioCheckbox;
1160
1210
  repeatablePaths[paths.dataPath] = {
1161
- comps: [...(((_b = repeatablePaths[paths.dataPath]) === null || _b === void 0 ? void 0 : _b.comps) || []), keys.get(paths.dataPath), comp],
1211
+ comps: [
1212
+ ...(((_b = repeatablePaths[paths.dataPath]) === null || _b === void 0 ? void 0 : _b.comps) || []),
1213
+ keys.get(paths.dataPath),
1214
+ comp,
1215
+ ],
1162
1216
  onlyRadioCheckboxes,
1163
1217
  };
1164
1218
  }
@@ -1203,7 +1257,9 @@ class WebformBuilder extends Component_1.default {
1203
1257
  const parentContainer = parent ? parent.formioContainer : this.container;
1204
1258
  const parentComponent = parent ? parent.formioComponent : this;
1205
1259
  this.dialog.close();
1206
- const path = parentContainer ? this.getComponentsPath(component, parentComponent.component) : '';
1260
+ const path = parentContainer
1261
+ ? this.getComponentsPath(component, parentComponent.component)
1262
+ : '';
1207
1263
  if (!original) {
1208
1264
  original = parent.formioContainer.find((comp) => comp.id === component.id);
1209
1265
  }
@@ -1215,7 +1271,10 @@ class WebformBuilder extends Component_1.default {
1215
1271
  submissionData.components = this.originalDefaultValue.components;
1216
1272
  this.originalDefaultValue = null;
1217
1273
  }
1218
- const fieldsToRemoveDoubleQuotes = ['label', 'tooltip'];
1274
+ const fieldsToRemoveDoubleQuotes = [
1275
+ 'label',
1276
+ 'tooltip',
1277
+ ];
1219
1278
  this.replaceDoubleQuotes(submissionData, fieldsToRemoveDoubleQuotes);
1220
1279
  this.hook('beforeSaveComponentSettings', submissionData);
1221
1280
  let comp = null;
@@ -1239,7 +1298,7 @@ class WebformBuilder extends Component_1.default {
1239
1298
  const rebuild = parentComponent.rebuild() || Promise.resolve();
1240
1299
  return rebuild.then(() => {
1241
1300
  parentComponent.resetValue();
1242
- const schema = parentContainer ? parentContainer[index] : (comp ? comp.schema : []);
1301
+ const schema = parentContainer ? parentContainer[index] : comp ? comp.schema : [];
1243
1302
  this.emitSaveComponentEvent(schema, originalComp, parentComponent.schema, path, index, isNew, originalComponentSchema);
1244
1303
  this.emit('change', this.form);
1245
1304
  this.highlightInvalidComponents();
@@ -1284,7 +1343,7 @@ class WebformBuilder extends Component_1.default {
1284
1343
  this.editForm.addEventListener(saveButton, 'click', (event) => {
1285
1344
  event.preventDefault();
1286
1345
  const errors = this.editForm.validate(this.editForm.data, {
1287
- dirty: true
1346
+ dirty: true,
1288
1347
  });
1289
1348
  if (errors.length) {
1290
1349
  this.editForm.setPristine(false);
@@ -1344,62 +1403,74 @@ class WebformBuilder extends Component_1.default {
1344
1403
  editFormOptions.editComponent = component;
1345
1404
  editFormOptions.flags = flags;
1346
1405
  this.hook('editComponentParentInstance', editFormOptions, parent);
1347
- this.editForm = new Webform_1.default(Object.assign(Object.assign(Object.assign(Object.assign({}, lodash_1.default.omit(this.options, ['hooks', 'builder', 'events', 'attachMode', 'skipInit'])), { language: this.options.language }), editFormOptions), { evalContext: Object.assign(Object.assign({}, ((editFormOptions === null || editFormOptions === void 0 ? void 0 : editFormOptions.evalContext) || ((_a = this.options) === null || _a === void 0 ? void 0 : _a.evalContext) || {})), { buildingForm: this.form }) }));
1406
+ this.editForm = new Webform_1.default(Object.assign(Object.assign(Object.assign(Object.assign({}, lodash_1.default.omit(this.options, [
1407
+ 'hooks',
1408
+ 'builder',
1409
+ 'events',
1410
+ 'attachMode',
1411
+ 'skipInit',
1412
+ ])), { language: this.options.language }), editFormOptions), { evalContext: Object.assign(Object.assign({}, ((editFormOptions === null || editFormOptions === void 0 ? void 0 : editFormOptions.evalContext) || ((_a = this.options) === null || _a === void 0 ? void 0 : _a.evalContext) || {})), { buildingForm: this.form }) }));
1348
1413
  this.hook('editFormProperties', parent);
1349
- this.editForm.form = (isJsonEdit && !isCustom) ? {
1350
- components: [
1351
- {
1352
- type: 'textarea',
1353
- as: 'json',
1354
- editor: 'ace',
1355
- weight: 10,
1356
- input: true,
1357
- key: 'componentJson',
1358
- label: 'Component JSON',
1359
- tooltip: 'Edit the JSON for this component.'
1360
- },
1361
- {
1362
- type: 'checkbox',
1363
- key: 'showFullSchema',
1364
- label: 'Full Schema'
1414
+ this.editForm.form =
1415
+ isJsonEdit && !isCustom
1416
+ ? {
1417
+ components: [
1418
+ {
1419
+ type: 'textarea',
1420
+ as: 'json',
1421
+ editor: 'ace',
1422
+ weight: 10,
1423
+ input: true,
1424
+ key: 'componentJson',
1425
+ label: 'Component JSON',
1426
+ tooltip: 'Edit the JSON for this component.',
1427
+ },
1428
+ {
1429
+ type: 'checkbox',
1430
+ key: 'showFullSchema',
1431
+ label: 'Full Schema',
1432
+ },
1433
+ ],
1365
1434
  }
1366
- ]
1367
- } : ComponentClass.editForm(lodash_1.default.cloneDeep(overrides));
1435
+ : ComponentClass.editForm(lodash_1.default.cloneDeep(overrides));
1368
1436
  const instanceOptions = {
1369
1437
  inFormBuilder: true,
1370
1438
  };
1371
1439
  this.hook('instanceOptionsPreview', instanceOptions);
1372
1440
  const instance = new ComponentClass(componentCopy, instanceOptions);
1373
1441
  const schema = this.hook('builderComponentSchema', component, instance);
1374
- this.editForm.submission = isJsonEdit ? {
1375
- data: {
1376
- componentJson: schema,
1377
- showFullSchema: this.options.showFullJsonSchema
1378
- },
1379
- } : {
1380
- data: instance.component,
1381
- };
1442
+ this.editForm.submission = isJsonEdit
1443
+ ? {
1444
+ data: {
1445
+ componentJson: schema,
1446
+ showFullSchema: this.options.showFullJsonSchema,
1447
+ },
1448
+ }
1449
+ : {
1450
+ data: instance.component,
1451
+ };
1382
1452
  if (this.preview) {
1383
1453
  this.preview.destroy();
1384
1454
  }
1385
- if (!ComponentClass.builderInfo.hasOwnProperty('preview') || ComponentClass.builderInfo.preview) {
1455
+ if (!ComponentClass.builderInfo.hasOwnProperty('preview') ||
1456
+ ComponentClass.builderInfo.preview) {
1386
1457
  this.preview = new Webform_1.default(lodash_1.default.omit(Object.assign(Object.assign({}, this.options), { preview: true }), [
1387
1458
  'hooks',
1388
1459
  'builder',
1389
1460
  'events',
1390
1461
  'attachMode',
1391
- 'calculateValue'
1462
+ 'calculateValue',
1392
1463
  ]));
1393
1464
  this.hook('previewFormSettitngs', schema, isJsonEdit);
1394
1465
  }
1395
1466
  this.showPreview = (_b = ComponentClass.builderInfo.showPreview) !== null && _b !== void 0 ? _b : true;
1396
- this.componentEdit = this.ce('div', { 'class': 'component-edit-container' });
1467
+ this.componentEdit = this.ce('div', { class: 'component-edit-container' });
1397
1468
  this.setContent(this.componentEdit, this.renderTemplate('builderEditForm', {
1398
1469
  componentInfo: ComponentClass.builderInfo,
1399
1470
  editForm: this.editForm.render(),
1400
1471
  preview: this.preview ? this.preview.render() : false,
1401
1472
  showPreview: this.showPreview,
1402
- helplinks: this.helplinks
1473
+ helplinks: this.helplinks,
1403
1474
  }));
1404
1475
  this.dialog = this.createModal(this.componentEdit, lodash_1.default.get(this.options, 'dialogAttr', {}));
1405
1476
  // This is the attach step.
@@ -1413,27 +1484,33 @@ class WebformBuilder extends Component_1.default {
1413
1484
  this.editForm.submission = {
1414
1485
  data: {
1415
1486
  componentJson: value ? instance.component : component,
1416
- showFullSchema: value
1487
+ showFullSchema: value,
1417
1488
  },
1418
1489
  };
1419
1490
  return;
1420
1491
  }
1421
1492
  // See if this is a manually modified key. Treat custom component keys as manually modified
1422
- if ((event.changed.component && (event.changed.component.key === 'key')) || isJsonEdit) {
1493
+ if ((event.changed.component && event.changed.component.key === 'key') || isJsonEdit) {
1423
1494
  componentCopy.keyModified = true;
1424
1495
  }
1425
1496
  let isComponentLabelChanged = false;
1426
1497
  if (event.changed.instance) {
1427
- isComponentLabelChanged = ['label', 'title'].includes(event.changed.instance.path);
1498
+ isComponentLabelChanged = [
1499
+ 'label',
1500
+ 'title',
1501
+ ].includes(event.changed.instance.path);
1428
1502
  }
1429
1503
  else if (event.changed.component) {
1430
- isComponentLabelChanged = ['label', 'title'].includes(event.changed.component.key);
1504
+ isComponentLabelChanged = [
1505
+ 'label',
1506
+ 'title',
1507
+ ].includes(event.changed.component.key);
1431
1508
  }
1432
1509
  if (isComponentLabelChanged) {
1433
1510
  // Ensure this component has a key.
1434
1511
  if (isNew) {
1435
1512
  if (!event.data.keyModified) {
1436
- this.editForm.everyComponent(component => {
1513
+ this.editForm.everyComponent((component) => {
1437
1514
  if (component.key === 'key' && component.parent.component.key === 'tabs') {
1438
1515
  component.setValue(this.updateComponentKey(event.data));
1439
1516
  return false;
@@ -1443,7 +1520,7 @@ class WebformBuilder extends Component_1.default {
1443
1520
  if (this.form) {
1444
1521
  let formComponents = this.findNamespaceRoot(parent.formioComponent);
1445
1522
  // excluding component which key uniqueness is to be checked to prevent the comparing of the same keys
1446
- formComponents = formComponents.filter(comp => editFormOptions.editComponent.id !== comp.id);
1523
+ formComponents = formComponents.filter((comp) => editFormOptions.editComponent.id !== comp.id);
1447
1524
  // Set a unique key for this component.
1448
1525
  builder_1.default.uniquify(formComponents, event.data);
1449
1526
  }
@@ -1452,7 +1529,9 @@ class WebformBuilder extends Component_1.default {
1452
1529
  // If the edit form has any nested form inside, we get a partial data (nested form's data) in the
1453
1530
  // event.data property
1454
1531
  let editFormData;
1455
- if (event.changed.instance && event.changed.instance.root && event.changed.instance.root.id !== this.editForm.id) {
1532
+ if (event.changed.instance &&
1533
+ event.changed.instance.root &&
1534
+ event.changed.instance.root.id !== this.editForm.id) {
1456
1535
  editFormData = this.editForm.data;
1457
1536
  }
1458
1537
  // Update the component.
@@ -1479,10 +1558,7 @@ class WebformBuilder extends Component_1.default {
1479
1558
  this.emit('editComponent', component);
1480
1559
  }
1481
1560
  updateComponentKey(data) {
1482
- return lodash_1.default.camelCase(data.title ||
1483
- data.label ||
1484
- data.placeholder ||
1485
- data.type).replace(/^[0-9]*/, '');
1561
+ return lodash_1.default.camelCase(data.title || data.label || data.placeholder || data.type).replace(/^[0-9]*/, '');
1486
1562
  }
1487
1563
  moveComponent(component) {
1488
1564
  var _a;
@@ -1517,7 +1593,7 @@ class WebformBuilder extends Component_1.default {
1517
1593
  }
1518
1594
  }
1519
1595
  const len = source.formioComponent.components.length;
1520
- index = (index === -1) ? 0 : index + step;
1596
+ index = index === -1 ? 0 : index + step;
1521
1597
  if (index === -1) {
1522
1598
  source.formioContainer.push(info);
1523
1599
  source.appendChild(element);
@@ -1610,7 +1686,7 @@ class WebformBuilder extends Component_1.default {
1610
1686
  parent.formioComponent.saveChildComponent(schema, false);
1611
1687
  }
1612
1688
  parent.formioComponent.rebuild();
1613
- this.emitSaveComponentEvent(schema, schema, parent.formioComponent.component, path, (index + 1), true, schema);
1689
+ this.emitSaveComponentEvent(schema, schema, parent.formioComponent.component, path, index + 1, true, schema);
1614
1690
  }
1615
1691
  this.emit('change', this.form);
1616
1692
  }
@@ -1671,10 +1747,7 @@ class WebformBuilder extends Component_1.default {
1671
1747
  }
1672
1748
  }
1673
1749
  generateKey(info) {
1674
- return info.key || lodash_1.default.camelCase(info.title ||
1675
- info.label ||
1676
- info.placeholder ||
1677
- info.type);
1750
+ return info.key || lodash_1.default.camelCase(info.title || info.label || info.placeholder || info.type);
1678
1751
  }
1679
1752
  hasEditTabs(type) {
1680
1753
  // If the component type does not exist then it has no edit tabs