diff --git a/package-lock.json b/package-lock.json index 98f4f636baaf4c75749ea12dfd40d8fad1199a92..e332a4f2c94ad93e447d5a28280d74769a4a5625 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,11 +8,20 @@ "name": "rudolfii", "version": "1.0.0", "dependencies": { + "@reduxjs/toolkit": "^1.9.3", "axios": "^1.3.4", "expo": "~48.0.9", "expo-status-bar": "~1.4.4", + "native-base": "^3.4.28", "react": "18.2.0", + "react-dom": "^18.2.0", "react-native": "0.71.4", + "react-native-deck-swiper": "^2.0.13", + "react-native-safe-area-context": "4.5.0", + "react-native-svg": "13.4.0", + "react-native-tab-view": "^3.5.1", + "react-redux": "^8.0.5", + "redux": "^4.2.1", "typescript": "^4.9.4" }, "devDependencies": { @@ -2881,6 +2890,50 @@ "node": ">=8" } }, + "node_modules/@formatjs/ecma402-abstract": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.14.3.tgz", + "integrity": "sha512-SlsbRC/RX+/zg4AApWIFNDdkLtFbkq3LNoZWXZCE/nHVKqoIJyaoQyge/I0Y38vLxowUn9KTtXgusLD91+orbg==", + "dependencies": { + "@formatjs/intl-localematcher": "0.2.32", + "tslib": "^2.4.0" + } + }, + "node_modules/@formatjs/fast-memoize": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.0.1.tgz", + "integrity": "sha512-M2GgV+qJn5WJQAYewz7q2Cdl6fobQa69S1AzSM2y0P68ZDbK5cWrJIcPCO395Of1ksftGZoOt4LYCO/j9BKBSA==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@formatjs/icu-messageformat-parser": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.3.0.tgz", + "integrity": "sha512-xqtlqYAbfJDF4b6e4O828LBNOWXrFcuYadqAbYORlDRwhyJ2bH+xpUBPldZbzRGUN2mxlZ4Ykhm7jvERtmI8NQ==", + "dependencies": { + "@formatjs/ecma402-abstract": "1.14.3", + "@formatjs/icu-skeleton-parser": "1.3.18", + "tslib": "^2.4.0" + } + }, + "node_modules/@formatjs/icu-skeleton-parser": { + "version": "1.3.18", + "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.3.18.tgz", + "integrity": "sha512-ND1ZkZfmLPcHjAH1sVpkpQxA+QYfOX3py3SjKWMUVGDow18gZ0WPqz3F+pJLYQMpS2LnnQ5zYR2jPVYTbRwMpg==", + "dependencies": { + "@formatjs/ecma402-abstract": "1.14.3", + "tslib": "^2.4.0" + } + }, + "node_modules/@formatjs/intl-localematcher": { + "version": "0.2.32", + "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.32.tgz", + "integrity": "sha512-k/MEBstff4sttohyEpXxCmC3MqbUn9VvHGlZ8fauLzkbwXmVrEeyzS+4uhrvAk9DWU9/7otYWxyDox4nT/KVLQ==", + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@gar/promisify": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", @@ -2907,6 +2960,39 @@ "@hapi/hoek": "^9.0.0" } }, + "node_modules/@internationalized/date": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.1.0.tgz", + "integrity": "sha512-wjeur7K4AecT+YwoBmBXQ/+n5lP69tuZc34hw09s44EozZK7FZHSyfPvRp5/xEb2D6abLboskDY4jG+Nt0TNUQ==", + "dependencies": { + "@swc/helpers": "^0.4.14" + } + }, + "node_modules/@internationalized/message": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@internationalized/message/-/message-3.1.0.tgz", + "integrity": "sha512-Oo5m70FcBdADf7G8NkUffVSfuCdeAYVfsvNjZDi9ELpjvkc4YNJVTHt/NyTI9K7FgAVoELxiP9YmN0sJ+HNHYQ==", + "dependencies": { + "@swc/helpers": "^0.4.14", + "intl-messageformat": "^10.1.0" + } + }, + "node_modules/@internationalized/number": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@internationalized/number/-/number-3.2.0.tgz", + "integrity": "sha512-GUXkhXSX1Ee2RURnzl+47uvbOxnlMnvP9Er+QePTjDjOPWuunmLKlEkYkEcLiiJp7y4l9QxGDLOlVr8m69LS5w==", + "dependencies": { + "@swc/helpers": "^0.4.14" + } + }, + "node_modules/@internationalized/string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@internationalized/string/-/string-3.1.0.tgz", + "integrity": "sha512-TJQKiyUb+wyAfKF59UNeZ/kELMnkxyecnyPCnBI1ma4NaXReJW+7Cc2mObXAqraIBJUVv7rgI46RLKrLgi35ng==", + "dependencies": { + "@swc/helpers": "^0.4.14" + } + }, "node_modules/@jest/create-cache-key-function": { "version": "29.5.0", "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-29.5.0.tgz", @@ -3496,6 +3582,569 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/@react-aria/checkbox": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/@react-aria/checkbox/-/checkbox-3.8.0.tgz", + "integrity": "sha512-VjezmSfDx1/A+Yz5naZ9xCxkasmtsO7uK+Ur+Z6bKmHwvoazRK5cATdRG4mj++0JUBYn6bvBGBEXFZHTkkGahw==", + "dependencies": { + "@react-aria/label": "^3.5.0", + "@react-aria/toggle": "^3.5.0", + "@react-aria/utils": "^3.15.0", + "@react-stately/checkbox": "^3.4.0", + "@react-stately/toggle": "^3.5.0", + "@react-types/checkbox": "^3.4.2", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/combobox": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@react-aria/combobox/-/combobox-3.5.1.tgz", + "integrity": "sha512-HyBX98TvQe8IscJlRz6TxgvMlYcwy9iTA/GWjy3bMNjUfxPaRZh5r69aG8JlTRvVDLE13cUSh0mKsTSjo8evvQ==", + "dependencies": { + "@react-aria/i18n": "^3.7.0", + "@react-aria/interactions": "^3.14.0", + "@react-aria/listbox": "^3.8.1", + "@react-aria/live-announcer": "^3.2.0", + "@react-aria/menu": "^3.8.1", + "@react-aria/overlays": "^3.13.0", + "@react-aria/selection": "^3.13.1", + "@react-aria/textfield": "^3.9.0", + "@react-aria/utils": "^3.15.0", + "@react-stately/collections": "^3.6.0", + "@react-stately/combobox": "^3.4.0", + "@react-stately/layout": "^3.11.0", + "@react-types/button": "^3.7.1", + "@react-types/combobox": "^3.6.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/focus": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/@react-aria/focus/-/focus-3.11.0.tgz", + "integrity": "sha512-yPuWs9bAR9CMfIwyOPm2oXLPF19gNkUqW+ozSPhWbLMTEa8Ma09eHW1br4xbN+4ONOm/dCJsIkxTNPUkiLdQoA==", + "dependencies": { + "@react-aria/interactions": "^3.14.0", + "@react-aria/utils": "^3.15.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14", + "clsx": "^1.1.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/i18n": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@react-aria/i18n/-/i18n-3.7.0.tgz", + "integrity": "sha512-PZCWmhO9mJvelwiYlsXLY6W4L2o+oza3xnDx0cZDVqp/Hf+OwMAPHWtZsFRTKdjk4TaOPB/ISc9HknWn6UpY4w==", + "dependencies": { + "@internationalized/date": "^3.1.0", + "@internationalized/message": "^3.1.0", + "@internationalized/number": "^3.2.0", + "@internationalized/string": "^3.1.0", + "@react-aria/ssr": "^3.5.0", + "@react-aria/utils": "^3.15.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/interactions": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/@react-aria/interactions/-/interactions-3.14.0.tgz", + "integrity": "sha512-e1Tkr0UTuYFpV21PJrXy7jEY542Vl+C2Fo70oukZ1fN+wtfQkzodsTIzyepXb7kVMGmC34wDisMJUrksVkfY2w==", + "dependencies": { + "@react-aria/utils": "^3.15.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/label": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@react-aria/label/-/label-3.5.0.tgz", + "integrity": "sha512-sNiPYiFg06s1zGuifEUeUqRiYje0lfHem+GIUh0Y5ZxfpqIyxEmyV9Aw+C7TTjjo8BAG4NZ4bR7iF9ujf9QvKQ==", + "dependencies": { + "@react-aria/utils": "^3.15.0", + "@react-types/label": "^3.7.2", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/listbox": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/@react-aria/listbox/-/listbox-3.8.1.tgz", + "integrity": "sha512-kTIQWms6nS//GWr63gSVcNgZv7uf5RULLTKH3DIpmaftS3Kf4Sds6rspWGYQ9PAeS1EqcuHozsXXlKBo1upYgg==", + "dependencies": { + "@react-aria/focus": "^3.11.0", + "@react-aria/interactions": "^3.14.0", + "@react-aria/label": "^3.5.0", + "@react-aria/selection": "^3.13.1", + "@react-aria/utils": "^3.15.0", + "@react-stately/collections": "^3.6.0", + "@react-stately/list": "^3.7.0", + "@react-types/listbox": "^3.4.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/live-announcer": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@react-aria/live-announcer/-/live-announcer-3.2.0.tgz", + "integrity": "sha512-uSqDDy+9CbmNTZh0Roi4dvWKWcbuMTYKh3RnUw3XBPw0aYxSkcFQeWGfxFoOwXCDcXez02cFJtAxpR2bShkrsw==", + "dependencies": { + "@swc/helpers": "^0.4.14" + } + }, + "node_modules/@react-aria/menu": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/@react-aria/menu/-/menu-3.8.1.tgz", + "integrity": "sha512-p8DF/muxbTr/SOZh3FDFPcWUcnXvpwMKyR+xKXQQPbCV/LAiSjVtwxbNVvubqvzR0Qk6/XV4/HUY2r+4tnT8tQ==", + "dependencies": { + "@react-aria/i18n": "^3.7.0", + "@react-aria/interactions": "^3.14.0", + "@react-aria/overlays": "^3.13.0", + "@react-aria/selection": "^3.13.1", + "@react-aria/utils": "^3.15.0", + "@react-stately/collections": "^3.6.0", + "@react-stately/menu": "^3.5.0", + "@react-stately/tree": "^3.5.0", + "@react-types/button": "^3.7.1", + "@react-types/menu": "^3.8.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/overlays": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/@react-aria/overlays/-/overlays-3.13.0.tgz", + "integrity": "sha512-hRZyhAYzrlCcEWQ2k2jP24b0wc5/355Xl5w5FZHRmPeU1U4XlFwKX/eFlBs/li9Sprm1bTDXrCY480Kl6UsKDA==", + "dependencies": { + "@react-aria/focus": "^3.11.0", + "@react-aria/i18n": "^3.7.0", + "@react-aria/interactions": "^3.14.0", + "@react-aria/ssr": "^3.5.0", + "@react-aria/utils": "^3.15.0", + "@react-aria/visually-hidden": "^3.7.0", + "@react-stately/overlays": "^3.5.0", + "@react-types/button": "^3.7.1", + "@react-types/overlays": "^3.7.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/radio": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@react-aria/radio/-/radio-3.5.0.tgz", + "integrity": "sha512-d/Hxdu+jUdi3wmyaWYRLTyN16vZxr2MOdkmw8tojTOIMLQj7zTaCFc0D4LR4KZEn3E0F5buGCUHL6o4CTqBeBA==", + "dependencies": { + "@react-aria/focus": "^3.11.0", + "@react-aria/i18n": "^3.7.0", + "@react-aria/interactions": "^3.14.0", + "@react-aria/label": "^3.5.0", + "@react-aria/utils": "^3.15.0", + "@react-stately/radio": "^3.7.0", + "@react-types/radio": "^3.4.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/selection": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/@react-aria/selection/-/selection-3.13.1.tgz", + "integrity": "sha512-YI5mFkk3JI3Ec01SzyBFGrdPInkoW5B0AavwLkN5QtehBUgdw9A1gPKADW4tiLfKUOl0rkqstP13n+v/GcBoTg==", + "dependencies": { + "@react-aria/focus": "^3.11.0", + "@react-aria/i18n": "^3.7.0", + "@react-aria/interactions": "^3.14.0", + "@react-aria/utils": "^3.15.0", + "@react-stately/collections": "^3.6.0", + "@react-stately/selection": "^3.12.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/slider": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@react-aria/slider/-/slider-3.3.0.tgz", + "integrity": "sha512-UgR2XEI3vrJAQU1RVC+1uHVr/vFcVh+Cjt/kaFUO7fdj8usqa4JOnIuX+QKCysiVLJc7IEXw4RCJBJYBSUYK6A==", + "dependencies": { + "@react-aria/focus": "^3.11.0", + "@react-aria/i18n": "^3.7.0", + "@react-aria/interactions": "^3.14.0", + "@react-aria/label": "^3.5.0", + "@react-aria/utils": "^3.15.0", + "@react-stately/radio": "^3.7.0", + "@react-stately/slider": "^3.3.0", + "@react-types/radio": "^3.4.0", + "@react-types/shared": "^3.17.0", + "@react-types/slider": "^3.4.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/ssr": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@react-aria/ssr/-/ssr-3.5.0.tgz", + "integrity": "sha512-h0MJdSWOd1qObLnJ8mprU31wI8tmKFJMuwT22MpWq6psisOOZaga6Ml4u6Ee6M6duWWISjXvqO4Sb/J0PBA+nQ==", + "dependencies": { + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/textfield": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/@react-aria/textfield/-/textfield-3.9.0.tgz", + "integrity": "sha512-plX+/RDidTpz4kfQni2mnH10g9iARC5P7oi4XBXqwrVCIqpTUNoyGLUH952wObYOI9k7lG2QG0+b+3GyrV159g==", + "dependencies": { + "@react-aria/focus": "^3.11.0", + "@react-aria/label": "^3.5.0", + "@react-aria/utils": "^3.15.0", + "@react-types/shared": "^3.17.0", + "@react-types/textfield": "^3.7.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/toggle": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@react-aria/toggle/-/toggle-3.5.0.tgz", + "integrity": "sha512-K49OmHBmYW8pk0rXJU1TNRzR+PxLVvfL/ni6ifV5gcxoxV6DmFsNFj+5B/U3AMnCEQeyKQeiY6z9X7EBVX6j9Q==", + "dependencies": { + "@react-aria/focus": "^3.11.0", + "@react-aria/interactions": "^3.14.0", + "@react-aria/utils": "^3.15.0", + "@react-stately/toggle": "^3.5.0", + "@react-types/checkbox": "^3.4.2", + "@react-types/shared": "^3.17.0", + "@react-types/switch": "^3.3.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/utils": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/@react-aria/utils/-/utils-3.15.0.tgz", + "integrity": "sha512-aJZBG++iz1UwTW5gXFaHicKju4p0MPhAyBTcf2awHYWeTUUslDjJcEnNg7kjBYZBOrOSlA2rAt7/7C5CCURQPg==", + "dependencies": { + "@react-aria/ssr": "^3.5.0", + "@react-stately/utils": "^3.6.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14", + "clsx": "^1.1.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/visually-hidden": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@react-aria/visually-hidden/-/visually-hidden-3.7.0.tgz", + "integrity": "sha512-v/0ujJ67H6LjwY8J7mIGPVB1K8suBArLV+w8UGdX/wFXRL7H4r2fiqlrwAElWSmNbhDQl5BDm/Zh/ub9jB9yzA==", + "dependencies": { + "@react-aria/interactions": "^3.14.0", + "@react-aria/utils": "^3.15.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14", + "clsx": "^1.1.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-native-aria/button": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@react-native-aria/button/-/button-0.2.4.tgz", + "integrity": "sha512-wlu6SXI20U+N4fbPX8oh9pkL9hx8W41+cra3fa3s2xfQ6czT4KAkyvSsr1ALUBH4dRkoxxSPOcGJMGnq2K3djw==", + "dependencies": { + "@react-aria/utils": "^3.6.0", + "@react-native-aria/interactions": "^0.2.3", + "@react-stately/toggle": "^3.2.1", + "@react-types/checkbox": "^3.2.1" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/@react-native-aria/checkbox": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@react-native-aria/checkbox/-/checkbox-0.2.3.tgz", + "integrity": "sha512-YtWtXGg5tvOaV6v1CmbusXoOZvGRAVYygms9qNeUF7/B8/iDNGSKjlxHE5LVOLRtJO/B9ndZnr6RkL326ceyng==", + "dependencies": { + "@react-aria/checkbox": "^3.2.1", + "@react-aria/utils": "^3.6.0", + "@react-native-aria/toggle": "^0.2.3", + "@react-native-aria/utils": "^0.2.6", + "@react-stately/toggle": "^3.2.1" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/@react-native-aria/combobox": { + "version": "0.2.4-alpha.1", + "resolved": "https://registry.npmjs.org/@react-native-aria/combobox/-/combobox-0.2.4-alpha.1.tgz", + "integrity": "sha512-MOxKMKVus9MsOL3l+mNRDYHeVr5kj5fYnretLofWh/dHBO2W5H7H70ZfOPDEr9s+vgaBBjHCtbbfOiimKRk6Kg==", + "dependencies": { + "@react-aria/combobox": "^3.0.0-alpha.1", + "@react-aria/live-announcer": "^3.0.0-alpha.0", + "@react-aria/overlays": "^3.6.1", + "@react-aria/utils": "^3.6.0", + "@react-native-aria/utils": "^0.2.6", + "@react-types/button": "^3.3.1" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/@react-native-aria/focus": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/@react-native-aria/focus/-/focus-0.2.7.tgz", + "integrity": "sha512-7Ol8AoTzEN7qC4t4AzclPzjQZ0oRkNBePmVBm2lAQwOnmkKwa+TdiVGtU7MgvsQxUV3aTTMY2Nu1Z5YwCwhUkA==", + "dependencies": { + "@react-aria/focus": "^3.2.3" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/@react-native-aria/interactions": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/@react-native-aria/interactions/-/interactions-0.2.8.tgz", + "integrity": "sha512-+LsLghBnp1fEVdLdIZGfE2izbZS0GPwc7eyiLHndnAXwXdLmyDRw71UCEjsUuNh7SO7BBR5QjHlk0cTHmyynQg==", + "dependencies": { + "@react-aria/interactions": "^3.3.2", + "@react-aria/utils": "^3.6.0", + "@react-native-aria/utils": "^0.2.6" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/@react-native-aria/listbox": { + "version": "0.2.4-alpha.3", + "resolved": "https://registry.npmjs.org/@react-native-aria/listbox/-/listbox-0.2.4-alpha.3.tgz", + "integrity": "sha512-e/y+Wdoyy/PbpFj4DVYDYMsKI+uUqnZ/0yLByqHQvzs8Ys8o69CQkyEYzHhxvFT5lCLegkLbuQN2cJd8bYNQsA==", + "dependencies": { + "@react-aria/interactions": "^3.3.2", + "@react-aria/label": "^3.1.1", + "@react-aria/listbox": "^3.2.4", + "@react-aria/selection": "^3.3.2", + "@react-aria/utils": "^3.6.0", + "@react-native-aria/interactions": "^0.2.2", + "@react-native-aria/utils": "^0.2.6", + "@react-types/listbox": "^3.1.1", + "@react-types/shared": "^3.4.0" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/@react-native-aria/overlays": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@react-native-aria/overlays/-/overlays-0.3.6.tgz", + "integrity": "sha512-+mgmScrVezZrOzeEfmxykIy+lHrmbiLou+mv04BtFzM0rfFhOYoQlmxHC7vdLKgsVKw+i6bd5EM9X0rUynLNTA==", + "dependencies": { + "@react-aria/interactions": "^3.3.2", + "@react-aria/overlays": "^3.7.0", + "@react-native-aria/utils": "^0.2.8", + "@react-stately/overlays": "^3.1.1", + "@react-types/overlays": "^3.4.0", + "dom-helpers": "^5.0.0" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*", + "react-native": "*" + } + }, + "node_modules/@react-native-aria/radio": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/@react-native-aria/radio/-/radio-0.2.5.tgz", + "integrity": "sha512-kTfCjRMZH+Z2C70VxjomPO8eXBcHPa5zcuOUotyhR10WsrKZJlwwnA75t2xDq8zsxKnABJRfThv7rSlAjkFSeg==", + "dependencies": { + "@react-aria/radio": "^3.1.2", + "@react-aria/utils": "^3.6.0", + "@react-native-aria/interactions": "^0.2.3", + "@react-native-aria/utils": "^0.2.6", + "@react-stately/radio": "^3.2.1", + "@react-types/radio": "^3.1.1" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/@react-native-aria/slider": { + "version": "0.2.5-alpha.2", + "resolved": "https://registry.npmjs.org/@react-native-aria/slider/-/slider-0.2.5-alpha.2.tgz", + "integrity": "sha512-eYCAGEgcmgs2x5yC1q3edq/VpZWd8P9x1ZoB6uhiyIpDViTDFTz82IWTK0jrbHC70WxWfoY+876VjiKzbjyNxw==", + "dependencies": { + "@react-aria/focus": "^3.2.3", + "@react-aria/interactions": "^3.3.2", + "@react-aria/label": "^3.1.1", + "@react-aria/slider": "^3.0.1", + "@react-aria/utils": "^3.6.0", + "@react-native-aria/utils": "^0.2.6", + "@react-stately/slider": "^3.0.1" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/@react-native-aria/tabs": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/@react-native-aria/tabs/-/tabs-0.2.8.tgz", + "integrity": "sha512-coAiaj9NFFh8vYr/kiugqLwip8IhB6m2dL/GXPcmbK0WH531pIPXKSwgePjniETJtEP84L4PYCTZ705pRlVN8A==", + "dependencies": { + "@react-aria/selection": "^3.3.1", + "@react-aria/tabs": "3.0.0-alpha.2", + "@react-native-aria/interactions": "^0.2.7", + "@react-native-aria/utils": "^0.2.7", + "@react-stately/tabs": "3.0.0-alpha.1", + "@react-types/tabs": "3.0.0-alpha.2" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/@react-native-aria/tabs/node_modules/@react-aria/tabs": { + "version": "3.0.0-alpha.2", + "resolved": "https://registry.npmjs.org/@react-aria/tabs/-/tabs-3.0.0-alpha.2.tgz", + "integrity": "sha512-yHpz1HujxBcMq8e4jrHkkowzrJwuVyssCB+DuA91kt6LC0eIMZsDZY9tEhhOq+TyOhI3nbyXaDKJG6y1qB0A5A==", + "dependencies": { + "@babel/runtime": "^7.6.2", + "@react-aria/i18n": "^3.2.0", + "@react-aria/interactions": "^3.3.2", + "@react-aria/selection": "^3.3.1", + "@react-aria/utils": "^3.4.1", + "@react-stately/list": "^3.2.2", + "@react-stately/tabs": "3.0.0-alpha.0", + "@react-types/shared": "^3.2.1", + "@react-types/tabs": "3.0.0-alpha.2" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1" + } + }, + "node_modules/@react-native-aria/tabs/node_modules/@react-aria/tabs/node_modules/@react-stately/tabs": { + "version": "3.0.0-alpha.0", + "resolved": "https://registry.npmjs.org/@react-stately/tabs/-/tabs-3.0.0-alpha.0.tgz", + "integrity": "sha512-QJZ9N7DT89RkP18btvQhJvxWuv/JkSwtm14ftfk+5LBbzyxyLsD2KP6jDrNhXgmkRMmIyEaMt2w2VmI6fQ6UAA==", + "dependencies": { + "@babel/runtime": "^7.6.2", + "@react-stately/list": "^3.2.2", + "@react-stately/utils": "^3.0.0-alpha.1", + "@react-types/tabs": "3.0.0-alpha.2" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1" + } + }, + "node_modules/@react-native-aria/tabs/node_modules/@react-stately/tabs": { + "version": "3.0.0-alpha.1", + "resolved": "https://registry.npmjs.org/@react-stately/tabs/-/tabs-3.0.0-alpha.1.tgz", + "integrity": "sha512-aEG5lVLqmfx7A/dS5gkPXmD2ERAo69RtC0aHPo/Dw1XjzalYyo6QbQ5WtiuQxsCVx/naWGEJCcMEAD5/vt+cUQ==", + "dependencies": { + "@babel/runtime": "^7.6.2", + "@react-stately/list": "^3.2.2", + "@react-stately/utils": "^3.2.0", + "@react-types/tabs": "3.0.0-alpha.2" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1" + } + }, + "node_modules/@react-native-aria/tabs/node_modules/@react-types/tabs": { + "version": "3.0.0-alpha.2", + "resolved": "https://registry.npmjs.org/@react-types/tabs/-/tabs-3.0.0-alpha.2.tgz", + "integrity": "sha512-HQNS2plzuNhKPo88OGEW2Ja9aLeiWqgNqEemSxh0KAjkA8IsvDGaoQEpr9ZQIyBZ3PQIljvOpEJ/IwHU5LztrQ==", + "dependencies": { + "@react-types/shared": "^3.2.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1" + } + }, + "node_modules/@react-native-aria/toggle": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@react-native-aria/toggle/-/toggle-0.2.3.tgz", + "integrity": "sha512-3aOlchMxpR0b2h3Z7V0aYZaQMVJD6uKOWKWJm82VsLrni4iDnDX/mLv30ujuuK3+LclUhVlJd2kRuCl+xnf3XQ==", + "dependencies": { + "@react-aria/focus": "^3.2.3", + "@react-aria/utils": "^3.6.0", + "@react-native-aria/interactions": "^0.2.3", + "@react-native-aria/utils": "^0.2.6", + "@react-stately/toggle": "^3.2.1", + "@react-types/checkbox": "^3.2.1" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/@react-native-aria/utils": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/@react-native-aria/utils/-/utils-0.2.8.tgz", + "integrity": "sha512-x375tG1itv3irLFRnURLsdK2djuvhFJHizSDUtLCo8skQwfjslED5t4sUkQ49di4G850gaVJz0fCcCx/pHX7CA==", + "dependencies": { + "@react-aria/ssr": "^3.0.1", + "@react-aria/utils": "^3.3.0" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, "node_modules/@react-native-community/cli": { "version": "10.2.0", "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-10.2.0.tgz", @@ -4667,6 +5316,443 @@ "resolved": "https://registry.npmjs.org/@react-native/polyfills/-/polyfills-2.0.0.tgz", "integrity": "sha512-K0aGNn1TjalKj+65D7ycc1//H9roAQ51GJVk5ZJQFb2teECGmzd86bYDC0aYdbRf7gtovescq4Zt6FR0tgXiHQ==" }, + "node_modules/@react-stately/checkbox": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@react-stately/checkbox/-/checkbox-3.4.0.tgz", + "integrity": "sha512-zqwHMmlzza1exS6Bbqj4Mom3ygtG8pLguHweZ9OO7BFQLwBmzJsrFNqDcj7xh8iEWxXKQfZ2YOuhkaGvu4GRjA==", + "dependencies": { + "@react-stately/toggle": "^3.5.0", + "@react-stately/utils": "^3.6.0", + "@react-types/checkbox": "^3.4.2", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/collections": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@react-stately/collections/-/collections-3.6.0.tgz", + "integrity": "sha512-znkaqCPo7F1yyzEKDAB5MpX1Vw5UHcUQhDNrys5YOqAkX6/G/AChnBz0B63UxS3fjyqgnuJylRRmUp9nTqO21w==", + "dependencies": { + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/combobox": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@react-stately/combobox/-/combobox-3.4.0.tgz", + "integrity": "sha512-QVKNosNqSS7PnjrNVrGat9KKlCcv7e3nTehQuIu18ZE2JVH7Jdf/73zkSMurrnQfbPVeiHkGK1deWqrzoNzYQQ==", + "dependencies": { + "@react-stately/list": "^3.7.0", + "@react-stately/menu": "^3.5.0", + "@react-stately/select": "^3.4.0", + "@react-stately/utils": "^3.6.0", + "@react-types/combobox": "^3.6.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/grid": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@react-stately/grid/-/grid-3.5.0.tgz", + "integrity": "sha512-kCmO2KyHoIJWiCqUXJTD0I/4q/6h3pXGdyD4tWmqWdysxf+x09K/Mx/JwwFqee5LICZgt8MtBrfV+ijLZ8mQAg==", + "dependencies": { + "@react-stately/selection": "^3.12.0", + "@react-types/grid": "^3.1.6", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/layout": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/@react-stately/layout/-/layout-3.11.0.tgz", + "integrity": "sha512-QNupEFgIv5hqYEbLxDQfHgBkfk6t1VTTxWftBZMXXJEVCC1GH8vUJ35BJGO7hQNhPoTp3xc3X7yEcBlXy1ZmlA==", + "dependencies": { + "@react-stately/table": "^3.8.0", + "@react-stately/virtualizer": "^3.5.0", + "@react-types/grid": "^3.1.6", + "@react-types/shared": "^3.17.0", + "@react-types/table": "^3.5.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/list": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@react-stately/list/-/list-3.7.0.tgz", + "integrity": "sha512-/BxCqXFjX9P+OJWjIYmUWaOGJ2hlZHUdymVwZPkIWdO9K7069LWckdYFXRqLFMwIGLUcXVfw4jR0BIQqWlR4eA==", + "dependencies": { + "@react-stately/collections": "^3.6.0", + "@react-stately/selection": "^3.12.0", + "@react-stately/utils": "^3.6.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/menu": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@react-stately/menu/-/menu-3.5.0.tgz", + "integrity": "sha512-JL6TcT+SbYdlxNLOS84SXp6njDNZuXfkt05o4rS51evmjM2+hlYaB9+yUMqrCb/J2nW7vVAg51TDAhLgmGTYKg==", + "dependencies": { + "@react-stately/overlays": "^3.5.0", + "@react-stately/utils": "^3.6.0", + "@react-types/menu": "^3.8.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/overlays": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@react-stately/overlays/-/overlays-3.5.0.tgz", + "integrity": "sha512-r+U/G0Y4tCfI5wyBeIu+hmcZVRN8ChoK2zM1srPH9nDKsijQard2goX+9YmKng2LJ01Re/P6F8S8jYbpfEdLfQ==", + "dependencies": { + "@react-stately/utils": "^3.6.0", + "@react-types/overlays": "^3.7.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/radio": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@react-stately/radio/-/radio-3.7.0.tgz", + "integrity": "sha512-TKyR6RfX1qZRPAxVWIKMTt2s3J+IlxFZHykiEl85gHBmABSWW4JO4RjkgcmbaAGLAhu1pJU8ktJOyi+MyndpHA==", + "dependencies": { + "@react-stately/utils": "^3.6.0", + "@react-types/radio": "^3.4.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/select": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@react-stately/select/-/select-3.4.0.tgz", + "integrity": "sha512-thSqD3apMCSgZgKtqHKGVIQRyvG8l0supIuzJicBwq6xg+J8X5muPCZgchCSNmU6im/l81XXE8LGuHGgMilORA==", + "dependencies": { + "@react-stately/collections": "^3.6.0", + "@react-stately/list": "^3.7.0", + "@react-stately/menu": "^3.5.0", + "@react-stately/selection": "^3.12.0", + "@react-stately/utils": "^3.6.0", + "@react-types/select": "^3.7.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/selection": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/@react-stately/selection/-/selection-3.12.0.tgz", + "integrity": "sha512-qgUaPwqtAl7YaZxxGdb55ZaVuMB1rG+Vr+9fgG8dPtDYCNaPeIlg7ndC4ylzDhCWIx8D5qZotcrqCA4+93TwdA==", + "dependencies": { + "@react-stately/collections": "^3.6.0", + "@react-stately/utils": "^3.6.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/slider": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@react-stately/slider/-/slider-3.3.0.tgz", + "integrity": "sha512-17aGJYHBRY3g4ZeiIgCNOvYl3HBARvSJhUKoNxZMRa2pqREW+WmBRRAXv5KTymW/KfcGb0RCq1ytYsderEgZAQ==", + "dependencies": { + "@react-aria/i18n": "^3.7.0", + "@react-aria/utils": "^3.15.0", + "@react-stately/utils": "^3.6.0", + "@react-types/shared": "^3.17.0", + "@react-types/slider": "^3.4.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/table": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/@react-stately/table/-/table-3.8.0.tgz", + "integrity": "sha512-WmOcW9+4zm6MQZxYEC77u5HMxTcvcotkFptohHd0YtHXx+z5iwClCVKKFG2mc5lE+K4iQE41Q56nVKLjAu+TsA==", + "dependencies": { + "@react-stately/collections": "^3.6.0", + "@react-stately/grid": "^3.5.0", + "@react-stately/selection": "^3.12.0", + "@react-types/grid": "^3.1.6", + "@react-types/shared": "^3.17.0", + "@react-types/table": "^3.5.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/toggle": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@react-stately/toggle/-/toggle-3.5.0.tgz", + "integrity": "sha512-vKwLLkFsiIve4pXIQC/dqLAz7Z+qtzJ8+D00EXXO1Nf8YHcyIMDkTmi3NTM8Qtvmt4xX2hbJFiPDF6WvF6mBIg==", + "dependencies": { + "@react-stately/utils": "^3.6.0", + "@react-types/checkbox": "^3.4.2", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/tree": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@react-stately/tree/-/tree-3.5.0.tgz", + "integrity": "sha512-5+MzMQUFq3+lbGkZC0SlcIDrYmPvxBKuC8xL5W6SuFekbrrxrS6IJexRe4QulaaAliDpX2/9DVZTt38eVfyf0A==", + "dependencies": { + "@react-stately/collections": "^3.6.0", + "@react-stately/selection": "^3.12.0", + "@react-stately/utils": "^3.6.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/utils": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@react-stately/utils/-/utils-3.6.0.tgz", + "integrity": "sha512-rptF7iUWDrquaYvBAS4QQhOBQyLBncDeHF03WnHXAxnuPJXNcr9cXJtjJPGCs036ZB8Q2hc9BGG5wNyMkF5v+Q==", + "dependencies": { + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/virtualizer": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@react-stately/virtualizer/-/virtualizer-3.5.0.tgz", + "integrity": "sha512-Jjk7V2T9uJ2+1EaVY+v1SJYeKb9dvZKayP35bcUq8/y9+I41kNE+qmgnkr5/SVzkExu4YeZTFxtuOm4l8UX5jg==", + "dependencies": { + "@react-aria/utils": "^3.15.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/button": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/@react-types/button/-/button-3.7.1.tgz", + "integrity": "sha512-c+8xjmqWSjI5/mEHVLbVSp0eh/z2UU8Ga+wqjbEUZUjm8uopYj1PaCAwZ7YgcAebyQrL/21GyjK6tFHKzuUdJQ==", + "dependencies": { + "@react-types/shared": "^3.17.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/checkbox": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@react-types/checkbox/-/checkbox-3.4.2.tgz", + "integrity": "sha512-/NWFCEQLvVgo25afPt2jv4syxYvZeY/D/n2Y92IGtoNV4akdz4AuQ65+1X+JOhQc/ZbAblWw5fFWUZoQs3CLZg==", + "dependencies": { + "@react-types/shared": "^3.17.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/combobox": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@react-types/combobox/-/combobox-3.6.0.tgz", + "integrity": "sha512-tfZtZ12Kf2bKt3EcFKWcUxrLNc61Y1CGynsOQ/KvHTFwlLTTtKnt/wWuf4kxdqlTK7dDqJzWRGWKlWx6eKlx3w==", + "dependencies": { + "@react-types/shared": "^3.17.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/grid": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@react-types/grid/-/grid-3.1.6.tgz", + "integrity": "sha512-j6dO5KgkuIbIhEZYSxd86ZomohCyv3VNQhY2qBHlRoxZs0976komauEOjOpMOu0PxwsFGUgUFqlKOtc34f1SHQ==", + "dependencies": { + "@react-types/shared": "^3.17.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/label": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/@react-types/label/-/label-3.7.2.tgz", + "integrity": "sha512-UlsIvxQjBMl9WwJw1bYoJMwiPvYwRsSLl2yoeeGfGr6IaYn5T/2kzBhDLwe5cpKrmi4Mehn1rbReFLGITOy8+g==", + "dependencies": { + "@react-types/shared": "^3.17.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/listbox": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@react-types/listbox/-/listbox-3.4.0.tgz", + "integrity": "sha512-OvHaX4EBRHxKrfFItdJXjY7dYomzejqJ87P5fTL1l1TbDX8gvEP014S3cI+VLQq+EsXeTZ8E/sx0tFUo7ilchA==", + "dependencies": { + "@react-types/shared": "^3.17.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/menu": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/@react-types/menu/-/menu-3.8.0.tgz", + "integrity": "sha512-1nwGUwKNHJf60vOsg7p48NPQIzMsSprxw8VXfStr8eE5uU4vvKfVNQNUgvpkRmHmel8BrYdh1WnERXJJ3yKUgQ==", + "dependencies": { + "@react-types/overlays": "^3.7.0", + "@react-types/shared": "^3.17.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/overlays": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@react-types/overlays/-/overlays-3.7.0.tgz", + "integrity": "sha512-LstucncZ8dM+xJYEijI1V6jGH20w5XO/T60r7JTrgQElMC86phPeoWkMTN4c2lsRikybolDbvXL6XsF76YO56A==", + "dependencies": { + "@react-types/shared": "^3.17.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/radio": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@react-types/radio/-/radio-3.4.0.tgz", + "integrity": "sha512-klgEU+987xVUCRqBoxXJiPJvy0upfo76dFnK5eF7U7BzcxhuiFeLDUcqUHtK92Cy5QOiDAF2ML0vUYGIabKMPA==", + "dependencies": { + "@react-types/shared": "^3.17.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/select": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@react-types/select/-/select-3.7.0.tgz", + "integrity": "sha512-BaynMuW0dQ9ModFzW291+3n1D9bwKSFh03g3+1PvhRcBg1EXq1vFyfFBj4uuBymI0T7oCbnjGh19xo0vKIYRrA==", + "dependencies": { + "@react-types/shared": "^3.17.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/shared": { + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/@react-types/shared/-/shared-3.17.0.tgz", + "integrity": "sha512-1SNZ/RhVrrQ1e6yE0bPV7d5Sfp+Uv0dfUEhwF9MAu2v5msu7AMewnsiojKNA0QA6Ing1gpDLjHCxtayQfuxqcg==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/slider": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@react-types/slider/-/slider-3.4.0.tgz", + "integrity": "sha512-Kj+B6njpm4ltiu3gCBOPRnbzllV21IVr0bCQdNnWcf5DX8aN4VdI8EFkTz0DSwMm2WPCwZop0MDWDoRwXJK1ng==", + "dependencies": { + "@react-types/shared": "^3.17.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/switch": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@react-types/switch/-/switch-3.3.0.tgz", + "integrity": "sha512-6h+s//PwWf7/WJQOZKT6k1vdOQCcvPmMZW333AqyxtZX8WV8Q0illgcLMYo5qxT3IWsjYNuPIqMCY+tRbSeA2Q==", + "dependencies": { + "@react-types/checkbox": "^3.4.2", + "@react-types/shared": "^3.17.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/table": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@react-types/table/-/table-3.5.0.tgz", + "integrity": "sha512-/Mvn1MQbdnk7i6ivam8kdIh2PKF9GD3A7KC8v1E4JNAgsbOzOkt5JC4PMc1EtAK2eppMEKTN+B84oHKMl1F8Hg==", + "dependencies": { + "@react-types/grid": "^3.1.6", + "@react-types/shared": "^3.17.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/textfield": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@react-types/textfield/-/textfield-3.7.0.tgz", + "integrity": "sha512-4Rqld8VZG324hecw6bqGY2gta1gm5sDhO48nyChfdmjVlFHXLDKazAcrgP76uSmUI6tffUPj3eYxQyTp5uLhyQ==", + "dependencies": { + "@react-types/shared": "^3.17.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@reduxjs/toolkit": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.9.3.tgz", + "integrity": "sha512-GU2TNBQVofL09VGmuSioNPQIu6Ml0YLf4EJhgj0AvBadRlCGzUWet8372LjvO4fqKZF2vH1xU0htAa7BrK9pZg==", + "dependencies": { + "immer": "^9.0.16", + "redux": "^4.2.0", + "redux-thunk": "^2.4.2", + "reselect": "^4.1.7" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18", + "react-redux": "^7.2.1 || ^8.0.2" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-redux": { + "optional": true + } + } + }, "node_modules/@segment/loosely-validate-event": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@segment/loosely-validate-event/-/loosely-validate-event-2.0.0.tgz", @@ -4715,12 +5801,29 @@ "@sinonjs/commons": "^2.0.0" } }, + "node_modules/@swc/helpers": { + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.14.tgz", + "integrity": "sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==", + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@tsconfig/react-native": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@tsconfig/react-native/-/react-native-2.0.3.tgz", "integrity": "sha512-jE58snEKBd9DXfyR4+ssZmYJ/W2mOSnNrvljR0aLyQJL9JKX6vlWELHkRjb3HBbcM9Uy0hZGijXbqEAjOERW2A==", "dev": true }, + "node_modules/@types/hoist-non-react-statics": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", + "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==", + "dependencies": { + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0" + } + }, "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", @@ -4792,20 +5895,27 @@ "node_modules/@types/prop-types": { "version": "15.7.5", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", - "dev": true + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" }, "node_modules/@types/react": { "version": "18.0.28", "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.28.tgz", "integrity": "sha512-RD0ivG1kEztNBdoAK7lekI9M+azSnitIn85h4iOiaLjaTrMjzslhaqCGaI4IyCJ1RljWiLCEu4jyrLLgqxBTew==", - "dev": true, "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", "csstype": "^3.0.2" } }, + "node_modules/@types/react-native": { + "version": "0.71.5", + "resolved": "https://registry.npmjs.org/@types/react-native/-/react-native-0.71.5.tgz", + "integrity": "sha512-Tp5druh7DGwNDvWYH09PCE++hbH4zYz0OOvGFb3/QFIFKXgfezaT/txJeKlBkbiqs45QJzllp9S0qo0WpWyijA==", + "peer": true, + "dependencies": { + "@types/react": "*" + } + }, "node_modules/@types/react-test-renderer": { "version": "18.0.0", "resolved": "https://registry.npmjs.org/@types/react-test-renderer/-/react-test-renderer-18.0.0.tgz", @@ -4818,14 +5928,18 @@ "node_modules/@types/scheduler": { "version": "0.16.3", "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", - "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==", - "dev": true + "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" }, "node_modules/@types/stack-utils": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" }, + "node_modules/@types/use-sync-external-store": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz", + "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==" + }, "node_modules/@types/yargs": { "version": "15.0.15", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.15.tgz", @@ -5399,6 +6513,11 @@ "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", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, "node_modules/bplist-creator": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.1.0.tgz", @@ -5937,6 +7056,14 @@ "node": ">=6" } }, + "node_modules/clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "engines": { + "node": ">=6" + } + }, "node_modules/collection-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", @@ -6113,6 +7240,12 @@ "node": ">=0.10.0" } }, + "node_modules/core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha512-ZiPp9pZlgxpWRu0M+YWbm6+aQ84XEfH1JRXvfOc/fILWI0VKhLC2LX13X1NYq4fULzLMq7Hfh43CSo2/aIaUPA==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js." + }, "node_modules/core-js-compat": { "version": "3.29.1", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.29.1.tgz", @@ -6210,11 +7343,64 @@ "node": ">=8" } }, + "node_modules/css-in-js-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/css-in-js-utils/-/css-in-js-utils-3.1.0.tgz", + "integrity": "sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A==", + "dependencies": { + "hyphenate-style-name": "^1.0.3" + } + }, + "node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-tree/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, "node_modules/csstype": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", - "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==", - "dev": true + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" }, "node_modules/dag-map": { "version": "1.0.2", @@ -6420,6 +7606,66 @@ "node": ">=8" } }, + "node_modules/dom-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "dependencies": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz", + "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.1" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -6443,6 +7689,25 @@ "node": ">= 0.8" } }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -6451,6 +7716,17 @@ "once": "^1.4.0" } }, + "node_modules/entities": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", + "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/env-editor": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/env-editor/-/env-editor-0.4.2.tgz", @@ -7029,6 +8305,11 @@ "node": ">=8.6.0" } }, + "node_modules/fast-loops": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fast-loops/-/fast-loops-1.1.3.tgz", + "integrity": "sha512-8EZzEP0eKkEEVX+drtd9mtuQ+/QrlfW/5MlwcwK5Nds6EkZ/tRzEexkzUY2mIssnAyVLT+TKHuRXmFNNXYUd6g==" + }, "node_modules/fast-xml-parser": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.1.3.tgz", @@ -7595,6 +8876,19 @@ "node": ">=8" } }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/hoist-non-react-statics/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, "node_modules/hosted-git-info": { "version": "3.0.8", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", @@ -7657,6 +8951,11 @@ "node": ">= 6" } }, + "node_modules/hyphenate-style-name": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz", + "integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==" + }, "node_modules/iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -7706,6 +9005,15 @@ "node": ">=4.0" } }, + "node_modules/immer": { + "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, "node_modules/import-fresh": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", @@ -7766,6 +9074,15 @@ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" }, + "node_modules/inline-style-prefixer": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/inline-style-prefixer/-/inline-style-prefixer-6.0.4.tgz", + "integrity": "sha512-FwXmZC2zbeeS7NzGjJ6pAiqRhXR0ugUShSNb6GApMl6da0/XGc4MOJsoWAywia52EEWbXNSy0pzkwz/+Y+swSg==", + "dependencies": { + "css-in-js-utils": "^3.1.0", + "fast-loops": "^1.1.3" + } + }, "node_modules/internal-ip": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", @@ -7778,6 +9095,17 @@ "node": ">=6" } }, + "node_modules/intl-messageformat": { + "version": "10.3.3", + "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.3.3.tgz", + "integrity": "sha512-un/f07/g2e/3Q8e1ghDKET+el22Bi49M7O/rHxd597R+oLpPOMykSv5s51cABVfu3FZW+fea4hrzf2MHu1W4hw==", + "dependencies": { + "@formatjs/ecma402-abstract": "1.14.3", + "@formatjs/fast-memoize": "2.0.1", + "@formatjs/icu-messageformat-parser": "2.3.0", + "tslib": "^2.4.0" + } + }, "node_modules/invariant": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", @@ -8071,6 +9399,24 @@ "node": ">=0.10.0" } }, + "node_modules/isomorphic-fetch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "integrity": "sha512-9c4TNAKYXM5PRyVcwUZrF3W09nQ+sO7+jydgs4ZGW9dhsLG2VOlISJABombdQqQRXCwuYG3sYV/puGf5rp0qmA==", + "dependencies": { + "node-fetch": "^1.0.1", + "whatwg-fetch": ">=0.10.0" + } + }, + "node_modules/isomorphic-fetch/node_modules/node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "dependencies": { + "encoding": "^0.1.11", + "is-stream": "^1.0.1" + } + }, "node_modules/jest-diff": { "version": "29.5.0", "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.5.0.tgz", @@ -9305,16 +10651,76 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==" + }, "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" }, + "node_modules/lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==" + }, + "node_modules/lodash.has": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/lodash.has/-/lodash.has-4.5.2.tgz", + "integrity": "sha512-rnYUdIo6xRCJnQmbVFEwcxF144erlD+M3YcJUVesflU9paQaE8p+fJDcIQrlMYbxoANFL+AB9hZrzSBBk5PL+g==" + }, + "node_modules/lodash.isempty": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.isempty/-/lodash.isempty-4.4.0.tgz", + "integrity": "sha512-oKMuF3xEeqDltrGMfDxAPGIVMSSRv8tbRSODbrs4KGsRRLEhrW8N8Rd4DRgB2+621hY8A8XwwrTVhXWpxFvMzg==" + }, + "node_modules/lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==" + }, + "node_modules/lodash.isnil": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/lodash.isnil/-/lodash.isnil-4.0.0.tgz", + "integrity": "sha512-up2Mzq3545mwVnMhTDMdfoG1OurpA/s5t88JmQX809eH3C8491iu2sfKhTfhQtKY78oPNhiaHJUpT/dUDAAtng==" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "node_modules/lodash.mergewith": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", + "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==" + }, + "node_modules/lodash.omit": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz", + "integrity": "sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg==" + }, + "node_modules/lodash.omitby": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.omitby/-/lodash.omitby-4.6.0.tgz", + "integrity": "sha512-5OrRcIVR75M288p4nbI2WLAf3ndw2GD9fyNv3Bc15+WCxJDdZ4lYndSxGd7hnG6PVjiJTeJE2dHEGhIuKGicIQ==" + }, + "node_modules/lodash.pick": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", + "integrity": "sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==" + }, "node_modules/lodash.throttle": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==" }, + "node_modules/lodash.uniqueid": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.uniqueid/-/lodash.uniqueid-4.0.1.tgz", + "integrity": "sha512-GQQWaIeGlL6DIIr06kj1j6sSmBxyNMwI8kaX9aKpHR/XsMTiaXDVPNPAkiboOTK9OJpTJF/dXT3xYoFQnj386Q==" + }, "node_modules/log-symbols": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", @@ -9434,6 +10840,11 @@ "resolved": "https://registry.npmjs.org/md5hex/-/md5hex-1.0.0.tgz", "integrity": "sha512-c2YOUbp33+6thdCUi34xIyOU/a7bvGKj/3DB1iaPMTuPHf/Q2d5s4sn1FaCOO43XkXggnb08y5W2PU8UNYNLKQ==" }, + "node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, "node_modules/media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -10439,6 +11850,192 @@ "node": ">=0.10.0" } }, + "node_modules/native-base": { + "version": "3.4.28", + "resolved": "https://registry.npmjs.org/native-base/-/native-base-3.4.28.tgz", + "integrity": "sha512-EDg9UFDNmfYXPInpRbxce+4oWFEIGaM7aG6ey4hVllcvMC3PkgCvkiXEB+7EemgC7Qr8CuFjgMTx7P0vvnwZeQ==", + "dependencies": { + "@react-aria/visually-hidden": "^3.2.1", + "@react-native-aria/button": "^0.2.4", + "@react-native-aria/checkbox": "^0.2.3", + "@react-native-aria/combobox": "^0.2.4-alpha.0", + "@react-native-aria/focus": "^0.2.6", + "@react-native-aria/interactions": "^0.2.2", + "@react-native-aria/listbox": "^0.2.4-alpha.3", + "@react-native-aria/overlays": "^0.3.3", + "@react-native-aria/radio": "^0.2.4", + "@react-native-aria/slider": "^0.2.5-alpha.1", + "@react-native-aria/tabs": "^0.2.7", + "@react-native-aria/utils": "^0.2.8", + "@react-stately/checkbox": "3.0.3", + "@react-stately/collections": "3.3.0", + "@react-stately/combobox": "3.0.0-alpha.1", + "@react-stately/radio": "3.2.1", + "@react-stately/slider": "3.0.1", + "@react-stately/tabs": "3.0.0-alpha.1", + "@react-stately/toggle": "3.2.1", + "inline-style-prefixer": "^6.0.1", + "lodash.clonedeep": "^4.5.0", + "lodash.get": "^4.4.2", + "lodash.has": "^4.5.2", + "lodash.isempty": "^4.4.0", + "lodash.isequal": "^4.5.0", + "lodash.isnil": "^4.0.0", + "lodash.merge": "^4.6.2", + "lodash.mergewith": "^4.6.2", + "lodash.omit": "^4.5.0", + "lodash.omitby": "^4.6.0", + "lodash.pick": "^4.4.0", + "lodash.uniqueid": "^4.0.1", + "stable-hash": "^0.0.2", + "tinycolor2": "^1.4.2", + "use-sync-external-store": "^1.2.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-native": "*", + "react": "*", + "react-dom": "*", + "react-native": "*", + "react-native-safe-area-context": "*", + "react-native-svg": "*" + } + }, + "node_modules/native-base/node_modules/@react-stately/checkbox": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@react-stately/checkbox/-/checkbox-3.0.3.tgz", + "integrity": "sha512-amT889DTLdbjAVjZ9j9TytN73PszynGIspKi1QSUCvXeA2OVyCwShxhV0Pn7yYX8cMinvGXrjhWdhn0nhYeMdg==", + "dependencies": { + "@babel/runtime": "^7.6.2", + "@react-stately/toggle": "^3.2.3", + "@react-stately/utils": "^3.2.2", + "@react-types/checkbox": "^3.2.3" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1" + } + }, + "node_modules/native-base/node_modules/@react-stately/checkbox/node_modules/@react-stately/toggle": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@react-stately/toggle/-/toggle-3.5.0.tgz", + "integrity": "sha512-vKwLLkFsiIve4pXIQC/dqLAz7Z+qtzJ8+D00EXXO1Nf8YHcyIMDkTmi3NTM8Qtvmt4xX2hbJFiPDF6WvF6mBIg==", + "dependencies": { + "@react-stately/utils": "^3.6.0", + "@react-types/checkbox": "^3.4.2", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/native-base/node_modules/@react-stately/collections": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@react-stately/collections/-/collections-3.3.0.tgz", + "integrity": "sha512-Y8Pfugw/tYbcR9F6GTiTkd9O4FiXErxi5aDLSZ/knS6v0pvr3EHsC3T7jLW+48dSNrwl+HkMe5ECMhWSUA1jRQ==", + "dependencies": { + "@babel/runtime": "^7.6.2", + "@react-types/shared": "^3.2.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1" + } + }, + "node_modules/native-base/node_modules/@react-stately/combobox": { + "version": "3.0.0-alpha.1", + "resolved": "https://registry.npmjs.org/@react-stately/combobox/-/combobox-3.0.0-alpha.1.tgz", + "integrity": "sha512-v0DNGLx0KGvNgBbXoSKzfHGcy65eP0Wx4uY3dqj+u9k3ru2BEvIqB8fo6CWhQqu8VHBX4AlhoxcyrloIKvjD/g==", + "dependencies": { + "@babel/runtime": "^7.6.2", + "@react-stately/list": "^3.2.2", + "@react-stately/menu": "^3.1.0", + "@react-stately/select": "^3.1.0", + "@react-stately/utils": "^3.2.0", + "@react-types/combobox": "3.0.0-alpha.1", + "@react-types/shared": "^3.4.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1" + } + }, + "node_modules/native-base/node_modules/@react-stately/combobox/node_modules/@react-types/combobox": { + "version": "3.0.0-alpha.1", + "resolved": "https://registry.npmjs.org/@react-types/combobox/-/combobox-3.0.0-alpha.1.tgz", + "integrity": "sha512-td8pZmzZx5L32DuJ5iQk0Y4DNPerHWc2NXjx88jiQGxtorzvfrIQRKh3sy13PH7AMplGSEdAxG0llfCKrIy0Ow==", + "dependencies": { + "@react-types/shared": "^3.4.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1" + } + }, + "node_modules/native-base/node_modules/@react-stately/radio": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@react-stately/radio/-/radio-3.2.1.tgz", + "integrity": "sha512-WGYMWCDJQOicFLf+bW2CbAnlRWaqsUd028WpsS41GWyIx/w7DVpUeGFwTSvyCXC5SCQZuambsWHgXNz8Ng5WIA==", + "dependencies": { + "@babel/runtime": "^7.6.2", + "@react-stately/utils": "^3.1.1", + "@react-types/radio": "^3.1.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1" + } + }, + "node_modules/native-base/node_modules/@react-stately/slider": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@react-stately/slider/-/slider-3.0.1.tgz", + "integrity": "sha512-gGpfdVbTmdsOvrmZvFx4hJ5b7nczvAWdHR/tFFJKfxH0/V8NudZ5hGnawY84R3x+OvgV+tKUfifEUKA+oJyG5w==", + "dependencies": { + "@babel/runtime": "^7.6.2", + "@react-aria/i18n": "^3.3.0", + "@react-aria/utils": "^3.6.0", + "@react-stately/utils": "^3.2.0", + "@react-types/slider": "^3.0.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1" + } + }, + "node_modules/native-base/node_modules/@react-stately/tabs": { + "version": "3.0.0-alpha.1", + "resolved": "https://registry.npmjs.org/@react-stately/tabs/-/tabs-3.0.0-alpha.1.tgz", + "integrity": "sha512-aEG5lVLqmfx7A/dS5gkPXmD2ERAo69RtC0aHPo/Dw1XjzalYyo6QbQ5WtiuQxsCVx/naWGEJCcMEAD5/vt+cUQ==", + "dependencies": { + "@babel/runtime": "^7.6.2", + "@react-stately/list": "^3.2.2", + "@react-stately/utils": "^3.2.0", + "@react-types/tabs": "3.0.0-alpha.2" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1" + } + }, + "node_modules/native-base/node_modules/@react-stately/tabs/node_modules/@react-types/tabs": { + "version": "3.0.0-alpha.2", + "resolved": "https://registry.npmjs.org/@react-types/tabs/-/tabs-3.0.0-alpha.2.tgz", + "integrity": "sha512-HQNS2plzuNhKPo88OGEW2Ja9aLeiWqgNqEemSxh0KAjkA8IsvDGaoQEpr9ZQIyBZ3PQIljvOpEJ/IwHU5LztrQ==", + "dependencies": { + "@react-types/shared": "^3.2.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1" + } + }, + "node_modules/native-base/node_modules/@react-stately/toggle": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@react-stately/toggle/-/toggle-3.2.1.tgz", + "integrity": "sha512-gZVuJ8OYoATUoXzdprsyx6O1w3wCrN+J0KnjhrjjKTrBG68n3pZH0p6dM0XpsaCzlSv0UgNa4fhHS3dYfr/ovw==", + "dependencies": { + "@babel/runtime": "^7.6.2", + "@react-stately/utils": "^3.1.1", + "@react-types/checkbox": "^3.2.1", + "@react-types/shared": "^3.2.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1" + } + }, "node_modules/ncp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz", @@ -10577,6 +12174,17 @@ "node": ">=4" } }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, "node_modules/nullthrows": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", @@ -11376,6 +12984,18 @@ } } }, + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, "node_modules/react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", @@ -11431,15 +13051,50 @@ "react": "18.2.0" } }, - "node_modules/react-native-codegen": { - "version": "0.71.5", - "resolved": "https://registry.npmjs.org/react-native-codegen/-/react-native-codegen-0.71.5.tgz", - "integrity": "sha512-rfsuc0zkuUuMjFnrT55I1mDZ+pBRp2zAiRwxck3m6qeGJBGK5OV5JH66eDQ4aa+3m0of316CqrJDRzVlYufzIg==", + "node_modules/react-native-codegen": { + "version": "0.71.5", + "resolved": "https://registry.npmjs.org/react-native-codegen/-/react-native-codegen-0.71.5.tgz", + "integrity": "sha512-rfsuc0zkuUuMjFnrT55I1mDZ+pBRp2zAiRwxck3m6qeGJBGK5OV5JH66eDQ4aa+3m0of316CqrJDRzVlYufzIg==", + "dependencies": { + "@babel/parser": "^7.14.0", + "flow-parser": "^0.185.0", + "jscodeshift": "^0.13.1", + "nullthrows": "^1.1.1" + } + }, + "node_modules/react-native-deck-swiper": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/react-native-deck-swiper/-/react-native-deck-swiper-2.0.13.tgz", + "integrity": "sha512-JsasOVQcyYvWAPNfhNOG+SKeoYTyfIip67Qq477EkpA2yJQs0mC25C5PeIbGohVi55OsGgOlxf7/W+gz3lmeYg==", + "dependencies": { + "prop-types": "15.5.10" + }, + "peerDependencies": { + "react": "^16.0.0-beta.5 || ^17.0.0 || ^18.0.0", + "react-native": ">=0.49.1" + } + }, + "node_modules/react-native-deck-swiper/node_modules/fbjs": { + "version": "0.8.18", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.18.tgz", + "integrity": "sha512-EQaWFK+fEPSoibjNy8IxUtaFOMXcWsY0JaVrQoZR9zC8N2Ygf9iDITPWjUTVIax95b6I742JFLqASHfsag/vKA==", + "dependencies": { + "core-js": "^1.0.0", + "isomorphic-fetch": "^2.1.1", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^0.7.30" + } + }, + "node_modules/react-native-deck-swiper/node_modules/prop-types": { + "version": "15.5.10", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.5.10.tgz", + "integrity": "sha512-vCFzoUFaZkVNeFkhK1KbSq4cn97GDrpfBt9K2qLkGnPAEFhEv3M61Lk5t+B7c0QfMLWo0fPkowk/4SuXerh26Q==", "dependencies": { - "@babel/parser": "^7.14.0", - "flow-parser": "^0.185.0", - "jscodeshift": "^0.13.1", - "nullthrows": "^1.1.1" + "fbjs": "^0.8.9", + "loose-envify": "^1.3.1" } }, "node_modules/react-native-gradle-plugin": { @@ -11447,6 +13102,51 @@ "resolved": "https://registry.npmjs.org/react-native-gradle-plugin/-/react-native-gradle-plugin-0.71.16.tgz", "integrity": "sha512-H2BjG2zk7B7Wii9sXvd9qhCVRQYDAHSWdMw9tscmZBqSP62DkIWEQSk4/B2GhQ4aK9ydVXgtqR6tBeg3yy8TSA==" }, + "node_modules/react-native-pager-view": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/react-native-pager-view/-/react-native-pager-view-6.2.0.tgz", + "integrity": "sha512-pf9OnL/Tkr+5s4Gjmsn7xh91PtJLDa6qxYa/bmtUhd/+s4cQdWQ8DIFoOFghwZIHHHwVdWtoXkp6HtpjN+r20g==", + "peer": true, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/react-native-safe-area-context": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-4.5.0.tgz", + "integrity": "sha512-0WORnk9SkREGUg2V7jHZbuN5x4vcxj/1B0QOcXJjdYWrzZHgLcUzYWWIUecUPJh747Mwjt/42RZDOaFn3L8kPQ==", + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/react-native-svg": { + "version": "13.4.0", + "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-13.4.0.tgz", + "integrity": "sha512-B3TwK+H0+JuRhYPzF21AgqMt4fjhCwDZ9QUtwNstT5XcslJBXC0FoTkdZo8IEb1Sv4suSqhZwlAY6lwOv3tHag==", + "dependencies": { + "css-select": "^5.1.0", + "css-tree": "^1.1.3" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/react-native-tab-view": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/react-native-tab-view/-/react-native-tab-view-3.5.1.tgz", + "integrity": "sha512-qdrS5t+AEhfuKQyuCXkwHu4IVppkuTvzWWlkSZKrPaSkjjIa32xrsGxt1UW9YDdro2w4AMw5hKn1hFmg/5mvzA==", + "dependencies": { + "use-latest-callback": "^0.1.5" + }, + "peerDependencies": { + "react": "*", + "react-native": "*", + "react-native-pager-view": "*" + } + }, "node_modules/react-native/node_modules/promise": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", @@ -11455,6 +13155,49 @@ "asap": "~2.0.6" } }, + "node_modules/react-redux": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-8.0.5.tgz", + "integrity": "sha512-Q2f6fCKxPFpkXt1qNRZdEDLlScsDWyrgSj0mliK59qU6W5gvBiKkdMEG2lJzhd1rCctf0hb6EtePPLZ2e0m1uw==", + "dependencies": { + "@babel/runtime": "^7.12.1", + "@types/hoist-non-react-statics": "^3.3.1", + "@types/use-sync-external-store": "^0.0.3", + "hoist-non-react-statics": "^3.3.2", + "react-is": "^18.0.0", + "use-sync-external-store": "^1.0.0" + }, + "peerDependencies": { + "@types/react": "^16.8 || ^17.0 || ^18.0", + "@types/react-dom": "^16.8 || ^17.0 || ^18.0", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0", + "react-native": ">=0.59", + "redux": "^4" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + }, + "redux": { + "optional": true + } + } + }, + "node_modules/react-redux/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + }, "node_modules/react-refresh": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz", @@ -11516,6 +13259,22 @@ "node": ">=0.10.0" } }, + "node_modules/redux": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", + "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", + "dependencies": { + "@babel/runtime": "^7.9.2" + } + }, + "node_modules/redux-thunk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.2.tgz", + "integrity": "sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q==", + "peerDependencies": { + "redux": "^4" + } + }, "node_modules/regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", @@ -12311,6 +14070,11 @@ "node": ">= 8" } }, + "node_modules/stable-hash": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.2.tgz", + "integrity": "sha512-tPwQ3c1rLIwbJpq59duoznegEbmgfV630C2n4R4G96LKBFljgK8j+O9AxjqB6cAzu4gE7s4pByrLWtZel8E+Mg==" + }, "node_modules/stack-utils": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", @@ -12842,6 +14606,11 @@ "xtend": "~4.0.1" } }, + "node_modules/tinycolor2": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz", + "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==" + }, "node_modules/tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", @@ -13233,6 +15002,14 @@ "node": ">=0.10.0" } }, + "node_modules/use-latest-callback": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/use-latest-callback/-/use-latest-callback-0.1.6.tgz", + "integrity": "sha512-VO/P91A/PmKH9bcN9a7O3duSuxe6M14ZoYXgA6a8dab8doWNdhiIHzEkX/jFeTTRBsX0Ubk6nG4q2NIjNsj+bg==", + "peerDependencies": { + "react": ">=16.8" + } + }, "node_modules/use-sync-external-store": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", @@ -15641,6 +17418,50 @@ } } }, + "@formatjs/ecma402-abstract": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.14.3.tgz", + "integrity": "sha512-SlsbRC/RX+/zg4AApWIFNDdkLtFbkq3LNoZWXZCE/nHVKqoIJyaoQyge/I0Y38vLxowUn9KTtXgusLD91+orbg==", + "requires": { + "@formatjs/intl-localematcher": "0.2.32", + "tslib": "^2.4.0" + } + }, + "@formatjs/fast-memoize": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.0.1.tgz", + "integrity": "sha512-M2GgV+qJn5WJQAYewz7q2Cdl6fobQa69S1AzSM2y0P68ZDbK5cWrJIcPCO395Of1ksftGZoOt4LYCO/j9BKBSA==", + "requires": { + "tslib": "^2.4.0" + } + }, + "@formatjs/icu-messageformat-parser": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.3.0.tgz", + "integrity": "sha512-xqtlqYAbfJDF4b6e4O828LBNOWXrFcuYadqAbYORlDRwhyJ2bH+xpUBPldZbzRGUN2mxlZ4Ykhm7jvERtmI8NQ==", + "requires": { + "@formatjs/ecma402-abstract": "1.14.3", + "@formatjs/icu-skeleton-parser": "1.3.18", + "tslib": "^2.4.0" + } + }, + "@formatjs/icu-skeleton-parser": { + "version": "1.3.18", + "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.3.18.tgz", + "integrity": "sha512-ND1ZkZfmLPcHjAH1sVpkpQxA+QYfOX3py3SjKWMUVGDow18gZ0WPqz3F+pJLYQMpS2LnnQ5zYR2jPVYTbRwMpg==", + "requires": { + "@formatjs/ecma402-abstract": "1.14.3", + "tslib": "^2.4.0" + } + }, + "@formatjs/intl-localematcher": { + "version": "0.2.32", + "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.32.tgz", + "integrity": "sha512-k/MEBstff4sttohyEpXxCmC3MqbUn9VvHGlZ8fauLzkbwXmVrEeyzS+4uhrvAk9DWU9/7otYWxyDox4nT/KVLQ==", + "requires": { + "tslib": "^2.4.0" + } + }, "@gar/promisify": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", @@ -15665,6 +17486,39 @@ "@hapi/hoek": "^9.0.0" } }, + "@internationalized/date": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.1.0.tgz", + "integrity": "sha512-wjeur7K4AecT+YwoBmBXQ/+n5lP69tuZc34hw09s44EozZK7FZHSyfPvRp5/xEb2D6abLboskDY4jG+Nt0TNUQ==", + "requires": { + "@swc/helpers": "^0.4.14" + } + }, + "@internationalized/message": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@internationalized/message/-/message-3.1.0.tgz", + "integrity": "sha512-Oo5m70FcBdADf7G8NkUffVSfuCdeAYVfsvNjZDi9ELpjvkc4YNJVTHt/NyTI9K7FgAVoELxiP9YmN0sJ+HNHYQ==", + "requires": { + "@swc/helpers": "^0.4.14", + "intl-messageformat": "^10.1.0" + } + }, + "@internationalized/number": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@internationalized/number/-/number-3.2.0.tgz", + "integrity": "sha512-GUXkhXSX1Ee2RURnzl+47uvbOxnlMnvP9Er+QePTjDjOPWuunmLKlEkYkEcLiiJp7y4l9QxGDLOlVr8m69LS5w==", + "requires": { + "@swc/helpers": "^0.4.14" + } + }, + "@internationalized/string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@internationalized/string/-/string-3.1.0.tgz", + "integrity": "sha512-TJQKiyUb+wyAfKF59UNeZ/kELMnkxyecnyPCnBI1ma4NaXReJW+7Cc2mObXAqraIBJUVv7rgI46RLKrLgi35ng==", + "requires": { + "@swc/helpers": "^0.4.14" + } + }, "@jest/create-cache-key-function": { "version": "29.5.0", "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-29.5.0.tgz", @@ -16110,6 +17964,458 @@ } } }, + "@react-aria/checkbox": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/@react-aria/checkbox/-/checkbox-3.8.0.tgz", + "integrity": "sha512-VjezmSfDx1/A+Yz5naZ9xCxkasmtsO7uK+Ur+Z6bKmHwvoazRK5cATdRG4mj++0JUBYn6bvBGBEXFZHTkkGahw==", + "requires": { + "@react-aria/label": "^3.5.0", + "@react-aria/toggle": "^3.5.0", + "@react-aria/utils": "^3.15.0", + "@react-stately/checkbox": "^3.4.0", + "@react-stately/toggle": "^3.5.0", + "@react-types/checkbox": "^3.4.2", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + } + }, + "@react-aria/combobox": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@react-aria/combobox/-/combobox-3.5.1.tgz", + "integrity": "sha512-HyBX98TvQe8IscJlRz6TxgvMlYcwy9iTA/GWjy3bMNjUfxPaRZh5r69aG8JlTRvVDLE13cUSh0mKsTSjo8evvQ==", + "requires": { + "@react-aria/i18n": "^3.7.0", + "@react-aria/interactions": "^3.14.0", + "@react-aria/listbox": "^3.8.1", + "@react-aria/live-announcer": "^3.2.0", + "@react-aria/menu": "^3.8.1", + "@react-aria/overlays": "^3.13.0", + "@react-aria/selection": "^3.13.1", + "@react-aria/textfield": "^3.9.0", + "@react-aria/utils": "^3.15.0", + "@react-stately/collections": "^3.6.0", + "@react-stately/combobox": "^3.4.0", + "@react-stately/layout": "^3.11.0", + "@react-types/button": "^3.7.1", + "@react-types/combobox": "^3.6.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + } + }, + "@react-aria/focus": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/@react-aria/focus/-/focus-3.11.0.tgz", + "integrity": "sha512-yPuWs9bAR9CMfIwyOPm2oXLPF19gNkUqW+ozSPhWbLMTEa8Ma09eHW1br4xbN+4ONOm/dCJsIkxTNPUkiLdQoA==", + "requires": { + "@react-aria/interactions": "^3.14.0", + "@react-aria/utils": "^3.15.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14", + "clsx": "^1.1.1" + } + }, + "@react-aria/i18n": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@react-aria/i18n/-/i18n-3.7.0.tgz", + "integrity": "sha512-PZCWmhO9mJvelwiYlsXLY6W4L2o+oza3xnDx0cZDVqp/Hf+OwMAPHWtZsFRTKdjk4TaOPB/ISc9HknWn6UpY4w==", + "requires": { + "@internationalized/date": "^3.1.0", + "@internationalized/message": "^3.1.0", + "@internationalized/number": "^3.2.0", + "@internationalized/string": "^3.1.0", + "@react-aria/ssr": "^3.5.0", + "@react-aria/utils": "^3.15.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + } + }, + "@react-aria/interactions": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/@react-aria/interactions/-/interactions-3.14.0.tgz", + "integrity": "sha512-e1Tkr0UTuYFpV21PJrXy7jEY542Vl+C2Fo70oukZ1fN+wtfQkzodsTIzyepXb7kVMGmC34wDisMJUrksVkfY2w==", + "requires": { + "@react-aria/utils": "^3.15.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + } + }, + "@react-aria/label": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@react-aria/label/-/label-3.5.0.tgz", + "integrity": "sha512-sNiPYiFg06s1zGuifEUeUqRiYje0lfHem+GIUh0Y5ZxfpqIyxEmyV9Aw+C7TTjjo8BAG4NZ4bR7iF9ujf9QvKQ==", + "requires": { + "@react-aria/utils": "^3.15.0", + "@react-types/label": "^3.7.2", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + } + }, + "@react-aria/listbox": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/@react-aria/listbox/-/listbox-3.8.1.tgz", + "integrity": "sha512-kTIQWms6nS//GWr63gSVcNgZv7uf5RULLTKH3DIpmaftS3Kf4Sds6rspWGYQ9PAeS1EqcuHozsXXlKBo1upYgg==", + "requires": { + "@react-aria/focus": "^3.11.0", + "@react-aria/interactions": "^3.14.0", + "@react-aria/label": "^3.5.0", + "@react-aria/selection": "^3.13.1", + "@react-aria/utils": "^3.15.0", + "@react-stately/collections": "^3.6.0", + "@react-stately/list": "^3.7.0", + "@react-types/listbox": "^3.4.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + } + }, + "@react-aria/live-announcer": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@react-aria/live-announcer/-/live-announcer-3.2.0.tgz", + "integrity": "sha512-uSqDDy+9CbmNTZh0Roi4dvWKWcbuMTYKh3RnUw3XBPw0aYxSkcFQeWGfxFoOwXCDcXez02cFJtAxpR2bShkrsw==", + "requires": { + "@swc/helpers": "^0.4.14" + } + }, + "@react-aria/menu": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/@react-aria/menu/-/menu-3.8.1.tgz", + "integrity": "sha512-p8DF/muxbTr/SOZh3FDFPcWUcnXvpwMKyR+xKXQQPbCV/LAiSjVtwxbNVvubqvzR0Qk6/XV4/HUY2r+4tnT8tQ==", + "requires": { + "@react-aria/i18n": "^3.7.0", + "@react-aria/interactions": "^3.14.0", + "@react-aria/overlays": "^3.13.0", + "@react-aria/selection": "^3.13.1", + "@react-aria/utils": "^3.15.0", + "@react-stately/collections": "^3.6.0", + "@react-stately/menu": "^3.5.0", + "@react-stately/tree": "^3.5.0", + "@react-types/button": "^3.7.1", + "@react-types/menu": "^3.8.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + } + }, + "@react-aria/overlays": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/@react-aria/overlays/-/overlays-3.13.0.tgz", + "integrity": "sha512-hRZyhAYzrlCcEWQ2k2jP24b0wc5/355Xl5w5FZHRmPeU1U4XlFwKX/eFlBs/li9Sprm1bTDXrCY480Kl6UsKDA==", + "requires": { + "@react-aria/focus": "^3.11.0", + "@react-aria/i18n": "^3.7.0", + "@react-aria/interactions": "^3.14.0", + "@react-aria/ssr": "^3.5.0", + "@react-aria/utils": "^3.15.0", + "@react-aria/visually-hidden": "^3.7.0", + "@react-stately/overlays": "^3.5.0", + "@react-types/button": "^3.7.1", + "@react-types/overlays": "^3.7.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + } + }, + "@react-aria/radio": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@react-aria/radio/-/radio-3.5.0.tgz", + "integrity": "sha512-d/Hxdu+jUdi3wmyaWYRLTyN16vZxr2MOdkmw8tojTOIMLQj7zTaCFc0D4LR4KZEn3E0F5buGCUHL6o4CTqBeBA==", + "requires": { + "@react-aria/focus": "^3.11.0", + "@react-aria/i18n": "^3.7.0", + "@react-aria/interactions": "^3.14.0", + "@react-aria/label": "^3.5.0", + "@react-aria/utils": "^3.15.0", + "@react-stately/radio": "^3.7.0", + "@react-types/radio": "^3.4.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + } + }, + "@react-aria/selection": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/@react-aria/selection/-/selection-3.13.1.tgz", + "integrity": "sha512-YI5mFkk3JI3Ec01SzyBFGrdPInkoW5B0AavwLkN5QtehBUgdw9A1gPKADW4tiLfKUOl0rkqstP13n+v/GcBoTg==", + "requires": { + "@react-aria/focus": "^3.11.0", + "@react-aria/i18n": "^3.7.0", + "@react-aria/interactions": "^3.14.0", + "@react-aria/utils": "^3.15.0", + "@react-stately/collections": "^3.6.0", + "@react-stately/selection": "^3.12.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + } + }, + "@react-aria/slider": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@react-aria/slider/-/slider-3.3.0.tgz", + "integrity": "sha512-UgR2XEI3vrJAQU1RVC+1uHVr/vFcVh+Cjt/kaFUO7fdj8usqa4JOnIuX+QKCysiVLJc7IEXw4RCJBJYBSUYK6A==", + "requires": { + "@react-aria/focus": "^3.11.0", + "@react-aria/i18n": "^3.7.0", + "@react-aria/interactions": "^3.14.0", + "@react-aria/label": "^3.5.0", + "@react-aria/utils": "^3.15.0", + "@react-stately/radio": "^3.7.0", + "@react-stately/slider": "^3.3.0", + "@react-types/radio": "^3.4.0", + "@react-types/shared": "^3.17.0", + "@react-types/slider": "^3.4.0", + "@swc/helpers": "^0.4.14" + } + }, + "@react-aria/ssr": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@react-aria/ssr/-/ssr-3.5.0.tgz", + "integrity": "sha512-h0MJdSWOd1qObLnJ8mprU31wI8tmKFJMuwT22MpWq6psisOOZaga6Ml4u6Ee6M6duWWISjXvqO4Sb/J0PBA+nQ==", + "requires": { + "@swc/helpers": "^0.4.14" + } + }, + "@react-aria/textfield": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/@react-aria/textfield/-/textfield-3.9.0.tgz", + "integrity": "sha512-plX+/RDidTpz4kfQni2mnH10g9iARC5P7oi4XBXqwrVCIqpTUNoyGLUH952wObYOI9k7lG2QG0+b+3GyrV159g==", + "requires": { + "@react-aria/focus": "^3.11.0", + "@react-aria/label": "^3.5.0", + "@react-aria/utils": "^3.15.0", + "@react-types/shared": "^3.17.0", + "@react-types/textfield": "^3.7.0", + "@swc/helpers": "^0.4.14" + } + }, + "@react-aria/toggle": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@react-aria/toggle/-/toggle-3.5.0.tgz", + "integrity": "sha512-K49OmHBmYW8pk0rXJU1TNRzR+PxLVvfL/ni6ifV5gcxoxV6DmFsNFj+5B/U3AMnCEQeyKQeiY6z9X7EBVX6j9Q==", + "requires": { + "@react-aria/focus": "^3.11.0", + "@react-aria/interactions": "^3.14.0", + "@react-aria/utils": "^3.15.0", + "@react-stately/toggle": "^3.5.0", + "@react-types/checkbox": "^3.4.2", + "@react-types/shared": "^3.17.0", + "@react-types/switch": "^3.3.0", + "@swc/helpers": "^0.4.14" + } + }, + "@react-aria/utils": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/@react-aria/utils/-/utils-3.15.0.tgz", + "integrity": "sha512-aJZBG++iz1UwTW5gXFaHicKju4p0MPhAyBTcf2awHYWeTUUslDjJcEnNg7kjBYZBOrOSlA2rAt7/7C5CCURQPg==", + "requires": { + "@react-aria/ssr": "^3.5.0", + "@react-stately/utils": "^3.6.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14", + "clsx": "^1.1.1" + } + }, + "@react-aria/visually-hidden": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@react-aria/visually-hidden/-/visually-hidden-3.7.0.tgz", + "integrity": "sha512-v/0ujJ67H6LjwY8J7mIGPVB1K8suBArLV+w8UGdX/wFXRL7H4r2fiqlrwAElWSmNbhDQl5BDm/Zh/ub9jB9yzA==", + "requires": { + "@react-aria/interactions": "^3.14.0", + "@react-aria/utils": "^3.15.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14", + "clsx": "^1.1.1" + } + }, + "@react-native-aria/button": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@react-native-aria/button/-/button-0.2.4.tgz", + "integrity": "sha512-wlu6SXI20U+N4fbPX8oh9pkL9hx8W41+cra3fa3s2xfQ6czT4KAkyvSsr1ALUBH4dRkoxxSPOcGJMGnq2K3djw==", + "requires": { + "@react-aria/utils": "^3.6.0", + "@react-native-aria/interactions": "^0.2.3", + "@react-stately/toggle": "^3.2.1", + "@react-types/checkbox": "^3.2.1" + } + }, + "@react-native-aria/checkbox": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@react-native-aria/checkbox/-/checkbox-0.2.3.tgz", + "integrity": "sha512-YtWtXGg5tvOaV6v1CmbusXoOZvGRAVYygms9qNeUF7/B8/iDNGSKjlxHE5LVOLRtJO/B9ndZnr6RkL326ceyng==", + "requires": { + "@react-aria/checkbox": "^3.2.1", + "@react-aria/utils": "^3.6.0", + "@react-native-aria/toggle": "^0.2.3", + "@react-native-aria/utils": "^0.2.6", + "@react-stately/toggle": "^3.2.1" + } + }, + "@react-native-aria/combobox": { + "version": "0.2.4-alpha.1", + "resolved": "https://registry.npmjs.org/@react-native-aria/combobox/-/combobox-0.2.4-alpha.1.tgz", + "integrity": "sha512-MOxKMKVus9MsOL3l+mNRDYHeVr5kj5fYnretLofWh/dHBO2W5H7H70ZfOPDEr9s+vgaBBjHCtbbfOiimKRk6Kg==", + "requires": { + "@react-aria/combobox": "^3.0.0-alpha.1", + "@react-aria/live-announcer": "^3.0.0-alpha.0", + "@react-aria/overlays": "^3.6.1", + "@react-aria/utils": "^3.6.0", + "@react-native-aria/utils": "^0.2.6", + "@react-types/button": "^3.3.1" + } + }, + "@react-native-aria/focus": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/@react-native-aria/focus/-/focus-0.2.7.tgz", + "integrity": "sha512-7Ol8AoTzEN7qC4t4AzclPzjQZ0oRkNBePmVBm2lAQwOnmkKwa+TdiVGtU7MgvsQxUV3aTTMY2Nu1Z5YwCwhUkA==", + "requires": { + "@react-aria/focus": "^3.2.3" + } + }, + "@react-native-aria/interactions": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/@react-native-aria/interactions/-/interactions-0.2.8.tgz", + "integrity": "sha512-+LsLghBnp1fEVdLdIZGfE2izbZS0GPwc7eyiLHndnAXwXdLmyDRw71UCEjsUuNh7SO7BBR5QjHlk0cTHmyynQg==", + "requires": { + "@react-aria/interactions": "^3.3.2", + "@react-aria/utils": "^3.6.0", + "@react-native-aria/utils": "^0.2.6" + } + }, + "@react-native-aria/listbox": { + "version": "0.2.4-alpha.3", + "resolved": "https://registry.npmjs.org/@react-native-aria/listbox/-/listbox-0.2.4-alpha.3.tgz", + "integrity": "sha512-e/y+Wdoyy/PbpFj4DVYDYMsKI+uUqnZ/0yLByqHQvzs8Ys8o69CQkyEYzHhxvFT5lCLegkLbuQN2cJd8bYNQsA==", + "requires": { + "@react-aria/interactions": "^3.3.2", + "@react-aria/label": "^3.1.1", + "@react-aria/listbox": "^3.2.4", + "@react-aria/selection": "^3.3.2", + "@react-aria/utils": "^3.6.0", + "@react-native-aria/interactions": "^0.2.2", + "@react-native-aria/utils": "^0.2.6", + "@react-types/listbox": "^3.1.1", + "@react-types/shared": "^3.4.0" + } + }, + "@react-native-aria/overlays": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@react-native-aria/overlays/-/overlays-0.3.6.tgz", + "integrity": "sha512-+mgmScrVezZrOzeEfmxykIy+lHrmbiLou+mv04BtFzM0rfFhOYoQlmxHC7vdLKgsVKw+i6bd5EM9X0rUynLNTA==", + "requires": { + "@react-aria/interactions": "^3.3.2", + "@react-aria/overlays": "^3.7.0", + "@react-native-aria/utils": "^0.2.8", + "@react-stately/overlays": "^3.1.1", + "@react-types/overlays": "^3.4.0", + "dom-helpers": "^5.0.0" + } + }, + "@react-native-aria/radio": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/@react-native-aria/radio/-/radio-0.2.5.tgz", + "integrity": "sha512-kTfCjRMZH+Z2C70VxjomPO8eXBcHPa5zcuOUotyhR10WsrKZJlwwnA75t2xDq8zsxKnABJRfThv7rSlAjkFSeg==", + "requires": { + "@react-aria/radio": "^3.1.2", + "@react-aria/utils": "^3.6.0", + "@react-native-aria/interactions": "^0.2.3", + "@react-native-aria/utils": "^0.2.6", + "@react-stately/radio": "^3.2.1", + "@react-types/radio": "^3.1.1" + } + }, + "@react-native-aria/slider": { + "version": "0.2.5-alpha.2", + "resolved": "https://registry.npmjs.org/@react-native-aria/slider/-/slider-0.2.5-alpha.2.tgz", + "integrity": "sha512-eYCAGEgcmgs2x5yC1q3edq/VpZWd8P9x1ZoB6uhiyIpDViTDFTz82IWTK0jrbHC70WxWfoY+876VjiKzbjyNxw==", + "requires": { + "@react-aria/focus": "^3.2.3", + "@react-aria/interactions": "^3.3.2", + "@react-aria/label": "^3.1.1", + "@react-aria/slider": "^3.0.1", + "@react-aria/utils": "^3.6.0", + "@react-native-aria/utils": "^0.2.6", + "@react-stately/slider": "^3.0.1" + } + }, + "@react-native-aria/tabs": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/@react-native-aria/tabs/-/tabs-0.2.8.tgz", + "integrity": "sha512-coAiaj9NFFh8vYr/kiugqLwip8IhB6m2dL/GXPcmbK0WH531pIPXKSwgePjniETJtEP84L4PYCTZ705pRlVN8A==", + "requires": { + "@react-aria/selection": "^3.3.1", + "@react-aria/tabs": "3.0.0-alpha.2", + "@react-native-aria/interactions": "^0.2.7", + "@react-native-aria/utils": "^0.2.7", + "@react-stately/tabs": "3.0.0-alpha.1", + "@react-types/tabs": "3.0.0-alpha.2" + }, + "dependencies": { + "@react-aria/tabs": { + "version": "3.0.0-alpha.2", + "resolved": "https://registry.npmjs.org/@react-aria/tabs/-/tabs-3.0.0-alpha.2.tgz", + "integrity": "sha512-yHpz1HujxBcMq8e4jrHkkowzrJwuVyssCB+DuA91kt6LC0eIMZsDZY9tEhhOq+TyOhI3nbyXaDKJG6y1qB0A5A==", + "requires": { + "@babel/runtime": "^7.6.2", + "@react-aria/i18n": "^3.2.0", + "@react-aria/interactions": "^3.3.2", + "@react-aria/selection": "^3.3.1", + "@react-aria/utils": "^3.4.1", + "@react-stately/list": "^3.2.2", + "@react-stately/tabs": "3.0.0-alpha.0", + "@react-types/shared": "^3.2.1", + "@react-types/tabs": "3.0.0-alpha.2" + }, + "dependencies": { + "@react-stately/tabs": { + "version": "3.0.0-alpha.0", + "resolved": "https://registry.npmjs.org/@react-stately/tabs/-/tabs-3.0.0-alpha.0.tgz", + "integrity": "sha512-QJZ9N7DT89RkP18btvQhJvxWuv/JkSwtm14ftfk+5LBbzyxyLsD2KP6jDrNhXgmkRMmIyEaMt2w2VmI6fQ6UAA==", + "requires": { + "@babel/runtime": "^7.6.2", + "@react-stately/list": "^3.2.2", + "@react-stately/utils": "^3.0.0-alpha.1", + "@react-types/tabs": "3.0.0-alpha.2" + } + } + } + }, + "@react-stately/tabs": { + "version": "3.0.0-alpha.1", + "resolved": "https://registry.npmjs.org/@react-stately/tabs/-/tabs-3.0.0-alpha.1.tgz", + "integrity": "sha512-aEG5lVLqmfx7A/dS5gkPXmD2ERAo69RtC0aHPo/Dw1XjzalYyo6QbQ5WtiuQxsCVx/naWGEJCcMEAD5/vt+cUQ==", + "requires": { + "@babel/runtime": "^7.6.2", + "@react-stately/list": "^3.2.2", + "@react-stately/utils": "^3.2.0", + "@react-types/tabs": "3.0.0-alpha.2" + } + }, + "@react-types/tabs": { + "version": "3.0.0-alpha.2", + "resolved": "https://registry.npmjs.org/@react-types/tabs/-/tabs-3.0.0-alpha.2.tgz", + "integrity": "sha512-HQNS2plzuNhKPo88OGEW2Ja9aLeiWqgNqEemSxh0KAjkA8IsvDGaoQEpr9ZQIyBZ3PQIljvOpEJ/IwHU5LztrQ==", + "requires": { + "@react-types/shared": "^3.2.1" + } + } + } + }, + "@react-native-aria/toggle": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@react-native-aria/toggle/-/toggle-0.2.3.tgz", + "integrity": "sha512-3aOlchMxpR0b2h3Z7V0aYZaQMVJD6uKOWKWJm82VsLrni4iDnDX/mLv30ujuuK3+LclUhVlJd2kRuCl+xnf3XQ==", + "requires": { + "@react-aria/focus": "^3.2.3", + "@react-aria/utils": "^3.6.0", + "@react-native-aria/interactions": "^0.2.3", + "@react-native-aria/utils": "^0.2.6", + "@react-stately/toggle": "^3.2.1", + "@react-types/checkbox": "^3.2.1" + } + }, + "@react-native-aria/utils": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/@react-native-aria/utils/-/utils-0.2.8.tgz", + "integrity": "sha512-x375tG1itv3irLFRnURLsdK2djuvhFJHizSDUtLCo8skQwfjslED5t4sUkQ49di4G850gaVJz0fCcCx/pHX7CA==", + "requires": { + "@react-aria/ssr": "^3.0.1", + "@react-aria/utils": "^3.3.0" + } + }, "@react-native-community/cli": { "version": "10.2.0", "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-10.2.0.tgz", @@ -16954,28 +19260,358 @@ } } }, - "@react-native-community/cli-types": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-10.0.0.tgz", - "integrity": "sha512-31oUM6/rFBZQfSmDQsT1DX/5fjqfxg7sf2u8kTPJK7rXVya5SRpAMaCXsPAG0omsmJxXt+J9HxUi3Ic+5Ux5Iw==", + "@react-native-community/cli-types": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-10.0.0.tgz", + "integrity": "sha512-31oUM6/rFBZQfSmDQsT1DX/5fjqfxg7sf2u8kTPJK7rXVya5SRpAMaCXsPAG0omsmJxXt+J9HxUi3Ic+5Ux5Iw==", + "requires": { + "joi": "^17.2.1" + } + }, + "@react-native/assets": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@react-native/assets/-/assets-1.0.0.tgz", + "integrity": "sha512-KrwSpS1tKI70wuKl68DwJZYEvXktDHdZMG0k2AXD/rJVSlB23/X2CB2cutVR0HwNMJIal9HOUOBB2rVfa6UGtQ==" + }, + "@react-native/normalize-color": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@react-native/normalize-color/-/normalize-color-2.1.0.tgz", + "integrity": "sha512-Z1jQI2NpdFJCVgpY+8Dq/Bt3d+YUi1928Q+/CZm/oh66fzM0RUl54vvuXlPJKybH4pdCZey1eDTPaLHkMPNgWA==" + }, + "@react-native/polyfills": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@react-native/polyfills/-/polyfills-2.0.0.tgz", + "integrity": "sha512-K0aGNn1TjalKj+65D7ycc1//H9roAQ51GJVk5ZJQFb2teECGmzd86bYDC0aYdbRf7gtovescq4Zt6FR0tgXiHQ==" + }, + "@react-stately/checkbox": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@react-stately/checkbox/-/checkbox-3.4.0.tgz", + "integrity": "sha512-zqwHMmlzza1exS6Bbqj4Mom3ygtG8pLguHweZ9OO7BFQLwBmzJsrFNqDcj7xh8iEWxXKQfZ2YOuhkaGvu4GRjA==", + "requires": { + "@react-stately/toggle": "^3.5.0", + "@react-stately/utils": "^3.6.0", + "@react-types/checkbox": "^3.4.2", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + } + }, + "@react-stately/collections": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@react-stately/collections/-/collections-3.6.0.tgz", + "integrity": "sha512-znkaqCPo7F1yyzEKDAB5MpX1Vw5UHcUQhDNrys5YOqAkX6/G/AChnBz0B63UxS3fjyqgnuJylRRmUp9nTqO21w==", + "requires": { + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + } + }, + "@react-stately/combobox": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@react-stately/combobox/-/combobox-3.4.0.tgz", + "integrity": "sha512-QVKNosNqSS7PnjrNVrGat9KKlCcv7e3nTehQuIu18ZE2JVH7Jdf/73zkSMurrnQfbPVeiHkGK1deWqrzoNzYQQ==", + "requires": { + "@react-stately/list": "^3.7.0", + "@react-stately/menu": "^3.5.0", + "@react-stately/select": "^3.4.0", + "@react-stately/utils": "^3.6.0", + "@react-types/combobox": "^3.6.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + } + }, + "@react-stately/grid": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@react-stately/grid/-/grid-3.5.0.tgz", + "integrity": "sha512-kCmO2KyHoIJWiCqUXJTD0I/4q/6h3pXGdyD4tWmqWdysxf+x09K/Mx/JwwFqee5LICZgt8MtBrfV+ijLZ8mQAg==", + "requires": { + "@react-stately/selection": "^3.12.0", + "@react-types/grid": "^3.1.6", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + } + }, + "@react-stately/layout": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/@react-stately/layout/-/layout-3.11.0.tgz", + "integrity": "sha512-QNupEFgIv5hqYEbLxDQfHgBkfk6t1VTTxWftBZMXXJEVCC1GH8vUJ35BJGO7hQNhPoTp3xc3X7yEcBlXy1ZmlA==", + "requires": { + "@react-stately/table": "^3.8.0", + "@react-stately/virtualizer": "^3.5.0", + "@react-types/grid": "^3.1.6", + "@react-types/shared": "^3.17.0", + "@react-types/table": "^3.5.0", + "@swc/helpers": "^0.4.14" + } + }, + "@react-stately/list": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@react-stately/list/-/list-3.7.0.tgz", + "integrity": "sha512-/BxCqXFjX9P+OJWjIYmUWaOGJ2hlZHUdymVwZPkIWdO9K7069LWckdYFXRqLFMwIGLUcXVfw4jR0BIQqWlR4eA==", + "requires": { + "@react-stately/collections": "^3.6.0", + "@react-stately/selection": "^3.12.0", + "@react-stately/utils": "^3.6.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + } + }, + "@react-stately/menu": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@react-stately/menu/-/menu-3.5.0.tgz", + "integrity": "sha512-JL6TcT+SbYdlxNLOS84SXp6njDNZuXfkt05o4rS51evmjM2+hlYaB9+yUMqrCb/J2nW7vVAg51TDAhLgmGTYKg==", + "requires": { + "@react-stately/overlays": "^3.5.0", + "@react-stately/utils": "^3.6.0", + "@react-types/menu": "^3.8.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + } + }, + "@react-stately/overlays": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@react-stately/overlays/-/overlays-3.5.0.tgz", + "integrity": "sha512-r+U/G0Y4tCfI5wyBeIu+hmcZVRN8ChoK2zM1srPH9nDKsijQard2goX+9YmKng2LJ01Re/P6F8S8jYbpfEdLfQ==", + "requires": { + "@react-stately/utils": "^3.6.0", + "@react-types/overlays": "^3.7.0", + "@swc/helpers": "^0.4.14" + } + }, + "@react-stately/radio": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@react-stately/radio/-/radio-3.7.0.tgz", + "integrity": "sha512-TKyR6RfX1qZRPAxVWIKMTt2s3J+IlxFZHykiEl85gHBmABSWW4JO4RjkgcmbaAGLAhu1pJU8ktJOyi+MyndpHA==", + "requires": { + "@react-stately/utils": "^3.6.0", + "@react-types/radio": "^3.4.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + } + }, + "@react-stately/select": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@react-stately/select/-/select-3.4.0.tgz", + "integrity": "sha512-thSqD3apMCSgZgKtqHKGVIQRyvG8l0supIuzJicBwq6xg+J8X5muPCZgchCSNmU6im/l81XXE8LGuHGgMilORA==", + "requires": { + "@react-stately/collections": "^3.6.0", + "@react-stately/list": "^3.7.0", + "@react-stately/menu": "^3.5.0", + "@react-stately/selection": "^3.12.0", + "@react-stately/utils": "^3.6.0", + "@react-types/select": "^3.7.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + } + }, + "@react-stately/selection": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/@react-stately/selection/-/selection-3.12.0.tgz", + "integrity": "sha512-qgUaPwqtAl7YaZxxGdb55ZaVuMB1rG+Vr+9fgG8dPtDYCNaPeIlg7ndC4ylzDhCWIx8D5qZotcrqCA4+93TwdA==", + "requires": { + "@react-stately/collections": "^3.6.0", + "@react-stately/utils": "^3.6.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + } + }, + "@react-stately/slider": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@react-stately/slider/-/slider-3.3.0.tgz", + "integrity": "sha512-17aGJYHBRY3g4ZeiIgCNOvYl3HBARvSJhUKoNxZMRa2pqREW+WmBRRAXv5KTymW/KfcGb0RCq1ytYsderEgZAQ==", + "requires": { + "@react-aria/i18n": "^3.7.0", + "@react-aria/utils": "^3.15.0", + "@react-stately/utils": "^3.6.0", + "@react-types/shared": "^3.17.0", + "@react-types/slider": "^3.4.0", + "@swc/helpers": "^0.4.14" + } + }, + "@react-stately/table": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/@react-stately/table/-/table-3.8.0.tgz", + "integrity": "sha512-WmOcW9+4zm6MQZxYEC77u5HMxTcvcotkFptohHd0YtHXx+z5iwClCVKKFG2mc5lE+K4iQE41Q56nVKLjAu+TsA==", + "requires": { + "@react-stately/collections": "^3.6.0", + "@react-stately/grid": "^3.5.0", + "@react-stately/selection": "^3.12.0", + "@react-types/grid": "^3.1.6", + "@react-types/shared": "^3.17.0", + "@react-types/table": "^3.5.0", + "@swc/helpers": "^0.4.14" + } + }, + "@react-stately/toggle": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@react-stately/toggle/-/toggle-3.5.0.tgz", + "integrity": "sha512-vKwLLkFsiIve4pXIQC/dqLAz7Z+qtzJ8+D00EXXO1Nf8YHcyIMDkTmi3NTM8Qtvmt4xX2hbJFiPDF6WvF6mBIg==", + "requires": { + "@react-stately/utils": "^3.6.0", + "@react-types/checkbox": "^3.4.2", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + } + }, + "@react-stately/tree": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@react-stately/tree/-/tree-3.5.0.tgz", + "integrity": "sha512-5+MzMQUFq3+lbGkZC0SlcIDrYmPvxBKuC8xL5W6SuFekbrrxrS6IJexRe4QulaaAliDpX2/9DVZTt38eVfyf0A==", + "requires": { + "@react-stately/collections": "^3.6.0", + "@react-stately/selection": "^3.12.0", + "@react-stately/utils": "^3.6.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + } + }, + "@react-stately/utils": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@react-stately/utils/-/utils-3.6.0.tgz", + "integrity": "sha512-rptF7iUWDrquaYvBAS4QQhOBQyLBncDeHF03WnHXAxnuPJXNcr9cXJtjJPGCs036ZB8Q2hc9BGG5wNyMkF5v+Q==", + "requires": { + "@swc/helpers": "^0.4.14" + } + }, + "@react-stately/virtualizer": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@react-stately/virtualizer/-/virtualizer-3.5.0.tgz", + "integrity": "sha512-Jjk7V2T9uJ2+1EaVY+v1SJYeKb9dvZKayP35bcUq8/y9+I41kNE+qmgnkr5/SVzkExu4YeZTFxtuOm4l8UX5jg==", + "requires": { + "@react-aria/utils": "^3.15.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + } + }, + "@react-types/button": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/@react-types/button/-/button-3.7.1.tgz", + "integrity": "sha512-c+8xjmqWSjI5/mEHVLbVSp0eh/z2UU8Ga+wqjbEUZUjm8uopYj1PaCAwZ7YgcAebyQrL/21GyjK6tFHKzuUdJQ==", + "requires": { + "@react-types/shared": "^3.17.0" + } + }, + "@react-types/checkbox": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@react-types/checkbox/-/checkbox-3.4.2.tgz", + "integrity": "sha512-/NWFCEQLvVgo25afPt2jv4syxYvZeY/D/n2Y92IGtoNV4akdz4AuQ65+1X+JOhQc/ZbAblWw5fFWUZoQs3CLZg==", + "requires": { + "@react-types/shared": "^3.17.0" + } + }, + "@react-types/combobox": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@react-types/combobox/-/combobox-3.6.0.tgz", + "integrity": "sha512-tfZtZ12Kf2bKt3EcFKWcUxrLNc61Y1CGynsOQ/KvHTFwlLTTtKnt/wWuf4kxdqlTK7dDqJzWRGWKlWx6eKlx3w==", + "requires": { + "@react-types/shared": "^3.17.0" + } + }, + "@react-types/grid": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@react-types/grid/-/grid-3.1.6.tgz", + "integrity": "sha512-j6dO5KgkuIbIhEZYSxd86ZomohCyv3VNQhY2qBHlRoxZs0976komauEOjOpMOu0PxwsFGUgUFqlKOtc34f1SHQ==", + "requires": { + "@react-types/shared": "^3.17.0" + } + }, + "@react-types/label": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/@react-types/label/-/label-3.7.2.tgz", + "integrity": "sha512-UlsIvxQjBMl9WwJw1bYoJMwiPvYwRsSLl2yoeeGfGr6IaYn5T/2kzBhDLwe5cpKrmi4Mehn1rbReFLGITOy8+g==", + "requires": { + "@react-types/shared": "^3.17.0" + } + }, + "@react-types/listbox": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@react-types/listbox/-/listbox-3.4.0.tgz", + "integrity": "sha512-OvHaX4EBRHxKrfFItdJXjY7dYomzejqJ87P5fTL1l1TbDX8gvEP014S3cI+VLQq+EsXeTZ8E/sx0tFUo7ilchA==", + "requires": { + "@react-types/shared": "^3.17.0" + } + }, + "@react-types/menu": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/@react-types/menu/-/menu-3.8.0.tgz", + "integrity": "sha512-1nwGUwKNHJf60vOsg7p48NPQIzMsSprxw8VXfStr8eE5uU4vvKfVNQNUgvpkRmHmel8BrYdh1WnERXJJ3yKUgQ==", "requires": { - "joi": "^17.2.1" + "@react-types/overlays": "^3.7.0", + "@react-types/shared": "^3.17.0" } }, - "@react-native/assets": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@react-native/assets/-/assets-1.0.0.tgz", - "integrity": "sha512-KrwSpS1tKI70wuKl68DwJZYEvXktDHdZMG0k2AXD/rJVSlB23/X2CB2cutVR0HwNMJIal9HOUOBB2rVfa6UGtQ==" + "@react-types/overlays": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@react-types/overlays/-/overlays-3.7.0.tgz", + "integrity": "sha512-LstucncZ8dM+xJYEijI1V6jGH20w5XO/T60r7JTrgQElMC86phPeoWkMTN4c2lsRikybolDbvXL6XsF76YO56A==", + "requires": { + "@react-types/shared": "^3.17.0" + } }, - "@react-native/normalize-color": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@react-native/normalize-color/-/normalize-color-2.1.0.tgz", - "integrity": "sha512-Z1jQI2NpdFJCVgpY+8Dq/Bt3d+YUi1928Q+/CZm/oh66fzM0RUl54vvuXlPJKybH4pdCZey1eDTPaLHkMPNgWA==" + "@react-types/radio": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@react-types/radio/-/radio-3.4.0.tgz", + "integrity": "sha512-klgEU+987xVUCRqBoxXJiPJvy0upfo76dFnK5eF7U7BzcxhuiFeLDUcqUHtK92Cy5QOiDAF2ML0vUYGIabKMPA==", + "requires": { + "@react-types/shared": "^3.17.0" + } }, - "@react-native/polyfills": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@react-native/polyfills/-/polyfills-2.0.0.tgz", - "integrity": "sha512-K0aGNn1TjalKj+65D7ycc1//H9roAQ51GJVk5ZJQFb2teECGmzd86bYDC0aYdbRf7gtovescq4Zt6FR0tgXiHQ==" + "@react-types/select": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@react-types/select/-/select-3.7.0.tgz", + "integrity": "sha512-BaynMuW0dQ9ModFzW291+3n1D9bwKSFh03g3+1PvhRcBg1EXq1vFyfFBj4uuBymI0T7oCbnjGh19xo0vKIYRrA==", + "requires": { + "@react-types/shared": "^3.17.0" + } + }, + "@react-types/shared": { + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/@react-types/shared/-/shared-3.17.0.tgz", + "integrity": "sha512-1SNZ/RhVrrQ1e6yE0bPV7d5Sfp+Uv0dfUEhwF9MAu2v5msu7AMewnsiojKNA0QA6Ing1gpDLjHCxtayQfuxqcg==", + "requires": {} + }, + "@react-types/slider": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@react-types/slider/-/slider-3.4.0.tgz", + "integrity": "sha512-Kj+B6njpm4ltiu3gCBOPRnbzllV21IVr0bCQdNnWcf5DX8aN4VdI8EFkTz0DSwMm2WPCwZop0MDWDoRwXJK1ng==", + "requires": { + "@react-types/shared": "^3.17.0" + } + }, + "@react-types/switch": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@react-types/switch/-/switch-3.3.0.tgz", + "integrity": "sha512-6h+s//PwWf7/WJQOZKT6k1vdOQCcvPmMZW333AqyxtZX8WV8Q0illgcLMYo5qxT3IWsjYNuPIqMCY+tRbSeA2Q==", + "requires": { + "@react-types/checkbox": "^3.4.2", + "@react-types/shared": "^3.17.0" + } + }, + "@react-types/table": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@react-types/table/-/table-3.5.0.tgz", + "integrity": "sha512-/Mvn1MQbdnk7i6ivam8kdIh2PKF9GD3A7KC8v1E4JNAgsbOzOkt5JC4PMc1EtAK2eppMEKTN+B84oHKMl1F8Hg==", + "requires": { + "@react-types/grid": "^3.1.6", + "@react-types/shared": "^3.17.0" + } + }, + "@react-types/textfield": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@react-types/textfield/-/textfield-3.7.0.tgz", + "integrity": "sha512-4Rqld8VZG324hecw6bqGY2gta1gm5sDhO48nyChfdmjVlFHXLDKazAcrgP76uSmUI6tffUPj3eYxQyTp5uLhyQ==", + "requires": { + "@react-types/shared": "^3.17.0" + } + }, + "@reduxjs/toolkit": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.9.3.tgz", + "integrity": "sha512-GU2TNBQVofL09VGmuSioNPQIu6Ml0YLf4EJhgj0AvBadRlCGzUWet8372LjvO4fqKZF2vH1xU0htAa7BrK9pZg==", + "requires": { + "immer": "^9.0.16", + "redux": "^4.2.0", + "redux-thunk": "^2.4.2", + "reselect": "^4.1.7" + } }, "@segment/loosely-validate-event": { "version": "2.0.0", @@ -17025,12 +19661,29 @@ "@sinonjs/commons": "^2.0.0" } }, + "@swc/helpers": { + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.14.tgz", + "integrity": "sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==", + "requires": { + "tslib": "^2.4.0" + } + }, "@tsconfig/react-native": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@tsconfig/react-native/-/react-native-2.0.3.tgz", "integrity": "sha512-jE58snEKBd9DXfyR4+ssZmYJ/W2mOSnNrvljR0aLyQJL9JKX6vlWELHkRjb3HBbcM9Uy0hZGijXbqEAjOERW2A==", "dev": true }, + "@types/hoist-non-react-statics": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", + "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==", + "requires": { + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0" + } + }, "@types/istanbul-lib-coverage": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", @@ -17095,20 +19748,27 @@ "@types/prop-types": { "version": "15.7.5", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", - "dev": true + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" }, "@types/react": { "version": "18.0.28", "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.28.tgz", "integrity": "sha512-RD0ivG1kEztNBdoAK7lekI9M+azSnitIn85h4iOiaLjaTrMjzslhaqCGaI4IyCJ1RljWiLCEu4jyrLLgqxBTew==", - "dev": true, "requires": { "@types/prop-types": "*", "@types/scheduler": "*", "csstype": "^3.0.2" } }, + "@types/react-native": { + "version": "0.71.5", + "resolved": "https://registry.npmjs.org/@types/react-native/-/react-native-0.71.5.tgz", + "integrity": "sha512-Tp5druh7DGwNDvWYH09PCE++hbH4zYz0OOvGFb3/QFIFKXgfezaT/txJeKlBkbiqs45QJzllp9S0qo0WpWyijA==", + "peer": true, + "requires": { + "@types/react": "*" + } + }, "@types/react-test-renderer": { "version": "18.0.0", "resolved": "https://registry.npmjs.org/@types/react-test-renderer/-/react-test-renderer-18.0.0.tgz", @@ -17121,14 +19781,18 @@ "@types/scheduler": { "version": "0.16.3", "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", - "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==", - "dev": true + "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" }, "@types/stack-utils": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" }, + "@types/use-sync-external-store": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz", + "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==" + }, "@types/yargs": { "version": "15.0.15", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.15.tgz", @@ -17585,6 +20249,11 @@ } } }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, "bplist-creator": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.1.0.tgz", @@ -17970,6 +20639,11 @@ "shallow-clone": "^3.0.0" } }, + "clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==" + }, "collection-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", @@ -18123,6 +20797,11 @@ "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==" }, + "core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha512-ZiPp9pZlgxpWRu0M+YWbm6+aQ84XEfH1JRXvfOc/fILWI0VKhLC2LX13X1NYq4fULzLMq7Hfh43CSo2/aIaUPA==" + }, "core-js-compat": { "version": "3.29.1", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.29.1.tgz", @@ -18194,11 +20873,51 @@ "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" }, + "css-in-js-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/css-in-js-utils/-/css-in-js-utils-3.1.0.tgz", + "integrity": "sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A==", + "requires": { + "hyphenate-style-name": "^1.0.3" + } + }, + "css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + } + }, + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" + }, "csstype": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", - "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==", - "dev": true + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" }, "dag-map": { "version": "1.0.2", @@ -18345,6 +21064,48 @@ "path-type": "^4.0.0" } }, + "dom-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "requires": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, + "dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + } + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" + }, + "domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "requires": { + "domelementtype": "^2.3.0" + } + }, + "domutils": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz", + "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==", + "requires": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.1" + } + }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -18365,6 +21126,24 @@ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" }, + "encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "requires": { + "iconv-lite": "^0.6.2" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } + }, "end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -18373,6 +21152,11 @@ "once": "^1.4.0" } }, + "entities": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", + "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==" + }, "env-editor": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/env-editor/-/env-editor-0.4.2.tgz", @@ -18824,6 +21608,11 @@ "micromatch": "^4.0.4" } }, + "fast-loops": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fast-loops/-/fast-loops-1.1.3.tgz", + "integrity": "sha512-8EZzEP0eKkEEVX+drtd9mtuQ+/QrlfW/5MlwcwK5Nds6EkZ/tRzEexkzUY2mIssnAyVLT+TKHuRXmFNNXYUd6g==" + }, "fast-xml-parser": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.1.3.tgz", @@ -19243,6 +22032,21 @@ "source-map": "^0.7.3" } }, + "hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "requires": { + "react-is": "^16.7.0" + }, + "dependencies": { + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + } + } + }, "hosted-git-info": { "version": "3.0.8", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", @@ -19294,6 +22098,11 @@ "debug": "4" } }, + "hyphenate-style-name": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz", + "integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==" + }, "iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -19317,6 +22126,11 @@ "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.6.3.tgz", "integrity": "sha512-47xSUiQioGaB96nqtp5/q55m0aBQSQdyIloMOc/x+QVTDZLNmXE892IIDrJ0hM1A5vcNUDD5tDffkSP5lCaIIA==" }, + "immer": { + "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==" + }, "import-fresh": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", @@ -19367,6 +22181,15 @@ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" }, + "inline-style-prefixer": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/inline-style-prefixer/-/inline-style-prefixer-6.0.4.tgz", + "integrity": "sha512-FwXmZC2zbeeS7NzGjJ6pAiqRhXR0ugUShSNb6GApMl6da0/XGc4MOJsoWAywia52EEWbXNSy0pzkwz/+Y+swSg==", + "requires": { + "css-in-js-utils": "^3.1.0", + "fast-loops": "^1.1.3" + } + }, "internal-ip": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", @@ -19376,6 +22199,17 @@ "ipaddr.js": "^1.9.0" } }, + "intl-messageformat": { + "version": "10.3.3", + "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.3.3.tgz", + "integrity": "sha512-un/f07/g2e/3Q8e1ghDKET+el22Bi49M7O/rHxd597R+oLpPOMykSv5s51cABVfu3FZW+fea4hrzf2MHu1W4hw==", + "requires": { + "@formatjs/ecma402-abstract": "1.14.3", + "@formatjs/fast-memoize": "2.0.1", + "@formatjs/icu-messageformat-parser": "2.3.0", + "tslib": "^2.4.0" + } + }, "invariant": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", @@ -19581,6 +22415,26 @@ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==" }, + "isomorphic-fetch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "integrity": "sha512-9c4TNAKYXM5PRyVcwUZrF3W09nQ+sO7+jydgs4ZGW9dhsLG2VOlISJABombdQqQRXCwuYG3sYV/puGf5rp0qmA==", + "requires": { + "node-fetch": "^1.0.1", + "whatwg-fetch": ">=0.10.0" + }, + "dependencies": { + "node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "requires": { + "encoding": "^0.1.11", + "is-stream": "^1.0.1" + } + } + } + }, "jest-diff": { "version": "29.5.0", "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.5.0.tgz", @@ -20520,16 +23374,76 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==" + }, "lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" }, + "lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==" + }, + "lodash.has": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/lodash.has/-/lodash.has-4.5.2.tgz", + "integrity": "sha512-rnYUdIo6xRCJnQmbVFEwcxF144erlD+M3YcJUVesflU9paQaE8p+fJDcIQrlMYbxoANFL+AB9hZrzSBBk5PL+g==" + }, + "lodash.isempty": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.isempty/-/lodash.isempty-4.4.0.tgz", + "integrity": "sha512-oKMuF3xEeqDltrGMfDxAPGIVMSSRv8tbRSODbrs4KGsRRLEhrW8N8Rd4DRgB2+621hY8A8XwwrTVhXWpxFvMzg==" + }, + "lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==" + }, + "lodash.isnil": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/lodash.isnil/-/lodash.isnil-4.0.0.tgz", + "integrity": "sha512-up2Mzq3545mwVnMhTDMdfoG1OurpA/s5t88JmQX809eH3C8491iu2sfKhTfhQtKY78oPNhiaHJUpT/dUDAAtng==" + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "lodash.mergewith": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", + "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==" + }, + "lodash.omit": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz", + "integrity": "sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg==" + }, + "lodash.omitby": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.omitby/-/lodash.omitby-4.6.0.tgz", + "integrity": "sha512-5OrRcIVR75M288p4nbI2WLAf3ndw2GD9fyNv3Bc15+WCxJDdZ4lYndSxGd7hnG6PVjiJTeJE2dHEGhIuKGicIQ==" + }, + "lodash.pick": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", + "integrity": "sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==" + }, "lodash.throttle": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==" }, + "lodash.uniqueid": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.uniqueid/-/lodash.uniqueid-4.0.1.tgz", + "integrity": "sha512-GQQWaIeGlL6DIIr06kj1j6sSmBxyNMwI8kaX9aKpHR/XsMTiaXDVPNPAkiboOTK9OJpTJF/dXT3xYoFQnj386Q==" + }, "log-symbols": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", @@ -20624,6 +23538,11 @@ "resolved": "https://registry.npmjs.org/md5hex/-/md5hex-1.0.0.tgz", "integrity": "sha512-c2YOUbp33+6thdCUi34xIyOU/a7bvGKj/3DB1iaPMTuPHf/Q2d5s4sn1FaCOO43XkXggnb08y5W2PU8UNYNLKQ==" }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -21434,6 +24353,161 @@ "to-regex": "^3.0.1" } }, + "native-base": { + "version": "3.4.28", + "resolved": "https://registry.npmjs.org/native-base/-/native-base-3.4.28.tgz", + "integrity": "sha512-EDg9UFDNmfYXPInpRbxce+4oWFEIGaM7aG6ey4hVllcvMC3PkgCvkiXEB+7EemgC7Qr8CuFjgMTx7P0vvnwZeQ==", + "requires": { + "@react-aria/visually-hidden": "^3.2.1", + "@react-native-aria/button": "^0.2.4", + "@react-native-aria/checkbox": "^0.2.3", + "@react-native-aria/combobox": "^0.2.4-alpha.0", + "@react-native-aria/focus": "^0.2.6", + "@react-native-aria/interactions": "^0.2.2", + "@react-native-aria/listbox": "^0.2.4-alpha.3", + "@react-native-aria/overlays": "^0.3.3", + "@react-native-aria/radio": "^0.2.4", + "@react-native-aria/slider": "^0.2.5-alpha.1", + "@react-native-aria/tabs": "^0.2.7", + "@react-native-aria/utils": "^0.2.8", + "@react-stately/checkbox": "3.0.3", + "@react-stately/collections": "3.3.0", + "@react-stately/combobox": "3.0.0-alpha.1", + "@react-stately/radio": "3.2.1", + "@react-stately/slider": "3.0.1", + "@react-stately/tabs": "3.0.0-alpha.1", + "@react-stately/toggle": "3.2.1", + "inline-style-prefixer": "^6.0.1", + "lodash.clonedeep": "^4.5.0", + "lodash.get": "^4.4.2", + "lodash.has": "^4.5.2", + "lodash.isempty": "^4.4.0", + "lodash.isequal": "^4.5.0", + "lodash.isnil": "^4.0.0", + "lodash.merge": "^4.6.2", + "lodash.mergewith": "^4.6.2", + "lodash.omit": "^4.5.0", + "lodash.omitby": "^4.6.0", + "lodash.pick": "^4.4.0", + "lodash.uniqueid": "^4.0.1", + "stable-hash": "^0.0.2", + "tinycolor2": "^1.4.2", + "use-sync-external-store": "^1.2.0" + }, + "dependencies": { + "@react-stately/checkbox": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@react-stately/checkbox/-/checkbox-3.0.3.tgz", + "integrity": "sha512-amT889DTLdbjAVjZ9j9TytN73PszynGIspKi1QSUCvXeA2OVyCwShxhV0Pn7yYX8cMinvGXrjhWdhn0nhYeMdg==", + "requires": { + "@babel/runtime": "^7.6.2", + "@react-stately/toggle": "^3.2.3", + "@react-stately/utils": "^3.2.2", + "@react-types/checkbox": "^3.2.3" + }, + "dependencies": { + "@react-stately/toggle": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@react-stately/toggle/-/toggle-3.5.0.tgz", + "integrity": "sha512-vKwLLkFsiIve4pXIQC/dqLAz7Z+qtzJ8+D00EXXO1Nf8YHcyIMDkTmi3NTM8Qtvmt4xX2hbJFiPDF6WvF6mBIg==", + "requires": { + "@react-stately/utils": "^3.6.0", + "@react-types/checkbox": "^3.4.2", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + } + } + } + }, + "@react-stately/collections": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@react-stately/collections/-/collections-3.3.0.tgz", + "integrity": "sha512-Y8Pfugw/tYbcR9F6GTiTkd9O4FiXErxi5aDLSZ/knS6v0pvr3EHsC3T7jLW+48dSNrwl+HkMe5ECMhWSUA1jRQ==", + "requires": { + "@babel/runtime": "^7.6.2", + "@react-types/shared": "^3.2.1" + } + }, + "@react-stately/combobox": { + "version": "3.0.0-alpha.1", + "resolved": "https://registry.npmjs.org/@react-stately/combobox/-/combobox-3.0.0-alpha.1.tgz", + "integrity": "sha512-v0DNGLx0KGvNgBbXoSKzfHGcy65eP0Wx4uY3dqj+u9k3ru2BEvIqB8fo6CWhQqu8VHBX4AlhoxcyrloIKvjD/g==", + "requires": { + "@babel/runtime": "^7.6.2", + "@react-stately/list": "^3.2.2", + "@react-stately/menu": "^3.1.0", + "@react-stately/select": "^3.1.0", + "@react-stately/utils": "^3.2.0", + "@react-types/combobox": "3.0.0-alpha.1", + "@react-types/shared": "^3.4.0" + }, + "dependencies": { + "@react-types/combobox": { + "version": "3.0.0-alpha.1", + "resolved": "https://registry.npmjs.org/@react-types/combobox/-/combobox-3.0.0-alpha.1.tgz", + "integrity": "sha512-td8pZmzZx5L32DuJ5iQk0Y4DNPerHWc2NXjx88jiQGxtorzvfrIQRKh3sy13PH7AMplGSEdAxG0llfCKrIy0Ow==", + "requires": { + "@react-types/shared": "^3.4.0" + } + } + } + }, + "@react-stately/radio": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@react-stately/radio/-/radio-3.2.1.tgz", + "integrity": "sha512-WGYMWCDJQOicFLf+bW2CbAnlRWaqsUd028WpsS41GWyIx/w7DVpUeGFwTSvyCXC5SCQZuambsWHgXNz8Ng5WIA==", + "requires": { + "@babel/runtime": "^7.6.2", + "@react-stately/utils": "^3.1.1", + "@react-types/radio": "^3.1.1" + } + }, + "@react-stately/slider": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@react-stately/slider/-/slider-3.0.1.tgz", + "integrity": "sha512-gGpfdVbTmdsOvrmZvFx4hJ5b7nczvAWdHR/tFFJKfxH0/V8NudZ5hGnawY84R3x+OvgV+tKUfifEUKA+oJyG5w==", + "requires": { + "@babel/runtime": "^7.6.2", + "@react-aria/i18n": "^3.3.0", + "@react-aria/utils": "^3.6.0", + "@react-stately/utils": "^3.2.0", + "@react-types/slider": "^3.0.1" + } + }, + "@react-stately/tabs": { + "version": "3.0.0-alpha.1", + "resolved": "https://registry.npmjs.org/@react-stately/tabs/-/tabs-3.0.0-alpha.1.tgz", + "integrity": "sha512-aEG5lVLqmfx7A/dS5gkPXmD2ERAo69RtC0aHPo/Dw1XjzalYyo6QbQ5WtiuQxsCVx/naWGEJCcMEAD5/vt+cUQ==", + "requires": { + "@babel/runtime": "^7.6.2", + "@react-stately/list": "^3.2.2", + "@react-stately/utils": "^3.2.0", + "@react-types/tabs": "3.0.0-alpha.2" + }, + "dependencies": { + "@react-types/tabs": { + "version": "3.0.0-alpha.2", + "resolved": "https://registry.npmjs.org/@react-types/tabs/-/tabs-3.0.0-alpha.2.tgz", + "integrity": "sha512-HQNS2plzuNhKPo88OGEW2Ja9aLeiWqgNqEemSxh0KAjkA8IsvDGaoQEpr9ZQIyBZ3PQIljvOpEJ/IwHU5LztrQ==", + "requires": { + "@react-types/shared": "^3.2.1" + } + } + } + }, + "@react-stately/toggle": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@react-stately/toggle/-/toggle-3.2.1.tgz", + "integrity": "sha512-gZVuJ8OYoATUoXzdprsyx6O1w3wCrN+J0KnjhrjjKTrBG68n3pZH0p6dM0XpsaCzlSv0UgNa4fhHS3dYfr/ovw==", + "requires": { + "@babel/runtime": "^7.6.2", + "@react-stately/utils": "^3.1.1", + "@react-types/checkbox": "^3.2.1", + "@react-types/shared": "^3.2.1" + } + } + } + }, "ncp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz", @@ -21532,6 +24606,14 @@ "path-key": "^2.0.0" } }, + "nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "requires": { + "boolbase": "^1.0.0" + } + }, "nullthrows": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", @@ -22109,6 +25191,15 @@ } } }, + "react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "requires": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + } + }, "react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", @@ -22176,11 +25267,94 @@ "nullthrows": "^1.1.1" } }, + "react-native-deck-swiper": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/react-native-deck-swiper/-/react-native-deck-swiper-2.0.13.tgz", + "integrity": "sha512-JsasOVQcyYvWAPNfhNOG+SKeoYTyfIip67Qq477EkpA2yJQs0mC25C5PeIbGohVi55OsGgOlxf7/W+gz3lmeYg==", + "requires": { + "prop-types": "15.5.10" + }, + "dependencies": { + "fbjs": { + "version": "0.8.18", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.18.tgz", + "integrity": "sha512-EQaWFK+fEPSoibjNy8IxUtaFOMXcWsY0JaVrQoZR9zC8N2Ygf9iDITPWjUTVIax95b6I742JFLqASHfsag/vKA==", + "requires": { + "core-js": "^1.0.0", + "isomorphic-fetch": "^2.1.1", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^0.7.30" + } + }, + "prop-types": { + "version": "15.5.10", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.5.10.tgz", + "integrity": "sha512-vCFzoUFaZkVNeFkhK1KbSq4cn97GDrpfBt9K2qLkGnPAEFhEv3M61Lk5t+B7c0QfMLWo0fPkowk/4SuXerh26Q==", + "requires": { + "fbjs": "^0.8.9", + "loose-envify": "^1.3.1" + } + } + } + }, "react-native-gradle-plugin": { "version": "0.71.16", "resolved": "https://registry.npmjs.org/react-native-gradle-plugin/-/react-native-gradle-plugin-0.71.16.tgz", "integrity": "sha512-H2BjG2zk7B7Wii9sXvd9qhCVRQYDAHSWdMw9tscmZBqSP62DkIWEQSk4/B2GhQ4aK9ydVXgtqR6tBeg3yy8TSA==" }, + "react-native-pager-view": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/react-native-pager-view/-/react-native-pager-view-6.2.0.tgz", + "integrity": "sha512-pf9OnL/Tkr+5s4Gjmsn7xh91PtJLDa6qxYa/bmtUhd/+s4cQdWQ8DIFoOFghwZIHHHwVdWtoXkp6HtpjN+r20g==", + "peer": true, + "requires": {} + }, + "react-native-safe-area-context": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-4.5.0.tgz", + "integrity": "sha512-0WORnk9SkREGUg2V7jHZbuN5x4vcxj/1B0QOcXJjdYWrzZHgLcUzYWWIUecUPJh747Mwjt/42RZDOaFn3L8kPQ==", + "requires": {} + }, + "react-native-svg": { + "version": "13.4.0", + "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-13.4.0.tgz", + "integrity": "sha512-B3TwK+H0+JuRhYPzF21AgqMt4fjhCwDZ9QUtwNstT5XcslJBXC0FoTkdZo8IEb1Sv4suSqhZwlAY6lwOv3tHag==", + "requires": { + "css-select": "^5.1.0", + "css-tree": "^1.1.3" + } + }, + "react-native-tab-view": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/react-native-tab-view/-/react-native-tab-view-3.5.1.tgz", + "integrity": "sha512-qdrS5t+AEhfuKQyuCXkwHu4IVppkuTvzWWlkSZKrPaSkjjIa32xrsGxt1UW9YDdro2w4AMw5hKn1hFmg/5mvzA==", + "requires": { + "use-latest-callback": "^0.1.5" + } + }, + "react-redux": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-8.0.5.tgz", + "integrity": "sha512-Q2f6fCKxPFpkXt1qNRZdEDLlScsDWyrgSj0mliK59qU6W5gvBiKkdMEG2lJzhd1rCctf0hb6EtePPLZ2e0m1uw==", + "requires": { + "@babel/runtime": "^7.12.1", + "@types/hoist-non-react-statics": "^3.3.1", + "@types/use-sync-external-store": "^0.0.3", + "hoist-non-react-statics": "^3.3.2", + "react-is": "^18.0.0", + "use-sync-external-store": "^1.0.0" + }, + "dependencies": { + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + } + } + }, "react-refresh": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz", @@ -22232,6 +25406,20 @@ } } }, + "redux": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", + "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", + "requires": { + "@babel/runtime": "^7.9.2" + } + }, + "redux-thunk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.2.tgz", + "integrity": "sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q==", + "requires": {} + }, "regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", @@ -22862,6 +26050,11 @@ "minipass": "^3.1.1" } }, + "stable-hash": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.2.tgz", + "integrity": "sha512-tPwQ3c1rLIwbJpq59duoznegEbmgfV630C2n4R4G96LKBFljgK8j+O9AxjqB6cAzu4gE7s4pByrLWtZel8E+Mg==" + }, "stack-utils": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", @@ -23264,6 +26457,11 @@ "xtend": "~4.0.1" } }, + "tinycolor2": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz", + "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==" + }, "tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", @@ -23540,6 +26738,12 @@ "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" }, + "use-latest-callback": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/use-latest-callback/-/use-latest-callback-0.1.6.tgz", + "integrity": "sha512-VO/P91A/PmKH9bcN9a7O3duSuxe6M14ZoYXgA6a8dab8doWNdhiIHzEkX/jFeTTRBsX0Ubk6nG4q2NIjNsj+bg==", + "requires": {} + }, "use-sync-external-store": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", diff --git a/package.json b/package.json index b383d9a6058fc1539cbeaf511c666c8e8087002a..710143fb1a7c2f2013a0e7416d6c2ea7833e7793 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,7 @@ "react-native-safe-area-context": "4.5.0", "react-native-screens": "~3.20.0", "react-native-svg": "13.4.0", + "react-native-tab-view": "^3.5.1", "react-native-vector-icons": "^9.2.0", "react-redux": "^8.0.5", "redux": "^4.2.1", diff --git a/src/api/authservice.ts b/src/api/authservice.ts index 72fa03479203c951554b38fbe2bc384ef07589b6..9c2f9a7994adfd1817efe28efb631dc0e67c8523 100644 --- a/src/api/authservice.ts +++ b/src/api/authservice.ts @@ -8,4 +8,12 @@ export const loginRequest = async (username: string, password: string) => { password: password } ) -} \ No newline at end of file +} + +export const isAuthRequest = async () => { + return await axiosInstance.get( + "/api/isauth" + ) +} + + diff --git a/src/api/itemservice.ts b/src/api/itemservice.ts new file mode 100644 index 0000000000000000000000000000000000000000..a27a6574e5ff056c2863518b07ea55ce49b1c4fa --- /dev/null +++ b/src/api/itemservice.ts @@ -0,0 +1,14 @@ +import { axiosInstance } from "./api" + + +export const getItemRequest = async (itemId : string) => { + return await axiosInstance.get( + `/item/${itemId}` + ) +} + +// export const getItemConcordancesRequest = async (itemId : string) => { +// return await axiosInstance.get( +// `/api/concordances/${itemId}` +// ) +// } diff --git a/src/api/notesservice.ts b/src/api/notesservice.ts new file mode 100644 index 0000000000000000000000000000000000000000..99091924bf3b28f23303f525e1656524f439bc5f --- /dev/null +++ b/src/api/notesservice.ts @@ -0,0 +1,8 @@ +import { axiosInstance } from "./api" + + +export const getItemNotesRequest = async (itemId : string) => { + return await axiosInstance.get( + `/api/notes/?item_id[]=${itemId}` + ) +} diff --git a/src/components/Navigation.tsx b/src/components/Navigation.tsx index 4b785c47df4724e68164490e1455de514612aa9c..f7037af9a73a0ec7de6a25f6501536c3d1b14351 100644 --- a/src/components/Navigation.tsx +++ b/src/components/Navigation.tsx @@ -10,9 +10,18 @@ import HomePage from "../pages/HomePage" import LoginPage from "../pages/LoginPage" import SearchPage from "../pages/SearchPage" import Logout from "../pages/Logout" +import ItemViewPage from "../pages/ItemViewPage" + +export type RootDrawerParamList = { + Home: undefined, + Search: undefined, + Logout: undefined, + Item: { itemId: string }, + Login: undefined +} const Navigation = () => { - const Drawer = createDrawerNavigator() + const Drawer = createDrawerNavigator<RootDrawerParamList>() const loggedIn = useSelector((state: RootState) => state.user.loggedIn) return ( @@ -57,6 +66,11 @@ const Navigation = () => { name="Logout" component={Logout} /> + <Drawer.Screen + name={"Item"} + component={ItemViewPage} + options={{ drawerItemStyle: { display: "none" } }} + /> </> ) : ( <Drawer.Screen diff --git a/src/components/item/ItemTabBar.tsx b/src/components/item/ItemTabBar.tsx new file mode 100644 index 0000000000000000000000000000000000000000..0335a6e96cca535b27718e2c2d8dbd1c6e91d980 --- /dev/null +++ b/src/components/item/ItemTabBar.tsx @@ -0,0 +1,86 @@ +import { HStack, CircleIcon, View, ScrollView, Button, Center, Heading, Pressable, Text, Box, Container, VStack, Icon, ArrowBackIcon, ChevronLeftIcon, ChevronRightIcon } from "native-base"; +import { CertaintyWithColors } from "../../stores/reducers/itemSlice"; +import { Concordance } from "../../types/item"; +import LoadingBox from "../loading/LoadingBox"; + +// custom render Tab +const ItemTabBar = (props: { navigationState: { routes: any[] }, concordances: Concordance[], index: number, onIndexChange: any, onBackPressed: any }) => { + + const { concordances, onIndexChange, index, onBackPressed } = props + + if (concordances && concordances.length > 0) { + return ( + <VStack> + <HStack h="16" > + <HStack width="50%"> + <Button variant="ghost" size="lg" marginLeft={0} + onPress={onBackPressed} + leftIcon={<ChevronLeftIcon size="lg" />}> + Back + </Button> + </HStack> + <HStack width="50%"> + <HStack width="50%"> + + </HStack> + <HStack marginRight={0}> + <Button variant="ghost" size="lg" + onPress={() => onIndexChange(index - 1)} + leftIcon={<ChevronLeftIcon size="lg" />}> + </Button> + <Button variant="ghost" size="lg" + onPress={() => onIndexChange(index + 1)} + leftIcon={<ChevronRightIcon size="lg" />}> + </Button> + </HStack> + </HStack> + </HStack> + <View h="8"> + <ScrollView contentContainerStyle={{ flexGrow: 1 }} flex="1" horizontal={true}> + {props.navigationState.routes.length > 1 ? ( + <HStack borderBottomWidth={1} flex="1" borderColor="light.400"> + {props.navigationState.routes.map((route, i) => { + return ( + <Pressable key={i} onPress={() => { onIndexChange(i) }}> + <HStack alignItems={"center"} width="32" borderColor="light.400" height="100%" borderBottomWidth={i == index ? 2 : 0}> + <CircleIcon + marginLeft="20%" + size="2" + color={CertaintyWithColors[concordances[i].cert].color} + /> + <Text marginLeft="5%"> + {i == index ? <Text bold>{concordances[i].id}</Text> : concordances[i].id} + + </Text> + </HStack> + </Pressable> + ); + })} + </HStack> + ) : ( + // One item only + <Pressable onPress={() => { onIndexChange(0) }} width="100%"> + <HStack alignItems={"center"} width="100%" borderColor="light.400" height="100%" borderBottomWidth={2}> + <CircleIcon + marginLeft="42%" + size="2" + color={CertaintyWithColors[concordances[0].cert].color} + /> + <Text marginLeft="2%"> + <Text bold>{concordances[0].id}</Text> + </Text> + </HStack> + </Pressable> + )} + </ScrollView> + </View> + </VStack> + + ); + } + else { + return <LoadingBox text={`Loading concordances...`}></LoadingBox> + } +}; + +export default ItemTabBar \ No newline at end of file diff --git a/src/components/item/ItemView.tsx b/src/components/item/ItemView.tsx new file mode 100644 index 0000000000000000000000000000000000000000..119d3bfae206c83feb78df2669f4a727688b8d18 --- /dev/null +++ b/src/components/item/ItemView.tsx @@ -0,0 +1,164 @@ +import { Center, Box, VStack, Button, HStack, Text, Image, ScrollView, View, Spacer, Card, Heading } from "native-base" +import React from "react" +import { Item } from "../../types/item" +import { Note } from "../../types/note" +import LoadingBox from "../loading/LoadingBox" +import NotesListView from "../notes/NotesListView" + +interface ItemDetailProps { + item: Item, + itemLoading: boolean, + notes: Note[], + notesLoading: boolean +} + +const ItemDetail = (props: { item: Item }) => { + const item = props.item; + + return ( + <ScrollView flex="1"> + <Box width="90%" marginLeft="5%"> + { + item && ( + <VStack> + <HStack marginTop="5%"> + <VStack width="75%"> + <Text> + {item.authorDisplayName ? item.authorDisplayName : item.authorName} + </Text> + <Heading size="sm"> + {item.workName} + </Heading> + + </VStack> + <Box width="25%"> + <Button variant="outline" size="md"> + {item.concordances[0].id} + </Button> + </Box> + </HStack> + <Card shadow="1" marginTop="5%"> + {item.inventoryItem && + <VStack> + <Text italic> + <Text color="light.500">Inventory item: </Text> + {item.inventoryItem} + </Text> + <Text italic marginTop="2.5%"> + {item.searchSubjects.map((subject, index) => ( + index < item.searchSubjects.length -1 ? (subject + ", ") : (subject) + ))} + </Text> + </VStack>} + </Card> + {item.fullView && item.imageUrl && ( + <Center background="primary.100" marginTop="5%"> + <Text>Resembling object</Text> + <Image size={250} alt="image" source={{ uri: `http:147.228.173.159/static/images/${item.imageUrl}` }} /> + </Center>)} + {item.fullView && ( + <Card shadow="1" marginTop="5%" marginBottom="5%"> + {item.authorName && + <HStack> + <Text italic marginTop="2.5%"> + <Text color="light.500">Author name: </Text> + {item.authorName} + </Text> + </HStack>} + {item.title && + <HStack> + <Text italic marginTop="2.5%"> + <Text color="light.500">Title: </Text> + {item.title} + </Text> + </HStack>} + {item.institution && + <HStack> + <Text italic marginTop="2.5%"> + <Text color="light.500">Institution: </Text> + {item.institution.name}, Inv. No. {item.institution.inventoryNumber}, {item.institution.city} {"(" + item.institution.country + ")"} + </Text> + </HStack>} + {item.repository && + <HStack> + <Text italic marginTop="2.5%"> + <Text color="light.500">Repository: </Text> + {item.repository} + </Text> + </HStack>} + {item.provenance && + <HStack> + <Text italic marginTop="2.5%"> + <Text color="light.500">Provenance: </Text> + {item.provenance} + </Text> + </HStack>} + {item.description && + <HStack> + <Text italic marginTop ="2.5%"> + <Text color="light.500">Description: </Text> + {item.description} + </Text> + </HStack>} + </Card>)} + </VStack> + ) + } + </Box> + </ScrollView> + ); +} + + + +const ItemView = (props: ItemDetailProps) => { + + // item shown / note shown + const [itemShown, setItemShown] = React.useState(true); + + const { itemLoading, notesLoading } = props; + + const handleItemClick = () => { + setItemShown(true); + } + + const handleNotesClick = () => { + setItemShown(false); + } + + return ( + <Box display="flex" flex={1} flexDirection="column" justifyContent="space-between"> + {itemShown ? ( + itemLoading ? + <LoadingBox text="Item loading" /> + : + <ItemDetail item={props.item} /> + ) : ( + notesLoading ? + <LoadingBox text="Notes loading" /> + : + <NotesListView notes={props.notes} /> + )} + + {/* item notes switch tab */} + <HStack alignItems="center"> + <Button + variant={itemShown ? "subtle" : "outline"} + w="50%" + onPress={handleItemClick} + > + Item + </Button> + <Button + variant={itemShown ? "outline" : "subtle"} + w="50%" + onPress={handleNotesClick} + > + Notes + </Button> + </HStack> + </Box> + ) +} + +export default ItemView \ No newline at end of file diff --git a/src/components/listView/ItemPreview.tsx b/src/components/listView/ItemPreview.tsx index a222747eb8ca3a552b4e6d481b0f7e90610f07b3..f2bd13f7e368617f170a6dd51d8b0e4d80dccf40 100644 --- a/src/components/listView/ItemPreview.tsx +++ b/src/components/listView/ItemPreview.tsx @@ -1,11 +1,15 @@ -import { Center, HStack, Image, Text, VStack } from "native-base" +import { Center, HStack, Image, Pressable, Text, VStack } from "native-base" import { useEffect } from "react" +import { DrawerScreenProps } from "@react-navigation/drawer" +import { RootDrawerParamList } from "../Navigation" interface ItemPreviewProps { caption: string title: string name?: string image?: string + itemId: string + navigation: any } const ItemPreview = (props: ItemPreviewProps) => { @@ -16,22 +20,27 @@ const ItemPreview = (props: ItemPreviewProps) => { return ( <> - <HStack - space={ 2 } - flex={ 1 } - alignItems={ "start" } + <Pressable + onPress={() => props.navigation.navigate("Item", {itemId: props.itemId})} + key={props.itemId} > - <Image - source={ {uri: `http:/147.228.173.159/static/images/${ props.image ? "thumb-" + props.image : "thumb-Rel-78.png" }`} } - size={ "sm" } - alt={ props.image ? props.image : "thumb-Rel-78.png" } - /> - <VStack h={70}> - <Text fontSize={"sm"} italic>{ props.name }</Text> - <Text fontSize={"sm"} bold>{ props.caption }</Text> - <Text fontSize={"xs"}>{ props.title }</Text> - </VStack> - </HStack> + <HStack + space={ 2 } + flex={ 1 } + alignItems={ "start" } + > + <Image + source={ {uri: `http:/147.228.173.159/static/images/${ props.image ? "thumb-" + props.image : "thumb-Rel-78.png" }`} } + size={ "sm" } + alt={ props.image ? props.image : "thumb-Rel-78.png" } + /> + <VStack h={70}> + <Text fontSize={"sm"} italic>{ props.name }</Text> + <Text fontSize={"sm"} bold>{ props.caption }</Text> + <Text fontSize={"xs"}>{ props.title }</Text> + </VStack> + </HStack> + </Pressable> </> ) } diff --git a/src/components/listView/ListView.tsx b/src/components/listView/ListView.tsx index d2a594304092825357bdc7b4022c586876703a07..8337be493160f71e0216011269a39dd3a8fcf38a 100644 --- a/src/components/listView/ListView.tsx +++ b/src/components/listView/ListView.tsx @@ -6,8 +6,11 @@ import ItemPreview from "./ItemPreview" import { ItemPreviewType } from "../../types/listViewTypes" import { log } from "../../logging/logger" +type ListViewProps = { + navigation: any +} -const ListView = () => { +const ListView = (props: ListViewProps) => { const items = useSelector((state: RootState) => state.listView.data) /** @@ -52,10 +55,6 @@ const ListView = () => { return image && image.images ? image.images[0].file.split('.')[0] + '.png' : undefined } - useEffect(() => { - log.debug("ListView", "Items:", items) - }, [items]) - return ( <> { items.map((item) => ( @@ -65,6 +64,8 @@ const ListView = () => { title={ item.text } name={ parseArtists(item) } image={ parseImage(item) } + itemId={ item.xml_id } + navigation={ props.navigation } /> )) } </> diff --git a/src/components/loading/LoadingBox.tsx b/src/components/loading/LoadingBox.tsx new file mode 100644 index 0000000000000000000000000000000000000000..b4173829cdf64dee5faca9f82f21bfd1ea24d991 --- /dev/null +++ b/src/components/loading/LoadingBox.tsx @@ -0,0 +1,23 @@ +import { Center, Box, VStack, Button, HStack, Text, Image, ScrollView, Heading, Spinner } from "native-base" +import React from "react" + + +interface LoadingBoxProps { + text: string +} + +const LoadingBox = (props: LoadingBoxProps) => { + const { text } = props; + + return ( + <HStack alignItems="center" flex="1" justifyContent="center"> + <Spinner/> + <Heading color="primary.400" fontSize="md"> + {text} + </Heading> + </HStack> + ); +} + + +export default LoadingBox \ No newline at end of file diff --git a/src/components/notes/NoteView.tsx b/src/components/notes/NoteView.tsx new file mode 100644 index 0000000000000000000000000000000000000000..55a846952fd090d3c114cf2acdc1b77c7fc47324 --- /dev/null +++ b/src/components/notes/NoteView.tsx @@ -0,0 +1,19 @@ +import { HStack, Box, Text } from "native-base"; +import { Note } from "../../types/note"; + +const NoteView = (props: { note: Note }) => { + const note = props.note; + return ( + <HStack> + <Box width="5%" /> + <Box width="30%"> + <Text bold>{note.username}</Text> + </Box> + + <Text>{note.note}</Text> + </HStack> + ); +} + +export default NoteView + diff --git a/src/components/notes/NotesListView.tsx b/src/components/notes/NotesListView.tsx new file mode 100644 index 0000000000000000000000000000000000000000..e5f7bd42793112eef842b3a087e0da5ff4e4e0a4 --- /dev/null +++ b/src/components/notes/NotesListView.tsx @@ -0,0 +1,24 @@ +import { Center, VStack, Box, Text, HStack } from "native-base"; +import { Note } from "../../types/note"; +import NoteView from "./NoteView"; + +const NotesListView = (props: { notes: Note[] }) => { + const notes = props.notes; + return ( + <VStack> + { + notes && notes.length > 0 ? ( + <VStack> + {notes.map((note, index) => ( + <NoteView key={index} note={note}/> + ))} + </VStack> + ) : ( + <Text>There are no notes.</Text> + ) + } + </VStack> + ); +} + +export default NotesListView \ No newline at end of file diff --git a/src/pages/ItemViewPage.tsx b/src/pages/ItemViewPage.tsx new file mode 100644 index 0000000000000000000000000000000000000000..cfc02b2d538dc3a42f8df81c4f29c7434cfecb37 --- /dev/null +++ b/src/pages/ItemViewPage.tsx @@ -0,0 +1,118 @@ +import React, { useEffect } from "react" +import { useDispatch, useSelector } from "react-redux" +import { AppDispatch, RootState } from "../stores/store" +import { getItem, getItemNotes, setConcordances } from "../stores/actions/itemThunks" +import { login } from "../stores/actions/userThunks" +import { TabView } from "react-native-tab-view" +import ItemView from "../components/item/ItemView" +import { useWindowDimensions } from "react-native" +import LoadingBox from "../components/loading/LoadingBox" +import ItemTabBar from "../components/item/ItemTabBar" +import { log } from "../logging/logger" +import { DrawerScreenProps } from "@react-navigation/drawer" +import { RootDrawerParamList } from "../components/Navigation" + + +const ItemViewPage = ({route, navigation}: DrawerScreenProps<RootDrawerParamList, 'Item'>) => { + + const layout = useWindowDimensions(); + + const [routes, setRoutes] = React.useState([ + // initial tab + { key: 'loading', title: 'Loading item...' }, + ]); + + // // TODO vyÅ™eÅ¡it, aby nebyly freezy pÅ™i pÅ™epÃnánà + // const [renderSceneDict, setRenderSceneDict] = React.useState({}); + + const [index, setIndex] = React.useState(0); + + const dispatch = useDispatch<AppDispatch>(); + + const { item, itemLoading, notes, notesLoading, concordances } = useSelector((state: RootState) => state.itemViewState) + + // initial: load main item + useEffect(() => { + dispatch(getItem(route.params.itemId)) + log.debug("ItemViewPage", "useEffect", "getItem", route.params.itemId) + }, []) + + + // concordances are loaded + useEffect(() => { + log.debug("ItemViewPage", "useEffect", "concordances", concordances) + + if (item && concordances && concordances.length > 0) { + let concordanceRoutes = []; + + // let _renderSceneDict: any = {}; + + for (let i = 0; i < concordances.length; i++) { + let concordance = concordances[i]; + concordanceRoutes.push({ + key: concordance.id, + title: concordance.id + }) + // _renderSceneDict[concordance.id] = <LoadingBox text={`Loading item ${concordance.id}...`}></LoadingBox>; + } + + setRoutes(concordanceRoutes); + // setRenderSceneDict(_renderSceneDict); + } + }, [concordances]); + + // item changes + useEffect(() => { + log.debug("ItemViewPage", "useEffect", "item", item) + + if (!itemLoading && item && item.id) { + if (index == 0) { + dispatch(setConcordances(item.concordances)); + } + // set item notes if item is loaded + if (item && item.id) { + dispatch(getItemNotes(item.id)); + } + } + }, [item]); + + const handleIndexChanged = (newIndex: number) => { + if(newIndex >= 0 && newIndex < concordances.length && index != newIndex){ + console.log("index changed"); + setIndex(newIndex); + if (concordances && concordances.length > 0) { + dispatch(getItem(concordances[newIndex].id)); + } + } + } + + const onBackPressed = () => { + log.debug("back pressed") + navigation.goBack(); + } + + return ( + !concordances || concordances.length < 1 ? + <LoadingBox text={`Loading item ${route.params.itemId}...`}/> + : + <TabView + renderTabBar={() => ItemTabBar({ + navigationState: { + routes: routes, + }, + concordances: concordances, + index: index, + onIndexChange: handleIndexChanged, + onBackPressed: onBackPressed, + })} + + navigationState={{ index, routes }} + renderScene={() => <ItemView item={item} notes={notes} itemLoading={itemLoading} notesLoading={notesLoading} />} + + initialLayout={{ width: layout.width }} + onIndexChange={handleIndexChanged} + /> + ); +} + +export default ItemViewPage; diff --git a/src/pages/SearchPage.tsx b/src/pages/SearchPage.tsx index e02e7e2bead634b8f20c93e457cfd72e8a088f38..645625f3377c1cbd96237ff0c631ca76a266f0d7 100644 --- a/src/pages/SearchPage.tsx +++ b/src/pages/SearchPage.tsx @@ -18,8 +18,10 @@ import { import { useDispatch } from "react-redux" import { AppDispatch } from "../stores/store" import { log } from "../logging/logger" +import { DrawerScreenProps } from "@react-navigation/drawer" +import { RootDrawerParamList } from "../components/Navigation" -const SearchPage = () => { +const SearchPage = ({navigation}: DrawerScreenProps<RootDrawerParamList, 'Search'>) => { const [isFilterOpen, setIsFilterOpen] = useState(true) const dispatch = useDispatch<AppDispatch>() @@ -62,7 +64,7 @@ const SearchPage = () => { <ScrollView flex={1} w={"100%"} > <VStack space={ 1 }> <SearchForm isFilterOpen={ isFilterOpen }/> - <ListView/> + <ListView navigation={navigation}/> </VStack> </ScrollView> </Center> diff --git a/src/stores/actions/itemThunks.ts b/src/stores/actions/itemThunks.ts new file mode 100644 index 0000000000000000000000000000000000000000..25487b7a76132e843ac292c1ba30384936f62e19 --- /dev/null +++ b/src/stores/actions/itemThunks.ts @@ -0,0 +1,143 @@ +import { createAsyncThunk } from "@reduxjs/toolkit" +import { getItemRequest } from "../../api/itemservice" +import { getItemNotesRequest } from "../../api/notesservice" +import { Certainty, Concordance } from "../../types/item"; + + +export const getItem = createAsyncThunk( + "item/getItem", + async (itemId: string) => { + try { + console.log("GET item/getItem/" + itemId); + + const response = await getItemRequest(itemId); + + // data with image + if (response.status === 200 && response.data.object.length > 1) { + const authorName = response.data.object[1]?.name?.[0]?.getty_data?.display_name || null; + const imageUrl = response.data.object[1]?.images?.[0]?.file || null; + const title = response.data.object[1]?.images?.[0]?.text || null; + const institution = { + name: response.data.object[1]?.institution || null, + inventoryNumber: response.data.object[1]?.id_number || null, + country: response.data.object[1]?.country || null, + city: response.data.object[1]?.city || null + }; + const repository = response.data.object[1]?.repository || null; + const provenance = response.data.object[1]?.provenance || null; + const description = response.data.object[1]?.physical_description || null; + + return { + id: itemId, + fullView: true, + concordances: [{id: itemId, cert: response.data.object[1]?.cert || Certainty.Unknown}].concat(response.data.concordances), + authorDisplayName: response.data.object[0]?.name?.[0]?.getty_data?.display_name || null, + workName: response.data.object[0]?.caption || null, + inventoryItem: response.data.text || null, + searchSubjects: response.data.search_subject || null, + authorName, + imageUrl, + title, + institution, + repository, + provenance, + description + } + } + // data without image + else if (response.status === 200 && response.data.object.length == 1) { + return { + id: itemId, + fullView: false, + concordances: [{id: itemId, cert: Certainty.Unknown}].concat(response.data.concordances), + authorDisplayName: response.data.object[0]?.name?.[0]?.getty_data?.display_name || null, + workName: response.data.object[0]?.caption || null, + inventoryItem: response.data.text || null, + searchSubjects: response.data.search_subject || null, + } + } + else { + console.log("Error " + response.data); + return Promise.reject(response.data ? response.data : "Error") + } + } catch (err: any) { + + console.log(err); + return Promise.reject(err.response.data) + } + } +) + + export const setConcordances = (concordances: Concordance[]) => { + return { + type: "item/setConcordances", + payload: { + concordances, + }, + }; + }; + +// export const getItemConcordances = createAsyncThunk( +// "item/getItemConcordances", +// async (itemId : string) => { +// try { +// const response = await getItemConcordancesRequest(itemId) +// console.log(response) +// if (response.status === 200) { +// return { +// // TODO set item concordances +// } +// } else { +// return Promise.reject(response.data ? response.data : "Error") +// } +// } catch (err: any) { +// return Promise.reject(err.response.data) +// } +// } +// ) + +export const getItemNotes = createAsyncThunk( + "item/getItemNotes", + async (itemId: string) => { + try { + console.log("GET notes/getNotes/" + itemId); + + const response = await getItemNotesRequest(itemId); + + if (response.status === 200) { + if(response.data.length > 0){ + + let notes = []; + for(let i = 0; i < response.data.length; i++){ + let note = response.data[i]; + notes.push({ + username: (note as any).created_by, + userId: (note as any).created_by_id, + note: (note as any).note, + avatarUrl: (note as any).avatar, + items: (note as any).items, + createdTime: (note as any).created, + updatedTime: (note as any).updated, + noteColor: (note as any).note_color, + }) + } + + return { + notes, + } + } + else{ + // no notes for this item + return { + notes: [], + } + } + } + else { + return Promise.reject(response.data ? response.data : "Error") + } + } catch (err: any) { + return Promise.reject(err.response.data) + } + } +) \ No newline at end of file diff --git a/src/stores/actions/userThunks.ts b/src/stores/actions/userThunks.ts index 65201f8365300b53eda9d11e2702913d532ac2c7..3b5c8b6fc75260113e2663d0c213825d18846ce1 100644 --- a/src/stores/actions/userThunks.ts +++ b/src/stores/actions/userThunks.ts @@ -1,13 +1,12 @@ import { createAsyncThunk } from "@reduxjs/toolkit" -import { axiosInstance } from "../../api/api" -import { loginRequest } from "../../api/authservice" +import { isAuthRequest, loginRequest } from "../../api/authservice" export const login = createAsyncThunk( "user/login", async (payload: { username: string, password: string }) => { try { + console.log("POST user/login"); const response = await loginRequest(payload.username, payload.password) - console.log(response) if (response.status === 200) { return { username: payload.username, @@ -20,4 +19,23 @@ export const login = createAsyncThunk( return Promise.reject(err.response.data) } } +) + +export const checkAuth = createAsyncThunk( + "user/isauth", + async () => { + try { + const response = await isAuthRequest() + console.log(response) + if (response.status === 200) { + return { + isLogged: response.data.isauth + } + } else { + return Promise.reject(response.data ? response.data : "Check authentication failed") + } + } catch (err: any) { + return Promise.reject(err.response.data) + } + } ) \ No newline at end of file diff --git a/src/stores/reducers/itemSlice.ts b/src/stores/reducers/itemSlice.ts new file mode 100644 index 0000000000000000000000000000000000000000..3e89df7cc703b18aa6c558e86c49b20ef4ae6173 --- /dev/null +++ b/src/stores/reducers/itemSlice.ts @@ -0,0 +1,90 @@ +import { PayloadAction, createSlice } from "@reduxjs/toolkit" +import { getItem, getItemNotes } from "../actions/itemThunks" +import { Certainty, ItemViewState, Item } from "../../types/item"; + +// TODO set colors +export const CertaintyWithColors: Record<Certainty, { certainty: Certainty; color: string }> = { + same_as: { certainty: Certainty.SameAs, color: "light.300" }, + high: { certainty: Certainty.High, color: "success.300" }, + medium: { certainty: Certainty.Medium, color: "warning.300" }, + low: { certainty: Certainty.Low, color: "danger.300" }, + unknown : { certainty: Certainty.Unknown, color: "light.300"} +}; + +const initialState: ItemViewState = { + item: {} as Item, + concordances: [], + notes: [], + lastError: "", + itemLoading: true, + notesLoading: true +} + +export const itemSlice = createSlice({ + name: "item", + initialState: initialState, + reducers: { + setConcordances: (state, action) => { + state.concordances = action.payload.concordances; + } + }, + extraReducers: (builder) => { + // getItem + builder.addCase(getItem.fulfilled, (state, action) => { + + state.item = { + id : action.payload.id, + authorDisplayName : action.payload.authorDisplayName, + workName : action.payload.workName, + concordances : action.payload.concordances, + searchSubjects : action.payload.searchSubjects, + inventoryItem : action.payload.inventoryItem, + fullView : action.payload.fullView, + } + + if (action.payload.fullView) { + state.item.institution = action.payload.institution; + state.item.authorName = action.payload.authorName; + state.item.imageUrl = action.payload.imageUrl; + state.item.title = action.payload.title; + state.item.repository = action.payload.repository; + state.item.provenance = action.payload.provenance; + state.item.description = action.payload.description; + } + else { + state.item.institution = undefined; + state.item.authorName = undefined; + state.item.imageUrl = undefined; + state.item.title = undefined; + state.item.repository = undefined; + state.item.provenance = undefined; + state.item.description = undefined; + } + + state.itemLoading = false; + }) + builder.addCase(getItem.pending, (state, action) => { + state.itemLoading = true; + }) + builder.addCase(getItem.rejected, (state, action) => { + state.itemLoading = false; + state.lastError = action.error.message + }) + + // getItemNotes + builder.addCase(getItemNotes.fulfilled, (state, action) => { + state.notesLoading = false; + state.notes = action.payload.notes; + }) + builder.addCase(getItemNotes.pending, (state, action) => { + state.notesLoading = true; + }) + builder.addCase(getItemNotes.rejected, (state, action) => { + state.notesLoading = false; + state.lastError = action.error.message + }) + + } +}) + +export default itemSlice.reducer \ No newline at end of file diff --git a/src/stores/reducers/userSlice.ts b/src/stores/reducers/userSlice.ts index c66accff1653730646873913149febe751da8b39..afce9ccbc2b28dcd253a5ab8a605c9d783e67ec1 100644 --- a/src/stores/reducers/userSlice.ts +++ b/src/stores/reducers/userSlice.ts @@ -1,5 +1,5 @@ import { createSlice } from "@reduxjs/toolkit" -import { login } from "../actions/userThunks" +import { checkAuth, login } from "../actions/userThunks" export interface UserState { username: string @@ -30,6 +30,13 @@ export const userSlice = createSlice({ builder.addCase(login.rejected, (state, action) => { state.lastError = action.error.message }) + builder.addCase(checkAuth.fulfilled, (state, action) => { + state.loggedIn = action.payload.isLogged + state.lastError = "" + }) + builder.addCase(checkAuth.rejected, (state, action) => { + state.lastError = action.error.message + }) } }) diff --git a/src/stores/store.ts b/src/stores/store.ts index d014fe3763bcb8f560e41050525859a1e5bcd080..e43a072fb0784d41006af3396e62dcf4f3185356 100644 --- a/src/stores/store.ts +++ b/src/stores/store.ts @@ -1,11 +1,13 @@ import { configureStore } from "@reduxjs/toolkit" import userReducer from "./reducers/userSlice" +import itemReducer from "./reducers/itemSlice" import searchFormReducer from "./reducers/searchFormSlice" import listViewReducer from "./reducers/listViewSlice" const store = configureStore({ reducer: { user: userReducer, + itemViewState: itemReducer, searchForm: searchFormReducer, listView: listViewReducer, }, diff --git a/src/types/general.ts b/src/types/general.ts new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/src/types/item.ts b/src/types/item.ts new file mode 100644 index 0000000000000000000000000000000000000000..7de47d5dcb130e02ca434d3655d32254cfe9e83e --- /dev/null +++ b/src/types/item.ts @@ -0,0 +1,51 @@ +import { Note } from "./note" + + +export type Item = { + id: string + + concordances: Concordance[] + + authorDisplayName: string + workName: string + inventoryItem: string + searchSubjects: string[] + + fullView : boolean + + authorName?: string + imageUrl?: string + title?: string + institution?: { + name :string, + inventoryNumber: number, + country: string, + city: string + } + repository?: string + provenance?: string + description?: string +} + +export type ItemViewState = { + item: Item + itemLoading: boolean + concordances: Concordance[] + notes: Note[] + notesLoading: boolean + lastError?: string +} + +export type Concordance = { + id: string + cert: Certainty +} + +export enum Certainty { + SameAs = "same_as", + High = "high", + Medium = "medium", + Low = "low", + Unknown = "unknown" +} + diff --git a/src/types/note.ts b/src/types/note.ts new file mode 100644 index 0000000000000000000000000000000000000000..8e98b92c460539940c64f502805cb32c27eed881 --- /dev/null +++ b/src/types/note.ts @@ -0,0 +1,10 @@ +export interface Note { + username: string + userId: string + note: string // text + avatarUrl: string + items: string[] + createdTime: Date + updatedTime: Date + noteColor: string +} \ No newline at end of file