diff --git a/assets/pix.png b/assets/pix.png new file mode 100644 index 0000000..e52663d Binary files /dev/null and b/assets/pix.png differ diff --git a/package.json b/package.json index 4b65062..d64cb62 100644 --- a/package.json +++ b/package.json @@ -16,29 +16,29 @@ "keywords": [], "author": "", "devDependencies": { + "@typescript-eslint/eslint-plugin": "^4.18.0", + "@typescript-eslint/parser": "^4.18.0", + "@vtex/prettier-config": "0.1.4", + "concurrently": "^6.0.0", "eslint": "^7.22.0", "eslint-config-prettier": "^8.1.0", + "eslint-config-vtex": "12.3.2", + "eslint-config-vtex-react": "^6.2.1", "eslint-plugin-prettier": "^3.3.1", + "eslint-plugin-react": "^7.23.1", "glob": "^7.1.6", "gulp": "^4.0.2", "gulp-concat": "^2.6.1", "gulp-sass": "^5.0.0", "gulp-wait": "0.0.2", - "sass": "^1.37.5", - "concurrently": "^6.0.0", - "@typescript-eslint/eslint-plugin": "^4.18.0", - "@typescript-eslint/parser": "^4.18.0", - "@vtex/prettier-config": "0.1.4", - "eslint-config-vtex": "12.3.2", - "eslint-config-vtex-react": "^6.2.1", - "eslint-plugin-react": "^7.23.1", "husky": "^5.2.0", "lint-staged": "10.1.1", "prettier": "2.0.2", + "sass": "^1.37.5", "typescript": "3.8.3" }, "dependencies": { "husky": "^5.2.0", "react": "^17.0.2" } -} +} \ No newline at end of file diff --git a/react/Placeholder.tsx b/react/Placeholder.tsx deleted file mode 100644 index 8980692..0000000 --- a/react/Placeholder.tsx +++ /dev/null @@ -1,3 +0,0 @@ -import Placeholder from "./components/placeholder"; - -export default Placeholder; diff --git a/react/PlaceholderAdd.tsx b/react/PlaceholderAdd.tsx new file mode 100644 index 0000000..a74b44e --- /dev/null +++ b/react/PlaceholderAdd.tsx @@ -0,0 +1,3 @@ +import PlaceholderAdd from "./components/placeholder"; + +export default PlaceholderAdd; diff --git a/react/components/Html/styles.css b/react/components/Html/styles.css index aa7570c..f97398d 100644 --- a/react/components/Html/styles.css +++ b/react/components/Html/styles.css @@ -34,6 +34,12 @@ margin-bottom: 32px; } +[class*="html--pix"] { + display: flex; + gap: 26px; + align-items: center; +} + @media screen and (max-width: 1024px) { [class*="html--product-main"] { flex-direction: column; diff --git a/react/components/pix/index.tsx b/react/components/pix/index.tsx index fc87a45..9498915 100644 --- a/react/components/pix/index.tsx +++ b/react/components/pix/index.tsx @@ -1,40 +1,28 @@ import React from "react"; -import { useProduct } from "vtex.product-context"; import { useCssHandles } from "vtex.css-handles"; +import { useProduct } from "vtex.product-context"; +import "./styles.css"; const Pix = () => { - const productContextValue = useProduct(); - const price = productContextValue?.product?.priceRange.listPrice.highPrice; + const productContext = useProduct(); + const price = productContext?.product?.priceRange.listPrice.highPrice; + const CSS_HANDLES = ["containerPix", "imagePix", "pricePix", "textPix"]; + const { handles } = useCssHandles(CSS_HANDLES); - console.log(productContextValue); - - console.log(price); - let pix; let valuePix; if (price !== undefined) { - pix = (price / 100) * 10; - console.log(pix, "valor lido"); - valuePix = price - pix; - console.log(valuePix); + const value = (price / 100) * 10; + valuePix = price - value; } - const CSS_HANDLES = [ - 'imagePix', - 'textPix' - ] - - const handles = useCssHandles(CSS_HANDLES) - return ( -
- imagem pix -

R$ {valuePix}

-
+ <> +
+

R$ {valuePix}

+

10% de desconto

+
+ ); }; diff --git a/react/components/pix/styles.css b/react/components/pix/styles.css index bb9587b..2b8189e 100644 --- a/react/components/pix/styles.css +++ b/react/components/pix/styles.css @@ -1,3 +1,26 @@ +.containerPix { + display: flex; + flex-direction: column; +} + .imagePix { width: 25px; } +.pricePix { + font-weight: 700; + font-size: 18px; + line-height: 25px; + + color: rgba(0, 0, 0, 0.58); + + margin: 0; +} + +.textPix { + font-weight: 300; + font-size: 13px; + line-height: 18px; + + color: #929292; + margin: 0; +} diff --git a/react/components/placeholder/index.tsx b/react/components/placeholder/index.tsx index a1e6600..0756df2 100644 --- a/react/components/placeholder/index.tsx +++ b/react/components/placeholder/index.tsx @@ -1,16 +1,16 @@ -const Placeholder = () => { - if (window !== undefined) { - if (document !== undefined) { - const placeholderCep = document.querySelector( - ".vtex-address-form__postalCode .vtex-input .vtex-input-prefix__group .vtex-address-form-4-x-hideDecorators" - ); - console.log(placeholderCep); - } else { - return console.log("não achei document"); - } - } else { - return console.log("não achei windows"); +import React from "react"; +const PlaceholderAdd = () => { + let placeholderCep; + placeholderCep = document.querySelector( + ".vtex-address-form__postalCode .vtex-input .vtex-input-prefix__group .vtex-address-form-4-x-hideDecorators" + ) as HTMLInputElement; + console.log(placeholderCep); + if (placeholderCep !== null) { + placeholderCep.placeholder = "Digite seu cep"; + console.log(placeholderCep); } + + return <>{placeholderCep}; }; -export default Placeholder; +export default PlaceholderAdd; diff --git a/react/package.json b/react/package.json index aa90575..fe516fa 100644 --- a/react/package.json +++ b/react/package.json @@ -4,6 +4,7 @@ }, "dependencies": { "apollo-client": "^2.6.8", + "axios": "^1.3.1", "jquery": "^3.6.0", "react": "^16.12.0", "react-apollo": "^3.1.3", @@ -24,11 +25,11 @@ "@vtex/tsconfig": "^0.4.4", "graphql": "^14.6.0", "typescript": "3.9.7", + "vtex.css-handles": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.css-handles@1.0.0/public/@types/vtex.css-handles", + "vtex.product-context": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.product-context@0.10.0/public/@types/vtex.product-context", "vtex.render-runtime": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.render-runtime@8.130.0/public/@types/vtex.render-runtime", "vtex.responsive-layout": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.responsive-layout@0.1.2/public/@types/vtex.responsive-layout", "vtex.rich-text": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.rich-text@0.14.0/public/@types/vtex.rich-text", - "vtex.styleguide": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.styleguide@9.145.0/public/@types/vtex.styleguide", - "vtex.product-context": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.product-context@0.10.0/public/@types/vtex.product-context", - "vtex.css-handles": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.css-handles@1.0.0/public/@types/vtex.css-handles" + "vtex.styleguide": "http://vtex.vtexassets.com/_v/public/typings/v1/vtex.styleguide@9.145.0/public/@types/vtex.styleguide" } } diff --git a/react/tsconfig.json b/react/tsconfig.json index 0f1fbfc..6c3a05d 100644 --- a/react/tsconfig.json +++ b/react/tsconfig.json @@ -2,16 +2,18 @@ "extends": "@vtex/tsconfig", "compilerOptions": { "noEmitOnError": false, - "lib": ["dom"], + "lib": ["dom", "dom.iterable"], "module": "esnext", "moduleResolution": "node", - "target": "es2017" + "target": "es2017", + "forceConsistentCasingInFileNames": true, + "strict": true }, "include": [ "./typings/*.d.ts", "./**/*.tsx", "./**/*.ts", "components/placeholder/index.tsx", - "Placeholder.tsx" + "PlaceholderAdd.tsx" ] } diff --git a/react/yarn.lock b/react/yarn.lock index d4b6c43..eb261ef 100644 --- a/react/yarn.lock +++ b/react/yarn.lock @@ -370,6 +370,20 @@ apollo-utilities@1.3.4, apollo-utilities@^1.3.0, apollo-utilities@^1.3.4: ts-invariant "^0.4.0" tslib "^1.10.0" +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + +axios@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.3.1.tgz#80bf6c8dbb46e6db1fa8fe9ab114c1ca7405c2ee" + integrity sha512-78pWJsQTceInlyaeBQeYZ/QgZeWS8hGeKiIJiDKQe3hEyBb7sEMq0K4gjx+Va6WHTYO4zI/RRl8qGRzn0YMadA== + dependencies: + follow-redirects "^1.15.0" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + babel-plugin-macros@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1" @@ -405,6 +419,13 @@ color-name@1.1.3: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== +combined-stream@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + convert-source-map@^1.5.0: version "1.9.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" @@ -426,6 +447,11 @@ csstype@^3.0.2: resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.1.tgz#841b532c45c758ee546a11d5bd7b7b473c8c30b9" integrity sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw== +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== + dom-helpers@^5.0.1: version "5.2.1" resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902" @@ -461,6 +487,20 @@ find-root@^1.1.0: resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== +follow-redirects@^1.15.0: + version "1.15.2" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" + integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== + +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" @@ -569,6 +609,18 @@ memoize-one@^6.0.0: resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-6.0.0.tgz#b2591b871ed82948aee4727dc6abceeeac8c1045" integrity sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw== +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.12: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" @@ -610,6 +662,11 @@ prop-types@^15.6.0, prop-types@^15.6.2, prop-types@^15.7.2: object-assign "^4.1.1" react-is "^16.13.1" +proxy-from-env@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + react-apollo@^3.1.3: version "3.1.5" resolved "https://registry.yarnpkg.com/react-apollo/-/react-apollo-3.1.5.tgz#36692d393c47e7ccc37f0a885c7cc5a8b4961c91" diff --git a/store/blocks/pdp/product-tab-layout.jsonc b/store/blocks/pdp/product-tab-layout.jsonc index 948c43a..668a2ba 100644 --- a/store/blocks/pdp/product-tab-layout.jsonc +++ b/store/blocks/pdp/product-tab-layout.jsonc @@ -14,6 +14,14 @@ "collapseContent": false } }, + + "html#tab-layout": { + "props": { + "testId": "tab-layout" + }, + "children": ["tab-layout#description"] + }, + "tab-layout#description": { "children": ["tab-list#description", "tab-content#description"], "props": { diff --git a/store/blocks/pdp/product.jsonc b/store/blocks/pdp/product.jsonc index 2de3fb2..7a719c8 100644 --- a/store/blocks/pdp/product.jsonc +++ b/store/blocks/pdp/product.jsonc @@ -3,7 +3,7 @@ "children": [ "html#breadcrumb", "condition-layout.product#availability", - "tab-layout#description", + "html#tab-layout", "html#list-context.product-list#prateleira", "product-questions-and-answers" ] @@ -90,14 +90,14 @@ "flex-layout.row#product-name", "product-identifier.product", "product-rating-summary", - "product-selling-price", + "product-list-price", "product-installments", - "pix", + "html#pix", "html#sku-selector", "product-gifts", "html#buy-button", "availability-subscriber", - "shipping-simulator" + "html#shipping-simulator" ] }, @@ -108,6 +108,12 @@ "children": ["vtex.store-components:product-name"] }, + "product-list-price": { + "props": { + "blockClass": "price-total" + } + }, + "product-installments": { "props": { "markers": ["discount"], @@ -126,7 +132,8 @@ "image#pix": { "props": { - "src": "../../../assets/pix.png" + "blockClass": "pix-image", + "src": "assets/pix.png" } }, @@ -213,5 +220,12 @@ "props": { "blockClass": "message-availability" } + }, + + "html#shipping-simulator": { + "props": { + "testId": "shipping-simulator" + }, + "children": ["shipping-simulator"] } } diff --git a/store/interfaces.json b/store/interfaces.json index b610fa0..4cf7edf 100644 --- a/store/interfaces.json +++ b/store/interfaces.json @@ -7,9 +7,9 @@ "composition": "children" }, "placeholder": { - "component": "Placeholder" + "component": "PlaceholderAdd" }, "pix": { "component": "Pix" } -} +} \ No newline at end of file diff --git a/styles/css/vtex.product-price.css b/styles/css/vtex.product-price.css index 8e85cb0..be6e817 100644 --- a/styles/css/vtex.product-price.css +++ b/styles/css/vtex.product-price.css @@ -7,7 +7,10 @@ */ /* Media Query M3 */ /* Grid breakpoints */ -.sellingPriceValue .currencyContainer { +.listPriceValue--price-total { + text-decoration: none; +} +.listPriceValue--price-total .currencyContainer--price-total { font-weight: 700; font-size: 25px; line-height: 38px; @@ -15,16 +18,6 @@ color: #000000; } -.sellingPrice { - color: #3f3f40; - font-size: 1.25rem; -} - -.sellingPriceValue { - font-size: 2.25rem; - font-weight: 700; -} - .installments--custom-installments { font-weight: 700; font-size: 16px; @@ -106,6 +99,13 @@ text-decoration-line: line-through; color: #BABABA; } +.listPrice--prateleira .currencyContainer--prateleira { + font-size: 14px; + line-height: 19px; + text-align: center; + text-decoration-line: line-through; + color: #BABABA; +} .sellingPrice--prateleira { font-weight: 700; diff --git a/styles/css/vtex.store-components.css b/styles/css/vtex.store-components.css index 6ada3d7..1e64c51 100644 --- a/styles/css/vtex.store-components.css +++ b/styles/css/vtex.store-components.css @@ -394,6 +394,11 @@ color: #FFFFFF; } +.imageElement--pix-image { + width: 66px; + height: 24px; +} + @media screen and (max-width: 1024px) { .productImageTag--main { max-height: 994px !important; diff --git a/styles/sass/pages/product/vtex.product-price.scss b/styles/sass/pages/product/vtex.product-price.scss index 5a1fedf..85a7192 100644 --- a/styles/sass/pages/product/vtex.product-price.scss +++ b/styles/sass/pages/product/vtex.product-price.scss @@ -1,19 +1,13 @@ -.sellingPriceValue .currencyContainer { - font-weight: 700; - font-size: 25px; - line-height: 38px; +.listPriceValue--price-total { text-decoration: none; - color: #000000; -} -.sellingPrice { - color: #3f3f40; - font-size: 1.25rem; -} - -.sellingPriceValue { - font-size: 2.25rem; - font-weight: 700; + .currencyContainer--price-total { + font-weight: 700; + font-size: 25px; + line-height: 38px; + text-decoration: none; + color: #000000; + } } .installments--custom-installments { @@ -97,6 +91,14 @@ text-align: center; text-decoration-line: line-through; color: #BABABA; + + .currencyContainer--prateleira { + font-size: 14px; + line-height: 19px; + text-align: center; + text-decoration-line: line-through; + color: #BABABA; + } } .sellingPrice--prateleira { diff --git a/styles/sass/pages/product/vtex.store-components.scss b/styles/sass/pages/product/vtex.store-components.scss index b080ff2..277096f 100644 --- a/styles/sass/pages/product/vtex.store-components.scss +++ b/styles/sass/pages/product/vtex.store-components.scss @@ -458,6 +458,11 @@ } +.imageElement--pix-image { + width: 66px; + height: 24px; +} + @media screen and (min-width: 1920px) {} diff --git a/yarn.lock b/yarn.lock index 9ca681c..b9790dd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -524,6 +524,11 @@ async-settle@^1.0.0: dependencies: async-done "^1.2.2" +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + atob@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" @@ -539,6 +544,15 @@ axe-core@^4.6.2: resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.6.2.tgz#6e566ab2a3d29e415f5115bc0fd2597a5eb3e5e3" integrity sha512-b1WlTV8+XKLj9gZy2DZXgQiyDp9xkkoe2a6U6UbYccScq2wgH/YwCeI2/Jq2mgo0HzQxqJOjWZBLeA/mqsk5Mg== +axios@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.3.1.tgz#80bf6c8dbb46e6db1fa8fe9ab114c1ca7405c2ee" + integrity sha512-78pWJsQTceInlyaeBQeYZ/QgZeWS8hGeKiIJiDKQe3hEyBb7sEMq0K4gjx+Va6WHTYO4zI/RRl8qGRzn0YMadA== + dependencies: + follow-redirects "^1.15.0" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + axobject-query@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-3.1.1.tgz#3b6e5c6d4e43ca7ba51c5babf99d22a9c68485e1" @@ -858,6 +872,13 @@ color-support@^1.1.3: resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== +combined-stream@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + commander@^4.0.1: version "4.1.1" resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" @@ -1081,6 +1102,11 @@ define-property@^2.0.2: is-descriptor "^1.0.2" isobject "^3.0.1" +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== + detect-file@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" @@ -1822,6 +1848,11 @@ flush-write-stream@^1.0.2: inherits "^2.0.3" readable-stream "^2.3.6" +follow-redirects@^1.15.0: + version "1.15.2" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" + integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== + for-each@^0.3.3: version "0.3.3" resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" @@ -1841,6 +1872,15 @@ for-own@^1.0.0: dependencies: for-in "^1.0.1" +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + fragment-cache@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" @@ -3047,6 +3087,18 @@ micromatch@^4.0.2, micromatch@^4.0.4: braces "^3.0.2" picomatch "^2.3.1" +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.12: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + mimic-fn@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" @@ -3535,6 +3587,11 @@ prop-types@^15.8.1: object-assign "^4.1.1" react-is "^16.13.1" +proxy-from-env@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + pump@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909"