From 3d3071f96d827c7dda0a9336fa2b2bd62a8a63f3 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Tue, 14 May 2024 15:01:46 -0300 Subject: [PATCH 01/11] Loading AddedSeller --- package.json | 46 +- src/screens/SellerAdded/index.tsx | 12 +- yarn.lock | 1791 ++++++++++++----------------- 3 files changed, 800 insertions(+), 1049 deletions(-) diff --git a/package.json b/package.json index ca10253..b418321 100644 --- a/package.json +++ b/package.json @@ -26,48 +26,48 @@ "@expo/ngrok": "^4.1.0", "@expo/vector-icons": "^14.0.0", "@expo/webpack-config": "~19.0.1", - "@react-native-async-storage/async-storage": "1.21.0", - "@react-native-community/datetimepicker": "^8.0.0", - "@react-native-community/slider": "4.4.2", - "@react-native-picker/picker": "2.6.1", + "@react-native-async-storage/async-storage": "1.23.1", + "@react-native-community/datetimepicker": "8.0.1", + "@react-native-community/slider": "4.5.2", + "@react-native-picker/picker": "2.7.5", "@react-navigation/bottom-tabs": "^6.5.12", "@react-navigation/material-top-tabs": "^6.6.6", "@react-navigation/native": "^6.1.10", "@react-navigation/native-stack": "^6.9.17", "axios": "^1.6.7", "date-fns": "^3.6.0", - "expo": "^50.0.0", - "expo-dev-client": "~3.3.11", - "expo-font": "~11.10.3", - "expo-linear-gradient": "~12.7.2", - "expo-splash-screen": "~0.26.4", - "expo-status-bar": "~1.11.1", - "expo-updates": "~0.24.12", + "expo": "^51.0.0", + "expo-dev-client": "~4.0.13", + "expo-font": "~12.0.5", + "expo-linear-gradient": "~13.0.2", + "expo-splash-screen": "~0.27.4", + "expo-status-bar": "~1.12.1", + "expo-updates": "~0.25.12", "moti": "^0.19.0", "nookies": "^2.5.2", "react": "18.2.0", "react-dom": "18.2.0", - "react-native": "0.73.6", + "react-native": "0.74.1", "react-native-chart-kit": "^6.12.0", - "react-native-gesture-handler": "~2.14.0", + "react-native-gesture-handler": "~2.16.1", "react-native-modal": "^13.0.1", - "react-native-pager-view": "6.2.3", - "react-native-reanimated": "~3.6.2", + "react-native-pager-view": "6.3.0", + "react-native-reanimated": "~3.10.1", "react-native-reanimated-carousel": "^3.5.1", - "react-native-safe-area-context": "4.8.2", - "react-native-screens": "~3.29.0", - "react-native-svg": "14.1.0", + "react-native-safe-area-context": "4.10.1", + "react-native-screens": "3.31.1", + "react-native-svg": "15.2.0", "react-native-svg-charts": "^5.4.0", "react-native-tab-view": "^3.5.2", "react-native-toast-notifications": "^3.4.0", - "react-native-web": "~0.19.6", + "react-native-web": "~0.19.10", "styled-components": "^5.3.5" }, "devDependencies": { - "@babel/core": "^7.20.0", + "@babel/core": "^7.24.0", "@react-native-community/eslint-config": "^3.1.0", "@types/axios": "^0.14.0", - "@types/react-dom": "~18.0.10", + "@types/react-dom": "~18.2.25", "@types/react-native": "~0.69.1", "@types/styled-components": "^5.1.26", "@types/styled-components-react-native": "^5.1.3", @@ -75,7 +75,7 @@ "@typescript-eslint/parser": "^5.38.1", "babel-loader": "^8.2.5", "babel-plugin-module-resolver": "^5.0.0", - "babel-preset-expo": "^10.0.0", + "babel-preset-expo": "~11.0.0", "eslint": "^9.1.0", "eslint-config-prettier": "^8.5.0", "eslint-plugin-import": "^2.26.0", @@ -86,7 +86,7 @@ "husky": "^8.0.1", "lint-staged": "15.2.0", "prettier": "^3.2.4", - "typescript": "^5.3.0" + "typescript": "~5.3.3" }, "private": true } diff --git a/src/screens/SellerAdded/index.tsx b/src/screens/SellerAdded/index.tsx index c7a1e39..f10afff 100644 --- a/src/screens/SellerAdded/index.tsx +++ b/src/screens/SellerAdded/index.tsx @@ -1,6 +1,7 @@ import { StatusBar } from 'expo-status-bar'; import React, { useEffect, useState } from 'react'; import Modal from 'react-native-modal'; +import { theme } from '@styles/default.theme'; import * as S from './styles'; import SupervisorServices from '@services/SupervisorServices'; import useAuth from '@hooks/useAuth'; @@ -11,6 +12,7 @@ import HeaderPages from '@components/HeaderPages'; import DropdownData from '@components/Dropdown'; import { useDataContext } from '../../context/DataContext'; import ISeller from '@interfaces/Seller'; +import { ActivityIndicator } from 'react-native'; interface SupervisorState { single: ISupervisor | null; @@ -23,7 +25,7 @@ const SellerAdded = () => { list: [], }); const { data, setData } = useDataContext(); - + const [loading, setLoading] = useState(false); const { user } = useAuth(); const [name, setName] = React.useState(''); const [email, setEmail] = React.useState(''); @@ -70,6 +72,7 @@ const SellerAdded = () => { const handleCreate = async () => { try { + setLoading(true); const supervisorId = selectedSupervisor?.id; const companyId = user.companyId; console.log(name, email, image, supervisorId); @@ -92,6 +95,7 @@ const SellerAdded = () => { setSelectedSupervisor(null); setIsButtonEnabled(false); setIsModalVisible(false); + setLoading(false); toast.show('Vendedor cadastrado com sucesso', { type: 'success', @@ -153,7 +157,11 @@ const SellerAdded = () => { - ADICIONAR + {loading ? ( + + ) : ( + ADICIONAR + )} Voltar diff --git a/yarn.lock b/yarn.lock index 4b1948b..082843b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -30,7 +30,15 @@ "@babel/highlight" "^7.23.4" chalk "^2.4.2" -"@babel/compat-data@^7.20.5", "@babel/compat-data@^7.22.5", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.22.9", "@babel/compat-data@^7.23.5": +"@babel/code-frame@^7.24.2": + version "7.24.2" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.2.tgz#718b4b19841809a58b29b68cde80bc5e1aa6d9ae" + integrity sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ== + dependencies: + "@babel/highlight" "^7.24.2" + picocolors "^1.0.0" + +"@babel/compat-data@^7.20.5", "@babel/compat-data@^7.22.5", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.23.5": version "7.23.5" resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz" integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== @@ -56,6 +64,27 @@ json5 "^2.2.3" semver "^6.3.1" +"@babel/core@^7.24.0": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.5.tgz#15ab5b98e101972d171aeef92ac70d8d6718f06a" + integrity sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.24.2" + "@babel/generator" "^7.24.5" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-module-transforms" "^7.24.5" + "@babel/helpers" "^7.24.5" + "@babel/parser" "^7.24.5" + "@babel/template" "^7.24.0" + "@babel/traverse" "^7.24.5" + "@babel/types" "^7.24.5" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + "@babel/eslint-parser@^7.18.2": version "7.19.1" resolved "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.19.1.tgz" @@ -75,6 +104,16 @@ "@jridgewell/trace-mapping" "^0.3.17" jsesc "^2.5.1" +"@babel/generator@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.5.tgz#e5afc068f932f05616b66713e28d0f04e99daeb3" + integrity sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA== + dependencies: + "@babel/types" "^7.24.5" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" + jsesc "^2.5.1" + "@babel/helper-annotate-as-pure@^7.16.0", "@babel/helper-annotate-as-pure@^7.22.5": version "7.22.5" resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz" @@ -82,14 +121,7 @@ dependencies: "@babel/types" "^7.22.5" -"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.5": - version "7.22.10" - resolved "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.10.tgz" - integrity sha512-Av0qubwDQxC56DoUReVDeLfMEjYYSN1nZrTUrWkXd7hpU73ymRANkbuDm3yni9npkn+RXy9nNbEJZEzXr7xrfQ== - dependencies: - "@babel/types" "^7.22.10" - -"@babel/helper-compilation-targets@^7.20.7", "@babel/helper-compilation-targets@^7.22.10", "@babel/helper-compilation-targets@^7.22.5", "@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.23.6": +"@babel/helper-compilation-targets@^7.20.7", "@babel/helper-compilation-targets@^7.22.5", "@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.23.6": version "7.23.6" resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz" integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== @@ -115,7 +147,22 @@ "@babel/helper-split-export-declaration" "^7.22.6" semver "^6.3.1" -"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.15", "@babel/helper-create-regexp-features-plugin@^7.22.5": +"@babel/helper-create-class-features-plugin@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.5.tgz#7d19da92c7e0cd8d11c09af2ce1b8e7512a6e723" + integrity sha512-uRc4Cv8UQWnE4NXlYTIIdM7wfFkOqlFztcC/gVXDKohKoVB3OyonfelUBaJzSwpBntZ2KYGF/9S7asCHsXwW6g== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-member-expression-to-functions" "^7.24.5" + "@babel/helper-optimise-call-expression" "^7.22.5" + "@babel/helper-replace-supers" "^7.24.1" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.24.5" + semver "^6.3.1" + +"@babel/helper-create-regexp-features-plugin@^7.22.15", "@babel/helper-create-regexp-features-plugin@^7.22.5": version "7.22.15" resolved "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz" integrity sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== @@ -124,17 +171,6 @@ regexpu-core "^5.3.1" semver "^6.3.1" -"@babel/helper-define-polyfill-provider@^0.4.2": - version "0.4.2" - resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.2.tgz" - integrity sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw== - dependencies: - "@babel/helper-compilation-targets" "^7.22.6" - "@babel/helper-plugin-utils" "^7.22.5" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - "@babel/helper-define-polyfill-provider@^0.6.1": version "0.6.1" resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz" @@ -173,6 +209,13 @@ dependencies: "@babel/types" "^7.23.0" +"@babel/helper-member-expression-to-functions@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.5.tgz#5981e131d5c7003c7d1fa1ad49e86c9b097ec475" + integrity sha512-4owRteeihKWKamtqg4JmWSsEZU445xpFRXPEwp44HbgbxdWlUV1b4Agg4lkA806Lil5XM/e+FJyS0vj5T6vmcA== + dependencies: + "@babel/types" "^7.24.5" + "@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.16.0", "@babel/helper-module-imports@^7.22.15", "@babel/helper-module-imports@^7.22.5", "@babel/helper-module-imports@^7.24.3": version "7.24.3" resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz" @@ -180,7 +223,7 @@ dependencies: "@babel/types" "^7.24.0" -"@babel/helper-module-transforms@^7.22.5", "@babel/helper-module-transforms@^7.23.3": +"@babel/helper-module-transforms@^7.23.3": version "7.23.3" resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz" integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== @@ -191,6 +234,17 @@ "@babel/helper-split-export-declaration" "^7.22.6" "@babel/helper-validator-identifier" "^7.22.20" +"@babel/helper-module-transforms@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.24.5.tgz#ea6c5e33f7b262a0ae762fd5986355c45f54a545" + integrity sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-module-imports" "^7.24.3" + "@babel/helper-simple-access" "^7.24.5" + "@babel/helper-split-export-declaration" "^7.24.5" + "@babel/helper-validator-identifier" "^7.24.5" + "@babel/helper-optimise-call-expression@^7.22.5": version "7.22.5" resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz" @@ -198,12 +252,17 @@ dependencies: "@babel/types" "^7.22.5" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": +"@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": version "7.24.0" resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz" integrity sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w== -"@babel/helper-remap-async-to-generator@^7.18.9", "@babel/helper-remap-async-to-generator@^7.22.5", "@babel/helper-remap-async-to-generator@^7.22.9": +"@babel/helper-plugin-utils@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.5.tgz#a924607dd254a65695e5bd209b98b902b3b2f11a" + integrity sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ== + +"@babel/helper-remap-async-to-generator@^7.18.9", "@babel/helper-remap-async-to-generator@^7.22.5": version "7.22.9" resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.9.tgz" integrity sha512-8WWC4oR4Px+tr+Fp0X3RHDVfINGpF3ad1HIbrc8A77epiR6eMMc6jsgozkzT2uDiOOdoS9cLIQ+XD2XvI2WSmQ== @@ -212,7 +271,7 @@ "@babel/helper-environment-visitor" "^7.22.5" "@babel/helper-wrap-function" "^7.22.9" -"@babel/helper-replace-supers@^7.19.1", "@babel/helper-replace-supers@^7.22.5", "@babel/helper-replace-supers@^7.24.1": +"@babel/helper-replace-supers@^7.19.1", "@babel/helper-replace-supers@^7.24.1": version "7.24.1" resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz" integrity sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ== @@ -228,6 +287,13 @@ dependencies: "@babel/types" "^7.22.5" +"@babel/helper-simple-access@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.24.5.tgz#50da5b72f58c16b07fbd992810be6049478e85ba" + integrity sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ== + dependencies: + "@babel/types" "^7.24.5" + "@babel/helper-skip-transparent-expression-wrappers@^7.20.0", "@babel/helper-skip-transparent-expression-wrappers@^7.22.5": version "7.22.5" resolved "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz" @@ -242,17 +308,34 @@ dependencies: "@babel/types" "^7.22.5" +"@babel/helper-split-export-declaration@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.5.tgz#b9a67f06a46b0b339323617c8c6213b9055a78b6" + integrity sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q== + dependencies: + "@babel/types" "^7.24.5" + "@babel/helper-string-parser@^7.23.4": version "7.23.4" resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz" integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== -"@babel/helper-validator-identifier@^7.22.20", "@babel/helper-validator-identifier@^7.22.5": +"@babel/helper-string-parser@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz#f99c36d3593db9540705d0739a1f10b5e20c696e" + integrity sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ== + +"@babel/helper-validator-identifier@^7.22.20": version "7.22.20" resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz" integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== -"@babel/helper-validator-option@^7.18.6", "@babel/helper-validator-option@^7.22.5", "@babel/helper-validator-option@^7.23.5": +"@babel/helper-validator-identifier@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.5.tgz#918b1a7fa23056603506370089bd990d8720db62" + integrity sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA== + +"@babel/helper-validator-option@^7.18.6", "@babel/helper-validator-option@^7.23.5": version "7.23.5" resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz" integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== @@ -275,6 +358,15 @@ "@babel/traverse" "^7.23.9" "@babel/types" "^7.23.9" +"@babel/helpers@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.5.tgz#fedeb87eeafa62b621160402181ad8585a22a40a" + integrity sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q== + dependencies: + "@babel/template" "^7.24.0" + "@babel/traverse" "^7.24.5" + "@babel/types" "^7.24.5" + "@babel/highlight@^7.10.4", "@babel/highlight@^7.23.4": version "7.23.4" resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz" @@ -284,26 +376,25 @@ chalk "^2.4.2" js-tokens "^4.0.0" +"@babel/highlight@^7.24.2": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.5.tgz#bc0613f98e1dd0720e99b2a9ee3760194a704b6e" + integrity sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw== + dependencies: + "@babel/helper-validator-identifier" "^7.24.5" + chalk "^2.4.2" + js-tokens "^4.0.0" + picocolors "^1.0.0" + "@babel/parser@^7.13.16", "@babel/parser@^7.20.0", "@babel/parser@^7.23.9", "@babel/parser@^7.24.0": version "7.24.4" resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.24.4.tgz" integrity sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg== -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.5.tgz" - integrity sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.5.tgz" - integrity sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/plugin-transform-optional-chaining" "^7.22.5" +"@babel/parser@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.5.tgz#4a4d5ab4315579e5398a82dcf636ca80c3392790" + integrity sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg== "@babel/plugin-proposal-async-generator-functions@^7.0.0": version "7.20.7" @@ -315,7 +406,7 @@ "@babel/helper-remap-async-to-generator" "^7.18.9" "@babel/plugin-syntax-async-generators" "^7.8.4" -"@babel/plugin-proposal-class-properties@^7.0.0", "@babel/plugin-proposal-class-properties@^7.13.0", "@babel/plugin-proposal-class-properties@^7.18.0": +"@babel/plugin-proposal-class-properties@^7.13.0", "@babel/plugin-proposal-class-properties@^7.18.0": version "7.18.6" resolved "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz" integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== @@ -342,6 +433,14 @@ "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-syntax-export-default-from" "^7.24.1" +"@babel/plugin-proposal-logical-assignment-operators@^7.18.0": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz#dfbcaa8f7b4d37b51e8bfb46d94a5aea2bb89d83" + integrity sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-proposal-nullish-coalescing-operator@^7.13.8", "@babel/plugin-proposal-nullish-coalescing-operator@^7.18.0": version "7.18.6" resolved "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz" @@ -358,7 +457,7 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-proposal-object-rest-spread@^7.0.0", "@babel/plugin-proposal-object-rest-spread@^7.20.0": +"@babel/plugin-proposal-object-rest-spread@^7.20.0": version "7.20.7" resolved "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz" integrity sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg== @@ -386,11 +485,6 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": - version "7.21.0-placeholder-for-preset-env.2" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz" - integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== - "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" resolved "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" @@ -398,20 +492,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-class-properties@^7.0.0", "@babel/plugin-syntax-class-properties@^7.12.13": - version "7.12.13" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-class-static-block@^7.14.5": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz" - integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-decorators@^7.19.0": version "7.19.0" resolved "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.19.0.tgz" @@ -419,7 +499,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.19.0" -"@babel/plugin-syntax-dynamic-import@^7.8.0", "@babel/plugin-syntax-dynamic-import@^7.8.3": +"@babel/plugin-syntax-dynamic-import@^7.8.0": version "7.8.3" resolved "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz" integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== @@ -440,42 +520,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-flow@^7.0.0", "@babel/plugin-syntax-flow@^7.12.1", "@babel/plugin-syntax-flow@^7.18.0", "@babel/plugin-syntax-flow@^7.24.1": +"@babel/plugin-syntax-flow@^7.12.1", "@babel/plugin-syntax-flow@^7.18.0", "@babel/plugin-syntax-flow@^7.24.1": version "7.24.1" resolved "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.24.1.tgz" integrity sha512-sxi2kLTI5DeW5vDtMUsk4mTPwvlUDbjOnoWayhynCwrw4QXRld4QEYwqzY8JmQXaJUtgUuCIurtSRH5sn4c7mA== dependencies: "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-syntax-import-assertions@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz" - integrity sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-import-attributes@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz" - integrity sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-import-meta@^7.10.4": - version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.23.3": +"@babel/plugin-syntax-jsx@^7.23.3", "@babel/plugin-syntax-jsx@^7.24.1": version "7.24.1" resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz" integrity sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA== @@ -503,7 +555,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": +"@babel/plugin-syntax-object-rest-spread@^7.8.3": version "7.8.3" resolved "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== @@ -531,13 +583,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-top-level-await@^7.14.5": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" - integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-typescript@^7.18.6": version "7.18.6" resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz" @@ -545,13 +590,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-syntax-unicode-sets-regex@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz" - integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== +"@babel/plugin-syntax-typescript@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz#b3bcc51f396d15f3591683f90239de143c076844" + integrity sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-transform-arrow-functions@^7.0.0": version "7.18.6" @@ -560,24 +604,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-arrow-functions@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz" - integrity sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-async-generator-functions@^7.22.10": - version "7.22.10" - resolved "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.10.tgz" - integrity sha512-eueE8lvKVzq5wIObKK/7dvoeKJ+xc6TvRn6aysIjS6pSCeLy7S/eVi7pEQknZqyqvzaNKdDtem8nUNTBgDVR2g== +"@babel/plugin-transform-arrow-functions@^7.0.0-0": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz#2bf263617060c9cc45bcdbf492b8cc805082bf27" + integrity sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw== dependencies: - "@babel/helper-environment-visitor" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-remap-async-to-generator" "^7.22.9" - "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-transform-async-to-generator@^7.20.0", "@babel/plugin-transform-async-to-generator@^7.22.5": +"@babel/plugin-transform-async-to-generator@^7.20.0": version "7.22.5" resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz" integrity sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ== @@ -586,38 +620,14 @@ "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-remap-async-to-generator" "^7.22.5" -"@babel/plugin-transform-block-scoped-functions@^7.0.0", "@babel/plugin-transform-block-scoped-functions@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz" - integrity sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-block-scoping@^7.0.0", "@babel/plugin-transform-block-scoping@^7.22.10": +"@babel/plugin-transform-block-scoping@^7.0.0": version "7.24.4" resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.4.tgz" integrity sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g== dependencies: "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-transform-class-properties@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz" - integrity sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-class-static-block@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.5.tgz" - integrity sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - -"@babel/plugin-transform-classes@^7.0.0", "@babel/plugin-transform-classes@^7.22.6": +"@babel/plugin-transform-classes@^7.0.0": version "7.24.1" resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.1.tgz" integrity sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q== @@ -631,7 +641,7 @@ "@babel/helper-split-export-declaration" "^7.22.6" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.0.0", "@babel/plugin-transform-computed-properties@^7.22.5": +"@babel/plugin-transform-computed-properties@^7.0.0": version "7.24.1" resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz" integrity sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw== @@ -639,45 +649,14 @@ "@babel/helper-plugin-utils" "^7.24.0" "@babel/template" "^7.24.0" -"@babel/plugin-transform-destructuring@^7.0.0", "@babel/plugin-transform-destructuring@^7.20.0", "@babel/plugin-transform-destructuring@^7.22.10": +"@babel/plugin-transform-destructuring@^7.20.0": version "7.22.10" resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.10.tgz" integrity sha512-dPJrL0VOyxqLM9sritNbMSGx/teueHF/htMKrPT7DNxccXxRDPYqlgPFFdr8u+F+qUZOkZoXue/6rL5O5GduEw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-dotall-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz" - integrity sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-duplicate-keys@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz" - integrity sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-dynamic-import@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.5.tgz" - integrity sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - -"@babel/plugin-transform-exponentiation-operator@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz" - integrity sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-export-namespace-from@^7.22.11", "@babel/plugin-transform-export-namespace-from@^7.22.5": +"@babel/plugin-transform-export-namespace-from@^7.22.11": version "7.24.1" resolved "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz" integrity sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ== @@ -685,7 +664,7 @@ "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" -"@babel/plugin-transform-flow-strip-types@^7.0.0", "@babel/plugin-transform-flow-strip-types@^7.20.0", "@babel/plugin-transform-flow-strip-types@^7.24.1": +"@babel/plugin-transform-flow-strip-types@^7.20.0", "@babel/plugin-transform-flow-strip-types@^7.24.1": version "7.24.1" resolved "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.24.1.tgz" integrity sha512-iIYPIWt3dUmUKKE10s3W+jsQ3icFkw0JyRVyY1B7G4yK/nngAOHLVx8xlhA6b/Jzl/Y0nis8gjqhqKtRDQqHWQ== @@ -693,14 +672,7 @@ "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-syntax-flow" "^7.24.1" -"@babel/plugin-transform-for-of@^7.0.0", "@babel/plugin-transform-for-of@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.5.tgz" - integrity sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-function-name@^7.0.0", "@babel/plugin-transform-function-name@^7.22.5": +"@babel/plugin-transform-function-name@^7.0.0": version "7.24.1" resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz" integrity sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA== @@ -709,45 +681,14 @@ "@babel/helper-function-name" "^7.23.0" "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-transform-json-strings@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.5.tgz" - integrity sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-json-strings" "^7.8.3" - -"@babel/plugin-transform-literals@^7.0.0", "@babel/plugin-transform-literals@^7.22.5": +"@babel/plugin-transform-literals@^7.0.0": version "7.24.1" resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz" integrity sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g== dependencies: "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-transform-logical-assignment-operators@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.5.tgz" - integrity sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - -"@babel/plugin-transform-member-expression-literals@^7.0.0", "@babel/plugin-transform-member-expression-literals@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz" - integrity sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-modules-amd@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.22.5.tgz" - integrity sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ== - dependencies: - "@babel/helper-module-transforms" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-modules-commonjs@^7.0.0", "@babel/plugin-transform-modules-commonjs@^7.13.8", "@babel/plugin-transform-modules-commonjs@^7.22.5": +"@babel/plugin-transform-modules-commonjs@^7.0.0", "@babel/plugin-transform-modules-commonjs@^7.13.8", "@babel/plugin-transform-modules-commonjs@^7.24.1": version "7.24.1" resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz" integrity sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw== @@ -756,25 +697,7 @@ "@babel/helper-plugin-utils" "^7.24.0" "@babel/helper-simple-access" "^7.22.5" -"@babel/plugin-transform-modules-systemjs@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.5.tgz" - integrity sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ== - dependencies: - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-module-transforms" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-identifier" "^7.22.5" - -"@babel/plugin-transform-modules-umd@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz" - integrity sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ== - dependencies: - "@babel/helper-module-transforms" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.0.0", "@babel/plugin-transform-named-capturing-groups-regex@^7.22.5": +"@babel/plugin-transform-named-capturing-groups-regex@^7.0.0": version "7.22.5" resolved "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz" integrity sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ== @@ -782,37 +705,15 @@ "@babel/helper-create-regexp-features-plugin" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-new-target@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz" - integrity sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-nullish-coalescing-operator@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.5.tgz" - integrity sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA== +"@babel/plugin-transform-nullish-coalescing-operator@^7.0.0-0": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz#0cd494bb97cb07d428bd651632cb9d4140513988" + integrity sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" -"@babel/plugin-transform-numeric-separator@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.5.tgz" - integrity sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - -"@babel/plugin-transform-object-assign@^7.16.7": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.18.6.tgz" - integrity sha512-mQisZ3JfqWh2gVXvfqYCAAyRs6+7oev+myBsTwW5RnPhYXOTuCEw2oe3YgxlXMViXUS53lG8koulI7mJ+8JE+A== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-object-rest-spread@^7.12.13", "@babel/plugin-transform-object-rest-spread@^7.22.5": +"@babel/plugin-transform-object-rest-spread@^7.12.13": version "7.22.5" resolved "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.5.tgz" integrity sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ== @@ -823,28 +724,12 @@ "@babel/plugin-syntax-object-rest-spread" "^7.8.3" "@babel/plugin-transform-parameters" "^7.22.5" -"@babel/plugin-transform-object-super@^7.0.0", "@babel/plugin-transform-object-super@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz" - integrity sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.5" - -"@babel/plugin-transform-optional-catch-binding@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.5.tgz" - integrity sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - -"@babel/plugin-transform-optional-chaining@^7.22.10", "@babel/plugin-transform-optional-chaining@^7.22.5": - version "7.22.10" - resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.10.tgz" - integrity sha512-MMkQqZAZ+MGj+jGTG3OTuhKeBpNcO+0oCEbrGNEaOmiEn+1MzRyQlYsruGiU8RTK3zV6XwrVJTmwiDOyYK6J9g== +"@babel/plugin-transform-optional-chaining@^7.0.0-0": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.5.tgz#a6334bebd7f9dd3df37447880d0bd64b778e600f" + integrity sha512-xWCkmwKT+ihmA6l7SSTpk8e4qQl/274iNbSKRRS8mpqFR32ksy36+a+LWY8OXCCEefF8WFlnOHVsaDI2231wBg== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.5" "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" "@babel/plugin-syntax-optional-chaining" "^7.8.3" @@ -863,7 +748,7 @@ "@babel/helper-create-class-features-plugin" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-private-property-in-object@^7.22.11", "@babel/plugin-transform-private-property-in-object@^7.22.5": +"@babel/plugin-transform-private-property-in-object@^7.22.11": version "7.24.1" resolved "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.1.tgz" integrity sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg== @@ -873,13 +758,6 @@ "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" -"@babel/plugin-transform-property-literals@^7.0.0", "@babel/plugin-transform-property-literals@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz" - integrity sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-transform-react-display-name@^7.0.0", "@babel/plugin-transform-react-display-name@^7.24.1": version "7.24.1" resolved "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.1.tgz" @@ -927,21 +805,6 @@ "@babel/helper-annotate-as-pure" "^7.22.5" "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-transform-regenerator@^7.22.10": - version "7.22.10" - resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz" - integrity sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - regenerator-transform "^0.15.2" - -"@babel/plugin-transform-reserved-words@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz" - integrity sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-transform-runtime@^7.0.0": version "7.24.3" resolved "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.3.tgz" @@ -961,14 +824,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-shorthand-properties@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz" - integrity sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA== +"@babel/plugin-transform-shorthand-properties@^7.0.0-0": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz#ba9a09144cf55d35ec6b93a32253becad8ee5b55" + integrity sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-transform-spread@^7.0.0", "@babel/plugin-transform-spread@^7.22.5": +"@babel/plugin-transform-spread@^7.0.0": version "7.24.1" resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz" integrity sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g== @@ -976,26 +839,19 @@ "@babel/helper-plugin-utils" "^7.24.0" "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" -"@babel/plugin-transform-sticky-regex@^7.0.0", "@babel/plugin-transform-sticky-regex@^7.22.5": +"@babel/plugin-transform-sticky-regex@^7.0.0": version "7.24.1" resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz" integrity sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw== dependencies: "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-transform-template-literals@^7.0.0", "@babel/plugin-transform-template-literals@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz" - integrity sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-typeof-symbol@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz" - integrity sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA== +"@babel/plugin-transform-template-literals@^7.0.0-0": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz#15e2166873a30d8617e3e2ccadb86643d327aab7" + integrity sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-transform-typescript@^7.18.6", "@babel/plugin-transform-typescript@^7.5.0": version "7.19.1" @@ -1006,22 +862,17 @@ "@babel/helper-plugin-utils" "^7.19.0" "@babel/plugin-syntax-typescript" "^7.18.6" -"@babel/plugin-transform-unicode-escapes@^7.22.10": - version "7.22.10" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz" - integrity sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg== +"@babel/plugin-transform-typescript@^7.24.1": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.5.tgz#bcba979e462120dc06a75bd34c473a04781931b8" + integrity sha512-E0VWu/hk83BIFUWnsKZ4D81KXjN5L3MobvevOHErASk9IPwKHOkTgvqzvNo1yP/ePJWqqK2SpUR5z+KQbl6NVw== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-unicode-property-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz" - integrity sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.24.5" + "@babel/helper-plugin-utils" "^7.24.5" + "@babel/plugin-syntax-typescript" "^7.24.1" -"@babel/plugin-transform-unicode-regex@^7.0.0", "@babel/plugin-transform-unicode-regex@^7.22.5": +"@babel/plugin-transform-unicode-regex@^7.0.0": version "7.24.1" resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz" integrity sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g== @@ -1029,100 +880,6 @@ "@babel/helper-create-regexp-features-plugin" "^7.22.15" "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-transform-unicode-sets-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz" - integrity sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/preset-env@^7.20.0": - version "7.22.10" - resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.10.tgz" - integrity sha512-riHpLb1drNkpLlocmSyEg4oYJIQFeXAK/d7rI6mbD0XsvoTOOweXDmQPG/ErxsEhWk3rl3Q/3F6RFQlVFS8m0A== - dependencies: - "@babel/compat-data" "^7.22.9" - "@babel/helper-compilation-targets" "^7.22.10" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-option" "^7.22.5" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.22.5" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.22.5" - "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-import-assertions" "^7.22.5" - "@babel/plugin-syntax-import-attributes" "^7.22.5" - "@babel/plugin-syntax-import-meta" "^7.10.4" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - "@babel/plugin-syntax-top-level-await" "^7.14.5" - "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" - "@babel/plugin-transform-arrow-functions" "^7.22.5" - "@babel/plugin-transform-async-generator-functions" "^7.22.10" - "@babel/plugin-transform-async-to-generator" "^7.22.5" - "@babel/plugin-transform-block-scoped-functions" "^7.22.5" - "@babel/plugin-transform-block-scoping" "^7.22.10" - "@babel/plugin-transform-class-properties" "^7.22.5" - "@babel/plugin-transform-class-static-block" "^7.22.5" - "@babel/plugin-transform-classes" "^7.22.6" - "@babel/plugin-transform-computed-properties" "^7.22.5" - "@babel/plugin-transform-destructuring" "^7.22.10" - "@babel/plugin-transform-dotall-regex" "^7.22.5" - "@babel/plugin-transform-duplicate-keys" "^7.22.5" - "@babel/plugin-transform-dynamic-import" "^7.22.5" - "@babel/plugin-transform-exponentiation-operator" "^7.22.5" - "@babel/plugin-transform-export-namespace-from" "^7.22.5" - "@babel/plugin-transform-for-of" "^7.22.5" - "@babel/plugin-transform-function-name" "^7.22.5" - "@babel/plugin-transform-json-strings" "^7.22.5" - "@babel/plugin-transform-literals" "^7.22.5" - "@babel/plugin-transform-logical-assignment-operators" "^7.22.5" - "@babel/plugin-transform-member-expression-literals" "^7.22.5" - "@babel/plugin-transform-modules-amd" "^7.22.5" - "@babel/plugin-transform-modules-commonjs" "^7.22.5" - "@babel/plugin-transform-modules-systemjs" "^7.22.5" - "@babel/plugin-transform-modules-umd" "^7.22.5" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" - "@babel/plugin-transform-new-target" "^7.22.5" - "@babel/plugin-transform-nullish-coalescing-operator" "^7.22.5" - "@babel/plugin-transform-numeric-separator" "^7.22.5" - "@babel/plugin-transform-object-rest-spread" "^7.22.5" - "@babel/plugin-transform-object-super" "^7.22.5" - "@babel/plugin-transform-optional-catch-binding" "^7.22.5" - "@babel/plugin-transform-optional-chaining" "^7.22.10" - "@babel/plugin-transform-parameters" "^7.22.5" - "@babel/plugin-transform-private-methods" "^7.22.5" - "@babel/plugin-transform-private-property-in-object" "^7.22.5" - "@babel/plugin-transform-property-literals" "^7.22.5" - "@babel/plugin-transform-regenerator" "^7.22.10" - "@babel/plugin-transform-reserved-words" "^7.22.5" - "@babel/plugin-transform-shorthand-properties" "^7.22.5" - "@babel/plugin-transform-spread" "^7.22.5" - "@babel/plugin-transform-sticky-regex" "^7.22.5" - "@babel/plugin-transform-template-literals" "^7.22.5" - "@babel/plugin-transform-typeof-symbol" "^7.22.5" - "@babel/plugin-transform-unicode-escapes" "^7.22.10" - "@babel/plugin-transform-unicode-property-regex" "^7.22.5" - "@babel/plugin-transform-unicode-regex" "^7.22.5" - "@babel/plugin-transform-unicode-sets-regex" "^7.22.5" - "@babel/preset-modules" "0.1.6-no-external-plugins" - "@babel/types" "^7.22.10" - babel-plugin-polyfill-corejs2 "^0.4.5" - babel-plugin-polyfill-corejs3 "^0.8.3" - babel-plugin-polyfill-regenerator "^0.5.2" - core-js-compat "^3.31.0" - semver "^6.3.1" - "@babel/preset-flow@^7.13.13": version "7.24.1" resolved "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.24.1.tgz" @@ -1132,15 +889,6 @@ "@babel/helper-validator-option" "^7.23.5" "@babel/plugin-transform-flow-strip-types" "^7.24.1" -"@babel/preset-modules@0.1.6-no-external-plugins": - version "0.1.6-no-external-plugins" - resolved "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz" - integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/types" "^7.4.4" - esutils "^2.0.2" - "@babel/preset-react@^7.22.15": version "7.24.1" resolved "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.24.1.tgz" @@ -1162,6 +910,17 @@ "@babel/helper-validator-option" "^7.18.6" "@babel/plugin-transform-typescript" "^7.18.6" +"@babel/preset-typescript@^7.23.0": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.24.1.tgz#89bdf13a3149a17b3b2a2c9c62547f06db8845ec" + integrity sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-validator-option" "^7.23.5" + "@babel/plugin-syntax-jsx" "^7.24.1" + "@babel/plugin-transform-modules-commonjs" "^7.24.1" + "@babel/plugin-transform-typescript" "^7.24.1" + "@babel/register@^7.13.16": version "7.23.7" resolved "https://registry.npmjs.org/@babel/register/-/register-7.23.7.tgz" @@ -1186,7 +945,7 @@ core-js-pure "^3.25.1" regenerator-runtime "^0.13.4" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.10.2", "@babel/runtime@^7.18.6", "@babel/runtime@^7.18.9", "@babel/runtime@^7.20.0", "@babel/runtime@^7.8.4": +"@babel/runtime@^7.0.0", "@babel/runtime@^7.10.2", "@babel/runtime@^7.18.6", "@babel/runtime@^7.18.9", "@babel/runtime@^7.20.0": version "7.23.9" resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.9.tgz" integrity sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw== @@ -1218,7 +977,23 @@ debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.20.0", "@babel/types@^7.22.10", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.4", "@babel/types@^7.23.6", "@babel/types@^7.23.9", "@babel/types@^7.24.0", "@babel/types@^7.4.4": +"@babel/traverse@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.5.tgz#972aa0bc45f16983bf64aa1f877b2dd0eea7e6f8" + integrity sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA== + dependencies: + "@babel/code-frame" "^7.24.2" + "@babel/generator" "^7.24.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.24.5" + "@babel/parser" "^7.24.5" + "@babel/types" "^7.24.5" + debug "^4.3.1" + globals "^11.1.0" + +"@babel/types@^7.20.0", "@babel/types@^7.22.10", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.4", "@babel/types@^7.23.6", "@babel/types@^7.23.9", "@babel/types@^7.24.0": version "7.24.0" resolved "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz" integrity sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w== @@ -1227,6 +1002,15 @@ "@babel/helper-validator-identifier" "^7.22.20" to-fast-properties "^2.0.0" +"@babel/types@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.5.tgz#7661930afc638a5383eb0c4aee59b74f38db84d7" + integrity sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ== + dependencies: + "@babel/helper-string-parser" "^7.24.1" + "@babel/helper-validator-identifier" "^7.24.5" + to-fast-properties "^2.0.0" + "@egjs/hammerjs@^2.0.17": version "2.0.17" resolved "https://registry.yarnpkg.com/@egjs/hammerjs/-/hammerjs-2.0.17.tgz#5dc02af75a6a06e4c2db0202cae38c9263895124" @@ -1315,28 +1099,28 @@ mv "~2" safe-json-stringify "~1" -"@expo/cli@0.17.10": - version "0.17.10" - resolved "https://registry.npmjs.org/@expo/cli/-/cli-0.17.10.tgz" - integrity sha512-Jw2wY+lsavP9GRqwwLqF/SvB7w2GZ4sWBMcBKTZ8F0lWjwmLGAUt4WYquf20agdmnY/oZUHvWNkrz/t3SflhnA== +"@expo/cli@0.18.11": + version "0.18.11" + resolved "https://registry.yarnpkg.com/@expo/cli/-/cli-0.18.11.tgz#338215d9aa0d11b0d943814580bf4b9c27f43971" + integrity sha512-2xIfvj5RnQbQqZdkYa9a7Roll1ywBER2omCUKdbJazRcJTkkN3HMv/jILztdZ2uKlcfIqPq4VTbKEhV/IkewYg== dependencies: "@babel/runtime" "^7.20.0" "@expo/code-signing-certificates" "0.0.5" - "@expo/config" "~8.5.0" - "@expo/config-plugins" "~7.9.0" + "@expo/config" "~9.0.0-beta.0" + "@expo/config-plugins" "~8.0.0-beta.0" "@expo/devcert" "^1.0.0" - "@expo/env" "~0.2.2" - "@expo/image-utils" "^0.4.0" - "@expo/json-file" "^8.2.37" - "@expo/metro-config" "~0.17.0" + "@expo/env" "~0.3.0" + "@expo/image-utils" "^0.5.0" + "@expo/json-file" "^8.3.0" + "@expo/metro-config" "~0.18.0" "@expo/osascript" "^2.0.31" - "@expo/package-manager" "^1.1.1" + "@expo/package-manager" "^1.5.0" "@expo/plist" "^0.1.0" - "@expo/prebuild-config" "6.8.1" + "@expo/prebuild-config" "7.0.3" "@expo/rudder-sdk-node" "1.1.1" - "@expo/spawn-async" "1.5.0" + "@expo/spawn-async" "^1.7.2" "@expo/xcpretty" "^4.3.0" - "@react-native/dev-middleware" "^0.73.6" + "@react-native/dev-middleware" "~0.74.75" "@urql/core" "2.3.6" "@urql/exchange-retry" "0.3.0" accepts "^1.3.8" @@ -1349,6 +1133,7 @@ connect "^3.7.0" debug "^4.3.4" env-editor "^0.4.1" + fast-glob "^3.3.2" find-yarn-workspace-root "~2.0.0" form-data "^3.0.1" freeport-async "2.0.0" @@ -1366,7 +1151,6 @@ lodash.debounce "^4.0.8" md5hex "^1.0.0" minimatch "^3.0.4" - minipass "3.3.6" node-fetch "^2.6.7" node-forge "^1.3.1" npm-package-arg "^7.0.0" @@ -1382,7 +1166,7 @@ resolve "^1.22.2" resolve-from "^5.0.0" resolve.exports "^2.0.2" - semver "^7.5.3" + semver "^7.6.0" send "^0.18.0" slugify "^1.3.4" source-map-support "~0.5.21" @@ -1405,71 +1189,46 @@ node-forge "^1.2.1" nullthrows "^1.1.1" -"@expo/config-plugins@7.9.1", "@expo/config-plugins@~7.9.0": - version "7.9.1" - resolved "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-7.9.1.tgz" - integrity sha512-ICt6Jed1J0tPYMQrJ8K5Qusgih2I6pZ2PU4VSvxsN3T4n97L13XpYV1vyq1Uc/HMl3UhOwldipmgpEbCfeDqsQ== - dependencies: - "@expo/config-types" "^50.0.0-alpha.1" - "@expo/fingerprint" "^0.6.0" - "@expo/json-file" "~8.3.0" - "@expo/plist" "^0.1.0" - "@expo/sdk-runtime-versions" "^1.0.0" - "@react-native/normalize-color" "^2.0.0" - chalk "^4.1.2" - debug "^4.3.1" - find-up "~5.0.0" - getenv "^1.0.0" - glob "7.1.6" - resolve-from "^5.0.0" - semver "^7.5.3" - slash "^3.0.0" - slugify "^1.6.6" - xcode "^3.0.1" - xml2js "0.6.0" - -"@expo/config-plugins@~7.8.0": - version "7.8.4" - resolved "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-7.8.4.tgz" - integrity sha512-hv03HYxb/5kX8Gxv/BTI8TLc9L06WzqAfHRRXdbar4zkLcP2oTzvsLEF4/L/TIpD3rsnYa0KU42d0gWRxzPCJg== +"@expo/config-plugins@8.0.4", "@expo/config-plugins@~8.0.0-beta.0": + version "8.0.4" + resolved "https://registry.yarnpkg.com/@expo/config-plugins/-/config-plugins-8.0.4.tgz#1e781cd971fab27409ed2f8d621db6d29cce3036" + integrity sha512-Hi+xuyNWE2LT4LVbGttHJgl9brnsdWAhEB42gWKb5+8ae86Nr/KwUBQJsJppirBYTeLjj5ZlY0glYnAkDa2jqw== dependencies: - "@expo/config-types" "^50.0.0-alpha.1" - "@expo/fingerprint" "^0.6.0" + "@expo/config-types" "^51.0.0-unreleased" "@expo/json-file" "~8.3.0" "@expo/plist" "^0.1.0" "@expo/sdk-runtime-versions" "^1.0.0" - "@react-native/normalize-color" "^2.0.0" chalk "^4.1.2" debug "^4.3.1" find-up "~5.0.0" getenv "^1.0.0" glob "7.1.6" resolve-from "^5.0.0" - semver "^7.5.3" + semver "^7.5.4" slash "^3.0.0" slugify "^1.6.6" xcode "^3.0.1" xml2js "0.6.0" -"@expo/config-types@^50.0.0", "@expo/config-types@^50.0.0-alpha.1": - version "50.0.1" - resolved "https://registry.npmjs.org/@expo/config-types/-/config-types-50.0.1.tgz" - integrity sha512-EZHMgzkWRB9SMHO1e9m8s+OMahf92XYTnsCFjxhSfcDrcEoSdFPyJWDJVloHZPMGhxns7Fi2+A+bEVN/hD4NKA== +"@expo/config-types@^51.0.0-unreleased": + version "51.0.0" + resolved "https://registry.yarnpkg.com/@expo/config-types/-/config-types-51.0.0.tgz#f5df238cd1237d7e4d9cc8217cdef3383c2a00cf" + integrity sha512-acn03/u8mQvBhdTQtA7CNhevMltUhbSrpI01FYBJwpVntufkU++ncQujWKlgY/OwIajcfygk1AY4xcNZ5ImkRA== -"@expo/config@8.5.6", "@expo/config@~8.5.0": - version "8.5.6" - resolved "https://registry.npmjs.org/@expo/config/-/config-8.5.6.tgz" - integrity sha512-wF5awSg6MNn1cb1lIgjnhOn5ov2TEUTnkAVCsOl0QqDwcP+YIerteSFwjn9V52UZvg58L+LKxpCuGbw5IHavbg== +"@expo/config@9.0.1", "@expo/config@~9.0.0-beta.0": + version "9.0.1" + resolved "https://registry.yarnpkg.com/@expo/config/-/config-9.0.1.tgz#e7b79de5af29d5ab2a98a62c3cda31f03bd75827" + integrity sha512-0tjaXBstTbXmD4z+UMFBkh2SZFwilizSQhW6DlaTMnPG5ezuw93zSFEWAuEC3YzkpVtNQTmYzxAYjxwh6seOGg== dependencies: "@babel/code-frame" "~7.10.4" - "@expo/config-plugins" "~7.9.0" - "@expo/config-types" "^50.0.0" - "@expo/json-file" "^8.2.37" + "@expo/config-plugins" "~8.0.0-beta.0" + "@expo/config-types" "^51.0.0-unreleased" + "@expo/json-file" "^8.3.0" getenv "^1.0.0" glob "7.1.6" require-from-string "^2.0.2" resolve-from "^5.0.0" - semver "7.5.3" + semver "^7.6.0" slugify "^1.3.4" sucrase "3.34.0" @@ -1492,10 +1251,10 @@ tmp "^0.0.33" tslib "^2.4.0" -"@expo/env@~0.2.2": - version "0.2.3" - resolved "https://registry.npmjs.org/@expo/env/-/env-0.2.3.tgz" - integrity sha512-a+uJ/e6MAVxPVVN/HbXU5qxzdqrqDwNQYxCfxtAufgmd5VZj54e5f3TJA3LEEUW3pTSZR8xK0H0EtVN297AZnw== +"@expo/env@~0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@expo/env/-/env-0.3.0.tgz#a66064e5656e0e48197525f47f3398034fdf579e" + integrity sha512-OtB9XVHWaXidLbHvrVDeeXa09yvTl3+IQN884sO6PhIi2/StXfgSH/9zC7IvzrDB8kW3EBJ1PPLuCUJ2hxAT7Q== dependencies: chalk "^4.0.0" debug "^4.3.4" @@ -1503,18 +1262,19 @@ dotenv-expand "~11.0.6" getenv "^1.0.0" -"@expo/fingerprint@^0.6.0": - version "0.6.1" - resolved "https://registry.npmjs.org/@expo/fingerprint/-/fingerprint-0.6.1.tgz" - integrity sha512-ggLn6unI6qowlA1FihdQwPpLn16VJulYkvYAEL50gaqVahfNEglRQMSH2giZzjD0d6xq2/EQuUdFyHaJfyJwOQ== +"@expo/fingerprint@^0.7.0": + version "0.7.1" + resolved "https://registry.yarnpkg.com/@expo/fingerprint/-/fingerprint-0.7.1.tgz#5778c79f6be2471b4c703381e26e9ee0691fa8c6" + integrity sha512-lbTwFiIk0lOm9zzPRvnC45GfPqXqPB3w4hDDKVma+8FDAbPCWhNN42ltLhx/ekwcHFQxURmg0fHm59k0Vy+jtw== dependencies: - "@expo/spawn-async" "^1.5.0" + "@expo/spawn-async" "^1.7.2" chalk "^4.1.2" debug "^4.3.4" find-up "^5.0.0" minimatch "^3.0.4" p-limit "^3.1.0" resolve-from "^5.0.0" + semver "^7.6.0" "@expo/image-utils@0.3.23": version "0.3.23" @@ -1533,12 +1293,12 @@ semver "7.3.2" tempy "0.3.0" -"@expo/image-utils@^0.4.0": - version "0.4.2" - resolved "https://registry.npmjs.org/@expo/image-utils/-/image-utils-0.4.2.tgz" - integrity sha512-CxP+1QXgRXsNnmv2FAUA2RWwK6kNBFg4QEmVXn2K9iLoEAI+i+1IQXcUgc+J7nTJl9pO7FIu2gIiEYGYffjLWQ== +"@expo/image-utils@^0.5.0": + version "0.5.1" + resolved "https://registry.yarnpkg.com/@expo/image-utils/-/image-utils-0.5.1.tgz#06fade141facebcd8431355923d30f3839309942" + integrity sha512-U/GsFfFox88lXULmFJ9Shfl2aQGcwoKPF7fawSCLixIKtMCpsI+1r0h+5i0nQnmt9tHuzXZDL8+Dg1z6OhkI9A== dependencies: - "@expo/spawn-async" "1.5.0" + "@expo/spawn-async" "^1.7.2" chalk "^4.0.0" fs-extra "9.0.0" getenv "^1.0.0" @@ -1546,10 +1306,19 @@ node-fetch "^2.6.0" parse-png "^2.1.0" resolve-from "^5.0.0" - semver "7.3.2" + semver "^7.6.0" tempy "0.3.0" -"@expo/json-file@^8.2.37", "@expo/json-file@~8.3.0": +"@expo/json-file@^8.3.0": + version "8.3.3" + resolved "https://registry.yarnpkg.com/@expo/json-file/-/json-file-8.3.3.tgz#7926e3592f76030ce63d6b1308ac8f5d4d9341f4" + integrity sha512-eZ5dld9AD0PrVRiIWpRkm5aIoWBw3kAyd8VkuWEy92sEthBKDDDHAnK2a0dw0Eil6j7rK7lS/Qaq/Zzngv2h5A== + dependencies: + "@babel/code-frame" "~7.10.4" + json5 "^2.2.2" + write-file-atomic "^2.3.0" + +"@expo/json-file@~8.3.0": version "8.3.1" resolved "https://registry.npmjs.org/@expo/json-file/-/json-file-8.3.1.tgz" integrity sha512-QIMMaqPvm8EGflp041h27OG8DDgh3RxzkEjEEvHJ9AUImgeieMCGrpDsnGOcPI4TR6MpJpLNAk5rZK4szhEwIQ== @@ -1558,20 +1327,19 @@ json5 "^2.2.2" write-file-atomic "^2.3.0" -"@expo/metro-config@0.17.7", "@expo/metro-config@~0.17.0": - version "0.17.7" - resolved "https://registry.npmjs.org/@expo/metro-config/-/metro-config-0.17.7.tgz" - integrity sha512-3vAdinAjMeRwdhGWWLX6PziZdAPvnyJ6KVYqnJErHHqH0cA6dgAENT3Vq6PEM1H2HgczKr2d5yG9AMgwy848ow== +"@expo/metro-config@0.18.3", "@expo/metro-config@~0.18.0": + version "0.18.3" + resolved "https://registry.yarnpkg.com/@expo/metro-config/-/metro-config-0.18.3.tgz#fa198b9bf806df44fd7684f1df9af2535c107aa8" + integrity sha512-E4iW+VT/xHPPv+t68dViOsW7egtGIr+sRElcym0iGpC4goLz9WBux/xGzWgxvgvvHEWa21uSZQPM0jWla0OZXg== dependencies: "@babel/core" "^7.20.0" "@babel/generator" "^7.20.5" "@babel/parser" "^7.20.0" "@babel/types" "^7.20.0" - "@expo/config" "~8.5.0" - "@expo/env" "~0.2.2" + "@expo/config" "~9.0.0-beta.0" + "@expo/env" "~0.3.0" "@expo/json-file" "~8.3.0" "@expo/spawn-async" "^1.7.2" - babel-preset-fbjs "^3.4.0" chalk "^4.1.0" debug "^4.3.2" find-yarn-workspace-root "~2.0.0" @@ -1582,7 +1350,6 @@ lightningcss "~1.19.0" postcss "~8.4.32" resolve-from "^5.0.0" - sucrase "3.34.0" "@expo/ngrok-bin-darwin-arm64@2.3.41": version "2.3.41" @@ -1674,13 +1441,13 @@ "@expo/spawn-async" "^1.5.0" exec-async "^2.2.0" -"@expo/package-manager@^1.1.1": - version "1.4.2" - resolved "https://registry.npmjs.org/@expo/package-manager/-/package-manager-1.4.2.tgz" - integrity sha512-LKdo/6y4W7llZ6ghsg1kdx2CeH/qR/c6QI/JI8oPUvppsZoeIYjSkdflce978fAMfR8IXoi0wt0jA2w0kWpwbg== +"@expo/package-manager@^1.5.0": + version "1.5.2" + resolved "https://registry.yarnpkg.com/@expo/package-manager/-/package-manager-1.5.2.tgz#6015963669977a188bbbac930aa0dc103162ee73" + integrity sha512-IuA9XtGBilce0q8cyxtWINqbzMB1Fia0Yrug/O53HNuRSwQguV/iqjV68bsa4z8mYerePhcFgtvISWLAlNEbUA== dependencies: - "@expo/json-file" "^8.2.37" - "@expo/spawn-async" "^1.5.0" + "@expo/json-file" "^8.3.0" + "@expo/spawn-async" "^1.7.2" ansi-regex "^5.0.0" chalk "^4.0.0" find-up "^5.0.0" @@ -1701,36 +1468,21 @@ base64-js "^1.2.3" xmlbuilder "^14.0.0" -"@expo/prebuild-config@6.7.4": - version "6.7.4" - resolved "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-6.7.4.tgz" - integrity sha512-x8EUdCa8DTMZ/dtEXjHAdlP+ljf6oSeSKNzhycXiHhpMSMG9jEhV28ocCwc6cKsjK5GziweEiHwvrj6+vsBlhA== - dependencies: - "@expo/config" "~8.5.0" - "@expo/config-plugins" "~7.8.0" - "@expo/config-types" "^50.0.0-alpha.1" - "@expo/image-utils" "^0.4.0" - "@expo/json-file" "^8.2.37" - debug "^4.3.1" - fs-extra "^9.0.0" - resolve-from "^5.0.0" - semver "7.5.3" - xml2js "0.6.0" - -"@expo/prebuild-config@6.8.1": - version "6.8.1" - resolved "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-6.8.1.tgz" - integrity sha512-ptK9e0dcj1eYlAWV+fG+QkuAWcLAT1AmtEbj++tn7ZjEj8+LkXRM73LCOEGaF0Er8i8ZWNnaVsgGW4vjgP5ZsA== - dependencies: - "@expo/config" "~8.5.0" - "@expo/config-plugins" "~7.9.0" - "@expo/config-types" "^50.0.0-alpha.1" - "@expo/image-utils" "^0.4.0" - "@expo/json-file" "^8.2.37" +"@expo/prebuild-config@7.0.3": + version "7.0.3" + resolved "https://registry.yarnpkg.com/@expo/prebuild-config/-/prebuild-config-7.0.3.tgz#d7f66745de6f0b17b15ed2f1417f91c6ba0b591b" + integrity sha512-Kvxy/oQzkxwXLvAmwb+ygxuRn4xUUN2+mVJj3KDe4bRVCNyDPs7wlgdokF3twnWjzRZssUzseMkhp+yHPjAEhA== + dependencies: + "@expo/config" "~9.0.0-beta.0" + "@expo/config-plugins" "~8.0.0-beta.0" + "@expo/config-types" "^51.0.0-unreleased" + "@expo/image-utils" "^0.5.0" + "@expo/json-file" "^8.3.0" + "@react-native/normalize-colors" "~0.74.83" debug "^4.3.1" fs-extra "^9.0.0" resolve-from "^5.0.0" - semver "7.5.3" + semver "^7.6.0" xml2js "0.6.0" "@expo/rudder-sdk-node@1.1.1": @@ -1928,6 +1680,15 @@ "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping" "^0.3.9" +"@jridgewell/gen-mapping@^0.3.5": + version "0.3.5" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" + integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== + dependencies: + "@jridgewell/set-array" "^1.2.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.24" + "@jridgewell/resolve-uri@^3.1.0": version "3.1.0" resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz" @@ -1938,6 +1699,11 @@ resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== +"@jridgewell/set-array@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" + integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== + "@jridgewell/source-map@^0.3.3": version "0.3.5" resolved "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz" @@ -1959,6 +1725,14 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" +"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": + version "0.3.25" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" + integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + "@leichtgewicht/ip-codec@^2.0.1": version "2.0.4" resolved "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz" @@ -2066,50 +1840,52 @@ resolved "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz" integrity sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA== -"@react-native-async-storage/async-storage@1.21.0": - version "1.21.0" - resolved "https://registry.npmjs.org/@react-native-async-storage/async-storage/-/async-storage-1.21.0.tgz" - integrity sha512-JL0w36KuFHFCvnbOXRekqVAUplmOyT/OuCQkogo6X98MtpSaJOKEAeZnYO8JB0U/RIEixZaGI5px73YbRm/oag== +"@react-native-async-storage/async-storage@1.23.1": + version "1.23.1" + resolved "https://registry.yarnpkg.com/@react-native-async-storage/async-storage/-/async-storage-1.23.1.tgz#cad3cd4fab7dacfe9838dce6ecb352f79150c883" + integrity sha512-Qd2kQ3yi6Y3+AcUlrHxSLlnBvpdCEMVGFlVBneVOjaFaPU61g1huc38g339ysXspwY1QZA2aNhrk/KlHGO+ewA== dependencies: merge-options "^3.0.4" -"@react-native-community/cli-clean@12.3.6": - version "12.3.6" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-clean/-/cli-clean-12.3.6.tgz#e8a7910bebc97266fd5068649013a03958021fc4" - integrity sha512-gUU29ep8xM0BbnZjwz9MyID74KKwutq9x5iv4BCr2im6nly4UMf1B1D+V225wR7VcDGzbgWjaezsJShLLhC5ig== +"@react-native-community/cli-clean@13.6.6": + version "13.6.6" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-clean/-/cli-clean-13.6.6.tgz#87c7ad8746c38dab0fe7b3c6ff89d44351d5d943" + integrity sha512-cBwJTwl0NyeA4nyMxbhkWZhxtILYkbU3TW3k8AXLg+iGphe0zikYMGB3T+haTvTc6alTyEFwPbimk9bGIqkjAQ== dependencies: - "@react-native-community/cli-tools" "12.3.6" + "@react-native-community/cli-tools" "13.6.6" chalk "^4.1.2" execa "^5.0.0" + fast-glob "^3.3.2" -"@react-native-community/cli-config@12.3.6": - version "12.3.6" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-config/-/cli-config-12.3.6.tgz#5f0be68270217908a739c32e3155a0e354773251" - integrity sha512-JGWSYQ9EAK6m2v0abXwFLEfsqJ1zkhzZ4CV261QZF9MoUNB6h57a274h1MLQR9mG6Tsh38wBUuNfEPUvS1vYew== +"@react-native-community/cli-config@13.6.6": + version "13.6.6" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-config/-/cli-config-13.6.6.tgz#69f590694b3a079c74f781baab3b762db74f5dbd" + integrity sha512-mbG425zCKr8JZhv/j11382arezwS/70juWMsn8j2lmrGTrP1cUdW0MF15CCIFtJsqyK3Qs+FTmqttRpq81QfSg== dependencies: - "@react-native-community/cli-tools" "12.3.6" + "@react-native-community/cli-tools" "13.6.6" chalk "^4.1.2" cosmiconfig "^5.1.0" deepmerge "^4.3.0" - glob "^7.1.3" + fast-glob "^3.3.2" joi "^17.2.1" -"@react-native-community/cli-debugger-ui@12.3.6": - version "12.3.6" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-12.3.6.tgz#418027a1ae76850079684d309a732eb378c7f690" - integrity sha512-SjUKKsx5FmcK9G6Pb6UBFT0s9JexVStK5WInmANw75Hm7YokVvHEgtprQDz2Uvy5znX5g2ujzrkIU//T15KQzA== +"@react-native-community/cli-debugger-ui@13.6.6": + version "13.6.6" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-13.6.6.tgz#ac021ebd795b0fd66fb52a8987d1d41c5a4b8cb3" + integrity sha512-Vv9u6eS4vKSDAvdhA0OiQHoA7y39fiPIgJ6biT32tN4avHDtxlc6TWZGiqv7g98SBvDWvoVAmdPLcRf3kU+c8g== dependencies: serve-static "^1.13.1" -"@react-native-community/cli-doctor@12.3.6": - version "12.3.6" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-doctor/-/cli-doctor-12.3.6.tgz#f68b51bbc6554ff4837269d98e9e405044e6f1b9" - integrity sha512-fvBDv2lTthfw4WOQKkdTop2PlE9GtfrlNnpjB818MhcdEnPjfQw5YaTUcnNEGsvGomdCs1MVRMgYXXwPSN6OvQ== +"@react-native-community/cli-doctor@13.6.6": + version "13.6.6" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-doctor/-/cli-doctor-13.6.6.tgz#ac0febff05601d9b86af3e03460e1a6b0a1d33a5" + integrity sha512-TWZb5g6EmQe2Ua2TEWNmyaEayvlWH4GmdD9ZC+p8EpKFpB1NpDGMK6sXbpb42TDvwZg5s4TDRplK0PBEA/SVDg== dependencies: - "@react-native-community/cli-config" "12.3.6" - "@react-native-community/cli-platform-android" "12.3.6" - "@react-native-community/cli-platform-ios" "12.3.6" - "@react-native-community/cli-tools" "12.3.6" + "@react-native-community/cli-config" "13.6.6" + "@react-native-community/cli-platform-android" "13.6.6" + "@react-native-community/cli-platform-apple" "13.6.6" + "@react-native-community/cli-platform-ios" "13.6.6" + "@react-native-community/cli-tools" "13.6.6" chalk "^4.1.2" command-exists "^1.2.8" deepmerge "^4.3.0" @@ -2123,67 +1899,70 @@ wcwidth "^1.0.1" yaml "^2.2.1" -"@react-native-community/cli-hermes@12.3.6": - version "12.3.6" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-hermes/-/cli-hermes-12.3.6.tgz#5ac2c9ee26c69e1ce6b5047ba0f399984a6dea16" - integrity sha512-sNGwfOCl8OAIjWCkwuLpP8NZbuO0dhDI/2W7NeOGDzIBsf4/c4MptTrULWtGIH9okVPLSPX0NnRyGQ+mSwWyuQ== +"@react-native-community/cli-hermes@13.6.6": + version "13.6.6" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-hermes/-/cli-hermes-13.6.6.tgz#590f55f151fec23b55498228f92d100a0e71d474" + integrity sha512-La5Ie+NGaRl3klei6WxKoOxmCUSGGxpOk6vU5pEGf0/O7ky+Ay0io+zXYUZqlNMi/cGpO7ZUijakBYOB/uyuFg== dependencies: - "@react-native-community/cli-platform-android" "12.3.6" - "@react-native-community/cli-tools" "12.3.6" + "@react-native-community/cli-platform-android" "13.6.6" + "@react-native-community/cli-tools" "13.6.6" chalk "^4.1.2" hermes-profile-transformer "^0.0.6" -"@react-native-community/cli-platform-android@12.3.6": - version "12.3.6" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-12.3.6.tgz#e1103692c659ff0b72ee6f00b7c72578db7376ec" - integrity sha512-DeDDAB8lHpuGIAPXeeD9Qu2+/wDTFPo99c8uSW49L0hkmZJixzvvvffbGQAYk32H0TmaI7rzvzH+qzu7z3891g== +"@react-native-community/cli-platform-android@13.6.6": + version "13.6.6" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-13.6.6.tgz#9e3863cb092709021f11848890bff0fc16fc1609" + integrity sha512-/tMwkBeNxh84syiSwNlYtmUz/Ppc+HfKtdopL/5RB+fd3SV1/5/NPNjMlyLNgFKnpxvKCInQ7dnl6jGHJjeHjg== dependencies: - "@react-native-community/cli-tools" "12.3.6" + "@react-native-community/cli-tools" "13.6.6" chalk "^4.1.2" execa "^5.0.0" + fast-glob "^3.3.2" fast-xml-parser "^4.2.4" - glob "^7.1.3" logkitty "^0.7.1" -"@react-native-community/cli-platform-ios@12.3.6": - version "12.3.6" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-12.3.6.tgz#e7decb5ee764f5fdc7a6ad1ba5e15de8929d54a5" - integrity sha512-3eZ0jMCkKUO58wzPWlvAPRqezVKm9EPZyaPyHbRPWU8qw7JqkvnRlWIaYDGpjCJgVW4k2hKsEursLtYKb188tg== +"@react-native-community/cli-platform-apple@13.6.6": + version "13.6.6" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-apple/-/cli-platform-apple-13.6.6.tgz#d445fd6ed02c5ae2f43f9c45501e04fee53a2790" + integrity sha512-bOmSSwoqNNT3AmCRZXEMYKz1Jf1l2F86Nhs7qBcXdY/sGiJ+Flng564LOqvdAlVLTbkgz47KjNKCS2pP4Jg0Mg== dependencies: - "@react-native-community/cli-tools" "12.3.6" + "@react-native-community/cli-tools" "13.6.6" chalk "^4.1.2" execa "^5.0.0" + fast-glob "^3.3.2" fast-xml-parser "^4.0.12" - glob "^7.1.3" ora "^5.4.1" -"@react-native-community/cli-plugin-metro@12.3.6": - version "12.3.6" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-12.3.6.tgz#ae62de18e998478db60a3fe10dc746162c272dbd" - integrity sha512-3jxSBQt4fkS+KtHCPSyB5auIT+KKIrPCv9Dk14FbvOaEh9erUWEm/5PZWmtboW1z7CYeNbFMeXm9fM2xwtVOpg== +"@react-native-community/cli-platform-ios@13.6.6": + version "13.6.6" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-13.6.6.tgz#0cd700f36483ca37dda7ec044377f8a926b1df1f" + integrity sha512-vjDnRwhlSN5ryqKTas6/DPkxuouuyFBAqAROH4FR1cspTbn6v78JTZKDmtQy9JMMo7N5vZj1kASU5vbFep9IOQ== + dependencies: + "@react-native-community/cli-platform-apple" "13.6.6" -"@react-native-community/cli-server-api@12.3.6": - version "12.3.6" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-12.3.6.tgz#cd78122954a02d22c7821c365938635b51ddd1bd" - integrity sha512-80NIMzo8b2W+PL0Jd7NjiJW9mgaT8Y8wsIT/lh6mAvYH7mK0ecDJUYUTAAv79Tbo1iCGPAr3T295DlVtS8s4yQ== +"@react-native-community/cli-server-api@13.6.6": + version "13.6.6" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-13.6.6.tgz#467993006ef82361cdf7a9817999d5a09e85ca6a" + integrity sha512-ZtCXxoFlM7oDv3iZ3wsrT3SamhtUJuIkX2WePLPlN5bcbq7zimbPm2lHyicNJtpcGQ5ymsgpUWPCNZsWQhXBqQ== dependencies: - "@react-native-community/cli-debugger-ui" "12.3.6" - "@react-native-community/cli-tools" "12.3.6" + "@react-native-community/cli-debugger-ui" "13.6.6" + "@react-native-community/cli-tools" "13.6.6" compression "^1.7.1" connect "^3.6.5" errorhandler "^1.5.1" nocache "^3.0.1" pretty-format "^26.6.2" serve-static "^1.13.1" - ws "^7.5.1" + ws "^6.2.2" -"@react-native-community/cli-tools@12.3.6": - version "12.3.6" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-12.3.6.tgz#c39965982347635dfaf1daa7b3c0133b3bd45e64" - integrity sha512-FPEvZn19UTMMXUp/piwKZSh8cMEfO8G3KDtOwo53O347GTcwNrKjgZGtLSPELBX2gr+YlzEft3CoRv2Qmo83fQ== +"@react-native-community/cli-tools@13.6.6": + version "13.6.6" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-13.6.6.tgz#55c40cbabafbfc56cfb95a4d5fbf73ef60ec3cbc" + integrity sha512-ptOnn4AJczY5njvbdK91k4hcYazDnGtEPrqIwEI+k/CTBHNdb27Rsm2OZ7ye6f7otLBqF8gj/hK6QzJs8CEMgw== dependencies: appdirsjs "^1.2.4" chalk "^4.1.2" + execa "^5.0.0" find-up "^5.0.0" mime "^2.4.1" node-fetch "^2.6.0" @@ -2193,27 +1972,26 @@ shell-quote "^1.7.3" sudo-prompt "^9.0.0" -"@react-native-community/cli-types@12.3.6": - version "12.3.6" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-12.3.6.tgz#239de348800fe1ffba3eb1fe0edbeb9306981e57" - integrity sha512-xPqTgcUtZowQ8WKOkI9TLGBwH2bGggOC4d2FFaIRST3gTcjrEeGRNeR5aXCzJFIgItIft8sd7p2oKEdy90+01Q== +"@react-native-community/cli-types@13.6.6": + version "13.6.6" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-13.6.6.tgz#b45af119d61888fea1074a7c32ddb093e3f119a9" + integrity sha512-733iaYzlmvNK7XYbnWlMjdE+2k0hlTBJW071af/xb6Bs+hbJqBP9c03FZuYH2hFFwDDntwj05bkri/P7VgSxug== dependencies: joi "^17.2.1" -"@react-native-community/cli@12.3.6": - version "12.3.6" - resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-12.3.6.tgz#7a323b78725b959bb8a31cca1145918263ff3c8d" - integrity sha512-647OSi6xBb8FbwFqX9zsJxOzu685AWtrOUWHfOkbKD+5LOpGORw+GQo0F9rWZnB68rLQyfKUZWJeaD00pGv5fw== - dependencies: - "@react-native-community/cli-clean" "12.3.6" - "@react-native-community/cli-config" "12.3.6" - "@react-native-community/cli-debugger-ui" "12.3.6" - "@react-native-community/cli-doctor" "12.3.6" - "@react-native-community/cli-hermes" "12.3.6" - "@react-native-community/cli-plugin-metro" "12.3.6" - "@react-native-community/cli-server-api" "12.3.6" - "@react-native-community/cli-tools" "12.3.6" - "@react-native-community/cli-types" "12.3.6" +"@react-native-community/cli@13.6.6": + version "13.6.6" + resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-13.6.6.tgz#b929c8668e88344c03a46a3e635cb382dba16773" + integrity sha512-IqclB7VQ84ye8Fcs89HOpOscY4284VZg2pojHNl8H0Lzd4DadXJWQoxC7zWm8v2f8eyeX2kdhxp2ETD5tceIgA== + dependencies: + "@react-native-community/cli-clean" "13.6.6" + "@react-native-community/cli-config" "13.6.6" + "@react-native-community/cli-debugger-ui" "13.6.6" + "@react-native-community/cli-doctor" "13.6.6" + "@react-native-community/cli-hermes" "13.6.6" + "@react-native-community/cli-server-api" "13.6.6" + "@react-native-community/cli-tools" "13.6.6" + "@react-native-community/cli-types" "13.6.6" chalk "^4.1.2" commander "^9.4.1" deepmerge "^4.3.0" @@ -2224,10 +2002,10 @@ prompts "^2.4.2" semver "^7.5.2" -"@react-native-community/datetimepicker@^8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@react-native-community/datetimepicker/-/datetimepicker-8.0.0.tgz#2d0ee2c122495f556d42563a69ffaa8b63e66db9" - integrity sha512-hFiGlG5ovhspLYIZlvRs7sMg2NtKjHaG2CJQbECQH1M31760cR7BjYujS/MCM2d44ihhn4ZKLspAyXVN+Gh08g== +"@react-native-community/datetimepicker@8.0.1": + version "8.0.1" + resolved "https://registry.yarnpkg.com/@react-native-community/datetimepicker/-/datetimepicker-8.0.1.tgz#047f27566fb21b5095fa54f558bffd8ab6472b46" + integrity sha512-4BO0t3geMNNw9cIIm9p9FNUzwMXexdzD4pAH0AaUAycs3BS71HLrX8jHbrI7nzq/+8O7cLAXn5Gudte+YpTV8Q== dependencies: invariant "^2.2.4" @@ -2255,37 +2033,38 @@ resolved "https://registry.npmjs.org/@react-native-community/eslint-plugin/-/eslint-plugin-1.2.0.tgz" integrity sha512-o6aam+0Ug1xGK3ABYmBm0B1YuEKfM/5kaoZO0eHbZwSpw9UzDX4G5y4Nx/K20FHqUmJHkZmLvOUFYwN4N+HqKA== -"@react-native-community/slider@4.4.2": - version "4.4.2" - resolved "https://registry.yarnpkg.com/@react-native-community/slider/-/slider-4.4.2.tgz#1fea0eb3ae31841fe87bd6c4fc67569066e9cf4b" - integrity sha512-D9bv+3Vd2gairAhnRPAghwccgEmoM7g562pm8i4qB3Esrms5mggF81G3UvCyc0w3jjtFHh8dpQkfEoKiP0NW/Q== +"@react-native-community/slider@4.5.2": + version "4.5.2" + resolved "https://registry.yarnpkg.com/@react-native-community/slider/-/slider-4.5.2.tgz#c3835788dbc1bd83d3778b83ca15533c805db149" + integrity sha512-DbFyCyI7rwl0FkBkp0lzEVp+5mNfS5qU/nM2sK2aSguWhj0Odkt1aKHP2iW/ljruOhgS/O4dEixXlne4OdZJDQ== -"@react-native-picker/picker@2.6.1": - version "2.6.1" - resolved "https://registry.npmjs.org/@react-native-picker/picker/-/picker-2.6.1.tgz" - integrity sha512-oJftvmLOj6Y6/bF4kPcK6L83yNBALGmqNYugf94BzP0FQGpHBwimVN2ygqkQ2Sn2ZU3pGUZMs0jV6+Gku2GyYg== +"@react-native-picker/picker@2.7.5": + version "2.7.5" + resolved "https://registry.yarnpkg.com/@react-native-picker/picker/-/picker-2.7.5.tgz#e43fcd65f260fa4f23e974ccb9fb7c1f7a9ff94a" + integrity sha512-vhMaOLkXSUb+YKVbukMJToU4g+89VMhBG2U9+cLYF8X8HtFRidrHjohGqT8/OyesDuKIXeLIP+UFYI9Q9CRA9Q== -"@react-native/assets-registry@0.73.1", "@react-native/assets-registry@~0.73.1": - version "0.73.1" - resolved "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.73.1.tgz" - integrity sha512-2FgAbU7uKM5SbbW9QptPPZx8N9Ke2L7bsHb+EhAanZjFZunA9PaYtyjUQ1s7HD+zDVqOQIvjkpXSv7Kejd2tqg== +"@react-native/assets-registry@0.74.83", "@react-native/assets-registry@~0.74.83": + version "0.74.83" + resolved "https://registry.yarnpkg.com/@react-native/assets-registry/-/assets-registry-0.74.83.tgz#c1815dc10f9e1075e0d03b4c8a9619145969522e" + integrity sha512-2vkLMVnp+YTZYTNSDIBZojSsjz8sl5PscP3j4GcV6idD8V978SZfwFlk8K0ti0BzRs11mzL0Pj17km597S/eTQ== -"@react-native/babel-plugin-codegen@0.73.4": - version "0.73.4" - resolved "https://registry.npmjs.org/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.73.4.tgz" - integrity sha512-XzRd8MJGo4Zc5KsphDHBYJzS1ryOHg8I2gOZDAUCGcwLFhdyGu1zBNDJYH2GFyDrInn9TzAbRIf3d4O+eltXQQ== +"@react-native/babel-plugin-codegen@0.74.83": + version "0.74.83" + resolved "https://registry.yarnpkg.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.74.83.tgz#971f9cfec980dd05598d81964c05a26c6166f9fb" + integrity sha512-+S0st3t4Ro00bi9gjT1jnK8qTFOU+CwmziA7U9odKyWrCoRJrgmrvogq/Dr1YXlpFxexiGIupGut1VHxr+fxJA== dependencies: - "@react-native/codegen" "0.73.3" + "@react-native/codegen" "0.74.83" -"@react-native/babel-preset@0.73.21", "@react-native/babel-preset@^0.73.18": - version "0.73.21" - resolved "https://registry.npmjs.org/@react-native/babel-preset/-/babel-preset-0.73.21.tgz" - integrity sha512-WlFttNnySKQMeujN09fRmrdWqh46QyJluM5jdtDNrkl/2Hx6N4XeDUGhABvConeK95OidVO7sFFf7sNebVXogA== +"@react-native/babel-preset@0.74.83", "@react-native/babel-preset@~0.74.83": + version "0.74.83" + resolved "https://registry.yarnpkg.com/@react-native/babel-preset/-/babel-preset-0.74.83.tgz#9828457779b4ce0219078652327ce3203115cdf9" + integrity sha512-KJuu3XyVh3qgyUer+rEqh9a/JoUxsDOzkJNfRpDyXiAyjDRoVch60X/Xa/NcEQ93iCVHAWs0yQ+XGNGIBCYE6g== dependencies: "@babel/core" "^7.20.0" "@babel/plugin-proposal-async-generator-functions" "^7.0.0" "@babel/plugin-proposal-class-properties" "^7.18.0" "@babel/plugin-proposal-export-default-from" "^7.0.0" + "@babel/plugin-proposal-logical-assignment-operators" "^7.18.0" "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.0" "@babel/plugin-proposal-numeric-separator" "^7.0.0" "@babel/plugin-proposal-object-rest-spread" "^7.20.0" @@ -2321,96 +2100,94 @@ "@babel/plugin-transform-typescript" "^7.5.0" "@babel/plugin-transform-unicode-regex" "^7.0.0" "@babel/template" "^7.0.0" - "@react-native/babel-plugin-codegen" "0.73.4" + "@react-native/babel-plugin-codegen" "0.74.83" babel-plugin-transform-flow-enums "^0.0.2" react-refresh "^0.14.0" -"@react-native/codegen@0.73.3": - version "0.73.3" - resolved "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.73.3.tgz" - integrity sha512-sxslCAAb8kM06vGy9Jyh4TtvjhcP36k/rvj2QE2Jdhdm61KvfafCATSIsOfc0QvnduWFcpXUPvAVyYwuv7PYDg== +"@react-native/codegen@0.74.83": + version "0.74.83" + resolved "https://registry.yarnpkg.com/@react-native/codegen/-/codegen-0.74.83.tgz#7c56a82fe7603f0867f0d80ff29db3757b71be55" + integrity sha512-GgvgHS3Aa2J8/mp1uC/zU8HuTh8ZT5jz7a4mVMWPw7+rGyv70Ba8uOVBq6UH2Q08o617IATYc+0HfyzAfm4n0w== dependencies: "@babel/parser" "^7.20.0" - flow-parser "^0.206.0" glob "^7.1.1" + hermes-parser "0.19.1" invariant "^2.2.4" jscodeshift "^0.14.0" mkdirp "^0.5.1" nullthrows "^1.1.1" -"@react-native/community-cli-plugin@0.73.17": - version "0.73.17" - resolved "https://registry.yarnpkg.com/@react-native/community-cli-plugin/-/community-cli-plugin-0.73.17.tgz#37b381a8b503a3296eaa6727e0c52ea8835add28" - integrity sha512-F3PXZkcHg+1ARIr6FRQCQiB7ZAA+MQXGmq051metRscoLvgYJwj7dgC8pvgy0kexzUkHu5BNKrZeySzUft3xuQ== +"@react-native/community-cli-plugin@0.74.83": + version "0.74.83" + resolved "https://registry.yarnpkg.com/@react-native/community-cli-plugin/-/community-cli-plugin-0.74.83.tgz#58808a58a5288895627548338731e72ebb5b507c" + integrity sha512-7GAFjFOg1mFSj8bnFNQS4u8u7+QtrEeflUIDVZGEfBZQ3wMNI5ycBzbBGycsZYiq00Xvoc6eKFC7kvIaqeJpUQ== dependencies: - "@react-native-community/cli-server-api" "12.3.6" - "@react-native-community/cli-tools" "12.3.6" - "@react-native/dev-middleware" "0.73.8" - "@react-native/metro-babel-transformer" "0.73.15" + "@react-native-community/cli-server-api" "13.6.6" + "@react-native-community/cli-tools" "13.6.6" + "@react-native/dev-middleware" "0.74.83" + "@react-native/metro-babel-transformer" "0.74.83" chalk "^4.0.0" execa "^5.1.1" metro "^0.80.3" metro-config "^0.80.3" metro-core "^0.80.3" node-fetch "^2.2.0" + querystring "^0.2.1" readline "^1.3.0" -"@react-native/debugger-frontend@0.73.3": - version "0.73.3" - resolved "https://registry.npmjs.org/@react-native/debugger-frontend/-/debugger-frontend-0.73.3.tgz" - integrity sha512-RgEKnWuoo54dh7gQhV7kvzKhXZEhpF9LlMdZolyhGxHsBqZ2gXdibfDlfcARFFifPIiaZ3lXuOVVa4ei+uPgTw== +"@react-native/debugger-frontend@0.74.83": + version "0.74.83" + resolved "https://registry.yarnpkg.com/@react-native/debugger-frontend/-/debugger-frontend-0.74.83.tgz#48050afa4e086438073b95f041c0cc84fe3f20de" + integrity sha512-RGQlVUegBRxAUF9c1ss1ssaHZh6CO+7awgtI9sDeU0PzDZY/40ImoPD5m0o0SI6nXoVzbPtcMGzU+VO590pRfA== -"@react-native/dev-middleware@0.73.8", "@react-native/dev-middleware@^0.73.6": - version "0.73.8" - resolved "https://registry.npmjs.org/@react-native/dev-middleware/-/dev-middleware-0.73.8.tgz" - integrity sha512-oph4NamCIxkMfUL/fYtSsE+JbGOnrlawfQ0kKtDQ5xbOjPKotKoXqrs1eGwozNKv7FfQ393stk1by9a6DyASSg== +"@react-native/dev-middleware@0.74.83", "@react-native/dev-middleware@~0.74.75": + version "0.74.83" + resolved "https://registry.yarnpkg.com/@react-native/dev-middleware/-/dev-middleware-0.74.83.tgz#9d09cfdb763e8ef81c003b0f99ae4ed1a3539639" + integrity sha512-UH8iriqnf7N4Hpi20D7M2FdvSANwTVStwFCSD7VMU9agJX88Yk0D1T6Meh2RMhUu4kY2bv8sTkNRm7LmxvZqgA== dependencies: "@isaacs/ttlcache" "^1.4.1" - "@react-native/debugger-frontend" "0.73.3" + "@react-native/debugger-frontend" "0.74.83" + "@rnx-kit/chromium-edge-launcher" "^1.0.0" chrome-launcher "^0.15.2" - chromium-edge-launcher "^1.0.0" connect "^3.6.5" debug "^2.2.0" node-fetch "^2.2.0" + nullthrows "^1.1.1" open "^7.0.3" + selfsigned "^2.4.1" serve-static "^1.13.1" temp-dir "^2.0.0" ws "^6.2.2" -"@react-native/gradle-plugin@0.73.4": - version "0.73.4" - resolved "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.73.4.tgz" - integrity sha512-PMDnbsZa+tD55Ug+W8CfqXiGoGneSSyrBZCMb5JfiB3AFST3Uj5e6lw8SgI/B6SKZF7lG0BhZ6YHZsRZ5MlXmg== +"@react-native/gradle-plugin@0.74.83": + version "0.74.83" + resolved "https://registry.yarnpkg.com/@react-native/gradle-plugin/-/gradle-plugin-0.74.83.tgz#4ac60a6d6295d5b920173cbf184ee32e53690810" + integrity sha512-Pw2BWVyOHoBuJVKxGVYF6/GSZRf6+v1Ygc+ULGz5t20N8qzRWPa2fRZWqoxsN7TkNLPsECYY8gooOl7okOcPAQ== -"@react-native/js-polyfills@0.73.1": - version "0.73.1" - resolved "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.73.1.tgz" - integrity sha512-ewMwGcumrilnF87H4jjrnvGZEaPFCAC4ebraEK+CurDDmwST/bIicI4hrOAv+0Z0F7DEK4O4H7r8q9vH7IbN4g== +"@react-native/js-polyfills@0.74.83": + version "0.74.83" + resolved "https://registry.yarnpkg.com/@react-native/js-polyfills/-/js-polyfills-0.74.83.tgz#0e189ce3ab0efecd00223f3bfc53663ce08ba013" + integrity sha512-/t74n8r6wFhw4JEoOj3bN71N1NDLqaawB75uKAsSjeCwIR9AfCxlzZG0etsXtOexkY9KMeZIQ7YwRPqUdNXuqw== -"@react-native/metro-babel-transformer@0.73.15": - version "0.73.15" - resolved "https://registry.npmjs.org/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.73.15.tgz" - integrity sha512-LlkSGaXCz+xdxc9819plmpsl4P4gZndoFtpjN3GMBIu6f7TBV0GVbyJAU4GE8fuAWPVSVL5ArOcdkWKSbI1klw== +"@react-native/metro-babel-transformer@0.74.83": + version "0.74.83" + resolved "https://registry.yarnpkg.com/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.74.83.tgz#ba87c3cf041f4c0d2b991231af1a6b4a216e9b5d" + integrity sha512-hGdx5N8diu8y+GW/ED39vTZa9Jx1di2ZZ0aapbhH4egN1agIAusj5jXTccfNBwwWF93aJ5oVbRzfteZgjbutKg== dependencies: "@babel/core" "^7.20.0" - "@react-native/babel-preset" "0.73.21" - hermes-parser "0.15.0" + "@react-native/babel-preset" "0.74.83" + hermes-parser "0.19.1" nullthrows "^1.1.1" -"@react-native/normalize-color@^2.0.0", "@react-native/normalize-color@^2.1.0": - 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/normalize-colors@0.73.2", "@react-native/normalize-colors@^0.73.0": - version "0.73.2" - resolved "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.73.2.tgz" - integrity sha512-bRBcb2T+I88aG74LMVHaKms2p/T8aQd8+BZ7LuuzXlRfog1bMWWn/C5i0HVuvW4RPtXQYgIlGiXVDy9Ir1So/w== +"@react-native/normalize-colors@0.74.83", "@react-native/normalize-colors@^0.74.1", "@react-native/normalize-colors@~0.74.83": + version "0.74.83" + resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.74.83.tgz#86ef925bacf219d74df115bcfb615f62d8142e85" + integrity sha512-jhCY95gRDE44qYawWVvhTjTplW1g+JtKTKM3f8xYT1dJtJ8QWv+gqEtKcfmOHfDkSDaMKG0AGBaDTSK8GXLH8Q== -"@react-native/virtualized-lists@0.73.4": - version "0.73.4" - resolved "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.73.4.tgz" - integrity sha512-HpmLg1FrEiDtrtAbXiwCgXFYyloK/dOIPIuWW3fsqukwJEWAiTzm1nXGJ7xPU5XTHiWZ4sKup5Ebaj8z7iyWog== +"@react-native/virtualized-lists@0.74.83": + version "0.74.83" + resolved "https://registry.yarnpkg.com/@react-native/virtualized-lists/-/virtualized-lists-0.74.83.tgz#5595d6aefd9679d1295c56a1d1653b1fb261bd62" + integrity sha512-rmaLeE34rj7py4FxTod7iMTC7BAsm+HrGA8WxYmEJeyTV7WSaxAkosKoYBz8038mOiwnG9VwA/7FrB6bEQvn1A== dependencies: invariant "^2.2.4" nullthrows "^1.1.1" @@ -2474,6 +2251,18 @@ dependencies: nanoid "^3.1.23" +"@rnx-kit/chromium-edge-launcher@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@rnx-kit/chromium-edge-launcher/-/chromium-edge-launcher-1.0.0.tgz#c0df8ea00a902c7a417cd9655aab06de398b939c" + integrity sha512-lzD84av1ZQhYUS+jsGqJiCMaJO2dn9u+RTT9n9q6D3SaKVwWqv+7AoRKqBu19bkwyE+iFRl1ymr40QS90jVFYg== + dependencies: + "@types/node" "^18.0.0" + escape-string-regexp "^4.0.0" + is-wsl "^2.2.0" + lighthouse-logger "^1.0.0" + mkdirp "^1.0.4" + rimraf "^3.0.2" + "@segment/loosely-validate-event@^2.0.0": version "2.0.0" resolved "https://registry.npmjs.org/@segment/loosely-validate-event/-/loosely-validate-event-2.0.0.tgz" @@ -2724,6 +2513,13 @@ resolved "https://registry.npmjs.org/@types/node/-/node-18.7.23.tgz" integrity sha512-DWNcCHolDq0ZKGizjx2DZjR/PqsYwAcYUJmfMWqtVU2MBMG5Mo+xFZrhGId5r/O5HOuMPyQEcM6KUBp5lBZZBg== +"@types/node@^18.0.0": + version "18.19.33" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.33.tgz#98cd286a1b8a5e11aa06623210240bcc28e95c48" + integrity sha512-NR9+KrpSajr2qBVp/Yt5TU/rp+b5Mayi3+OlMlcg2cVCfRmcG5PWZ7S4+MG9PZ5gWBoc9Pd0BKSRViuBCRPu0A== + dependencies: + undici-types "~5.26.4" + "@types/prop-types@*": version "15.7.5" resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz" @@ -2739,10 +2535,10 @@ resolved "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz" integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ== -"@types/react-dom@~18.0.10": - version "18.0.11" - resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.11.tgz" - integrity sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw== +"@types/react-dom@~18.2.25": + version "18.2.25" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.25.tgz#2946a30081f53e7c8d585eb138277245caedc521" + integrity sha512-o/V48vf4MQh7juIKZU2QGDfli6p1+OOi5oXx36Hffpc9adsHeXjVp8rHuPkjd8VT8sOJ2Zp05HR7CdpGTIUFUA== dependencies: "@types/react" "*" @@ -3505,7 +3301,7 @@ babel-plugin-module-resolver@^5.0.0: reselect "^4.1.7" resolve "^1.22.1" -babel-plugin-polyfill-corejs2@^0.4.10, babel-plugin-polyfill-corejs2@^0.4.5: +babel-plugin-polyfill-corejs2@^0.4.10: version "0.4.10" resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz" integrity sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ== @@ -3522,21 +3318,6 @@ babel-plugin-polyfill-corejs3@^0.10.1: "@babel/helper-define-polyfill-provider" "^0.6.1" core-js-compat "^3.36.1" -babel-plugin-polyfill-corejs3@^0.8.3: - version "0.8.3" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.3.tgz" - integrity sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.4.2" - core-js-compat "^3.31.0" - -babel-plugin-polyfill-regenerator@^0.5.2: - version "0.5.2" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.2.tgz" - integrity sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.4.2" - babel-plugin-polyfill-regenerator@^0.6.1: version "0.6.1" resolved "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.1.tgz" @@ -3544,10 +3325,10 @@ babel-plugin-polyfill-regenerator@^0.6.1: dependencies: "@babel/helper-define-polyfill-provider" "^0.6.1" -babel-plugin-react-native-web@~0.18.10: - version "0.18.12" - resolved "https://registry.npmjs.org/babel-plugin-react-native-web/-/babel-plugin-react-native-web-0.18.12.tgz" - integrity sha512-4djr9G6fMdwQoD6LQ7hOKAm39+y12flWgovAqS1k5O8f42YQ3A1FFMyV5kKfetZuGhZO5BmNmOdRRZQ1TixtDw== +babel-plugin-react-native-web@~0.19.10: + version "0.19.11" + resolved "https://registry.yarnpkg.com/babel-plugin-react-native-web/-/babel-plugin-react-native-web-0.19.11.tgz#32316f51de0053bba6815f6522bf7b17c483bf17" + integrity sha512-0sHf8GgDhsRZxGwlwHHdfL3U8wImFaLw4haEa60U9M3EiO3bg6u3BJ+1vXhwgrevqSq76rMb5j1HJs+dNvMj5g== "babel-plugin-styled-components@>= 1.12.0": version "2.0.7" @@ -3565,11 +3346,6 @@ babel-plugin-syntax-jsx@^6.18.0: resolved "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz" integrity sha512-qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw== -babel-plugin-syntax-trailing-function-commas@^7.0.0-beta.0: - version "7.0.0-beta.0" - resolved "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz" - integrity sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ== - babel-plugin-transform-flow-enums@^0.0.2: version "0.0.2" resolved "https://registry.npmjs.org/babel-plugin-transform-flow-enums/-/babel-plugin-transform-flow-enums-0.0.2.tgz" @@ -3577,53 +3353,20 @@ babel-plugin-transform-flow-enums@^0.0.2: dependencies: "@babel/plugin-syntax-flow" "^7.12.1" -babel-preset-expo@^10.0.0, babel-preset-expo@~10.0.2: - version "10.0.2" - resolved "https://registry.npmjs.org/babel-preset-expo/-/babel-preset-expo-10.0.2.tgz" - integrity sha512-hg06qdSTK7MjKmFXSiq6cFoIbI3n3uT8a3NI2EZoISWhu+tedCj4DQduwi+3adFuRuYvAwECI0IYn/5iGh5zWQ== +babel-preset-expo@~11.0.0, babel-preset-expo@~11.0.6: + version "11.0.6" + resolved "https://registry.yarnpkg.com/babel-preset-expo/-/babel-preset-expo-11.0.6.tgz#b1ea2bd9f13338a9f7ca8d7089b5d6d6c7c03f79" + integrity sha512-jRi9I5/jT+dnIiNJDjDg+I/pV+AlxrIW/DNbdqYoRWPZA/LHDqD6IJnJXLxbuTcQ+llp+0LWcU7f/kC/PgGpkw== dependencies: "@babel/plugin-proposal-decorators" "^7.12.9" "@babel/plugin-transform-export-namespace-from" "^7.22.11" "@babel/plugin-transform-object-rest-spread" "^7.12.13" "@babel/plugin-transform-parameters" "^7.22.15" - "@babel/preset-env" "^7.20.0" "@babel/preset-react" "^7.22.15" - "@react-native/babel-preset" "^0.73.18" - babel-plugin-react-native-web "~0.18.10" - react-refresh "0.14.0" - -babel-preset-fbjs@^3.4.0: - version "3.4.0" - resolved "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.4.0.tgz" - integrity sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow== - dependencies: - "@babel/plugin-proposal-class-properties" "^7.0.0" - "@babel/plugin-proposal-object-rest-spread" "^7.0.0" - "@babel/plugin-syntax-class-properties" "^7.0.0" - "@babel/plugin-syntax-flow" "^7.0.0" - "@babel/plugin-syntax-jsx" "^7.0.0" - "@babel/plugin-syntax-object-rest-spread" "^7.0.0" - "@babel/plugin-transform-arrow-functions" "^7.0.0" - "@babel/plugin-transform-block-scoped-functions" "^7.0.0" - "@babel/plugin-transform-block-scoping" "^7.0.0" - "@babel/plugin-transform-classes" "^7.0.0" - "@babel/plugin-transform-computed-properties" "^7.0.0" - "@babel/plugin-transform-destructuring" "^7.0.0" - "@babel/plugin-transform-flow-strip-types" "^7.0.0" - "@babel/plugin-transform-for-of" "^7.0.0" - "@babel/plugin-transform-function-name" "^7.0.0" - "@babel/plugin-transform-literals" "^7.0.0" - "@babel/plugin-transform-member-expression-literals" "^7.0.0" - "@babel/plugin-transform-modules-commonjs" "^7.0.0" - "@babel/plugin-transform-object-super" "^7.0.0" - "@babel/plugin-transform-parameters" "^7.0.0" - "@babel/plugin-transform-property-literals" "^7.0.0" - "@babel/plugin-transform-react-display-name" "^7.0.0" - "@babel/plugin-transform-react-jsx" "^7.0.0" - "@babel/plugin-transform-shorthand-properties" "^7.0.0" - "@babel/plugin-transform-spread" "^7.0.0" - "@babel/plugin-transform-template-literals" "^7.0.0" - babel-plugin-syntax-trailing-function-commas "^7.0.0-beta.0" + "@babel/preset-typescript" "^7.23.0" + "@react-native/babel-preset" "~0.74.83" + babel-plugin-react-native-web "~0.19.10" + react-refresh "^0.14.2" balanced-match@^1.0.0: version "1.0.2" @@ -3671,11 +3414,6 @@ bl@^4.1.0: inherits "^2.0.4" readable-stream "^3.4.0" -blueimp-md5@^2.10.0: - version "2.19.0" - resolved "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.19.0.tgz" - integrity sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w== - body-parser@1.20.1: version "1.20.1" resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz" @@ -3990,18 +3728,6 @@ chrome-trace-event@^1.0.2: resolved "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== -chromium-edge-launcher@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/chromium-edge-launcher/-/chromium-edge-launcher-1.0.0.tgz" - integrity sha512-pgtgjNKZ7i5U++1g1PWv75umkHvhVTDOQIZ+sjeUX9483S7Y6MUvO0lrd7ShGlQlFHMN4SwKTCq/X8hWrbv2KA== - dependencies: - "@types/node" "*" - escape-string-regexp "^4.0.0" - is-wsl "^2.2.0" - lighthouse-logger "^1.0.0" - mkdirp "^1.0.4" - rimraf "^3.0.2" - ci-info@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz" @@ -4305,7 +4031,7 @@ copy-webpack-plugin@^10.2.0: schema-utils "^4.0.0" serialize-javascript "^6.0.0" -core-js-compat@^3.31.0, core-js-compat@^3.36.1: +core-js-compat@^3.36.1: version "3.37.0" resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.0.tgz" integrity sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA== @@ -4797,15 +4523,6 @@ depd@~1.1.2: resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== -deprecated-react-native-prop-types@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-5.0.0.tgz" - integrity sha512-cIK8KYiiGVOFsKdPMmm1L3tA/Gl+JopXL6F5+C7x39MyPsQYnP57Im/D6bNUzcborD7fcMwiwZqcBdBXXZucYQ== - dependencies: - "@react-native/normalize-colors" "^0.73.0" - invariant "^2.2.4" - prop-types "^15.8.1" - destroy@1.2.0: version "1.2.0" resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz" @@ -5475,116 +5192,113 @@ execa@^5.0.0, execa@^5.1.1: signal-exit "^3.0.3" strip-final-newline "^2.0.0" -expo-asset@~9.0.2: - version "9.0.2" - resolved "https://registry.npmjs.org/expo-asset/-/expo-asset-9.0.2.tgz" - integrity sha512-PzYKME1MgUOoUvwtdzhAyXkjXOXGiSYqGKG/MsXwWr0Ef5wlBaBm2DCO9V6KYbng5tBPFu6hTjoRNil1tBOSow== +expo-asset@~10.0.6: + version "10.0.6" + resolved "https://registry.yarnpkg.com/expo-asset/-/expo-asset-10.0.6.tgz#0894c4e824ce90e130852e6eecaba386e9f2e5aa" + integrity sha512-waP73/ccn/HZNNcGM4/s3X3icKjSSbEQ9mwc6tX34oYNg+XE5WdwOuZ9wgVVFrU7wZMitq22lQXd2/O0db8bxg== dependencies: - "@react-native/assets-registry" "~0.73.1" - blueimp-md5 "^2.10.0" - expo-constants "~15.4.0" - expo-file-system "~16.0.0" + "@react-native/assets-registry" "~0.74.83" + expo-constants "~16.0.0" invariant "^2.2.4" md5-file "^3.2.3" -expo-constants@~15.4.0: - version "15.4.6" - resolved "https://registry.npmjs.org/expo-constants/-/expo-constants-15.4.6.tgz" - integrity sha512-vizE69dww2Vl0PTWWvDmK0Jo2/J+WzdcMZlA05YEnEYofQuhKxTVsiuipf79mSOmFavt4UQYC1UnzptzKyfmiQ== +expo-constants@~16.0.0: + version "16.0.1" + resolved "https://registry.yarnpkg.com/expo-constants/-/expo-constants-16.0.1.tgz#1285e29c85513c6e88e118289e2baab72596d3f7" + integrity sha512-s6aTHtglp926EsugWtxN7KnpSsE9FCEjb7CgEjQQ78Gpu4btj4wB+IXot2tlqNwqv+x7xFe5veoPGfJDGF/kVg== dependencies: - "@expo/config" "~8.5.0" + "@expo/config" "~9.0.0-beta.0" -expo-dev-client@~3.3.11: - version "3.3.11" - resolved "https://registry.yarnpkg.com/expo-dev-client/-/expo-dev-client-3.3.11.tgz#f2541ccbcfc2ba32bcea47293bc9beae4e10db60" - integrity sha512-9nhhbfbskfmjp/tlRS5KvDpCoW0BREJBxpu2GyjKu7nDB33W8fJLL0wXgNhP+QEb93r37o3uezKmUm2kibOvTw== +expo-dev-client@~4.0.13: + version "4.0.13" + resolved "https://registry.yarnpkg.com/expo-dev-client/-/expo-dev-client-4.0.13.tgz#4c2e1e84f41d183180863b3f52603715b4e35c73" + integrity sha512-OKv78etzW3Yx4ecNEWbedry5z/heG7yfybL+HKkckowZaB13Bdm2h+RcDOxt2sNE8Lu4UQHa9VU5Cfa9s0+NnA== dependencies: - expo-dev-launcher "3.6.9" - expo-dev-menu "4.5.8" - expo-dev-menu-interface "1.7.2" - expo-manifests "~0.13.0" - expo-updates-interface "~0.15.1" + expo-dev-launcher "4.0.14" + expo-dev-menu "5.0.14" + expo-dev-menu-interface "1.8.3" + expo-manifests "~0.14.0" + expo-updates-interface "~0.16.2" -expo-dev-launcher@3.6.9: - version "3.6.9" - resolved "https://registry.yarnpkg.com/expo-dev-launcher/-/expo-dev-launcher-3.6.9.tgz#5e104e0533a46f3614c1691673da3351092e8d1d" - integrity sha512-MBDMAqjCMVYt1Zv47u2dJTp4d8gCZMfM4GWAFhfQy3G6XzkUlFtewaQefAqy93FcYOv6BYdC9yZOLOb06tqTfA== +expo-dev-launcher@4.0.14: + version "4.0.14" + resolved "https://registry.yarnpkg.com/expo-dev-launcher/-/expo-dev-launcher-4.0.14.tgz#bc307a1543f0f7f2fed51c8accbb71b8380505d6" + integrity sha512-I8KXFjf7vvCwEvargeWUNBP1UHmeUNDxcnG0VXs+3Zmxc3qsTcbE+k8TU6IGeEuEp39gt3/jqEE5xmDmVnW//g== dependencies: ajv "8.11.0" - expo-dev-menu "4.5.8" - expo-manifests "~0.13.0" + expo-dev-menu "5.0.14" + expo-manifests "~0.14.0" resolve-from "^5.0.0" - semver "^7.5.3" + semver "^7.6.0" -expo-dev-menu-interface@1.7.2: - version "1.7.2" - resolved "https://registry.yarnpkg.com/expo-dev-menu-interface/-/expo-dev-menu-interface-1.7.2.tgz#772fb97c6b0a44c27965cdfcfa078f316b0930ca" - integrity sha512-V/geSB9rW0IPTR+d7E5CcvkV0uVUCE7SMHZqE/J0/dH06Wo8AahB16fimXeh5/hTL2Qztq8CQ41xpFUBoA9TEw== +expo-dev-menu-interface@1.8.3: + version "1.8.3" + resolved "https://registry.yarnpkg.com/expo-dev-menu-interface/-/expo-dev-menu-interface-1.8.3.tgz#8c1262e29e0124fc5932a129c95b36de56656b20" + integrity sha512-QM0LRozeFT5Ek0N7XpV93M+HMdEKRLEOXn0aW5M3uoUlnqC1+PLtF3HMy3k3hMKTTE/kJ1y1Z7akH07T0lunCQ== -expo-dev-menu@4.5.8: - version "4.5.8" - resolved "https://registry.yarnpkg.com/expo-dev-menu/-/expo-dev-menu-4.5.8.tgz#21940385124c7d2745066bbcb42185ebd35f66bc" - integrity sha512-GXfI0CmYlqjOqyFjtplXO9PSoJQoy89+50lbUSNZykDsGyvzCPzl4txdQcdHHSglKYr7lWV7aeMVeehuSct60w== +expo-dev-menu@5.0.14: + version "5.0.14" + resolved "https://registry.yarnpkg.com/expo-dev-menu/-/expo-dev-menu-5.0.14.tgz#7d54fc51b42217588cb9c5f2049bcf857d6e0b3d" + integrity sha512-zPXBMCyjptn4Aw7D2Z8FEqndED33g1ryChN0nyTA1zHzckDNwnGuLdTWTsNFrqmFqyqjRJgG5xFVJmnsDO8WyQ== dependencies: - expo-dev-menu-interface "1.7.2" - semver "^7.5.3" + expo-dev-menu-interface "1.8.3" + semver "^7.5.4" -expo-eas-client@~0.11.0: - version "0.11.2" - resolved "https://registry.npmjs.org/expo-eas-client/-/expo-eas-client-0.11.2.tgz" - integrity sha512-SY7rVFxb4ut/OMTgR7A39Jg+8+hXwQNRpZd+RBpB+B5XV2STj/pWXHnGFhBayEF4umI4SxrOvisY90rlPWVO9Q== +expo-eas-client@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/expo-eas-client/-/expo-eas-client-0.12.0.tgz#e8b6f7d33873e6f630f37f7bfc41646ae7b0b2a9" + integrity sha512-Jkww9Cwpv0z7DdLYiRX0r4fqBEcI9cKqTn7cHx63S09JaZ2rcwEE4zYHgrXwjahO+tU2VW8zqH+AJl6RhhW4zA== -expo-file-system@~16.0.0, expo-file-system@~16.0.9: - version "16.0.9" - resolved "https://registry.npmjs.org/expo-file-system/-/expo-file-system-16.0.9.tgz" - integrity sha512-3gRPvKVv7/Y7AdD9eHMIdfg5YbUn2zbwKofjsloTI5sEC57SLUFJtbLvUCz9Pk63DaSQ7WIE1JM0EASyvuPbuw== +expo-file-system@~17.0.1: + version "17.0.1" + resolved "https://registry.yarnpkg.com/expo-file-system/-/expo-file-system-17.0.1.tgz#b9f8af8c1c06ec71d96fd7a0d2567fa9e1c88f15" + integrity sha512-dYpnZJqTGj6HCYJyXAgpFkQWsiCH3HY1ek2cFZVHFoEc5tLz9gmdEgTF6nFHurvmvfmXqxi7a5CXyVm0aFYJBw== -expo-font@~11.10.3: - version "11.10.3" - resolved "https://registry.npmjs.org/expo-font/-/expo-font-11.10.3.tgz" - integrity sha512-q1Td2zUvmLbCA9GV4OG4nLPw5gJuNY1VrPycsnemN1m8XWTzzs8nyECQQqrcBhgulCgcKZZJJ6U0kC2iuSoQHQ== +expo-font@~12.0.5: + version "12.0.5" + resolved "https://registry.yarnpkg.com/expo-font/-/expo-font-12.0.5.tgz#3451c2bd3f98859b127a6484d3474a292889b93f" + integrity sha512-h/VkN4jlHYDJ6T6pPgOYTVoDEfBY0CTKQe4pxnPDGQiE6H+DFdDgk+qWVABGpRMH0+zXoHB+AEi3OoQjXIynFA== dependencies: fontfaceobserver "^2.1.0" -expo-json-utils@~0.12.0: - version "0.12.3" - resolved "https://registry.npmjs.org/expo-json-utils/-/expo-json-utils-0.12.3.tgz" - integrity sha512-4pypQdinpNc6XY9wsZk56njvzDh+B/9mISr7FPP3CVk1QGB1nSLh883/BCDSgnsephATZkC5HG+cdE60kCAR6A== +expo-json-utils@~0.13.0: + version "0.13.1" + resolved "https://registry.yarnpkg.com/expo-json-utils/-/expo-json-utils-0.13.1.tgz#e49b697198e11c573d346f08ab91c467095934a9" + integrity sha512-mlfaSArGVb+oJmUcR22jEONlgPp0wj4iNIHfQ2je9Q8WTOqMc0Ws9tUciz3JdJnhffdHqo/k8fpvf0IRmN5HPA== -expo-keep-awake@~12.8.2: - version "12.8.2" - resolved "https://registry.npmjs.org/expo-keep-awake/-/expo-keep-awake-12.8.2.tgz" - integrity sha512-uiQdGbSX24Pt8nGbnmBtrKq6xL/Tm3+DuDRGBk/3ZE/HlizzNosGRIufIMJ/4B4FRw4dw8KU81h2RLuTjbay6g== +expo-keep-awake@~13.0.1: + version "13.0.1" + resolved "https://registry.yarnpkg.com/expo-keep-awake/-/expo-keep-awake-13.0.1.tgz#6c0a0d1fe388fe5a63e2089ade66798eba23f089" + integrity sha512-Kqv8Bf1f5Jp7YMUgTTyKR9GatgHJuAcC8vVWDEkgVhB3O7L3pgBy5MMSMUhkTmRRV6L8TZe/rDmjiBoVS/soFA== -expo-linear-gradient@~12.7.2: - version "12.7.2" - resolved "https://registry.yarnpkg.com/expo-linear-gradient/-/expo-linear-gradient-12.7.2.tgz#2ff9593eae8448ac5630be1a36ce6133c4a6f074" - integrity sha512-Wwb2EF18ywgrlTodcXJ6Yt/UEcKitRMdXPNyP/IokmeKh4emoq9DxZJpZdkXm3HUTLlbRpi6/t32jrFVqXB9AQ== +expo-linear-gradient@~13.0.2: + version "13.0.2" + resolved "https://registry.yarnpkg.com/expo-linear-gradient/-/expo-linear-gradient-13.0.2.tgz#21bd7bc7c71ef4f7c089521daa16db729d2aec5f" + integrity sha512-EDcILUjRKu4P1rtWcwciN6CSyGtH7Bq4ll3oTRV7h3h8oSzSilH1g6z7kTAMlacPBKvMnkkWOGzW6KtgMKEiTg== -expo-manifests@~0.13.0: - version "0.13.2" - resolved "https://registry.npmjs.org/expo-manifests/-/expo-manifests-0.13.2.tgz" - integrity sha512-l0Sia1WmLULx8V41K8RzGLsFoTe4qqthPRGpHjItsYn8ZB6lRrdTBM9OYp2McIflgqN1HAimUCQMFIwJyH+UmA== +expo-manifests@~0.14.0: + version "0.14.2" + resolved "https://registry.yarnpkg.com/expo-manifests/-/expo-manifests-0.14.2.tgz#431a235f21ca667ea8f8642819fbc414a8473174" + integrity sha512-hFrwIGr76/zGVhZ+vcjDZpOePd7uYNB6yCaiJcm7/bcrt2ne7cHyKQ8l+3n26/v1OuXfBfjxNH+PHIpkClszoQ== dependencies: - "@expo/config" "~8.5.0" - expo-json-utils "~0.12.0" + "@expo/config" "~9.0.0-beta.0" + expo-json-utils "~0.13.0" -expo-modules-autolinking@1.10.3: - version "1.10.3" - resolved "https://registry.npmjs.org/expo-modules-autolinking/-/expo-modules-autolinking-1.10.3.tgz" - integrity sha512-pn4n2Dl4iRh/zUeiChjRIe1C7EqOw1qhccr85viQV7W6l5vgRpY0osE51ij5LKg/kJmGRcJfs12+PwbdTplbKw== +expo-modules-autolinking@1.11.1: + version "1.11.1" + resolved "https://registry.yarnpkg.com/expo-modules-autolinking/-/expo-modules-autolinking-1.11.1.tgz#4a867f727d9dfde07de8dde14b333a3cbf82ce3c" + integrity sha512-2dy3lTz76adOl7QUvbreMCrXyzUiF8lygI7iFJLjgIQIVH+43KnFWE5zBumpPbkiaq0f0uaFpN9U0RGQbnKiMw== dependencies: - "@expo/config" "~8.5.0" chalk "^4.1.0" commander "^7.2.0" fast-glob "^3.2.5" find-up "^5.0.0" fs-extra "^9.1.0" -expo-modules-core@1.11.13: - version "1.11.13" - resolved "https://registry.npmjs.org/expo-modules-core/-/expo-modules-core-1.11.13.tgz" - integrity sha512-2H5qrGUvmLzmJNPDOnovH1Pfk5H/S/V0BifBmOQyDc9aUh9LaDwkqnChZGIXv8ZHDW8JRlUW0QqyWxTggkbw1A== +expo-modules-core@1.12.10: + version "1.12.10" + resolved "https://registry.yarnpkg.com/expo-modules-core/-/expo-modules-core-1.12.10.tgz#44c5510e8fa16936c48fa986b3a3429c207381be" + integrity sha512-aS4imfr7fuUtcx+j/CHuG6ohNSThyCzGRh1kKjQTDcO0/CqDO2cSFnxf7n2vpiRFgyoMFJvFFtW/zIzVXiC2Tw== dependencies: invariant "^2.2.4" @@ -5598,63 +5312,67 @@ expo-pwa@0.0.127: commander "2.20.0" update-check "1.5.3" -expo-splash-screen@~0.26.4: - version "0.26.4" - resolved "https://registry.npmjs.org/expo-splash-screen/-/expo-splash-screen-0.26.4.tgz" - integrity sha512-2DwofTQ0FFQCsvDysm/msENsbyNsJiAJwK3qK/oXeizECAPqD7bK19J4z9kuEbr7ORPX9MLnTQYKl6kmX3keUg== +expo-splash-screen@~0.27.4: + version "0.27.4" + resolved "https://registry.yarnpkg.com/expo-splash-screen/-/expo-splash-screen-0.27.4.tgz#d7a86a2a1a87824ed47388aa8836e91b61268c62" + integrity sha512-JwepK1FjbwiOK2nwIFanfzj9s7UXYnpTwLX8A9v7Ec3K4V28yu8HooSc9X60cftBw9UZrs8Gwj4PgTpQabBS9A== dependencies: - "@expo/prebuild-config" "6.7.4" + "@expo/prebuild-config" "7.0.3" -expo-status-bar@~1.11.1: - version "1.11.1" - resolved "https://registry.npmjs.org/expo-status-bar/-/expo-status-bar-1.11.1.tgz" - integrity sha512-ddQEtCOgYHTLlFUe/yH67dDBIoct5VIULthyT3LRJbEwdpzAgueKsX2FYK02ldh440V87PWKCamh7R9evk1rrg== +expo-status-bar@~1.12.1: + version "1.12.1" + resolved "https://registry.yarnpkg.com/expo-status-bar/-/expo-status-bar-1.12.1.tgz#52ce594aab5064a0511d14375364d718ab78aa66" + integrity sha512-/t3xdbS8KB0prj5KG5w7z+wZPFlPtkgs95BsmrP/E7Q0xHXTcDcQ6Cu2FkFuRM+PKTb17cJDnLkawyS5vDLxMA== -expo-structured-headers@~3.7.0: - version "3.7.2" - resolved "https://registry.npmjs.org/expo-structured-headers/-/expo-structured-headers-3.7.2.tgz" - integrity sha512-/nGOyeWUXSUy4aIYKJTwQOznRNs0yKqKPAyEE6jtwvOl9qvfDWx9xskNtShioggBhFAssFkV6RBbPn+xZMQtvw== +expo-structured-headers@~3.8.0: + version "3.8.0" + resolved "https://registry.yarnpkg.com/expo-structured-headers/-/expo-structured-headers-3.8.0.tgz#11797a4c3a7a6770b21126cecffcda148030e361" + integrity sha512-R+gFGn0x5CWl4OVlk2j1bJTJIz4KO8mPoCHpRHmfqMjmrMvrOM0qQSY3V5NHXwp1yT/L2v8aUmFQsBRIdvi1XA== -expo-updates-interface@~0.15.1: - version "0.15.3" - resolved "https://registry.npmjs.org/expo-updates-interface/-/expo-updates-interface-0.15.3.tgz" - integrity sha512-uLvsbaCmUsXgJqeen8rYH/jPr874ZUCXEvWpKHxrCv5/XATPlYEaDuecbNSGQ+cu78i6MdtB4BHOwZmoH2d47A== +expo-updates-interface@~0.16.2: + version "0.16.2" + resolved "https://registry.yarnpkg.com/expo-updates-interface/-/expo-updates-interface-0.16.2.tgz#ad1ac2ca8ee5a8cc84052ea3c18a11da64da569b" + integrity sha512-929XBU70q5ELxkKADj1xL0UIm3HvhYhNAOZv5DSk7rrKvLo7QDdPyl+JVnwZm9LrkNbH4wuE2rLoKu1KMgZ+9A== -expo-updates@~0.24.12: - version "0.24.12" - resolved "https://registry.yarnpkg.com/expo-updates/-/expo-updates-0.24.12.tgz#17a708f52f999d0a7dcbf3d4401b5a481ab12730" - integrity sha512-35ZpAMSqHIyVGT5mEptaZJBxytu0mv4PIG28i3BQe+GG4ifQtY94aCOCrUwZe8Myzaf4dNVGEUXWTPo+JPCgcw== +expo-updates@~0.25.12: + version "0.25.12" + resolved "https://registry.yarnpkg.com/expo-updates/-/expo-updates-0.25.12.tgz#3c001c50b132b0b2d676468400bfcb5b62a68600" + integrity sha512-y3xVCXRfXeIri1fjzwCQRVAovyL0sTc78Rj6cTOMQhtbgIGjF/Ud8aINv+mbi7me4+CljAsCzEDu/Cvngp5EGw== dependencies: "@expo/code-signing-certificates" "0.0.5" - "@expo/config" "~8.5.0" - "@expo/config-plugins" "~7.8.0" + "@expo/config" "~9.0.0-beta.0" + "@expo/config-plugins" "~8.0.0-beta.0" + "@expo/fingerprint" "^0.7.0" + "@expo/spawn-async" "^1.7.2" arg "4.1.0" chalk "^4.1.2" - expo-eas-client "~0.11.0" - expo-manifests "~0.13.0" - expo-structured-headers "~3.7.0" - expo-updates-interface "~0.15.1" + expo-eas-client "~0.12.0" + expo-manifests "~0.14.0" + expo-structured-headers "~3.8.0" + expo-updates-interface "~0.16.2" + fast-glob "^3.3.2" fbemitter "^3.0.0" + ignore "^5.3.1" resolve-from "^5.0.0" -expo@^50.0.0: - version "50.0.17" - resolved "https://registry.npmjs.org/expo/-/expo-50.0.17.tgz" - integrity sha512-eD8Nh10BgVwecU7EVyogx7X314ajxVpJdFwkXhi341AD61S2WPX31NMHW82XGXas6dbDjdbgtaOMo5H/vylB7Q== +expo@^51.0.0: + version "51.0.5" + resolved "https://registry.yarnpkg.com/expo/-/expo-51.0.5.tgz#f39f7dc6d389f893f29c739ad4c8657aa9dea64d" + integrity sha512-i+AfkfToYPFCobX0NUT9PmDtsB3L19vhCB/XUE1Ph6FVrBF6GipkHzTADuRLMaVg5u/2sm/fdzGzBcMjXSHqmA== dependencies: "@babel/runtime" "^7.20.0" - "@expo/cli" "0.17.10" - "@expo/config" "8.5.6" - "@expo/config-plugins" "7.9.1" - "@expo/metro-config" "0.17.7" + "@expo/cli" "0.18.11" + "@expo/config" "9.0.1" + "@expo/config-plugins" "8.0.4" + "@expo/metro-config" "0.18.3" "@expo/vector-icons" "^14.0.0" - babel-preset-expo "~10.0.2" - expo-asset "~9.0.2" - expo-file-system "~16.0.9" - expo-font "~11.10.3" - expo-keep-awake "~12.8.2" - expo-modules-autolinking "1.10.3" - expo-modules-core "1.11.13" + babel-preset-expo "~11.0.6" + expo-asset "~10.0.6" + expo-file-system "~17.0.1" + expo-font "~12.0.5" + expo-keep-awake "~13.0.1" + expo-modules-autolinking "1.11.1" + expo-modules-core "1.12.10" fbemitter "^3.0.0" whatwg-url-without-unicode "8.0.0-3" @@ -5716,6 +5434,17 @@ fast-glob@^3.2.5, fast-glob@^3.2.7, fast-glob@^3.2.9: merge2 "^1.3.0" micromatch "^4.0.4" +fast-glob@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" + integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + fast-json-stable-stringify@^2.0.0: version "2.1.0" resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" @@ -5903,7 +5632,7 @@ flow-enums-runtime@^0.0.6: resolved "https://registry.npmjs.org/flow-enums-runtime/-/flow-enums-runtime-0.0.6.tgz" integrity sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw== -flow-parser@0.*, flow-parser@^0.206.0: +flow-parser@0.*: version "0.206.0" resolved "https://registry.npmjs.org/flow-parser/-/flow-parser-0.206.0.tgz" integrity sha512-HVzoK3r6Vsg+lKvlIZzaWNBVai+FXTX1wdYhz/wVlH13tb/gOdLXmlTqy6odmTBhT5UoWUbq0k8263Qhr9d88w== @@ -6349,22 +6078,22 @@ he@1.2.0, he@^1.2.0: resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== -hermes-estree@0.15.0: - version "0.15.0" - resolved "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.15.0.tgz" - integrity sha512-lLYvAd+6BnOqWdnNbP/Q8xfl8LOGw4wVjfrNd9Gt8eoFzhNBRVD95n4l2ksfMVOoxuVyegs85g83KS9QOsxbVQ== +hermes-estree@0.19.1: + version "0.19.1" + resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.19.1.tgz#d5924f5fac2bf0532547ae9f506d6db8f3c96392" + integrity sha512-daLGV3Q2MKk8w4evNMKwS8zBE/rcpA800nu1Q5kM08IKijoSnPe9Uo1iIxzPKRkn95IxxsgBMPeYHt3VG4ej2g== hermes-estree@0.20.1: version "0.20.1" resolved "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.20.1.tgz" integrity sha512-SQpZK4BzR48kuOg0v4pb3EAGNclzIlqMj3Opu/mu7bbAoFw6oig6cEt/RAi0zTFW/iW6Iz9X9ggGuZTAZ/yZHg== -hermes-parser@0.15.0: - version "0.15.0" - resolved "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.15.0.tgz" - integrity sha512-Q1uks5rjZlE9RjMMjSUCkGrEIPI5pKJILeCtK1VmTj7U4pf3wVPoo+cxfu+s4cBAPy2JzikIIdCZgBoR6x7U1Q== +hermes-parser@0.19.1: + version "0.19.1" + resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.19.1.tgz#1044348097165b7c93dc198a80b04ed5130d6b1a" + integrity sha512-Vp+bXzxYJWrpEuJ/vXxUsLnt0+y4q9zyi4zUlkLqD8FKv4LjIfOvP69R/9Lty3dCyKh0E2BU7Eypqr63/rKT/A== dependencies: - hermes-estree "0.15.0" + hermes-estree "0.19.1" hermes-parser@0.20.1: version "0.20.1" @@ -6569,6 +6298,11 @@ ignore@^5.0.5, ignore@^5.1.9, ignore@^5.2.0: resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz" integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== +ignore@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" + integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== + image-size@^1.0.2: version "1.1.1" resolved "https://registry.npmjs.org/image-size/-/image-size-1.1.1.tgz" @@ -7924,7 +7658,7 @@ minipass-pipeline@^1.2.2: dependencies: minipass "^3.0.0" -minipass@3.3.6, minipass@^3.0.0, minipass@^3.1.1: +minipass@^3.0.0, minipass@^3.1.1: version "3.3.6" resolved "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz" integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== @@ -9026,6 +8760,11 @@ query-string@^7.1.3: split-on-first "^1.0.0" strict-uri-encode "^2.0.0" +querystring@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.1.tgz#40d77615bb09d16902a85c3e38aa8b5ed761c2dd" + integrity sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg== + queue-microtask@^1.2.2: version "1.2.3" resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" @@ -9075,10 +8814,10 @@ rc@^1.0.1, rc@^1.1.6, rc@~1.2.7: minimist "^1.2.0" strip-json-comments "~2.0.1" -react-devtools-core@^4.27.7: - version "4.28.5" - resolved "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-4.28.5.tgz" - integrity sha512-cq/o30z9W2Wb4rzBefjv5fBalHU0rJGZCHAkf/RHSBWSSYwh8PlQTqqOJmgIIbBtpj27T6FIPXeomIjZtCNVqA== +react-devtools-core@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-5.2.0.tgz#072ecd2d84d3653817cc11e4b16f60a3c2b705f9" + integrity sha512-vZK+/gvxxsieAoAyYaiRIVFxlajb7KXhgBDV7OsoMzaAE+IqGpoxusBjIgq5ibqA2IloKu0p9n7tE68z1xs18A== dependencies: shell-quote "^1.6.1" ws "^7" @@ -9127,10 +8866,10 @@ react-native-chart-kit@^6.12.0: paths-js "^0.4.10" point-in-polygon "^1.0.1" -react-native-gesture-handler@~2.14.0: - version "2.14.1" - resolved "https://registry.yarnpkg.com/react-native-gesture-handler/-/react-native-gesture-handler-2.14.1.tgz#930640231024b7921435ab476aa501dd4a6b2e01" - integrity sha512-YiM1BApV4aKeuwsM6O4C2ufwewYEKk6VMXOt0YqEZFMwABBFWhXLySFZYjBSNRU2USGppJbfHP1q1DfFQpKhdA== +react-native-gesture-handler@~2.16.1: + version "2.16.2" + resolved "https://registry.yarnpkg.com/react-native-gesture-handler/-/react-native-gesture-handler-2.16.2.tgz#032bd2a07334292d7f6cff1dc9d1ec928f72e26d" + integrity sha512-vGFlrDKlmyI+BT+FemqVxmvO7nqxU33cgXVsn6IKAFishvlG3oV2Ds67D5nPkHMea8T+s1IcuMm0bF8ntZtAyg== dependencies: "@egjs/hammerjs" "^2.0.17" hoist-non-react-statics "^3.3.0" @@ -9146,35 +8885,39 @@ react-native-modal@^13.0.1: prop-types "^15.6.2" react-native-animatable "1.3.3" -react-native-pager-view@6.2.3: - version "6.2.3" - resolved "https://registry.yarnpkg.com/react-native-pager-view/-/react-native-pager-view-6.2.3.tgz#698f6387fdf06cecc3d8d4792604419cb89cb775" - integrity sha512-dqVpXWFtPNfD3D2QQQr8BP+ullS5MhjRJuF8Z/qml4QTILcrWaW8F5iAxKkQR3Jl0ikcEryG/+SQlNcwlo0Ggg== +react-native-pager-view@6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/react-native-pager-view/-/react-native-pager-view-6.3.0.tgz#7e734e84b1692f877591335373f6fd92f0d67aa6" + integrity sha512-ufJOoVa9pFL1J/yb4hpsCqp8n1qTlcF5VvwqvCacHX//D7hSeRscsiIXg1u1pXNWwllvACb+mqxec/3Uj2mxrA== react-native-reanimated-carousel@^3.5.1: version "3.5.1" resolved "https://registry.yarnpkg.com/react-native-reanimated-carousel/-/react-native-reanimated-carousel-3.5.1.tgz#3605b9959ffc0aa1c6b8b8736d98f91f46e36b17" integrity sha512-9BBQV6JAYSQm2lV7MFtT4mzapXmW4IZO6s38gfiJL84Jg23ivGB1UykcNQauKgtHyhtW2NuZJzItb1s42lM+hA== -react-native-reanimated@~3.6.2: - version "3.6.3" - resolved "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-3.6.3.tgz" - integrity sha512-2KkkPozoIvDbJcHuf8qeyoLROXQxizSi+2CTCkuNVkVZOxxY4B0Omvgq61aOQhSZUh/649x1YHoAaTyGMGDJUw== +react-native-reanimated@~3.10.1: + version "3.10.1" + resolved "https://registry.yarnpkg.com/react-native-reanimated/-/react-native-reanimated-3.10.1.tgz#3c37d1100bbba0065df39c96aab0c1ff1b50c0fa" + integrity sha512-sfxg6vYphrDc/g4jf/7iJ7NRi+26z2+BszPmvmk0Vnrz6FL7HYljJqTf531F1x6tFmsf+FEAmuCtTUIXFLVo9w== dependencies: - "@babel/plugin-transform-object-assign" "^7.16.7" + "@babel/plugin-transform-arrow-functions" "^7.0.0-0" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.0.0-0" + "@babel/plugin-transform-optional-chaining" "^7.0.0-0" + "@babel/plugin-transform-shorthand-properties" "^7.0.0-0" + "@babel/plugin-transform-template-literals" "^7.0.0-0" "@babel/preset-typescript" "^7.16.7" convert-source-map "^2.0.0" invariant "^2.2.4" -react-native-safe-area-context@4.8.2: - version "4.8.2" - resolved "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-4.8.2.tgz" - integrity sha512-ffUOv8BJQ6RqO3nLml5gxJ6ab3EestPiyWekxdzO/1MQ7NF8fW1Mzh1C5QE9yq573Xefnc7FuzGXjtesZGv7cQ== +react-native-safe-area-context@4.10.1: + version "4.10.1" + resolved "https://registry.yarnpkg.com/react-native-safe-area-context/-/react-native-safe-area-context-4.10.1.tgz#29fb27395ff7dfa2fa38788a27226330d73a81cc" + integrity sha512-w8tCuowDorUkPoWPXmhqosovBr33YsukkwYCDERZFHAxIkx6qBadYxfeoaJ91nCQKjkNzGrK5qhoNOeSIcYSpA== -react-native-screens@~3.29.0: - version "3.29.0" - resolved "https://registry.npmjs.org/react-native-screens/-/react-native-screens-3.29.0.tgz" - integrity sha512-yB1GoAMamFAcYf4ku94uBPn0/ani9QG7NdI98beJ5cet2YFESYYzuEIuU+kt+CNRcO8qqKeugxlfgAa3HyTqlg== +react-native-screens@3.31.1: + version "3.31.1" + resolved "https://registry.yarnpkg.com/react-native-screens/-/react-native-screens-3.31.1.tgz#909a890f669e32b0fb1b1410278b71ad2f8238f6" + integrity sha512-8fRW362pfZ9y4rS8KY5P3DFScrmwo/vu1RrRMMx0PNHbeC9TLq0Kw1ubD83591yz64gLNHFLTVkTJmWeWCXKtQ== dependencies: react-freeze "^1.0.0" warn-once "^0.1.0" @@ -9190,10 +8933,10 @@ react-native-svg-charts@^5.4.0: d3-shape "^1.0.6" prop-types "^15.6.0" -react-native-svg@14.1.0: - version "14.1.0" - resolved "https://registry.yarnpkg.com/react-native-svg/-/react-native-svg-14.1.0.tgz#7903bddd3c71bf3a8a503918253c839e6edaa724" - integrity sha512-HeseElmEk+AXGwFZl3h56s0LtYD9HyGdrpg8yd9QM26X+d7kjETrRQ9vCjtxuT5dCZEIQ5uggU1dQhzasnsCWA== +react-native-svg@15.2.0: + version "15.2.0" + resolved "https://registry.yarnpkg.com/react-native-svg/-/react-native-svg-15.2.0.tgz#9561a6b3bd6b44689f437ba13182afee33bd5557" + integrity sha512-R0E6IhcJfVLsL0lRmnUSm72QO+mTqcAOM5Jb8FVGxJqX3NfJMlMP0YyvcajZiaRR8CqQUpEoqrY25eyZb006kw== dependencies: css-select "^5.1.0" css-tree "^1.1.3" @@ -9210,13 +8953,13 @@ react-native-toast-notifications@^3.4.0: resolved "https://registry.npmjs.org/react-native-toast-notifications/-/react-native-toast-notifications-3.4.0.tgz" integrity sha512-ZvB//jLhRiBRemtcH7vGP1maiKCikqtW4aDqo+QYvEIOcX0y3GrjxRayVAqI4oh0qJgd/26DkbM8COobj+0MEQ== -react-native-web@~0.19.6: - version "0.19.7" - resolved "https://registry.npmjs.org/react-native-web/-/react-native-web-0.19.7.tgz" - integrity sha512-AaU4EKCrhdXaKJT3oVm3DH1LJxbA7VEe4TWKBSabGA6+b+CVH2SrCSEKc1pJjqK9iq3gxPcRWnPgrTQ6eHLRmQ== +react-native-web@~0.19.10: + version "0.19.11" + resolved "https://registry.yarnpkg.com/react-native-web/-/react-native-web-0.19.11.tgz#1b96ac3cea9af4e1280fd5fa3b606b471f66edc3" + integrity sha512-51Qcjr0AtIgskwLqLsBByUMPs2nAWZ+6QF7x/siC72svNPcJ1/daXoPTNuHR2fX4oOrDATC4Vmc/SXOYPH19rw== dependencies: "@babel/runtime" "^7.18.6" - "@react-native/normalize-color" "^2.1.0" + "@react-native/normalize-colors" "^0.74.1" fbjs "^3.0.4" inline-style-prefixer "^6.0.1" memoize-one "^6.0.0" @@ -9224,28 +8967,27 @@ react-native-web@~0.19.6: postcss-value-parser "^4.2.0" styleq "^0.1.3" -react-native@0.73.6: - version "0.73.6" - resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.73.6.tgz#ed4c675e205a34bd62c4ce8b9bd1ca5c85126d5b" - integrity sha512-oqmZe8D2/VolIzSPZw+oUd6j/bEmeRHwsLn1xLA5wllEYsZ5zNuMsDus235ONOnCRwexqof/J3aztyQswSmiaA== +react-native@0.74.1: + version "0.74.1" + resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.74.1.tgz#8f5f59636242eb1b90ff675d9fcc7f5b8b1c9913" + integrity sha512-0H2XpmghwOtfPpM2LKqHIN7gxy+7G/r1hwJHKLV6uoyXGC/gCojRtoo5NqyKrWpFC8cqyT6wTYCLuG7CxEKilg== dependencies: "@jest/create-cache-key-function" "^29.6.3" - "@react-native-community/cli" "12.3.6" - "@react-native-community/cli-platform-android" "12.3.6" - "@react-native-community/cli-platform-ios" "12.3.6" - "@react-native/assets-registry" "0.73.1" - "@react-native/codegen" "0.73.3" - "@react-native/community-cli-plugin" "0.73.17" - "@react-native/gradle-plugin" "0.73.4" - "@react-native/js-polyfills" "0.73.1" - "@react-native/normalize-colors" "0.73.2" - "@react-native/virtualized-lists" "0.73.4" + "@react-native-community/cli" "13.6.6" + "@react-native-community/cli-platform-android" "13.6.6" + "@react-native-community/cli-platform-ios" "13.6.6" + "@react-native/assets-registry" "0.74.83" + "@react-native/codegen" "0.74.83" + "@react-native/community-cli-plugin" "0.74.83" + "@react-native/gradle-plugin" "0.74.83" + "@react-native/js-polyfills" "0.74.83" + "@react-native/normalize-colors" "0.74.83" + "@react-native/virtualized-lists" "0.74.83" abort-controller "^3.0.0" anser "^1.4.9" ansi-regex "^5.0.0" base64-js "^1.5.1" chalk "^4.0.0" - deprecated-react-native-prop-types "^5.0.0" event-target-shim "^5.0.1" flow-enums-runtime "^0.0.6" invariant "^2.2.4" @@ -9258,7 +9000,7 @@ react-native@0.73.6: nullthrows "^1.1.1" pretty-format "^26.5.2" promise "^8.3.0" - react-devtools-core "^4.27.7" + react-devtools-core "^5.0.0" react-refresh "^0.14.0" react-shallow-renderer "^16.15.0" regenerator-runtime "^0.13.2" @@ -9268,11 +9010,16 @@ react-native@0.73.6: ws "^6.2.2" yargs "^17.6.2" -react-refresh@0.14.0, react-refresh@^0.14.0: +react-refresh@^0.14.0: version "0.14.0" resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz" integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ== +react-refresh@^0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.2.tgz#3833da01ce32da470f1f936b9d477da5c7028bf9" + integrity sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA== + react-shallow-renderer@^16.15.0: version "16.15.0" resolved "https://registry.npmjs.org/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz" @@ -9354,13 +9101,6 @@ regenerator-runtime@^0.14.0: resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz" integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== -regenerator-transform@^0.15.2: - version "0.15.2" - resolved "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz" - integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== - dependencies: - "@babel/runtime" "^7.8.4" - regexp.prototype.flags@^1.4.1, regexp.prototype.flags@^1.5.2: version "1.5.2" resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz" @@ -9696,7 +9436,7 @@ select-hose@^2.0.0: resolved "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz" integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== -selfsigned@^2.1.1: +selfsigned@^2.1.1, selfsigned@^2.4.1: version "2.4.1" resolved "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz" integrity sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q== @@ -9709,13 +9449,6 @@ semver@7.3.2: resolved "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz" integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== -semver@7.5.3: - version "7.5.3" - resolved "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz" - integrity sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ== - dependencies: - lru-cache "^6.0.0" - semver@^5.5.0, semver@^5.6.0: version "5.7.2" resolved "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz" @@ -9726,13 +9459,18 @@ semver@^6.0.0, semver@^6.3.0, semver@^6.3.1: resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.5, semver@^7.3.7, semver@^7.5.2, semver@^7.5.3, semver@^7.5.4: +semver@^7.3.5, semver@^7.3.7, semver@^7.5.2, semver@^7.5.4: version "7.6.0" resolved "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz" integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== dependencies: lru-cache "^6.0.0" +semver@^7.6.0: + version "7.6.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.2.tgz#1e3b34759f896e8f14d6134732ce798aeb0c6e13" + integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== + semver@~7.5.4: version "7.5.4" resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" @@ -10672,10 +10410,10 @@ typedarray.prototype.slice@^1.0.3: typed-array-buffer "^1.0.2" typed-array-byte-offset "^1.0.2" -typescript@^5.3.0: - version "5.4.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.5.tgz#42ccef2c571fdbd0f6718b1d1f5e6e5ef006f611" - integrity sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ== +typescript@~5.3.3: + version "5.3.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.3.3.tgz#b3ce6ba258e72e6305ba66f5c9b452aaee3ffe37" + integrity sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw== ua-parser-js@^0.7.30: version "0.7.37" @@ -10692,6 +10430,11 @@ unbox-primitive@^1.0.2: has-symbols "^1.0.3" which-boxed-primitive "^1.0.2" +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== + unicode-canonical-property-names-ecmascript@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz" From ccdc94a6bc636a4465b63ee779613278beed2e78 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Tue, 14 May 2024 20:00:41 -0300 Subject: [PATCH 02/11] =?UTF-8?q?Integra=C3=A7=C3=A3o=20Visita?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/interfaces/Visit/QuestionGrade.ts | 11 +-- src/screens/EvaluateVisit/index.tsx | 103 +++++++++++++++++++++++--- src/screens/EvaluateVisit/styles.ts | 6 +- src/services/VisitGradesService.ts | 35 +++++++++ 4 files changed, 137 insertions(+), 18 deletions(-) diff --git a/src/interfaces/Visit/QuestionGrade.ts b/src/interfaces/Visit/QuestionGrade.ts index 3c5643c..f81257a 100644 --- a/src/interfaces/Visit/QuestionGrade.ts +++ b/src/interfaces/Visit/QuestionGrade.ts @@ -1,5 +1,6 @@ -export default interface QuestionsGrade{ - grade: number, - sellerId: string, - questionsId: string - } \ No newline at end of file +export default interface QuestionsGrade { + id: string; + grade: number; + sellerId: string; + questionsId: string; +} diff --git a/src/screens/EvaluateVisit/index.tsx b/src/screens/EvaluateVisit/index.tsx index 4cbe300..bf648c6 100644 --- a/src/screens/EvaluateVisit/index.tsx +++ b/src/screens/EvaluateVisit/index.tsx @@ -1,20 +1,21 @@ import React, { useEffect, useState } from 'react'; import * as S from './styles'; -import { ScrollView } from 'react-native'; +import { ActivityIndicator } from 'react-native'; // Importando o ActivityIndicator import { useNavigation } from '@react-navigation/native'; import Breadcrumb from '@components/Breadcrumb'; import Dropdown from '@components/Dropdown'; import HeaderPages from '@components/HeaderPages'; import QuestionSection from '@components/QuestionSection'; +import { useToast } from 'react-native-toast-notifications'; import useAuth from '@hooks/useAuth'; import SellerService from '@services/SellerServices'; import VisitService from '@services/VisitService'; +import VisitGradesService from '@services/VisitGradesService'; import ISeller from '@interfaces/Seller'; import ICategories from '@interfaces/Visit/Categories'; -import IQuestions from '@interfaces/Visit/Questions'; const EvaluateVisit = () => { const navigation = useNavigation(); @@ -24,7 +25,9 @@ const EvaluateVisit = () => { const [selectedSeller, setSelectedSeller] = useState(null); const [categories, setCategories] = useState([]); const [storeName, setStoreName] = useState(''); - const [answers, setAnswers] = useState([]); + const [editedAnswers, setEditedAnswers] = useState([]); + const [loading, setLoading] = useState(false); + const toast = useToast(); useEffect(() => { const fetchSellers = async () => { @@ -64,6 +67,15 @@ const EvaluateVisit = () => { setCategories(fetchedCategories); }; + const showToast = (message: string, type: string) => { + toast.show(message, { + type: type, + placement: 'bottom', + duration: 3500, + animationType: 'zoom-in', + }); + }; + const handleAdvance = () => { setIndexScreen(indexScreen < categories.length + 1 ? indexScreen + 1 : 1); }; @@ -76,9 +88,68 @@ const EvaluateVisit = () => { setStoreName(text); }; + const finishedVisit = async () => { + try { + if (!selectedSeller || !selectedSeller.id) { + console.error('Nenhum vendedor selecionado.'); + return; + } + + setLoading(true); + + for (const answer of editedAnswers) { + const questions = await VisitGradesService.getAllQuestionsBySeller( + selectedSeller.id + ); + + const existingQuestion = questions.find( + (question) => question.questionsId === answer.questionId + ); + + if (existingQuestion) { + await updateGrades(existingQuestion, answer); + } else { + await createGrades(answer); + } + } + } catch (error) { + console.error('Ocorreu um erro:', error); + showToast('Problema em avaliar Visita', 'warning'); + } finally { + setLoading(false); + showToast('Visita avaliada com sucesso', 'success'); + setEditedAnswers([]); + } + }; + + const createGrades = async (answer) => { + try { + const result = await VisitGradesService.create({ + grade: answer.grade, + sellerId: answer.sellerId, + questionsId: answer.questionId, + }); + } catch (error) { + console.error('Erro ao criar as notas:', error); + } + }; + + const updateGrades = async (questionGrade, answer) => { + try { + const { grade } = answer; + await VisitGradesService.update(questionGrade.id, grade); + } catch (error) { + console.error('Erro ao atualizar as notas:', error); + } + }; + const handleUpdateAnswers = (updatedAnswers: any[]) => { - console.log('', updatedAnswers); - setAnswers(updatedAnswers); + const formattedAnswers = updatedAnswers.map((answer) => ({ + questionId: answer.questionId, + sellerId: selectedSeller.id, + grade: answer.value, + })); + setEditedAnswers(formattedAnswers); // Armazena as respostas editadas }; return ( @@ -120,7 +191,7 @@ const EvaluateVisit = () => { category={category} index={idx + 2} selectedIndex={indexScreen} - onUpdateAnswers={handleUpdateAnswers} // Passando a função para o componente QuestionSection + onUpdateAnswers={handleUpdateAnswers} /> ))} {indexScreen <= categories.length && ( @@ -132,7 +203,11 @@ const EvaluateVisit = () => { )} {indexScreen > categories.length && user.job === 'Supervisor' && ( - + )} @@ -140,11 +215,19 @@ const EvaluateVisit = () => { ); }; -const FinishedSection = () => { +const FinishedSection = ({ finishedVisit, array, loading }) => { return ( - - Finalizar dia com com esse vendedor + + {loading ? ( + + ) : ( + Finalizar dia com com esse vendedor + )} Iniciar nova visita diff --git a/src/screens/EvaluateVisit/styles.ts b/src/screens/EvaluateVisit/styles.ts index 8ed1643..0574c74 100644 --- a/src/screens/EvaluateVisit/styles.ts +++ b/src/screens/EvaluateVisit/styles.ts @@ -136,13 +136,13 @@ export const Outline = styled(TouchableOpacity)` border-radius: 8px; margin: 0px auto; border-width: 1px; - border-color: #3451B2; + border-color: #3451b2; `; export const TextBtnNova = styled(Text)` font-family: Poppins; text-transform: uppercase; - color: #3451B2; + color: #3451b2; font-size: 16px; `; @@ -150,7 +150,7 @@ export const BtnFinished = styled(TouchableOpacity)` padding: 8px 24px; background-color: #3e63dd; width: 90%; - height: auto; + height: 50px; display: flex; justify-content: center; align-items: center; diff --git a/src/services/VisitGradesService.ts b/src/services/VisitGradesService.ts index 9e7dd0a..b3fdc91 100644 --- a/src/services/VisitGradesService.ts +++ b/src/services/VisitGradesService.ts @@ -8,6 +8,12 @@ import IVisit from '@interfaces/Visit/Visit'; import api from './api'; +interface QuestionsGradeCreate { + grade: number; + sellerId: string; + questionsId: string; +} + export default class VisitGradeService { static async getQuestionsByIdCategory( idSeller: string @@ -18,4 +24,33 @@ export default class VisitGradeService { return questionsResponse.data; } + + static async create({ + grade, + sellerId, + questionsId, + }: QuestionsGradeCreate): Promise { + const gradeResponse = await api.post(`/questionsGrades/create`, { + grade, + sellerId, + questionsId, + }); + return gradeResponse.data; + } + + static async getAllQuestionsBySeller( + idSeller: string + ): Promise { + const questionsResponse: AxiosResponse = await api.get( + `questionsGrades/getAllBySeller/${idSeller}` + ); + + return questionsResponse.data; + } + + static async update(idQuestion: string, grade: number): Promise { + await api.patch(`/questionsGrades/update/${idQuestion}`, { + grade, + }); + } } From dc8a1336ef2f387d76ac5dea3d582dda93e480ec Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Tue, 14 May 2024 20:43:26 -0300 Subject: [PATCH 03/11] Layout --- src/components/Breadcrumb/index.tsx | 4 +++- src/screens/EvaluateVisit/index.tsx | 5 +++++ src/screens/EvaluateVisit/styles.ts | 5 +++-- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/components/Breadcrumb/index.tsx b/src/components/Breadcrumb/index.tsx index 896c2fc..b8b18f4 100644 --- a/src/components/Breadcrumb/index.tsx +++ b/src/components/Breadcrumb/index.tsx @@ -5,15 +5,17 @@ interface BreadcrumbProps { size: number; handleNavigation: (index: number) => void; selected: number; + style?: object; // Adicionando a propriedade de estilo ao BreadcrumbProps } const Breadcrumb: React.FC = ({ size, handleNavigation, selected, + style, }) => { return ( - + {Array.from({ length: size }).map((_, index) => ( { const { user } = useAuth(); const [sellers, setSellers] = useState([]); const [indexScreen, setIndexScreen] = useState(1); + const [evaluationStarted, setEvaluationStarted] = useState(false); const [selectedSeller, setSelectedSeller] = useState(null); const [categories, setCategories] = useState([]); const [storeName, setStoreName] = useState(''); @@ -78,6 +79,8 @@ const EvaluateVisit = () => { const handleAdvance = () => { setIndexScreen(indexScreen < categories.length + 1 ? indexScreen + 1 : 1); + if (!selectedSeller) return; + setEvaluationStarted(true); }; const handleNavigation = (index: number) => { @@ -158,9 +161,11 @@ const EvaluateVisit = () => { diff --git a/src/screens/EvaluateVisit/styles.ts b/src/screens/EvaluateVisit/styles.ts index 0574c74..a3fca82 100644 --- a/src/screens/EvaluateVisit/styles.ts +++ b/src/screens/EvaluateVisit/styles.ts @@ -17,7 +17,8 @@ export const WrapperView = styled(View)` export const ContainerFields = styled(View)` max-width: 100%; - gap: 16px; + + gap: 8px; `; export const DivSellerInfo = styled(View)` @@ -26,7 +27,7 @@ export const DivSellerInfo = styled(View)` margin: 0 auto; display: flex; flex-direction: row; - padding: 8px 0px; + padding: 4px 16px; align-items: center; justify-content: space-around; `; From 6abb1390cc9d5783ab2efbbd32c6d71104d1dc28 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Tue, 14 May 2024 20:48:51 -0300 Subject: [PATCH 04/11] layout avaliar visit --- src/components/Breadcrumb/index.tsx | 4 ++-- src/components/Breadcrumb/styles.ts | 1 + src/screens/EvaluateVisit/index.tsx | 2 +- src/screens/EvaluateVisit/styles.ts | 5 +++-- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/components/Breadcrumb/index.tsx b/src/components/Breadcrumb/index.tsx index b8b18f4..4a7caa0 100644 --- a/src/components/Breadcrumb/index.tsx +++ b/src/components/Breadcrumb/index.tsx @@ -21,9 +21,9 @@ const Breadcrumb: React.FC = ({ handleNavigation(index + 1)} Selected={ - index + 1 === selected + index + 2 === selected ? 'selected' - : index + 1 <= selected + : index + 2 <= selected ? 'check' : 'false' } diff --git a/src/components/Breadcrumb/styles.ts b/src/components/Breadcrumb/styles.ts index b61a189..935ed7d 100644 --- a/src/components/Breadcrumb/styles.ts +++ b/src/components/Breadcrumb/styles.ts @@ -9,6 +9,7 @@ export const Container = styled(View)` justify-content: center; border-radius: 8px; margin: 16px 0; + position: absolute; `; export const Button = styled(TouchableOpacity)<{ diff --git a/src/screens/EvaluateVisit/index.tsx b/src/screens/EvaluateVisit/index.tsx index 200dc53..baa7e3f 100644 --- a/src/screens/EvaluateVisit/index.tsx +++ b/src/screens/EvaluateVisit/index.tsx @@ -165,7 +165,7 @@ const EvaluateVisit = () => { size={categories?.length} handleNavigation={handleNavigation} selected={indexScreen} - style={{ opacity: evaluationStarted ? 1 : 0 }} // Definindo a opacidade com base no estado + style={{ opacity: evaluationStarted ? 1 : 0 }} /> diff --git a/src/screens/EvaluateVisit/styles.ts b/src/screens/EvaluateVisit/styles.ts index a3fca82..84bb93b 100644 --- a/src/screens/EvaluateVisit/styles.ts +++ b/src/screens/EvaluateVisit/styles.ts @@ -22,12 +22,13 @@ export const ContainerFields = styled(View)` `; export const DivSellerInfo = styled(View)` - width: 50%; + width: 100%; height: auto; margin: 0 auto; + margin-top: 64px; display: flex; flex-direction: row; - padding: 4px 16px; + padding: 4px 20%; align-items: center; justify-content: space-around; `; From 6bdcd2de37b2bdd27c146afada3874b10962edba Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Wed, 15 May 2024 03:12:43 -0300 Subject: [PATCH 05/11] =?UTF-8?q?Integra=C3=A7=C3=A3o=20tela=20Visita=20In?= =?UTF-8?q?specionar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/AccordionVisit/index.tsx | 201 ++++++++++++------ src/components/Breadcrumb/styles.ts | 10 +- src/components/InputRage/index.tsx | 2 +- src/components/QuestionSection/index.tsx | 43 ++-- src/components/QuestionSection/styles.ts | 8 +- src/interfaces/Visit/Questions.ts | 1 + src/screens/EvaluateVisit/index.tsx | 67 ++++-- src/screens/EvaluateVisit/styles.ts | 4 +- .../TabScreens/Mentoring/index.tsx | 2 +- .../SalesInspector/TabScreens/Visit/index.tsx | 168 +++++++++++---- src/screens/SalesInspector/index.tsx | 4 +- src/services/VisitService.ts | 8 - 12 files changed, 348 insertions(+), 170 deletions(-) diff --git a/src/components/AccordionVisit/index.tsx b/src/components/AccordionVisit/index.tsx index 6c1136f..9c21c44 100644 --- a/src/components/AccordionVisit/index.tsx +++ b/src/components/AccordionVisit/index.tsx @@ -1,93 +1,158 @@ -/* eslint-disable react-native/no-inline-styles */ import React, { useState } from 'react'; -import { View, Text, TouchableWithoutFeedback } from 'react-native'; +import { View, Text, TouchableWithoutFeedback, StyleSheet } from 'react-native'; import { FontAwesome } from '@expo/vector-icons'; type AccordionProps = { title?: string; media?: number | string; - questions?: string[]; + questions?: { question: string; grade: string }[]; + questionGrades?: number[]; +}; + +const formatNumber = (number: number | string) => { + if (typeof number === 'number') { + return number.toLocaleString('pt-BR', { + minimumFractionDigits: 1, + maximumFractionDigits: 1, + }); + } + return ''; +}; + +const AccordionHeader: React.FC<{ + title: string; + media: number | string; + isExpanded: boolean; + toggleExpand: () => void; +}> = ({ title, media, isExpanded, toggleExpand }) => ( + + + {title} + + {media !== 0 ? formatNumber(media) : 'Y,Y'} + + + + +); + +type AccordionContentProps = { + isExpanded: boolean; + questions?: { question: string; grade: string }[] | null; +}; + +const AccordionContent: React.FC = ({ + isExpanded, + questions, +}) => { + const formatNumber = (number: string) => { + const isNumeric = /^\d*\.?\d*$/.test(number); + + if (isNumeric) { + return parseFloat(number).toFixed(1).replace('.', ','); + } + + return ''; + }; + + return ( + isExpanded && ( + + {questions?.map((item, index) => ( + + {item.question} + + {formatNumber(item.grade) || 'X,X'} + + + ))} + + ) + ); }; const AccordionVisit: React.FC = ({ title, media, questions, + questionGrades, }) => { const [isExpanded, setIsExpanded] = useState(false); - const [showText, setShowText] = useState(true); const toggleExpand = () => { setIsExpanded(!isExpanded); }; - const formatNumber = (number: number | string) => { - if (number !== undefined) { - return Number(number).toLocaleString('pt-BR', { - minimumFractionDigits: 1, - }); - } - return ''; - }; - return ( - - - - {title} - {showText && ( - - {formatNumber(media) || 'X,X'} - - )} - - - - - {isExpanded && ( - - {questions?.map((element, index) => ( - - {element} - - ))} - - )} + + + ); }; +const styles = StyleSheet.create({ + container: { + marginTop: 16, + borderRadius: 8, + }, + header: { + flexDirection: 'row', + alignItems: 'center', + justifyContent: 'space-between', + backgroundColor: '#F1F3F5', + padding: 10, + borderRadius: 8, + }, + title: { + flex: 0.9, + fontFamily: 'Poppins', + }, + media: { + marginRight: 0, + fontFamily: 'PoppinsBold', + backgroundColor: '#E6E8EB', + color: '#687076', + borderRadius: 2, + fontSize: 12, + padding: 2, + }, + content: { + backgroundColor: '#F1F3F5', + padding: 10, + borderBottomLeftRadius: 8, + borderBottomRightRadius: 8, + }, + questionRow: { + flexDirection: 'row', + justifyContent: 'space-between', + alignItems: 'center', + }, + questionText: { + fontFamily: 'Poppins', + color: '#687076', + }, + gradeText: { + fontFamily: 'Poppins', + color: '#687076', + }, +}); + export default AccordionVisit; diff --git a/src/components/Breadcrumb/styles.ts b/src/components/Breadcrumb/styles.ts index 935ed7d..c8de74b 100644 --- a/src/components/Breadcrumb/styles.ts +++ b/src/components/Breadcrumb/styles.ts @@ -15,10 +15,10 @@ export const Container = styled(View)` export const Button = styled(TouchableOpacity)<{ Selected: 'check' | 'selected' | 'false'; }>` - width: 16px; - height: 16px; + width: 20px; + height: 20px; padding: 0px; - border-radius: 8px; + border-radius: 16px; background-color: ${({ Selected }) => { switch (Selected) { case 'check': @@ -42,8 +42,8 @@ export const ItemContainer = styled(View)` `; export const Crumb = styled(Text)` - font-size: 10px; - color: #333; + font-size: 12px; + color: #fff; `; export const Separator = styled(Text)` diff --git a/src/components/InputRage/index.tsx b/src/components/InputRage/index.tsx index a78bca1..778ecfe 100644 --- a/src/components/InputRage/index.tsx +++ b/src/components/InputRage/index.tsx @@ -46,7 +46,7 @@ const InputRange: React.FC = ({ const styles = StyleSheet.create({ slider: { - minWidth: '80%', + minWidth: '70%', height: 40, }, sliderValue: { diff --git a/src/components/QuestionSection/index.tsx b/src/components/QuestionSection/index.tsx index 6b5b0b8..20007c2 100644 --- a/src/components/QuestionSection/index.tsx +++ b/src/components/QuestionSection/index.tsx @@ -43,20 +43,35 @@ const QuestionSection: React.FC = ({ const handleInputChange = ( questionId: string, - questionCategoryId: string, - value: number + value: number, + question: string ) => { - const updatedAnswers = [ - ...answers, - { - questionId: questionId, - sellerId: sellerId, - questionCategoryId: questionCategoryId, + const existingAnswerIndex = answers.findIndex( + (answer) => + answer.questionId === questionId && answer.sellerId === sellerId + ); + + if (existingAnswerIndex !== -1) { + const updatedAnswers = [...answers]; + updatedAnswers[existingAnswerIndex] = { + ...updatedAnswers[existingAnswerIndex], value: value, - }, - ]; - setAnswers(updatedAnswers); - onUpdateAnswers(updatedAnswers); + }; + setAnswers(updatedAnswers); + onUpdateAnswers(updatedAnswers); + } else { + const updatedAnswers = [ + ...answers, + { + name: question, + questionId: questionId, + sellerId: sellerId, + value: value, + }, + ]; + setAnswers(updatedAnswers); + onUpdateAnswers(updatedAnswers); + } }; const handleEditQuestion = () => { @@ -83,12 +98,12 @@ const QuestionSection: React.FC = ({ /> )} - + {category?.name || 'Tema Question'} {categoryQuestions.map((question, index) => ( - handleInputChange(question.id, question.categoriesId, value) + handleInputChange(question.id, value, question.question) } textAsk={question.question} /> diff --git a/src/components/QuestionSection/styles.ts b/src/components/QuestionSection/styles.ts index 933a933..a3a4966 100644 --- a/src/components/QuestionSection/styles.ts +++ b/src/components/QuestionSection/styles.ts @@ -3,11 +3,15 @@ import styled from 'styled-components/native'; import { theme } from '@styles/default.theme'; export const Wrapper = styled(View)` - width: 100%; + width: 90%; height: auto; + margin: 0 auto; `; export const TemaQuestion = styled(Text)` font-family: Poppins; - font-size: 16px; + font-size: 22px; + font-style: normal; + font-weight: bolder; + margin: 16px 8px; `; diff --git a/src/interfaces/Visit/Questions.ts b/src/interfaces/Visit/Questions.ts index 06ccd05..27daaf5 100644 --- a/src/interfaces/Visit/Questions.ts +++ b/src/interfaces/Visit/Questions.ts @@ -1,4 +1,5 @@ export default interface Questions { + value: any; id: string; question: string; number: number; diff --git a/src/screens/EvaluateVisit/index.tsx b/src/screens/EvaluateVisit/index.tsx index baa7e3f..9ad561b 100644 --- a/src/screens/EvaluateVisit/index.tsx +++ b/src/screens/EvaluateVisit/index.tsx @@ -1,7 +1,6 @@ import React, { useEffect, useState } from 'react'; import * as S from './styles'; -import { ActivityIndicator } from 'react-native'; // Importando o ActivityIndicator -import { useNavigation } from '@react-navigation/native'; +import { ActivityIndicator } from 'react-native'; import Breadcrumb from '@components/Breadcrumb'; import Dropdown from '@components/Dropdown'; import HeaderPages from '@components/HeaderPages'; @@ -16,9 +15,15 @@ import VisitGradesService from '@services/VisitGradesService'; import ISeller from '@interfaces/Seller'; import ICategories from '@interfaces/Visit/Categories'; +import QuestionsGrade from '@interfaces/Visit/QuestionGrade'; + +interface VisitGrade { + questionId: string; + sellerId: string; + grade: number; +} const EvaluateVisit = () => { - const navigation = useNavigation(); const { user } = useAuth(); const [sellers, setSellers] = useState([]); const [indexScreen, setIndexScreen] = useState(1); @@ -26,8 +31,8 @@ const EvaluateVisit = () => { const [selectedSeller, setSelectedSeller] = useState(null); const [categories, setCategories] = useState([]); const [storeName, setStoreName] = useState(''); - const [editedAnswers, setEditedAnswers] = useState([]); const [loading, setLoading] = useState(false); + const [fetchedVisitGrade, setFetchedVisitGrade] = useState([]); const toast = useToast(); useEffect(() => { @@ -99,8 +104,7 @@ const EvaluateVisit = () => { } setLoading(true); - - for (const answer of editedAnswers) { + for (const answer of fetchedVisitGrade) { const questions = await VisitGradesService.getAllQuestionsBySeller( selectedSeller.id ); @@ -121,13 +125,17 @@ const EvaluateVisit = () => { } finally { setLoading(false); showToast('Visita avaliada com sucesso', 'success'); - setEditedAnswers([]); + setFetchedVisitGrade([]); } }; - const createGrades = async (answer) => { + const createGrades = async (answer: { + grade: number; + sellerId: string; + questionId: string; + }) => { try { - const result = await VisitGradesService.create({ + await VisitGradesService.create({ grade: answer.grade, sellerId: answer.sellerId, questionsId: answer.questionId, @@ -137,22 +145,39 @@ const EvaluateVisit = () => { } }; - const updateGrades = async (questionGrade, answer) => { + const updateGrades = async ( + questionGrade: QuestionsGrade, + answer: { grade: number } + ) => { try { - const { grade } = answer; - await VisitGradesService.update(questionGrade.id, grade); + await VisitGradesService.update(questionGrade.id, answer.grade); } catch (error) { console.error('Erro ao atualizar as notas:', error); } }; const handleUpdateAnswers = (updatedAnswers: any[]) => { - const formattedAnswers = updatedAnswers.map((answer) => ({ - questionId: answer.questionId, - sellerId: selectedSeller.id, - grade: answer.value, - })); - setEditedAnswers(formattedAnswers); // Armazena as respostas editadas + const updatedGrades = [...fetchedVisitGrade]; + + updatedAnswers.forEach((answer) => { + const existingIndex = updatedGrades.findIndex( + (grade) => + grade.questionId === answer.questionId && + grade.sellerId === selectedSeller?.id + ); + + if (existingIndex !== -1) { + updatedGrades[existingIndex].grade = answer.value; + } else { + updatedGrades.push({ + questionId: answer.questionId, + sellerId: selectedSeller?.id || '', + grade: answer.value, + }); + } + }); + + setFetchedVisitGrade(updatedGrades); }; return ( @@ -192,7 +217,7 @@ const EvaluateVisit = () => { categories.map((category, idx) => ( { {indexScreen > categories.length && user.job === 'Supervisor' && ( )} @@ -225,7 +250,7 @@ const FinishedSection = ({ finishedVisit, array, loading }) => { {loading ? ( diff --git a/src/screens/EvaluateVisit/styles.ts b/src/screens/EvaluateVisit/styles.ts index 84bb93b..6e0e6e2 100644 --- a/src/screens/EvaluateVisit/styles.ts +++ b/src/screens/EvaluateVisit/styles.ts @@ -62,8 +62,10 @@ export const DivInfoSeller = styled(View)` `; export const InfoSeller = styled(Text)` - font-size: 16px; + font-size: 18px; max-width: 75%; + font-weight: bold; + text-transform: uppercase; font-family: Poppins; margin-left: 24px; `; diff --git a/src/screens/SalesInspector/TabScreens/Mentoring/index.tsx b/src/screens/SalesInspector/TabScreens/Mentoring/index.tsx index 30f09fc..dc8b0b2 100644 --- a/src/screens/SalesInspector/TabScreens/Mentoring/index.tsx +++ b/src/screens/SalesInspector/TabScreens/Mentoring/index.tsx @@ -60,7 +60,7 @@ const Mentoring = ({ route }) => { { - const questions1 = [ - 'Como você planeja abordar o cliente?', - 'Qual é o objetivo principal desta visita?', - 'Quais são as metas que você deseja alcançar durante esta etapa?', - ]; - - const questions2 = [ - 'Como você se aproximará do cliente?', - 'Quais são os primeiros passos para estabelecer uma conexão?', - 'Você tem alguma estratégia específica para se apresentar?', - ]; - - const questions3 = [ - 'Quais são os principais pontos que você deseja destacar durante a apresentação?', - 'Como você adaptará sua apresentação com base nas necessidades do cliente?', - 'Quais recursos ou materiais você utilizará durante esta etapa?', - ]; - - const questions4 = [ - 'Quais objeções você antecipa e como planeja lidar com elas?', - 'Você tem alguma estratégia para transformar objeções em oportunidades?', - 'Como você garantirá que o cliente se sinta confortável com suas respostas às objeções?', - ]; +import React, { useEffect, useState } from 'react'; + +import ISeller from '@interfaces/Seller'; +import ICategories from '@interfaces/Visit/Categories'; +import VisitService from '@services/VisitService'; +import VisitGradesService from '@services/VisitGradesService'; +import useAuth from '@hooks/useAuth'; +import IQuestions from '@interfaces/Visit/Questions'; +import IQuestionGrade from '@interfaces/Visit/QuestionGrade'; +import SellerService from '@services/SellerServices'; + +const Visit = ({ route }) => { + const { user } = useAuth(); + const { idEmployee, cargo, companyId } = route.params; + const [loading, setLoading] = useState(false); + const [seller, setSeller] = useState(null); + const [categories, setCategories] = useState([]); + const [questions, setQuestions] = useState([]); + const [questionGrades, setQuestionGrades] = useState([]); + + useEffect(() => { + const fetchData = async () => { + try { + if (cargo === 'Vendedor') { + setLoading(true); + + const sellerData = + await SellerService.getAllSellerFromCompany(companyId); + const foundSeller = sellerData.find( + (seller) => seller.id === idEmployee + ); + if (foundSeller) { + setSeller(foundSeller); + + const templates = await VisitService.getTemplateByCompanyId( + foundSeller.companyId + ); + const fetchedCategories: ICategories[] = []; + + for (const template of templates) { + const categories = await VisitService.getCategoriesByIdTemplate( + template.id + ); + for (const category of categories) { + fetchedCategories.push(category); + const questions = await VisitService.getQuestionsByIdCategory( + category.id + ); + const questionGrades = + await VisitGradesService.getAllQuestionsBySeller( + foundSeller.id + ); + setQuestions((prev) => [...prev, ...questions]); + setQuestionGrades((prev) => [...prev, ...questionGrades]); + } + } + + setCategories(fetchedCategories); + } + } + } catch (error) { + console.error('Erro ao buscar dados de supervisores:', error); + } finally { + setLoading(false); + } + }; + + fetchData(); + }, [cargo, idEmployee]); + + const calculateMedia = (categoryId: string) => { + const relevantQuestions = questions.filter( + (question) => question.categoriesId === categoryId + ); + + const relevantGrades = questionGrades.filter((grade) => + relevantQuestions.some( + (question) => question.id === grade.questionsId && grade.grade !== 0 + ) + ); + + const totalGrades = relevantGrades.reduce( + (total, grade) => total + grade.grade, + 0 + ); + return relevantGrades.length > 0 ? totalGrades / relevantGrades.length : 0; + }; + const generateQuestionsWithGrades = ( + categoryId: string + ): { question: string; grade: string }[] => { + const relevantQuestions = questions.filter( + (question) => question.categoriesId === categoryId + ); + + const questionsWithGrades: { question: string; grade: string }[] = []; + + relevantQuestions.forEach((question) => { + const grade = questionGrades.find( + (grade) => grade.questionsId === question.id && grade.grade !== 0 + ); + if (grade) { + questionsWithGrades.push({ + question: question.question, + grade: grade.grade.toString(), + }); + } else { + questionsWithGrades.push({ question: question.question, grade: 'X,X' }); + } + }); + + return questionsWithGrades; + }; return ( - - - - + {categories.map((category) => ( + + ))} diff --git a/src/screens/SalesInspector/index.tsx b/src/screens/SalesInspector/index.tsx index 238b284..727227e 100644 --- a/src/screens/SalesInspector/index.tsx +++ b/src/screens/SalesInspector/index.tsx @@ -55,9 +55,9 @@ const SalesInspector = ({ route }) => { const handleDelete = async () => { try { setLoading(true); - if (cargo === 'Supervisor' && supervisors) { + if (cargo === 'Supervisor') { await SupervisorServices.delete(supervisors.id); - } else if (cargo === 'Vendedor' && seller) { + } else if (cargo === 'Vendedor') { await SellerServices.delete(seller.id); } setData({ diff --git a/src/services/VisitService.ts b/src/services/VisitService.ts index eb607c7..c77a788 100644 --- a/src/services/VisitService.ts +++ b/src/services/VisitService.ts @@ -20,14 +20,6 @@ export default class VisitService { return visits.data; } - static async updateQuestionGrade( - questionGrade: IQuestionGrade - ): Promise { - await api.patch(`/questionsGrades/update/`, { - questionGrade, - }); - } - static async getTemplateByCompanyId( idCompany: string ): Promise { From 4b79a41d2dcc99b4f4a30f9c4be6c84687dc9d7d Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Wed, 15 May 2024 03:20:45 -0300 Subject: [PATCH 06/11] Loading Pages --- src/components/QuestionSection/index.tsx | 47 +++++++++++++++---- .../SalesInspector/TabScreens/Visit/index.tsx | 18 ++++++- 2 files changed, 56 insertions(+), 9 deletions(-) diff --git a/src/components/QuestionSection/index.tsx b/src/components/QuestionSection/index.tsx index 20007c2..42a3abe 100644 --- a/src/components/QuestionSection/index.tsx +++ b/src/components/QuestionSection/index.tsx @@ -1,6 +1,12 @@ import React, { useEffect, useState } from 'react'; import * as S from './styles'; -import { ScrollView, TouchableOpacity } from 'react-native'; +import { + ScrollView, + TouchableOpacity, + ActivityIndicator, + View, + StyleSheet, +} from 'react-native'; import { FontAwesome } from '@expo/vector-icons'; import { theme } from '@styles/default.theme'; @@ -30,17 +36,34 @@ const QuestionSection: React.FC = ({ const [categoryQuestions, setCategoryQuestions] = useState([]); const [answers, setAnswers] = useState([]); const { user } = useAuth(); + const [loading, setLoading] = useState(false); useEffect(() => { - const fetchQuestions = async () => { - const questions = await VisitService.getQuestionsByIdCategory( - category.id - ); - setCategoryQuestions(questions); - }; - fetchQuestions(); + try { + setLoading(true); + + const fetchQuestions = async () => { + const questions = await VisitService.getQuestionsByIdCategory( + category.id + ); + setCategoryQuestions(questions); + }; + fetchQuestions(); + } catch (error) { + console.log(error); + } finally { + setLoading(false); + } }, [category.id]); + if (loading) { + return ( + + + + ); + } + const handleInputChange = ( questionId: string, value: number, @@ -114,4 +137,12 @@ const QuestionSection: React.FC = ({ ); }; +const styles = StyleSheet.create({ + loadingContainer: { + flex: 1, + justifyContent: 'center', + alignItems: 'center', + }, +}); + export default QuestionSection; diff --git a/src/screens/SalesInspector/TabScreens/Visit/index.tsx b/src/screens/SalesInspector/TabScreens/Visit/index.tsx index 62bb4a4..5bf9513 100644 --- a/src/screens/SalesInspector/TabScreens/Visit/index.tsx +++ b/src/screens/SalesInspector/TabScreens/Visit/index.tsx @@ -1,6 +1,6 @@ import * as S from './styles'; import { StatusBar } from 'expo-status-bar'; -import { ScrollView } from 'react-native'; +import { ActivityIndicator, ScrollView, View, StyleSheet } from 'react-native'; import AccordionVisit from '@components/AccordionVisit'; import React, { useEffect, useState } from 'react'; @@ -72,6 +72,14 @@ const Visit = ({ route }) => { fetchData(); }, [cargo, idEmployee]); + if (loading) { + return ( + + + + ); + } + const calculateMedia = (categoryId: string) => { const relevantQuestions = questions.filter( (question) => question.categoriesId === categoryId @@ -134,4 +142,12 @@ const Visit = ({ route }) => { ); }; +const styles = StyleSheet.create({ + loadingContainer: { + flex: 1, + justifyContent: 'center', + alignItems: 'center', + }, +}); + export default Visit; From 4db2ee113fabb7563b53cc08ae368ca6fd317fc4 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Tue, 28 May 2024 03:52:32 -0300 Subject: [PATCH 07/11] Visit and Stage --- src/components/ButtonWhite/styles.ts | 4 +- src/components/Cards/index.tsx | 18 ++++-- src/components/Cards/styles.ts | 2 +- src/components/ContainerActions/index.tsx | 18 +++--- src/components/ContainerCards/index.tsx | 63 +++++++++++++------ src/components/ContainerCards/styles.ts | 15 +++++ src/interfaces/Seller.ts | 1 + src/routes/TabNav/index.tsx | 59 +++++++++-------- src/screens/EvaluateMentoring/index.tsx | 3 +- src/screens/EvaluateVisit/index.tsx | 3 +- src/screens/Home/index.tsx | 1 + src/screens/MyTeam/index.tsx | 1 + .../TabScreens/Action/Plain/Mentory/index.tsx | 36 +++-------- .../TabScreens/Action/Plain/Mentory/styles.ts | 3 +- .../TabScreens/Action/index.tsx | 3 +- src/screens/SalesInspector/index.tsx | 4 +- src/screens/SellerAdded/index.tsx | 20 +++++- src/services/VisitService.ts | 5 ++ 18 files changed, 161 insertions(+), 98 deletions(-) diff --git a/src/components/ButtonWhite/styles.ts b/src/components/ButtonWhite/styles.ts index 6c37807..4449d74 100644 --- a/src/components/ButtonWhite/styles.ts +++ b/src/components/ButtonWhite/styles.ts @@ -5,14 +5,14 @@ export const StyledHeading = styled(Text)` font-size: 12px; text-transform: uppercase; color: #687076; - letter-spacing: 0.3px; + letter-spacing: 0.1px; font-weight: 400; font-family: Poppins; `; export const StyleButton = styled(TouchableOpacity)<{ isPressed: boolean }>` background-color: #f1f3f5; - width: 170px; + width: 47%; display: flex; align-items: center; justify-content: center; diff --git a/src/components/Cards/index.tsx b/src/components/Cards/index.tsx index 74df74c..1825b40 100644 --- a/src/components/Cards/index.tsx +++ b/src/components/Cards/index.tsx @@ -12,6 +12,7 @@ type IVendedor = { id: string; supervisorId?: string; companyId: string; + stage:string }; const Cards: React.FC = ({ @@ -21,6 +22,7 @@ const Cards: React.FC = ({ id, supervisorId, companyId, + stage }) => { const { user } = useAuth(); const navigation = useNavigation(); @@ -31,6 +33,7 @@ const Cards: React.FC = ({ idEmployee: id, cargo: cargo, companyId: companyId, + stage: stage }); }; const formattedNota = @@ -61,11 +64,16 @@ const Cards: React.FC = ({ {nome} - - {cargo === 'Supervisor' - ? `Cargo: ${cargo || 'Supervisor'}` - : `Cargo: ${cargo || 'Vendedor'}`} - + {cargo === 'Vendedor' && ( + + Estágio: {stage} + + )} + {cargo === 'Supervisor' && ( + + Cargo: {cargo} + + )} {supervisor && ( {'Responsável: ' + supervisor?.name} )} diff --git a/src/components/Cards/styles.ts b/src/components/Cards/styles.ts index 4105c40..84ed2cd 100644 --- a/src/components/Cards/styles.ts +++ b/src/components/Cards/styles.ts @@ -35,7 +35,7 @@ export const Name = styled(Text)` font-family: Poppins; `; -export const Cargo = styled(Text)` +export const Stage = styled(Text)` color: #687076; font-size: 12px; font-weight: 400; diff --git a/src/components/ContainerActions/index.tsx b/src/components/ContainerActions/index.tsx index 5c839a5..de0db5e 100644 --- a/src/components/ContainerActions/index.tsx +++ b/src/components/ContainerActions/index.tsx @@ -14,7 +14,7 @@ const ContainerActions: React.FC = () => { visita: 'Editar Visita', }, default: { - mentorado: 'Avaliar um Mentorado', + mentorado: 'Avaliar um Mentoreado', visita: 'Auditar uma Visita', }, }; @@ -42,16 +42,16 @@ const ContainerActions: React.FC = () => { O que você vai fazer hoje? + + - - ); diff --git a/src/components/ContainerCards/index.tsx b/src/components/ContainerCards/index.tsx index 2020b55..b453c8b 100644 --- a/src/components/ContainerCards/index.tsx +++ b/src/components/ContainerCards/index.tsx @@ -11,24 +11,26 @@ const Container: React.FC<{ loading: boolean; title: string; media?: { [key: string]: number }; -}> = ({ search, data, loading, title, media = {} }) => { + userType?: string; +}> = ({ search, data, loading, title, media = {}, userType }) => { let filteredData: Array = data; - const removeAccents = (str: string) => { - return str.normalize('NFD').replace(/[\u0300-\u036f]/g, ''); + const filterData = () => { + if (userType !== 'Supervisor') { + const removeAccents = (str: string) => { + return str.normalize('NFD').replace(/[\u0300-\u036f]/g, ''); + }; + + const searchTerm = search ? removeAccents(search.toLowerCase()) : ''; + + filteredData = data.filter((item) => { + const itemName = removeAccents(item.name.toLowerCase()); + return !search || itemName.includes(searchTerm); + }); + } }; - if (search) { - const searchTerm = removeAccents(search.toLowerCase()); - filteredData = data.filter((item) => - removeAccents(item.name.toLowerCase()).includes(searchTerm) - ); - } - // Verificar se o item é um supervisor antes de aplicar o filtro de média - if (media && filteredData.some((item) => 'supervisorId' in item)) { - filteredData = filteredData.filter((item) => media[item.id] !== undefined); - filteredData.sort((a, b) => (media[b.id] || 0) - (media[a.id] || 0)); - } + filterData(); return ( @@ -37,11 +39,32 @@ const Container: React.FC<{ {loading ? ( ) : filteredData.length > 0 ? ( - filteredData.map((item, index) => ( - - )) + userType === 'Supervisor' ? ( + <> + + Visita + {filteredData + .filter((item): item is ISeller => 'stage' in item && item.stage === 'Visita') + .map((item, index) => ( + + ))} + + + Mentoria + {filteredData + .filter((item): item is ISeller => 'stage' in item && item.stage === 'Mentoria') + .map((item, index) => ( + + ))} + + + ) : ( + filteredData.map((item, index) => ( + + )) + ) ) : ( - + )} @@ -67,6 +90,7 @@ const CardItem: React.FC<{ const fullName = item.name || 'Usuário'; const nameParts = fullName.split(' '); let displayName = ''; + if (nameParts.length > 1) { const firstName = nameParts[0]; const lastName = nameParts[nameParts.length - 1]; @@ -74,12 +98,15 @@ const CardItem: React.FC<{ } else { displayName = fullName; } + const sellerMedia = media[item.id] || 0; + const isSeller = 'stage' in item; return ( { - const { idEmployee, cargo, companyId } = route.params; + const { idEmployee, cargo, companyId, stage } = route.params; + + const getScreenOptions = (screenName) => ({ + tabBarActiveTintColor: 'white', + tabBarInactiveTintColor: theme.colors.primary.main, + tabBarLabelStyle: { fontSize: 13 }, + tabBarStyle: { + backgroundColor: theme.colors.secundary.main, + }, + tabBarIndicatorStyle: { + borderBottomWidth: 2, + borderBottomColor: 'white', + }, + tabBarVisible: stage === screenName || screenName === 'Planos de Ação', + }); + return ( - - - + + {stage === 'Mentoria' && ( + + )} + {stage === 'Visita' && ( + + )} diff --git a/src/screens/EvaluateMentoring/index.tsx b/src/screens/EvaluateMentoring/index.tsx index 7a707ee..1c755ac 100644 --- a/src/screens/EvaluateMentoring/index.tsx +++ b/src/screens/EvaluateMentoring/index.tsx @@ -30,7 +30,8 @@ const EvaluateMentoring = () => { SellerService.getAllSellerFromSupervisor(user.id), ModulesServices.getAllModules(), ]); - setSellers(sellerData); + const mentoringSellers = sellerData.filter(seller => seller.stage === 'Mentoria'); + setSellers(mentoringSellers); setModules(modulesData); setLoading(false); } diff --git a/src/screens/EvaluateVisit/index.tsx b/src/screens/EvaluateVisit/index.tsx index 9ad561b..8c42e0b 100644 --- a/src/screens/EvaluateVisit/index.tsx +++ b/src/screens/EvaluateVisit/index.tsx @@ -42,7 +42,8 @@ const EvaluateVisit = () => { user.job === 'Supervisor' ? await SellerService.getAllSellerFromSupervisor(user.id) : await SellerService.getAllSellerFromManager(user.id); - setSellers(sellersData); + const visitsSellers = sellersData.filter(seller => seller.stage === 'Visita'); + setSellers(visitsSellers); } catch (error) { console.error('Erro ao buscar dados de vendedores:', error); } diff --git a/src/screens/Home/index.tsx b/src/screens/Home/index.tsx index d19447b..7eb6ded 100644 --- a/src/screens/Home/index.tsx +++ b/src/screens/Home/index.tsx @@ -74,6 +74,7 @@ const Home = () => { loading={loading} data={user.job === 'Gerente' ? supervisors : sellers} media={media} + userType={user.job} /> diff --git a/src/screens/MyTeam/index.tsx b/src/screens/MyTeam/index.tsx index 9100322..fdc9461 100644 --- a/src/screens/MyTeam/index.tsx +++ b/src/screens/MyTeam/index.tsx @@ -97,6 +97,7 @@ const MyTeam = () => { loading={loading} data={supervisors} search={search} + userType={user.job} /> )} diff --git a/src/screens/SalesInspector/TabScreens/Action/Plain/Mentory/index.tsx b/src/screens/SalesInspector/TabScreens/Action/Plain/Mentory/index.tsx index 371978e..df44470 100644 --- a/src/screens/SalesInspector/TabScreens/Action/Plain/Mentory/index.tsx +++ b/src/screens/SalesInspector/TabScreens/Action/Plain/Mentory/index.tsx @@ -2,11 +2,8 @@ import React, { useState } from 'react'; import * as S from './styles'; import Select from '@components/Select'; -import DateTimePicker, { - DateTimePickerEvent, -} from '@react-native-community/datetimepicker'; +import DateTimePicker, { DateTimePickerEvent } from '@react-native-community/datetimepicker'; import { theme } from '@styles/default.theme'; -import { Switch } from 'react-native'; import { useToast } from 'react-native-toast-notifications'; import ISeller from '@interfaces/Seller'; @@ -36,7 +33,6 @@ const PlainMentory: React.FC = ({ const [titleAction, setTitleAction] = useState(''); const [date, setDate] = useState(new Date()); const [showDatePicker, setShowDatePicker] = useState(false); - const [isModuleAction, setIsModuleAction] = useState(false); const toast = useToast(); const handleModuleChange = (value: string) => setSelectedValue(value); @@ -60,7 +56,7 @@ const PlainMentory: React.FC = ({ prize: date.toLocaleDateString(), sellerId: seller.id, supervisorId: seller.supervisorId, - moduleId: isModuleAction ? selectedValue : null, + moduleId: seller.stage === 'Mentoria' ? selectedValue : null, }); addNewPlain(newPlain); setState(); @@ -85,25 +81,8 @@ const PlainMentory: React.FC = ({ return ( - Tipo de Ação - - - - {isModuleAction ? 'Módulo' : 'Visita'} - - - = ({ }; interface ActionSpecificFieldsProps { - isModuleAction: boolean; + stage: string; titleAction: string; setTitleAction: React.Dispatch>; handleModuleChange: (value: string) => void; @@ -150,7 +129,7 @@ interface ActionSpecificFieldsProps { } const ActionSpecificFields: React.FC = ({ - isModuleAction, + stage, titleAction, setTitleAction, handleModuleChange, @@ -159,8 +138,9 @@ const ActionSpecificFields: React.FC = ({ }) => { return ( <> - {!isModuleAction && ( + {stage === 'Visita' && ( <> + Vísita de Avaliação ` +export const ActionTypeLabel = styled(Text)` font-size: 16px; font-family: Poppins; margin-left: 16px; - color: ${(props) => (props.selected ? '#687076' : '#687076')}; `; diff --git a/src/screens/SalesInspector/TabScreens/Action/index.tsx b/src/screens/SalesInspector/TabScreens/Action/index.tsx index fdbd09b..2b3cff2 100644 --- a/src/screens/SalesInspector/TabScreens/Action/index.tsx +++ b/src/screens/SalesInspector/TabScreens/Action/index.tsx @@ -40,11 +40,12 @@ const Action = ({ route }) => { companyId, idEmployee ); - const visits = await VisitService.getAll(); + const visits = await VisitService.getVisitByIdSeller(responseSeller.id); const modulesData = await ModuleServices.getAllModules(); const plainsData = await PlainService.getByIdSellerPlain( responseSeller.id ); + console.log(visits) setPlains(plainsData.filter((plain) => !plain.done)); setVisits(visits); setCompletedPlains(plainsData.filter((plain) => plain.done)); diff --git a/src/screens/SalesInspector/index.tsx b/src/screens/SalesInspector/index.tsx index 727227e..f82d0ce 100644 --- a/src/screens/SalesInspector/index.tsx +++ b/src/screens/SalesInspector/index.tsx @@ -13,7 +13,7 @@ import { useDataContext } from '../../context/DataContext'; const SalesInspector = ({ route }) => { const navigation = useNavigation(); - const { idEmployee, cargo, companyId } = route.params; + const { idEmployee, cargo, companyId, stage } = route.params; const { user } = useAuth(); const { data, setData } = useDataContext(); const [seller, setSeller] = useState(null); @@ -88,7 +88,7 @@ const SalesInspector = ({ route }) => { {seller?.name || supervisors?.name || 'Usuário'} - {seller?.job || supervisors?.job || 'Cargo'} + {seller?.stage || supervisors?.job || 'Estágio'} {seller?.email || supervisors?.email || 'user123@gmail.com'} diff --git a/src/screens/SellerAdded/index.tsx b/src/screens/SellerAdded/index.tsx index f10afff..e092167 100644 --- a/src/screens/SellerAdded/index.tsx +++ b/src/screens/SellerAdded/index.tsx @@ -13,6 +13,7 @@ import DropdownData from '@components/Dropdown'; import { useDataContext } from '../../context/DataContext'; import ISeller from '@interfaces/Seller'; import { ActivityIndicator } from 'react-native'; +import StateSelect from '@components/Select'; interface SupervisorState { single: ISupervisor | null; @@ -35,10 +36,14 @@ const SellerAdded = () => { useState(null); const [isButtonEnabled, setIsButtonEnabled] = useState(false); const toast = useToast(); + const [selectedValue, setSelectedValue] = useState(''); const [isModalVisible, setIsModalVisible] = useState(false); - const isCreateDisabled = !name; - + const isCreateDisabled = !name && !selectedValue; + const options = [ + { label: 'Mentoria', value: 'Mentoria' }, + { label: 'Visita', value: 'Visita' } + ]; useEffect(() => { const fetchData = async () => { try { @@ -70,12 +75,15 @@ const SellerAdded = () => { setIsModalVisible(!isModalVisible); }; + const handleSelectChange = (value: string) => setSelectedValue(value); + + const handleCreate = async () => { try { setLoading(true); const supervisorId = selectedSupervisor?.id; const companyId = user.companyId; - console.log(name, email, image, supervisorId); + console.log(name, email,companyId, supervisorId,selectedValue); const seller: ISeller = await SellerService.createSeller({ name, @@ -83,6 +91,7 @@ const SellerAdded = () => { email, supervisorId, companyId, + stage: selectedValue }); setData({ @@ -138,6 +147,11 @@ const SellerAdded = () => { onSelectSupervisor={handleSelectSupervisor} /> + + Estágio + + + { + const visits: AxiosResponse = await api.get(`/visit/getAll/${sellerId}`); + return visits.data; + } + static async getTemplateByCompanyId( idCompany: string ): Promise { From 7860f1237289adea2571571c33887541c7ecb979 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Tue, 28 May 2024 20:38:55 -0300 Subject: [PATCH 08/11] Plans Visit --- src/components/CardsMentory/index.tsx | 6 -- src/screens/EvaluateVisit/index.tsx | 57 +++++++++++-------- .../TabScreens/Action/index.tsx | 2 +- src/services/VisitService.ts | 13 +++++ 4 files changed, 48 insertions(+), 30 deletions(-) diff --git a/src/components/CardsMentory/index.tsx b/src/components/CardsMentory/index.tsx index 9eeeb62..008f18a 100644 --- a/src/components/CardsMentory/index.tsx +++ b/src/components/CardsMentory/index.tsx @@ -9,17 +9,14 @@ interface CardMentoryProps { isVisible?: boolean; onToggleVisibility: () => void; onMarkDone: () => void; - typePlain?: string; complete?: boolean; } const CardsMentory: React.FC = ({ title, prize, - isVisible = false, onToggleVisibility, onMarkDone, - typePlain = 'Tipo de Plano', complete, }) => { const handleToggleVisibility = () => { @@ -58,9 +55,6 @@ const CardsMentory: React.FC = ({ {prize} - - {typePlain} - diff --git a/src/screens/EvaluateVisit/index.tsx b/src/screens/EvaluateVisit/index.tsx index 8c42e0b..e4721a5 100644 --- a/src/screens/EvaluateVisit/index.tsx +++ b/src/screens/EvaluateVisit/index.tsx @@ -16,6 +16,7 @@ import VisitGradesService from '@services/VisitGradesService'; import ISeller from '@interfaces/Seller'; import ICategories from '@interfaces/Visit/Categories'; import QuestionsGrade from '@interfaces/Visit/QuestionGrade'; +import ITemplateVisit from '@interfaces/Visit/TemplateVisit'; interface VisitGrade { questionId: string; @@ -30,6 +31,7 @@ const EvaluateVisit = () => { const [evaluationStarted, setEvaluationStarted] = useState(false); const [selectedSeller, setSelectedSeller] = useState(null); const [categories, setCategories] = useState([]); + const [template, setTemplate] = useState([]); const [storeName, setStoreName] = useState(''); const [loading, setLoading] = useState(false); const [fetchedVisitGrade, setFetchedVisitGrade] = useState([]); @@ -42,7 +44,7 @@ const EvaluateVisit = () => { user.job === 'Supervisor' ? await SellerService.getAllSellerFromSupervisor(user.id) : await SellerService.getAllSellerFromManager(user.id); - const visitsSellers = sellersData.filter(seller => seller.stage === 'Visita'); + const visitsSellers = sellersData.filter(seller => seller.stage === 'Visita'); setSellers(visitsSellers); } catch (error) { console.error('Erro ao buscar dados de vendedores:', error); @@ -54,23 +56,18 @@ const EvaluateVisit = () => { const handleSelectSeller = async (seller: ISeller) => { setSelectedSeller(seller); - const templates = await VisitService.getTemplateByCompanyId( - seller.companyId - ); + const templates = await VisitService.getTemplateByCompanyId(seller.companyId); const fetchedCategories: ICategories[] = []; await Promise.all( templates.map(async (template) => { - const categories = await VisitService.getCategoriesByIdTemplate( - template.id - ); - + const categories = await VisitService.getCategoriesByIdTemplate(template.id); categories.forEach((category) => { fetchedCategories.push(category); }); }) ); - + setTemplate(templates); setCategories(fetchedCategories); }; @@ -83,10 +80,31 @@ const EvaluateVisit = () => { }); }; - const handleAdvance = () => { - setIndexScreen(indexScreen < categories.length + 1 ? indexScreen + 1 : 1); + const handleAdvance = async () => { if (!selectedSeller) return; + setEvaluationStarted(true); + if (indexScreen === 1) { + try { + if (template.length > 0) { + const dateVisited = new Date().toISOString(); + await VisitService.createVisit({ + sellerId: selectedSeller.id, + visitTemplateId: template[0].id, // Verifica se há pelo menos um template + storeVisited: storeName, + dateVisited: dateVisited + }); + } else { + showToast('Nenhum template disponível para criar a visita', 'warning'); + return; + } + } catch (error) { + console.error('Erro ao criar a visita:', error); + showToast('Erro ao criar a visita', 'warning'); + return; + } + } + setIndexScreen(indexScreen < categories.length + 1 ? indexScreen + 1 : 1); }; const handleNavigation = (index: number) => { @@ -106,10 +124,7 @@ const EvaluateVisit = () => { setLoading(true); for (const answer of fetchedVisitGrade) { - const questions = await VisitGradesService.getAllQuestionsBySeller( - selectedSeller.id - ); - + const questions = await VisitGradesService.getAllQuestionsBySeller(selectedSeller.id); const existingQuestion = questions.find( (question) => question.questionsId === answer.questionId ); @@ -130,11 +145,7 @@ const EvaluateVisit = () => { } }; - const createGrades = async (answer: { - grade: number; - sellerId: string; - questionId: string; - }) => { + const createGrades = async (answer: { grade: number; sellerId: string; questionId: string }) => { try { await VisitGradesService.create({ grade: answer.grade, @@ -236,7 +247,7 @@ const EvaluateVisit = () => { {indexScreen > categories.length && user.job === 'Supervisor' && ( )} @@ -257,7 +268,7 @@ const FinishedSection = ({ finishedVisit, array, loading }) => { {loading ? ( ) : ( - Finalizar dia com com esse vendedor + Finalizar dia com esse vendedor )} @@ -289,7 +300,7 @@ const SellerSelection = ({ disabled={storeName === ''} style={{ opacity: storeName ? 1 : 0.5 }} > - iniciar Avaliação + Iniciar Avaliação ); diff --git a/src/screens/SalesInspector/TabScreens/Action/index.tsx b/src/screens/SalesInspector/TabScreens/Action/index.tsx index 2b3cff2..ded10ce 100644 --- a/src/screens/SalesInspector/TabScreens/Action/index.tsx +++ b/src/screens/SalesInspector/TabScreens/Action/index.tsx @@ -45,7 +45,7 @@ const Action = ({ route }) => { const plainsData = await PlainService.getByIdSellerPlain( responseSeller.id ); - console.log(visits) + console.log(visits, responseSeller.id) setPlains(plainsData.filter((plain) => !plain.done)); setVisits(visits); setCompletedPlains(plainsData.filter((plain) => plain.done)); diff --git a/src/services/VisitService.ts b/src/services/VisitService.ts index 0d5a8a5..a35e6b0 100644 --- a/src/services/VisitService.ts +++ b/src/services/VisitService.ts @@ -8,6 +8,13 @@ import IVisit from '@interfaces/Visit/Visit'; import api from './api'; +interface VisitCreate{ + sellerId: string; + visitTemplateId: string; + storeVisited: string; + dateVisited: string +} + export default class VisitService { static async createQuestionsGrade( questionGrade: IQuestionGrade @@ -15,6 +22,12 @@ export default class VisitService { await api.post(`/questionsGrades/create`, questionGrade); } + static async createVisit( + {visitTemplateId, sellerId, dateVisited,storeVisited}: VisitCreate + ): Promise { + await api.post(`/visit/create`, {visitTemplateId, sellerId, dateVisited,storeVisited}); + } + static async getAll(): Promise { const visits: AxiosResponse = await api.get('visit/getAll'); return visits.data; From ae4fd0dd7bdfc5e3f16cad299130dac56e34c08c Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Wed, 5 Jun 2024 14:59:44 -0300 Subject: [PATCH 09/11] Questions Categorias Apresentation --- src/components/ContainerActions/index.tsx | 6 +- src/routes/AppStack/app.routes.tsx | 8 +- .../EvaluateVisitManager/index.tsx | 125 ++++++++++++++ .../EvaluateVisitManager/styles.ts | 161 ++++++++++++++++++ .../{Mentory => MentoryAndVisit}/index.tsx | 0 .../{Mentory => MentoryAndVisit}/styles.ts | 0 .../TabScreens/Action/index.tsx | 2 +- 7 files changed, 299 insertions(+), 3 deletions(-) create mode 100644 src/screens/EvaluateVisit/EvaluateVisitManager/index.tsx create mode 100644 src/screens/EvaluateVisit/EvaluateVisitManager/styles.ts rename src/screens/SalesInspector/TabScreens/Action/Plain/{Mentory => MentoryAndVisit}/index.tsx (100%) rename src/screens/SalesInspector/TabScreens/Action/Plain/{Mentory => MentoryAndVisit}/styles.ts (100%) diff --git a/src/components/ContainerActions/index.tsx b/src/components/ContainerActions/index.tsx index de0db5e..07dc5ca 100644 --- a/src/components/ContainerActions/index.tsx +++ b/src/components/ContainerActions/index.tsx @@ -30,7 +30,11 @@ const ContainerActions: React.FC = () => { }; const handleEnviarEvaluateVisit = () => { - navigation.navigate('EvaluateVisit' as never); + if (user.job === 'Supervisor') { + navigation.navigate('EvaluateVisit' as never); + }else if (user.job === 'Gerente'){ + navigation.navigate('EvaluateVisitManager' as never); + } }; const getButtonText = (buttonType: string) => { diff --git a/src/routes/AppStack/app.routes.tsx b/src/routes/AppStack/app.routes.tsx index 70c29f8..d7fedcf 100644 --- a/src/routes/AppStack/app.routes.tsx +++ b/src/routes/AppStack/app.routes.tsx @@ -9,9 +9,10 @@ import TabNav from '@routes/TabNav'; import EvaluateMentoring from '@screens/EvaluateMentoring'; import CompleteMentorship from '@screens/EvaluateMentoring/CompleteMentorship'; import EvaluateVisit from '@screens/EvaluateVisit'; +import EvaluateVisitManager from '@screens/EvaluateVisit/EvaluateVisitManager'; import useAuth from '@hooks/useAuth'; import ModuloAsk from '@screens/EvaluateMentoring/ModuloAsk'; -import PlainAction from '@screens/SalesInspector/TabScreens/Action/Plain/Mentory'; +import PlainAction from '@screens/SalesInspector/TabScreens/Action/Plain/MentoryAndVisit'; const AppStack = createNativeStackNavigator(); @@ -50,6 +51,11 @@ const AppRoutes: React.FC = () => { component={EvaluateVisit} options={{ header: () => <> }} /> + <> }} + /> { + const { user } = useAuth(); + const [categories, setCategories] = useState([]); + const [indexScreen, setIndexScreen] = useState(1); + const [template, setTemplate] = useState([]); + const [loading, setLoading] = useState(false); + const [fetchedVisitGrade, setFetchedVisitGrade] = useState([]); + const toast = useToast(); + + useEffect(() => { + const fetchCategories = async () => { + try { + const managerTemplate = await VisitService.getTemplateByCompanyId(user.companyId); + const fetchedCategories: ICategories[] = []; + + await Promise.all( + managerTemplate.map(async (template) => { + const categories = await VisitService.getCategoriesByIdTemplate(template.id); + categories.forEach((category) => { + fetchedCategories.push(category); + }); + }) + ); + + setTemplate(managerTemplate); + setCategories(fetchedCategories); + } catch (error) { + console.error('Erro ao buscar categorias:', error); + } + }; + + fetchCategories(); + }, [user.companyId]); + + const showToast = (message: string, type: string) => { + toast.show(message, { + type: type, + placement: 'bottom', + duration: 3500, + animationType: 'zoom-in', + }); + }; + + const handleAdvanceCategory = () => { + if (indexScreen < categories.length) { + setIndexScreen(indexScreen + 1); + } + }; + + const handlePreviousCategory = () => { + if (indexScreen > 1) { + setIndexScreen(indexScreen - 1); + } + }; + + const handleUpdateAnswers = (updatedAnswers: any[]) => { + const updatedGrades = [...fetchedVisitGrade]; + + updatedAnswers.forEach((answer) => { + const existingIndex = updatedGrades.findIndex( + (grade) => + grade.questionId === answer.questionId + ); + + if (existingIndex !== -1) { + updatedGrades[existingIndex].grade = answer.value; + } else { + updatedGrades.push({ + questionId: answer.questionId, + sellerId: '', + grade: answer.value, + }); + } + }); + + setFetchedVisitGrade(updatedGrades); + }; + + return ( + + + + {categories.map((category, idx) => ( + + + + ))} + + Voltar + Avançar + + + {loading && } + + + ); +}; + +export default EvaluateVisitManager; diff --git a/src/screens/EvaluateVisit/EvaluateVisitManager/styles.ts b/src/screens/EvaluateVisit/EvaluateVisitManager/styles.ts new file mode 100644 index 0000000..921cf10 --- /dev/null +++ b/src/screens/EvaluateVisit/EvaluateVisitManager/styles.ts @@ -0,0 +1,161 @@ +import { + TouchableOpacity, + StatusBar as RNStatusBar, + ScrollView, + Image, +} from 'react-native'; +import { Text } from 'react-native'; +import { TextInput, View } from 'react-native'; +import styled from 'styled-components/native'; + +export const WrapperView = styled(View)` + width: 100%; + height: 100%; + margin-top: ${RNStatusBar.currentHeight || 0}px; + display: flex; +`; + +export const ContainerFields = styled(View)` + max-width: 100%; + + gap: 8px; +`; + +export const DivSellerInfo = styled(View)` + width: 100%; + height: auto; + margin: 0 auto; + margin-top: 64px; + display: flex; + flex-direction: row; + padding: 4px 20%; + align-items: center; + justify-content: space-around; +`; + +export const Wrapper = styled(View)` + width: 100%; + height: auto; +`; + +export const TemaQuestion = styled(Text)` + font-family: Poppins; + font-size: 16px; +`; + +export const DivSellerImage = styled(View)` + width: 64px; + height: 64px; +`; + +export const ImageSeller = styled(Image)` + width: 64px; + height: 64px; +`; + +export const DivInfoSeller = styled(View)` + width: 100%; + justify-content: flex-start; + display: flex; + align-items: center; + padding: 4px; +`; + +export const InfoSeller = styled(Text)` + font-size: 18px; + max-width: 75%; + font-weight: bold; + text-transform: uppercase; + font-family: Poppins; + margin-left: 24px; +`; + +export const DivContainer = styled(ScrollView)` + width: 100%; + height: 100%; + margin: 10px auto; + padding: 16px 8px; +`; + +export const TitleInput = styled(Text)` + font-family: Poppins; + font-size: 12px; + font-weight: 400; + margin: 8px 0; +`; + +export const Input = styled(TextInput)` + font-family: Poppins; + max-width: 100%; + padding: 2px 8px; + border-radius: 4px; + background-color: #f1f3f5; + border-width: 1px; + border-color: #d7dbdf; + font-size: 12px; + font-weight: 400; + color: #687076; +`; + +export const ButtonFirst = styled(TouchableOpacity)` + padding: 8px 24px; + background-color: #3e63dd; + margin: 0 auto; + + display: flex; + justify-content: center; + align-items: center; + border-radius: 8px; + +`; + +export const ButtonIniciar = styled(TouchableOpacity)` + padding: 8px 24px; + background-color: #3e63dd; + width: 90%; + height: auto; + display: flex; + justify-content: center; + align-items: center; + border-radius: 8px; + margin: 0px auto; +`; + +export const TextBtn = styled(Text)` + font-family: Poppins; + text-transform: uppercase; + color: #fff; + font-size: 16px; +`; + +export const Outline = styled(TouchableOpacity)` + padding: 8px 24px; + width: 90%; + height: auto; + display: flex; + justify-content: center; + align-items: center; + border-radius: 8px; + margin: 0px auto; + border-width: 1px; + border-color: #3451b2; +`; + +export const TextBtnNova = styled(Text)` + font-family: Poppins; + text-transform: uppercase; + color: #3451b2; + font-size: 16px; +`; + +export const BtnFinished = styled(TouchableOpacity)` + padding: 8px 24px; + background-color: #3e63dd; + width: 90%; + height: 50px; + display: flex; + justify-content: center; + align-items: center; + border-radius: 8px; + margin: 0px auto; +`; diff --git a/src/screens/SalesInspector/TabScreens/Action/Plain/Mentory/index.tsx b/src/screens/SalesInspector/TabScreens/Action/Plain/MentoryAndVisit/index.tsx similarity index 100% rename from src/screens/SalesInspector/TabScreens/Action/Plain/Mentory/index.tsx rename to src/screens/SalesInspector/TabScreens/Action/Plain/MentoryAndVisit/index.tsx diff --git a/src/screens/SalesInspector/TabScreens/Action/Plain/Mentory/styles.ts b/src/screens/SalesInspector/TabScreens/Action/Plain/MentoryAndVisit/styles.ts similarity index 100% rename from src/screens/SalesInspector/TabScreens/Action/Plain/Mentory/styles.ts rename to src/screens/SalesInspector/TabScreens/Action/Plain/MentoryAndVisit/styles.ts diff --git a/src/screens/SalesInspector/TabScreens/Action/index.tsx b/src/screens/SalesInspector/TabScreens/Action/index.tsx index ded10ce..a435233 100644 --- a/src/screens/SalesInspector/TabScreens/Action/index.tsx +++ b/src/screens/SalesInspector/TabScreens/Action/index.tsx @@ -10,7 +10,7 @@ import { import * as S from './styles'; import CardsMentory from '@components/CardsMentory'; -import PlainMentory from './Plain/Mentory'; +import PlainMentory from './Plain/MentoryAndVisit'; import PlainService from '@services/PlainService'; import SellerServices from '@services/SellerServices'; From f35dd01964e85b79d7188c095a51a7da943e3c1d Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Wed, 5 Jun 2024 16:33:33 -0300 Subject: [PATCH 10/11] Not Available --- src/components/AccordionVisit/index.tsx | 4 +- src/components/Select/index.tsx | 26 ++++---- src/components/Select/styles.ts | 7 +++ .../CompleteMentorship/index.tsx | 60 ++++++++++++++++++- .../TabScreens/Mentoring/index.tsx | 4 +- src/services/SellerServices.ts | 6 +- 6 files changed, 89 insertions(+), 18 deletions(-) diff --git a/src/components/AccordionVisit/index.tsx b/src/components/AccordionVisit/index.tsx index 9c21c44..32ec084 100644 --- a/src/components/AccordionVisit/index.tsx +++ b/src/components/AccordionVisit/index.tsx @@ -29,7 +29,7 @@ const AccordionHeader: React.FC<{ {title} - {media !== 0 ? formatNumber(media) : 'Y,Y'} + {media !== 0 ? formatNumber(media) : 'N.A'} = ({ > {item.question} - {formatNumber(item.grade) || 'X,X'} + {formatNumber(item.grade) || 'N.A'} ))} diff --git a/src/components/Select/index.tsx b/src/components/Select/index.tsx index 597503f..536f21a 100644 --- a/src/components/Select/index.tsx +++ b/src/components/Select/index.tsx @@ -42,17 +42,21 @@ const Select: React.FC = ({ color="#687076" /> - {isOpen && ( - 1 ? 300 : null}> - {options?.map((option, index) => ( - handleSelectOption(option.label, option.value)} - > - {option.label} - - ))} - + {options && options.length > 0 ? ( + isOpen && ( + 1 ? 300 : null}> + {options.map((option, index) => ( + handleSelectOption(option.label, option.value)} + > + {option.label} + + ))} + + ) + ) : ( + Nenhuma opção disponível )} diff --git a/src/components/Select/styles.ts b/src/components/Select/styles.ts index 7acce28..eb023a2 100644 --- a/src/components/Select/styles.ts +++ b/src/components/Select/styles.ts @@ -56,3 +56,10 @@ export const Selected = styled(Text)` font-size: 12px; margin-right: 8px; `; + +export const NoOptionsMessage = styled(Text)` + color: #687076; + font-size: 12px; + padding: 10px; + text-align: center; +`; diff --git a/src/screens/EvaluateMentoring/CompleteMentorship/index.tsx b/src/screens/EvaluateMentoring/CompleteMentorship/index.tsx index 34a7b4c..0979711 100644 --- a/src/screens/EvaluateMentoring/CompleteMentorship/index.tsx +++ b/src/screens/EvaluateMentoring/CompleteMentorship/index.tsx @@ -14,6 +14,9 @@ import DateTimePicker, { } from '@react-native-community/datetimepicker'; import { MaterialCommunityIcons } from '@expo/vector-icons'; import { useDataContext } from '../../../context/DataContext'; +import SellerServices from '@services/SellerServices'; +import PlainService from '@services/PlainService'; +import ModulesServices from '@services/ModuleServices'; interface RouteParams { ModulesEvaluate: Array<{ @@ -59,7 +62,7 @@ const CompleteMentorship: React.FC = () => { try { setLoading(true); await Promise.all(ModulesEvaluate.map(updateModuleGrade)); - + setData({ ...data, seller: Seller, @@ -67,11 +70,41 @@ const CompleteMentorship: React.FC = () => { setLoading(false); console.log('Módulos avaliados com sucesso'); showToast('Módulos avaliados com sucesso', 'success'); + + const allModulesEvaluated = await checkAllModulesEvaluated(); + console.log(allModulesEvaluated); + if (allModulesEvaluated) { + console.log('Todos os módulos foram avaliados. Atualizando estágio para "Visita"...'); + showToast('Todos os módulos avaliados', 'success'); + showToast('Alterando Estado para Visita', 'success'); + await SellerServices.updateSeller({ ...Seller, stage: 'Visita' }); + setData({ + ...data, + seller: { ...Seller, stage: 'Visita' }, + }); + } } catch (error) { console.error('Erro ao completar o mentorado:', error); } }; + const checkAllModulesEvaluated = async () => { + try { + const modules = await ModulesServices.getAllModules(); + + const moduleGrades = await ModuleGradeServices.getModuleGradesByIdSeller(Seller.id); + + const allModulesEvaluated = modules.every(module => + moduleGrades.some(grade => grade.moduleId === module.id) + ); + + return allModulesEvaluated; + } catch (error) { + console.error('Erro ao verificar se todos os módulos foram avaliados:', error); + return false; + } + }; + const updateModuleGrade = async (element: any) => { try { if (element) { @@ -105,7 +138,30 @@ const CompleteMentorship: React.FC = () => { }; const handleCompleteWithoutActionPlan = async () => { - console.log('Completo'); + try { + await Promise.all(ModulesEvaluate.map(createActionPlan)); + } catch (error) { + console.error('Erro ao criar plano de ação:', error); + } + console.log('Completo sem plano'); + }; + + const createActionPlan = async (element: any) => { + try { + const newPlan = { + title: selectedAction, + prize: date.toISOString(), + comments: element.comment, + sellerId: Seller.id, + supervisorId: Seller.supervisorId, + visitId: '', + moduleId: element.moduleId, + done: false, + }; + await PlainService.createPlain(newPlan); + } catch (error) { + console.error('Erro ao criar plano de ação:', error); + } }; const handleBackHome = () => { diff --git a/src/screens/SalesInspector/TabScreens/Mentoring/index.tsx b/src/screens/SalesInspector/TabScreens/Mentoring/index.tsx index dc8b0b2..e58f063 100644 --- a/src/screens/SalesInspector/TabScreens/Mentoring/index.tsx +++ b/src/screens/SalesInspector/TabScreens/Mentoring/index.tsx @@ -62,10 +62,10 @@ const Mentoring = ({ route }) => { comment={moduleGrade[index]?.supervisorComment || 'Comentários'} title={module.name || `Módulo: Tema`} implementation={ - formatScore(moduleGrade[index]?.implementationScore) || 'X,X' + formatScore(moduleGrade[index]?.implementationScore) || 'N.A' } knowledge={ - formatScore(moduleGrade[index]?.knowledgeScore) || 'Y,Y' + formatScore(moduleGrade[index]?.knowledgeScore) || 'N.A' } /> ))} diff --git a/src/services/SellerServices.ts b/src/services/SellerServices.ts index fe792b2..3335b5e 100644 --- a/src/services/SellerServices.ts +++ b/src/services/SellerServices.ts @@ -55,9 +55,13 @@ export default class SellerService { await api.delete(`/seller/delete/${sellerId}`); } - // Função para criar um novo vendedor static async createSeller(newSeller: Partial): Promise { const sellerResponse = await api.post('/seller/create', newSeller); return sellerResponse.data; } + + static async updateSeller(newSeller: Partial): Promise { + const sellerResponse = await api.patch(`/seller/update/${newSeller.id}`, newSeller); + return sellerResponse.data; + } } From 7ef01ec2f4fdbccf8477c91f131c278a239186ef Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Wed, 26 Jun 2024 01:38:09 -0300 Subject: [PATCH 11/11] =?UTF-8?q?Gr=C3=A1ficos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/BarChart/index.tsx | 42 +++++++++++------------ src/components/BarChart/styles.ts | 10 +----- src/components/MatrizSlider/index.tsx | 49 +++++++++++++++------------ src/components/MatrizSlider/styles.ts | 6 ++-- 4 files changed, 51 insertions(+), 56 deletions(-) diff --git a/src/components/BarChart/index.tsx b/src/components/BarChart/index.tsx index 5b6c1d7..1bb5ecc 100644 --- a/src/components/BarChart/index.tsx +++ b/src/components/BarChart/index.tsx @@ -3,9 +3,11 @@ import * as S from './styles'; import { BarChart } from 'react-native-chart-kit'; import { Dimensions } from 'react-native'; -interface BarChartProps {} +interface BarChartProps { + type: string; +} -const BarChartComponent: React.FC = ({}) => { +const BarChartComponent: React.FC = ({ type }) => { const data = { labels: ['6', '7', '8', '9', '10'], datasets: [ @@ -35,25 +37,23 @@ const BarChartComponent: React.FC = ({}) => { return ( - Matriz IC Implementação | Conhecimento - - - + {type === 'modulo' && Médias por módulo} + {type === 'competencia' && Médias por competência} + {type === 'matrixxz' && Médias por MatrixXZ} + ); }; diff --git a/src/components/BarChart/styles.ts b/src/components/BarChart/styles.ts index 233a205..85fe846 100644 --- a/src/components/BarChart/styles.ts +++ b/src/components/BarChart/styles.ts @@ -4,25 +4,17 @@ import styled from 'styled-components/native'; export const Container = styled(View)` width: 100%; height: auto; - flex-direction: row; align-items: center; justify-content: center; border-radius: 8px; margin: 16px 0; `; -export const WrapperChart = styled(View)` - width: 100%; - display: flex; - justify-content: center; - align-items: center; -`; - export const TitleSlider = styled(Text)` color: #687076; font-size: 16px; font-weight: 400; - margin: 5px 0; + margin: 16px 32px; align-self: flex-start; align-items: flex-start; `; diff --git a/src/components/MatrizSlider/index.tsx b/src/components/MatrizSlider/index.tsx index 3ef2ca5..908b7e4 100644 --- a/src/components/MatrizSlider/index.tsx +++ b/src/components/MatrizSlider/index.tsx @@ -1,32 +1,37 @@ -/* eslint-disable react-native/no-inline-styles */ -import React from 'react'; -import { View, Text } from 'react-native'; -import Carousel from 'react-native-reanimated-carousel'; +import React, { useRef } from 'react'; +import { View, ScrollView, Dimensions } from 'react-native'; import BarChartComponent from '@components/BarChart'; import * as S from './styles'; + const MatrizSlider: React.FC = () => { + const scrollRef = useRef(null); + const { width: windowWidth } = Dimensions.get('window'); + + const data = [0, 1]; // Array de dados do carrossel + + const handleScroll = (event) => { + const offsetX = event.nativeEvent.contentOffset.x; + const index = Math.round(offsetX / windowWidth); + console.log('current index:', index); + }; + return ( - console.log('current index:', index)} - renderItem={({ index }) => ( - - {index} + + {data.map((_, index) => ( + + - )} - /> + ))} + ); }; diff --git a/src/components/MatrizSlider/styles.ts b/src/components/MatrizSlider/styles.ts index faf5217..f7a63db 100644 --- a/src/components/MatrizSlider/styles.ts +++ b/src/components/MatrizSlider/styles.ts @@ -4,12 +4,10 @@ import { theme } from '@styles/default.theme'; export const Wrapper = styled(View)` background-color: ${theme.colors.primary.main}; - width: 85%; - height: auto; + width: 100%; + height: 300px; // Altura ajustada para o carrossel margin: 0 auto; display: flex; align-items: center; justify-content: center; - border-bottom-width: 1px; - border-bottom-color: #d1d1d1; // Cor ajustada `;