@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.
- package/dist/formio.builder.css +161 -50
- package/dist/formio.builder.min.css +1 -1
- package/dist/formio.embed.js +1 -1
- package/dist/formio.embed.min.js +1 -1
- package/dist/formio.embed.min.js.LICENSE.txt +1 -1
- package/dist/formio.form.css +158 -49
- package/dist/formio.form.js +152 -108
- package/dist/formio.form.min.css +1 -1
- package/dist/formio.form.min.js +1 -1
- package/dist/formio.form.min.js.LICENSE.txt +1 -1
- package/dist/formio.full.css +161 -50
- package/dist/formio.full.js +401 -227
- package/dist/formio.full.min.css +1 -1
- package/dist/formio.full.min.js +1 -1
- package/dist/formio.full.min.js.LICENSE.txt +1 -1
- package/dist/formio.js +51 -18
- package/dist/formio.min.js +1 -1
- package/dist/formio.min.js.LICENSE.txt +1 -1
- package/dist/formio.utils.js +47 -14
- package/dist/formio.utils.min.js +1 -1
- package/dist/formio.utils.min.js.LICENSE.txt +1 -1
- package/lib/cjs/CDN.js +12 -12
- package/lib/cjs/Element.d.ts +3 -2
- package/lib/cjs/Element.js +27 -21
- package/lib/cjs/Embed.js +74 -40
- package/lib/cjs/EventEmitter.js +1 -1
- package/lib/cjs/Form.d.ts +371 -341
- package/lib/cjs/Form.js +153 -39
- package/lib/cjs/FormBuilder.d.ts +3 -3
- package/lib/cjs/FormBuilder.js +2 -3
- package/lib/cjs/Formio.js +26 -23
- package/lib/cjs/InlineEmbed.js +23 -17
- package/lib/cjs/PDF.d.ts +1 -0
- package/lib/cjs/PDF.js +18 -15
- package/lib/cjs/PDFBuilder.js +51 -36
- package/lib/cjs/Webform.d.ts +8 -366
- package/lib/cjs/Webform.js +176 -235
- package/lib/cjs/WebformBuilder.js +217 -144
- package/lib/cjs/Wizard.js +92 -62
- package/lib/cjs/WizardBuilder.js +27 -19
- package/lib/cjs/addons/FormioAddon.js +1 -1
- package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.form.js +59 -57
- package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.js +24 -16
- package/lib/cjs/addons/index.js +3 -3
- package/lib/cjs/components/Components.js +0 -4
- package/lib/cjs/components/_classes/component/Component.form.js +11 -11
- package/lib/cjs/components/_classes/component/Component.js +298 -179
- package/lib/cjs/components/_classes/component/editForm/Component.edit.addons.js +2 -4
- package/lib/cjs/components/_classes/component/editForm/Component.edit.api.js +5 -5
- package/lib/cjs/components/_classes/component/editForm/Component.edit.conditional.js +9 -11
- package/lib/cjs/components/_classes/component/editForm/Component.edit.data.d.ts +37 -0
- package/lib/cjs/components/_classes/component/editForm/Component.edit.data.js +39 -25
- package/lib/cjs/components/_classes/component/editForm/Component.edit.display.js +47 -29
- package/lib/cjs/components/_classes/component/editForm/Component.edit.layout.js +9 -9
- package/lib/cjs/components/_classes/component/editForm/Component.edit.logic.js +5 -7
- package/lib/cjs/components/_classes/component/editForm/Component.edit.validation.js +37 -34
- package/lib/cjs/components/_classes/component/editForm/utils.js +12 -16
- package/lib/cjs/components/_classes/componentModal/ComponentModal.js +6 -6
- package/lib/cjs/components/_classes/field/Field.js +7 -1
- package/lib/cjs/components/_classes/input/Input.js +30 -26
- package/lib/cjs/components/_classes/list/ListComponent.form.js +1 -1
- package/lib/cjs/components/_classes/list/ListComponent.js +27 -18
- package/lib/cjs/components/_classes/list/editForm/ListComponent.edit.data.js +36 -9
- package/lib/cjs/components/_classes/multivalue/Multivalue.js +32 -13
- package/lib/cjs/components/_classes/nested/NestedComponent.form.js +3 -3
- package/lib/cjs/components/_classes/nested/NestedComponent.js +36 -32
- package/lib/cjs/components/_classes/nestedarray/NestedArrayComponent.js +19 -14
- package/lib/cjs/components/_classes/nesteddata/NestedDataComponent.js +19 -17
- package/lib/cjs/components/address/Address.js +52 -45
- package/lib/cjs/components/address/editForm/Address.edit.data.js +2 -2
- package/lib/cjs/components/address/editForm/Address.edit.display.js +2 -2
- package/lib/cjs/components/address/editForm/Address.edit.provider.js +53 -11
- package/lib/cjs/components/alert/Alert.js +21 -15
- package/lib/cjs/components/button/Button.form.js +1 -1
- package/lib/cjs/components/button/Button.js +50 -27
- package/lib/cjs/components/button/editForm/Button.edit.display.js +49 -9
- package/lib/cjs/components/checkbox/Checkbox.d.ts +1 -1
- package/lib/cjs/components/checkbox/Checkbox.form.js +3 -3
- package/lib/cjs/components/checkbox/Checkbox.js +28 -20
- package/lib/cjs/components/checkbox/editForm/Checkbox.edit.data.js +1 -1
- package/lib/cjs/components/checkbox/editForm/Checkbox.edit.display.js +13 -3
- package/lib/cjs/components/checkbox/editForm/Checkbox.edit.validation.js +2 -2
- package/lib/cjs/components/columns/Columns.form.js +1 -1
- package/lib/cjs/components/columns/Columns.js +24 -12
- package/lib/cjs/components/columns/editForm/Columns.edit.display.js +17 -17
- package/lib/cjs/components/container/Container.form.js +2 -2
- package/lib/cjs/components/container/Container.js +6 -4
- package/lib/cjs/components/container/editForm/Container.edit.data.js +3 -3
- package/lib/cjs/components/container/editForm/Container.edit.display.js +4 -4
- package/lib/cjs/components/content/Content.form.js +4 -2
- package/lib/cjs/components/content/Content.js +10 -8
- package/lib/cjs/components/content/editForm/Content.edit.display.js +10 -10
- package/lib/cjs/components/currency/Currency.form.js +3 -3
- package/lib/cjs/components/currency/Currency.js +19 -10
- package/lib/cjs/components/currency/editForm/Currency.edit.data.js +5 -5
- package/lib/cjs/components/currency/editForm/Currency.edit.display.js +8 -8
- package/lib/cjs/components/datagrid/DataGrid.form.js +3 -3
- package/lib/cjs/components/datagrid/DataGrid.js +89 -38
- package/lib/cjs/components/datagrid/editForm/DataGrid.edit.data.js +1 -1
- package/lib/cjs/components/datagrid/editForm/DataGrid.edit.display.js +14 -14
- package/lib/cjs/components/datagrid/editForm/DataGrid.edit.validation.js +3 -3
- package/lib/cjs/components/datamap/DataMap.form.js +2 -2
- package/lib/cjs/components/datamap/DataMap.js +44 -31
- package/lib/cjs/components/datamap/editForm/DataMap.edit.data.js +1 -1
- package/lib/cjs/components/datamap/editForm/DataMap.edit.display.js +8 -8
- package/lib/cjs/components/datetime/DateTime.form.js +5 -5
- package/lib/cjs/components/datetime/DateTime.js +30 -15
- package/lib/cjs/components/datetime/editForm/DateTime.edit.data.js +4 -3
- package/lib/cjs/components/datetime/editForm/DateTime.edit.date.js +10 -10
- package/lib/cjs/components/datetime/editForm/DateTime.edit.display.js +22 -17
- package/lib/cjs/components/datetime/editForm/DateTime.edit.time.js +5 -5
- package/lib/cjs/components/datetime/editForm/DateTime.edit.validation.js +3 -3
- package/lib/cjs/components/day/Day.form.js +5 -5
- package/lib/cjs/components/day/Day.js +146 -56
- package/lib/cjs/components/day/editForm/Day.edit.day.js +13 -9
- package/lib/cjs/components/day/editForm/Day.edit.display.js +7 -7
- package/lib/cjs/components/day/editForm/Day.edit.month.js +12 -8
- package/lib/cjs/components/day/editForm/Day.edit.validation.js +7 -7
- package/lib/cjs/components/day/editForm/Day.edit.year.js +8 -8
- package/lib/cjs/components/editgrid/EditGrid.form.js +2 -2
- package/lib/cjs/components/editgrid/EditGrid.js +137 -89
- package/lib/cjs/components/editgrid/editForm/EditGrid.edit.data.js +2 -2
- package/lib/cjs/components/editgrid/editForm/EditGrid.edit.display.js +7 -2
- package/lib/cjs/components/editgrid/editForm/EditGrid.edit.templates.js +16 -16
- package/lib/cjs/components/editgrid/editForm/EditGrid.edit.validation.js +3 -3
- package/lib/cjs/components/email/Email.js +4 -4
- package/lib/cjs/components/email/editForm/Email.edit.display.js +3 -3
- package/lib/cjs/components/email/editForm/Email.edit.validation.js +6 -6
- package/lib/cjs/components/fieldset/Fieldset.form.js +1 -1
- package/lib/cjs/components/fieldset/Fieldset.js +2 -2
- package/lib/cjs/components/fieldset/editForm/Fieldset.edit.display.js +8 -8
- package/lib/cjs/components/file/File.form.js +4 -4
- package/lib/cjs/components/file/File.js +126 -80
- package/lib/cjs/components/file/editForm/File.edit.display.js +9 -5
- package/lib/cjs/components/file/editForm/File.edit.file.d.ts +37 -16
- package/lib/cjs/components/file/editForm/File.edit.file.js +169 -72
- package/lib/cjs/components/file/editForm/File.edit.validation.js +2 -2
- package/lib/cjs/components/form/Form.form.js +3 -3
- package/lib/cjs/components/form/Form.js +67 -51
- package/lib/cjs/components/form/editForm/Form.edit.data.js +1 -3
- package/lib/cjs/components/form/editForm/Form.edit.display.js +6 -7
- package/lib/cjs/components/form/editForm/Form.edit.form.js +11 -9
- package/lib/cjs/components/hidden/Hidden.form.js +4 -4
- package/lib/cjs/components/hidden/Hidden.js +2 -2
- package/lib/cjs/components/hidden/editForm/Hidden.edit.data.js +3 -3
- package/lib/cjs/components/hidden/editForm/Hidden.edit.display.js +10 -10
- package/lib/cjs/components/html/HTML.js +23 -17
- package/lib/cjs/components/html/editForm/HTML.edit.display.js +17 -17
- package/lib/cjs/components/html/editForm/HTML.edit.logic.js +2 -2
- package/lib/cjs/components/number/Number.form.js +3 -3
- package/lib/cjs/components/number/Number.js +27 -11
- package/lib/cjs/components/number/editForm/Number.edit.data.js +3 -3
- package/lib/cjs/components/number/editForm/Number.edit.display.js +4 -4
- package/lib/cjs/components/number/editForm/Number.edit.validation.js +9 -9
- package/lib/cjs/components/panel/Panel.form.js +1 -1
- package/lib/cjs/components/panel/Panel.js +2 -2
- package/lib/cjs/components/panel/editForm/Panel.edit.conditional.js +5 -7
- package/lib/cjs/components/panel/editForm/Panel.edit.display.js +55 -29
- package/lib/cjs/components/password/Password.form.js +3 -3
- package/lib/cjs/components/password/Password.js +5 -2
- package/lib/cjs/components/password/editForm/Password.edit.data.js +11 -11
- package/lib/cjs/components/password/editForm/Password.edit.display.js +3 -3
- package/lib/cjs/components/password/editForm/Password.edit.validation.js +3 -3
- package/lib/cjs/components/phonenumber/PhoneNumber.form.js +8 -8
- package/lib/cjs/components/phonenumber/PhoneNumber.js +3 -3
- package/lib/cjs/components/phonenumber/editForm/PhoneNumber.edit.validation.js +6 -6
- package/lib/cjs/components/radio/Radio.form.js +3 -3
- package/lib/cjs/components/radio/Radio.js +55 -26
- package/lib/cjs/components/radio/editForm/Radio.edit.data.js +23 -9
- package/lib/cjs/components/radio/editForm/Radio.edit.display.js +6 -6
- package/lib/cjs/components/radio/editForm/Radio.edit.validation.js +2 -2
- package/lib/cjs/components/recaptcha/ReCaptcha.form.js +5 -5
- package/lib/cjs/components/recaptcha/ReCaptcha.js +7 -5
- package/lib/cjs/components/recaptcha/editForm/ReCaptcha.edit.display.js +24 -24
- package/lib/cjs/components/select/Select.form.js +3 -3
- package/lib/cjs/components/select/Select.js +235 -129
- package/lib/cjs/components/select/editForm/Select.edit.data.d.ts +1 -1
- package/lib/cjs/components/select/editForm/Select.edit.data.js +191 -57
- package/lib/cjs/components/select/editForm/Select.edit.display.js +2 -2
- package/lib/cjs/components/select/editForm/Select.edit.validation.js +4 -4
- package/lib/cjs/components/selectboxes/SelectBoxes.form.js +3 -3
- package/lib/cjs/components/selectboxes/SelectBoxes.js +31 -15
- package/lib/cjs/components/selectboxes/editForm/SelectBoxes.edit.validation.js +5 -5
- package/lib/cjs/components/signature/Signature.form.js +3 -3
- package/lib/cjs/components/signature/Signature.js +25 -15
- package/lib/cjs/components/signature/editForm/Signature.edit.display.js +19 -10
- package/lib/cjs/components/survey/Survey.form.js +3 -3
- package/lib/cjs/components/survey/Survey.js +30 -17
- package/lib/cjs/components/survey/editForm/Survey.edit.data.js +23 -11
- package/lib/cjs/components/survey/editForm/Survey.edit.display.js +1 -1
- package/lib/cjs/components/survey/editForm/Survey.edit.validation.js +1 -1
- package/lib/cjs/components/table/Table.form.js +1 -1
- package/lib/cjs/components/table/Table.js +7 -5
- package/lib/cjs/components/table/editForm/Table.edit.display.js +22 -22
- package/lib/cjs/components/tabs/Tabs.form.js +1 -1
- package/lib/cjs/components/tabs/Tabs.js +26 -8
- package/lib/cjs/components/tabs/editForm/Tabs.edit.display.js +21 -17
- package/lib/cjs/components/tags/Tags.form.js +1 -1
- package/lib/cjs/components/tags/Tags.js +28 -12
- package/lib/cjs/components/tags/editForm/Tags.edit.data.js +7 -7
- package/lib/cjs/components/textarea/TextArea.form.js +2 -2
- package/lib/cjs/components/textarea/TextArea.js +63 -45
- package/lib/cjs/components/textarea/editForm/TextArea.edit.display.js +96 -72
- package/lib/cjs/components/textarea/editForm/TextArea.edit.validation.js +3 -3
- package/lib/cjs/components/textfield/TextField.form.js +3 -3
- package/lib/cjs/components/textfield/TextField.js +32 -21
- package/lib/cjs/components/textfield/editForm/TextField.edit.data.js +15 -13
- package/lib/cjs/components/textfield/editForm/TextField.edit.display.js +31 -21
- package/lib/cjs/components/textfield/editForm/TextField.edit.validation.js +6 -6
- package/lib/cjs/components/time/Time.js +17 -10
- package/lib/cjs/components/time/editForm/Time.edit.display.js +2 -2
- package/lib/cjs/components/unknown/Unknown.form.js +5 -5
- package/lib/cjs/components/unknown/Unknown.js +2 -2
- package/lib/cjs/components/unknown/editForm/Unknown.edit.display.js +3 -3
- package/lib/cjs/components/url/Url.form.js +3 -3
- package/lib/cjs/components/url/Url.js +2 -2
- package/lib/cjs/components/url/editForm/Url.edit.display.js +3 -3
- package/lib/cjs/components/url/editForm/Url.edit.validation.js +1 -1
- package/lib/cjs/components/well/Well.form.js +1 -1
- package/lib/cjs/components/well/Well.js +2 -2
- package/lib/cjs/components/well/editForm/Well.edit.display.js +10 -10
- package/lib/cjs/formio.form.d.ts +2 -1
- package/lib/cjs/formio.form.js +38 -12
- package/lib/cjs/i18n.d.ts +4 -0
- package/lib/cjs/i18n.js +7 -3
- package/lib/cjs/package.json +1 -1
- package/lib/cjs/providers/address/AddressProvider.js +8 -5
- package/lib/cjs/providers/address/GoogleAddressProvider.d.ts +3 -3
- package/lib/cjs/providers/address/GoogleAddressProvider.js +24 -13
- package/lib/cjs/providers/processor/fileProcessor.js +3 -1
- package/lib/cjs/providers/storage/azure.js +5 -2
- package/lib/cjs/providers/storage/dropbox.js +4 -5
- package/lib/cjs/providers/storage/googleDrive.js +3 -4
- package/lib/cjs/providers/storage/index.js +1 -1
- package/lib/cjs/providers/storage/indexeddb.js +16 -6
- package/lib/cjs/providers/storage/s3.js +17 -6
- package/lib/cjs/providers/storage/uploadAdapter.js +17 -11
- package/lib/cjs/providers/storage/url.js +13 -11
- package/lib/cjs/providers/storage/xhr.js +17 -9
- package/lib/cjs/templates/index.js +1 -1
- package/lib/cjs/translations/de.d.ts +80 -0
- package/lib/cjs/translations/de.js +81 -0
- package/lib/cjs/translations/en.d.ts +0 -2
- package/lib/cjs/translations/en.js +7 -9
- package/lib/cjs/utils/ChoicesWrapper.js +2 -2
- package/lib/cjs/utils/builder.js +31 -7
- package/lib/cjs/utils/calendarUtils.js +7 -5
- package/lib/cjs/utils/conditionOperators/ConditionOperator.js +1 -1
- package/lib/cjs/utils/conditionOperators/DateGreaterThan.js +12 -4
- package/lib/cjs/utils/conditionOperators/IsEmptyValue.js +3 -1
- package/lib/cjs/utils/conditionOperators/IsEqualTo.js +10 -6
- package/lib/cjs/utils/conditionOperators/index.js +1 -1
- package/lib/cjs/utils/formUtils.js +1 -1
- package/lib/cjs/utils/i18n.js +7 -1
- package/lib/cjs/utils/index.d.ts +2 -1
- package/lib/cjs/utils/index.js +2 -2
- package/lib/cjs/utils/utils.d.ts +10 -1
- package/lib/cjs/utils/utils.js +175 -92
- package/lib/cjs/widgets/CalendarWidget.js +66 -49
- package/lib/cjs/widgets/InputWidget.js +6 -4
- package/lib/cjs/widgets/index.js +1 -1
- package/lib/mjs/CDN.js +12 -12
- package/lib/mjs/Element.d.ts +3 -2
- package/lib/mjs/Element.js +27 -21
- package/lib/mjs/Embed.js +76 -42
- package/lib/mjs/EventEmitter.js +1 -1
- package/lib/mjs/Form.d.ts +371 -341
- package/lib/mjs/Form.js +142 -126
- package/lib/mjs/FormBuilder.d.ts +3 -3
- package/lib/mjs/FormBuilder.js +2 -3
- package/lib/mjs/Formio.js +26 -23
- package/lib/mjs/InlineEmbed.js +23 -17
- package/lib/mjs/PDF.d.ts +1 -0
- package/lib/mjs/PDF.js +18 -15
- package/lib/mjs/PDFBuilder.js +51 -36
- package/lib/mjs/Webform.d.ts +8 -366
- package/lib/mjs/Webform.js +183 -250
- package/lib/mjs/WebformBuilder.js +220 -147
- package/lib/mjs/Wizard.js +93 -63
- package/lib/mjs/WizardBuilder.js +27 -19
- package/lib/mjs/addons/FormioAddon.js +1 -1
- package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.form.js +59 -57
- package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.js +24 -16
- package/lib/mjs/addons/index.js +3 -3
- package/lib/mjs/components/Components.js +0 -4
- package/lib/mjs/components/_classes/component/Component.form.js +11 -11
- package/lib/mjs/components/_classes/component/Component.js +303 -184
- package/lib/mjs/components/_classes/component/editForm/Component.edit.addons.js +2 -4
- package/lib/mjs/components/_classes/component/editForm/Component.edit.api.js +5 -5
- package/lib/mjs/components/_classes/component/editForm/Component.edit.conditional.js +9 -11
- package/lib/mjs/components/_classes/component/editForm/Component.edit.data.d.ts +37 -0
- package/lib/mjs/components/_classes/component/editForm/Component.edit.data.js +39 -25
- package/lib/mjs/components/_classes/component/editForm/Component.edit.display.js +47 -29
- package/lib/mjs/components/_classes/component/editForm/Component.edit.layout.js +9 -9
- package/lib/mjs/components/_classes/component/editForm/Component.edit.logic.js +5 -7
- package/lib/mjs/components/_classes/component/editForm/Component.edit.validation.js +37 -34
- package/lib/mjs/components/_classes/component/editForm/utils.js +12 -16
- package/lib/mjs/components/_classes/componentModal/ComponentModal.js +2 -2
- package/lib/mjs/components/_classes/field/Field.js +8 -2
- package/lib/mjs/components/_classes/input/Input.js +27 -23
- package/lib/mjs/components/_classes/list/ListComponent.form.js +1 -1
- package/lib/mjs/components/_classes/list/ListComponent.js +27 -18
- package/lib/mjs/components/_classes/list/editForm/ListComponent.edit.data.js +36 -9
- package/lib/mjs/components/_classes/multivalue/Multivalue.js +32 -13
- package/lib/mjs/components/_classes/nested/NestedComponent.form.js +3 -3
- package/lib/mjs/components/_classes/nested/NestedComponent.js +32 -28
- package/lib/mjs/components/_classes/nestedarray/NestedArrayComponent.js +20 -15
- package/lib/mjs/components/_classes/nesteddata/NestedDataComponent.js +19 -17
- package/lib/mjs/components/address/Address.js +57 -46
- package/lib/mjs/components/address/editForm/Address.edit.data.js +2 -2
- package/lib/mjs/components/address/editForm/Address.edit.display.js +2 -2
- package/lib/mjs/components/address/editForm/Address.edit.provider.js +53 -11
- package/lib/mjs/components/alert/Alert.js +22 -16
- package/lib/mjs/components/button/Button.form.js +1 -1
- package/lib/mjs/components/button/Button.js +51 -28
- package/lib/mjs/components/button/editForm/Button.edit.display.js +49 -9
- package/lib/mjs/components/checkbox/Checkbox.d.ts +1 -1
- package/lib/mjs/components/checkbox/Checkbox.form.js +3 -3
- package/lib/mjs/components/checkbox/Checkbox.js +29 -21
- package/lib/mjs/components/checkbox/editForm/Checkbox.edit.data.js +1 -1
- package/lib/mjs/components/checkbox/editForm/Checkbox.edit.display.js +13 -3
- package/lib/mjs/components/checkbox/editForm/Checkbox.edit.validation.js +2 -2
- package/lib/mjs/components/columns/Columns.form.js +1 -1
- package/lib/mjs/components/columns/Columns.js +24 -12
- package/lib/mjs/components/columns/editForm/Columns.edit.display.js +17 -17
- package/lib/mjs/components/container/Container.form.js +2 -2
- package/lib/mjs/components/container/Container.js +6 -4
- package/lib/mjs/components/container/editForm/Container.edit.data.js +3 -3
- package/lib/mjs/components/container/editForm/Container.edit.display.js +4 -4
- package/lib/mjs/components/content/Content.form.js +4 -2
- package/lib/mjs/components/content/Content.js +10 -8
- package/lib/mjs/components/content/editForm/Content.edit.display.js +10 -10
- package/lib/mjs/components/currency/Currency.form.js +3 -3
- package/lib/mjs/components/currency/Currency.js +19 -10
- package/lib/mjs/components/currency/editForm/Currency.edit.data.js +5 -5
- package/lib/mjs/components/currency/editForm/Currency.edit.display.js +8 -8
- package/lib/mjs/components/datagrid/DataGrid.form.js +3 -3
- package/lib/mjs/components/datagrid/DataGrid.js +90 -39
- package/lib/mjs/components/datagrid/editForm/DataGrid.edit.data.js +1 -1
- package/lib/mjs/components/datagrid/editForm/DataGrid.edit.display.js +14 -14
- package/lib/mjs/components/datagrid/editForm/DataGrid.edit.validation.js +3 -3
- package/lib/mjs/components/datamap/DataMap.form.js +2 -2
- package/lib/mjs/components/datamap/DataMap.js +44 -31
- package/lib/mjs/components/datamap/editForm/DataMap.edit.data.js +1 -1
- package/lib/mjs/components/datamap/editForm/DataMap.edit.display.js +8 -8
- package/lib/mjs/components/datetime/DateTime.form.js +5 -5
- package/lib/mjs/components/datetime/DateTime.js +31 -16
- package/lib/mjs/components/datetime/editForm/DateTime.edit.data.js +4 -3
- package/lib/mjs/components/datetime/editForm/DateTime.edit.date.js +10 -10
- package/lib/mjs/components/datetime/editForm/DateTime.edit.display.js +22 -17
- package/lib/mjs/components/datetime/editForm/DateTime.edit.time.js +5 -5
- package/lib/mjs/components/datetime/editForm/DateTime.edit.validation.js +3 -3
- package/lib/mjs/components/day/Day.form.js +5 -5
- package/lib/mjs/components/day/Day.js +147 -57
- package/lib/mjs/components/day/editForm/Day.edit.day.js +13 -9
- package/lib/mjs/components/day/editForm/Day.edit.display.js +7 -7
- package/lib/mjs/components/day/editForm/Day.edit.month.js +12 -8
- package/lib/mjs/components/day/editForm/Day.edit.validation.js +7 -7
- package/lib/mjs/components/day/editForm/Day.edit.year.js +8 -8
- package/lib/mjs/components/editgrid/EditGrid.form.js +2 -2
- package/lib/mjs/components/editgrid/EditGrid.js +138 -90
- package/lib/mjs/components/editgrid/editForm/EditGrid.edit.data.js +2 -2
- package/lib/mjs/components/editgrid/editForm/EditGrid.edit.display.js +7 -2
- package/lib/mjs/components/editgrid/editForm/EditGrid.edit.templates.js +16 -16
- package/lib/mjs/components/editgrid/editForm/EditGrid.edit.validation.js +3 -3
- package/lib/mjs/components/email/Email.js +4 -4
- package/lib/mjs/components/email/editForm/Email.edit.display.js +3 -3
- package/lib/mjs/components/email/editForm/Email.edit.validation.js +6 -6
- package/lib/mjs/components/fieldset/Fieldset.form.js +1 -1
- package/lib/mjs/components/fieldset/Fieldset.js +2 -2
- package/lib/mjs/components/fieldset/editForm/Fieldset.edit.display.js +8 -8
- package/lib/mjs/components/file/File.form.js +4 -4
- package/lib/mjs/components/file/File.js +131 -84
- package/lib/mjs/components/file/editForm/File.edit.display.js +9 -5
- package/lib/mjs/components/file/editForm/File.edit.file.d.ts +37 -16
- package/lib/mjs/components/file/editForm/File.edit.file.js +169 -72
- package/lib/mjs/components/file/editForm/File.edit.validation.js +2 -2
- package/lib/mjs/components/form/Form.form.js +3 -3
- package/lib/mjs/components/form/Form.js +67 -51
- package/lib/mjs/components/form/editForm/Form.edit.data.js +1 -3
- package/lib/mjs/components/form/editForm/Form.edit.display.js +6 -7
- package/lib/mjs/components/form/editForm/Form.edit.form.js +10 -8
- package/lib/mjs/components/hidden/Hidden.form.js +4 -4
- package/lib/mjs/components/hidden/Hidden.js +2 -2
- package/lib/mjs/components/hidden/editForm/Hidden.edit.data.js +3 -3
- package/lib/mjs/components/hidden/editForm/Hidden.edit.display.js +10 -10
- package/lib/mjs/components/html/HTML.js +23 -17
- package/lib/mjs/components/html/editForm/HTML.edit.display.js +17 -17
- package/lib/mjs/components/html/editForm/HTML.edit.logic.js +2 -2
- package/lib/mjs/components/number/Number.form.js +3 -3
- package/lib/mjs/components/number/Number.js +28 -12
- package/lib/mjs/components/number/editForm/Number.edit.data.js +3 -3
- package/lib/mjs/components/number/editForm/Number.edit.display.js +4 -4
- package/lib/mjs/components/number/editForm/Number.edit.validation.js +9 -9
- package/lib/mjs/components/panel/Panel.form.js +1 -1
- package/lib/mjs/components/panel/Panel.js +2 -2
- package/lib/mjs/components/panel/editForm/Panel.edit.conditional.js +6 -8
- package/lib/mjs/components/panel/editForm/Panel.edit.display.js +55 -29
- package/lib/mjs/components/password/Password.form.js +3 -3
- package/lib/mjs/components/password/Password.js +5 -2
- package/lib/mjs/components/password/editForm/Password.edit.data.js +11 -11
- package/lib/mjs/components/password/editForm/Password.edit.display.js +3 -3
- package/lib/mjs/components/password/editForm/Password.edit.validation.js +3 -3
- package/lib/mjs/components/phonenumber/PhoneNumber.form.js +8 -8
- package/lib/mjs/components/phonenumber/PhoneNumber.js +3 -3
- package/lib/mjs/components/phonenumber/editForm/PhoneNumber.edit.validation.js +6 -6
- package/lib/mjs/components/radio/Radio.form.js +3 -3
- package/lib/mjs/components/radio/Radio.js +56 -27
- package/lib/mjs/components/radio/editForm/Radio.edit.data.js +23 -9
- package/lib/mjs/components/radio/editForm/Radio.edit.display.js +6 -6
- package/lib/mjs/components/radio/editForm/Radio.edit.validation.js +2 -2
- package/lib/mjs/components/recaptcha/ReCaptcha.form.js +5 -5
- package/lib/mjs/components/recaptcha/ReCaptcha.js +7 -5
- package/lib/mjs/components/recaptcha/editForm/ReCaptcha.edit.display.js +24 -24
- package/lib/mjs/components/select/Select.form.js +3 -3
- package/lib/mjs/components/select/Select.js +240 -134
- package/lib/mjs/components/select/editForm/Select.edit.data.d.ts +1 -1
- package/lib/mjs/components/select/editForm/Select.edit.data.js +191 -57
- package/lib/mjs/components/select/editForm/Select.edit.display.js +2 -2
- package/lib/mjs/components/select/editForm/Select.edit.validation.js +4 -4
- package/lib/mjs/components/selectboxes/SelectBoxes.form.js +3 -3
- package/lib/mjs/components/selectboxes/SelectBoxes.js +32 -16
- package/lib/mjs/components/selectboxes/editForm/SelectBoxes.edit.validation.js +5 -5
- package/lib/mjs/components/signature/Signature.form.js +3 -3
- package/lib/mjs/components/signature/Signature.js +25 -15
- package/lib/mjs/components/signature/editForm/Signature.edit.display.js +19 -10
- package/lib/mjs/components/survey/Survey.form.js +3 -3
- package/lib/mjs/components/survey/Survey.js +30 -17
- package/lib/mjs/components/survey/editForm/Survey.edit.data.js +23 -11
- package/lib/mjs/components/survey/editForm/Survey.edit.display.js +1 -1
- package/lib/mjs/components/survey/editForm/Survey.edit.validation.js +1 -1
- package/lib/mjs/components/table/Table.form.js +1 -1
- package/lib/mjs/components/table/Table.js +7 -5
- package/lib/mjs/components/table/editForm/Table.edit.display.js +22 -22
- package/lib/mjs/components/tabs/Tabs.form.js +1 -1
- package/lib/mjs/components/tabs/Tabs.js +26 -8
- package/lib/mjs/components/tabs/editForm/Tabs.edit.display.js +21 -17
- package/lib/mjs/components/tags/Tags.form.js +1 -1
- package/lib/mjs/components/tags/Tags.js +28 -12
- package/lib/mjs/components/tags/editForm/Tags.edit.data.js +7 -7
- package/lib/mjs/components/textarea/TextArea.form.js +2 -2
- package/lib/mjs/components/textarea/TextArea.js +75 -51
- package/lib/mjs/components/textarea/editForm/TextArea.edit.display.js +96 -72
- package/lib/mjs/components/textarea/editForm/TextArea.edit.validation.js +3 -3
- package/lib/mjs/components/textfield/TextField.form.js +3 -3
- package/lib/mjs/components/textfield/TextField.js +34 -23
- package/lib/mjs/components/textfield/editForm/TextField.edit.data.js +15 -13
- package/lib/mjs/components/textfield/editForm/TextField.edit.display.js +31 -21
- package/lib/mjs/components/textfield/editForm/TextField.edit.validation.js +6 -6
- package/lib/mjs/components/time/Time.js +17 -10
- package/lib/mjs/components/time/editForm/Time.edit.display.js +2 -2
- package/lib/mjs/components/unknown/Unknown.form.js +5 -5
- package/lib/mjs/components/unknown/Unknown.js +2 -2
- package/lib/mjs/components/unknown/editForm/Unknown.edit.display.js +3 -3
- package/lib/mjs/components/url/Url.form.js +3 -3
- package/lib/mjs/components/url/Url.js +2 -2
- package/lib/mjs/components/url/editForm/Url.edit.display.js +3 -3
- package/lib/mjs/components/url/editForm/Url.edit.validation.js +1 -1
- package/lib/mjs/components/well/Well.form.js +1 -1
- package/lib/mjs/components/well/Well.js +2 -2
- package/lib/mjs/components/well/editForm/Well.edit.display.js +10 -10
- package/lib/mjs/formio.form.d.ts +2 -1
- package/lib/mjs/formio.form.js +10 -8
- package/lib/mjs/i18n.d.ts +4 -0
- package/lib/mjs/i18n.js +7 -3
- package/lib/mjs/package.json +1 -1
- package/lib/mjs/providers/address/AddressProvider.js +8 -5
- package/lib/mjs/providers/address/GoogleAddressProvider.d.ts +3 -3
- package/lib/mjs/providers/address/GoogleAddressProvider.js +24 -13
- package/lib/mjs/providers/processor/fileProcessor.js +3 -1
- package/lib/mjs/providers/storage/azure.js +5 -2
- package/lib/mjs/providers/storage/dropbox.js +4 -5
- package/lib/mjs/providers/storage/googleDrive.js +3 -4
- package/lib/mjs/providers/storage/index.js +1 -1
- package/lib/mjs/providers/storage/indexeddb.js +16 -6
- package/lib/mjs/providers/storage/s3.js +19 -8
- package/lib/mjs/providers/storage/uploadAdapter.js +17 -11
- package/lib/mjs/providers/storage/url.js +13 -11
- package/lib/mjs/providers/storage/xhr.js +17 -9
- package/lib/mjs/templates/index.js +1 -1
- package/lib/mjs/translations/de.d.ts +80 -0
- package/lib/mjs/translations/de.js +79 -0
- package/lib/mjs/translations/en.d.ts +0 -2
- package/lib/mjs/translations/en.js +7 -9
- package/lib/mjs/utils/ChoicesWrapper.js +2 -2
- package/lib/mjs/utils/builder.js +31 -7
- package/lib/mjs/utils/calendarUtils.js +7 -5
- package/lib/mjs/utils/conditionOperators/ConditionOperator.js +1 -1
- package/lib/mjs/utils/conditionOperators/DateGreaterThan.js +16 -5
- package/lib/mjs/utils/conditionOperators/IsEmptyValue.js +3 -1
- package/lib/mjs/utils/conditionOperators/IsEqualTo.js +10 -6
- package/lib/mjs/utils/conditionOperators/index.js +1 -1
- package/lib/mjs/utils/formUtils.js +2 -2
- package/lib/mjs/utils/i18n.js +7 -1
- package/lib/mjs/utils/index.d.ts +2 -1
- package/lib/mjs/utils/index.js +3 -3
- package/lib/mjs/utils/utils.d.ts +10 -1
- package/lib/mjs/utils/utils.js +178 -91
- package/lib/mjs/widgets/CalendarWidget.js +67 -50
- package/lib/mjs/widgets/InputWidget.js +6 -4
- package/lib/mjs/widgets/index.js +1 -1
- package/package.json +3 -3
- package/lib/cjs/pdf.image.d.ts +0 -2
- package/lib/cjs/pdf.image.js +0 -94
- package/lib/cjs/utils/jsonlogic/operators.d.ts +0 -1
- package/lib/cjs/utils/jsonlogic/operators.js +0 -265
- package/lib/mjs/pdf.image.d.ts +0 -2
- package/lib/mjs/pdf.image.js +0 -94
- package/lib/mjs/utils/jsonlogic/operators.d.ts +0 -1
- package/lib/mjs/utils/jsonlogic/operators.js +0 -262
|
@@ -12,7 +12,6 @@ const DEFAULT_FORMAT = 'yyyy-MM-dd hh:mm a';
|
|
|
12
12
|
const ISO_8601_FORMAT = 'yyyy-MM-ddTHH:mm:ssZ';
|
|
13
13
|
const isIEBrowser = (0, utils_1.getBrowserInfo)().ie;
|
|
14
14
|
class CalendarWidget extends InputWidget_1.default {
|
|
15
|
-
/* eslint-disable camelcase */
|
|
16
15
|
static get defaultSettings() {
|
|
17
16
|
return {
|
|
18
17
|
type: 'calendar',
|
|
@@ -35,10 +34,9 @@ class CalendarWidget extends InputWidget_1.default {
|
|
|
35
34
|
timezone: '',
|
|
36
35
|
disable: [],
|
|
37
36
|
minDate: '',
|
|
38
|
-
maxDate: ''
|
|
37
|
+
maxDate: '',
|
|
39
38
|
};
|
|
40
39
|
}
|
|
41
|
-
/* eslint-enable camelcase */
|
|
42
40
|
constructor(settings, component, instance, index) {
|
|
43
41
|
super(settings, component, instance, index);
|
|
44
42
|
// Change the format to map to the settings.
|
|
@@ -81,20 +79,24 @@ class CalendarWidget extends InputWidget_1.default {
|
|
|
81
79
|
const dateFormatInfo = (0, utils_1.getLocaleDateFormatInfo)(this.settings.language);
|
|
82
80
|
this.defaultFormat = {
|
|
83
81
|
date: dateFormatInfo.dayFirst ? 'd/m/Y ' : 'm/d/Y ',
|
|
84
|
-
time: 'G:i K'
|
|
82
|
+
time: 'G:i K',
|
|
85
83
|
};
|
|
86
84
|
this.closedOn = 0;
|
|
87
|
-
this.valueFormat =
|
|
85
|
+
this.valueFormat =
|
|
86
|
+
this.settings.saveAs === 'date'
|
|
87
|
+
? ISO_8601_FORMAT
|
|
88
|
+
: this.settings.dateFormat || ISO_8601_FORMAT;
|
|
88
89
|
this.valueMomentFormat = (0, utils_1.convertFormatToMoment)(this.valueFormat);
|
|
89
90
|
const isReadOnly = this.settings.readOnly;
|
|
90
91
|
this.settings.minDate = isReadOnly ? null : (0, utils_1.getDateSetting)(this.settings.minDate);
|
|
91
92
|
this.settings.maxDate = isReadOnly ? null : (0, utils_1.getDateSetting)(this.settings.maxDate);
|
|
93
|
+
if (this.settings.maxDate || this.settings.minDate) {
|
|
94
|
+
this.settings.allowInvalidPreload = true;
|
|
95
|
+
}
|
|
92
96
|
this.settings.disable = this.disabledDates;
|
|
93
97
|
this.settings.disableWeekends ? this.settings.disable.push(this.disableWeekends) : '';
|
|
94
98
|
this.settings.disableWeekdays ? this.settings.disable.push(this.disableWeekdays) : '';
|
|
95
99
|
this.settings.disableFunction ? this.settings.disable.push(this.disableFunction) : '';
|
|
96
|
-
this.settings.wasDefaultValueChanged = false;
|
|
97
|
-
this.settings.defaultValue = '';
|
|
98
100
|
this.settings.manualInputValue = '';
|
|
99
101
|
this.settings.isManuallyOverriddenValue = false;
|
|
100
102
|
this.settings.currentValue = '';
|
|
@@ -122,23 +124,22 @@ class CalendarWidget extends InputWidget_1.default {
|
|
|
122
124
|
this.settings.isManuallyOverriddenValue = false;
|
|
123
125
|
this.emit('update');
|
|
124
126
|
}
|
|
125
|
-
if (this.settings.wasDefaultValueChanged) {
|
|
126
|
-
this.calendar._input.value = this.settings.defaultValue;
|
|
127
|
-
this.settings.wasDefaultValueChanged = false;
|
|
128
|
-
}
|
|
129
127
|
if (this.calendar) {
|
|
130
128
|
this.emit('blur');
|
|
131
129
|
}
|
|
132
130
|
};
|
|
133
131
|
Formio_1.Formio.requireLibrary('flatpickr-css', 'flatpickr', [
|
|
134
|
-
{ type: 'styles', src: `${Formio_1.Formio.cdn['flatpickr-formio']}/flatpickr.min.css` }
|
|
132
|
+
{ type: 'styles', src: `${Formio_1.Formio.cdn['flatpickr-formio']}/flatpickr.min.css` },
|
|
135
133
|
], true);
|
|
136
134
|
if (this.component.shortcutButtons) {
|
|
137
135
|
this.component.shortcutButtons = this.component.shortcutButtons.filter((btn) => btn.label && btn.onClick);
|
|
138
136
|
}
|
|
139
137
|
if ((_a = this.component.shortcutButtons) === null || _a === void 0 ? void 0 : _a.length) {
|
|
140
138
|
Formio_1.Formio.requireLibrary('shortcut-buttons-flatpickr-css', 'ShortcutButtonsPlugin', [
|
|
141
|
-
{
|
|
139
|
+
{
|
|
140
|
+
type: 'styles',
|
|
141
|
+
src: `${Formio_1.Formio.cdn['shortcut-buttons-flatpickr']}/themes/light.min.css`,
|
|
142
|
+
},
|
|
142
143
|
], true);
|
|
143
144
|
}
|
|
144
145
|
return superAttach
|
|
@@ -149,8 +150,7 @@ class CalendarWidget extends InputWidget_1.default {
|
|
|
149
150
|
}
|
|
150
151
|
})
|
|
151
152
|
.then((ShortcutButtonsPlugin) => {
|
|
152
|
-
return Formio_1.Formio.requireLibrary('flatpickr', 'flatpickr', `${Formio_1.Formio.cdn['flatpickr-formio']}/flatpickr.min.js`, true)
|
|
153
|
-
.then((Flatpickr) => {
|
|
153
|
+
return Formio_1.Formio.requireLibrary('flatpickr', 'flatpickr', `${Formio_1.Formio.cdn['flatpickr-formio']}/flatpickr.min.js`, true).then((Flatpickr) => {
|
|
154
154
|
var _a;
|
|
155
155
|
if (((_a = this.component.shortcutButtons) === null || _a === void 0 ? void 0 : _a.length) && ShortcutButtonsPlugin) {
|
|
156
156
|
this.initShortcutButtonsPlugin(ShortcutButtonsPlugin);
|
|
@@ -180,7 +180,7 @@ class CalendarWidget extends InputWidget_1.default {
|
|
|
180
180
|
}
|
|
181
181
|
get disableWeekends() {
|
|
182
182
|
return function (date) {
|
|
183
|
-
return
|
|
183
|
+
return date.getDay() === 0 || date.getDay() === 6;
|
|
184
184
|
};
|
|
185
185
|
}
|
|
186
186
|
get disableWeekdays() {
|
|
@@ -188,7 +188,7 @@ class CalendarWidget extends InputWidget_1.default {
|
|
|
188
188
|
}
|
|
189
189
|
get disableFunction() {
|
|
190
190
|
return (date) => this.evaluate(`return ${this.settings.disableFunction}`, {
|
|
191
|
-
date
|
|
191
|
+
date,
|
|
192
192
|
});
|
|
193
193
|
}
|
|
194
194
|
get timezone() {
|
|
@@ -201,7 +201,7 @@ class CalendarWidget extends InputWidget_1.default {
|
|
|
201
201
|
this.addEventListener(suffix, 'click', () => {
|
|
202
202
|
setTimeout(() => {
|
|
203
203
|
if (this.calendar) {
|
|
204
|
-
if (!this.calendar.isOpen &&
|
|
204
|
+
if (!this.calendar.isOpen && Date.now() - this.closedOn > 200) {
|
|
205
205
|
this.calendar.open();
|
|
206
206
|
}
|
|
207
207
|
else if (this.calendar.isOpen) {
|
|
@@ -235,10 +235,12 @@ class CalendarWidget extends InputWidget_1.default {
|
|
|
235
235
|
const dateMask = /\d{4}-\d{2}-\d{2}/g;
|
|
236
236
|
const dates = item.match(dateMask);
|
|
237
237
|
if (dates && dates.length) {
|
|
238
|
-
return dates.length === 1
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
238
|
+
return dates.length === 1
|
|
239
|
+
? item.match(dateMask)[0]
|
|
240
|
+
: {
|
|
241
|
+
from: item.match(dateMask)[0],
|
|
242
|
+
to: item.match(dateMask)[1],
|
|
243
|
+
};
|
|
242
244
|
}
|
|
243
245
|
});
|
|
244
246
|
}
|
|
@@ -255,7 +257,9 @@ class CalendarWidget extends InputWidget_1.default {
|
|
|
255
257
|
return format;
|
|
256
258
|
}
|
|
257
259
|
get dateTimeFormat() {
|
|
258
|
-
return this.settings.useLocaleSettings
|
|
260
|
+
return this.settings.useLocaleSettings
|
|
261
|
+
? this.localeFormat
|
|
262
|
+
: (0, utils_1.convertFormatToFlatpickr)(this.dateFormat);
|
|
259
263
|
}
|
|
260
264
|
get dateFormat() {
|
|
261
265
|
return lodash_1.default.get(this.settings, 'format', DEFAULT_FORMAT);
|
|
@@ -290,10 +294,10 @@ class CalendarWidget extends InputWidget_1.default {
|
|
|
290
294
|
if (!(dates[0] instanceof Date)) {
|
|
291
295
|
return 'Invalid Date';
|
|
292
296
|
}
|
|
293
|
-
return this.getDateValue(dates[0], this.valueFormat,
|
|
297
|
+
return this.getDateValue(dates[0], this.valueFormat, this.settings.saveAs === 'date');
|
|
294
298
|
}
|
|
295
299
|
isValueISO8601(value) {
|
|
296
|
-
return value &&
|
|
300
|
+
return value && typeof value === 'string' && value.match(/-[0-9]{2}T[0-9]{2}:/);
|
|
297
301
|
}
|
|
298
302
|
/**
|
|
299
303
|
* Set the selected date value.
|
|
@@ -301,11 +305,16 @@ class CalendarWidget extends InputWidget_1.default {
|
|
|
301
305
|
* @returns {void}
|
|
302
306
|
*/
|
|
303
307
|
setValue(value) {
|
|
304
|
-
const saveAsText =
|
|
308
|
+
const saveAsText = this.settings.saveAs === 'text';
|
|
305
309
|
if (!this.calendar) {
|
|
306
|
-
value = value
|
|
310
|
+
value = value
|
|
311
|
+
? (0, utils_1.formatDate)(this.timezonesUrl, value, (0, utils_1.convertFormatToMoment)(this.settings.format), this.timezone, (0, utils_1.convertFormatToMoment)(this.valueMomentFormat))
|
|
312
|
+
: value;
|
|
307
313
|
return super.setValue(value);
|
|
308
314
|
}
|
|
315
|
+
// If the component is a textfield that does not have timezone information included in the string value then skip
|
|
316
|
+
// the timezone offset
|
|
317
|
+
this.settings.skipOffset = this.component.type === 'textfield' && !(0, utils_1.hasEncodedTimezone)(value);
|
|
309
318
|
const zonesLoading = this.loadZones();
|
|
310
319
|
if (value) {
|
|
311
320
|
if (!saveAsText && this.settings.readOnly && !zonesLoading) {
|
|
@@ -325,7 +334,9 @@ class CalendarWidget extends InputWidget_1.default {
|
|
|
325
334
|
getValueAsString(value, format = '') {
|
|
326
335
|
const inputFormat = format || this.dateFormat;
|
|
327
336
|
const valueFormat = this.calendar ? this.valueFormat : this.settings.dateFormat;
|
|
328
|
-
if (this.settings.saveAs === 'text' &&
|
|
337
|
+
if (this.settings.saveAs === 'text' &&
|
|
338
|
+
this.componentInstance.parent &&
|
|
339
|
+
!this.settings.readOnly) {
|
|
329
340
|
return (0, moment_1.default)(value, (0, utils_1.convertFormatToMoment)(valueFormat)).format((0, utils_1.convertFormatToMoment)(valueFormat));
|
|
330
341
|
}
|
|
331
342
|
return (0, utils_1.formatDate)(this.timezonesUrl, value, inputFormat, this.timezone, (0, utils_1.convertFormatToMoment)(valueFormat));
|
|
@@ -348,7 +359,7 @@ class CalendarWidget extends InputWidget_1.default {
|
|
|
348
359
|
if (typeof value === 'string') {
|
|
349
360
|
return new Date(value);
|
|
350
361
|
}
|
|
351
|
-
return value.map(val => new Date(val));
|
|
362
|
+
return value.map((val) => new Date(val));
|
|
352
363
|
}
|
|
353
364
|
isCalendarElement(element) {
|
|
354
365
|
var _a, _b, _c, _d, _e;
|
|
@@ -369,14 +380,6 @@ class CalendarWidget extends InputWidget_1.default {
|
|
|
369
380
|
this.settings.isManuallyOverriddenValue = true;
|
|
370
381
|
this.settings.currentValue = event.target.value;
|
|
371
382
|
}
|
|
372
|
-
if (event.target.value === '' && this.calendar.selectedDates.length > 0) {
|
|
373
|
-
this.settings.wasDefaultValueChanged = true;
|
|
374
|
-
this.settings.defaultValue = event.target.value;
|
|
375
|
-
this.calendar.clear();
|
|
376
|
-
}
|
|
377
|
-
else {
|
|
378
|
-
this.settings.wasDefaultValueChanged = false;
|
|
379
|
-
}
|
|
380
383
|
});
|
|
381
384
|
// Move input attributes to altInput.
|
|
382
385
|
const labelledbyIds = this.calendar.input.getAttribute('aria-labelledby');
|
|
@@ -387,8 +390,11 @@ class CalendarWidget extends InputWidget_1.default {
|
|
|
387
390
|
this._input.removeAttribute('id');
|
|
388
391
|
this._input.removeAttribute('aria-labelledby');
|
|
389
392
|
this._input.removeAttribute('aria-required');
|
|
390
|
-
const excludedFromMaskFormats = [
|
|
391
|
-
|
|
393
|
+
const excludedFromMaskFormats = [
|
|
394
|
+
'MMMM',
|
|
395
|
+
];
|
|
396
|
+
if (!this.settings.readOnly &&
|
|
397
|
+
!lodash_1.default.some(excludedFromMaskFormats, (format) => lodash_1.default.includes(this.settings.format, format))) {
|
|
392
398
|
// Enforce the input mask of the format.
|
|
393
399
|
this.setInputMask(this.calendar._input, (0, utils_1.convertFormatToMask)(this.settings.format));
|
|
394
400
|
}
|
|
@@ -400,7 +406,9 @@ class CalendarWidget extends InputWidget_1.default {
|
|
|
400
406
|
this.calendar._input.removeEventListener('blur', originalBlurListener.handler);
|
|
401
407
|
// Add the same event listener as in the original library, but with workaround for IE11 issue
|
|
402
408
|
this.addEventListener(this.calendar._input, 'blur', (event) => {
|
|
403
|
-
const activeElement = this.settings.shadowRoot
|
|
409
|
+
const activeElement = this.settings.shadowRoot
|
|
410
|
+
? this.settings.shadowRoot.activeElement
|
|
411
|
+
: document.activeElement;
|
|
404
412
|
const relatedTarget = event.relatedTarget ? event.relatedTarget : activeElement;
|
|
405
413
|
const isInput = event.target === this.calendar._input;
|
|
406
414
|
if (isInput && !this.isCalendarElement(relatedTarget)) {
|
|
@@ -413,15 +421,22 @@ class CalendarWidget extends InputWidget_1.default {
|
|
|
413
421
|
// Make sure we commit the value after a blur event occurs.
|
|
414
422
|
this.addEventListener(this.calendar._input, 'blur', (event) => {
|
|
415
423
|
var _a, _b, _c, _d;
|
|
416
|
-
const activeElement = this.settings.shadowRoot
|
|
424
|
+
const activeElement = this.settings.shadowRoot
|
|
425
|
+
? this.settings.shadowRoot.activeElement
|
|
426
|
+
: document.activeElement;
|
|
417
427
|
const relatedTarget = event.relatedTarget ? event.relatedTarget : activeElement;
|
|
418
428
|
if (!(isIEBrowser && !relatedTarget) && !this.isCalendarElement(relatedTarget)) {
|
|
419
429
|
const inputValue = this.calendar.input.value;
|
|
420
|
-
const dateValue = inputValue
|
|
430
|
+
const dateValue = inputValue
|
|
431
|
+
? (0, moment_1.default)(this.calendar.input.value, (0, utils_1.convertFormatToMoment)(this.valueFormat)).toDate()
|
|
432
|
+
: inputValue;
|
|
421
433
|
this.calendar.setDate(dateValue, true, this.settings.altFormat);
|
|
422
434
|
}
|
|
423
435
|
else if (!this.calendar.input.value && this.calendar.config.noCalendar) {
|
|
424
|
-
const value = (0, moment_1.default)({
|
|
436
|
+
const value = (0, moment_1.default)({
|
|
437
|
+
hour: (_b = (_a = this.calendar) === null || _a === void 0 ? void 0 : _a.config) === null || _b === void 0 ? void 0 : _b.defaultHour,
|
|
438
|
+
minute: (_d = (_c = this.calendar) === null || _c === void 0 ? void 0 : _c.config) === null || _d === void 0 ? void 0 : _d.defaultMinute,
|
|
439
|
+
}).toDate();
|
|
425
440
|
this.calendar.setDate(value, true, this.settings.format);
|
|
426
441
|
}
|
|
427
442
|
});
|
|
@@ -448,15 +463,17 @@ class CalendarWidget extends InputWidget_1.default {
|
|
|
448
463
|
}
|
|
449
464
|
initShortcutButtonsPlugin(ShortcutButtonsPlugin) {
|
|
450
465
|
this.settings.plugins = [
|
|
451
|
-
// eslint-disable-next-line new-cap
|
|
452
466
|
ShortcutButtonsPlugin({
|
|
453
|
-
button: this.component.shortcutButtons.map((btn) => ({
|
|
467
|
+
button: this.component.shortcutButtons.map((btn) => ({
|
|
468
|
+
label: btn.label,
|
|
469
|
+
attributes: btn.attribute,
|
|
470
|
+
})),
|
|
454
471
|
onClick: (index) => {
|
|
455
472
|
const getValue = this.component.shortcutButtons[index].onClick;
|
|
456
473
|
const date = this.evaluate(getValue, { date: new Date() }, 'date');
|
|
457
474
|
this.calendar.setDate(date, true);
|
|
458
|
-
}
|
|
459
|
-
})
|
|
475
|
+
},
|
|
476
|
+
}),
|
|
460
477
|
];
|
|
461
478
|
}
|
|
462
479
|
get componentValue() {
|
|
@@ -469,8 +486,8 @@ class CalendarWidget extends InputWidget_1.default {
|
|
|
469
486
|
getFlatpickrFormatDate(Flatpickr) {
|
|
470
487
|
return (date, format) => {
|
|
471
488
|
// Only format this if this is the altFormat and the form is readOnly.
|
|
472
|
-
if (this.settings.readOnly &&
|
|
473
|
-
if (!this.settings.enableTime || this.loadZones()) {
|
|
489
|
+
if (this.settings.readOnly && format === this.settings.altFormat) {
|
|
490
|
+
if (!this.settings.enableTime || this.loadZones() || this.settings.skipOffset) {
|
|
474
491
|
return Flatpickr.formatDate(date, format);
|
|
475
492
|
}
|
|
476
493
|
const currentValue = new Date(this.getValue());
|
|
@@ -8,7 +8,7 @@ const Element_1 = __importDefault(require("../Element"));
|
|
|
8
8
|
class InputWidget extends Element_1.default {
|
|
9
9
|
static get defaultSettings() {
|
|
10
10
|
return {
|
|
11
|
-
type: 'input'
|
|
11
|
+
type: 'input',
|
|
12
12
|
};
|
|
13
13
|
}
|
|
14
14
|
constructor(settings, component, instance, index) {
|
|
@@ -63,9 +63,11 @@ class InputWidget extends Element_1.default {
|
|
|
63
63
|
data: this.componentInstance.rootValue,
|
|
64
64
|
value: this.componentInstance.dataValue,
|
|
65
65
|
t: this.t.bind(this),
|
|
66
|
-
submission:
|
|
67
|
-
|
|
68
|
-
|
|
66
|
+
submission: this.componentInstance.root
|
|
67
|
+
? this.componentInstance.root._submission
|
|
68
|
+
: {
|
|
69
|
+
data: this.componentInstance.rootValue,
|
|
70
|
+
},
|
|
69
71
|
form: this.componentInstance.root ? this.componentInstance.root._form : {},
|
|
70
72
|
options: this.options,
|
|
71
73
|
}, additional));
|
package/lib/cjs/widgets/index.js
CHANGED
|
@@ -7,5 +7,5 @@ const InputWidget_1 = __importDefault(require("./InputWidget"));
|
|
|
7
7
|
const CalendarWidget_1 = __importDefault(require("./CalendarWidget"));
|
|
8
8
|
exports.default = {
|
|
9
9
|
input: InputWidget_1.default,
|
|
10
|
-
calendar: CalendarWidget_1.default
|
|
10
|
+
calendar: CalendarWidget_1.default,
|
|
11
11
|
};
|
package/lib/mjs/CDN.js
CHANGED
|
@@ -8,23 +8,23 @@ class CDN {
|
|
|
8
8
|
this.baseUrl = baseUrl || CDN.defaultCDN;
|
|
9
9
|
this.overrides = overrides;
|
|
10
10
|
this.libs = {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
js: '',
|
|
12
|
+
ace: '1.4.12',
|
|
13
|
+
bootstrap: '5.3.3',
|
|
14
|
+
bootstrap4: '4.6.2',
|
|
15
|
+
bootstrap5: '5.3.3',
|
|
16
|
+
bootswatch: '5.3.3',
|
|
17
17
|
'bootstrap-icons': '1.11.1',
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
ckeditor: '19.0.0',
|
|
19
|
+
flatpickr: '4.6.8',
|
|
20
20
|
'flatpickr-formio': '4.6.13-formio.3',
|
|
21
21
|
'font-awesome': '4.7.0',
|
|
22
|
-
|
|
22
|
+
grid: 'latest',
|
|
23
23
|
'moment-timezone': 'latest',
|
|
24
|
-
|
|
24
|
+
quill: '2.0.0-dev.3',
|
|
25
25
|
'shortcut-buttons-flatpickr': '0.4.0',
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
uswds: '2.4.8',
|
|
27
|
+
core: '',
|
|
28
28
|
};
|
|
29
29
|
this.updateUrls();
|
|
30
30
|
}
|
package/lib/mjs/Element.d.ts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The root component for all elements within the Form.io renderer.
|
|
3
|
+
* @property {object} options - The options for this component. Subclasses should override this type with more specific options.
|
|
3
4
|
*/
|
|
4
5
|
export default class Element {
|
|
5
6
|
constructor(options: any);
|
|
6
7
|
/**
|
|
7
8
|
* The options for this component.
|
|
8
|
-
* @type {
|
|
9
|
+
* @type {object}
|
|
9
10
|
*/
|
|
10
|
-
options:
|
|
11
|
+
options: object;
|
|
11
12
|
/**
|
|
12
13
|
* The ID of this component. This value is auto-generated when the component is created, but
|
|
13
14
|
* can also be provided from the component.id value passed into the constructor.
|
package/lib/mjs/Element.js
CHANGED
|
@@ -7,12 +7,13 @@ import { I18n } from './utils/i18n';
|
|
|
7
7
|
import FormioUtils from './utils';
|
|
8
8
|
/**
|
|
9
9
|
* The root component for all elements within the Form.io renderer.
|
|
10
|
+
* @property {object} options - The options for this component. Subclasses should override this type with more specific options.
|
|
10
11
|
*/
|
|
11
12
|
export default class Element {
|
|
12
13
|
constructor(options) {
|
|
13
14
|
/**
|
|
14
15
|
* The options for this component.
|
|
15
|
-
* @type {
|
|
16
|
+
* @type {object}
|
|
16
17
|
*/
|
|
17
18
|
this.options = Object.assign({
|
|
18
19
|
language: 'en',
|
|
@@ -20,7 +21,7 @@ export default class Element {
|
|
|
20
21
|
componentErrorClass: 'formio-error-wrapper',
|
|
21
22
|
componentWarningClass: 'formio-warning-wrapper',
|
|
22
23
|
row: '',
|
|
23
|
-
namespace: 'formio'
|
|
24
|
+
namespace: 'formio',
|
|
24
25
|
}, options || {});
|
|
25
26
|
/**
|
|
26
27
|
* The ID of this component. This value is auto-generated when the component is created, but
|
|
@@ -43,13 +44,14 @@ export default class Element {
|
|
|
43
44
|
* An instance of the EventEmitter class to handle the emitting and registration of events.
|
|
44
45
|
* @type {EventEmitter}
|
|
45
46
|
*/
|
|
46
|
-
this.events =
|
|
47
|
+
this.events = options && options.events ? options.events : new EventEmitter();
|
|
47
48
|
this.defaultMask = null;
|
|
48
49
|
/**
|
|
49
50
|
* Conditional to show or hide helplinks in editForm
|
|
50
51
|
* @type {*|boolean}
|
|
51
52
|
*/
|
|
52
|
-
this.helplinks =
|
|
53
|
+
this.helplinks =
|
|
54
|
+
this.options.helplinks === 'false' ? false : this.options.helplinks || 'https://help.form.io';
|
|
53
55
|
}
|
|
54
56
|
/**
|
|
55
57
|
* Register for a new event within this component.
|
|
@@ -198,10 +200,10 @@ export default class Element {
|
|
|
198
200
|
return;
|
|
199
201
|
}
|
|
200
202
|
this.eventHandlers.forEach((handler, index) => {
|
|
201
|
-
if (
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
203
|
+
if (handler.id === this.id &&
|
|
204
|
+
obj.removeEventListener &&
|
|
205
|
+
handler.type === type &&
|
|
206
|
+
(!func || handler.func === func)) {
|
|
205
207
|
obj.removeEventListener(type, handler.func);
|
|
206
208
|
indexes.push(index);
|
|
207
209
|
}
|
|
@@ -212,8 +214,11 @@ export default class Element {
|
|
|
212
214
|
return this;
|
|
213
215
|
}
|
|
214
216
|
removeEventListeners() {
|
|
215
|
-
this.eventHandlers.forEach(handler => {
|
|
216
|
-
if (
|
|
217
|
+
this.eventHandlers.forEach((handler) => {
|
|
218
|
+
if (this.id === handler.id &&
|
|
219
|
+
handler.type &&
|
|
220
|
+
handler.obj &&
|
|
221
|
+
handler.obj.removeEventListener) {
|
|
217
222
|
handler.obj.removeEventListener(handler.type, handler.func);
|
|
218
223
|
}
|
|
219
224
|
});
|
|
@@ -223,7 +228,7 @@ export default class Element {
|
|
|
223
228
|
if (this.events) {
|
|
224
229
|
_.each(this.events._events, (events, type) => {
|
|
225
230
|
_.each(events, (listener) => {
|
|
226
|
-
if (listener &&
|
|
231
|
+
if (listener && this.id === listener.id && (includeExternal || listener.internal)) {
|
|
227
232
|
this.events.off(type, listener);
|
|
228
233
|
}
|
|
229
234
|
});
|
|
@@ -338,7 +343,7 @@ export default class Element {
|
|
|
338
343
|
* @returns {string} - The placeholder that will exist within the input as they type.
|
|
339
344
|
*/
|
|
340
345
|
maskPlaceholder(mask) {
|
|
341
|
-
return mask.map((char) => (char instanceof RegExp
|
|
346
|
+
return mask.map((char) => (char instanceof RegExp ? this.placeholderChar : char)).join('');
|
|
342
347
|
}
|
|
343
348
|
/**
|
|
344
349
|
* Get the placeholder character for the input mask.
|
|
@@ -366,7 +371,7 @@ export default class Element {
|
|
|
366
371
|
inputElement: input,
|
|
367
372
|
mask,
|
|
368
373
|
placeholderChar: this.placeholderChar,
|
|
369
|
-
shadowRoot: this.root ? this.root.shadowRoot : null
|
|
374
|
+
shadowRoot: this.root ? this.root.shadowRoot : null,
|
|
370
375
|
});
|
|
371
376
|
}
|
|
372
377
|
catch (e) {
|
|
@@ -435,7 +440,7 @@ export default class Element {
|
|
|
435
440
|
}
|
|
436
441
|
// Allow templates to intercept.
|
|
437
442
|
className = ` ${className} `;
|
|
438
|
-
return
|
|
443
|
+
return ` ${element.className} `.replace(/[\n\t\r]/g, ' ').indexOf(className) > -1;
|
|
439
444
|
}
|
|
440
445
|
/**
|
|
441
446
|
* Adds a class to a DOM element.
|
|
@@ -498,7 +503,7 @@ export default class Element {
|
|
|
498
503
|
instance: this,
|
|
499
504
|
self: this,
|
|
500
505
|
token: Formio.getToken({
|
|
501
|
-
decode: true
|
|
506
|
+
decode: true,
|
|
502
507
|
}),
|
|
503
508
|
options: this.options,
|
|
504
509
|
config: this.root && this.root.form && this.root.form.config
|
|
@@ -516,8 +521,9 @@ export default class Element {
|
|
|
516
521
|
* @returns {XML|string|*|void} - The interpolated string.
|
|
517
522
|
*/
|
|
518
523
|
interpolate(string, data, options = {}) {
|
|
519
|
-
if (typeof string !== 'function' &&
|
|
520
|
-
|
|
524
|
+
if (typeof string !== 'function' &&
|
|
525
|
+
(this.component.content || this.component.html) &&
|
|
526
|
+
!FormioUtils.Evaluator.templateSettings.interpolate.test(string)) {
|
|
521
527
|
string = FormioUtils.translateHTMLTemplate(String(string), (value) => this.t(value));
|
|
522
528
|
}
|
|
523
529
|
if (this.component.filter === string && !this.options.building) {
|
|
@@ -545,14 +551,14 @@ export default class Element {
|
|
|
545
551
|
*/
|
|
546
552
|
hook() {
|
|
547
553
|
const name = arguments[0];
|
|
548
|
-
if (this.options &&
|
|
549
|
-
this.options.hooks &&
|
|
550
|
-
this.options.hooks[name]) {
|
|
554
|
+
if (this.options && this.options.hooks && this.options.hooks[name]) {
|
|
551
555
|
return this.options.hooks[name].apply(this, Array.prototype.slice.call(arguments, 1));
|
|
552
556
|
}
|
|
553
557
|
else {
|
|
554
558
|
// If this is an async hook instead of a sync.
|
|
555
|
-
const fn =
|
|
559
|
+
const fn = typeof arguments[arguments.length - 1] === 'function'
|
|
560
|
+
? arguments[arguments.length - 1]
|
|
561
|
+
: null;
|
|
556
562
|
if (fn) {
|
|
557
563
|
return fn(null, arguments[1]);
|
|
558
564
|
}
|