From be33825c2dcb38124e1427594e9f43d822fe524a Mon Sep 17 00:00:00 2001 From: RyanBirtch-aot Date: Thu, 23 May 2024 13:57:56 -0700 Subject: [PATCH 01/27] Initial Skeleton --- .gitignore | 2 + .../src/components/Map/Component.form.ts | 62 ++++++++++ components/src/components/Map/Component.ts | 33 ++++++ .../Map/editForm/Component.edit.data.ts | 25 ++++ .../Map/editForm/Component.edit.display.ts | 108 ++++++++++++++++++ .../Map/editForm/Component.edit.validation.ts | 22 ++++ components/src/components/index.ts | 4 +- 7 files changed, 255 insertions(+), 1 deletion(-) create mode 100644 components/src/components/Map/Component.form.ts create mode 100644 components/src/components/Map/Component.ts create mode 100644 components/src/components/Map/editForm/Component.edit.data.ts create mode 100644 components/src/components/Map/editForm/Component.edit.display.ts create mode 100644 components/src/components/Map/editForm/Component.edit.validation.ts diff --git a/.gitignore b/.gitignore index f3ab92d0e..6b1ea70ae 100644 --- a/.gitignore +++ b/.gitignore @@ -69,3 +69,5 @@ build !app/frontend/.env !local-infrastructure/.env .history +realm-export.json +chefs_build \ No newline at end of file diff --git a/components/src/components/Map/Component.form.ts b/components/src/components/Map/Component.form.ts new file mode 100644 index 000000000..d82d83b81 --- /dev/null +++ b/components/src/components/Map/Component.form.ts @@ -0,0 +1,62 @@ +import baseEditForm from 'formiojs/components/_classes/component/Component.form'; + +import EditData from './editForm/Component.edit.data'; +import EditDisplay from './editForm/Component.edit.display'; +import EditValidation from './editForm/Component.edit.validation'; + +import SimpleApi from '../Common/Simple.edit.api'; +import SimpleConditional from '../Common/Simple.edit.conditional'; + +export default function(...extend) { + return baseEditForm([ + EditDisplay, + { + key: 'data', + ignore: true, + }, + { + key: 'api', + ignore: true + }, + { + key: 'layout', + ignore: true + }, + { + key: 'conditional', + ignore: true + }, + { + key: 'validation', + ignore: true + }, + { + key: 'logic', + ignore: true + }, + { + label: 'Data', + key: 'customData', + weight: 10, + components: EditData + }, + { + label: 'Validation', + key: 'customValidation', + weight: 20, + components: EditValidation + }, + { + label: 'API', + key: 'customAPI', + weight: 30, + components: SimpleApi + }, + { + label: 'Conditional', + key: 'customConditional', + weight: 40, + components: SimpleConditional + } + ], ...extend); +} diff --git a/components/src/components/Map/Component.ts b/components/src/components/Map/Component.ts new file mode 100644 index 000000000..086bde836 --- /dev/null +++ b/components/src/components/Map/Component.ts @@ -0,0 +1,33 @@ +/* tslint:disable */ +import { Components } from 'formiojs'; +const ParentComponent = (Components as any).components.Field; +import editForm from './Component.form'; + +import { Constants } from '../Common/Constants'; + + +const ID = 'map'; +const DISPLAY = 'Map'; + +export default class MapComponent extends (ParentComponent as any) { + static schema(...extend) { + return MapComponent.schema({ + type: ID, + label: DISPLAY, + key: ID, + }, ...extend); + } + + public static editForm = editForm; + static get builderInfo() { + return { + title: DISPLAY, + group: 'simple', + icon: 'map', + weight: 1, + documentation: Constants.DEFAULT_HELP_LINK, + schema: MapComponent.schema() + }; + } + +} diff --git a/components/src/components/Map/editForm/Component.edit.data.ts b/components/src/components/Map/editForm/Component.edit.data.ts new file mode 100644 index 000000000..9c28c5944 --- /dev/null +++ b/components/src/components/Map/editForm/Component.edit.data.ts @@ -0,0 +1,25 @@ +import common from '../../Common/Simple.edit.data'; +export default [ + ...common, + { + weight: 200, + type: 'radio', + label: 'Text Case', + key: 'case', + tooltip: 'When data is entered, you can change the case of the value.', + input: true, + values: [ + { + value: 'mixed', + label: 'Mixed (Allow upper and lower case)' + }, + { + value: 'uppercase', + label: 'Uppercase' + },{ + value: 'lowercase', + label: 'Lowercase' + } + ] + } +]; diff --git a/components/src/components/Map/editForm/Component.edit.display.ts b/components/src/components/Map/editForm/Component.edit.display.ts new file mode 100644 index 000000000..6a3c34c35 --- /dev/null +++ b/components/src/components/Map/editForm/Component.edit.display.ts @@ -0,0 +1,108 @@ +import common from '../../Common/Simple.edit.display'; +export default + { + key: 'display', + components: [ + ...common, + { + key: 'refreshOnChange', + ignore: true + }, + { + key: 'className', + ignore: true, + }, + { + key: 'widget', + ignore: true + }, + { + key: 'widget.type', + ignore: true + }, + { + key: 'prefix', + ignore: true + }, + { + key: 'suffix', + ignore: true + }, + { + weight: 410, + type: 'textfield', + input: true, + key: 'inputMask', + label: 'Input Mask', + tooltip: 'An input mask helps the user with input by ensuring a predefined format.

9: numeric
a: alphabetical
*: alphanumeric

Example telephone mask: (999) 999-9999

See the jquery.inputmask documentation for more information.', + customConditional(context) { + return !context.data.allowMultipleMasks; + } + }, + { + weight: 413, + type: 'checkbox', + input: true, + key: 'allowMultipleMasks', + label: 'Allow Multiple Masks' + }, + { + weight: 1350, + type: 'checkbox', + input: true, + key: 'spellcheck', + defaultValue: true, + label: 'Allow Spellcheck' + }, + { + weight: 417, + type: 'datagrid', + input: true, + key: 'inputMasks', + label: 'Input Masks', + customConditional(context) { + return context.data.allowMultipleMasks === true; + }, + reorder: true, + components: [ + { + type: 'textfield', + key: 'label', + label: 'Label', + input: true + }, + { + type: 'textfield', + key: 'mask', + label: 'Mask', + input: true + } + ] + }, + { + key: 'autocomplete', + ignore: true, + }, + { + weight: 1300, + key: 'mask', + ignore: true + }, + { + weight: 1200, + type: 'checkbox', + label: 'Show Word Counter', + tooltip: 'Show a live count of the number of words.', + key: 'showWordCount', + input: true + }, + { + weight: 1201, + type: 'checkbox', + label: 'Show Character Counter', + tooltip: 'Show a live count of the number of characters.', + key: 'showCharCount', + input: true + } + ] + } diff --git a/components/src/components/Map/editForm/Component.edit.validation.ts b/components/src/components/Map/editForm/Component.edit.validation.ts new file mode 100644 index 000000000..e0ac0d5e4 --- /dev/null +++ b/components/src/components/Map/editForm/Component.edit.validation.ts @@ -0,0 +1,22 @@ +import common from '../../Common/Simple.edit.validation'; +export default [ + ...common, + { + weight: 110, + key: 'validate.minLength', + label: 'Minimum Length', + placeholder: 'Minimum Length', + type: 'number', + tooltip: 'The minimum length requirement this field must meet.', + input: true + }, + { + weight: 120, + key: 'validate.maxLength', + label: 'Maximum Length', + placeholder: 'Maximum Length', + type: 'number', + tooltip: 'The maximum length requirement this field must meet.', + input: true + } +]; diff --git a/components/src/components/index.ts b/components/src/components/index.ts index 8361f59d1..46eb2c816 100755 --- a/components/src/components/index.ts +++ b/components/src/components/index.ts @@ -45,6 +45,7 @@ import simplesignatureadvanced from './SimpleSignatureAdvanced/Component'; import simplebuttonadvanced from './SimpleButtonAdvanced/Component'; import bcaddress from './BCAddress/Component'; import simplebcaddress from './SimpleBCAddress/Component'; +import map from './Map/Component' export default { orgbook, @@ -93,5 +94,6 @@ export default { simplesignatureadvanced, simplebuttonadvanced, bcaddress, - simplebcaddress + simplebcaddress, + map }; From 814fa7c36fd0633a125cef5821ffadb4ab54655d Mon Sep 17 00:00:00 2001 From: abhilash-aot Date: Thu, 23 May 2024 14:02:22 -0700 Subject: [PATCH 02/27] component creation reference --- .../src/components/designer/FormDesigner.vue | 1 + components/package-lock.json | 6 +++ components/package.json | 1 + .../src/components/Map/Common/Constants.ts | 4 ++ components/src/components/Map/Component.ts | 52 +++++++++++++++++++ components/src/components/index.ts | 4 +- 6 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 components/src/components/Map/Common/Constants.ts create mode 100644 components/src/components/Map/Component.ts diff --git a/app/frontend/src/components/designer/FormDesigner.vue b/app/frontend/src/components/designer/FormDesigner.vue index 02f30bf17..8be4e901a 100644 --- a/app/frontend/src/components/designer/FormDesigner.vue +++ b/app/frontend/src/components/designer/FormDesigner.vue @@ -184,6 +184,7 @@ export default { simplefile: this.form.userType !== this.ID_MODE.PUBLIC, bcaddress: true, simplebcaddress: true, + MapComponent: true, }, }, }, diff --git a/components/package-lock.json b/components/package-lock.json index 2d6935783..98a073220 100644 --- a/components/package-lock.json +++ b/components/package-lock.json @@ -9,6 +9,7 @@ "version": "1.0.0", "license": "Apache-2.0", "dependencies": { + "@bcgov/smk": "^1.2.1", "autocompleter": "^7.0.1", "formiojs": "^4.14.6", "lodash": "^4.17.21", @@ -301,6 +302,11 @@ "to-fast-properties": "^2.0.0" } }, + "node_modules/@bcgov/smk": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@bcgov/smk/-/smk-1.2.1.tgz", + "integrity": "sha512-FBpBefqAm2uLfGmbwRZwORzt6+RQAuiQ93DVweQBwgJ5eggq25SmpX15atg+R86RlQnnvWSLu+AC4QMey3X92g==" + }, "node_modules/@cspotcode/source-map-support": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", diff --git a/components/package.json b/components/package.json index a0cb08779..70e717b89 100755 --- a/components/package.json +++ b/components/package.json @@ -47,6 +47,7 @@ "components" ], "dependencies": { + "@bcgov/smk": "^1.2.1", "autocompleter": "^7.0.1", "formiojs": "^4.14.6", "lodash": "^4.17.21", diff --git a/components/src/components/Map/Common/Constants.ts b/components/src/components/Map/Common/Constants.ts new file mode 100644 index 000000000..969ac7b2a --- /dev/null +++ b/components/src/components/Map/Common/Constants.ts @@ -0,0 +1,4 @@ +export abstract class Constants { + static readonly DEFAULT_HELP_LINK: string = 'https://github.com/bcgov/common-hosted-form-service/wiki'; + static readonly ADV: string = ''; +} diff --git a/components/src/components/Map/Component.ts b/components/src/components/Map/Component.ts new file mode 100644 index 000000000..a8b7c1563 --- /dev/null +++ b/components/src/components/Map/Component.ts @@ -0,0 +1,52 @@ +import { Components } from 'formiojs'; +//import SMK from '@bcgov/smk'; + +const FieldComponent = Components.components.field; + +class MapComponent extends FieldComponent { + static schema(...extend: any[]) { + return FieldComponent.schema({ + type: 'map', + label: 'Map', + key: 'map', + input: true, + ...extend, + }); + } + + static get builderInfo() { + return { + title: 'Map', + group: 'basic', + icon: 'map', + weight: 70, + schema: MapComponent.schema(), + }; + } + + render() { + return super.render( + this.renderTemplate('input', { + input: `
map goes here
`, + }) + ); + } + + attach(element: HTMLElement) { + super.attach(element); + this.loadMap(); + } + + loadMap() { + const mapContainer = document.getElementById('map'); + if (mapContainer) { + console.log('inside Map'); + // SMK.init({ container: 'map' }).then((smk) => { + // // Additional SMK configuration goes here + // }); + } + } +} + +Components.addComponent('map', MapComponent); +export default MapComponent; diff --git a/components/src/components/index.ts b/components/src/components/index.ts index 8361f59d1..13289e107 100755 --- a/components/src/components/index.ts +++ b/components/src/components/index.ts @@ -45,6 +45,7 @@ import simplesignatureadvanced from './SimpleSignatureAdvanced/Component'; import simplebuttonadvanced from './SimpleButtonAdvanced/Component'; import bcaddress from './BCAddress/Component'; import simplebcaddress from './SimpleBCAddress/Component'; +import MapComponent from './Map/Component'; export default { orgbook, @@ -93,5 +94,6 @@ export default { simplesignatureadvanced, simplebuttonadvanced, bcaddress, - simplebcaddress + simplebcaddress, + MapComponent, }; From 74eb54e0e2104dde96d91c5250f3d1a8648d4920 Mon Sep 17 00:00:00 2001 From: RyanBirtch-aot Date: Mon, 27 May 2024 09:20:56 -0700 Subject: [PATCH 03/27] SMK Skeleton Integration --- app/frontend/package-lock.json | 1508 +++++++++++++++++++- app/frontend/package.json | 1 + app/frontend/public/index.html | 1 + components/src/components/Map/Component.ts | 7 +- components/src/components/index.ts | 3 - 5 files changed, 1479 insertions(+), 41 deletions(-) diff --git a/app/frontend/package-lock.json b/app/frontend/package-lock.json index ed5230553..1407b2b07 100644 --- a/app/frontend/package-lock.json +++ b/app/frontend/package-lock.json @@ -10,6 +10,7 @@ "license": "Apache-2.0", "dependencies": { "@bcgov/bc-sans": "^1.0.1", + "@bcgov/smk-cli": "^1.2.0", "@formio/vue": "^5.0.0", "@fortawesome/fontawesome-svg-core": "^6.4.2", "@fortawesome/free-solid-svg-icons": "^6.4.2", @@ -98,6 +99,91 @@ "resolved": "https://registry.npmjs.org/@bcgov/bc-sans/-/bc-sans-1.0.1.tgz", "integrity": "sha512-4suRUBFeHcuFkwXXJu9pKJNB5Z2G3bpuLEHIq203KVCKC8KrsnqvsyUOf645TypgLwqOTOYCETiXYzfxF4gLAw==" }, + "node_modules/@bcgov/smk": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@bcgov/smk/-/smk-1.2.1.tgz", + "integrity": "sha512-FBpBefqAm2uLfGmbwRZwORzt6+RQAuiQ93DVweQBwgJ5eggq25SmpX15atg+R86RlQnnvWSLu+AC4QMey3X92g==" + }, + "node_modules/@bcgov/smk-cli": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@bcgov/smk-cli/-/smk-cli-1.2.0.tgz", + "integrity": "sha512-szTNQiZYMpM8+/Qzsafj/lPlw0jIKGhy97bRiN3skfdCKu5qZdB56nVxSmFL1sK3zfalG5Qw4Az746x84sdE2g==", + "dependencies": { + "@bcgov/smk": ">=1.2.0", + "@tmcw/togeojson": "~4.5.0", + "@xmldom/xmldom": "~0.8.5", + "chalk": "~4.1.0", + "cors": "~2.8.5", + "csv-parse": "~4.16.0", + "express": "~4.17.3", + "fgdb": "~1.0.0", + "figlet": "~1.5.0", + "glob": "7.1.2", + "inquirer": "~7.3.3", + "lodash": "~4.17.21", + "material-design-icons-iconfont": "6.1.1", + "minimist": "~1.2.5", + "multer": "~1.4.5-lts.1", + "node-fetch": "~2.6.7", + "open": "~7.4.0", + "proj4": "~2.7.5", + "semver": "~7.3.5", + "shapefile": "~0.6.6", + "shelljs": "~0.8.5", + "touch": "~3.1.0", + "unzipper": "~0.10.11", + "xml2js": "~0.4.23" + }, + "bin": { + "smk": "index.js" + } + }, + "node_modules/@bcgov/smk-cli/node_modules/glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@bcgov/smk-cli/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@bcgov/smk-cli/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@bcgov/smk-cli/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, "node_modules/@bcoe/v8-coverage": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", @@ -1016,6 +1102,11 @@ "resolved": "https://registry.npmjs.org/@sphinxxxx/color-conversion/-/color-conversion-2.2.2.tgz", "integrity": "sha512-XExJS3cLqgrmNBIP3bBw6+1oQ1ksGjFh0+oClDKFYpCCqx/hlqwWO5KO/S63fzUo67SxI9dMrF0y5T/Ey7h8Zw==" }, + "node_modules/@tmcw/togeojson": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@tmcw/togeojson/-/togeojson-4.5.0.tgz", + "integrity": "sha512-lNuuhW7nvN1T7xII9eRTi9zuPwYfFl43/1u/Xgi88tedX4ePfwJB5dqc31N7z6sWeR+7EES274ESNrK1gsW53A==" + }, "node_modules/@tootallnate/once": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", @@ -1346,6 +1437,14 @@ "vuetify": "^3.0.0" } }, + "node_modules/@xmldom/xmldom": { + "version": "0.8.10", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.10.tgz", + "integrity": "sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==", + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/abab": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", @@ -1363,6 +1462,18 @@ "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz", "integrity": "sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ==" }, + "node_modules/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==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/acorn": { "version": "8.10.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", @@ -1426,11 +1537,35 @@ "resolved": "https://registry.npmjs.org/animation-frame-polyfill/-/animation-frame-polyfill-1.0.2.tgz", "integrity": "sha512-PvO5poSMoHhaoNNgHPo+oqs/0L9UqjsUbqv0iOXVqLh6HX85fsOVQTUrzSBvjdZz7hydARlgLELyzJJKIrPJAQ==" }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, "engines": { "node": ">=8" } @@ -1439,7 +1574,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -1463,6 +1597,11 @@ "node": ">= 8" } }, + "node_modules/append-field": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", + "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==" + }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -1481,11 +1620,21 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, "node_modules/array-from": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/array-from/-/array-from-2.1.1.tgz", "integrity": "sha512-GQTc6Uupx1FCavi5mPzBvVT7nEOeWMmUA9P95wpfpW1XwMSKs+KaymD5C2Up7KAUKg/mYwbsUYzdZWcoajlNZg==" }, + "node_modules/array-source": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/array-source/-/array-source-0.0.4.tgz", + "integrity": "sha512-frNdc+zBn80vipY+GdcJkLEbMWj3xmzArYApmUGxoiV8uAu/ygcs9icPdsGdA26h0MkHUMW6EN2piIvVx+M5Mw==" + }, "node_modules/assertion-error": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", @@ -1547,8 +1696,7 @@ "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "node_modules/base64-js": { "version": "1.5.1", @@ -1569,6 +1717,26 @@ } ] }, + "node_modules/big-integer": { + "version": "1.6.52", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz", + "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/binary": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz", + "integrity": "sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg==", + "dependencies": { + "buffers": "~0.1.1", + "chainsaw": "~0.1.0" + }, + "engines": { + "node": "*" + } + }, "node_modules/binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -1578,12 +1746,61 @@ "node": ">=8" } }, + "node_modules/bluebird": { + "version": "3.4.7", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz", + "integrity": "sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA==" + }, "node_modules/blueimp-md5": { "version": "2.19.0", "resolved": "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.19.0.tgz", "integrity": "sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==", "dev": true }, + "node_modules/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.8.1", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.9.7", + "raw-body": "2.4.3", + "type-is": "~1.6.18" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", @@ -1599,7 +1816,6 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -1633,8 +1849,42 @@ "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "devOptional": true + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "node_modules/buffer-indexof-polyfill": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.2.tgz", + "integrity": "sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A==", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/buffers": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz", + "integrity": "sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ==", + "engines": { + "node": ">=0.2.0" + } + }, + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } }, "node_modules/cac": { "version": "6.7.14", @@ -1684,11 +1934,21 @@ "node": ">=4" } }, + "node_modules/chainsaw": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", + "integrity": "sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ==", + "dependencies": { + "traverse": ">=0.3.0 <0.4" + }, + "engines": { + "node": "*" + } + }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -1700,6 +1960,11 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" + }, "node_modules/check-error": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", @@ -1748,6 +2013,25 @@ "node": ">= 6" } }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "engines": { + "node": ">= 10" + } + }, "node_modules/clipboard": { "version": "2.0.11", "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.11.tgz", @@ -1770,7 +2054,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "dependencies": { "color-name": "~1.1.4" }, @@ -1781,8 +2064,7 @@ "node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/combined-stream": { "version": "1.0.8", @@ -1798,8 +2080,7 @@ "node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "devOptional": true + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" }, "node_modules/compare-versions": { "version": "5.0.3", @@ -1809,8 +2090,21 @@ "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } }, "node_modules/concordance": { "version": "5.0.4", @@ -1841,6 +2135,25 @@ "proto-list": "~1.2.1" } }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/contra": { "version": "1.9.4", "resolved": "https://registry.npmjs.org/contra/-/contra-1.9.4.tgz", @@ -1856,6 +2169,19 @@ "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", "dev": true }, + "node_modules/cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, "node_modules/core-js": { "version": "3.31.0", "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.31.0.tgz", @@ -1866,6 +2192,23 @@ "url": "https://opencollective.com/core-js" } }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/create-point-cb": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/create-point-cb/-/create-point-cb-1.2.0.tgz", @@ -1936,6 +2279,11 @@ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" }, + "node_modules/csv-parse": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-4.16.3.tgz", + "integrity": "sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==" + }, "node_modules/custom-event": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", @@ -2111,6 +2459,19 @@ "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==" }, + "node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg==" + }, "node_modules/dialog-polyfill": { "version": "0.5.6", "resolved": "https://registry.npmjs.org/dialog-polyfill/-/dialog-polyfill-0.5.6.tgz", @@ -2213,6 +2574,14 @@ "crossvent": "1.5.5" } }, + "node_modules/duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", + "dependencies": { + "readable-stream": "^2.0.2" + } + }, "node_modules/editorconfig": { "version": "0.15.3", "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz", @@ -2237,6 +2606,24 @@ "semver": "bin/semver" } }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/entities": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", @@ -2306,6 +2693,11 @@ "@esbuild/win32-x64": "0.20.2" } }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, "node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -2534,16 +2926,101 @@ "node": ">=0.10.0" } }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/eventemitter3": { "version": "4.0.7", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" }, + "node_modules/express": { + "version": "4.17.3", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.3.tgz", + "integrity": "sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.19.2", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.4.2", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.9.7", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.17.2", + "serve-static": "1.14.2", + "setprototypeof": "1.2.0", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/external-editor/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -2589,6 +3066,47 @@ "node-fetch": "~2.6.1" } }, + "node_modules/fgdb": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fgdb/-/fgdb-1.0.0.tgz", + "integrity": "sha512-2ZaznM1bhXk9e5xBdLzAR8H9yGFB2N51QTfMsHnynyJkqqmPMXSvSH5U6qzsyt73aTLQCFeViSQz5an4PKg4XA==", + "dependencies": { + "jszip": "~0.2.1", + "lie": "^3.0.0", + "long": "~1.1.2", + "proj4": "^2.3.6" + } + }, + "node_modules/figlet": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/figlet/-/figlet-1.5.2.tgz", + "integrity": "sha512-WOn21V8AhyE1QqVfPIVxe3tupJacq1xGkPTB4iagT6o+P2cAgEOOwIxMftr4+ZCTI6d551ij9j61DFr0nsP2uQ==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/figures/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", @@ -2601,6 +3119,14 @@ "node": "^10.12.0 || >=12.0.0" } }, + "node_modules/file-source": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/file-source/-/file-source-0.6.1.tgz", + "integrity": "sha512-1R1KneL7eTXmXfKxC10V/9NeGOdbsAXJ+lQ//fvvcHUgtaZcZDWNJNblxAoVOyV1cj45pOtUrR3vZTBwqcW8XA==", + "dependencies": { + "stream-source": "0.3" + } + }, "node_modules/fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -2613,6 +3139,36 @@ "node": ">=8" } }, + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, "node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -2740,11 +3296,26 @@ "vanilla-picker": "^2.12.1" } }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "node_modules/fsevents": { "version": "2.3.3", @@ -2759,10 +3330,58 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, + "node_modules/fstream": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", + "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", + "deprecated": "This package is no longer supported.", + "dependencies": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + }, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/fstream/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fstream/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/functions-have-names": { "version": "1.2.3", @@ -2889,6 +3508,11 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, "node_modules/graphemer": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", @@ -2941,7 +3565,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, "engines": { "node": ">=8" } @@ -2993,6 +3616,17 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/html-encoding-sniffer": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", @@ -3011,6 +3645,21 @@ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, + "node_modules/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==", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/http-proxy-agent": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", @@ -3086,6 +3735,11 @@ "node": ">= 4" } }, + "node_modules/immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==" + }, "node_modules/immutable": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", @@ -3121,7 +3775,6 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -3130,8 +3783,7 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "node_modules/ini": { "version": "1.3.8", @@ -3139,6 +3791,29 @@ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true }, + "node_modules/inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/internal-slot": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", @@ -3152,6 +3827,22 @@ "node": ">= 0.4" } }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, "node_modules/is-arguments": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", @@ -3257,6 +3948,17 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-date-object": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", @@ -3271,6 +3973,20 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -3280,6 +3996,14 @@ "node": ">=0.10.0" } }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", @@ -3438,6 +4162,17 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/isarray": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", @@ -3659,6 +4394,11 @@ "resolved": "https://registry.npmjs.org/jstimezonedetect/-/jstimezonedetect-1.0.7.tgz", "integrity": "sha512-ARADHortktl9IZ1tr4GHwGPIAzgz3mLNCbR/YjWtRtc/O0o634O3NeFlpLjv95EvuDA5dc8z6yfgbS8nUc4zcQ==" }, + "node_modules/jszip": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-0.2.1.tgz", + "integrity": "sha512-Djh0bVj/EiqNTlwKC10xsOf+HtdD6mVq4m7DWdRoUvChB0aj2BThnGl+Kl4uDlRuxlp+EvjZ2ZOo0niTJlh+LQ==" + }, "node_modules/jwt-decode": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-3.1.2.tgz", @@ -3686,6 +4426,19 @@ "node": ">= 0.8.0" } }, + "node_modules/lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "dependencies": { + "immediate": "~3.0.5" + } + }, + "node_modules/listenercount": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/listenercount/-/listenercount-1.0.1.tgz", + "integrity": "sha512-3mk/Zag0+IJxeDrxSgaDPy4zZ3w05PRZeJNnlWhzFz5OkX49J4krc+A8X2d2M69vGMBEX0uyl8M+W+8gH+kBqQ==" + }, "node_modules/local-pkg": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz", @@ -3724,6 +4477,14 @@ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, + "node_modules/long": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/long/-/long-1.1.5.tgz", + "integrity": "sha512-TU6nAF5SdasnTr28c7e74P4Crbn9o3/zwo1pM22Wvg2i2vlZ4Eelxwu4QT7j21z0sDBlJDEnEZjXTZg2J8WJrg==", + "engines": { + "node": ">=0.6" + } + }, "node_modules/loupe": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", @@ -3778,6 +4539,11 @@ "semver": "bin/semver.js" } }, + "node_modules/material-design-icons-iconfont": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/material-design-icons-iconfont/-/material-design-icons-iconfont-6.1.1.tgz", + "integrity": "sha512-nkoXybeXoofanNagj4tbM6+/LALWpWxYX5ee861to5VQrKgb0/TskTw28Svwn0OGDKajuqK7ShFOsIBxIygGKA==" + }, "node_modules/md5-hex": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-3.0.1.tgz", @@ -3790,6 +4556,43 @@ "node": ">=8" } }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mgrs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mgrs/-/mgrs-1.0.0.tgz", + "integrity": "sha512-awNbTOqCxK1DBGjalK3xqWIstBZgN6fxsMSiXLs9/spqWkF2pAhb2rrYCFSsr1/tT7PhcDGjZndG8SWYn0byYA==" + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", @@ -3809,11 +4612,18 @@ "node": ">= 0.6" } }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "engines": { + "node": ">=6" + } + }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -3821,11 +4631,30 @@ "node": "*" } }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/mitt": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.0.tgz", "integrity": "sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ==" }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, "node_modules/mlly": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.3.0.tgz", @@ -3863,6 +4692,28 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "devOptional": true }, + "node_modules/multer": { + "version": "1.4.5-lts.1", + "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.5-lts.1.tgz", + "integrity": "sha512-ywPWvcDMeH+z9gQq5qYHCCy+ethsk4goepZ45GLD63fOu0YcNecQxi64nDs3qluZB+murG3/D4dJ7+dGctcCQQ==", + "dependencies": { + "append-field": "^1.0.0", + "busboy": "^1.0.0", + "concat-stream": "^1.5.2", + "mkdirp": "^0.5.4", + "object-assign": "^4.1.1", + "type-is": "^1.6.4", + "xtend": "^4.0.0" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" + }, "node_modules/nanoid": { "version": "3.3.7", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", @@ -3891,6 +4742,14 @@ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/node-fetch": { "version": "2.6.11", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.11.tgz", @@ -3957,6 +4816,14 @@ "integrity": "sha512-6xpotnECFy/og7tKSBVmUNft7J3jyXAka4XvG6AUhFWRz+Q/Ljus7znJAA3bxColfQLdS+XsjoodtJfCgeTEFQ==", "dev": true }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/object-inspect": { "version": "1.12.3", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", @@ -4005,15 +4872,54 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, "dependencies": { "wrappy": "1" } }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", + "dependencies": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/optionator": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", @@ -4031,6 +4937,14 @@ "node": ">= 0.8.0" } }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -4090,6 +5004,14 @@ "url": "https://github.com/inikulin/parse5?sponsor=1" } }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -4103,7 +5025,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -4117,6 +5038,25 @@ "node": ">=8" } }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/path-source": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/path-source/-/path-source-0.1.3.tgz", + "integrity": "sha512-dWRHm5mIw5kw0cs3QZLNmpUWty48f5+5v9nWD2dw3Y0Hf+s01Ag8iJEWV0Sm0kocE8kK27DrIowha03e1YR+Qw==", + "dependencies": { + "array-source": "0.0", + "file-source": "0.6" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + }, "node_modules/pathe": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.1.tgz", @@ -4312,12 +5252,38 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/proj4": { + "version": "2.7.5", + "resolved": "https://registry.npmjs.org/proj4/-/proj4-2.7.5.tgz", + "integrity": "sha512-5ecXUXbHAfvdhfBQpU7EhUfPCQGUCPmVup/4gnZA3bJY3JcK/xxzm4QQDz1xiXokN6ux65VDczlCtBtKrTSpAQ==", + "dependencies": { + "mgrs": "1.0.0", + "wkt-parser": "^1.3.1" + } + }, "node_modules/proto-list": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", "dev": true }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/proxy-from-env": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", @@ -4352,6 +5318,17 @@ "vue": "^3.0.0" } }, + "node_modules/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==", + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/querystringify": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", @@ -4422,12 +5399,69 @@ "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==" }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.3.tgz", + "integrity": "sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "1.8.1", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true }, + "node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readable-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -4440,6 +5474,17 @@ "node": ">=8.10.0" } }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/redux": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", @@ -4489,6 +5534,22 @@ "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", @@ -4498,6 +5559,18 @@ "node": ">=4" } }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -4581,6 +5654,14 @@ "integrity": "sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==", "dev": true }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "engines": { + "node": ">=0.12.0" + } + }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -4604,11 +5685,40 @@ "queue-microtask": "^1.2.2" } }, + "node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "node_modules/sass": { "version": "1.63.4", @@ -4627,6 +5737,11 @@ "node": ">=14.0.0" } }, + "node_modules/sax": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", + "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==" + }, "node_modules/saxes": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", @@ -4677,6 +5792,88 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, + "node_modules/send": { + "version": "0.17.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", + "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", + "dependencies": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "1.8.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/serve-static": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", + "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/shapefile": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/shapefile/-/shapefile-0.6.6.tgz", + "integrity": "sha512-rLGSWeK2ufzCVx05wYd+xrWnOOdSV7xNUW5/XFgx3Bc02hBkpMlrd2F1dDII7/jhWzv0MSyBFh5uJIy9hLdfuw==", + "dependencies": { + "array-source": "0.0", + "commander": "2", + "path-source": "0.1", + "slice-source": "0.4", + "stream-source": "0.3", + "text-encoding": "^0.6.4" + }, + "bin": { + "dbf2json": "bin/dbf2json", + "shp2json": "bin/shp2json" + } + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -4698,6 +5895,41 @@ "node": ">=8" } }, + "node_modules/shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/shelljs/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/side-channel": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", @@ -4723,11 +5955,21 @@ "integrity": "sha512-fCvEXfh6NWpm+YSuY2bpXb/VIihqWA6hLsgboC+0nl71Q7N7o2eaCW8mJa/NLvQhs6jpd3VZV4UiUQlV6+lc8g==", "dev": true }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, "node_modules/signature_pad": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/signature_pad/-/signature_pad-4.1.5.tgz", "integrity": "sha512-VOE846UbQMeLBbcR08KwjwE1wNLgp3gqC7yr/AELkgSMs/BdRpxIZna6K5XyZJpA7IWq9GiInw1C8PLm57VO6Q==" }, + "node_modules/slice-source": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/slice-source/-/slice-source-0.4.1.tgz", + "integrity": "sha512-YiuPbxpCj4hD9Qs06hGAz/OZhQ0eDuALN0lRWJez0eD/RevzKqGdUx1IOMUnXgpr+sXZLq3g8ERwbAH0bCb8vg==" + }, "node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -4765,6 +6007,14 @@ "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", "dev": true }, + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/std-env": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.3.3.tgz", @@ -4782,16 +6032,54 @@ "node": ">= 0.4" } }, + "node_modules/stream-source": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/stream-source/-/stream-source-0.3.5.tgz", + "integrity": "sha512-ZuEDP9sgjiAwUVoDModftG0JtYiLUV8K4ljYD1VyUMRWtbVf92474o4kuuul43iZ8t/hRuiDAx1dIJSvirrK/g==" + }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, "node_modules/string-hash": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz", "integrity": "sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==" }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -4827,7 +6115,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -4835,6 +6122,17 @@ "node": ">=8" } }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/symbol-tree": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", @@ -4893,12 +6191,23 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/text-encoding": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.6.4.tgz", + "integrity": "sha512-hJnc6Qg3dWoOMkqP53F0dzRIgtmsAge09kxUIqGrEUS4qr5rWLckGYaQAVr+opBrIMRErGgy6f5aPnyPpyGRfg==", + "deprecated": "no longer maintained" + }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" + }, "node_modules/ticky": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/ticky/-/ticky-1.0.1.tgz", @@ -4950,6 +6259,17 @@ "@popperjs/core": "^2.9.0" } }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -4962,6 +6282,22 @@ "node": ">=8.0" } }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/touch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.1.tgz", + "integrity": "sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==", + "bin": { + "nodetouch": "bin/nodetouch.js" + } + }, "node_modules/tough-cookie": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", @@ -4982,6 +6318,19 @@ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, + "node_modules/traverse": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz", + "integrity": "sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ==", + "engines": { + "node": "*" + } + }, + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -5020,6 +6369,23 @@ "resolved": "https://registry.npmjs.org/type-func/-/type-func-1.0.3.tgz", "integrity": "sha512-YA90CUk+i00tWESPNRMahywXhAz+12NLJLKlOWrgHIbqaFXjdZrWstRghaibOW/IxhPjui4SmXxO/03XSGRIjA==" }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" + }, "node_modules/ufo": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.1.2.tgz", @@ -5035,6 +6401,31 @@ "node": ">= 4.0.0" } }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unzipper": { + "version": "0.10.14", + "resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.10.14.tgz", + "integrity": "sha512-ti4wZj+0bQTiX2KmKWuwj7lhV+2n//uXEotUmGuQqrbVZSEGFMbI68+c6JCQ8aAmUWYvtHEz2A8K6wXvueR/6g==", + "dependencies": { + "big-integer": "^1.6.17", + "binary": "~0.3.0", + "bluebird": "~3.4.1", + "buffer-indexof-polyfill": "~1.0.0", + "duplexer2": "~0.1.4", + "fstream": "^1.0.12", + "graceful-fs": "^4.2.2", + "listenercount": "~1.0.1", + "readable-stream": "~2.3.6", + "setimmediate": "~1.0.4" + } + }, "node_modules/upath": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz", @@ -5067,8 +6458,15 @@ "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "engines": { + "node": ">= 0.4.0" + } }, "node_modules/uuid": { "version": "9.0.0", @@ -5100,6 +6498,14 @@ "@sphinxxxx/color-conversion": "^2.2.2" } }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/vite": { "version": "5.2.6", "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.6.tgz", @@ -6483,6 +7889,11 @@ "node": ">=8" } }, + "node_modules/wkt-parser": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/wkt-parser/-/wkt-parser-1.3.3.tgz", + "integrity": "sha512-ZnV3yH8/k58ZPACOXeiHaMuXIiaTk1t0hSUVisbO0t4RjA5wPpUytcxeyiN2h+LZRrmuHIh/1UlrR9e7DHDvTw==" + }, "node_modules/word-wrap": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", @@ -6495,8 +7906,7 @@ "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "node_modules/ws": { "version": "8.13.0", @@ -6528,12 +7938,40 @@ "node": ">=12" } }, + "node_modules/xml2js": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", + "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "engines": { + "node": ">=4.0" + } + }, "node_modules/xmlchars": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", "dev": true }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, "node_modules/yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", diff --git a/app/frontend/package.json b/app/frontend/package.json index 42fdb9f7c..d668012a2 100644 --- a/app/frontend/package.json +++ b/app/frontend/package.json @@ -31,6 +31,7 @@ }, "dependencies": { "@bcgov/bc-sans": "^1.0.1", + "@bcgov/smk-cli": "^1.2.0", "@formio/vue": "^5.0.0", "@fortawesome/fontawesome-svg-core": "^6.4.2", "@fortawesome/free-solid-svg-icons": "^6.4.2", diff --git a/app/frontend/public/index.html b/app/frontend/public/index.html index 5e1d6e99a..1dfc07d33 100755 --- a/app/frontend/public/index.html +++ b/app/frontend/public/index.html @@ -1,5 +1,6 @@ + diff --git a/components/src/components/Map/Component.ts b/components/src/components/Map/Component.ts index a8b7c1563..0a44c69e2 100644 --- a/components/src/components/Map/Component.ts +++ b/components/src/components/Map/Component.ts @@ -26,9 +26,10 @@ class MapComponent extends FieldComponent { render() { return super.render( - this.renderTemplate('input', { - input: `
map goes here
`, - }) + this + // this.renderTemplate('input', { + // input: `
map goes here
`, + // }) ); } diff --git a/components/src/components/index.ts b/components/src/components/index.ts index c1c66f751..13289e107 100755 --- a/components/src/components/index.ts +++ b/components/src/components/index.ts @@ -46,7 +46,6 @@ import simplebuttonadvanced from './SimpleButtonAdvanced/Component'; import bcaddress from './BCAddress/Component'; import simplebcaddress from './SimpleBCAddress/Component'; import MapComponent from './Map/Component'; -import map from './Map/Component' export default { orgbook, @@ -97,6 +96,4 @@ export default { bcaddress, simplebcaddress, MapComponent, - simplebcaddress, - map }; From 1a3145385c0bbd4ff2177d8acb31a09c3b309082 Mon Sep 17 00:00:00 2001 From: RyanBirtch-aot Date: Mon, 27 May 2024 10:00:48 -0700 Subject: [PATCH 04/27] Added map component changes --- .../src/components/Map/Common/Constants.d.ts | 4 + .../src/components/Map/Common/Constants.js | 4 + .../src/components/Map/Common/Constants.ts | 4 - components/src/components/Map/Component.d.ts | 16 +++ .../src/components/Map/Component.form.d.ts | 1 + .../{Component.form.ts => Component.form.js} | 5 +- components/src/components/Map/Component.js | 60 ++++++++++ components/src/components/Map/Component.ts | 53 --------- .../Map/editForm/Component.edit.data.d.ts | 29 +++++ ...nt.edit.data.ts => Component.edit.data.js} | 4 +- .../Map/editForm/Component.edit.display.d.ts | 81 +++++++++++++ .../Map/editForm/Component.edit.display.js | 107 +++++++++++++++++ .../Map/editForm/Component.edit.display.ts | 108 ------------------ .../editForm/Component.edit.validation.d.ts | 26 +++++ ...dation.ts => Component.edit.validation.js} | 0 15 files changed, 331 insertions(+), 171 deletions(-) create mode 100644 components/src/components/Map/Common/Constants.d.ts create mode 100644 components/src/components/Map/Common/Constants.js delete mode 100644 components/src/components/Map/Common/Constants.ts create mode 100644 components/src/components/Map/Component.d.ts create mode 100644 components/src/components/Map/Component.form.d.ts rename components/src/components/Map/{Component.form.ts => Component.form.js} (97%) create mode 100644 components/src/components/Map/Component.js delete mode 100644 components/src/components/Map/Component.ts create mode 100644 components/src/components/Map/editForm/Component.edit.data.d.ts rename components/src/components/Map/editForm/{Component.edit.data.ts => Component.edit.data.js} (94%) create mode 100644 components/src/components/Map/editForm/Component.edit.display.d.ts create mode 100644 components/src/components/Map/editForm/Component.edit.display.js delete mode 100644 components/src/components/Map/editForm/Component.edit.display.ts create mode 100644 components/src/components/Map/editForm/Component.edit.validation.d.ts rename components/src/components/Map/editForm/{Component.edit.validation.ts => Component.edit.validation.js} (100%) diff --git a/components/src/components/Map/Common/Constants.d.ts b/components/src/components/Map/Common/Constants.d.ts new file mode 100644 index 000000000..0b0a10000 --- /dev/null +++ b/components/src/components/Map/Common/Constants.d.ts @@ -0,0 +1,4 @@ +export declare abstract class Constants { + static readonly DEFAULT_HELP_LINK: string; + static readonly ADV: string; +} diff --git a/components/src/components/Map/Common/Constants.js b/components/src/components/Map/Common/Constants.js new file mode 100644 index 000000000..0ca555292 --- /dev/null +++ b/components/src/components/Map/Common/Constants.js @@ -0,0 +1,4 @@ +export class Constants { + static DEFAULT_HELP_LINK = 'https://github.com/bcgov/common-hosted-form-service/wiki'; + static ADV = ''; +} diff --git a/components/src/components/Map/Common/Constants.ts b/components/src/components/Map/Common/Constants.ts deleted file mode 100644 index 969ac7b2a..000000000 --- a/components/src/components/Map/Common/Constants.ts +++ /dev/null @@ -1,4 +0,0 @@ -export abstract class Constants { - static readonly DEFAULT_HELP_LINK: string = 'https://github.com/bcgov/common-hosted-form-service/wiki'; - static readonly ADV: string = ''; -} diff --git a/components/src/components/Map/Component.d.ts b/components/src/components/Map/Component.d.ts new file mode 100644 index 000000000..37f1f712e --- /dev/null +++ b/components/src/components/Map/Component.d.ts @@ -0,0 +1,16 @@ +import { Components } from 'formiojs'; +declare const FieldComponent: typeof Components.components.field; +declare class MapComponent extends FieldComponent { + static schema(...extend: any[]): import("formiojs").ExtendedComponentSchema; + static get builderInfo(): { + title: string; + group: string; + icon: string; + weight: number; + schema: import("formiojs").ExtendedComponentSchema; + }; + render(): any; + attach(element: HTMLElement): void; + loadMap(): void; +} +export default MapComponent; diff --git a/components/src/components/Map/Component.form.d.ts b/components/src/components/Map/Component.form.d.ts new file mode 100644 index 000000000..c1e415834 --- /dev/null +++ b/components/src/components/Map/Component.form.d.ts @@ -0,0 +1 @@ +export default function (...extend: any[]): any; diff --git a/components/src/components/Map/Component.form.ts b/components/src/components/Map/Component.form.js similarity index 97% rename from components/src/components/Map/Component.form.ts rename to components/src/components/Map/Component.form.js index d82d83b81..c8355339f 100644 --- a/components/src/components/Map/Component.form.ts +++ b/components/src/components/Map/Component.form.js @@ -1,13 +1,10 @@ import baseEditForm from 'formiojs/components/_classes/component/Component.form'; - import EditData from './editForm/Component.edit.data'; import EditDisplay from './editForm/Component.edit.display'; import EditValidation from './editForm/Component.edit.validation'; - import SimpleApi from '../Common/Simple.edit.api'; import SimpleConditional from '../Common/Simple.edit.conditional'; - -export default function(...extend) { +export default function (...extend) { return baseEditForm([ EditDisplay, { diff --git a/components/src/components/Map/Component.js b/components/src/components/Map/Component.js new file mode 100644 index 000000000..bb02203a9 --- /dev/null +++ b/components/src/components/Map/Component.js @@ -0,0 +1,60 @@ +import { Components } from 'formiojs'; +const FieldComponent = Components.components.field; + +class MapComponent extends FieldComponent { + static schema(...extend) { + return FieldComponent.schema({ + type: 'map', + label: 'Map', + key: 'map', + input: true, + ...extend, + }); + } + static get builderInfo() { + return { + title: 'Map', + group: 'basic', + icon: 'map', + weight: 70, + schema: MapComponent.schema(), + }; + } + + render() { + return super.render( + ` +
+ +
+ + ` + ) + } + attach(element) { + super.attach(element); + this.loadMap(); + } + loadMap() { + const mapContainer = document.getElementById('map'); + if (mapContainer) { + console.log('inside Map'); + // SMK.init({ container: 'map' }).then((smk) => { + // // Additional SMK configuration goes here + // }); + } + } + +} + +const testComponent = (data) =>{ + const printData = (d) =>{ console.log(d)} + console.log(data) + printData(data) +} +Components.addComponent('map', MapComponent); +export default MapComponent; diff --git a/components/src/components/Map/Component.ts b/components/src/components/Map/Component.ts deleted file mode 100644 index 0a44c69e2..000000000 --- a/components/src/components/Map/Component.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { Components } from 'formiojs'; -//import SMK from '@bcgov/smk'; - -const FieldComponent = Components.components.field; - -class MapComponent extends FieldComponent { - static schema(...extend: any[]) { - return FieldComponent.schema({ - type: 'map', - label: 'Map', - key: 'map', - input: true, - ...extend, - }); - } - - static get builderInfo() { - return { - title: 'Map', - group: 'basic', - icon: 'map', - weight: 70, - schema: MapComponent.schema(), - }; - } - - render() { - return super.render( - this - // this.renderTemplate('input', { - // input: `
map goes here
`, - // }) - ); - } - - attach(element: HTMLElement) { - super.attach(element); - this.loadMap(); - } - - loadMap() { - const mapContainer = document.getElementById('map'); - if (mapContainer) { - console.log('inside Map'); - // SMK.init({ container: 'map' }).then((smk) => { - // // Additional SMK configuration goes here - // }); - } - } -} - -Components.addComponent('map', MapComponent); -export default MapComponent; diff --git a/components/src/components/Map/editForm/Component.edit.data.d.ts b/components/src/components/Map/editForm/Component.edit.data.d.ts new file mode 100644 index 000000000..010dcbdd8 --- /dev/null +++ b/components/src/components/Map/editForm/Component.edit.data.d.ts @@ -0,0 +1,29 @@ +declare const _default: ({ + weight: number; + type: string; + label: string; + tooltip: string; + key: string; + input: boolean; + placeholder?: undefined; +} | { + type: string; + label: string; + key: string; + weight: number; + placeholder: string; + tooltip: string; + input: boolean; +} | { + weight: number; + type: string; + label: string; + key: string; + tooltip: string; + input: boolean; + values: { + value: string; + label: string; + }[]; +})[]; +export default _default; diff --git a/components/src/components/Map/editForm/Component.edit.data.ts b/components/src/components/Map/editForm/Component.edit.data.js similarity index 94% rename from components/src/components/Map/editForm/Component.edit.data.ts rename to components/src/components/Map/editForm/Component.edit.data.js index 9c28c5944..4c548cb29 100644 --- a/components/src/components/Map/editForm/Component.edit.data.ts +++ b/components/src/components/Map/editForm/Component.edit.data.js @@ -1,6 +1,6 @@ import common from '../../Common/Simple.edit.data'; export default [ - ...common, + ...common, { weight: 200, type: 'radio', @@ -16,7 +16,7 @@ export default [ { value: 'uppercase', label: 'Uppercase' - },{ + }, { value: 'lowercase', label: 'Lowercase' } diff --git a/components/src/components/Map/editForm/Component.edit.display.d.ts b/components/src/components/Map/editForm/Component.edit.display.d.ts new file mode 100644 index 000000000..57d96c128 --- /dev/null +++ b/components/src/components/Map/editForm/Component.edit.display.d.ts @@ -0,0 +1,81 @@ +declare const _default: { + key: string; + components: ({ + key: string; + ignore: boolean; + } | { + weight: number; + type: string; + input: boolean; + key: string; + label: string; + tooltip: string; + customConditional(context: any): boolean; + defaultValue?: undefined; + reorder?: undefined; + components?: undefined; + ignore?: undefined; + } | { + weight: number; + type: string; + input: boolean; + key: string; + label: string; + tooltip?: undefined; + defaultValue?: undefined; + reorder?: undefined; + components?: undefined; + ignore?: undefined; + } | { + weight: number; + type: string; + input: boolean; + key: string; + defaultValue: boolean; + label: string; + tooltip?: undefined; + reorder?: undefined; + components?: undefined; + ignore?: undefined; + } | { + weight: number; + type: string; + input: boolean; + key: string; + label: string; + customConditional(context: any): boolean; + reorder: boolean; + components: { + type: string; + key: string; + label: string; + input: boolean; + }[]; + tooltip?: undefined; + defaultValue?: undefined; + ignore?: undefined; + } | { + weight: number; + key: string; + ignore: boolean; + type?: undefined; + input?: undefined; + label?: undefined; + tooltip?: undefined; + defaultValue?: undefined; + reorder?: undefined; + components?: undefined; + } | { + weight: number; + type: string; + label: string; + tooltip: string; + key: string; + input: boolean; + defaultValue?: undefined; + reorder?: undefined; + components?: undefined; + ignore?: undefined; + })[]; +}; +export default _default; diff --git a/components/src/components/Map/editForm/Component.edit.display.js b/components/src/components/Map/editForm/Component.edit.display.js new file mode 100644 index 000000000..2cf26efa4 --- /dev/null +++ b/components/src/components/Map/editForm/Component.edit.display.js @@ -0,0 +1,107 @@ +import common from '../../Common/Simple.edit.display'; +export default { + key: 'display', + components: [ + ...common, + { + key: 'refreshOnChange', + ignore: true + }, + { + key: 'className', + ignore: true, + }, + { + key: 'widget', + ignore: true + }, + { + key: 'widget.type', + ignore: true + }, + { + key: 'prefix', + ignore: true + }, + { + key: 'suffix', + ignore: true + }, + { + weight: 410, + type: 'textfield', + input: true, + key: 'inputMask', + label: 'Input Mask', + tooltip: 'An input mask helps the user with input by ensuring a predefined format.

9: numeric
a: alphabetical
*: alphanumeric

Example telephone mask: (999) 999-9999

See the jquery.inputmask documentation for more information.', + customConditional(context) { + return !context.data.allowMultipleMasks; + } + }, + { + weight: 413, + type: 'checkbox', + input: true, + key: 'allowMultipleMasks', + label: 'Allow Multiple Masks' + }, + { + weight: 1350, + type: 'checkbox', + input: true, + key: 'spellcheck', + defaultValue: true, + label: 'Allow Spellcheck' + }, + { + weight: 417, + type: 'datagrid', + input: true, + key: 'inputMasks', + label: 'Input Masks', + customConditional(context) { + return context.data.allowMultipleMasks === true; + }, + reorder: true, + components: [ + { + type: 'textfield', + key: 'label', + label: 'Label', + input: true + }, + { + type: 'textfield', + key: 'mask', + label: 'Mask', + input: true + } + ] + }, + { + key: 'autocomplete', + ignore: true, + }, + { + weight: 1300, + key: 'mask', + ignore: true + }, + { + weight: 1200, + type: 'checkbox', + label: 'Show Word Counter', + tooltip: 'Show a live count of the number of words.', + key: 'showWordCount', + input: true + }, + { + weight: 1201, + type: 'checkbox', + label: 'Show Character Counter', + tooltip: 'Show a live count of the number of characters.', + key: 'showCharCount', + input: true + } + ] +}; diff --git a/components/src/components/Map/editForm/Component.edit.display.ts b/components/src/components/Map/editForm/Component.edit.display.ts deleted file mode 100644 index 6a3c34c35..000000000 --- a/components/src/components/Map/editForm/Component.edit.display.ts +++ /dev/null @@ -1,108 +0,0 @@ -import common from '../../Common/Simple.edit.display'; -export default - { - key: 'display', - components: [ - ...common, - { - key: 'refreshOnChange', - ignore: true - }, - { - key: 'className', - ignore: true, - }, - { - key: 'widget', - ignore: true - }, - { - key: 'widget.type', - ignore: true - }, - { - key: 'prefix', - ignore: true - }, - { - key: 'suffix', - ignore: true - }, - { - weight: 410, - type: 'textfield', - input: true, - key: 'inputMask', - label: 'Input Mask', - tooltip: 'An input mask helps the user with input by ensuring a predefined format.

9: numeric
a: alphabetical
*: alphanumeric

Example telephone mask: (999) 999-9999

See the jquery.inputmask documentation for more information.', - customConditional(context) { - return !context.data.allowMultipleMasks; - } - }, - { - weight: 413, - type: 'checkbox', - input: true, - key: 'allowMultipleMasks', - label: 'Allow Multiple Masks' - }, - { - weight: 1350, - type: 'checkbox', - input: true, - key: 'spellcheck', - defaultValue: true, - label: 'Allow Spellcheck' - }, - { - weight: 417, - type: 'datagrid', - input: true, - key: 'inputMasks', - label: 'Input Masks', - customConditional(context) { - return context.data.allowMultipleMasks === true; - }, - reorder: true, - components: [ - { - type: 'textfield', - key: 'label', - label: 'Label', - input: true - }, - { - type: 'textfield', - key: 'mask', - label: 'Mask', - input: true - } - ] - }, - { - key: 'autocomplete', - ignore: true, - }, - { - weight: 1300, - key: 'mask', - ignore: true - }, - { - weight: 1200, - type: 'checkbox', - label: 'Show Word Counter', - tooltip: 'Show a live count of the number of words.', - key: 'showWordCount', - input: true - }, - { - weight: 1201, - type: 'checkbox', - label: 'Show Character Counter', - tooltip: 'Show a live count of the number of characters.', - key: 'showCharCount', - input: true - } - ] - } diff --git a/components/src/components/Map/editForm/Component.edit.validation.d.ts b/components/src/components/Map/editForm/Component.edit.validation.d.ts new file mode 100644 index 000000000..e2ae418b0 --- /dev/null +++ b/components/src/components/Map/editForm/Component.edit.validation.d.ts @@ -0,0 +1,26 @@ +declare const _default: ({ + weight: number; + type: string; + defaultValue: boolean; + label: string; + tooltip: string; + key: string; + input: boolean; +} | { + weight: number; + type: string; + label: string; + tooltip: string; + key: string; + input: boolean; + placeholder?: undefined; +} | { + weight: number; + key: string; + label: string; + placeholder: string; + type: string; + tooltip: string; + input: boolean; +})[]; +export default _default; diff --git a/components/src/components/Map/editForm/Component.edit.validation.ts b/components/src/components/Map/editForm/Component.edit.validation.js similarity index 100% rename from components/src/components/Map/editForm/Component.edit.validation.ts rename to components/src/components/Map/editForm/Component.edit.validation.js From 9c7733e19b48b6c5a320ed7d0771fca7d10a88e5 Mon Sep 17 00:00:00 2001 From: RyanBirtch-aot Date: Tue, 28 May 2024 15:16:24 -0700 Subject: [PATCH 05/27] Init Leaflet Component --- app/frontend/package-lock.json | 13 +++++++ app/frontend/package.json | 3 ++ components/src/components/Map/Component.js | 45 +++++++++++++++------- 3 files changed, 47 insertions(+), 14 deletions(-) diff --git a/app/frontend/package-lock.json b/app/frontend/package-lock.json index 1407b2b07..5c411abce 100644 --- a/app/frontend/package-lock.json +++ b/app/frontend/package-lock.json @@ -10,6 +10,7 @@ "license": "Apache-2.0", "dependencies": { "@bcgov/bc-sans": "^1.0.1", + "@bcgov/smk": "^1.2.1", "@bcgov/smk-cli": "^1.2.0", "@formio/vue": "^5.0.0", "@fortawesome/fontawesome-svg-core": "^6.4.2", @@ -22,6 +23,8 @@ "font-awesome": "^4.7.0", "formiojs": "^4.14.13", "keycloak-js": "^21.1.1", + "leaflet": "^1.9.4", + "leaflet-draw": "^1.0.4", "lodash": "^4.17.21", "mitt": "^3.0.0", "moment": "^2.29.4", @@ -4413,6 +4416,16 @@ "js-sha256": "^0.9.0" } }, + "node_modules/leaflet": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/leaflet/-/leaflet-1.9.4.tgz", + "integrity": "sha512-nxS1ynzJOmOlHp+iL3FyWqK89GtNL8U8rvlMOsQdTTssxZwCXh8N2NB3GDQOL+YR3XnWyZAxwQixURb+FA74PA==" + }, + "node_modules/leaflet-draw": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/leaflet-draw/-/leaflet-draw-1.0.4.tgz", + "integrity": "sha512-rsQ6saQO5ST5Aj6XRFylr5zvarWgzWnrg46zQ1MEOEIHsppdC/8hnN8qMoFvACsPvTioAuysya/TVtog15tyAQ==" + }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", diff --git a/app/frontend/package.json b/app/frontend/package.json index d668012a2..1d78085e3 100644 --- a/app/frontend/package.json +++ b/app/frontend/package.json @@ -31,6 +31,7 @@ }, "dependencies": { "@bcgov/bc-sans": "^1.0.1", + "@bcgov/smk": "^1.2.1", "@bcgov/smk-cli": "^1.2.0", "@formio/vue": "^5.0.0", "@fortawesome/fontawesome-svg-core": "^6.4.2", @@ -43,6 +44,8 @@ "font-awesome": "^4.7.0", "formiojs": "^4.14.13", "keycloak-js": "^21.1.1", + "leaflet": "^1.9.4", + "leaflet-draw": "^1.0.4", "lodash": "^4.17.21", "mitt": "^3.0.0", "moment": "^2.29.4", diff --git a/components/src/components/Map/Component.js b/components/src/components/Map/Component.js index bb02203a9..fc507fb4a 100644 --- a/components/src/components/Map/Component.js +++ b/components/src/components/Map/Component.js @@ -1,5 +1,11 @@ import { Components } from 'formiojs'; const FieldComponent = Components.components.field; +import L from "leaflet" +import "leaflet-draw" +import 'leaflet/dist/leaflet.css'; +import "leaflet-draw/dist/leaflet.draw-src.css"; + +const CENTER = [48.41938669910753, -123.37030649185182] class MapComponent extends FieldComponent { static schema(...extend) { @@ -24,28 +30,39 @@ class MapComponent extends FieldComponent { render() { return super.render( ` -
- -
+
` ) } attach(element) { - super.attach(element); + const superAttach = super.attach(element); this.loadMap(); + return superAttach } loadMap() { - const mapContainer = document.getElementById('map'); - if (mapContainer) { - console.log('inside Map'); - // SMK.init({ container: 'map' }).then((smk) => { - // // Additional SMK configuration goes here - // }); + const mapContainer = document.getElementById("mapContainer"); + if(mapContainer){ + const map = L.map(mapContainer,{drawControl:true}).setView(CENTER, 13); + L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { + attribution: '© OpenStreetMap contributors', + }).addTo(map); + var drawnItems = new L.FeatureGroup() + var drawControl = new L.Control.Draw({ + edit:{ + featureGroup: drawnItems + } + }) + map.addControl(drawControl) + + //event listener + map.on('draw:created', function(e){ + console.log(e) + var type = e.layerType + var layer = e.layer + + drawnItems.addLayer(layer) + }) } } From 9c73981e3c2c85f8a142f1c06c0b920e9d57958f Mon Sep 17 00:00:00 2001 From: RyanBirtch-aot Date: Tue, 28 May 2024 17:15:17 -0700 Subject: [PATCH 06/27] Fixed marker bug, reduced options to point and circle, prelim work on submission data --- components/src/components/Map/Component.js | 48 ++++++++++++++-------- 1 file changed, 32 insertions(+), 16 deletions(-) diff --git a/components/src/components/Map/Component.js b/components/src/components/Map/Component.js index fc507fb4a..f0fd1a16e 100644 --- a/components/src/components/Map/Component.js +++ b/components/src/components/Map/Component.js @@ -1,11 +1,11 @@ -import { Components } from 'formiojs'; +import { Formio, Components } from 'formiojs'; const FieldComponent = Components.components.field; import L from "leaflet" import "leaflet-draw" import 'leaflet/dist/leaflet.css'; import "leaflet-draw/dist/leaflet.draw-src.css"; -const CENTER = [48.41938669910753, -123.37030649185182] +const CENTER = [48.41939025932759,-123.37029576301576] class MapComponent extends FieldComponent { static schema(...extend) { @@ -30,7 +30,7 @@ class MapComponent extends FieldComponent { render() { return super.render( ` -
+
` ) @@ -42,36 +42,52 @@ class MapComponent extends FieldComponent { } loadMap() { const mapContainer = document.getElementById("mapContainer"); + const form = document.getElementsByClassName("formio") if(mapContainer){ - const map = L.map(mapContainer,{drawControl:true}).setView(CENTER, 13); + const map = L.map(mapContainer).setView(CENTER, 13); L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { attribution: '© OpenStreetMap contributors', - }).addTo(map); - var drawnItems = new L.FeatureGroup() - var drawControl = new L.Control.Draw({ + }).addTo(map); + + + + if(form && form[0]?.classList.contains("formbuilder")){ + map.dragging.disable(); + map.scrollWheelZoom.disable(); + } + + //Initialize Draw Layer + let drawnItems = new L.FeatureGroup() + map.addLayer(drawnItems) + //Add Drawing Controllers + let drawControl = new L.Control.Draw({ + draw:{ + circlemarker:false, + polygon: false, + polyline: false, + rectangle:false, + }, edit:{ featureGroup: drawnItems } }) + //Attach Controls to map map.addControl(drawControl) - //event listener + //event listener for drawn objects map.on('draw:created', function(e){ - console.log(e) - var type = e.layerType - var layer = e.layer + //console.log(e) + let type = e.layerType + let layer = e.layer drawnItems.addLayer(layer) + console.log(drawnItems._layers) + }) } } } -const testComponent = (data) =>{ - const printData = (d) =>{ console.log(d)} - console.log(data) - printData(data) -} Components.addComponent('map', MapComponent); export default MapComponent; From 6e91baf5f5282982bf70c718bc36f0d6f6e5fcb8 Mon Sep 17 00:00:00 2001 From: RyanBirtch-aot Date: Fri, 31 May 2024 15:45:59 -0700 Subject: [PATCH 07/27] refactor map component --- components/src/components/Map/Component.js | 55 ++++----------------- components/src/components/Map/MapService.js | 45 +++++++++++++++++ 2 files changed, 54 insertions(+), 46 deletions(-) create mode 100644 components/src/components/Map/MapService.js diff --git a/components/src/components/Map/Component.js b/components/src/components/Map/Component.js index f0fd1a16e..0962184f9 100644 --- a/components/src/components/Map/Component.js +++ b/components/src/components/Map/Component.js @@ -1,9 +1,6 @@ -import { Formio, Components } from 'formiojs'; +import { Components } from 'formiojs'; const FieldComponent = Components.components.field; -import L from "leaflet" -import "leaflet-draw" -import 'leaflet/dist/leaflet.css'; -import "leaflet-draw/dist/leaflet.draw-src.css"; +import MapService from './MapService'; const CENTER = [48.41939025932759,-123.37029576301576] @@ -43,48 +40,14 @@ class MapComponent extends FieldComponent { loadMap() { const mapContainer = document.getElementById("mapContainer"); const form = document.getElementsByClassName("formio") - if(mapContainer){ - const map = L.map(mapContainer).setView(CENTER, 13); - L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { - attribution: '© OpenStreetMap contributors', - }).addTo(map); - - - - if(form && form[0]?.classList.contains("formbuilder")){ - map.dragging.disable(); - map.scrollWheelZoom.disable(); - } - - //Initialize Draw Layer - let drawnItems = new L.FeatureGroup() - map.addLayer(drawnItems) - //Add Drawing Controllers - let drawControl = new L.Control.Draw({ - draw:{ - circlemarker:false, - polygon: false, - polyline: false, - rectangle:false, - }, - edit:{ - featureGroup: drawnItems - } - }) - //Attach Controls to map - map.addControl(drawControl) - - //event listener for drawn objects - map.on('draw:created', function(e){ - //console.log(e) - let type = e.layerType - let layer = e.layer - - drawnItems.addLayer(layer) - console.log(drawnItems._layers) - - }) + const drawOptions = { + circlemarker:false, + polygon: false, + polyline: false, + rectangle:false } + MapService({mapContainer, drawOptions, center:CENTER, form}) + } } diff --git a/components/src/components/Map/MapService.js b/components/src/components/Map/MapService.js new file mode 100644 index 000000000..7cf71a297 --- /dev/null +++ b/components/src/components/Map/MapService.js @@ -0,0 +1,45 @@ +import L from "leaflet" +import "leaflet-draw" +import 'leaflet/dist/leaflet.css'; +import "leaflet-draw/dist/leaflet.draw-src.css"; + +export default function MapService(options){ + const {mapContainer, center, drawOptions, form } = options; + if(mapContainer){ + const map = L.map(mapContainer).setView(center, 13); + L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { + attribution: '© OpenStreetMap contributors', + }).addTo(map); + + + + if(form && form[0]?.classList.contains("formbuilder")){ + map.dragging.disable(); + map.scrollWheelZoom.disable(); + } + + //Initialize Draw Layer + let drawnItems = new L.FeatureGroup() + map.addLayer(drawnItems) + //Add Drawing Controllers + let drawControl = new L.Control.Draw({ + draw:drawOptions, + edit:{ + featureGroup: drawnItems + } + }) + //Attach Controls to map + map.addControl(drawControl) + + //event listener for drawn objects + map.on('draw:created', function(e){ + //console.log(e) + let type = e.layerType + let layer = e.layer + + drawnItems.addLayer(layer) + console.log(drawnItems._layers) + + }) + } +} \ No newline at end of file From a878ac498f110cc9c8173052d7130fcdea7e5787 Mon Sep 17 00:00:00 2001 From: RyanBirtch-aot Date: Mon, 3 Jun 2024 09:09:36 -0700 Subject: [PATCH 08/27] refactoring intermediate step --- components/src/components/Map/Component.d.ts | 16 ---------------- .../src/components/Map/Component.form.d.ts | 1 - components/src/components/Map/Component.js | 10 +++++----- .../components/Map/{ => services}/MapService.js | 0 4 files changed, 5 insertions(+), 22 deletions(-) delete mode 100644 components/src/components/Map/Component.d.ts delete mode 100644 components/src/components/Map/Component.form.d.ts rename components/src/components/Map/{ => services}/MapService.js (100%) diff --git a/components/src/components/Map/Component.d.ts b/components/src/components/Map/Component.d.ts deleted file mode 100644 index 37f1f712e..000000000 --- a/components/src/components/Map/Component.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { Components } from 'formiojs'; -declare const FieldComponent: typeof Components.components.field; -declare class MapComponent extends FieldComponent { - static schema(...extend: any[]): import("formiojs").ExtendedComponentSchema; - static get builderInfo(): { - title: string; - group: string; - icon: string; - weight: number; - schema: import("formiojs").ExtendedComponentSchema; - }; - render(): any; - attach(element: HTMLElement): void; - loadMap(): void; -} -export default MapComponent; diff --git a/components/src/components/Map/Component.form.d.ts b/components/src/components/Map/Component.form.d.ts deleted file mode 100644 index c1e415834..000000000 --- a/components/src/components/Map/Component.form.d.ts +++ /dev/null @@ -1 +0,0 @@ -export default function (...extend: any[]): any; diff --git a/components/src/components/Map/Component.js b/components/src/components/Map/Component.js index 0962184f9..3cf8b77c4 100644 --- a/components/src/components/Map/Component.js +++ b/components/src/components/Map/Component.js @@ -1,10 +1,10 @@ import { Components } from 'formiojs'; const FieldComponent = Components.components.field; -import MapService from './MapService'; +// import MapService from './services/MapService'; const CENTER = [48.41939025932759,-123.37029576301576] -class MapComponent extends FieldComponent { +class Component extends FieldComponent { static schema(...extend) { return FieldComponent.schema({ type: 'map', @@ -46,11 +46,11 @@ class MapComponent extends FieldComponent { polyline: false, rectangle:false } - MapService({mapContainer, drawOptions, center:CENTER, form}) + // MapService({mapContainer, drawOptions, center:CENTER, form}) } } -Components.addComponent('map', MapComponent); -export default MapComponent; +// Components.addComponent('map', MapComponent); +export default Component; diff --git a/components/src/components/Map/MapService.js b/components/src/components/Map/services/MapService.js similarity index 100% rename from components/src/components/Map/MapService.js rename to components/src/components/Map/services/MapService.js From 00b49536b5901d462d6a08f35eec91f2a0d69fa5 Mon Sep 17 00:00:00 2001 From: RyanBirtch-aot Date: Mon, 3 Jun 2024 10:52:48 -0700 Subject: [PATCH 09/27] Typescript conversion --- .../components/Map/{Component.form.js => Component.form.ts} | 0 .../src/components/Map/{Component.js => Component.ts} | 6 +++--- 2 files changed, 3 insertions(+), 3 deletions(-) rename components/src/components/Map/{Component.form.js => Component.form.ts} (100%) rename components/src/components/Map/{Component.js => Component.ts} (89%) diff --git a/components/src/components/Map/Component.form.js b/components/src/components/Map/Component.form.ts similarity index 100% rename from components/src/components/Map/Component.form.js rename to components/src/components/Map/Component.form.ts diff --git a/components/src/components/Map/Component.js b/components/src/components/Map/Component.ts similarity index 89% rename from components/src/components/Map/Component.js rename to components/src/components/Map/Component.ts index 3cf8b77c4..9b5bf00a2 100644 --- a/components/src/components/Map/Component.js +++ b/components/src/components/Map/Component.ts @@ -1,10 +1,10 @@ import { Components } from 'formiojs'; -const FieldComponent = Components.components.field; +const FieldComponent = (Components as any).components.field; // import MapService from './services/MapService'; const CENTER = [48.41939025932759,-123.37029576301576] -class Component extends FieldComponent { +class Component extends (FieldComponent as any) { static schema(...extend) { return FieldComponent.schema({ type: 'map', @@ -20,7 +20,7 @@ class Component extends FieldComponent { group: 'basic', icon: 'map', weight: 70, - schema: MapComponent.schema(), + schema: Component.schema(), }; } From 183e48df0dcb41d853f0e76478dac52994c23648 Mon Sep 17 00:00:00 2001 From: abhilash-aot Date: Tue, 4 Jun 2024 10:32:01 -0700 Subject: [PATCH 10/27] fixed Unknown Component Render issue --- .../src/components/designer/FormDesigner.vue | 2 +- components/package-lock.json | 6 ++ components/package.json | 1 + components/src/components/Map/Component.ts | 88 +++++++++---------- components/src/components/index.ts | 4 +- 5 files changed, 53 insertions(+), 48 deletions(-) diff --git a/app/frontend/src/components/designer/FormDesigner.vue b/app/frontend/src/components/designer/FormDesigner.vue index 8be4e901a..a40bcb83b 100644 --- a/app/frontend/src/components/designer/FormDesigner.vue +++ b/app/frontend/src/components/designer/FormDesigner.vue @@ -184,7 +184,7 @@ export default { simplefile: this.form.userType !== this.ID_MODE.PUBLIC, bcaddress: true, simplebcaddress: true, - MapComponent: true, + map: true, }, }, }, diff --git a/components/package-lock.json b/components/package-lock.json index 98a073220..0b324868f 100644 --- a/components/package-lock.json +++ b/components/package-lock.json @@ -12,6 +12,7 @@ "@bcgov/smk": "^1.2.1", "autocompleter": "^7.0.1", "formiojs": "^4.14.6", + "leaflet": "^1.9.4", "lodash": "^4.17.21", "native-promise-only": "^0.8.1", "path-browserify": "^1.0.1", @@ -4380,6 +4381,11 @@ "node": ">= 0.10" } }, + "node_modules/leaflet": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/leaflet/-/leaflet-1.9.4.tgz", + "integrity": "sha512-nxS1ynzJOmOlHp+iL3FyWqK89GtNL8U8rvlMOsQdTTssxZwCXh8N2NB3GDQOL+YR3XnWyZAxwQixURb+FA74PA==" + }, "node_modules/liftoff": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-3.1.0.tgz", diff --git a/components/package.json b/components/package.json index 70e717b89..759daf3ae 100755 --- a/components/package.json +++ b/components/package.json @@ -50,6 +50,7 @@ "@bcgov/smk": "^1.2.1", "autocompleter": "^7.0.1", "formiojs": "^4.14.6", + "leaflet": "^1.9.4", "lodash": "^4.17.21", "native-promise-only": "^0.8.1", "path-browserify": "^1.0.1", diff --git a/components/src/components/Map/Component.ts b/components/src/components/Map/Component.ts index 9b5bf00a2..4afa3f19b 100644 --- a/components/src/components/Map/Component.ts +++ b/components/src/components/Map/Component.ts @@ -2,55 +2,53 @@ import { Components } from 'formiojs'; const FieldComponent = (Components as any).components.field; // import MapService from './services/MapService'; -const CENTER = [48.41939025932759,-123.37029576301576] +const CENTER = [48.41939025932759, -123.37029576301576]; -class Component extends (FieldComponent as any) { - static schema(...extend) { - return FieldComponent.schema({ - type: 'map', - label: 'Map', - key: 'map', - input: true, - ...extend, - }); - } - static get builderInfo() { - return { - title: 'Map', - group: 'basic', - icon: 'map', - weight: 70, - schema: Component.schema(), - }; - } - - render() { - return super.render( - ` +export default class Component extends (FieldComponent as any) { + static schema(...extend) { + return FieldComponent.schema({ + type: 'map', + label: 'Map', + key: 'map', + input: true, + ...extend, + }); + } + static get builderInfo() { + return { + title: 'Map', + group: 'basic', + icon: 'map', + weight: 70, + schema: Component.schema(), + }; + } + + render() { + return super.render( + `
` - ) - } - attach(element) { - const superAttach = super.attach(element); - this.loadMap(); - return superAttach - } - loadMap() { - const mapContainer = document.getElementById("mapContainer"); - const form = document.getElementsByClassName("formio") - const drawOptions = { - circlemarker:false, - polygon: false, - polyline: false, - rectangle:false - } - // MapService({mapContainer, drawOptions, center:CENTER, form}) - - } - + ); + } + attach(element) { + const superAttach = super.attach(element); + this.loadMap(); + return superAttach; + } + loadMap() { + const mapContainer = document.getElementById('mapContainer'); + const form = document.getElementsByClassName('formio'); + const drawOptions = { + circlemarker: false, + polygon: false, + polyline: false, + rectangle: false, + }; + // MapService({mapContainer, drawOptions, center:CENTER, form}) + } } // Components.addComponent('map', MapComponent); -export default Component; +export {}; diff --git a/components/src/components/index.ts b/components/src/components/index.ts index 13289e107..ae1f2cf05 100755 --- a/components/src/components/index.ts +++ b/components/src/components/index.ts @@ -45,7 +45,7 @@ import simplesignatureadvanced from './SimpleSignatureAdvanced/Component'; import simplebuttonadvanced from './SimpleButtonAdvanced/Component'; import bcaddress from './BCAddress/Component'; import simplebcaddress from './SimpleBCAddress/Component'; -import MapComponent from './Map/Component'; +import map from './Map/Component'; export default { orgbook, @@ -95,5 +95,5 @@ export default { simplebuttonadvanced, bcaddress, simplebcaddress, - MapComponent, + map, }; From c12741a3fc87e98b8d8ca79bb05ab5765751b6ef Mon Sep 17 00:00:00 2001 From: RyanBirtch-aot Date: Tue, 4 Jun 2024 15:14:45 -0700 Subject: [PATCH 11/27] Fixes for js->ts conversion, fixes for webpack css import --- components/package-lock.json | 197 ++++++++++++++++-- components/package.json | 4 + components/src/components/Map/Component.ts | 88 ++++---- .../services/{MapService.js => MapService.ts} | 6 +- components/webpack.config.js | 8 + 5 files changed, 241 insertions(+), 62 deletions(-) rename components/src/components/Map/services/{MapService.js => MapService.ts} (91%) diff --git a/components/package-lock.json b/components/package-lock.json index 0b324868f..e9183741b 100644 --- a/components/package-lock.json +++ b/components/package-lock.json @@ -10,9 +10,13 @@ "license": "Apache-2.0", "dependencies": { "@bcgov/smk": "^1.2.1", + "@types/leaflet": "^1.9.12", + "@types/leaflet-draw": "^1.0.11", "autocompleter": "^7.0.1", + "css-loader": "^7.1.2", "formiojs": "^4.14.6", "leaflet": "^1.9.4", + "leaflet-draw": "^1.0.4", "lodash": "^4.17.21", "native-promise-only": "^0.8.1", "path-browserify": "^1.0.1", @@ -610,11 +614,32 @@ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==" }, + "node_modules/@types/geojson": { + "version": "7946.0.14", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.14.tgz", + "integrity": "sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==" + }, "node_modules/@types/json-schema": { "version": "7.0.11", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==" }, + "node_modules/@types/leaflet": { + "version": "1.9.12", + "resolved": "https://registry.npmjs.org/@types/leaflet/-/leaflet-1.9.12.tgz", + "integrity": "sha512-BK7XS+NyRI291HIo0HCfE18Lp8oA30H1gpi1tf0mF3TgiCEzanQjOqNZ4x126SXzzi2oNSZhZ5axJp1k0iM6jg==", + "dependencies": { + "@types/geojson": "*" + } + }, + "node_modules/@types/leaflet-draw": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@types/leaflet-draw/-/leaflet-draw-1.0.11.tgz", + "integrity": "sha512-dyedtNm3aSmnpi6FM6VSl28cQuvP+MD7pgpXyO3Q1ZOCvrJKmzaDq0P3YZTnnBs61fQCKSnNYmbvCkDgFT9FHQ==", + "dependencies": { + "@types/leaflet": "*" + } + }, "node_modules/@types/mocha": { "version": "9.1.1", "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.1.tgz", @@ -1911,6 +1936,62 @@ "custom-event": "^1.0.0" } }, + "node_modules/css-loader": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.1.2.tgz", + "integrity": "sha512-6WvYYn7l/XEGN8Xu2vWFt9nVzrCn39vKyTEFf/ExEyoksJjjSZV/0/35XPlMbpnr6VGhZIUg5yJrL8tGfes/FA==", + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.33", + "postcss-modules-extract-imports": "^3.1.0", + "postcss-modules-local-by-default": "^4.0.5", + "postcss-modules-scope": "^3.2.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.27.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/css-loader/node_modules/semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/custom-event": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", @@ -3457,6 +3538,17 @@ "@babel/runtime": "^7.17.2" } }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, "node_modules/idb": { "version": "6.1.5", "resolved": "https://registry.npmjs.org/idb/-/idb-6.1.5.tgz", @@ -4386,6 +4478,11 @@ "resolved": "https://registry.npmjs.org/leaflet/-/leaflet-1.9.4.tgz", "integrity": "sha512-nxS1ynzJOmOlHp+iL3FyWqK89GtNL8U8rvlMOsQdTTssxZwCXh8N2NB3GDQOL+YR3XnWyZAxwQixURb+FA74PA==" }, + "node_modules/leaflet-draw": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/leaflet-draw/-/leaflet-draw-1.0.4.tgz", + "integrity": "sha512-rsQ6saQO5ST5Aj6XRFylr5zvarWgzWnrg46zQ1MEOEIHsppdC/8hnN8qMoFvACsPvTioAuysya/TVtog15tyAQ==" + }, "node_modules/liftoff": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-3.1.0.tgz", @@ -6261,10 +6358,9 @@ } }, "node_modules/postcss": { - "version": "8.4.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.23.tgz", - "integrity": "sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==", - "dev": true, + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", "funding": [ { "type": "opencollective", @@ -6280,19 +6376,90 @@ } ], "dependencies": { - "nanoid": "^3.3.6", + "nanoid": "^3.3.7", "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "source-map-js": "^1.2.0" }, "engines": { "node": "^10 || ^12 || >=14" } }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", + "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz", + "integrity": "sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==", + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz", + "integrity": "sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", + "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, "node_modules/postcss/node_modules/nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", - "dev": true, + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "funding": [ { "type": "github", @@ -7303,10 +7470,9 @@ } }, "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true, + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", "engines": { "node": ">=0.10.0" } @@ -8342,8 +8508,7 @@ "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "node_modules/uuid": { "version": "3.4.0", diff --git a/components/package.json b/components/package.json index 759daf3ae..e62acf96f 100755 --- a/components/package.json +++ b/components/package.json @@ -48,9 +48,13 @@ ], "dependencies": { "@bcgov/smk": "^1.2.1", + "@types/leaflet": "^1.9.12", + "@types/leaflet-draw": "^1.0.11", "autocompleter": "^7.0.1", + "css-loader": "^7.1.2", "formiojs": "^4.14.6", "leaflet": "^1.9.4", + "leaflet-draw": "^1.0.4", "lodash": "^4.17.21", "native-promise-only": "^0.8.1", "path-browserify": "^1.0.1", diff --git a/components/src/components/Map/Component.ts b/components/src/components/Map/Component.ts index 4afa3f19b..475695aac 100644 --- a/components/src/components/Map/Component.ts +++ b/components/src/components/Map/Component.ts @@ -1,54 +1,56 @@ import { Components } from 'formiojs'; const FieldComponent = (Components as any).components.field; -// import MapService from './services/MapService'; +import MapService from './services/MapService'; -const CENTER = [48.41939025932759, -123.37029576301576]; +const CENTER = [48.41939025932759,-123.37029576301576] export default class Component extends (FieldComponent as any) { - static schema(...extend) { - return FieldComponent.schema({ - type: 'map', - label: 'Map', - key: 'map', - input: true, - ...extend, - }); - } - static get builderInfo() { - return { - title: 'Map', - group: 'basic', - icon: 'map', - weight: 70, - schema: Component.schema(), - }; - } - - render() { - return super.render( - ` + static schema(...extend) { + return FieldComponent.schema({ + type: 'map', + label: 'Map', + key: 'map', + input: true, + ...extend, + }); + } + static get builderInfo() { + return { + title: 'Map', + group: 'basic', + icon: 'map', + weight: 70, + schema: Component.schema(), + }; + } + + render() { + return super.render( + `
` - ); - } - attach(element) { - const superAttach = super.attach(element); - this.loadMap(); - return superAttach; - } - loadMap() { - const mapContainer = document.getElementById('mapContainer'); - const form = document.getElementsByClassName('formio'); - const drawOptions = { - circlemarker: false, - polygon: false, - polyline: false, - rectangle: false, - }; - // MapService({mapContainer, drawOptions, center:CENTER, form}) - } + ) + } + attach(element) { + const superAttach = super.attach(element); + this.loadMap(); + return superAttach + } + loadMap() { + const mapContainer = document.getElementById("mapContainer"); + const form = document.getElementsByClassName("formio") + const drawOptions = { + circlemarker:false, + polygon: false, + polyline: false, + rectangle:false + } + MapService({mapContainer, drawOptions, center:CENTER, form}) + + } + } -// Components.addComponent('map', MapComponent); +//Components.addComponent('map', MapComponent); export {}; diff --git a/components/src/components/Map/services/MapService.js b/components/src/components/Map/services/MapService.ts similarity index 91% rename from components/src/components/Map/services/MapService.js rename to components/src/components/Map/services/MapService.ts index 7cf71a297..11a751061 100644 --- a/components/src/components/Map/services/MapService.js +++ b/components/src/components/Map/services/MapService.ts @@ -1,4 +1,4 @@ -import L from "leaflet" +import * as L from "leaflet" import "leaflet-draw" import 'leaflet/dist/leaflet.css'; import "leaflet-draw/dist/leaflet.draw-src.css"; @@ -34,11 +34,11 @@ export default function MapService(options){ //event listener for drawn objects map.on('draw:created', function(e){ //console.log(e) - let type = e.layerType + let type = e.type let layer = e.layer drawnItems.addLayer(layer) - console.log(drawnItems._layers) + drawnItems.eachLayer((l) => {console.log(l)}) }) } diff --git a/components/webpack.config.js b/components/webpack.config.js index c82fc573d..446560860 100755 --- a/components/webpack.config.js +++ b/components/webpack.config.js @@ -1,6 +1,14 @@ const path = require('path'); module.exports = { + module: { + rules: [ + { + test: /\.css$/i, + use: ["css-loader"], + }, + ], + }, entry: path.join(path.resolve(__dirname, 'lib'), 'index.js'), output: { library: 'BcGovFormioComponents', From 36d590dc4c0ba82b03f62785f4fe0c7e7c2bbc1c Mon Sep 17 00:00:00 2001 From: RyanBirtch-aot Date: Wed, 5 Jun 2024 14:25:54 -0700 Subject: [PATCH 12/27] fix for multi map on one page --- components/src/components/Map/Component.ts | 8 ++-- .../src/components/Map/services/MapService.ts | 40 +++++++++++-------- 2 files changed, 28 insertions(+), 20 deletions(-) diff --git a/components/src/components/Map/Component.ts b/components/src/components/Map/Component.ts index 475695aac..5ffee0057 100644 --- a/components/src/components/Map/Component.ts +++ b/components/src/components/Map/Component.ts @@ -23,11 +23,12 @@ export default class Component extends (FieldComponent as any) { schema: Component.schema(), }; } - + componentID = super.elementInfo().component.id render() { + console.log(super.data); return super.render( ` -
+
` ) @@ -38,7 +39,7 @@ export default class Component extends (FieldComponent as any) { return superAttach } loadMap() { - const mapContainer = document.getElementById("mapContainer"); + const mapContainer = document.getElementById(`map-${this.componentID}`); const form = document.getElementsByClassName("formio") const drawOptions = { circlemarker:false, @@ -52,5 +53,4 @@ export default class Component extends (FieldComponent as any) { } -//Components.addComponent('map', MapComponent); export {}; diff --git a/components/src/components/Map/services/MapService.ts b/components/src/components/Map/services/MapService.ts index 11a751061..cc6701290 100644 --- a/components/src/components/Map/services/MapService.ts +++ b/components/src/components/Map/services/MapService.ts @@ -3,12 +3,31 @@ import "leaflet-draw" import 'leaflet/dist/leaflet.css'; import "leaflet-draw/dist/leaflet.draw-src.css"; +const DEFAULT_MAP_LAYER_URL = 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png' +const DEFAULT_LAYER_ATTRIBUTION = '© OpenStreetMap contributors' + export default function MapService(options){ + if(options.mapContainer){ + const {map,drawnItems} = initializeMap(options) + + //event listener for drawn objects + map.on('draw:created', function(e){ + //console.log(e) + let type = e.type + let layer = e.layer + + drawnItems.addLayer(layer) + drawnItems.eachLayer((l) => {console.log(l)}) + + }) + } +} +const initializeMap = (options) =>{ const {mapContainer, center, drawOptions, form } = options; - if(mapContainer){ - const map = L.map(mapContainer).setView(center, 13); - L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { - attribution: '© OpenStreetMap contributors', + + const map = L.map(mapContainer).setView(center, 13); + L.tileLayer(DEFAULT_MAP_LAYER_URL, { + attribution:DEFAULT_LAYER_ATTRIBUTION , }).addTo(map); @@ -30,16 +49,5 @@ export default function MapService(options){ }) //Attach Controls to map map.addControl(drawControl) - - //event listener for drawn objects - map.on('draw:created', function(e){ - //console.log(e) - let type = e.type - let layer = e.layer - - drawnItems.addLayer(layer) - drawnItems.eachLayer((l) => {console.log(l)}) - - }) - } + return {map,drawnItems} } \ No newline at end of file From ec4904322b0957ef206f603086097e96a467ca78 Mon Sep 17 00:00:00 2001 From: RyanBirtch-aot Date: Tue, 11 Jun 2024 10:57:26 -0700 Subject: [PATCH 13/27] map settings form work --- .../src/components/Map/Component.form.ts | 15 +-- .../Map/editForm/Component.edit.data.d.ts | 29 ----- .../Map/editForm/Component.edit.data.js | 25 ---- .../Map/editForm/Component.edit.data.ts | 18 +++ .../Map/editForm/Component.edit.display.d.ts | 81 ------------- .../Map/editForm/Component.edit.display.js | 107 ------------------ .../Map/editForm/Component.edit.display.ts | 24 ++++ .../editForm/Component.edit.validation.d.ts | 26 ----- .../Map/editForm/Component.edit.validation.js | 22 ---- .../Map/editForm/Component.edit.validation.ts | 4 + 10 files changed, 47 insertions(+), 304 deletions(-) delete mode 100644 components/src/components/Map/editForm/Component.edit.data.d.ts delete mode 100644 components/src/components/Map/editForm/Component.edit.data.js create mode 100644 components/src/components/Map/editForm/Component.edit.data.ts delete mode 100644 components/src/components/Map/editForm/Component.edit.display.d.ts delete mode 100644 components/src/components/Map/editForm/Component.edit.display.js create mode 100644 components/src/components/Map/editForm/Component.edit.display.ts delete mode 100644 components/src/components/Map/editForm/Component.edit.validation.d.ts delete mode 100644 components/src/components/Map/editForm/Component.edit.validation.js create mode 100644 components/src/components/Map/editForm/Component.edit.validation.ts diff --git a/components/src/components/Map/Component.form.ts b/components/src/components/Map/Component.form.ts index c8355339f..cc9dc0133 100644 --- a/components/src/components/Map/Component.form.ts +++ b/components/src/components/Map/Component.form.ts @@ -7,10 +7,7 @@ import SimpleConditional from '../Common/Simple.edit.conditional'; export default function (...extend) { return baseEditForm([ EditDisplay, - { - key: 'data', - ignore: true, - }, + EditData, { key: 'api', ignore: true @@ -23,20 +20,10 @@ export default function (...extend) { key: 'conditional', ignore: true }, - { - key: 'validation', - ignore: true - }, { key: 'logic', ignore: true }, - { - label: 'Data', - key: 'customData', - weight: 10, - components: EditData - }, { label: 'Validation', key: 'customValidation', diff --git a/components/src/components/Map/editForm/Component.edit.data.d.ts b/components/src/components/Map/editForm/Component.edit.data.d.ts deleted file mode 100644 index 010dcbdd8..000000000 --- a/components/src/components/Map/editForm/Component.edit.data.d.ts +++ /dev/null @@ -1,29 +0,0 @@ -declare const _default: ({ - weight: number; - type: string; - label: string; - tooltip: string; - key: string; - input: boolean; - placeholder?: undefined; -} | { - type: string; - label: string; - key: string; - weight: number; - placeholder: string; - tooltip: string; - input: boolean; -} | { - weight: number; - type: string; - label: string; - key: string; - tooltip: string; - input: boolean; - values: { - value: string; - label: string; - }[]; -})[]; -export default _default; diff --git a/components/src/components/Map/editForm/Component.edit.data.js b/components/src/components/Map/editForm/Component.edit.data.js deleted file mode 100644 index 4c548cb29..000000000 --- a/components/src/components/Map/editForm/Component.edit.data.js +++ /dev/null @@ -1,25 +0,0 @@ -import common from '../../Common/Simple.edit.data'; -export default [ - ...common, - { - weight: 200, - type: 'radio', - label: 'Text Case', - key: 'case', - tooltip: 'When data is entered, you can change the case of the value.', - input: true, - values: [ - { - value: 'mixed', - label: 'Mixed (Allow upper and lower case)' - }, - { - value: 'uppercase', - label: 'Uppercase' - }, { - value: 'lowercase', - label: 'Lowercase' - } - ] - } -]; diff --git a/components/src/components/Map/editForm/Component.edit.data.ts b/components/src/components/Map/editForm/Component.edit.data.ts new file mode 100644 index 000000000..ff989beb5 --- /dev/null +++ b/components/src/components/Map/editForm/Component.edit.data.ts @@ -0,0 +1,18 @@ +import common from '../../Common/Simple.edit.data'; +export default + { + key: 'data', + components: [ + ...common, + { + type: 'textfield', + label: 'Default Center Latitude', + key: 'centerLat', + weight: 5, + placeholder: 'Enter the latitude you would like for the default center', + tooltip: 'The Default Center will be where the map will be centered before user interaction.', + input: true + }, + ] + } + diff --git a/components/src/components/Map/editForm/Component.edit.display.d.ts b/components/src/components/Map/editForm/Component.edit.display.d.ts deleted file mode 100644 index 57d96c128..000000000 --- a/components/src/components/Map/editForm/Component.edit.display.d.ts +++ /dev/null @@ -1,81 +0,0 @@ -declare const _default: { - key: string; - components: ({ - key: string; - ignore: boolean; - } | { - weight: number; - type: string; - input: boolean; - key: string; - label: string; - tooltip: string; - customConditional(context: any): boolean; - defaultValue?: undefined; - reorder?: undefined; - components?: undefined; - ignore?: undefined; - } | { - weight: number; - type: string; - input: boolean; - key: string; - label: string; - tooltip?: undefined; - defaultValue?: undefined; - reorder?: undefined; - components?: undefined; - ignore?: undefined; - } | { - weight: number; - type: string; - input: boolean; - key: string; - defaultValue: boolean; - label: string; - tooltip?: undefined; - reorder?: undefined; - components?: undefined; - ignore?: undefined; - } | { - weight: number; - type: string; - input: boolean; - key: string; - label: string; - customConditional(context: any): boolean; - reorder: boolean; - components: { - type: string; - key: string; - label: string; - input: boolean; - }[]; - tooltip?: undefined; - defaultValue?: undefined; - ignore?: undefined; - } | { - weight: number; - key: string; - ignore: boolean; - type?: undefined; - input?: undefined; - label?: undefined; - tooltip?: undefined; - defaultValue?: undefined; - reorder?: undefined; - components?: undefined; - } | { - weight: number; - type: string; - label: string; - tooltip: string; - key: string; - input: boolean; - defaultValue?: undefined; - reorder?: undefined; - components?: undefined; - ignore?: undefined; - })[]; -}; -export default _default; diff --git a/components/src/components/Map/editForm/Component.edit.display.js b/components/src/components/Map/editForm/Component.edit.display.js deleted file mode 100644 index 2cf26efa4..000000000 --- a/components/src/components/Map/editForm/Component.edit.display.js +++ /dev/null @@ -1,107 +0,0 @@ -import common from '../../Common/Simple.edit.display'; -export default { - key: 'display', - components: [ - ...common, - { - key: 'refreshOnChange', - ignore: true - }, - { - key: 'className', - ignore: true, - }, - { - key: 'widget', - ignore: true - }, - { - key: 'widget.type', - ignore: true - }, - { - key: 'prefix', - ignore: true - }, - { - key: 'suffix', - ignore: true - }, - { - weight: 410, - type: 'textfield', - input: true, - key: 'inputMask', - label: 'Input Mask', - tooltip: 'An input mask helps the user with input by ensuring a predefined format.

9: numeric
a: alphabetical
*: alphanumeric

Example telephone mask: (999) 999-9999

See the jquery.inputmask documentation for more information.', - customConditional(context) { - return !context.data.allowMultipleMasks; - } - }, - { - weight: 413, - type: 'checkbox', - input: true, - key: 'allowMultipleMasks', - label: 'Allow Multiple Masks' - }, - { - weight: 1350, - type: 'checkbox', - input: true, - key: 'spellcheck', - defaultValue: true, - label: 'Allow Spellcheck' - }, - { - weight: 417, - type: 'datagrid', - input: true, - key: 'inputMasks', - label: 'Input Masks', - customConditional(context) { - return context.data.allowMultipleMasks === true; - }, - reorder: true, - components: [ - { - type: 'textfield', - key: 'label', - label: 'Label', - input: true - }, - { - type: 'textfield', - key: 'mask', - label: 'Mask', - input: true - } - ] - }, - { - key: 'autocomplete', - ignore: true, - }, - { - weight: 1300, - key: 'mask', - ignore: true - }, - { - weight: 1200, - type: 'checkbox', - label: 'Show Word Counter', - tooltip: 'Show a live count of the number of words.', - key: 'showWordCount', - input: true - }, - { - weight: 1201, - type: 'checkbox', - label: 'Show Character Counter', - tooltip: 'Show a live count of the number of characters.', - key: 'showCharCount', - input: true - } - ] -}; diff --git a/components/src/components/Map/editForm/Component.edit.display.ts b/components/src/components/Map/editForm/Component.edit.display.ts new file mode 100644 index 000000000..5c0cae03f --- /dev/null +++ b/components/src/components/Map/editForm/Component.edit.display.ts @@ -0,0 +1,24 @@ +import common from '../../Common/Simple.edit.display'; +export default [ + ...common, + { + key: 'refreshOnChange', + ignore: true + }, + { + key: 'className', + ignore: true, + }, + { + key: 'prefix', + ignore: true + }, + { + key: 'suffix', + ignore: true + }, + { + key: 'labelPosition', + ignore: true, + }, +]; diff --git a/components/src/components/Map/editForm/Component.edit.validation.d.ts b/components/src/components/Map/editForm/Component.edit.validation.d.ts deleted file mode 100644 index e2ae418b0..000000000 --- a/components/src/components/Map/editForm/Component.edit.validation.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -declare const _default: ({ - weight: number; - type: string; - defaultValue: boolean; - label: string; - tooltip: string; - key: string; - input: boolean; -} | { - weight: number; - type: string; - label: string; - tooltip: string; - key: string; - input: boolean; - placeholder?: undefined; -} | { - weight: number; - key: string; - label: string; - placeholder: string; - type: string; - tooltip: string; - input: boolean; -})[]; -export default _default; diff --git a/components/src/components/Map/editForm/Component.edit.validation.js b/components/src/components/Map/editForm/Component.edit.validation.js deleted file mode 100644 index e0ac0d5e4..000000000 --- a/components/src/components/Map/editForm/Component.edit.validation.js +++ /dev/null @@ -1,22 +0,0 @@ -import common from '../../Common/Simple.edit.validation'; -export default [ - ...common, - { - weight: 110, - key: 'validate.minLength', - label: 'Minimum Length', - placeholder: 'Minimum Length', - type: 'number', - tooltip: 'The minimum length requirement this field must meet.', - input: true - }, - { - weight: 120, - key: 'validate.maxLength', - label: 'Maximum Length', - placeholder: 'Maximum Length', - type: 'number', - tooltip: 'The maximum length requirement this field must meet.', - input: true - } -]; diff --git a/components/src/components/Map/editForm/Component.edit.validation.ts b/components/src/components/Map/editForm/Component.edit.validation.ts new file mode 100644 index 000000000..1cec573db --- /dev/null +++ b/components/src/components/Map/editForm/Component.edit.validation.ts @@ -0,0 +1,4 @@ +import common from '../../Common/Simple.edit.validation'; +export default [ + ...common, +]; From 96605cbfc77bc0a7fc3e5c9e25a2db032c1a4055 Mon Sep 17 00:00:00 2001 From: RyanBirtch-aot Date: Tue, 11 Jun 2024 13:18:46 -0700 Subject: [PATCH 14/27] added limits on map pointer submission and popups showing lat lng --- components/src/components/Map/Component.ts | 4 ++- .../src/components/Map/services/MapService.ts | 33 ++++++++++++------- 2 files changed, 24 insertions(+), 13 deletions(-) diff --git a/components/src/components/Map/Component.ts b/components/src/components/Map/Component.ts index 5ffee0057..a16647426 100644 --- a/components/src/components/Map/Component.ts +++ b/components/src/components/Map/Component.ts @@ -1,6 +1,7 @@ import { Components } from 'formiojs'; const FieldComponent = (Components as any).components.field; import MapService from './services/MapService'; +import { circle } from 'leaflet'; const CENTER = [48.41939025932759,-123.37029576301576] @@ -45,7 +46,8 @@ export default class Component extends (FieldComponent as any) { circlemarker:false, polygon: false, polyline: false, - rectangle:false + rectangle:false, + circle: false } MapService({mapContainer, drawOptions, center:CENTER, form}) diff --git a/components/src/components/Map/services/MapService.ts b/components/src/components/Map/services/MapService.ts index cc6701290..567cacabd 100644 --- a/components/src/components/Map/services/MapService.ts +++ b/components/src/components/Map/services/MapService.ts @@ -5,21 +5,27 @@ import "leaflet-draw/dist/leaflet.draw-src.css"; const DEFAULT_MAP_LAYER_URL = 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png' const DEFAULT_LAYER_ATTRIBUTION = '© OpenStreetMap contributors' +const DECIMALS_LATLNG = 5//the number of decimals of latitude and longitude to be displayed in the marker popup export default function MapService(options){ if(options.mapContainer){ const {map,drawnItems} = initializeMap(options) //event listener for drawn objects - map.on('draw:created', function(e){ + map.on('draw:created', function (e) { //console.log(e) - let type = e.type - let layer = e.layer - - drawnItems.addLayer(layer) - drawnItems.eachLayer((l) => {console.log(l)}) - - }) + let marker = e.layer; + if(drawnItems.getLayers().length){ + console.log(drawnItems.getLayers()) + console.log("too many markers") + L.popup().setLatLng(marker._latlng).setContent("

Only one marker for submission

").openOn(map) + + }else{ + drawnItems.addLayer(marker); + } + marker.bindPopup(`

(${marker._latlng.lat.toFixed(5)},${marker._latlng.lng.toFixed(5)})

`).openPopup(); + //drawnItems.eachLayer((l) => { console.log(l); }); + }); } } const initializeMap = (options) =>{ @@ -32,10 +38,7 @@ const initializeMap = (options) =>{ - if(form && form[0]?.classList.contains("formbuilder")){ - map.dragging.disable(); - map.scrollWheelZoom.disable(); - } + //Initialize Draw Layer let drawnItems = new L.FeatureGroup() @@ -47,6 +50,12 @@ const initializeMap = (options) =>{ featureGroup: drawnItems } }) + + if(form && form[0]?.classList.contains("formbuilder")){ + map.dragging.disable(); + map.scrollWheelZoom.disable(); + } + //Attach Controls to map map.addControl(drawControl) return {map,drawnItems} From 3a7cab096a045bf0173dc03693b98c62cdcbe082 Mon Sep 17 00:00:00 2001 From: RyanBirtch-aot Date: Mon, 17 Jun 2024 15:45:42 -0700 Subject: [PATCH 15/27] settings fix --- components/src/components/Map/Component.ts | 4 +++- .../src/components/Map/editForm/Component.edit.data.ts | 8 ++++---- components/src/components/Map/services/MapService.ts | 8 ++++++-- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/components/src/components/Map/Component.ts b/components/src/components/Map/Component.ts index a16647426..358d54537 100644 --- a/components/src/components/Map/Component.ts +++ b/components/src/components/Map/Component.ts @@ -1,7 +1,7 @@ import { Components } from 'formiojs'; const FieldComponent = (Components as any).components.field; import MapService from './services/MapService'; -import { circle } from 'leaflet'; +import baseEditForm from './Component.form'; const CENTER = [48.41939025932759,-123.37029576301576] @@ -24,6 +24,8 @@ export default class Component extends (FieldComponent as any) { schema: Component.schema(), }; } + static editForm = baseEditForm; + componentID = super.elementInfo().component.id render() { console.log(super.data); diff --git a/components/src/components/Map/editForm/Component.edit.data.ts b/components/src/components/Map/editForm/Component.edit.data.ts index ff989beb5..8bf26e66e 100644 --- a/components/src/components/Map/editForm/Component.edit.data.ts +++ b/components/src/components/Map/editForm/Component.edit.data.ts @@ -5,11 +5,11 @@ export default components: [ ...common, { - type: 'textfield', - label: 'Default Center Latitude', - key: 'centerLat', + type: 'map', + label: 'Map Default Center', + key: 'centerDefault', weight: 5, - placeholder: 'Enter the latitude you would like for the default center', + placeholder: 'choose where you would like for the default center', tooltip: 'The Default Center will be where the map will be centered before user interaction.', input: true }, diff --git a/components/src/components/Map/services/MapService.ts b/components/src/components/Map/services/MapService.ts index 567cacabd..43a282281 100644 --- a/components/src/components/Map/services/MapService.ts +++ b/components/src/components/Map/services/MapService.ts @@ -6,15 +6,17 @@ import "leaflet-draw/dist/leaflet.draw-src.css"; const DEFAULT_MAP_LAYER_URL = 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png' const DEFAULT_LAYER_ATTRIBUTION = '© OpenStreetMap contributors' const DECIMALS_LATLNG = 5//the number of decimals of latitude and longitude to be displayed in the marker popup +const SET_MAX_MARKERS = 1; export default function MapService(options){ if(options.mapContainer){ const {map,drawnItems} = initializeMap(options) - + map.invalidateSize(); //event listener for drawn objects map.on('draw:created', function (e) { //console.log(e) let marker = e.layer; + console.log(marker) if(drawnItems.getLayers().length){ console.log(drawnItems.getLayers()) console.log("too many markers") @@ -23,7 +25,9 @@ export default function MapService(options){ }else{ drawnItems.addLayer(marker); } - marker.bindPopup(`

(${marker._latlng.lat.toFixed(5)},${marker._latlng.lng.toFixed(5)})

`).openPopup(); + marker.bindPopup(` +

(${marker._latlng.lat.toFixed(DECIMALS_LATLNG)},${marker._latlng.lng.toFixed(DECIMALS_LATLNG)})

` + ).openPopup(); //drawnItems.eachLayer((l) => { console.log(l); }); }); } From fd4ef1707a863422be41fd67ecc897c9f96e4270 Mon Sep 17 00:00:00 2001 From: RyanBirtch-aot Date: Thu, 20 Jun 2024 14:39:57 -0700 Subject: [PATCH 16/27] Settings for radio button with draw options --- components/src/components/Map/Component.ts | 19 +++++--- .../Map/editForm/Component.edit.data.ts | 44 ++++++++++++++++--- .../src/components/Map/services/MapService.ts | 10 +++-- 3 files changed, 58 insertions(+), 15 deletions(-) diff --git a/components/src/components/Map/Component.ts b/components/src/components/Map/Component.ts index 358d54537..a76b1020d 100644 --- a/components/src/components/Map/Component.ts +++ b/components/src/components/Map/Component.ts @@ -2,6 +2,7 @@ import { Components } from 'formiojs'; const FieldComponent = (Components as any).components.field; import MapService from './services/MapService'; import baseEditForm from './Component.form'; +import { marker, rectangle } from 'leaflet'; const CENTER = [48.41939025932759,-123.37029576301576] @@ -28,7 +29,6 @@ export default class Component extends (FieldComponent as any) { componentID = super.elementInfo().component.id render() { - console.log(super.data); return super.render( `
@@ -44,14 +44,23 @@ export default class Component extends (FieldComponent as any) { loadMap() { const mapContainer = document.getElementById(`map-${this.componentID}`); const form = document.getElementsByClassName("formio") - const drawOptions = { + let drawOptions = { + marker:false, circlemarker:false, polygon: false, polyline: false, - rectangle:false, - circle: false + circle: false, + rectangle:null } - MapService({mapContainer, drawOptions, center:CENTER, form}) + if(this.component.markerType == "rectangle"){ + drawOptions.rectangle = {showArea:false}//fixes a bug in Leaflet.Draw + }else{ + drawOptions.rectangle = false + } + console.log(drawOptions) + //drawOptions[this.component.markerType] = true;//set marker type from user choice + const numPoints = this.component.numPoints; + MapService({mapContainer, drawOptions, center:CENTER, form, numPoints}) } diff --git a/components/src/components/Map/editForm/Component.edit.data.ts b/components/src/components/Map/editForm/Component.edit.data.ts index 8bf26e66e..7473772ad 100644 --- a/components/src/components/Map/editForm/Component.edit.data.ts +++ b/components/src/components/Map/editForm/Component.edit.data.ts @@ -5,14 +5,44 @@ export default components: [ ...common, { - type: 'map', - label: 'Map Default Center', - key: 'centerDefault', - weight: 5, - placeholder: 'choose where you would like for the default center', - tooltip: 'The Default Center will be where the map will be centered before user interaction.', - input: true + label: "Marker Type ", + values: [ + { + label: "Point Marker", + value: "marker" + }, + { + label: "Circle Marker", + value: "circlemarker", + }, + { + label: "Polygon", + value: "polygon", + }, + { + label: "Polyline", + value: "polyline", + }, + { + label: "Rectangle", + value: "rectangle", + }, + { + label: "Circle", + value: "circle", + } + ], + key: "markerType", + type: "simpleradios", + input: true, }, + { + label: "How many Points per Submission? (Only for Point Markers)", + key: "numPoints", + type: "simplenumber", + defaultValue: 1, + input: true, + } ] } diff --git a/components/src/components/Map/services/MapService.ts b/components/src/components/Map/services/MapService.ts index 43a282281..7a62343f1 100644 --- a/components/src/components/Map/services/MapService.ts +++ b/components/src/components/Map/services/MapService.ts @@ -12,12 +12,14 @@ export default function MapService(options){ if(options.mapContainer){ const {map,drawnItems} = initializeMap(options) map.invalidateSize(); + + //event listener for drawn objects map.on('draw:created', function (e) { //console.log(e) let marker = e.layer; console.log(marker) - if(drawnItems.getLayers().length){ + if(drawnItems.getLayers().length && e?.type == "marker"){ console.log(drawnItems.getLayers()) console.log("too many markers") L.popup().setLatLng(marker._latlng).setContent("

Only one marker for submission

").openOn(map) @@ -33,8 +35,10 @@ export default function MapService(options){ } } const initializeMap = (options) =>{ - const {mapContainer, center, drawOptions, form } = options; - + let {mapContainer, center, drawOptions, form } = options; + if(drawOptions.rectangle){ + drawOptions.rectangle.showArea = false; + } const map = L.map(mapContainer).setView(center, 13); L.tileLayer(DEFAULT_MAP_LAYER_URL, { attribution:DEFAULT_LAYER_ATTRIBUTION , From 397362ba7219a68dfeadd1ac29bccdc4927dd425 Mon Sep 17 00:00:00 2001 From: RyanBirtch-aot Date: Mon, 24 Jun 2024 13:58:59 -0700 Subject: [PATCH 17/27] Points fix --- components/src/components/Map/Component.ts | 5 ++--- .../Map/editForm/Component.edit.data.ts | 18 +++++++++++++++++- .../src/components/Map/services/MapService.ts | 7 +++---- 3 files changed, 22 insertions(+), 8 deletions(-) diff --git a/components/src/components/Map/Component.ts b/components/src/components/Map/Component.ts index a76b1020d..1ae6034f9 100644 --- a/components/src/components/Map/Component.ts +++ b/components/src/components/Map/Component.ts @@ -56,10 +56,9 @@ export default class Component extends (FieldComponent as any) { drawOptions.rectangle = {showArea:false}//fixes a bug in Leaflet.Draw }else{ drawOptions.rectangle = false + drawOptions[this.component.markerType] = true;//set marker type from user choice } - console.log(drawOptions) - //drawOptions[this.component.markerType] = true;//set marker type from user choice - const numPoints = this.component.numPoints; + const {numPoints, defaultZoom} = this.component; MapService({mapContainer, drawOptions, center:CENTER, form, numPoints}) } diff --git a/components/src/components/Map/editForm/Component.edit.data.ts b/components/src/components/Map/editForm/Component.edit.data.ts index 7473772ad..8a2544bda 100644 --- a/components/src/components/Map/editForm/Component.edit.data.ts +++ b/components/src/components/Map/editForm/Component.edit.data.ts @@ -42,7 +42,23 @@ export default type: "simplenumber", defaultValue: 1, input: true, - } + }, + + { + label: "Default Zoom Level", + description: "Zoom Levels are from 0 (Most zoomed out) to 18 (most zoomed in).", + defaultValue: 13, + delimiter: false, + requireDecimal: false, + validate: { + isUseForCopy: false, + min: 0, + max: 18 + }, + key: "defaultZoom", + type: "simplenumber", + input: true, + } ] } diff --git a/components/src/components/Map/services/MapService.ts b/components/src/components/Map/services/MapService.ts index 7a62343f1..f8ddfeae5 100644 --- a/components/src/components/Map/services/MapService.ts +++ b/components/src/components/Map/services/MapService.ts @@ -5,6 +5,7 @@ import "leaflet-draw/dist/leaflet.draw-src.css"; const DEFAULT_MAP_LAYER_URL = 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png' const DEFAULT_LAYER_ATTRIBUTION = '© OpenStreetMap contributors' +const DEFAULT_MAP_ZOOM = 13; const DECIMALS_LATLNG = 5//the number of decimals of latitude and longitude to be displayed in the marker popup const SET_MAX_MARKERS = 1; @@ -16,10 +17,8 @@ export default function MapService(options){ //event listener for drawn objects map.on('draw:created', function (e) { - //console.log(e) let marker = e.layer; - console.log(marker) - if(drawnItems.getLayers().length && e?.type == "marker"){ + if(drawnItems.getLayers().length === options.numPoints && e?.type === "marker"){ console.log(drawnItems.getLayers()) console.log("too many markers") L.popup().setLatLng(marker._latlng).setContent("

Only one marker for submission

").openOn(map) @@ -39,7 +38,7 @@ const initializeMap = (options) =>{ if(drawOptions.rectangle){ drawOptions.rectangle.showArea = false; } - const map = L.map(mapContainer).setView(center, 13); + const map = L.map(mapContainer).setView(center, DEFAULT_MAP_ZOOM ); L.tileLayer(DEFAULT_MAP_LAYER_URL, { attribution:DEFAULT_LAYER_ATTRIBUTION , }).addTo(map); From 2110455531c55de51c120602f7ce4dba737dce4a Mon Sep 17 00:00:00 2001 From: RyanBirtch-aot Date: Mon, 24 Jun 2024 13:59:31 -0700 Subject: [PATCH 18/27] fixes for marker --- components/src/components/Map/services/MapService.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/src/components/Map/services/MapService.ts b/components/src/components/Map/services/MapService.ts index f8ddfeae5..5bf71e216 100644 --- a/components/src/components/Map/services/MapService.ts +++ b/components/src/components/Map/services/MapService.ts @@ -34,11 +34,11 @@ export default function MapService(options){ } } const initializeMap = (options) =>{ - let {mapContainer, center, drawOptions, form } = options; + let {mapContainer, center, drawOptions, form, defaultZoom } = options; if(drawOptions.rectangle){ drawOptions.rectangle.showArea = false; } - const map = L.map(mapContainer).setView(center, DEFAULT_MAP_ZOOM ); + const map = L.map(mapContainer).setView(center, defaultZoom ); L.tileLayer(DEFAULT_MAP_LAYER_URL, { attribution:DEFAULT_LAYER_ATTRIBUTION , }).addTo(map); From 11dfd072ab03ca2ff1f151f282ad26eccc91b66b Mon Sep 17 00:00:00 2001 From: RyanBirtch-aot Date: Mon, 24 Jun 2024 15:22:51 -0700 Subject: [PATCH 19/27] Map zoom fix --- components/src/components/Map/Component.ts | 1 - components/src/components/Map/services/MapService.ts | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/components/src/components/Map/Component.ts b/components/src/components/Map/Component.ts index 1ae6034f9..5e28504da 100644 --- a/components/src/components/Map/Component.ts +++ b/components/src/components/Map/Component.ts @@ -2,7 +2,6 @@ import { Components } from 'formiojs'; const FieldComponent = (Components as any).components.field; import MapService from './services/MapService'; import baseEditForm from './Component.form'; -import { marker, rectangle } from 'leaflet'; const CENTER = [48.41939025932759,-123.37029576301576] diff --git a/components/src/components/Map/services/MapService.ts b/components/src/components/Map/services/MapService.ts index 5bf71e216..429e3d80f 100644 --- a/components/src/components/Map/services/MapService.ts +++ b/components/src/components/Map/services/MapService.ts @@ -38,7 +38,7 @@ const initializeMap = (options) =>{ if(drawOptions.rectangle){ drawOptions.rectangle.showArea = false; } - const map = L.map(mapContainer).setView(center, defaultZoom ); + const map = L.map(mapContainer).setView(center, DEFAULT_MAP_ZOOM ); L.tileLayer(DEFAULT_MAP_LAYER_URL, { attribution:DEFAULT_LAYER_ATTRIBUTION , }).addTo(map); From 4371b95a946d0ff51f1cf15a3428abbfd7c7e8cc Mon Sep 17 00:00:00 2001 From: abhilash-aot Date: Mon, 24 Jun 2024 18:40:57 -0700 Subject: [PATCH 20/27] mapsubmission settings --- components/src/components/Map/Component.ts | 154 ++++++++++------ .../src/components/Map/services/MapService.ts | 166 ++++++++++++------ 2 files changed, 212 insertions(+), 108 deletions(-) diff --git a/components/src/components/Map/Component.ts b/components/src/components/Map/Component.ts index 1ae6034f9..654dc2d4b 100644 --- a/components/src/components/Map/Component.ts +++ b/components/src/components/Map/Component.ts @@ -2,67 +2,113 @@ import { Components } from 'formiojs'; const FieldComponent = (Components as any).components.field; import MapService from './services/MapService'; import baseEditForm from './Component.form'; -import { marker, rectangle } from 'leaflet'; +import * as L from 'leaflet'; -const CENTER = [48.41939025932759,-123.37029576301576] +const CENTER: [number, number] = [48.41939025932759, -123.37029576301576]; // Ensure CENTER is a tuple with exactly two elements export default class Component extends (FieldComponent as any) { - static schema(...extend) { - return FieldComponent.schema({ - type: 'map', - label: 'Map', - key: 'map', - input: true, - ...extend, - }); + static schema(...extend) { + return FieldComponent.schema({ + type: 'map', + label: 'Map', + key: 'map', + input: true, + ...extend, + }); + } + static get builderInfo() { + return { + title: 'Map', + group: 'basic', + icon: 'map', + weight: 70, + schema: Component.schema(), + }; + } + static editForm = baseEditForm; + + componentID: string; + mapService: MapService; + + constructor(component, options, data) { + super(component, options, data); + this.componentID = super.elementInfo().component.id; + } + + render() { + return super.render( + `
` + ); + } + + attach(element) { + const superAttach = super.attach(element); + this.loadMap(); + return superAttach; + } + + loadMap() { + const mapContainer = document.getElementById(`map-${this.componentID}`); + const form = document.getElementsByClassName('formio'); + let drawOptions = { + marker: false, + circlemarker: false, + polygon: false, + polyline: false, + circle: false, + rectangle: null, + }; + if (this.component.markerType === 'rectangle') { + drawOptions.rectangle = { showArea: false }; // fixes a bug in Leaflet.Draw + } else { + drawOptions.rectangle = false; + drawOptions[this.component.markerType] = true; // set marker type from user choice + } + const { numPoints, defaultZoom } = this.component; + this.mapService = new MapService({ + mapContainer, + drawOptions, + center: CENTER, + form, + numPoints, + defaultZoom, + onDrawnItemsChange: this.saveDrawnItems.bind(this), + }); + + // Load existing data if available + if (this.dataValue) { + this.mapService.loadDrawnItems(JSON.parse(this.dataValue)); } - static get builderInfo() { + } + + saveDrawnItems(drawnItems: L.Layer[]) { + const value = drawnItems.map((layer: any) => { + if (layer instanceof L.Marker) { return { - title: 'Map', - group: 'basic', - icon: 'map', - weight: 70, - schema: Component.schema(), + type: 'marker', + latlng: layer.getLatLng(), }; - } - static editForm = baseEditForm; - - componentID = super.elementInfo().component.id - render() { - return super.render( - ` -
- - ` - ) - } - attach(element) { - const superAttach = super.attach(element); - this.loadMap(); - return superAttach - } - loadMap() { - const mapContainer = document.getElementById(`map-${this.componentID}`); - const form = document.getElementsByClassName("formio") - let drawOptions = { - marker:false, - circlemarker:false, - polygon: false, - polyline: false, - circle: false, - rectangle:null - } - if(this.component.markerType == "rectangle"){ - drawOptions.rectangle = {showArea:false}//fixes a bug in Leaflet.Draw - }else{ - drawOptions.rectangle = false - drawOptions[this.component.markerType] = true;//set marker type from user choice - } - const {numPoints, defaultZoom} = this.component; - MapService({mapContainer, drawOptions, center:CENTER, form, numPoints}) + } + // Handle other types (e.g., rectangles) here if needed + }); + + // Convert to JSON string + const jsonValue = + this.component.numPoints === 1 + ? JSON.stringify(value[0]) + : JSON.stringify(value); + this.setValue(jsonValue); + } + setValue(value) { + super.setValue(value); + // Additional logic to render the saved data on the map if necessary + if (this.mapService) { + this.mapService.loadDrawnItems(JSON.parse(value)); } + } + getValue() { + return this.dataValue; + } } - -export {}; diff --git a/components/src/components/Map/services/MapService.ts b/components/src/components/Map/services/MapService.ts index 5bf71e216..1918fd0e4 100644 --- a/components/src/components/Map/services/MapService.ts +++ b/components/src/components/Map/services/MapService.ts @@ -1,69 +1,127 @@ -import * as L from "leaflet" -import "leaflet-draw" +import * as L from 'leaflet'; +import 'leaflet-draw'; import 'leaflet/dist/leaflet.css'; -import "leaflet-draw/dist/leaflet.draw-src.css"; +import 'leaflet-draw/dist/leaflet.draw-src.css'; -const DEFAULT_MAP_LAYER_URL = 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png' -const DEFAULT_LAYER_ATTRIBUTION = '© OpenStreetMap contributors' +const DEFAULT_MAP_LAYER_URL = + 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png'; +const DEFAULT_LAYER_ATTRIBUTION = + '© OpenStreetMap contributors'; const DEFAULT_MAP_ZOOM = 13; -const DECIMALS_LATLNG = 5//the number of decimals of latitude and longitude to be displayed in the marker popup -const SET_MAX_MARKERS = 1; +const DECIMALS_LATLNG = 5; // the number of decimals of latitude and longitude to be displayed in the marker popup -export default function MapService(options){ - if(options.mapContainer){ - const {map,drawnItems} = initializeMap(options) - map.invalidateSize(); +interface MapServiceOptions { + mapContainer: HTMLElement; + center: [number, number]; // Ensure center is a tuple with exactly two elements + drawOptions: any; + form: HTMLCollectionOf; + numPoints: number; + defaultZoom?: number; + onDrawnItemsChange: (items: any) => void; // Support both single and multiple items +} +class MapService { + options: MapServiceOptions; + map: L.Map; + drawnItems: L.FeatureGroup; - //event listener for drawn objects - map.on('draw:created', function (e) { - let marker = e.layer; - if(drawnItems.getLayers().length === options.numPoints && e?.type === "marker"){ - console.log(drawnItems.getLayers()) - console.log("too many markers") - L.popup().setLatLng(marker._latlng).setContent("

Only one marker for submission

").openOn(map) + constructor(options: MapServiceOptions) { + this.options = options; + if (options.mapContainer) { + const { map, drawnItems } = this.initializeMap(options); + this.map = map; + this.drawnItems = drawnItems; + map.invalidateSize(); - }else{ - drawnItems.addLayer(marker); - } - marker.bindPopup(` -

(${marker._latlng.lat.toFixed(DECIMALS_LATLNG)},${marker._latlng.lng.toFixed(DECIMALS_LATLNG)})

` - ).openPopup(); - //drawnItems.eachLayer((l) => { console.log(l); }); - }); + // Event listener for drawn objects + map.on('draw:created', (e: any) => { + let layer = e.layer; + if ( + drawnItems.getLayers().length === options.numPoints && + e?.type === 'marker' + ) { + L.popup() + .setLatLng(layer._latlng) + .setContent('

Only one marker for submission

') + .openOn(map); + } else { + drawnItems.addLayer(layer); + } + layer + .bindPopup( + `

(${layer._latlng.lat.toFixed( + DECIMALS_LATLNG + )},${layer._latlng.lng.toFixed(DECIMALS_LATLNG)})

` + ) + .openPopup(); + options.onDrawnItemsChange(drawnItems.getLayers()); + }); } -} -const initializeMap = (options) =>{ - let {mapContainer, center, drawOptions, form, defaultZoom } = options; - if(drawOptions.rectangle){ - drawOptions.rectangle.showArea = false; + } + + initializeMap(options: MapServiceOptions) { + let { mapContainer, center, drawOptions, form, defaultZoom } = options; + if (drawOptions.rectangle) { + drawOptions.rectangle.showArea = false; } - const map = L.map(mapContainer).setView(center, defaultZoom ); - L.tileLayer(DEFAULT_MAP_LAYER_URL, { - attribution:DEFAULT_LAYER_ATTRIBUTION , - }).addTo(map); - + const map = L.map(mapContainer).setView( + center, + defaultZoom || DEFAULT_MAP_ZOOM + ); + L.tileLayer(DEFAULT_MAP_LAYER_URL, { + attribution: DEFAULT_LAYER_ATTRIBUTION, + }).addTo(map); + // Initialize Draw Layer + let drawnItems = new L.FeatureGroup(); + map.addLayer(drawnItems); + // Add Drawing Controllers + let drawControl = new L.Control.Draw({ + draw: drawOptions, + edit: { + featureGroup: drawnItems, + }, + }); + if (form && form[0]?.classList.contains('formbuilder')) { + map.dragging.disable(); + map.scrollWheelZoom.disable(); + } - //Initialize Draw Layer - let drawnItems = new L.FeatureGroup() - map.addLayer(drawnItems) - //Add Drawing Controllers - let drawControl = new L.Control.Draw({ - draw:drawOptions, - edit:{ - featureGroup: drawnItems - } - }) + // Attach Controls to map + map.addControl(drawControl); + return { map, drawnItems }; + } - if(form && form[0]?.classList.contains("formbuilder")){ - map.dragging.disable(); - map.scrollWheelZoom.disable(); - } + loadDrawnItems(items: any) { + const { drawnItems } = this; + drawnItems.clearLayers(); + + // Check if items is an array + if (!Array.isArray(items)) { + items = [items]; + } + + items.forEach((item) => { + let layer; + if (item.type === 'marker') { + layer = L.marker(item.latlng); + } + // Handle other types (e.g., rectangles) here if needed + + if (layer) { + drawnItems.addLayer(layer); + layer + .bindPopup( + `

(${item.latlng.lat.toFixed( + DECIMALS_LATLNG + )},${item.latlng.lng.toFixed(DECIMALS_LATLNG)})

` + ) + .openPopup(); + } + }); + } +} - //Attach Controls to map - map.addControl(drawControl) - return {map,drawnItems} -} \ No newline at end of file +export default MapService; From 7f1ff5e6729658c3f0d107462c1fa3216b05e2de Mon Sep 17 00:00:00 2001 From: RyanBirtch-aot Date: Tue, 25 Jun 2024 11:17:27 -0700 Subject: [PATCH 21/27] set map zoom fix --- components/src/components/Map/Component.ts | 8 ++++---- components/src/components/Map/services/MapService.ts | 7 ++----- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/components/src/components/Map/Component.ts b/components/src/components/Map/Component.ts index 5e28504da..aa9d0f991 100644 --- a/components/src/components/Map/Component.ts +++ b/components/src/components/Map/Component.ts @@ -1,13 +1,13 @@ import { Components } from 'formiojs'; -const FieldComponent = (Components as any).components.field; +const BaseComponent = (Components as any).components.base; import MapService from './services/MapService'; import baseEditForm from './Component.form'; const CENTER = [48.41939025932759,-123.37029576301576] -export default class Component extends (FieldComponent as any) { +export default class Component extends (BaseComponent as any) { static schema(...extend) { - return FieldComponent.schema({ + return BaseComponent.schema({ type: 'map', label: 'Map', key: 'map', @@ -58,7 +58,7 @@ export default class Component extends (FieldComponent as any) { drawOptions[this.component.markerType] = true;//set marker type from user choice } const {numPoints, defaultZoom} = this.component; - MapService({mapContainer, drawOptions, center:CENTER, form, numPoints}) + MapService({mapContainer, drawOptions, center:CENTER, form, numPoints, defaultZoom}) } diff --git a/components/src/components/Map/services/MapService.ts b/components/src/components/Map/services/MapService.ts index 429e3d80f..ade07daab 100644 --- a/components/src/components/Map/services/MapService.ts +++ b/components/src/components/Map/services/MapService.ts @@ -34,19 +34,16 @@ export default function MapService(options){ } } const initializeMap = (options) =>{ + console.log(options) let {mapContainer, center, drawOptions, form, defaultZoom } = options; if(drawOptions.rectangle){ drawOptions.rectangle.showArea = false; } - const map = L.map(mapContainer).setView(center, DEFAULT_MAP_ZOOM ); + const map = L.map(mapContainer).setView(center, defaultZoom || DEFAULT_MAP_ZOOM ); L.tileLayer(DEFAULT_MAP_LAYER_URL, { attribution:DEFAULT_LAYER_ATTRIBUTION , }).addTo(map); - - - - //Initialize Draw Layer let drawnItems = new L.FeatureGroup() map.addLayer(drawnItems) From c9a46acf655badbf161dcf73fc293f1751802d7c Mon Sep 17 00:00:00 2001 From: RyanBirtch-aot Date: Tue, 25 Jun 2024 11:17:45 -0700 Subject: [PATCH 22/27] set map zoom fix2 --- components/src/components/Map/services/MapService.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/components/src/components/Map/services/MapService.ts b/components/src/components/Map/services/MapService.ts index ade07daab..3a4b451e5 100644 --- a/components/src/components/Map/services/MapService.ts +++ b/components/src/components/Map/services/MapService.ts @@ -7,7 +7,6 @@ const DEFAULT_MAP_LAYER_URL = 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.pn const DEFAULT_LAYER_ATTRIBUTION = '© OpenStreetMap contributors' const DEFAULT_MAP_ZOOM = 13; const DECIMALS_LATLNG = 5//the number of decimals of latitude and longitude to be displayed in the marker popup -const SET_MAX_MARKERS = 1; export default function MapService(options){ if(options.mapContainer){ From d8fb68a251e7d9a05db25a2cb58fe989bcd833f2 Mon Sep 17 00:00:00 2001 From: abhilash-aot Date: Tue, 25 Jun 2024 11:41:15 -0700 Subject: [PATCH 23/27] added debug and other drawoptions --- components/src/components/Map/Component.ts | 50 +++++++++++++- .../src/components/Map/services/MapService.ts | 68 +++++++++++++++---- 2 files changed, 100 insertions(+), 18 deletions(-) diff --git a/components/src/components/Map/Component.ts b/components/src/components/Map/Component.ts index 654dc2d4b..07f3c05cc 100644 --- a/components/src/components/Map/Component.ts +++ b/components/src/components/Map/Component.ts @@ -16,6 +16,7 @@ export default class Component extends (FieldComponent as any) { ...extend, }); } + static get builderInfo() { return { title: 'Map', @@ -25,6 +26,7 @@ export default class Component extends (FieldComponent as any) { schema: Component.schema(), }; } + static editForm = baseEditForm; componentID: string; @@ -36,18 +38,21 @@ export default class Component extends (FieldComponent as any) { } render() { + console.log('Rendering component'); return super.render( `
` ); } attach(element) { + console.log('Attaching component to element'); const superAttach = super.attach(element); this.loadMap(); return superAttach; } loadMap() { + console.log('Loading map'); const mapContainer = document.getElementById(`map-${this.componentID}`); const form = document.getElementsByClassName('formio'); let drawOptions = { @@ -58,12 +63,15 @@ export default class Component extends (FieldComponent as any) { circle: false, rectangle: null, }; + + // Set drawing options based on markerType if (this.component.markerType === 'rectangle') { drawOptions.rectangle = { showArea: false }; // fixes a bug in Leaflet.Draw } else { drawOptions.rectangle = false; drawOptions[this.component.markerType] = true; // set marker type from user choice } + const { numPoints, defaultZoom } = this.component; this.mapService = new MapService({ mapContainer, @@ -75,6 +83,9 @@ export default class Component extends (FieldComponent as any) { onDrawnItemsChange: this.saveDrawnItems.bind(this), }); + console.log('Current data value:', this.dataValue); + console.log('GetValue result:', this.getValue()); + // Load existing data if available if (this.dataValue) { this.mapService.loadDrawnItems(JSON.parse(this.dataValue)); @@ -82,33 +93,66 @@ export default class Component extends (FieldComponent as any) { } saveDrawnItems(drawnItems: L.Layer[]) { + console.log('Saving drawn items:', drawnItems); const value = drawnItems.map((layer: any) => { + console.log('Processing layer:', layer); if (layer instanceof L.Marker) { return { type: 'marker', latlng: layer.getLatLng(), }; + } else if (layer instanceof L.Rectangle) { + return { + type: 'rectangle', + bounds: layer.getBounds(), + }; + } else if (layer instanceof L.Circle) { + return { + type: 'circle', + latlng: layer.getLatLng(), + radius: layer.getRadius(), + }; + } else if (layer instanceof L.Polygon) { + return { + type: 'polygon', + latlngs: layer.getLatLngs(), + }; + } else if (layer instanceof L.Polyline) { + return { + type: 'polyline', + latlngs: layer.getLatLngs(), + }; } - // Handle other types (e.g., rectangles) here if needed }); + console.log('Converted value:', value); + // Convert to JSON string const jsonValue = this.component.numPoints === 1 ? JSON.stringify(value[0]) : JSON.stringify(value); + console.log('JSON value to set:', jsonValue); this.setValue(jsonValue); } setValue(value) { + console.log('Setting value:', value); super.setValue(value); + // Additional logic to render the saved data on the map if necessary - if (this.mapService) { - this.mapService.loadDrawnItems(JSON.parse(value)); + if (this.mapService && value) { + try { + const parsedValue = JSON.parse(value); + this.mapService.loadDrawnItems(parsedValue); + } catch (error) { + console.error('Failed to parse value:', error); + } } } getValue() { + console.log('Getting value:', this.dataValue); return this.dataValue; } } diff --git a/components/src/components/Map/services/MapService.ts b/components/src/components/Map/services/MapService.ts index 1918fd0e4..571185f55 100644 --- a/components/src/components/Map/services/MapService.ts +++ b/components/src/components/Map/services/MapService.ts @@ -26,6 +26,7 @@ class MapService { drawnItems: L.FeatureGroup; constructor(options: MapServiceOptions) { + console.log('Initializing MapService with options:', options); this.options = options; if (options.mapContainer) { const { map, drawnItems } = this.initializeMap(options); @@ -35,6 +36,7 @@ class MapService { // Event listener for drawn objects map.on('draw:created', (e: any) => { + console.log('Drawing created:', e); let layer = e.layer; if ( drawnItems.getLayers().length === options.numPoints && @@ -47,19 +49,14 @@ class MapService { } else { drawnItems.addLayer(layer); } - layer - .bindPopup( - `

(${layer._latlng.lat.toFixed( - DECIMALS_LATLNG - )},${layer._latlng.lng.toFixed(DECIMALS_LATLNG)})

` - ) - .openPopup(); + this.bindPopupToLayer(layer); options.onDrawnItemsChange(drawnItems.getLayers()); }); } } initializeMap(options: MapServiceOptions) { + console.log('Initializing map with options:', options); let { mapContainer, center, drawOptions, form, defaultZoom } = options; if (drawOptions.rectangle) { drawOptions.rectangle.showArea = false; @@ -94,8 +91,47 @@ class MapService { return { map, drawnItems }; } + bindPopupToLayer(layer: L.Layer) { + console.log('Binding popup to layer:', layer); + if (layer instanceof L.Marker) { + layer + .bindPopup( + `

(${layer.getLatLng().lat.toFixed(DECIMALS_LATLNG)},${layer + .getLatLng() + .lng.toFixed(DECIMALS_LATLNG)})

` + ) + .openPopup(); + } else if (layer instanceof L.Circle) { + layer + .bindPopup( + `

(${layer.getLatLng().lat.toFixed(DECIMALS_LATLNG)},${layer + .getLatLng() + .lng.toFixed(DECIMALS_LATLNG)})

` + ) + .openPopup(); + } else if (layer instanceof L.Rectangle || layer instanceof L.Polygon) { + const bounds = layer.getBounds(); + const center = bounds.getCenter(); + layer + .bindPopup( + `

(${center.lat.toFixed(DECIMALS_LATLNG)},${center.lng.toFixed( + DECIMALS_LATLNG + )})

` + ) + .openPopup(); + } + } + loadDrawnItems(items: any) { + console.log('Loading drawn items:', items); const { drawnItems } = this; + + // Ensure drawnItems is defined before attempting to clear layers + if (!drawnItems) { + console.error('drawnItems is undefined'); + return; + } + drawnItems.clearLayers(); // Check if items is an array @@ -104,21 +140,23 @@ class MapService { } items.forEach((item) => { + console.log('Processing item:', item); let layer; if (item.type === 'marker') { layer = L.marker(item.latlng); + } else if (item.type === 'rectangle') { + layer = L.rectangle(item.bounds); + } else if (item.type === 'circle') { + layer = L.circle(item.latlng, { radius: item.radius }); + } else if (item.type === 'polygon') { + layer = L.polygon(item.latlngs); + } else if (item.type === 'polyline') { + layer = L.polyline(item.latlngs); } - // Handle other types (e.g., rectangles) here if needed if (layer) { drawnItems.addLayer(layer); - layer - .bindPopup( - `

(${item.latlng.lat.toFixed( - DECIMALS_LATLNG - )},${item.latlng.lng.toFixed(DECIMALS_LATLNG)})

` - ) - .openPopup(); + this.bindPopupToLayer(layer); } }); } From 93fa6c245ef0885a0bcdcf4c2ee9b16543c8de53 Mon Sep 17 00:00:00 2001 From: RyanBirtch-aot Date: Wed, 26 Jun 2024 09:25:21 -0700 Subject: [PATCH 24/27] Revert back to fieldComponent --- components/src/components/Map/Component.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/components/src/components/Map/Component.ts b/components/src/components/Map/Component.ts index 46fac1479..07f3c05cc 100644 --- a/components/src/components/Map/Component.ts +++ b/components/src/components/Map/Component.ts @@ -1,14 +1,14 @@ import { Components } from 'formiojs'; -const BaseComponent = (Components as any).components.base; +const FieldComponent = (Components as any).components.field; import MapService from './services/MapService'; import baseEditForm from './Component.form'; import * as L from 'leaflet'; const CENTER: [number, number] = [48.41939025932759, -123.37029576301576]; // Ensure CENTER is a tuple with exactly two elements -export default class Component extends (BaseComponent as any) { +export default class Component extends (FieldComponent as any) { static schema(...extend) { - return BaseComponent.schema({ + return FieldComponent.schema({ type: 'map', label: 'Map', key: 'map', From 97f9c28b58ab90cae2f3732019562ce2b5f37169 Mon Sep 17 00:00:00 2001 From: RyanBirtch-aot Date: Fri, 28 Jun 2024 09:06:36 -0700 Subject: [PATCH 25/27] Fixes for multi input limits --- .../Map/editForm/Component.edit.data.ts | 19 ++----------------- .../src/components/Map/services/MapService.ts | 5 +---- 2 files changed, 3 insertions(+), 21 deletions(-) diff --git a/components/src/components/Map/editForm/Component.edit.data.ts b/components/src/components/Map/editForm/Component.edit.data.ts index 8a2544bda..2251a2a51 100644 --- a/components/src/components/Map/editForm/Component.edit.data.ts +++ b/components/src/components/Map/editForm/Component.edit.data.ts @@ -11,33 +11,18 @@ export default label: "Point Marker", value: "marker" }, - { - label: "Circle Marker", - value: "circlemarker", - }, - { - label: "Polygon", - value: "polygon", - }, - { - label: "Polyline", - value: "polyline", - }, - { - label: "Rectangle", - value: "rectangle", - }, { label: "Circle", value: "circle", } ], + defaultValue:"marker", key: "markerType", type: "simpleradios", input: true, }, { - label: "How many Points per Submission? (Only for Point Markers)", + label: "How many Points per Submission?", key: "numPoints", type: "simplenumber", defaultValue: 1, diff --git a/components/src/components/Map/services/MapService.ts b/components/src/components/Map/services/MapService.ts index 571185f55..530426d70 100644 --- a/components/src/components/Map/services/MapService.ts +++ b/components/src/components/Map/services/MapService.ts @@ -38,10 +38,7 @@ class MapService { map.on('draw:created', (e: any) => { console.log('Drawing created:', e); let layer = e.layer; - if ( - drawnItems.getLayers().length === options.numPoints && - e?.type === 'marker' - ) { + if (drawnItems.getLayers().length === options.numPoints) { L.popup() .setLatLng(layer._latlng) .setContent('

Only one marker for submission

') From 75fd4dc5ccbf8e2b3958fb5670057b674b54680c Mon Sep 17 00:00:00 2001 From: RyanBirtch-aot Date: Fri, 28 Jun 2024 09:44:45 -0700 Subject: [PATCH 26/27] fixes for pr --- app/frontend/public/index.html | 1 - components/package-lock.json | 6 ------ components/package.json | 1 - components/src/components/Map/Component.ts | 12 +----------- components/src/components/Map/services/MapService.ts | 6 ------ 5 files changed, 1 insertion(+), 25 deletions(-) diff --git a/app/frontend/public/index.html b/app/frontend/public/index.html index 1dfc07d33..5e1d6e99a 100755 --- a/app/frontend/public/index.html +++ b/app/frontend/public/index.html @@ -1,6 +1,5 @@ - diff --git a/components/package-lock.json b/components/package-lock.json index e9183741b..60df996b8 100644 --- a/components/package-lock.json +++ b/components/package-lock.json @@ -9,7 +9,6 @@ "version": "1.0.0", "license": "Apache-2.0", "dependencies": { - "@bcgov/smk": "^1.2.1", "@types/leaflet": "^1.9.12", "@types/leaflet-draw": "^1.0.11", "autocompleter": "^7.0.1", @@ -307,11 +306,6 @@ "to-fast-properties": "^2.0.0" } }, - "node_modules/@bcgov/smk": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@bcgov/smk/-/smk-1.2.1.tgz", - "integrity": "sha512-FBpBefqAm2uLfGmbwRZwORzt6+RQAuiQ93DVweQBwgJ5eggq25SmpX15atg+R86RlQnnvWSLu+AC4QMey3X92g==" - }, "node_modules/@cspotcode/source-map-support": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", diff --git a/components/package.json b/components/package.json index e62acf96f..636662295 100755 --- a/components/package.json +++ b/components/package.json @@ -47,7 +47,6 @@ "components" ], "dependencies": { - "@bcgov/smk": "^1.2.1", "@types/leaflet": "^1.9.12", "@types/leaflet-draw": "^1.0.11", "autocompleter": "^7.0.1", diff --git a/components/src/components/Map/Component.ts b/components/src/components/Map/Component.ts index 07f3c05cc..e2dbed261 100644 --- a/components/src/components/Map/Component.ts +++ b/components/src/components/Map/Component.ts @@ -38,21 +38,18 @@ export default class Component extends (FieldComponent as any) { } render() { - console.log('Rendering component'); return super.render( `
` ); } attach(element) { - console.log('Attaching component to element'); const superAttach = super.attach(element); this.loadMap(); return superAttach; } loadMap() { - console.log('Loading map'); const mapContainer = document.getElementById(`map-${this.componentID}`); const form = document.getElementsByClassName('formio'); let drawOptions = { @@ -83,8 +80,7 @@ export default class Component extends (FieldComponent as any) { onDrawnItemsChange: this.saveDrawnItems.bind(this), }); - console.log('Current data value:', this.dataValue); - console.log('GetValue result:', this.getValue()); + // Load existing data if available if (this.dataValue) { @@ -93,9 +89,7 @@ export default class Component extends (FieldComponent as any) { } saveDrawnItems(drawnItems: L.Layer[]) { - console.log('Saving drawn items:', drawnItems); const value = drawnItems.map((layer: any) => { - console.log('Processing layer:', layer); if (layer instanceof L.Marker) { return { type: 'marker', @@ -125,19 +119,16 @@ export default class Component extends (FieldComponent as any) { } }); - console.log('Converted value:', value); // Convert to JSON string const jsonValue = this.component.numPoints === 1 ? JSON.stringify(value[0]) : JSON.stringify(value); - console.log('JSON value to set:', jsonValue); this.setValue(jsonValue); } setValue(value) { - console.log('Setting value:', value); super.setValue(value); // Additional logic to render the saved data on the map if necessary @@ -152,7 +143,6 @@ export default class Component extends (FieldComponent as any) { } getValue() { - console.log('Getting value:', this.dataValue); return this.dataValue; } } diff --git a/components/src/components/Map/services/MapService.ts b/components/src/components/Map/services/MapService.ts index 530426d70..cb0c39d1d 100644 --- a/components/src/components/Map/services/MapService.ts +++ b/components/src/components/Map/services/MapService.ts @@ -26,7 +26,6 @@ class MapService { drawnItems: L.FeatureGroup; constructor(options: MapServiceOptions) { - console.log('Initializing MapService with options:', options); this.options = options; if (options.mapContainer) { const { map, drawnItems } = this.initializeMap(options); @@ -36,7 +35,6 @@ class MapService { // Event listener for drawn objects map.on('draw:created', (e: any) => { - console.log('Drawing created:', e); let layer = e.layer; if (drawnItems.getLayers().length === options.numPoints) { L.popup() @@ -53,7 +51,6 @@ class MapService { } initializeMap(options: MapServiceOptions) { - console.log('Initializing map with options:', options); let { mapContainer, center, drawOptions, form, defaultZoom } = options; if (drawOptions.rectangle) { drawOptions.rectangle.showArea = false; @@ -89,7 +86,6 @@ class MapService { } bindPopupToLayer(layer: L.Layer) { - console.log('Binding popup to layer:', layer); if (layer instanceof L.Marker) { layer .bindPopup( @@ -120,7 +116,6 @@ class MapService { } loadDrawnItems(items: any) { - console.log('Loading drawn items:', items); const { drawnItems } = this; // Ensure drawnItems is defined before attempting to clear layers @@ -137,7 +132,6 @@ class MapService { } items.forEach((item) => { - console.log('Processing item:', item); let layer; if (item.type === 'marker') { layer = L.marker(item.latlng); From 602bde6f6d1aaa2689714457e2b3290e1862e680 Mon Sep 17 00:00:00 2001 From: abhilash-aot Date: Fri, 28 Jun 2024 10:02:35 -0700 Subject: [PATCH 27/27] Removed unused packages --- app/frontend/package-lock.json | 1504 +------------------------------- app/frontend/package.json | 2 - 2 files changed, 34 insertions(+), 1472 deletions(-) diff --git a/app/frontend/package-lock.json b/app/frontend/package-lock.json index 5c411abce..d35567c7a 100644 --- a/app/frontend/package-lock.json +++ b/app/frontend/package-lock.json @@ -10,8 +10,6 @@ "license": "Apache-2.0", "dependencies": { "@bcgov/bc-sans": "^1.0.1", - "@bcgov/smk": "^1.2.1", - "@bcgov/smk-cli": "^1.2.0", "@formio/vue": "^5.0.0", "@fortawesome/fontawesome-svg-core": "^6.4.2", "@fortawesome/free-solid-svg-icons": "^6.4.2", @@ -102,91 +100,6 @@ "resolved": "https://registry.npmjs.org/@bcgov/bc-sans/-/bc-sans-1.0.1.tgz", "integrity": "sha512-4suRUBFeHcuFkwXXJu9pKJNB5Z2G3bpuLEHIq203KVCKC8KrsnqvsyUOf645TypgLwqOTOYCETiXYzfxF4gLAw==" }, - "node_modules/@bcgov/smk": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@bcgov/smk/-/smk-1.2.1.tgz", - "integrity": "sha512-FBpBefqAm2uLfGmbwRZwORzt6+RQAuiQ93DVweQBwgJ5eggq25SmpX15atg+R86RlQnnvWSLu+AC4QMey3X92g==" - }, - "node_modules/@bcgov/smk-cli": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@bcgov/smk-cli/-/smk-cli-1.2.0.tgz", - "integrity": "sha512-szTNQiZYMpM8+/Qzsafj/lPlw0jIKGhy97bRiN3skfdCKu5qZdB56nVxSmFL1sK3zfalG5Qw4Az746x84sdE2g==", - "dependencies": { - "@bcgov/smk": ">=1.2.0", - "@tmcw/togeojson": "~4.5.0", - "@xmldom/xmldom": "~0.8.5", - "chalk": "~4.1.0", - "cors": "~2.8.5", - "csv-parse": "~4.16.0", - "express": "~4.17.3", - "fgdb": "~1.0.0", - "figlet": "~1.5.0", - "glob": "7.1.2", - "inquirer": "~7.3.3", - "lodash": "~4.17.21", - "material-design-icons-iconfont": "6.1.1", - "minimist": "~1.2.5", - "multer": "~1.4.5-lts.1", - "node-fetch": "~2.6.7", - "open": "~7.4.0", - "proj4": "~2.7.5", - "semver": "~7.3.5", - "shapefile": "~0.6.6", - "shelljs": "~0.8.5", - "touch": "~3.1.0", - "unzipper": "~0.10.11", - "xml2js": "~0.4.23" - }, - "bin": { - "smk": "index.js" - } - }, - "node_modules/@bcgov/smk-cli/node_modules/glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@bcgov/smk-cli/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@bcgov/smk-cli/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@bcgov/smk-cli/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, "node_modules/@bcoe/v8-coverage": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", @@ -1105,11 +1018,6 @@ "resolved": "https://registry.npmjs.org/@sphinxxxx/color-conversion/-/color-conversion-2.2.2.tgz", "integrity": "sha512-XExJS3cLqgrmNBIP3bBw6+1oQ1ksGjFh0+oClDKFYpCCqx/hlqwWO5KO/S63fzUo67SxI9dMrF0y5T/Ey7h8Zw==" }, - "node_modules/@tmcw/togeojson": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/@tmcw/togeojson/-/togeojson-4.5.0.tgz", - "integrity": "sha512-lNuuhW7nvN1T7xII9eRTi9zuPwYfFl43/1u/Xgi88tedX4ePfwJB5dqc31N7z6sWeR+7EES274ESNrK1gsW53A==" - }, "node_modules/@tootallnate/once": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", @@ -1440,14 +1348,6 @@ "vuetify": "^3.0.0" } }, - "node_modules/@xmldom/xmldom": { - "version": "0.8.10", - "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.10.tgz", - "integrity": "sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==", - "engines": { - "node": ">=10.0.0" - } - }, "node_modules/abab": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", @@ -1465,18 +1365,6 @@ "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz", "integrity": "sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ==" }, - "node_modules/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==", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/acorn": { "version": "8.10.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", @@ -1540,35 +1428,11 @@ "resolved": "https://registry.npmjs.org/animation-frame-polyfill/-/animation-frame-polyfill-1.0.2.tgz", "integrity": "sha512-PvO5poSMoHhaoNNgHPo+oqs/0L9UqjsUbqv0iOXVqLh6HX85fsOVQTUrzSBvjdZz7hydARlgLELyzJJKIrPJAQ==" }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, "engines": { "node": ">=8" } @@ -1577,6 +1441,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -1600,11 +1465,6 @@ "node": ">= 8" } }, - "node_modules/append-field": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", - "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==" - }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -1623,21 +1483,11 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" - }, "node_modules/array-from": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/array-from/-/array-from-2.1.1.tgz", "integrity": "sha512-GQTc6Uupx1FCavi5mPzBvVT7nEOeWMmUA9P95wpfpW1XwMSKs+KaymD5C2Up7KAUKg/mYwbsUYzdZWcoajlNZg==" }, - "node_modules/array-source": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/array-source/-/array-source-0.0.4.tgz", - "integrity": "sha512-frNdc+zBn80vipY+GdcJkLEbMWj3xmzArYApmUGxoiV8uAu/ygcs9icPdsGdA26h0MkHUMW6EN2piIvVx+M5Mw==" - }, "node_modules/assertion-error": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", @@ -1699,7 +1549,8 @@ "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true }, "node_modules/base64-js": { "version": "1.5.1", @@ -1720,26 +1571,6 @@ } ] }, - "node_modules/big-integer": { - "version": "1.6.52", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz", - "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/binary": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz", - "integrity": "sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg==", - "dependencies": { - "buffers": "~0.1.1", - "chainsaw": "~0.1.0" - }, - "engines": { - "node": "*" - } - }, "node_modules/binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -1749,61 +1580,12 @@ "node": ">=8" } }, - "node_modules/bluebird": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz", - "integrity": "sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA==" - }, "node_modules/blueimp-md5": { "version": "2.19.0", "resolved": "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.19.0.tgz", "integrity": "sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==", "dev": true }, - "node_modules/body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==", - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.8.1", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.9.7", - "raw-body": "2.4.3", - "type-is": "~1.6.18" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/body-parser/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", @@ -1819,6 +1601,7 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -1852,42 +1635,8 @@ "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "node_modules/buffer-indexof-polyfill": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.2.tgz", - "integrity": "sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A==", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/buffers": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz", - "integrity": "sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ==", - "engines": { - "node": ">=0.2.0" - } - }, - "node_modules/busboy": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", - "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", - "dependencies": { - "streamsearch": "^1.1.0" - }, - "engines": { - "node": ">=10.16.0" - } - }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "engines": { - "node": ">= 0.8" - } + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "devOptional": true }, "node_modules/cac": { "version": "6.7.14", @@ -1937,21 +1686,11 @@ "node": ">=4" } }, - "node_modules/chainsaw": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", - "integrity": "sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ==", - "dependencies": { - "traverse": ">=0.3.0 <0.4" - }, - "engines": { - "node": "*" - } - }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -1963,11 +1702,6 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" - }, "node_modules/check-error": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", @@ -2016,25 +1750,6 @@ "node": ">= 6" } }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "engines": { - "node": ">= 10" - } - }, "node_modules/clipboard": { "version": "2.0.11", "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.11.tgz", @@ -2057,6 +1772,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "dependencies": { "color-name": "~1.1.4" }, @@ -2067,7 +1783,8 @@ "node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/combined-stream": { "version": "1.0.8", @@ -2083,7 +1800,8 @@ "node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "devOptional": true }, "node_modules/compare-versions": { "version": "5.0.3", @@ -2093,21 +1811,8 @@ "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "node_modules/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "engines": [ - "node >= 0.8" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true }, "node_modules/concordance": { "version": "5.0.4", @@ -2138,25 +1843,6 @@ "proto-list": "~1.2.1" } }, - "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - "engines": { - "node": ">= 0.6" - } - }, "node_modules/contra": { "version": "1.9.4", "resolved": "https://registry.npmjs.org/contra/-/contra-1.9.4.tgz", @@ -2172,19 +1858,6 @@ "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", "dev": true }, - "node_modules/cookie": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" - }, "node_modules/core-js": { "version": "3.31.0", "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.31.0.tgz", @@ -2195,23 +1868,6 @@ "url": "https://opencollective.com/core-js" } }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "node_modules/cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "dependencies": { - "object-assign": "^4", - "vary": "^1" - }, - "engines": { - "node": ">= 0.10" - } - }, "node_modules/create-point-cb": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/create-point-cb/-/create-point-cb-1.2.0.tgz", @@ -2282,11 +1938,6 @@ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" }, - "node_modules/csv-parse": { - "version": "4.16.3", - "resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-4.16.3.tgz", - "integrity": "sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==" - }, "node_modules/custom-event": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", @@ -2462,19 +2113,6 @@ "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==" }, - "node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg==" - }, "node_modules/dialog-polyfill": { "version": "0.5.6", "resolved": "https://registry.npmjs.org/dialog-polyfill/-/dialog-polyfill-0.5.6.tgz", @@ -2577,14 +2215,6 @@ "crossvent": "1.5.5" } }, - "node_modules/duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", - "dependencies": { - "readable-stream": "^2.0.2" - } - }, "node_modules/editorconfig": { "version": "0.15.3", "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz", @@ -2609,24 +2239,6 @@ "semver": "bin/semver" } }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/entities": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", @@ -2696,11 +2308,6 @@ "@esbuild/win32-x64": "0.20.2" } }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" - }, "node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -2929,101 +2536,16 @@ "node": ">=0.10.0" } }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "engines": { - "node": ">= 0.6" - } - }, "node_modules/eventemitter3": { "version": "4.0.7", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" }, - "node_modules/express": { - "version": "4.17.3", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.3.tgz", - "integrity": "sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==", - "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.19.2", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.4.2", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.9.7", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.17.2", - "serve-static": "1.14.2", - "setprototypeof": "1.2.0", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, - "node_modules/external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/external-editor/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -3069,47 +2591,6 @@ "node-fetch": "~2.6.1" } }, - "node_modules/fgdb": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fgdb/-/fgdb-1.0.0.tgz", - "integrity": "sha512-2ZaznM1bhXk9e5xBdLzAR8H9yGFB2N51QTfMsHnynyJkqqmPMXSvSH5U6qzsyt73aTLQCFeViSQz5an4PKg4XA==", - "dependencies": { - "jszip": "~0.2.1", - "lie": "^3.0.0", - "long": "~1.1.2", - "proj4": "^2.3.6" - } - }, - "node_modules/figlet": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/figlet/-/figlet-1.5.2.tgz", - "integrity": "sha512-WOn21V8AhyE1QqVfPIVxe3tupJacq1xGkPTB4iagT6o+P2cAgEOOwIxMftr4+ZCTI6d551ij9j61DFr0nsP2uQ==", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/figures/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", @@ -3122,14 +2603,6 @@ "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/file-source": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/file-source/-/file-source-0.6.1.tgz", - "integrity": "sha512-1R1KneL7eTXmXfKxC10V/9NeGOdbsAXJ+lQ//fvvcHUgtaZcZDWNJNblxAoVOyV1cj45pOtUrR3vZTBwqcW8XA==", - "dependencies": { - "stream-source": "0.3" - } - }, "node_modules/fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -3142,36 +2615,6 @@ "node": ">=8" } }, - "node_modules/finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, "node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -3299,26 +2742,11 @@ "vanilla-picker": "^2.12.1" } }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "engines": { - "node": ">= 0.6" - } - }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true }, "node_modules/fsevents": { "version": "2.3.3", @@ -3333,51 +2761,6 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/fstream": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", - "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", - "deprecated": "This package is no longer supported.", - "dependencies": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" - }, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/fstream/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/fstream/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, "node_modules/function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", @@ -3511,11 +2894,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - }, "node_modules/graphemer": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", @@ -3568,6 +2946,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, "engines": { "node": ">=8" } @@ -3619,17 +2998,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/html-encoding-sniffer": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", @@ -3648,21 +3016,6 @@ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, - "node_modules/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==", - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/http-proxy-agent": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", @@ -3738,11 +3091,6 @@ "node": ">= 4" } }, - "node_modules/immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==" - }, "node_modules/immutable": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", @@ -3778,6 +3126,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -3786,7 +3135,8 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true }, "node_modules/ini": { "version": "1.3.8", @@ -3794,29 +3144,6 @@ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true }, - "node_modules/inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", - "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/internal-slot": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", @@ -3830,22 +3157,6 @@ "node": ">= 0.4" } }, - "node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "engines": { - "node": ">= 0.10" - } - }, "node_modules/is-arguments": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", @@ -3951,17 +3262,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "dependencies": { - "hasown": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-date-object": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", @@ -3976,20 +3276,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -3999,14 +3285,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", @@ -4165,17 +3443,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/isarray": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", @@ -4397,11 +3664,6 @@ "resolved": "https://registry.npmjs.org/jstimezonedetect/-/jstimezonedetect-1.0.7.tgz", "integrity": "sha512-ARADHortktl9IZ1tr4GHwGPIAzgz3mLNCbR/YjWtRtc/O0o634O3NeFlpLjv95EvuDA5dc8z6yfgbS8nUc4zcQ==" }, - "node_modules/jszip": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-0.2.1.tgz", - "integrity": "sha512-Djh0bVj/EiqNTlwKC10xsOf+HtdD6mVq4m7DWdRoUvChB0aj2BThnGl+Kl4uDlRuxlp+EvjZ2ZOo0niTJlh+LQ==" - }, "node_modules/jwt-decode": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-3.1.2.tgz", @@ -4439,19 +3701,6 @@ "node": ">= 0.8.0" } }, - "node_modules/lie": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", - "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", - "dependencies": { - "immediate": "~3.0.5" - } - }, - "node_modules/listenercount": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/listenercount/-/listenercount-1.0.1.tgz", - "integrity": "sha512-3mk/Zag0+IJxeDrxSgaDPy4zZ3w05PRZeJNnlWhzFz5OkX49J4krc+A8X2d2M69vGMBEX0uyl8M+W+8gH+kBqQ==" - }, "node_modules/local-pkg": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz", @@ -4490,14 +3739,6 @@ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, - "node_modules/long": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/long/-/long-1.1.5.tgz", - "integrity": "sha512-TU6nAF5SdasnTr28c7e74P4Crbn9o3/zwo1pM22Wvg2i2vlZ4Eelxwu4QT7j21z0sDBlJDEnEZjXTZg2J8WJrg==", - "engines": { - "node": ">=0.6" - } - }, "node_modules/loupe": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", @@ -4552,11 +3793,6 @@ "semver": "bin/semver.js" } }, - "node_modules/material-design-icons-iconfont": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/material-design-icons-iconfont/-/material-design-icons-iconfont-6.1.1.tgz", - "integrity": "sha512-nkoXybeXoofanNagj4tbM6+/LALWpWxYX5ee861to5VQrKgb0/TskTw28Svwn0OGDKajuqK7ShFOsIBxIygGKA==" - }, "node_modules/md5-hex": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-3.0.1.tgz", @@ -4569,43 +3805,6 @@ "node": ">=8" } }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" - }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mgrs": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/mgrs/-/mgrs-1.0.0.tgz", - "integrity": "sha512-awNbTOqCxK1DBGjalK3xqWIstBZgN6fxsMSiXLs9/spqWkF2pAhb2rrYCFSsr1/tT7PhcDGjZndG8SWYn0byYA==" - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", @@ -4625,18 +3824,11 @@ "node": ">= 0.6" } }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "engines": { - "node": ">=6" - } - }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -4644,30 +3836,11 @@ "node": "*" } }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/mitt": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.0.tgz", "integrity": "sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ==" }, - "node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, "node_modules/mlly": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.3.0.tgz", @@ -4705,28 +3878,6 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "devOptional": true }, - "node_modules/multer": { - "version": "1.4.5-lts.1", - "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.5-lts.1.tgz", - "integrity": "sha512-ywPWvcDMeH+z9gQq5qYHCCy+ethsk4goepZ45GLD63fOu0YcNecQxi64nDs3qluZB+murG3/D4dJ7+dGctcCQQ==", - "dependencies": { - "append-field": "^1.0.0", - "busboy": "^1.0.0", - "concat-stream": "^1.5.2", - "mkdirp": "^0.5.4", - "object-assign": "^4.1.1", - "type-is": "^1.6.4", - "xtend": "^4.0.0" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" - }, "node_modules/nanoid": { "version": "3.3.7", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", @@ -4755,14 +3906,6 @@ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "engines": { - "node": ">= 0.6" - } - }, "node_modules/node-fetch": { "version": "2.6.11", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.11.tgz", @@ -4829,14 +3972,6 @@ "integrity": "sha512-6xpotnECFy/og7tKSBVmUNft7J3jyXAka4XvG6AUhFWRz+Q/Ljus7znJAA3bxColfQLdS+XsjoodtJfCgeTEFQ==", "dev": true }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/object-inspect": { "version": "1.12.3", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", @@ -4885,52 +4020,13 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/open": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", - "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", - "dependencies": { - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dev": true, + "dependencies": { + "wrappy": "1" } }, "node_modules/optionator": { @@ -4950,14 +4046,6 @@ "node": ">= 0.8.0" } }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -5017,14 +4105,6 @@ "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -5038,6 +4118,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -5051,25 +4132,6 @@ "node": ">=8" } }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "node_modules/path-source": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/path-source/-/path-source-0.1.3.tgz", - "integrity": "sha512-dWRHm5mIw5kw0cs3QZLNmpUWty48f5+5v9nWD2dw3Y0Hf+s01Ag8iJEWV0Sm0kocE8kK27DrIowha03e1YR+Qw==", - "dependencies": { - "array-source": "0.0", - "file-source": "0.6" - } - }, - "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" - }, "node_modules/pathe": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.1.tgz", @@ -5265,38 +4327,12 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "node_modules/proj4": { - "version": "2.7.5", - "resolved": "https://registry.npmjs.org/proj4/-/proj4-2.7.5.tgz", - "integrity": "sha512-5ecXUXbHAfvdhfBQpU7EhUfPCQGUCPmVup/4gnZA3bJY3JcK/xxzm4QQDz1xiXokN6ux65VDczlCtBtKrTSpAQ==", - "dependencies": { - "mgrs": "1.0.0", - "wkt-parser": "^1.3.1" - } - }, "node_modules/proto-list": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", "dev": true }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, "node_modules/proxy-from-env": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", @@ -5331,17 +4367,6 @@ "vue": "^3.0.0" } }, - "node_modules/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==", - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/querystringify": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", @@ -5412,69 +4437,12 @@ "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==" }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.3.tgz", - "integrity": "sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==", - "dependencies": { - "bytes": "3.1.2", - "http-errors": "1.8.1", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/raw-body/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true }, - "node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/readable-stream/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "node_modules/readable-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -5487,17 +4455,6 @@ "node": ">=8.10.0" } }, - "node_modules/rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", - "dependencies": { - "resolve": "^1.1.6" - }, - "engines": { - "node": ">= 0.10" - } - }, "node_modules/redux": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", @@ -5547,22 +4504,6 @@ "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" }, - "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", @@ -5572,18 +4513,6 @@ "node": ">=4" } }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -5667,14 +4596,6 @@ "integrity": "sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==", "dev": true }, - "node_modules/run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "engines": { - "node": ">=0.12.0" - } - }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -5698,40 +4619,11 @@ "queue-microtask": "^1.2.2" } }, - "node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true }, "node_modules/sass": { "version": "1.63.4", @@ -5750,11 +4642,6 @@ "node": ">=14.0.0" } }, - "node_modules/sax": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", - "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==" - }, "node_modules/saxes": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", @@ -5805,88 +4692,6 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "node_modules/send": { - "version": "0.17.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", - "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", - "dependencies": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "1.8.1", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "node_modules/serve-static": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", - "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "node_modules/shapefile": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/shapefile/-/shapefile-0.6.6.tgz", - "integrity": "sha512-rLGSWeK2ufzCVx05wYd+xrWnOOdSV7xNUW5/XFgx3Bc02hBkpMlrd2F1dDII7/jhWzv0MSyBFh5uJIy9hLdfuw==", - "dependencies": { - "array-source": "0.0", - "commander": "2", - "path-source": "0.1", - "slice-source": "0.4", - "stream-source": "0.3", - "text-encoding": "^0.6.4" - }, - "bin": { - "dbf2json": "bin/dbf2json", - "shp2json": "bin/shp2json" - } - }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -5908,41 +4713,6 @@ "node": ">=8" } }, - "node_modules/shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "dependencies": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - }, - "bin": { - "shjs": "bin/shjs" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/shelljs/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/side-channel": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", @@ -5968,21 +4738,11 @@ "integrity": "sha512-fCvEXfh6NWpm+YSuY2bpXb/VIihqWA6hLsgboC+0nl71Q7N7o2eaCW8mJa/NLvQhs6jpd3VZV4UiUQlV6+lc8g==", "dev": true }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, "node_modules/signature_pad": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/signature_pad/-/signature_pad-4.1.5.tgz", "integrity": "sha512-VOE846UbQMeLBbcR08KwjwE1wNLgp3gqC7yr/AELkgSMs/BdRpxIZna6K5XyZJpA7IWq9GiInw1C8PLm57VO6Q==" }, - "node_modules/slice-source": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/slice-source/-/slice-source-0.4.1.tgz", - "integrity": "sha512-YiuPbxpCj4hD9Qs06hGAz/OZhQ0eDuALN0lRWJez0eD/RevzKqGdUx1IOMUnXgpr+sXZLq3g8ERwbAH0bCb8vg==" - }, "node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -6020,14 +4780,6 @@ "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", "dev": true }, - "node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "engines": { - "node": ">= 0.6" - } - }, "node_modules/std-env": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.3.3.tgz", @@ -6045,54 +4797,16 @@ "node": ">= 0.4" } }, - "node_modules/stream-source": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/stream-source/-/stream-source-0.3.5.tgz", - "integrity": "sha512-ZuEDP9sgjiAwUVoDModftG0JtYiLUV8K4ljYD1VyUMRWtbVf92474o4kuuul43iZ8t/hRuiDAx1dIJSvirrK/g==" - }, - "node_modules/streamsearch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", - "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, "node_modules/string-hash": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz", "integrity": "sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==" }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -6128,6 +4842,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -6135,17 +4850,6 @@ "node": ">=8" } }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/symbol-tree": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", @@ -6204,23 +4908,12 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/text-encoding": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.6.4.tgz", - "integrity": "sha512-hJnc6Qg3dWoOMkqP53F0dzRIgtmsAge09kxUIqGrEUS4qr5rWLckGYaQAVr+opBrIMRErGgy6f5aPnyPpyGRfg==", - "deprecated": "no longer maintained" - }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" - }, "node_modules/ticky": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/ticky/-/ticky-1.0.1.tgz", @@ -6272,17 +4965,6 @@ "@popperjs/core": "^2.9.0" } }, - "node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" - } - }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -6295,22 +4977,6 @@ "node": ">=8.0" } }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/touch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.1.tgz", - "integrity": "sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==", - "bin": { - "nodetouch": "bin/nodetouch.js" - } - }, "node_modules/tough-cookie": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", @@ -6331,19 +4997,6 @@ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, - "node_modules/traverse": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz", - "integrity": "sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ==", - "engines": { - "node": "*" - } - }, - "node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -6382,23 +5035,6 @@ "resolved": "https://registry.npmjs.org/type-func/-/type-func-1.0.3.tgz", "integrity": "sha512-YA90CUk+i00tWESPNRMahywXhAz+12NLJLKlOWrgHIbqaFXjdZrWstRghaibOW/IxhPjui4SmXxO/03XSGRIjA==" }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" - }, "node_modules/ufo": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.1.2.tgz", @@ -6414,31 +5050,6 @@ "node": ">= 4.0.0" } }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/unzipper": { - "version": "0.10.14", - "resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.10.14.tgz", - "integrity": "sha512-ti4wZj+0bQTiX2KmKWuwj7lhV+2n//uXEotUmGuQqrbVZSEGFMbI68+c6JCQ8aAmUWYvtHEz2A8K6wXvueR/6g==", - "dependencies": { - "big-integer": "^1.6.17", - "binary": "~0.3.0", - "bluebird": "~3.4.1", - "buffer-indexof-polyfill": "~1.0.0", - "duplexer2": "~0.1.4", - "fstream": "^1.0.12", - "graceful-fs": "^4.2.2", - "listenercount": "~1.0.1", - "readable-stream": "~2.3.6", - "setimmediate": "~1.0.4" - } - }, "node_modules/upath": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz", @@ -6471,15 +5082,8 @@ "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "engines": { - "node": ">= 0.4.0" - } + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true }, "node_modules/uuid": { "version": "9.0.0", @@ -6511,14 +5115,6 @@ "@sphinxxxx/color-conversion": "^2.2.2" } }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/vite": { "version": "5.2.6", "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.6.tgz", @@ -7902,11 +6498,6 @@ "node": ">=8" } }, - "node_modules/wkt-parser": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/wkt-parser/-/wkt-parser-1.3.3.tgz", - "integrity": "sha512-ZnV3yH8/k58ZPACOXeiHaMuXIiaTk1t0hSUVisbO0t4RjA5wPpUytcxeyiN2h+LZRrmuHIh/1UlrR9e7DHDvTw==" - }, "node_modules/word-wrap": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", @@ -7919,7 +6510,8 @@ "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true }, "node_modules/ws": { "version": "8.13.0", @@ -7951,40 +6543,12 @@ "node": ">=12" } }, - "node_modules/xml2js": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", - "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", - "dependencies": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", - "engines": { - "node": ">=4.0" - } - }, "node_modules/xmlchars": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", "dev": true }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" - } - }, "node_modules/yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", diff --git a/app/frontend/package.json b/app/frontend/package.json index 1d78085e3..d5cb86d9d 100644 --- a/app/frontend/package.json +++ b/app/frontend/package.json @@ -31,8 +31,6 @@ }, "dependencies": { "@bcgov/bc-sans": "^1.0.1", - "@bcgov/smk": "^1.2.1", - "@bcgov/smk-cli": "^1.2.0", "@formio/vue": "^5.0.0", "@fortawesome/fontawesome-svg-core": "^6.4.2", "@fortawesome/free-solid-svg-icons": "^6.4.2",