From 9ac673a4d858b89245dff71fa7ffa1b0fb6bbd4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A9l=C3=A8ne=20Martin?= Date: Thu, 15 Dec 2022 16:29:57 -0800 Subject: [PATCH] Prepare 6.1.6 release (#936) --- CHANGELOG.md | 6 + README.md | 10 +- docs/AnalogScaleWidget.html | 2 +- docs/AutocompleteSelectpicker.html | 2 +- docs/Columns.html | 2 +- docs/Comment.html | 2 +- docs/DatepickerExtended.html | 2 +- docs/DatepickerMobile.html | 2 +- docs/DatepickerNative.html | 2 +- docs/DatepickerNativeIos.html | 2 +- docs/DatetimepickerExtended.html | 2 +- docs/DesktopSelectpicker.html | 2 +- docs/DrawWidget.html | 34 +- docs/Filepicker.html | 2 +- docs/Form.html | 58 +- docs/FormLogicError.html | 2 +- docs/FormModel.html | 2 +- docs/Geopicker.html | 2 +- docs/ImageMap.html | 2 +- docs/ImageViewer.html | 2 +- docs/LikertItem.html | 2 +- docs/MediaPicker.html | 2 +- docs/MobileSelectPicker.html | 2 +- docs/MyWidget.html | 2 +- docs/Nodeset.html | 2 +- docs/NoteWidget.html | 2 +- docs/Radiopicker.html | 2 +- docs/RangeWidget.html | 2 +- docs/RankWidget.html | 2 +- docs/RatingWidget.html | 2 +- docs/TableWidget.html | 2 +- docs/TextMaxWidget.html | 2 +- docs/TextPrintWidget.html | 2 +- docs/TextareaWidget.html | 2 +- docs/ThousandsSeparatorWidget.html | 2 +- docs/TimepickerExtended.html | 2 +- docs/TranslatedError.html | 2 +- docs/UrlWidget.html | 2 +- docs/Widget.html | 2 +- docs/external-ConstructorParameters.html | 4 +- docs/external-Exclude.html | 4 +- docs/external-Extract.html | 4 +- docs/external-InstanceType.html | 4 +- docs/external-NonNullable.html | 4 +- docs/external-Omit.html | 4 +- docs/external-OmitThisParameter.html | 4 +- docs/external-Parameters.html | 4 +- docs/external-Partial.html | 4 +- docs/external-Pick.html | 4 +- docs/external-Readonly.html | 4 +- docs/external-Record.html | 4 +- docs/external-Required.html | 4 +- docs/external-ReturnType.html | 4 +- docs/external-SignaturePad.html | 2 +- docs/external-ThisParameterType.html | 4 +- docs/external-ThisType.html | 4 +- docs/external-jQuery.html | 2 +- docs/global.html | 4 +- docs/index.html | 16 +- docs/js_calculate.js.html | 7 +- docs/js_dom-utils.js.html | 2 +- docs/js_download-utils.js.html | 2 +- docs/js_event.js.html | 14 +- docs/js_fake-dialog.js.html | 2 +- docs/js_fake-translator.js.html | 2 +- docs/js_file-manager.js.html | 2 +- docs/js_form-logic-error.js.html | 2 +- docs/js_form-model.js.html | 2 +- docs/js_form.js.html | 112 ++- docs/js_format.js.html | 2 +- docs/js_geolocation.js.html | 2 +- docs/js_input.js.html | 2 +- docs/js_itemset.js.html | 2 +- docs/js_language.js.html | 2 +- docs/js_nodeset.js.html | 2 +- docs/js_output.js.html | 2 +- docs/js_page.js.html | 2 +- docs/js_plugins.js.html | 2 +- docs/js_preload.js.html | 2 +- docs/js_print.js.html | 2 +- docs/js_progress.js.html | 2 +- docs/js_readonly.js.html | 2 +- docs/js_relevant.js.html | 2 +- docs/js_repeat.js.html | 8 +- docs/js_required.js.html | 2 +- docs/js_sniffer.js.html | 2 +- docs/js_support.js.html | 2 +- docs/js_timers.js.html | 2 +- docs/js_toc.js.html | 2 +- docs/js_translated-error.js.html | 2 +- docs/js_type-def.js.html | 2 +- docs/js_types.js.html | 2 +- docs/js_utils.js.html | 2 +- docs/js_widget.js.html | 2 +- docs/js_widgets-controller.js.html | 2 +- docs/js_widgets.js.html | 2 +- docs/js_xpath-evaluator-binding.js.html | 2 +- docs/module-calculate.html | 12 +- docs/module-dialog.html | 2 +- docs/module-dom-utils-elementDataStore.html | 2 +- docs/module-dom-utils.html | 2 +- docs/module-event.html | 309 ++++++- docs/module-fake-translator.html | 2 +- docs/module-fileManager.html | 2 +- docs/module-format-time.html | 2 +- docs/module-format.html | 2 +- docs/module-input.html | 2 +- docs/module-itemset.html | 2 +- docs/module-language.html | 2 +- docs/module-output.html | 2 +- docs/module-pages.html | 2 +- docs/module-preloader.html | 2 +- docs/module-print.html | 2 +- docs/module-progress.html | 2 +- docs/module-readonly.html | 2 +- docs/module-relevant.html | 2 +- docs/module-repeat.html | 2 +- docs/module-required.html | 2 +- docs/module-sniffer-browser.html | 2 +- docs/module-sniffer-os.html | 2 +- docs/module-sniffer.html | 2 +- docs/module-support.html | 2 +- docs/module-toc.html | 2 +- docs/module-types-types.barcode.html | 2 +- docs/module-types-types.binary.html | 2 +- docs/module-types-types.date.html | 2 +- docs/module-types-types.datetime.html | 2 +- docs/module-types-types.decimal.html | 2 +- docs/module-types-types.geopoint.html | 2 +- docs/module-types-types.geoshape.html | 2 +- docs/module-types-types.geotrace.html | 2 +- docs/module-types-types.html | 2 +- docs/module-types-types.int.html | 2 +- docs/module-types-types.select.html | 2 +- docs/module-types-types.select1.html | 2 +- docs/module-types-types.string.html | 2 +- docs/module-types-types.time.html | 2 +- docs/module-types.html | 2 +- docs/module-utils.html | 2 +- .../module-widgets-controller-Collection.html | 2 +- docs/module-widgets-controller.html | 2 +- docs/module-widgets.html | 2 +- docs/module.exports.html | 2 +- docs/tutorial-00-getting-started.html | 2 +- docs/tutorial-10-configuration.html | 2 +- docs/tutorial-20-development.html | 2 +- docs/tutorial-30-events.html | 2 +- docs/tutorial-40-widgets.html | 2 +- docs/tutorial-90-ie11.html | 2 +- ...et_analog-scale_analog-scalepicker.js.html | 2 +- docs/widget_big-image_image-viewer.js.html | 2 +- docs/widget_columns_columns.js.html | 2 +- docs/widget_comment_commentwidget.js.html | 2 +- ...dget_date-mobile_datepicker-mobile.js.html | 2 +- ...e-native-ios_datepicker-native-ios.js.html | 2 +- ...dget_date-native_datepicker-native.js.html | 2 +- docs/widget_date_datepicker-extended.js.html | 2 +- ...t_datetime_datetimepicker-extended.js.html | 2 +- docs/widget_draw_draw-widget.js.html | 14 +- docs/widget_example_my-widget.js.html | 2 +- docs/widget_file_filepicker.js.html | 2 +- docs/widget_geo_geopicker.js.html | 2 +- docs/widget_image-map_image-map.js.html | 2 +- docs/widget_note_notewidget.js.html | 2 +- docs/widget_number-input_number-input.js.html | 2 +- docs/widget_radio_radiopicker.js.html | 2 +- docs/widget_range_range-widget.js.html | 2 +- docs/widget_rank_rank-widget.js.html | 2 +- docs/widget_rating_rating.js.html | 2 +- ...t_select-autocomplete_autocomplete.js.html | 2 +- ...widget_select-desktop_selectpicker.js.html | 2 +- docs/widget_select-likert_likertitem.js.html | 2 +- docs/widget_select-media_select-media.js.html | 2 +- .../widget_select-mobile_selectpicker.js.html | 2 +- docs/widget_table_tablewidget.js.html | 2 +- docs/widget_text-max_text-max.js.html | 2 +- docs/widget_text-print_text-print.js.html | 2 +- docs/widget_textarea_textarea.js.html | 2 +- ...widget_thousands-sep_thousands-sep.js.html | 2 +- docs/widget_time_timepicker-extended.js.html | 2 +- docs/widget_time_timepicker.js.html | 2 +- docs/widget_url_url-widget.js.html | 2 +- package-lock.json | 806 +++++++++++++----- package.json | 22 +- src/js/form.js | 2 +- 185 files changed, 1262 insertions(+), 542 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 205913d42..ae925b59b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). +## [6.1.6] - 2022-12-15 + +- Do not update image file on blur if canvas is empty (#931) +- Fix calculation of nested repeat counts in >1 outer repeat instances (#935) + + ## [6.1.5] - 2022-12-06 - Fix: allow arbitrary precision decimal values (#932) diff --git a/README.md b/README.md index 8d55a32eb..ce9586405 100644 --- a/README.md +++ b/README.md @@ -30,18 +30,18 @@ We have to admit we do not test on all of these, but are committed to fixing bro ### Releases 1. Create release PR +1. Update `CHANGELOG.md` +1. Update version in `package.json` + - Bump to major version if consumers have to make changes. 1. Check [Dependabot](https://github.com/enketo/enketo-core/security/dependabot) for alerts 1. Run `npm update` - Check if `node-forge` has been updated and if so, verify encrypted submissions end-to-end + - If `enketo-transformer` has been updated, change `Form.requiredTransformerVersion` 1. Run `npm audit` - Run `npm audit fix --production` to apply most important fixes -1. Run `npm ci` +1. Run `npm i` 1. Run `npm test` 1. Run `npm run build-docs` -1. Update `CHANGELOG.md` -1. Update version in `package.json` - - Bump to major version if consumers have to make changes. -1. If `enketo-transformer` has been updated, change `Form.requiredTransformerVersion` 1. Merge PR with all changes 1. Create GitHub release 1. Tag and publish the release diff --git a/docs/AnalogScaleWidget.html b/docs/AnalogScaleWidget.html index fd5d48971..1f965bf83 100644 --- a/docs/AnalogScaleWidget.html +++ b/docs/AnalogScaleWidget.html @@ -1980,7 +1980,7 @@

update diff --git a/docs/AutocompleteSelectpicker.html b/docs/AutocompleteSelectpicker.html index 0691310c5..1e9fd2dfa 100644 --- a/docs/AutocompleteSelectpicker.html +++ b/docs/AutocompleteSelectpicker.html @@ -1789,7 +1789,7 @@

update diff --git a/docs/Columns.html b/docs/Columns.html index 89f0c0b4b..d2148dbe8 100644 --- a/docs/Columns.html +++ b/docs/Columns.html @@ -1146,7 +1146,7 @@

update diff --git a/docs/Comment.html b/docs/Comment.html index 48b762010..01b27899c 100644 --- a/docs/Comment.html +++ b/docs/Comment.html @@ -2266,7 +2266,7 @@

update diff --git a/docs/DatepickerExtended.html b/docs/DatepickerExtended.html index cf19bbe38..4cbe91c71 100644 --- a/docs/DatepickerExtended.html +++ b/docs/DatepickerExtended.html @@ -2193,7 +2193,7 @@

update diff --git a/docs/DatepickerMobile.html b/docs/DatepickerMobile.html index 26e6b3723..0902df49f 100644 --- a/docs/DatepickerMobile.html +++ b/docs/DatepickerMobile.html @@ -1295,7 +1295,7 @@

update diff --git a/docs/DatepickerNative.html b/docs/DatepickerNative.html index a0f2fe2db..ba7e704c5 100644 --- a/docs/DatepickerNative.html +++ b/docs/DatepickerNative.html @@ -1305,7 +1305,7 @@

update diff --git a/docs/DatepickerNativeIos.html b/docs/DatepickerNativeIos.html index 248ec98a7..79531f755 100644 --- a/docs/DatepickerNativeIos.html +++ b/docs/DatepickerNativeIos.html @@ -1299,7 +1299,7 @@

update diff --git a/docs/DatetimepickerExtended.html b/docs/DatetimepickerExtended.html index 743a8c027..e6ac52adf 100644 --- a/docs/DatetimepickerExtended.html +++ b/docs/DatetimepickerExtended.html @@ -1584,7 +1584,7 @@

update diff --git a/docs/DesktopSelectpicker.html b/docs/DesktopSelectpicker.html index 6d443086b..bfab4dac7 100644 --- a/docs/DesktopSelectpicker.html +++ b/docs/DesktopSelectpicker.html @@ -1821,7 +1821,7 @@

update diff --git a/docs/DrawWidget.html b/docs/DrawWidget.html index a59bbf66b..95594ffa0 100644 --- a/docs/DrawWidget.html +++ b/docs/DrawWidget.html @@ -415,7 +415,7 @@

propsSource:
@@ -567,7 +567,7 @@

valueSource:
@@ -651,7 +651,7 @@

_getMarkup<
Source:
@@ -870,7 +870,7 @@

_handleFi
Source:
@@ -1002,7 +1002,7 @@

_handleR
Source:
@@ -1230,7 +1230,7 @@

_load
Source:
@@ -1387,7 +1387,7 @@

_resetSource:
@@ -1474,7 +1474,7 @@

_resizeC
Source:
@@ -1612,7 +1612,7 @@

_showFee
Source:
@@ -1744,7 +1744,7 @@

_showFil
Source:
@@ -1876,7 +1876,7 @@

_up
Source:
@@ -2095,7 +2095,7 @@

_updateVa
Source:
@@ -2251,7 +2251,7 @@

disableSource:
@@ -2343,7 +2343,7 @@

enableSource:
@@ -2435,7 +2435,7 @@

updateSource:
@@ -2532,7 +2532,7 @@

update diff --git a/docs/Filepicker.html b/docs/Filepicker.html index b373bd4e2..5fab40714 100644 --- a/docs/Filepicker.html +++ b/docs/Filepicker.html @@ -2336,7 +2336,7 @@

update diff --git a/docs/Form.html b/docs/Form.html index 8ac202db9..3e1485044 100644 --- a/docs/Form.html +++ b/docs/Form.html @@ -302,7 +302,7 @@

(
Source:
@@ -331,7 +331,7 @@

(
Default Value:
    -
  • 2.1.6
  • +
  • 2.1.7
@@ -1870,7 +1870,7 @@

bl
Source:
@@ -1958,7 +1958,7 @@

clear
Source:
@@ -2045,7 +2045,7 @@

Source:
@@ -2199,7 +2199,7 @@

getDataStr<
Source:
@@ -2369,7 +2369,7 @@

Source:
@@ -2482,7 +2482,7 @@

getGoToT
Source:
@@ -2639,7 +2639,7 @@

getModel
Source:
@@ -2796,7 +2796,7 @@

Source:
@@ -3000,7 +3000,7 @@

getRel
Source:
@@ -3234,7 +3234,7 @@

goToSource:
@@ -3388,7 +3388,7 @@

goToTarget<
Source:
@@ -3546,7 +3546,7 @@

Source:
@@ -3752,7 +3752,7 @@

isValidSource:
@@ -3910,7 +3910,7 @@

pathToA
Source:
@@ -4087,7 +4087,7 @@

re
Source:
@@ -4339,7 +4339,7 @@

resetViewSource:
@@ -4451,7 +4451,7 @@

setAllVals<
Source:
@@ -4612,7 +4612,7 @@

setEv
Source:
@@ -4699,7 +4699,7 @@

setInvalid<
Source:
@@ -4878,7 +4878,7 @@

setValidSource:
@@ -5057,7 +5057,7 @@

upd
Source:
@@ -5212,7 +5212,7 @@

validateSource:
@@ -5299,7 +5299,7 @@

validateAl
Source:
@@ -5409,7 +5409,7 @@

valida
Source:
@@ -5567,7 +5567,7 @@

validate
Source:
@@ -5725,7 +5725,7 @@

valid
Source:
@@ -5865,7 +5865,7 @@

Parameters:

diff --git a/docs/FormLogicError.html b/docs/FormLogicError.html index 489277ce8..80389742d 100644 --- a/docs/FormLogicError.html +++ b/docs/FormLogicError.html @@ -243,7 +243,7 @@

Extends


diff --git a/docs/FormModel.html b/docs/FormModel.html index aab59e52d..a89c5f4ad 100644 --- a/docs/FormModel.html +++ b/docs/FormModel.html @@ -6730,7 +6730,7 @@

trimValues<
diff --git a/docs/Geopicker.html b/docs/Geopicker.html index dd02f8511..a8bed134d 100644 --- a/docs/Geopicker.html +++ b/docs/Geopicker.html @@ -6225,7 +6225,7 @@

Returns:

diff --git a/docs/ImageMap.html b/docs/ImageMap.html index 1f7dd2f18..dec775a61 100644 --- a/docs/ImageMap.html +++ b/docs/ImageMap.html @@ -2461,7 +2461,7 @@

update diff --git a/docs/ImageViewer.html b/docs/ImageViewer.html index 862bdf13f..d9419d549 100644 --- a/docs/ImageViewer.html +++ b/docs/ImageViewer.html @@ -1145,7 +1145,7 @@

update diff --git a/docs/LikertItem.html b/docs/LikertItem.html index 254ef3a49..e4145561e 100644 --- a/docs/LikertItem.html +++ b/docs/LikertItem.html @@ -183,7 +183,7 @@

new LikertI
diff --git a/docs/MediaPicker.html b/docs/MediaPicker.html index 97299b02d..d7bbfdc8f 100644 --- a/docs/MediaPicker.html +++ b/docs/MediaPicker.html @@ -1145,7 +1145,7 @@

update diff --git a/docs/MobileSelectPicker.html b/docs/MobileSelectPicker.html index 768d03a49..79b427a89 100644 --- a/docs/MobileSelectPicker.html +++ b/docs/MobileSelectPicker.html @@ -1337,7 +1337,7 @@

update diff --git a/docs/MyWidget.html b/docs/MyWidget.html index c799abee9..a47bf4862 100644 --- a/docs/MyWidget.html +++ b/docs/MyWidget.html @@ -744,7 +744,7 @@

update diff --git a/docs/Nodeset.html b/docs/Nodeset.html index 0c0774b2f..522749973 100644 --- a/docs/Nodeset.html +++ b/docs/Nodeset.html @@ -2168,7 +2168,7 @@
Returns:

diff --git a/docs/NoteWidget.html b/docs/NoteWidget.html index 2cb537b93..2141687ae 100644 --- a/docs/NoteWidget.html +++ b/docs/NoteWidget.html @@ -183,7 +183,7 @@

new NoteWid
diff --git a/docs/Radiopicker.html b/docs/Radiopicker.html index 4c6c1db6b..56c14e1d7 100644 --- a/docs/Radiopicker.html +++ b/docs/Radiopicker.html @@ -1277,7 +1277,7 @@

update diff --git a/docs/RangeWidget.html b/docs/RangeWidget.html index efb41d59d..b2e0cee3c 100644 --- a/docs/RangeWidget.html +++ b/docs/RangeWidget.html @@ -1614,7 +1614,7 @@

update diff --git a/docs/RankWidget.html b/docs/RankWidget.html index 66cd4388c..17e2cd2fa 100644 --- a/docs/RankWidget.html +++ b/docs/RankWidget.html @@ -1365,7 +1365,7 @@

update diff --git a/docs/RatingWidget.html b/docs/RatingWidget.html index 6846eb1a0..964941ede 100644 --- a/docs/RatingWidget.html +++ b/docs/RatingWidget.html @@ -1634,7 +1634,7 @@

update diff --git a/docs/TableWidget.html b/docs/TableWidget.html index f3b5355d5..82bf5c5ab 100644 --- a/docs/TableWidget.html +++ b/docs/TableWidget.html @@ -183,7 +183,7 @@

new TableW
diff --git a/docs/TextMaxWidget.html b/docs/TextMaxWidget.html index bd89c1084..632e91bab 100644 --- a/docs/TextMaxWidget.html +++ b/docs/TextMaxWidget.html @@ -258,7 +258,7 @@

Type:

diff --git a/docs/TextPrintWidget.html b/docs/TextPrintWidget.html index 8c779f5a2..28be9f274 100644 --- a/docs/TextPrintWidget.html +++ b/docs/TextPrintWidget.html @@ -258,7 +258,7 @@
Type:

diff --git a/docs/TextareaWidget.html b/docs/TextareaWidget.html index e8f877690..1723e04dc 100644 --- a/docs/TextareaWidget.html +++ b/docs/TextareaWidget.html @@ -1145,7 +1145,7 @@

update diff --git a/docs/ThousandsSeparatorWidget.html b/docs/ThousandsSeparatorWidget.html index 3ef073251..fe2971b66 100644 --- a/docs/ThousandsSeparatorWidget.html +++ b/docs/ThousandsSeparatorWidget.html @@ -502,7 +502,7 @@

update diff --git a/docs/TimepickerExtended.html b/docs/TimepickerExtended.html index ded63e924..9386cad6e 100644 --- a/docs/TimepickerExtended.html +++ b/docs/TimepickerExtended.html @@ -1328,7 +1328,7 @@

update diff --git a/docs/TranslatedError.html b/docs/TranslatedError.html index b55b7d428..7798cead4 100644 --- a/docs/TranslatedError.html +++ b/docs/TranslatedError.html @@ -289,7 +289,7 @@

Extends


diff --git a/docs/UrlWidget.html b/docs/UrlWidget.html index 5bf515ba1..a5b4c3fc4 100644 --- a/docs/UrlWidget.html +++ b/docs/UrlWidget.html @@ -1136,7 +1136,7 @@

update diff --git a/docs/Widget.html b/docs/Widget.html index a0228acb9..b65dbb235 100644 --- a/docs/Widget.html +++ b/docs/Widget.html @@ -1509,7 +1509,7 @@

update diff --git a/docs/external-ConstructorParameters.html b/docs/external-ConstructorParameters.html index 0f856a665..38db6c06e 100644 --- a/docs/external-ConstructorParameters.html +++ b/docs/external-ConstructorParameters.html @@ -67,7 +67,7 @@

Source:
@@ -152,7 +152,7 @@


diff --git a/docs/external-Exclude.html b/docs/external-Exclude.html index 554b1ae07..7615c6d4f 100644 --- a/docs/external-Exclude.html +++ b/docs/external-Exclude.html @@ -67,7 +67,7 @@

Source:
@@ -152,7 +152,7 @@


diff --git a/docs/external-Extract.html b/docs/external-Extract.html index 648deb829..049f073e1 100644 --- a/docs/external-Extract.html +++ b/docs/external-Extract.html @@ -67,7 +67,7 @@

Source:
@@ -152,7 +152,7 @@


diff --git a/docs/external-InstanceType.html b/docs/external-InstanceType.html index 85443bebf..faf1ba957 100644 --- a/docs/external-InstanceType.html +++ b/docs/external-InstanceType.html @@ -67,7 +67,7 @@

Source:
@@ -152,7 +152,7 @@


diff --git a/docs/external-NonNullable.html b/docs/external-NonNullable.html index 2ef5a73bf..c05fb3ba0 100644 --- a/docs/external-NonNullable.html +++ b/docs/external-NonNullable.html @@ -67,7 +67,7 @@

Source:
@@ -152,7 +152,7 @@


diff --git a/docs/external-Omit.html b/docs/external-Omit.html index f56be90a6..dd8e0b833 100644 --- a/docs/external-Omit.html +++ b/docs/external-Omit.html @@ -67,7 +67,7 @@

Source:
@@ -152,7 +152,7 @@


diff --git a/docs/external-OmitThisParameter.html b/docs/external-OmitThisParameter.html index 0a27dedbc..18b7401c0 100644 --- a/docs/external-OmitThisParameter.html +++ b/docs/external-OmitThisParameter.html @@ -67,7 +67,7 @@

Source:
@@ -152,7 +152,7 @@


diff --git a/docs/external-Parameters.html b/docs/external-Parameters.html index e8a0e58d5..fe9693609 100644 --- a/docs/external-Parameters.html +++ b/docs/external-Parameters.html @@ -67,7 +67,7 @@

Source:
@@ -152,7 +152,7 @@


diff --git a/docs/external-Partial.html b/docs/external-Partial.html index 96312f8f8..d538a5623 100644 --- a/docs/external-Partial.html +++ b/docs/external-Partial.html @@ -67,7 +67,7 @@

Source:
@@ -152,7 +152,7 @@


diff --git a/docs/external-Pick.html b/docs/external-Pick.html index 030ee14c8..767efd08d 100644 --- a/docs/external-Pick.html +++ b/docs/external-Pick.html @@ -67,7 +67,7 @@

Source:
@@ -152,7 +152,7 @@


diff --git a/docs/external-Readonly.html b/docs/external-Readonly.html index d984e8e6f..0026507cb 100644 --- a/docs/external-Readonly.html +++ b/docs/external-Readonly.html @@ -67,7 +67,7 @@

Source:
@@ -152,7 +152,7 @@


diff --git a/docs/external-Record.html b/docs/external-Record.html index 39c403884..4fd26696d 100644 --- a/docs/external-Record.html +++ b/docs/external-Record.html @@ -67,7 +67,7 @@

Source:
@@ -152,7 +152,7 @@


diff --git a/docs/external-Required.html b/docs/external-Required.html index f3d2ca477..90b540e85 100644 --- a/docs/external-Required.html +++ b/docs/external-Required.html @@ -67,7 +67,7 @@

Source:
@@ -152,7 +152,7 @@


diff --git a/docs/external-ReturnType.html b/docs/external-ReturnType.html index 56ebed862..3ce6373de 100644 --- a/docs/external-ReturnType.html +++ b/docs/external-ReturnType.html @@ -67,7 +67,7 @@

Source:
@@ -152,7 +152,7 @@


diff --git a/docs/external-SignaturePad.html b/docs/external-SignaturePad.html index 28d286c15..6031d97c0 100644 --- a/docs/external-SignaturePad.html +++ b/docs/external-SignaturePad.html @@ -597,7 +597,7 @@

Parameters:

diff --git a/docs/external-ThisParameterType.html b/docs/external-ThisParameterType.html index 5dc398e2c..86af07796 100644 --- a/docs/external-ThisParameterType.html +++ b/docs/external-ThisParameterType.html @@ -67,7 +67,7 @@

Source:
@@ -152,7 +152,7 @@


diff --git a/docs/external-ThisType.html b/docs/external-ThisType.html index 0a8c72399..ad63fdcce 100644 --- a/docs/external-ThisType.html +++ b/docs/external-ThisType.html @@ -67,7 +67,7 @@

Source:
@@ -152,7 +152,7 @@


diff --git a/docs/external-jQuery.html b/docs/external-jQuery.html index dbc173b80..164d31094 100644 --- a/docs/external-jQuery.html +++ b/docs/external-jQuery.html @@ -254,7 +254,7 @@

Returns:

diff --git a/docs/global.html b/docs/global.html index eb6306c78..53b30768d 100644 --- a/docs/global.html +++ b/docs/global.html @@ -2699,7 +2699,7 @@

ValidateInputResolution

Source:
@@ -2838,7 +2838,7 @@
Properties:

diff --git a/docs/index.html b/docs/index.html index cbefe9faa..56c8ba3e3 100644 --- a/docs/index.html +++ b/docs/index.html @@ -84,6 +84,12 @@

Browser support

Releases

  1. Create release PR
  2. +
  3. Update CHANGELOG.md
  4. +
  5. Update version in package.json +
      +
    • Bump to major version if consumers have to make changes.
    • +
    +
  6. Check Dependabot for alerts
  7. Run npm update
      @@ -95,15 +101,9 @@

      Releases

    • Run npm audit fix --production to apply most important fixes
  8. -
  9. Run npm ci
  10. +
  11. Run npm i
  12. Run npm test
  13. Run npm run build-docs
  14. -
  15. Update CHANGELOG.md
  16. -
  17. Update version in package.json -
      -
    • Bump to major version if consumers have to make changes.
    • -
    -
  18. If enketo-transformer has been updated, change Form.requiredTransformerVersion
  19. Merge PR with all changes
  20. Create GitHub release
  21. @@ -157,7 +157,7 @@

    License


    diff --git a/docs/js_calculate.js.html b/docs/js_calculate.js.html index 66256c17a..3050e068b 100644 --- a/docs/js_calculate.js.html +++ b/docs/js_calculate.js.html @@ -138,7 +138,10 @@

    js/calculate.js

    dataNodes.includes(node) )[0]; props.index = dataNodes.indexOf(dataNode); - this._updateCalc(control, props, emptyNonRelevant); + + if (props.index > -1) { + this._updateCalc(control, props, emptyNonRelevant); + } } else if (control.type === 'hidden') { /* * This case is the consequence of the decision to place calculated items without a visible form control, @@ -561,7 +564,7 @@

    js/calculate.js


    diff --git a/docs/js_dom-utils.js.html b/docs/js_dom-utils.js.html index 414505ed7..281b69a3f 100644 --- a/docs/js_dom-utils.js.html +++ b/docs/js_dom-utils.js.html @@ -548,7 +548,7 @@

    js/dom-utils.js


    diff --git a/docs/js_download-utils.js.html b/docs/js_download-utils.js.html index e814f5fee..07bdc36b8 100644 --- a/docs/js_download-utils.js.html +++ b/docs/js_download-utils.js.html @@ -86,7 +86,7 @@

    js/download-utils.js


    diff --git a/docs/js_event.js.html b/docs/js_event.js.html index 083d4a79a..f25658117 100644 --- a/docs/js_event.js.html +++ b/docs/js_event.js.html @@ -131,13 +131,21 @@

    js/event.js

    return new CustomEvent('addrepeat', { detail, bubbles: true }); } +/** + * @typedef RemoveRepeatDetail + * @property {object} [initRepeatInfo] + * @property {string} [initRepeatInfo.repeatPath] + * @property {number} [initRepeatInfo.repeatIndex] + */ + /** * Remove repeat event. * + * @param {RemoveRepeatDetail} [detail] * @return {CustomEvent} Custom "removerepeat" event (bubbling) */ -function RemoveRepeat() { - return new CustomEvent('removerepeat', { bubbles: true }); +function RemoveRepeat(detail) { + return new CustomEvent('removerepeat', { detail, bubbles: true }); } /** @@ -319,7 +327,7 @@

    js/event.js


    diff --git a/docs/js_fake-dialog.js.html b/docs/js_fake-dialog.js.html index b6136b5a7..4bc5cf6fd 100644 --- a/docs/js_fake-dialog.js.html +++ b/docs/js_fake-dialog.js.html @@ -107,7 +107,7 @@

    js/fake-dialog.js


    diff --git a/docs/js_fake-translator.js.html b/docs/js_fake-translator.js.html index f76815f3b..a8048a9f2 100644 --- a/docs/js_fake-translator.js.html +++ b/docs/js_fake-translator.js.html @@ -173,7 +173,7 @@

    js/fake-translator.js


    diff --git a/docs/js_file-manager.js.html b/docs/js_file-manager.js.html index 46f10eecf..4fd131626 100644 --- a/docs/js_file-manager.js.html +++ b/docs/js_file-manager.js.html @@ -260,7 +260,7 @@

    js/file-manager.js


    diff --git a/docs/js_form-logic-error.js.html b/docs/js_form-logic-error.js.html index 9357a7c24..295a28a6d 100644 --- a/docs/js_form-logic-error.js.html +++ b/docs/js_form-logic-error.js.html @@ -78,7 +78,7 @@

    js/form-logic-error.js


    diff --git a/docs/js_form-model.js.html b/docs/js_form-model.js.html index 15306f127..9b7135859 100644 --- a/docs/js_form-model.js.html +++ b/docs/js_form-model.js.html @@ -1724,7 +1724,7 @@

    js/form-model.js


    diff --git a/docs/js_form.js.html b/docs/js_form.js.html index 08d1e597c..0670de1fa 100644 --- a/docs/js_form.js.html +++ b/docs/js_form.js.html @@ -396,47 +396,95 @@

    js/form.js

    // before repeats.init so that template contains role="page" when applicable this.pages.init(); - // after radio button data-name setting (now done in XLST) - let repeatsAdded = 0; + const repeatPaths = Array.from( + this.view.html.querySelectorAll('.or-repeat-info') + ).map((element) => element.dataset.name); + + // Builds a cache of known repeat path prefixes `repeat.init`. + // The cache is sorted by length, longest to shortest, to ensure + // that lookups using this cache find the deepest nested repeat + // for a given path. + this.repeatPathPrefixes = repeatPaths + .map((path) => `${path}/`) + .sort((a, b) => b.length - a.length); + + if (repeatPaths.length > 0) { + const nestedRepeats = Array.from( + this.view.html.querySelectorAll('.or-repeat .or-repeat') + ); + const nestedRepeatPaths = nestedRepeats.map((repeat) => + repeat.getAttribute('name') + ); + const nestedRepeatParents = repeatPaths.filter((prefix) => + nestedRepeatPaths.some((path) => path.startsWith(prefix)) + ); + const recalculationPaths = [ + ...nestedRepeatParents, + ...nestedRepeatPaths, + ]; - const tempHandlerAddRepeat = () => { - repeatsAdded += 1; - }; + let didRecalculate = false; - this.view.html.addEventListener( - events.AddRepeat().type, - tempHandlerAddRepeat - ); + const addRepeatType = events.AddRepeat().type; + const removeRepeatType = events.RemoveRepeat().type; + + // after radio button data-name setting (now done in XLST) + // Set temporary event handler to ensure calculations in newly added repeats are run for the first time + const tempHandlerAddRepeat = ({ detail }) => { + const recalculate = recalculationPaths.includes( + detail.repeatPath + ); + + if (recalculate) { + this.calc.update(detail); + didRecalculate = true; + } + }; + const tempHandlerRemoveRepeat = (event) => { + const recalculate = + didRecalculate || + recalculationPaths.includes( + event.detail.initRepeatInfo.repeatPath + ); + + if (recalculate) { + this.all = {}; + didRecalculate = false; + } + }; - this.repeatsInitialized = true; - this.repeats.init(); + if (recalculationPaths.length > 0) { + this.view.html.addEventListener( + addRepeatType, + tempHandlerAddRepeat + ); + this.view.html.addEventListener( + removeRepeatType, + tempHandlerRemoveRepeat + ); + } + + this.repeatsInitialized = true; + this.repeats.init(); + + if (recalculationPaths.length > 0) { + this.view.html.removeEventListener( + addRepeatType, + tempHandlerAddRepeat + ); + this.view.html.removeEventListener( + removeRepeatType, + tempHandlerRemoveRepeat + ); + } - // Recalculate after repeats are initialized. Previously this was performed in - // `tempHandlerAddRepeat`, but recalculating them all at once is significantly faster. - if (repeatsAdded > 0) { this.calc.update({ allRepeats: true, cloned: true, }); - this.all = {}; - - // Builds a cache of known repeat path prefixes `repeat.init`. - // The cache is sorted by length, longest to shortest, to ensure - // that lookups using this cache find the deepest nested repeat - // for a given path. - this.repeatPathPrefixes = Array.from( - this.view.html.querySelectorAll('.or-repeat-info') - ) - .map((element) => `${element.dataset.name}/`) - .sort((a, b) => b.length - a.length); } - this.view.html.removeEventListener( - events.AddRepeat().type, - tempHandlerAddRepeat - ); - // after repeats.init, but before itemset.update this.output.update(); @@ -1487,7 +1535,7 @@

    js/form.js

    * @type {string} * @default */ -Form.requiredTransformerVersion = '2.1.6'; +Form.requiredTransformerVersion = '2.1.7'; export { Form, FormModel }; @@ -1504,7 +1552,7 @@

    js/form.js


    diff --git a/docs/js_format.js.html b/docs/js_format.js.html index e74c5683f..0f8cac180 100644 --- a/docs/js_format.js.html +++ b/docs/js_format.js.html @@ -169,7 +169,7 @@

    js/format.js


    diff --git a/docs/js_geolocation.js.html b/docs/js_geolocation.js.html index 7ececcd15..0418f73ab 100644 --- a/docs/js_geolocation.js.html +++ b/docs/js_geolocation.js.html @@ -98,7 +98,7 @@

    js/geolocation.js


    diff --git a/docs/js_input.js.html b/docs/js_input.js.html index ae02ef886..a825ba41a 100644 --- a/docs/js_input.js.html +++ b/docs/js_input.js.html @@ -533,7 +533,7 @@

    js/input.js


    diff --git a/docs/js_itemset.js.html b/docs/js_itemset.js.html index ab7db4b35..913dfbc5b 100644 --- a/docs/js_itemset.js.html +++ b/docs/js_itemset.js.html @@ -600,7 +600,7 @@

    js/itemset.js


    diff --git a/docs/js_language.js.html b/docs/js_language.js.html index e80425d40..993cfd382 100644 --- a/docs/js_language.js.html +++ b/docs/js_language.js.html @@ -235,7 +235,7 @@

    js/language.js


    diff --git a/docs/js_nodeset.js.html b/docs/js_nodeset.js.html index 6f8f1a313..273dc1662 100644 --- a/docs/js_nodeset.js.html +++ b/docs/js_nodeset.js.html @@ -484,7 +484,7 @@

    js/nodeset.js


    diff --git a/docs/js_output.js.html b/docs/js_output.js.html index 5ba978c44..48a900d01 100644 --- a/docs/js_output.js.html +++ b/docs/js_output.js.html @@ -167,7 +167,7 @@

    js/output.js


    diff --git a/docs/js_page.js.html b/docs/js_page.js.html index 112a4a6a3..e086d90ba 100644 --- a/docs/js_page.js.html +++ b/docs/js_page.js.html @@ -570,7 +570,7 @@

    js/page.js


    diff --git a/docs/js_plugins.js.html b/docs/js_plugins.js.html index 842345e18..f99725434 100644 --- a/docs/js_plugins.js.html +++ b/docs/js_plugins.js.html @@ -73,7 +73,7 @@

    js/plugins.js


    diff --git a/docs/js_preload.js.html b/docs/js_preload.js.html index de477f7f0..4775a0725 100644 --- a/docs/js_preload.js.html +++ b/docs/js_preload.js.html @@ -241,7 +241,7 @@

    js/preload.js


    diff --git a/docs/js_print.js.html b/docs/js_print.js.html index e8cba4c68..c75268ab8 100644 --- a/docs/js_print.js.html +++ b/docs/js_print.js.html @@ -429,7 +429,7 @@

    js/print.js


    diff --git a/docs/js_progress.js.html b/docs/js_progress.js.html index 01b81ba46..fc6159f87 100644 --- a/docs/js_progress.js.html +++ b/docs/js_progress.js.html @@ -130,7 +130,7 @@

    js/progress.js


    diff --git a/docs/js_readonly.js.html b/docs/js_readonly.js.html index 6f0c57fdc..aca3e9def 100644 --- a/docs/js_readonly.js.html +++ b/docs/js_readonly.js.html @@ -98,7 +98,7 @@

    js/readonly.js


    diff --git a/docs/js_relevant.js.html b/docs/js_relevant.js.html index cc96e11f5..027ed885b 100644 --- a/docs/js_relevant.js.html +++ b/docs/js_relevant.js.html @@ -688,7 +688,7 @@

    js/relevant.js


    diff --git a/docs/js_repeat.js.html b/docs/js_repeat.js.html index b1e41b977..b70dfc1f1 100644 --- a/docs/js_repeat.js.html +++ b/docs/js_repeat.js.html @@ -519,9 +519,13 @@

    js/repeat.js

    $repeat.remove(); that.numberRepeats(repeatInfo); that.toggleButtons(repeatInfo); + + const detail = this.form.initialized + ? {} + : { initRepeatInfo: { repeatPath, repeatIndex } }; // Trigger the removerepeat on the next repeat or repeat-info(always present) // so that removerepeat handlers know where the repeat was removed - $next[0].dispatchEvent(events.RemoveRepeat()); + $next[0].dispatchEvent(events.RemoveRepeat(detail)); // Now remove the data node that.form.model.node(repeatPath, repeatIndex).remove(); }, @@ -621,7 +625,7 @@

    js/repeat.js


    diff --git a/docs/js_required.js.html b/docs/js_required.js.html index 5447c50b2..5346a1ff0 100644 --- a/docs/js_required.js.html +++ b/docs/js_required.js.html @@ -121,7 +121,7 @@

    js/required.js


    diff --git a/docs/js_sniffer.js.html b/docs/js_sniffer.js.html index 374003f29..a3238e955 100644 --- a/docs/js_sniffer.js.html +++ b/docs/js_sniffer.js.html @@ -115,7 +115,7 @@

    js/sniffer.js


    diff --git a/docs/js_support.js.html b/docs/js_support.js.html index 7ffe247e2..66e5fad4c 100644 --- a/docs/js_support.js.html +++ b/docs/js_support.js.html @@ -102,7 +102,7 @@

    js/support.js


    diff --git a/docs/js_timers.js.html b/docs/js_timers.js.html index 6c999bfc9..dce75280b 100644 --- a/docs/js_timers.js.html +++ b/docs/js_timers.js.html @@ -92,7 +92,7 @@

    js/timers.js


    diff --git a/docs/js_toc.js.html b/docs/js_toc.js.html index 134924404..03bd36fe2 100644 --- a/docs/js_toc.js.html +++ b/docs/js_toc.js.html @@ -247,7 +247,7 @@

    js/toc.js


    diff --git a/docs/js_translated-error.js.html b/docs/js_translated-error.js.html index 8f17c4667..bb25b9c3e 100644 --- a/docs/js_translated-error.js.html +++ b/docs/js_translated-error.js.html @@ -79,7 +79,7 @@

    js/translated-error.js


    diff --git a/docs/js_type-def.js.html b/docs/js_type-def.js.html index 3e22e30c5..ef0100560 100644 --- a/docs/js_type-def.js.html +++ b/docs/js_type-def.js.html @@ -91,7 +91,7 @@

    js/type-def.js


    diff --git a/docs/js_types.js.html b/docs/js_types.js.html index 76978b78d..d05878611 100644 --- a/docs/js_types.js.html +++ b/docs/js_types.js.html @@ -544,7 +544,7 @@

    js/types.js


    diff --git a/docs/js_utils.js.html b/docs/js_utils.js.html index f74308ab5..fcfe7aa0b 100644 --- a/docs/js_utils.js.html +++ b/docs/js_utils.js.html @@ -338,7 +338,7 @@

    js/utils.js


    diff --git a/docs/js_widget.js.html b/docs/js_widget.js.html index 68a3f1762..44e7e0f41 100644 --- a/docs/js_widget.js.html +++ b/docs/js_widget.js.html @@ -263,7 +263,7 @@

    js/widget.js


    diff --git a/docs/js_widgets-controller.js.html b/docs/js_widgets-controller.js.html index 792d78e63..35868f0e3 100644 --- a/docs/js_widgets-controller.js.html +++ b/docs/js_widgets-controller.js.html @@ -332,7 +332,7 @@

    js/widgets-controller.js


    diff --git a/docs/js_widgets.js.html b/docs/js_widgets.js.html index e99c1b78b..7874a8a97 100644 --- a/docs/js_widgets.js.html +++ b/docs/js_widgets.js.html @@ -135,7 +135,7 @@

    js/widgets.js


    diff --git a/docs/js_xpath-evaluator-binding.js.html b/docs/js_xpath-evaluator-binding.js.html index ff34a9bd3..efffb33ab 100644 --- a/docs/js_xpath-evaluator-binding.js.html +++ b/docs/js_xpath-evaluator-binding.js.html @@ -72,7 +72,7 @@

    js/xpath-evaluator-binding.js


    diff --git a/docs/module-calculate.html b/docs/module-calculate.html index 5c4eb3df5..eeda9e9fd 100644 --- a/docs/module-calculate.html +++ b/docs/module-calculate.html @@ -98,7 +98,7 @@

    (static)
    Source:
    @@ -276,7 +276,7 @@

    (static)
    Source:
    @@ -434,7 +434,7 @@

    (static)
    Source:
    @@ -644,7 +644,7 @@

    (static) Source:
    @@ -826,7 +826,7 @@

    (static) Source:
    @@ -1223,7 +1223,7 @@
    Parameters:

    diff --git a/docs/module-dialog.html b/docs/module-dialog.html index fcbdcb107..1a81658be 100644 --- a/docs/module-dialog.html +++ b/docs/module-dialog.html @@ -748,7 +748,7 @@
    Properties:

    diff --git a/docs/module-dom-utils-elementDataStore.html b/docs/module-dom-utils-elementDataStore.html index 30a03de8a..5ed25f993 100644 --- a/docs/module-dom-utils-elementDataStore.html +++ b/docs/module-dom-utils-elementDataStore.html @@ -954,7 +954,7 @@
    Returns:

    diff --git a/docs/module-dom-utils.html b/docs/module-dom-utils.html index 78542dffa..9581c6b94 100644 --- a/docs/module-dom-utils.html +++ b/docs/module-dom-utils.html @@ -3138,7 +3138,7 @@
    Returns:

    diff --git a/docs/module-event.html b/docs/module-event.html index 066dd60c5..bd2a6b257 100644 --- a/docs/module-event.html +++ b/docs/module-event.html @@ -523,7 +523,7 @@

    (inner) Be
    Source:
    @@ -632,7 +632,7 @@

    (inner) Change
    Source:
    @@ -741,7 +741,7 @@

    (inner) Source:
    @@ -850,7 +850,7 @@

    (inner) De
    Source:
    @@ -959,7 +959,7 @@

    (inner) Edited
    Source:
    @@ -1177,7 +1177,7 @@

    (inner) Source:
    @@ -1287,7 +1287,7 @@

    (inner) Source:
    @@ -1396,7 +1396,7 @@

    (inner) InputSource:
    @@ -1505,7 +1505,7 @@

    (inner) I
    Source:
    @@ -1730,7 +1730,7 @@

    (inner) I
    Source:
    @@ -2113,7 +2113,7 @@

    (inner) Prin
    Source:
    @@ -2222,7 +2222,7 @@

    (inner) Source:
    @@ -2526,7 +2526,7 @@
    Returns:
    -

    (inner) RemoveRepeat() → {CustomEvent}

    +

    (inner) RemoveRepeat(detailopt) → {CustomEvent}

    @@ -2538,7 +2538,7 @@

    (inner)
    Source:
    @@ -2591,6 +2591,67 @@

    (inner) +

    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeAttributesDescription
    detail + + +RemoveRepeatDetail + + + + + + <optional>
    + + + + + +
    + + @@ -2647,7 +2708,7 @@

    (inner) <
    Source:
    @@ -2756,7 +2817,7 @@

    (inner) <
    Source:
    @@ -2908,6 +2969,220 @@
    Returns:
    +

    Type Definitions

    + + + +

    RemoveRepeatDetail

    + + + + + +
    + + +
    Source:
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    Properties:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeAttributesDescription
    initRepeatInfo + + +object + + + + + + <optional>
    + + + +
    +
    Properties
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeAttributesDescription
    repeatPath + + +string + + + + + + <optional>
    + + + +
    repeatIndex + + +number + + + + + + <optional>
    + + + +
    + +
    + + + + + + + + + + + + + + + @@ -2924,7 +3199,7 @@
    Returns:

    diff --git a/docs/module-fake-translator.html b/docs/module-fake-translator.html index 14fd168ec..c699082d4 100644 --- a/docs/module-fake-translator.html +++ b/docs/module-fake-translator.html @@ -383,7 +383,7 @@
    Returns:

    diff --git a/docs/module-fileManager.html b/docs/module-fileManager.html index 393ecd5e0..bbdf4d31d 100644 --- a/docs/module-fileManager.html +++ b/docs/module-fileManager.html @@ -1228,7 +1228,7 @@
    Returns:

    diff --git a/docs/module-format-time.html b/docs/module-format-time.html index 68f1d6458..9f67299c2 100644 --- a/docs/module-format-time.html +++ b/docs/module-format-time.html @@ -630,7 +630,7 @@
    Parameters:

    diff --git a/docs/module-format.html b/docs/module-format.html index f8ad1a997..357910535 100644 --- a/docs/module-format.html +++ b/docs/module-format.html @@ -512,7 +512,7 @@
    Properties:

    diff --git a/docs/module-input.html b/docs/module-input.html index 659c96da5..1d597a408 100644 --- a/docs/module-input.html +++ b/docs/module-input.html @@ -3234,7 +3234,7 @@
    Returns:

    diff --git a/docs/module-itemset.html b/docs/module-itemset.html index c8204b962..bd1f3e677 100644 --- a/docs/module-itemset.html +++ b/docs/module-itemset.html @@ -1554,7 +1554,7 @@
    Parameters:

    diff --git a/docs/module-language.html b/docs/module-language.html index 5b30862cb..b438b34e0 100644 --- a/docs/module-language.html +++ b/docs/module-language.html @@ -661,7 +661,7 @@
    Parameters:

    diff --git a/docs/module-output.html b/docs/module-output.html index 32dcbc881..da46e0c13 100644 --- a/docs/module-output.html +++ b/docs/module-output.html @@ -249,7 +249,7 @@
    Parameters:

    diff --git a/docs/module-pages.html b/docs/module-pages.html index e505adabe..ab1c36489 100644 --- a/docs/module-pages.html +++ b/docs/module-pages.html @@ -2960,7 +2960,7 @@

    (static) init diff --git a/docs/module-preloader.html b/docs/module-preloader.html index c5117ab75..d7a8d6157 100644 --- a/docs/module-preloader.html +++ b/docs/module-preloader.html @@ -1347,7 +1347,7 @@
    Returns:

    diff --git a/docs/module-print.html b/docs/module-print.html index b317ccdaa..ec3674091 100644 --- a/docs/module-print.html +++ b/docs/module-print.html @@ -1844,7 +1844,7 @@
    Properties:

    diff --git a/docs/module-progress.html b/docs/module-progress.html index 41755c9fe..8f9fdfb64 100644 --- a/docs/module-progress.html +++ b/docs/module-progress.html @@ -811,7 +811,7 @@

    (static)
    diff --git a/docs/module-readonly.html b/docs/module-readonly.html index 0b3741be8..0975702e8 100644 --- a/docs/module-readonly.html +++ b/docs/module-readonly.html @@ -249,7 +249,7 @@

    Parameters:

    diff --git a/docs/module-relevant.html b/docs/module-relevant.html index c3fbc6193..43ec7941d 100644 --- a/docs/module-relevant.html +++ b/docs/module-relevant.html @@ -3316,7 +3316,7 @@
    Properties:

    diff --git a/docs/module-repeat.html b/docs/module-repeat.html index 8f3cae0c0..651ccdb12 100644 --- a/docs/module-repeat.html +++ b/docs/module-repeat.html @@ -1077,7 +1077,7 @@
    Returns:

    diff --git a/docs/module-required.html b/docs/module-required.html index a3f5e0fe7..6998eea16 100644 --- a/docs/module-required.html +++ b/docs/module-required.html @@ -330,7 +330,7 @@
    Parameters:

    diff --git a/docs/module-sniffer-browser.html b/docs/module-sniffer-browser.html index a5d6120b8..cbc127e2c 100644 --- a/docs/module-sniffer-browser.html +++ b/docs/module-sniffer-browser.html @@ -224,7 +224,7 @@
    Type:

    diff --git a/docs/module-sniffer-os.html b/docs/module-sniffer-os.html index e9c1735fb..94a694e95 100644 --- a/docs/module-sniffer-os.html +++ b/docs/module-sniffer-os.html @@ -358,7 +358,7 @@
    Type:

    diff --git a/docs/module-sniffer.html b/docs/module-sniffer.html index 71214b909..f4ec6be13 100644 --- a/docs/module-sniffer.html +++ b/docs/module-sniffer.html @@ -107,7 +107,7 @@

    Namespaces


    diff --git a/docs/module-support.html b/docs/module-support.html index 9f98a81a0..77409dcc8 100644 --- a/docs/module-support.html +++ b/docs/module-support.html @@ -320,7 +320,7 @@
    Type:

    diff --git a/docs/module-toc.html b/docs/module-toc.html index e8a246b0d..c3ba73ff6 100644 --- a/docs/module-toc.html +++ b/docs/module-toc.html @@ -825,7 +825,7 @@
    Returns:

    diff --git a/docs/module-types-types.barcode.html b/docs/module-types-types.barcode.html index 4c2ace27d..0751aabb1 100644 --- a/docs/module-types-types.barcode.html +++ b/docs/module-types-types.barcode.html @@ -256,7 +256,7 @@
    Returns:

    diff --git a/docs/module-types-types.binary.html b/docs/module-types-types.binary.html index d50654975..3f4742326 100644 --- a/docs/module-types-types.binary.html +++ b/docs/module-types-types.binary.html @@ -256,7 +256,7 @@
    Returns:

    diff --git a/docs/module-types-types.date.html b/docs/module-types-types.date.html index 70b67ab0c..15d7d0a6c 100644 --- a/docs/module-types-types.date.html +++ b/docs/module-types-types.date.html @@ -462,7 +462,7 @@
    Returns:

    diff --git a/docs/module-types-types.datetime.html b/docs/module-types-types.datetime.html index ad4eb3a0c..e0b8e20f0 100644 --- a/docs/module-types-types.datetime.html +++ b/docs/module-types-types.datetime.html @@ -462,7 +462,7 @@
    Returns:

    diff --git a/docs/module-types-types.decimal.html b/docs/module-types-types.decimal.html index 0bd1e3bcb..f146d31d5 100644 --- a/docs/module-types-types.decimal.html +++ b/docs/module-types-types.decimal.html @@ -465,7 +465,7 @@
    Returns:

    diff --git a/docs/module-types-types.geopoint.html b/docs/module-types-types.geopoint.html index d93209da5..80336275f 100644 --- a/docs/module-types-types.geopoint.html +++ b/docs/module-types-types.geopoint.html @@ -459,7 +459,7 @@
    Returns:

    diff --git a/docs/module-types-types.geoshape.html b/docs/module-types-types.geoshape.html index c507e2837..afd75223a 100644 --- a/docs/module-types-types.geoshape.html +++ b/docs/module-types-types.geoshape.html @@ -459,7 +459,7 @@
    Returns:

    diff --git a/docs/module-types-types.geotrace.html b/docs/module-types-types.geotrace.html index 4205a32d1..534fd846e 100644 --- a/docs/module-types-types.geotrace.html +++ b/docs/module-types-types.geotrace.html @@ -459,7 +459,7 @@
    Returns:

    diff --git a/docs/module-types-types.html b/docs/module-types-types.html index d04639a34..9f93c0463 100644 --- a/docs/module-types-types.html +++ b/docs/module-types-types.html @@ -190,7 +190,7 @@

    Namespaces


    diff --git a/docs/module-types-types.int.html b/docs/module-types-types.int.html index 164936629..9882d989a 100644 --- a/docs/module-types-types.int.html +++ b/docs/module-types-types.int.html @@ -465,7 +465,7 @@
    Returns:

    diff --git a/docs/module-types-types.select.html b/docs/module-types-types.select.html index 426511a6c..2a3d40949 100644 --- a/docs/module-types-types.select.html +++ b/docs/module-types-types.select.html @@ -256,7 +256,7 @@
    Returns:

    diff --git a/docs/module-types-types.select1.html b/docs/module-types-types.select1.html index 6fd3bc076..071577001 100644 --- a/docs/module-types-types.select1.html +++ b/docs/module-types-types.select1.html @@ -256,7 +256,7 @@
    Returns:

    diff --git a/docs/module-types-types.string.html b/docs/module-types-types.string.html index be77286e1..2dcc222e9 100644 --- a/docs/module-types-types.string.html +++ b/docs/module-types-types.string.html @@ -410,7 +410,7 @@
    Returns:

    diff --git a/docs/module-types-types.time.html b/docs/module-types-types.time.html index e1398223a..e56c37a36 100644 --- a/docs/module-types-types.time.html +++ b/docs/module-types-types.time.html @@ -704,7 +704,7 @@
    Returns:

    diff --git a/docs/module-types.html b/docs/module-types.html index 428d4b3d6..2b94006de 100644 --- a/docs/module-types.html +++ b/docs/module-types.html @@ -185,7 +185,7 @@

    Namespaces


    diff --git a/docs/module-utils.html b/docs/module-utils.html index d687df9bc..deebbf94c 100644 --- a/docs/module-utils.html +++ b/docs/module-utils.html @@ -1583,7 +1583,7 @@

    (inner) join
    diff --git a/docs/module-widgets-controller-Collection.html b/docs/module-widgets-controller-Collection.html index 79a53da90..220213a3e 100644 --- a/docs/module-widgets-controller-Collection.html +++ b/docs/module-widgets-controller-Collection.html @@ -1166,7 +1166,7 @@

    Parameters:

    diff --git a/docs/module-widgets-controller.html b/docs/module-widgets-controller.html index 7daa39c06..d5226a730 100644 --- a/docs/module-widgets-controller.html +++ b/docs/module-widgets-controller.html @@ -1413,7 +1413,7 @@
    Parameters:

    diff --git a/docs/module-widgets.html b/docs/module-widgets.html index 665bf865c..48600e89d 100644 --- a/docs/module-widgets.html +++ b/docs/module-widgets.html @@ -178,7 +178,7 @@

    widgets


    diff --git a/docs/module.exports.html b/docs/module.exports.html index b83a7605a..0bce5f24b 100644 --- a/docs/module.exports.html +++ b/docs/module.exports.html @@ -262,7 +262,7 @@

    Extends


    diff --git a/docs/tutorial-00-getting-started.html b/docs/tutorial-00-getting-started.html index c1a615160..04e928fef 100644 --- a/docs/tutorial-00-getting-started.html +++ b/docs/tutorial-00-getting-started.html @@ -129,7 +129,7 @@

    Usage as a library


    diff --git a/docs/tutorial-10-configuration.html b/docs/tutorial-10-configuration.html index 35a88e8c2..56cb90cea 100644 --- a/docs/tutorial-10-configuration.html +++ b/docs/tutorial-10-configuration.html @@ -95,7 +95,7 @@

    Explicitly set the default for
    diff --git a/docs/tutorial-20-development.html b/docs/tutorial-20-development.html index 5050d2ac9..36d2124bc 100644 --- a/docs/tutorial-20-development.html +++ b/docs/tutorial-20-development.html @@ -146,7 +146,7 @@

    Release a new version


    diff --git a/docs/tutorial-30-events.html b/docs/tutorial-30-events.html index 84245b828..e77c8162d 100644 --- a/docs/tutorial-30-events.html +++ b/docs/tutorial-30-events.html @@ -89,7 +89,7 @@
    progress-update

    diff --git a/docs/tutorial-40-widgets.html b/docs/tutorial-40-widgets.html index 42f31db41..26c91ea2e 100644 --- a/docs/tutorial-40-widgets.html +++ b/docs/tutorial-40-widgets.html @@ -200,7 +200,7 @@

    DON'T


    diff --git a/docs/tutorial-90-ie11.html b/docs/tutorial-90-ie11.html index 6a5607a8a..9904663ae 100644 --- a/docs/tutorial-90-ie11.html +++ b/docs/tutorial-90-ie11.html @@ -69,7 +69,7 @@

    Internet Explorer 11 Build


    diff --git a/docs/widget_analog-scale_analog-scalepicker.js.html b/docs/widget_analog-scale_analog-scalepicker.js.html index d194327f9..b5afd9add 100644 --- a/docs/widget_analog-scale_analog-scalepicker.js.html +++ b/docs/widget_analog-scale_analog-scalepicker.js.html @@ -265,7 +265,7 @@

    widget/analog-scale/analog-scalepicker.js


    diff --git a/docs/widget_big-image_image-viewer.js.html b/docs/widget_big-image_image-viewer.js.html index fbc4c4f65..37fbfce7e 100644 --- a/docs/widget_big-image_image-viewer.js.html +++ b/docs/widget_big-image_image-viewer.js.html @@ -93,7 +93,7 @@

    widget/big-image/image-viewer.js


    diff --git a/docs/widget_columns_columns.js.html b/docs/widget_columns_columns.js.html index 6aeb11886..a620f2002 100644 --- a/docs/widget_columns_columns.js.html +++ b/docs/widget_columns_columns.js.html @@ -101,7 +101,7 @@

    widget/columns/columns.js


    diff --git a/docs/widget_comment_commentwidget.js.html b/docs/widget_comment_commentwidget.js.html index e8829a954..11ca520c7 100644 --- a/docs/widget_comment_commentwidget.js.html +++ b/docs/widget_comment_commentwidget.js.html @@ -315,7 +315,7 @@

    widget/comment/commentwidget.js


    diff --git a/docs/widget_date-mobile_datepicker-mobile.js.html b/docs/widget_date-mobile_datepicker-mobile.js.html index 19d1a74aa..478b52585 100644 --- a/docs/widget_date-mobile_datepicker-mobile.js.html +++ b/docs/widget_date-mobile_datepicker-mobile.js.html @@ -130,7 +130,7 @@

    widget/date-mobile/datepicker-mobile.js


    diff --git a/docs/widget_date-native-ios_datepicker-native-ios.js.html b/docs/widget_date-native-ios_datepicker-native-ios.js.html index 5dff882bd..57b7184ba 100644 --- a/docs/widget_date-native-ios_datepicker-native-ios.js.html +++ b/docs/widget_date-native-ios_datepicker-native-ios.js.html @@ -117,7 +117,7 @@

    widget/date-native-ios/datepicker-native-ios.js


    diff --git a/docs/widget_date-native_datepicker-native.js.html b/docs/widget_date-native_datepicker-native.js.html index 690dec42e..cb7fe5305 100644 --- a/docs/widget_date-native_datepicker-native.js.html +++ b/docs/widget_date-native_datepicker-native.js.html @@ -106,7 +106,7 @@

    widget/date-native/datepicker-native.js


    diff --git a/docs/widget_date_datepicker-extended.js.html b/docs/widget_date_datepicker-extended.js.html index fbda3d1d4..822c665e4 100644 --- a/docs/widget_date_datepicker-extended.js.html +++ b/docs/widget_date_datepicker-extended.js.html @@ -290,7 +290,7 @@

    widget/date/datepicker-extended.js


    diff --git a/docs/widget_datetime_datetimepicker-extended.js.html b/docs/widget_datetime_datetimepicker-extended.js.html index f842846a4..e4853a1ba 100644 --- a/docs/widget_datetime_datetimepicker-extended.js.html +++ b/docs/widget_datetime_datetimepicker-extended.js.html @@ -290,7 +290,7 @@

    widget/datetime/datetimepicker-extended.js


    diff --git a/docs/widget_draw_draw-widget.js.html b/docs/widget_draw_draw-widget.js.html index 9e0be8c1f..2c4d71195 100644 --- a/docs/widget_draw_draw-widget.js.html +++ b/docs/widget_draw_draw-widget.js.html @@ -184,10 +184,13 @@

    widget/draw/draw-widget.js

    this._handleFiles(existingFilename); } + // This listener serves to capture a drawing when the submit button is clicked within [DELAY] + // milliseconds after the last stroke ended. Note that this could be the entire drawing/signature. + canvas.addEventListener('blur', this._forceUpdate.bind(this)); + // We built a delay in saving on stroke "end", to avoid excessive updating // This event does not fire on touchscreens for which we use the .hide-canvas-btn click // to do the same thing. - canvas.addEventListener('blur', this._forceUpdate.bind(this)); this.initialize = fileManager.init().then(() => { that.pad = new SignaturePad(canvas, { @@ -512,7 +515,7 @@

    widget/draw/draw-widget.js

    const that = this; if (this.element.value) { - // This discombulated line is to help the i18next parser pick up all 3 keys. + // This discombobulated line is to help the i18next parser pick up all 3 keys. const item = this.props.type === 'signature' ? t('drawwidget.signature') @@ -533,6 +536,11 @@

    widget/draw/draw-widget.js

    delete that.element.dataset.loadedUrl; that.element.dataset.filenamePostfix = ''; $(that.element).val('').trigger('change'); + if (that._updateWithDelay) { + // This ensures that an emptied canvas will not be considered a drawing to be captured + // in _forceUpdate, e.g. after the blur event fires on an empty canvas see issue #924 + that._updateWithDelay = null; + } // Annotate file input that.$widget .find('input[type=file]') @@ -759,7 +767,7 @@

    widget/draw/draw-widget.js


    diff --git a/docs/widget_example_my-widget.js.html b/docs/widget_example_my-widget.js.html index bc8b44885..9cdfdf7f9 100644 --- a/docs/widget_example_my-widget.js.html +++ b/docs/widget_example_my-widget.js.html @@ -168,7 +168,7 @@

    widget/example/my-widget.js


    diff --git a/docs/widget_file_filepicker.js.html b/docs/widget_file_filepicker.js.html index f47b6f144..aa66b6386 100644 --- a/docs/widget_file_filepicker.js.html +++ b/docs/widget_file_filepicker.js.html @@ -482,7 +482,7 @@

    widget/file/filepicker.js


    diff --git a/docs/widget_geo_geopicker.js.html b/docs/widget_geo_geopicker.js.html index 095642d64..a32bdc74b 100644 --- a/docs/widget_geo_geopicker.js.html +++ b/docs/widget_geo_geopicker.js.html @@ -1706,7 +1706,7 @@

    widget/geo/geopicker.js


    diff --git a/docs/widget_image-map_image-map.js.html b/docs/widget_image-map_image-map.js.html index e51406223..3eb0b1b77 100644 --- a/docs/widget_image-map_image-map.js.html +++ b/docs/widget_image-map_image-map.js.html @@ -383,7 +383,7 @@

    widget/image-map/image-map.js


    diff --git a/docs/widget_note_notewidget.js.html b/docs/widget_note_notewidget.js.html index ab333866a..fdeb7ac42 100644 --- a/docs/widget_note_notewidget.js.html +++ b/docs/widget_note_notewidget.js.html @@ -66,7 +66,7 @@

    widget/note/notewidget.js


    diff --git a/docs/widget_number-input_number-input.js.html b/docs/widget_number-input_number-input.js.html index afb4eeb46..766fabb56 100644 --- a/docs/widget_number-input_number-input.js.html +++ b/docs/widget_number-input_number-input.js.html @@ -220,7 +220,7 @@

    widget/number-input/number-input.js


    diff --git a/docs/widget_radio_radiopicker.js.html b/docs/widget_radio_radiopicker.js.html index 113035304..256702528 100644 --- a/docs/widget_radio_radiopicker.js.html +++ b/docs/widget_radio_radiopicker.js.html @@ -194,7 +194,7 @@

    widget/radio/radiopicker.js


    diff --git a/docs/widget_range_range-widget.js.html b/docs/widget_range_range-widget.js.html index 65e8cde66..df9565122 100644 --- a/docs/widget_range_range-widget.js.html +++ b/docs/widget_range_range-widget.js.html @@ -320,7 +320,7 @@

    widget/range/range-widget.js


    diff --git a/docs/widget_rank_rank-widget.js.html b/docs/widget_rank_rank-widget.js.html index 375e26967..251e14fdb 100644 --- a/docs/widget_rank_rank-widget.js.html +++ b/docs/widget_rank_rank-widget.js.html @@ -270,7 +270,7 @@

    widget/rank/rank-widget.js


    diff --git a/docs/widget_rating_rating.js.html b/docs/widget_rating_rating.js.html index 7628361b9..0f6090d49 100644 --- a/docs/widget_rating_rating.js.html +++ b/docs/widget_rating_rating.js.html @@ -214,7 +214,7 @@

    widget/rating/rating.js


    diff --git a/docs/widget_select-autocomplete_autocomplete.js.html b/docs/widget_select-autocomplete_autocomplete.js.html index 13c74fc49..f70c2bcf3 100644 --- a/docs/widget_select-autocomplete_autocomplete.js.html +++ b/docs/widget_select-autocomplete_autocomplete.js.html @@ -285,7 +285,7 @@

    widget/select-autocomplete/autocomplete.js


    diff --git a/docs/widget_select-desktop_selectpicker.js.html b/docs/widget_select-desktop_selectpicker.js.html index ee3562edd..6bd5f5949 100644 --- a/docs/widget_select-desktop_selectpicker.js.html +++ b/docs/widget_select-desktop_selectpicker.js.html @@ -369,7 +369,7 @@

    widget/select-desktop/selectpicker.js


    diff --git a/docs/widget_select-likert_likertitem.js.html b/docs/widget_select-likert_likertitem.js.html index 48ce06820..acaedc51e 100644 --- a/docs/widget_select-likert_likertitem.js.html +++ b/docs/widget_select-likert_likertitem.js.html @@ -66,7 +66,7 @@

    widget/select-likert/likertitem.js


    diff --git a/docs/widget_select-media_select-media.js.html b/docs/widget_select-media_select-media.js.html index 336cf31cd..cf5c3f54c 100644 --- a/docs/widget_select-media_select-media.js.html +++ b/docs/widget_select-media_select-media.js.html @@ -89,7 +89,7 @@

    widget/select-media/select-media.js


    diff --git a/docs/widget_select-mobile_selectpicker.js.html b/docs/widget_select-mobile_selectpicker.js.html index 0e7f65625..5e8f10984 100644 --- a/docs/widget_select-mobile_selectpicker.js.html +++ b/docs/widget_select-mobile_selectpicker.js.html @@ -119,7 +119,7 @@

    widget/select-mobile/selectpicker.js


    diff --git a/docs/widget_table_tablewidget.js.html b/docs/widget_table_tablewidget.js.html index e79ffcd9a..8c06d4827 100644 --- a/docs/widget_table_tablewidget.js.html +++ b/docs/widget_table_tablewidget.js.html @@ -66,7 +66,7 @@

    widget/table/tablewidget.js


    diff --git a/docs/widget_text-max_text-max.js.html b/docs/widget_text-max_text-max.js.html index 03c1d8044..9e41735f7 100644 --- a/docs/widget_text-max_text-max.js.html +++ b/docs/widget_text-max_text-max.js.html @@ -86,7 +86,7 @@

    widget/text-max/text-max.js


    diff --git a/docs/widget_text-print_text-print.js.html b/docs/widget_text-print_text-print.js.html index f77ed86e9..6a13d661a 100644 --- a/docs/widget_text-print_text-print.js.html +++ b/docs/widget_text-print_text-print.js.html @@ -116,7 +116,7 @@

    widget/text-print/text-print.js


    diff --git a/docs/widget_textarea_textarea.js.html b/docs/widget_textarea_textarea.js.html index 36163707e..22ae17637 100644 --- a/docs/widget_textarea_textarea.js.html +++ b/docs/widget_textarea_textarea.js.html @@ -111,7 +111,7 @@

    widget/textarea/textarea.js


    diff --git a/docs/widget_thousands-sep_thousands-sep.js.html b/docs/widget_thousands-sep_thousands-sep.js.html index f4d01a971..c2d2905f4 100644 --- a/docs/widget_thousands-sep_thousands-sep.js.html +++ b/docs/widget_thousands-sep_thousands-sep.js.html @@ -125,7 +125,7 @@

    widget/thousands-sep/thousands-sep.js


    diff --git a/docs/widget_time_timepicker-extended.js.html b/docs/widget_time_timepicker-extended.js.html index e0c2f6210..53758956d 100644 --- a/docs/widget_time_timepicker-extended.js.html +++ b/docs/widget_time_timepicker-extended.js.html @@ -169,7 +169,7 @@

    widget/time/timepicker-extended.js


    diff --git a/docs/widget_time_timepicker.js.html b/docs/widget_time_timepicker.js.html index 60f98976e..dedc0f66a 100644 --- a/docs/widget_time_timepicker.js.html +++ b/docs/widget_time_timepicker.js.html @@ -1448,7 +1448,7 @@

    widget/time/timepicker.js


    diff --git a/docs/widget_url_url-widget.js.html b/docs/widget_url_url-widget.js.html index e02d7ac91..0772e1fda 100644 --- a/docs/widget_url_url-widget.js.html +++ b/docs/widget_url_url-widget.js.html @@ -111,7 +111,7 @@

    widget/url/url-widget.js


    diff --git a/package-lock.json b/package-lock.json index 1c4e9333a..0557dbb52 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "enketo-core", - "version": "6.1.5", + "version": "6.1.6", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -291,22 +291,22 @@ "dev": true }, "@babel/runtime": { - "version": "7.17.2", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.2.tgz", - "integrity": "sha512-hzeyJyMA1YGdJTuWU0e/j4wKXrU4OMFvY2MSlaI9B7VQb0r5cxTE3EAIS2Q7Tn2RIcDkRvTA/v2JsAEhxe99uw==", + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.6.tgz", + "integrity": "sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA==", "dev": true, "requires": { - "regenerator-runtime": "^0.13.4" + "regenerator-runtime": "^0.13.11" } }, "@babel/runtime-corejs3": { - "version": "7.17.2", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.17.2.tgz", - "integrity": "sha512-NcKtr2epxfIrNM4VOmPKO46TvDMCBhgi2CrSHaEarrz+Plk2K5r9QemmOFTGpZaoKnWoGH5MO+CzeRsih/Fcgg==", + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.20.6.tgz", + "integrity": "sha512-tqeujPiuEfcH067mx+7otTQWROVMKHXEaOQcAeNV5dDdbPWvPcFA8/W9LXw2NfjNmOetqLl03dfnG2WALPlsRQ==", "dev": true, "requires": { - "core-js-pure": "^3.20.2", - "regenerator-runtime": "^0.13.4" + "core-js-pure": "^3.25.1", + "regenerator-runtime": "^0.13.11" } }, "@babel/template": { @@ -992,9 +992,9 @@ "dev": true }, "array-flatten": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-3.0.0.tgz", - "integrity": "sha512-zPMVc3ZYlGLNk4mpK1NzP2wg0ml9t7fUgDsayR5Y5rSzxQilzR9FGu/EH2jQOcKSAeAfWeylyW8juy3OkWRvNA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", "dev": true }, "array-includes": { @@ -1239,7 +1239,7 @@ "ast-types-flow": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=", + "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==", "dev": true }, "astral-regex": { @@ -1285,9 +1285,9 @@ "dev": true }, "axe-core": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.1.tgz", - "integrity": "sha512-gd1kmb21kwNuWr6BQz8fv6GNECPBnUasepcoLbekws23NVBLODdsClRZ+bQ8+9Uomf3Sm3+Vwn0oYG9NvwnJCw==", + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.6.1.tgz", + "integrity": "sha512-lCZN5XRuOnpG4bpMq8v0khrWtUOn+i8lZSb6wHZH56ZfbIEv6XwJV84AAueh9/zi7qPVJ/E4yz6fmsiyOmXR4w==", "dev": true }, "axobject-query": { @@ -1545,10 +1545,19 @@ "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==", "dev": true }, + "busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "dev": true, + "requires": { + "streamsearch": "^1.1.0" + } + }, "bytes": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz", - "integrity": "sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true }, "cacache": { @@ -1678,14 +1687,14 @@ } }, "chai": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz", - "integrity": "sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", + "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", "dev": true, "requires": { "assertion-error": "^1.1.0", "check-error": "^1.0.2", - "deep-eql": "^3.0.1", + "deep-eql": "^4.1.2", "get-func-name": "^2.0.0", "loupe": "^2.3.1", "pathval": "^1.1.1", @@ -1976,9 +1985,9 @@ "dev": true }, "core-js-pure": { - "version": "3.21.1", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.21.1.tgz", - "integrity": "sha512-12VZfFIu+wyVbBebyHmRTuEE/tZrB4tJToWcwAMcsp3h4+sHR+fMJWbKpYiCRWlhFBq+KNyO8rIV9rTkeVmznQ==", + "version": "3.26.1", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.26.1.tgz", + "integrity": "sha512-VVXcDpp/xJ21KdULRq/lXdLzQAtX7+37LzpyfFM973il0tWSsDEoyzG38G14AjTpK9VTfiNM9jnFauq/CpaWGQ==", "dev": true }, "core-util-is": { @@ -2110,9 +2119,9 @@ } }, "deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", "dev": true, "requires": { "type-detect": "^4.0.0" @@ -2333,17 +2342,94 @@ "dev": true }, "enketo-transformer": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/enketo-transformer/-/enketo-transformer-2.1.6.tgz", - "integrity": "sha512-FYCA7ESxgnU/7g9K/AzELeYdvYKINJ/E7sF0H7KYIc1p004Lad4GIpr3XYrX9R3kZkVJvpF0l320YfL9xrarUg==", + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/enketo-transformer/-/enketo-transformer-2.1.7.tgz", + "integrity": "sha512-/w3OvSQwzHiLN6lWkOIG4wmeBOXPeRkkzUhnG1TkIqcqE6D+LLiRJgNj43Gmh6SPef7z6skgR72r9k6OnZn+eg==", "dev": true, "requires": { - "body-parser": "^1.20.0", - "express": "^5.0.0-beta.1", + "body-parser": "^1.20.1", + "express": "^4.18.2", "language-tags": "1.0.5", "libxslt": "0.10.0", - "request": "^2.88.2", - "string-direction": "0.1.x" + "string-direction": "0.1.x", + "undici": "^5.13.0" + }, + "dependencies": { + "body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "dev": true, + "requires": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + } + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true + }, + "http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + } + }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true + } } }, "enquirer": { @@ -3161,37 +3247,200 @@ } }, "eslint-plugin-jsx-a11y": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.5.1.tgz", - "integrity": "sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g==", + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz", + "integrity": "sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q==", "dev": true, "requires": { - "@babel/runtime": "^7.16.3", + "@babel/runtime": "^7.18.9", "aria-query": "^4.2.2", - "array-includes": "^3.1.4", + "array-includes": "^3.1.5", "ast-types-flow": "^0.0.7", - "axe-core": "^4.3.5", + "axe-core": "^4.4.3", "axobject-query": "^2.2.0", - "damerau-levenshtein": "^1.0.7", + "damerau-levenshtein": "^1.0.8", "emoji-regex": "^9.2.2", "has": "^1.0.3", - "jsx-ast-utils": "^3.2.1", + "jsx-ast-utils": "^3.3.2", "language-tags": "^1.0.5", - "minimatch": "^3.0.4" + "minimatch": "^3.1.2", + "semver": "^6.3.0" }, "dependencies": { + "array-includes": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" + } + }, + "define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dev": true, + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, "emoji-regex": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true + }, + "es-abstract": { + "version": "1.20.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.5.tgz", + "integrity": "sha512-7h8MM2EQhsCA7pU/Nv78qOXFpD8Rhqd12gYiSJVkrH9+e8VuA8JlPJK/hQjjlLv6pJvx/z1iRFKzYb0XT/RuAQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.3", + "get-symbol-description": "^1.0.0", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.2", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "unbox-primitive": "^1.0.2" + } + }, + "get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true + }, + "is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "jsx-ast-utils": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", + "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", + "dev": true, + "requires": { + "array-includes": "^3.1.5", + "object.assign": "^4.1.3" + } + }, + "object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "dev": true + }, + "object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } } } }, "eslint-plugin-prettier": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz", - "integrity": "sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", + "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", "dev": true, "requires": { "prettier-linter-helpers": "^1.0.0" @@ -3371,9 +3620,9 @@ } }, "eslint-plugin-react-hooks": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.5.0.tgz", - "integrity": "sha512-8k1gRt7D7h03kd+SAAlzXkQwWK22BnK6GKZG+FJA6BAGy22CFvl8kCIXKpVux0cCxMWDQUPqSok0LKaZ0aOcCw==", + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", "dev": true }, "eslint-plugin-unicorn": { @@ -3571,118 +3820,154 @@ } }, "express": { - "version": "5.0.0-beta.1", - "resolved": "https://registry.npmjs.org/express/-/express-5.0.0-beta.1.tgz", - "integrity": "sha512-KPtBrlZoQu2Ps0Ce/Imqtq73AB0KBJ8Gx59yZQ3pmDJU2/LhcoZETo03oSgtTQufbcLXt/WBITk/jMjl/WMyrQ==", + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", "dev": true, "requires": { - "accepts": "~1.3.7", - "array-flatten": "3.0.0", - "body-parser": "2.0.0-beta.1", + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.4.1", + "cookie": "0.5.0", "cookie-signature": "1.0.6", - "debug": "3.1.0", - "depd": "~1.1.2", + "debug": "2.6.9", + "depd": "2.0.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "~1.1.2", + "finalhandler": "1.2.0", "fresh": "0.5.2", + "http-errors": "2.0.0", "merge-descriptors": "1.0.1", "methods": "~1.1.2", - "mime-types": "~2.1.34", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "parseurl": "~1.3.3", - "path-is-absolute": "1.0.1", + "path-to-regexp": "0.1.7", "proxy-addr": "~2.0.7", - "qs": "6.9.6", + "qs": "6.11.0", "range-parser": "~1.2.1", - "router": "2.0.0-beta.1", "safe-buffer": "5.2.1", - "send": "1.0.0-beta.1", - "serve-static": "2.0.0-beta.1", + "send": "0.18.0", + "serve-static": "1.15.0", "setprototypeof": "1.2.0", - "statuses": "~1.5.0", + "statuses": "2.0.1", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" }, "dependencies": { + "accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, "body-parser": { - "version": "2.0.0-beta.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.0.0-beta.1.tgz", - "integrity": "sha512-I1v2bt2OdYqtmk8nEFZuEf+9Opb30DphYwTPDbgg/OorSAoJOuTpWyDrZaSWQw7FdoevbBRCP2+9z/halXSWcA==", + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", "dev": true, "requires": { - "bytes": "3.1.1", + "bytes": "3.1.2", "content-type": "~1.0.4", "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.8.1", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.9.6", - "raw-body": "2.4.2", - "type-is": "~1.6.18" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" } }, "cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", "dev": true }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true + }, + "finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", "dev": true, "requires": { - "ms": "2.0.0" + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" } }, "http-errors": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", - "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, "requires": { - "depd": "~1.1.2", + "depd": "2.0.0", "inherits": "2.0.4", "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", + "statuses": "2.0.1", "toidentifier": "1.0.1" } }, - "qs": { - "version": "6.9.6", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz", - "integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==", + "negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "dev": true }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + }, "serve-static": { - "version": "2.0.0-beta.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.0.0-beta.1.tgz", - "integrity": "sha512-DEJ9on/tQeFO2Omj7ovT02lCp1YgP4Kb8W2lv2o/4keTFAbgc8HtH3yPd47++2wv9lvQeqiA7FHFDe5+8c4XpA==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "dev": true, "requires": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "1.0.0-beta.1" + "send": "0.18.0" } }, "setprototypeof": { @@ -3690,6 +3975,12 @@ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "dev": true + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true } } }, @@ -4128,7 +4419,7 @@ "get-func-name": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", + "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", "dev": true }, "get-intrinsic": { @@ -4262,6 +4553,34 @@ } } }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3" + }, + "dependencies": { + "get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true + } + } + }, "graceful-fs": { "version": "4.2.9", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", @@ -5482,9 +5801,9 @@ } }, "jquery": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz", - "integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==" + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.2.tgz", + "integrity": "sha512-/e7ulNIEEYk1Z/l4X0vpxGt+B/dNsV8ghOPAWZaJs8pkGvsSC0tm33aMGylXcj/U7y4IcvwtMXPMyBFZn/gK9A==" }, "jquery-touchswipe": { "version": "1.6.19", @@ -5530,9 +5849,9 @@ "optional": true }, "jsdoc": { - "version": "3.6.10", - "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.10.tgz", - "integrity": "sha512-IdQ8ppSo5LKZ9o3M+LKIIK8i00DIe5msDvG3G81Km+1dhy0XrOWD0Ji8H61ElgyEj/O9KRLokgKbAM9XX9CJAg==", + "version": "3.6.11", + "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.11.tgz", + "integrity": "sha512-8UCU0TYeIYD9KeLzEcAu2q8N/mx9O3phAGl32nmHlE0LpaJL71mMkP4d+QE5zWfNt50qheHtOZ0qoxVrsX5TUg==", "dev": true, "requires": { "@babel/parser": "^7.9.4", @@ -5541,7 +5860,7 @@ "catharsis": "^0.9.0", "escape-string-regexp": "^2.0.0", "js2xmlparser": "^4.0.2", - "klaw": "^4.0.1", + "klaw": "^3.0.0", "markdown-it": "^12.3.2", "markdown-it-anchor": "^8.4.1", "marked": "^4.0.10", @@ -5734,9 +6053,9 @@ } }, "karma-esbuild": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/karma-esbuild/-/karma-esbuild-2.2.4.tgz", - "integrity": "sha512-nt5+AJ0iFpgJXboBmXvwjM5LYTqTmFA9NuNGj9A442gCMJHwL4Eft4JUBVRc7ORSPoJAQ26Kgf5252Xt6GbkRw==", + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/karma-esbuild/-/karma-esbuild-2.2.5.tgz", + "integrity": "sha512-+NiRmZhUm/MqOsL1cAu8+RmiOMvIxWDaeYDLBB5upxHF9Hh3Og8YH43EAmDan40pxt2FKDcOjupgqIe4Tx2szQ==", "dev": true, "requires": { "chokidar": "^3.5.1", @@ -5801,10 +6120,13 @@ "dev": true }, "klaw": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-4.0.1.tgz", - "integrity": "sha512-pgsE40/SvC7st04AHiISNewaIMUbY5V/K8b21ekiPiFoYs/EYSdsGa+FJArB1d441uq4Q8zZyIxvAzkGNlBdRw==", - "dev": true + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz", + "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.9" + } }, "language-subtag-registry": { "version": "0.3.21", @@ -5822,9 +6144,9 @@ } }, "leaflet": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/leaflet/-/leaflet-1.8.0.tgz", - "integrity": "sha512-gwhMjFCQiYs3x/Sf+d49f10ERXaEFCPr+nVTryhAW8DWbMGqJqt9G4XuIaHmFW08zYvhgdzqXGr8AlW8v8dQkA==" + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/leaflet/-/leaflet-1.9.3.tgz", + "integrity": "sha512-iB2cR9vAkDOu5l3HAay2obcUHZ7xwUBBjph8+PGtmW/2lYhbLizWtG7nTeYht36WfOslixQF9D/uSIzhZgGMfQ==" }, "leaflet-draw": { "version": "github:enketo/Leaflet.draw#ff730785db7fcccbf2485ffcf4dffe1238a7c617", @@ -6093,9 +6415,9 @@ } }, "loupe": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.1.tgz", - "integrity": "sha512-EN1D3jyVmaX4tnajVlfbREU4axL647hLec1h/PXAb8CPDMJiYitcWF2UeLVNttRqaIqQs4x+mRvXf+d+TlDrCA==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", + "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", "dev": true, "requires": { "get-func-name": "^2.0.0" @@ -6374,21 +6696,21 @@ } }, "markdown-it-anchor": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.4.1.tgz", - "integrity": "sha512-sLODeRetZ/61KkKLJElaU3NuU2z7MhXf12Ml1WJMSdwpngeofneCRF+JBbat8HiSqhniOMuTemXMrsI7hA6XyA==", + "version": "8.6.5", + "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.5.tgz", + "integrity": "sha512-PI1qEHHkTNWT+X6Ip9w+paonfIQ+QZP9sCeMYi47oqhH+EsW8CrJ8J7CzV19QVOj6il8ATGbK2nTECj22ZHGvQ==", "dev": true }, "marked": { - "version": "4.0.12", - "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.12.tgz", - "integrity": "sha512-hgibXWrEDNBWgGiK18j/4lkS6ihTe9sxtV4Q1OQppb/0zzyPSzoFANBa5MfsG/zgsWklmNnhm0XACZOH/0HBiQ==", + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.2.4.tgz", + "integrity": "sha512-Wcc9ikX7Q5E4BYDPvh1C6QNSxrjC9tBgz+A/vAhp59KXUgachw++uMvMKiSW8oA85nopmPZcEvBoex/YLMsiyA==", "dev": true }, "mdurl": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", "dev": true }, "media-typer": { @@ -7865,9 +8187,9 @@ "dev": true }, "path-to-regexp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.2.0.tgz", - "integrity": "sha512-jczvQbCUS7XmS7o+y1aEO9OBVFeZBQ1MDSEqmO7xSoPgOPoowY/SxLpZ6Vh97/8qHZOteiCKb7gkG9gA2ZUxJA==", + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", "dev": true }, "pathval": { @@ -7954,9 +8276,9 @@ "dev": true }, "prettier": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz", - "integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.1.tgz", + "integrity": "sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==", "dev": true }, "prettier-linter-helpers": { @@ -8101,27 +8423,33 @@ "dev": true }, "raw-body": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.2.tgz", - "integrity": "sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", "dev": true, "requires": { - "bytes": "3.1.1", - "http-errors": "1.8.1", + "bytes": "3.1.2", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", "unpipe": "1.0.0" }, "dependencies": { + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, "http-errors": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", - "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, "requires": { - "depd": "~1.1.2", + "depd": "2.0.0", "inherits": "2.0.4", "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", + "statuses": "2.0.1", "toidentifier": "1.0.1" } }, @@ -8130,6 +8458,12 @@ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "dev": true + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true } } }, @@ -8297,9 +8631,9 @@ } }, "regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", "dev": true }, "regexp-tree": { @@ -8395,12 +8729,12 @@ "dev": true }, "requizzle": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.3.tgz", - "integrity": "sha512-YanoyJjykPxGHii0fZP0uUPEXpvqfBDxWV7s6GKAiiOsiqhX6vHNyW3Qzdmqp/iq/ExbhaGbVrjB4ruEVSM4GQ==", + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.4.tgz", + "integrity": "sha512-JRrFk1D4OQ4SqovXOgdav+K8EAhSB/LJZqCz8tbX0KObcdeM15Ss59ozWMBWmmINMagCwmqn4ZNryUGpBsl6Jw==", "dev": true, "requires": { - "lodash": "^4.17.14" + "lodash": "^4.17.21" } }, "resolve": { @@ -8492,28 +8826,6 @@ } } }, - "router": { - "version": "2.0.0-beta.1", - "resolved": "https://registry.npmjs.org/router/-/router-2.0.0-beta.1.tgz", - "integrity": "sha512-GLoYgkhAGAiwVda5nt6Qd4+5RAPuQ4WIYLlZ+mxfYICI+22gnIB3eCfmhgV8+uJNPS1/39DOYi/vdrrz0/ouKA==", - "dev": true, - "requires": { - "array-flatten": "3.0.0", - "methods": "~1.1.2", - "parseurl": "~1.3.3", - "path-to-regexp": "3.2.0", - "setprototypeof": "1.2.0", - "utils-merge": "1.0.1" - }, - "dependencies": { - "setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true - } - } - }, "run-async": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", @@ -8550,6 +8862,36 @@ "regexp-tree": "~0.1.1" } }, + "safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "dependencies": { + "get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true + } + } + }, "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", @@ -8648,52 +8990,48 @@ "dev": true }, "send": { - "version": "1.0.0-beta.1", - "resolved": "https://registry.npmjs.org/send/-/send-1.0.0-beta.1.tgz", - "integrity": "sha512-OKTRokcl/oo34O8+6aUpj8Jf2Bjw2D0tZzmX0/RvyfVC9ZOZW+HPAWAlhS817IsRaCnzYX1z++h2kHFr2/KNRg==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "dev": true, "requires": { - "debug": "3.1.0", - "destroy": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "1.8.1", - "mime-types": "~2.1.34", + "http-errors": "2.0.0", + "mime": "1.6.0", "ms": "2.1.3", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "range-parser": "~1.2.1", - "statuses": "~1.5.0" + "statuses": "2.0.1" }, "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } - } + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true }, "http-errors": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", - "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, "requires": { - "depd": "~1.1.2", + "depd": "2.0.0", "inherits": "2.0.4", "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", + "statuses": "2.0.1", "toidentifier": "1.0.1" } }, @@ -8703,11 +9041,26 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, "setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "dev": true + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true } } }, @@ -9176,6 +9529,12 @@ } } }, + "streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "dev": true + }, "string-direction": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/string-direction/-/string-direction-0.1.2.tgz", @@ -9375,7 +9734,7 @@ "taffydb": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz", - "integrity": "sha1-fLy2S1oUG2ou/CxdLGe04VCyomg=", + "integrity": "sha512-y3JaeRSplks6NYQuCOj3ZFMO3j60rTwbuKCvZxsAraGYH2epusatvZ0baZYA01WsGqJBq/Dl6vOrMUJqyMj8kA==", "dev": true }, "tar": { @@ -9735,9 +10094,9 @@ "dev": true }, "underscore": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.2.tgz", - "integrity": "sha512-ekY1NhRzq0B08g4bGuX4wd2jZx5GnKz6mKSqFL4nqBlfyMGiG10gDFhDTMEfYmDL6Jy0FUIZp7wiRB+0BP7J2g==", + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", + "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==", "dev": true }, "underscore.string": { @@ -9750,6 +10109,15 @@ "util-deprecate": "^1.0.2" } }, + "undici": { + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.14.0.tgz", + "integrity": "sha512-yJlHYw6yXPPsuOH0x2Ib1Km61vu4hLiRRQoafs+WUgX1vO64vgnxiCEN9dpIrhZyHFsai3F0AEj4P9zy19enEQ==", + "dev": true, + "requires": { + "busboy": "^1.6.0" + } + }, "unique-filename": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", diff --git a/package.json b/package.json index e91c69300..4eacd67e3 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "enketo-core", "description": "Extensible Enketo form engine", "homepage": "https://enketo.org", - "version": "6.1.5", + "version": "6.1.6", "license": "Apache-2.0", "os": [ "darwin", @@ -51,11 +51,11 @@ "remove-docs": "rm -R ./docs/*.html" }, "devDependencies": { - "chai": "^4.3.6", + "chai": "^4.3.7", "chai-as-promised": "^7.1.1", "cross-env": "^7.0.3", "docdash": "^1.2.0", - "enketo-transformer": "2.1.6", + "enketo-transformer": "2.1.7", "esbuild": "^0.12.29", "esbuild-plugin-alias": "^0.1.2", "eslint-config-airbnb": "^19.0.4", @@ -63,10 +63,10 @@ "eslint-plugin-chai-friendly": "^0.7.2", "eslint-plugin-import": "^2.26.0", "eslint-plugin-jsdoc": "^36.1.1", - "eslint-plugin-jsx-a11y": "^6.5.1", - "eslint-plugin-prettier": "^4.0.0", + "eslint-plugin-jsx-a11y": "^6.6.1", + "eslint-plugin-prettier": "^4.2.1", "eslint-plugin-react": "^7.30.0", - "eslint-plugin-react-hooks": "^4.4.0", + "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-unicorn": "^36.0.0", "grunt": "^1.5.3", "grunt-concurrent": "^3.0.0", @@ -77,12 +77,12 @@ "grunt-mocha-test": "^0.13.3", "grunt-sass": "^3.1.0", "grunt-shell": "^3.0.1", - "jsdoc": "^3.6.10", + "jsdoc": "^3.6.11", "jsdoc-ts-utils": "^2.0.1", "karma": "^6.3.20", "karma-chrome-launcher": "^3.1.1", "karma-coverage": "^2.2.0", - "karma-esbuild": "^2.2.4", + "karma-esbuild": "^2.2.5", "karma-firefox-launcher": "^2.1.2", "karma-mocha": "^2.0.1", "karma-safari-launcher": "^1.0.0", @@ -91,7 +91,7 @@ "markdown-eslint-parser": "^1.2.1", "mocha": "^9.2.2", "node-sass": "^7.0.3", - "prettier": "^2.6.2", + "prettier": "^2.8.1", "rimraf": "^3.0.2", "sinon": "^11.1.2", "sinon-chai": "^3.7.0", @@ -108,9 +108,9 @@ "dependencies": { "bootstrap-datepicker": "1.9.x", "html5sortable": "^0.13.3", - "jquery": "^3.6.0", + "jquery": "^3.6.2", "jquery-touchswipe": "^1.6.19", - "leaflet": "^1.8.0", + "leaflet": "^1.9.3", "leaflet-draw": "github:enketo/Leaflet.draw#ff73078", "leaflet.gridlayer.googlemutant": "^0.13.5", "mergexml": "1.2.3", diff --git a/src/js/form.js b/src/js/form.js index fa47bfda3..5bacfd4df 100644 --- a/src/js/form.js +++ b/src/js/form.js @@ -1486,6 +1486,6 @@ Form.prototype.goToTarget = function (target) { * @type {string} * @default */ -Form.requiredTransformerVersion = '2.1.6'; +Form.requiredTransformerVersion = '2.1.7'; export { Form, FormModel };