diff --git a/README.md b/README.md index 186d3f987..5a2ffd83c 100644 Binary files a/README.md and b/README.md differ diff --git a/package-lock.json b/package-lock.json index 103f54323..a3ab8a946 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,19 +1,24 @@ { - "name": "landingpage-react-template", + "name": "react-floating-whatsapp", + "version": "1.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "landingpage-react-template", - "dependencies": { - "@testing-library/jest-dom": "^4.2.4", - "@testing-library/react": "^9.3.2", - "@testing-library/user-event": "^7.1.2", - "emailjs-com": "^2.6.4", - "react": "^17.0.1", - "react-dom": "^17.0.1", - "react-scripts": "^5.0.1", + "name": "react-floating-whatsapp", + "version": "1.0.0", + "dependencies": { + "emailjs-com": "^3.2.0", + "react": "18.2.0", + "react-dom": "18.2.0", + "react-floating-whatsapp": "^5.0.8", + "react-scripts": "5.0.1", "smooth-scroll": "^16.1.3" + }, + "devDependencies": { + "@types/react": "17.0.0", + "@types/react-dom": "17.0.0", + "typescript": "4.1.3" } }, "node_modules/@ampproject/remapping": { @@ -1748,15 +1753,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/runtime-corejs3": { - "version": "7.12.18", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.12.18.tgz", - "integrity": "sha512-ngR7yhNTjDxxe1VYmhqQqqXZWujGb6g0IoA4qeG6MxNGRnIw2Zo8ImY8HfaQ7l3T6GklWhdNfyhWk0C0iocdVA==", - "dependencies": { - "core-js-pure": "^3.0.0", - "regenerator-runtime": "^0.13.4" - } - }, "node_modules/@babel/template": { "version": "7.20.7", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", @@ -3236,19 +3232,6 @@ "node": ">=8" } }, - "node_modules/@jest/types": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", - "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^13.0.0" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/@jridgewell/gen-mapping": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", @@ -3514,11 +3497,6 @@ "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz", "integrity": "sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==" }, - "node_modules/@sheerun/mutationobserver-shim": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@sheerun/mutationobserver-shim/-/mutationobserver-shim-0.3.3.tgz", - "integrity": "sha512-DetpxZw1fzPD5xUBrIAoplLChO2VB8DlL5Gg+I1IR9b2wPqYIca2WSUxL5g1vLeR4MsQq1NeWriXAVffV+U1Fw==" - }, "node_modules/@sinclair/typebox": { "version": "0.24.51", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", @@ -3758,173 +3736,6 @@ "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/@testing-library/dom": { - "version": "6.16.0", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-6.16.0.tgz", - "integrity": "sha512-lBD88ssxqEfz0wFL6MeUyyWZfV/2cjEZZV3YRpb2IoJRej/4f1jB0TzqIOznTpfR1r34CNesrubxwIlAQ8zgPA==", - "dependencies": { - "@babel/runtime": "^7.8.4", - "@sheerun/mutationobserver-shim": "^0.3.2", - "@types/testing-library__dom": "^6.12.1", - "aria-query": "^4.0.2", - "dom-accessibility-api": "^0.3.0", - "pretty-format": "^25.1.0", - "wait-for-expect": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/dom/node_modules/@jest/types": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", - "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/@testing-library/dom/node_modules/@types/yargs": { - "version": "15.0.13", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.13.tgz", - "integrity": "sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@testing-library/dom/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/dom/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@testing-library/dom/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/dom/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@testing-library/dom/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@testing-library/dom/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/dom/node_modules/pretty-format": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", - "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", - "dependencies": { - "@jest/types": "^25.5.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/@testing-library/dom/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/jest-dom": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-4.2.4.tgz", - "integrity": "sha512-j31Bn0rQo12fhCWOUWy9fl7wtqkp7In/YP2p5ZFyRuiiB9Qs3g+hS4gAmDWONbAHcRmVooNJ5eOHQDCOmUFXHg==", - "dependencies": { - "@babel/runtime": "^7.5.1", - "chalk": "^2.4.1", - "css": "^2.2.3", - "css.escape": "^1.5.1", - "jest-diff": "^24.0.0", - "jest-matcher-utils": "^24.0.0", - "lodash": "^4.17.11", - "pretty-format": "^24.0.0", - "redent": "^3.0.0" - }, - "engines": { - "node": ">=8", - "npm": ">=6" - } - }, - "node_modules/@testing-library/react": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-9.5.0.tgz", - "integrity": "sha512-di1b+D0p+rfeboHO5W7gTVeZDIK5+maEgstrZbWZSSvxDyfDRkkyBE1AJR5Psd6doNldluXlCWqXriUfqu/9Qg==", - "dependencies": { - "@babel/runtime": "^7.8.4", - "@testing-library/dom": "^6.15.0", - "@types/testing-library__react": "^9.1.2" - }, - "engines": { - "node": ">=8" - }, - "peerDependencies": { - "react": "*", - "react-dom": "*" - } - }, - "node_modules/@testing-library/user-event": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-7.2.1.tgz", - "integrity": "sha512-oZ0Ib5I4Z2pUEcoo95cT1cr6slco9WY7yiPpG+RGNkj8YcYgJnM7pXmYmorNOReh8MIGcKSqXyeGjxnr8YiZbA==", - "peerDependencies": { - "@testing-library/dom": ">=5" - } - }, "node_modules/@tootallnate/once": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", @@ -4090,15 +3901,6 @@ "@types/istanbul-lib-coverage": "*" } }, - "node_modules/@types/istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", - "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", - "dependencies": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" - } - }, "node_modules/@types/json-schema": { "version": "7.0.11", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", @@ -4132,7 +3934,8 @@ "node_modules/@types/prop-types": { "version": "15.7.3", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz", - "integrity": "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==" + "integrity": "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==", + "dev": true }, "node_modules/@types/q": { "version": "1.5.5", @@ -4150,18 +3953,22 @@ "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" }, "node_modules/@types/react": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.2.tgz", - "integrity": "sha512-Xt40xQsrkdvjn1EyWe1Bc0dJLcil/9x2vAuW7ya+PuQip4UYUaXyhzWmAbwRsdMgwOFHpfp7/FFZebDU6Y8VHA==", + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.0.tgz", + "integrity": "sha512-aj/L7RIMsRlWML3YB6KZiXB3fV2t41+5RBGYF8z+tAKU43Px8C3cYUZsDvf1/+Bm4FK21QWBrDutu8ZJ/70qOw==", + "dev": true, + "license": "MIT", "dependencies": { "@types/prop-types": "*", "csstype": "^3.0.2" } }, "node_modules/@types/react-dom": { - "version": "17.0.1", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.1.tgz", - "integrity": "sha512-yIVyopxQb8IDZ7SOHeTovurFq+fXiPICa+GV3gp0Xedsl+MwQlMLKmvrnEjFbQxjliH5YVAEWFh975eVNmKj7Q==", + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.0.tgz", + "integrity": "sha512-lUqY7OlkF/RbNtD5nIq7ot8NquXrdFrjSOR6+w9a9RFQevGi1oZO1dcJbXMeONAPKtZ2UrZOEJ5UOCVsxbLk/g==", + "dev": true, + "license": "MIT", "dependencies": { "@types/react": "*" } @@ -4214,129 +4021,6 @@ "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" }, - "node_modules/@types/testing-library__dom": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@types/testing-library__dom/-/testing-library__dom-6.14.0.tgz", - "integrity": "sha512-sMl7OSv0AvMOqn1UJ6j1unPMIHRXen0Ita1ujnMX912rrOcawe4f7wu0Zt9GIQhBhJvH2BaibqFgQ3lP+Pj2hA==", - "dependencies": { - "pretty-format": "^24.3.0" - } - }, - "node_modules/@types/testing-library__react": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/@types/testing-library__react/-/testing-library__react-9.1.3.tgz", - "integrity": "sha512-iCdNPKU3IsYwRK9JieSYAiX0+aYDXOGAmrC/3/M7AqqSDKnWWVv07X+Zk1uFSL7cMTUYzv4lQRfohucEocn5/w==", - "dependencies": { - "@types/react-dom": "*", - "@types/testing-library__dom": "*", - "pretty-format": "^25.1.0" - } - }, - "node_modules/@types/testing-library__react/node_modules/@jest/types": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", - "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/@types/testing-library__react/node_modules/@types/yargs": { - "version": "15.0.13", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.13.tgz", - "integrity": "sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/testing-library__react/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@types/testing-library__react/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@types/testing-library__react/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@types/testing-library__react/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@types/testing-library__react/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@types/testing-library__react/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@types/testing-library__react/node_modules/pretty-format": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", - "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", - "dependencies": { - "@jest/types": "^25.5.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/@types/testing-library__react/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@types/trusted-types": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.2.tgz", @@ -4350,14 +4034,6 @@ "@types/node": "*" } }, - "node_modules/@types/yargs": { - "version": "13.0.11", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.11.tgz", - "integrity": "sha512-NRqD6T4gktUrDi1o1wLH3EKC1o2caCr7/wR87ODcbVITQF106OM3sFN92ysZ++wqelOd1CTzatnOBRDYYG6wGQ==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, "node_modules/@types/yargs-parser": { "version": "20.2.0", "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz", @@ -5019,14 +4695,6 @@ "ansi-html": "bin/ansi-html" } }, - "node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "engines": { - "node": ">=6" - } - }, "node_modules/ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", @@ -5063,18 +4731,6 @@ "sprintf-js": "~1.0.2" } }, - "node_modules/aria-query": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", - "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", - "dependencies": { - "@babel/runtime": "^7.10.2", - "@babel/runtime-corejs3": "^7.10.2" - }, - "engines": { - "node": ">=6.0" - } - }, "node_modules/array-flatten": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", @@ -5198,17 +4854,6 @@ "node": ">= 4.0.0" } }, - "node_modules/atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" - } - }, "node_modules/autoprefixer": { "version": "10.4.13", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz", @@ -5831,9 +5476,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001448", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001448.tgz", - "integrity": "sha512-tq2YI+MJnooG96XpbTRYkBxLxklZPOdLmNIOdIhvf7SNJan6u5vCKum8iT7ZfCt70m1GPkuC7P3TtX6UuhupuA==", + "version": "1.0.30001699", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001699.tgz", + "integrity": "sha512-b+uH5BakXZ9Do9iK+CkDmctUSEqZl+SP056vc5usa0PL+ev5OHw003rZXcnjNDv3L8P5j6rwT6C0BPKSikW08w==", "funding": [ { "type": "opencollective", @@ -5842,8 +5487,13 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } - ] + ], + "license": "CC-BY-4.0" }, "node_modules/case-sensitive-paths-webpack-plugin": { "version": "2.4.0", @@ -6242,17 +5892,6 @@ "node": ">=8" } }, - "node_modules/css": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", - "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", - "dependencies": { - "inherits": "^2.0.3", - "source-map": "^0.6.1", - "source-map-resolve": "^0.5.2", - "urix": "^0.1.0" - } - }, "node_modules/css-blank-pseudo": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", @@ -6496,11 +6135,6 @@ "url": "https://github.com/sponsors/fb55" } }, - "node_modules/css.escape": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", - "integrity": "sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s=" - }, "node_modules/cssdb": { "version": "7.4.1", "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.4.1.tgz", @@ -6644,9 +6278,11 @@ "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" }, "node_modules/csstype": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.6.tgz", - "integrity": "sha512-+ZAmfyWMT7TiIlzdqJgjMb7S4f1beorDbWbsocyK4RaiqA5RTX3K14bnBWmmA9QEM0gRdsjyyrEmcyga8Zsxmw==" + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "dev": true, + "license": "MIT" }, "node_modules/damerau-levenshtein": { "version": "1.0.8", @@ -6687,14 +6323,6 @@ "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" }, - "node_modules/decode-uri-component": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", - "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", - "engines": { - "node": ">=0.10" - } - }, "node_modules/dedent": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", @@ -6870,14 +6498,6 @@ "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" }, - "node_modules/diff-sequences": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz", - "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==", - "engines": { - "node": ">= 6" - } - }, "node_modules/dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", @@ -6921,11 +6541,6 @@ "node": ">=6.0.0" } }, - "node_modules/dom-accessibility-api": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.3.0.tgz", - "integrity": "sha512-PzwHEmsRP3IGY4gv/Ug+rMeaTIyTJvadCb+ujYXYeIylbHJezIyNToe8KfEgHTCEYyC+/bUghYOGg8yMGlZ6vA==" - }, "node_modules/dom-converter": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", @@ -7056,10 +6671,14 @@ "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==" }, "node_modules/emailjs-com": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/emailjs-com/-/emailjs-com-2.6.4.tgz", - "integrity": "sha512-4G8rxq+1mbL4rGntMa9tqNJ4N9BhuCl8lFJASDHxZVXeC82ivwL6qw+Zu48cAWHpNK2/F3vScaAZk8zoTAfiAA==", - "deprecated": "The SDK name changed to @emailjs/browser" + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/emailjs-com/-/emailjs-com-3.2.0.tgz", + "integrity": "sha512-Prbz3E1usiAwGjMNYRv6EsJ5c373cX7/AGnZQwOfrpNJrygQJ15+E9OOq4pU8yC977Z5xMetRfc3WmDX6RcjAA==", + "deprecated": "The SDK name changed to @emailjs/browser", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + } }, "node_modules/emittery": { "version": "0.8.1", @@ -9490,14 +9109,6 @@ "node": ">=0.8.19" } }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "engines": { - "node": ">=8" - } - }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -10743,20 +10354,6 @@ "node": ">=8" } }, - "node_modules/jest-diff": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz", - "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==", - "dependencies": { - "chalk": "^2.0.1", - "diff-sequences": "^24.9.0", - "jest-get-type": "^24.9.0", - "pretty-format": "^24.9.0" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/jest-docblock": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", @@ -11146,14 +10743,6 @@ "node": ">=8" } }, - "node_modules/jest-get-type": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", - "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==", - "engines": { - "node": ">= 6" - } - }, "node_modules/jest-haste-map": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", @@ -11534,20 +11123,6 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" }, - "node_modules/jest-matcher-utils": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz", - "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==", - "dependencies": { - "chalk": "^2.0.1", - "jest-diff": "^24.9.0", - "jest-get-type": "^24.9.0", - "pretty-format": "^24.9.0" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/jest-message-util": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", @@ -13760,14 +13335,6 @@ "node": ">=6" } }, - "node_modules/min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "engines": { - "node": ">=4" - } - }, "node_modules/mini-css-extract-plugin": { "version": "2.7.2", "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.2.tgz", @@ -13888,9 +13455,16 @@ } }, "node_modules/nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -14373,9 +13947,10 @@ "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" }, "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", @@ -14531,9 +14106,9 @@ } }, "node_modules/postcss": { - "version": "8.4.21", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", - "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", + "version": "8.4.49", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", + "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", "funding": [ { "type": "opencollective", @@ -14542,12 +14117,17 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "nanoid": "^3.3.4", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "nanoid": "^3.3.7", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" }, "engines": { "node": "^10 || ^12 || >=14" @@ -15747,20 +15327,6 @@ "renderkid": "^3.0.0" } }, - "node_modules/pretty-format": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz", - "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==", - "dependencies": { - "@jest/types": "^24.9.0", - "ansi-regex": "^4.0.0", - "ansi-styles": "^3.2.0", - "react-is": "^16.8.4" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", @@ -15790,6 +15356,7 @@ "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "license": "MIT", "dependencies": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", @@ -15945,12 +15512,12 @@ } }, "node_modules/react": { - "version": "17.0.1", - "resolved": "https://registry.npmjs.org/react/-/react-17.0.1.tgz", - "integrity": "sha512-lG9c9UuMHdcAexXtigOZLX8exLWkW0Ku29qPRU8uhF2R9BN96dLCt0psvzPLlHc5OWkgymP3qwTRgbnw5BKx3w==", + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "license": "MIT", "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" + "loose-envify": "^1.1.0" }, "engines": { "node": ">=0.10.0" @@ -16090,16 +15657,16 @@ } }, "node_modules/react-dom": { - "version": "17.0.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.1.tgz", - "integrity": "sha512-6eV150oJZ9U2t9svnsspTMrWNyHc6chX0KzDeAOXftRa8bNeOKTTfCJ7KorIwenkHd2xqVTBTCZd79yk/lx/Ug==", + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "scheduler": "^0.20.1" + "scheduler": "^0.23.0" }, "peerDependencies": { - "react": "17.0.1" + "react": "^18.2.0" } }, "node_modules/react-error-overlay": { @@ -16107,6 +15674,19 @@ "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" }, + "node_modules/react-floating-whatsapp": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/react-floating-whatsapp/-/react-floating-whatsapp-5.0.8.tgz", + "integrity": "sha512-4X485d04u7MoWpn61OpWPO/mL94P3gaFq1L932ztH7bo9eClAFcg5ufIxNKbJo9/1h0xpjWZKEW0KBB0apWzZw==", + "license": "MIT", + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "react": ">=18.0.0", + "react-dom": ">=18.0.0" + } + }, "node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", @@ -16265,18 +15845,6 @@ "node": ">=6.0.0" } }, - "node_modules/redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", @@ -16454,12 +16022,6 @@ "node": ">=8" } }, - "node_modules/resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "deprecated": "https://github.com/lydell/resolve-url#deprecated" - }, "node_modules/resolve-url-loader": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", @@ -16720,12 +16282,12 @@ } }, "node_modules/scheduler": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.1.tgz", - "integrity": "sha512-LKTe+2xNJBNxu/QhHvDR14wUXHRQbVY5ZOYpOGWRzhydZUqrLb2JBvLPY7cAqFmqrWuDED0Mjk7013SZiOz6Bw==", + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "license": "MIT", "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" + "loose-envify": "^1.1.0" } }, "node_modules/schema-utils": { @@ -16968,7 +16530,8 @@ "node_modules/smooth-scroll": { "version": "16.1.3", "resolved": "https://registry.npmjs.org/smooth-scroll/-/smooth-scroll-16.1.3.tgz", - "integrity": "sha512-ca9U+neJS/cbdScTBuUTCZvUWNF2EuMCk7oAx3ImdeRK5FPm+xRo9XsVHIkeEVkn7MBRx+ufVEhyveM4ZhaTGA==" + "integrity": "sha512-ca9U+neJS/cbdScTBuUTCZvUWNF2EuMCk7oAx3ImdeRK5FPm+xRo9XsVHIkeEVkn7MBRx+ufVEhyveM4ZhaTGA==", + "license": "MIT" }, "node_modules/sockjs": { "version": "0.3.24", @@ -16994,9 +16557,10 @@ } }, "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -17021,19 +16585,6 @@ "webpack": "^5.0.0" } }, - "node_modules/source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", - "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, "node_modules/source-map-support": { "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", @@ -17043,12 +16594,6 @@ "source-map": "^0.6.0" } }, - "node_modules/source-map-url": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", - "deprecated": "See https://github.com/lydell/source-map-url#deprecated" - }, "node_modules/sourcemap-codec": { "version": "1.4.8", "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", @@ -17299,17 +16844,6 @@ "node": ">=6" } }, - "node_modules/strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dependencies": { - "min-indent": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -17782,9 +17316,10 @@ } }, "node_modules/tslib": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", - "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "license": "0BSD" }, "node_modules/tsutils": { "version": "3.21.0", @@ -17869,10 +17404,10 @@ } }, "node_modules/typescript": { - "version": "4.9.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", - "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==", - "peer": true, + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz", + "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==", + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -18005,12 +17540,6 @@ "punycode": "^2.1.0" } }, - "node_modules/urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "deprecated": "Please see https://github.com/lydell/urix#deprecated" - }, "node_modules/url-parse": { "version": "1.5.10", "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", @@ -18109,11 +17638,6 @@ "node": ">=10" } }, - "node_modules/wait-for-expect": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/wait-for-expect/-/wait-for-expect-3.0.2.tgz", - "integrity": "sha512-cfS1+DZxuav1aBYbaO/kE06EOS8yRw7qOFoD3XtjTkYvCvh3zUvNST8DXK/nPaeqIzIv3P3kL3lRJn8iwOiSag==" - }, "node_modules/walker": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", diff --git a/package.json b/package.json index cfa50c879..273717245 100644 --- a/package.json +++ b/package.json @@ -1,16 +1,28 @@ { - "name": "landingpage-react-template", - "private": true, + "name": "react-floating-whatsapp", + "version": "1.0.0", + "description": "Simple react component for adding a floating WhatsApp button to your project.", + "keywords": [ + "react-component", + "floating-watsapp-button ", + "react-typescript", + "whatsapp-button", + "whatsapp" + ], + "main": "src/index.tsx", "dependencies": { - "@testing-library/jest-dom": "^4.2.4", - "@testing-library/react": "^9.3.2", - "@testing-library/user-event": "^7.1.2", - "emailjs-com": "^2.6.4", - "react": "^17.0.1", - "react-dom": "^17.0.1", - "react-scripts": "^5.0.1", + "emailjs-com": "^3.2.0", + "react": "18.2.0", + "react-dom": "18.2.0", + "react-floating-whatsapp": "^5.0.8", + "react-scripts": "5.0.1", "smooth-scroll": "^16.1.3" }, + "devDependencies": { + "@types/react": "17.0.0", + "@types/react-dom": "17.0.0", + "typescript": "4.1.3" + }, "scripts": { "start": "react-scripts start", "build": "react-scripts build", diff --git a/public/css/nivo-lightbox/default.css b/public/css/nivo-lightbox/default.css index 9574ff10c..9b590e90e 100644 --- a/public/css/nivo-lightbox/default.css +++ b/public/css/nivo-lightbox/default.css @@ -13,7 +13,7 @@ box-sizing: initial !important; } .nivo-lightbox-theme-default.nivo-lightbox-overlay { - background: #666; + background: #b89080; background: rgba(0,0,0,0.6); } .nivo-lightbox-theme-default .nivo-lightbox-content.nivo-lightbox-loading { background: url(loading.gif) no-repeat 50% 50%; } diff --git a/public/css/style.css b/public/css/style.css index 86b652fef..6f88fc9ca 100644 --- a/public/css/style.css +++ b/public/css/style.css @@ -43,13 +43,13 @@ p.intro { line-height: 24px; } a { - color: #608dfd; + color: #14A690; font-weight: 400; } a:hover, a:focus { text-decoration: none; - color: #608dfd; + color: #82cfc4; } ul, ol { @@ -66,7 +66,7 @@ hr { width: 70px; text-align: center; position: relative; - background: #1e7a46; + background: #14A690; margin-bottom: 20px; border: 0; } @@ -90,7 +90,7 @@ hr { #menu.navbar-default .navbar-nav > li > a { font-family: "Lato", sans-serif; text-transform: uppercase; - color: #555; + color: #FF6F61; font-size: 15px; font-weight: 400; padding: 8px 2px; @@ -104,7 +104,7 @@ hr { bottom: -1px; width: 0; height: 2px; - background: linear-gradient(to right, #6372ff 0%, #5ca9fb 100%); + background: linear-gradient(to right, #14A690 0%, #82cfc4 100%); content: ""; transition: width 0.2s; } @@ -125,7 +125,7 @@ hr { bottom: -1px !important; width: 100% !important; height: 2px !important; - background: linear-gradient(to right, #6372ff 0%, #5ca9fb 100%) !important; + background: linear-gradient(to right, #14A690 0%, #82cfc4 100%) !important; content: "" !important; transition: width 0.2s !important; } @@ -135,10 +135,10 @@ hr { .navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus { background-color: #fff; - border-color: #608dfd; + border-color: #14A690; } .navbar-default .navbar-toggle:hover > .icon-bar { - background-color: #608dfd; + background-color: #14A690; } .section-title { margin-bottom: 70px; @@ -152,7 +152,7 @@ hr { .section-title h2::after { position: absolute; content: ""; - background: linear-gradient(to right, #5ca9fb 0%, #6372ff 100%); + background: linear-gradient(to right, #14A690 0%, #82cfc4 100%); height: 4px; width: 60px; bottom: 0; @@ -166,8 +166,8 @@ hr { font-family: "Raleway", sans-serif; text-transform: uppercase; color: #fff; - background-color: #5ca9fb; - background-image: linear-gradient(to right, #5ca9fb 0%, #6372ff 100%); + background-color: #14A690; + background-image: linear-gradient(to right, #1ef 0%, #82cfc4 100%); padding: 14px 34px; letter-spacing: 1px; margin: 0; @@ -184,7 +184,7 @@ hr { .btn-custom.active { color: #fff; background-image: none; - background-color: #6372ff; + background-color: #82cfc4; } .btn:active, .btn.active { @@ -208,19 +208,20 @@ a:focus, display: table; width: 100%; padding: 0; - background: url(../img/intro-bg.jpg) center center no-repeat; + background: url(../img/symmetric.png) center center no-repeat; background-color: #e5e5e5; -webkit-background-size: cover; -moz-background-size: cover; background-size: cover; -o-background-size: cover; } + .intro .overlay { background: rgba(0, 0, 0, 0.2); } .intro h1 { font-family: "Raleway", sans-serif; - color: #fff; + color: #fcfcfc; font-size: 82px; font-weight: 700; text-transform: uppercase; @@ -229,7 +230,7 @@ a:focus, } .intro h1 span { font-weight: 800; - color: #5ca9fb; + color: #14A690; } .intro p { color: #fff; @@ -257,7 +258,7 @@ header .intro-text { height: 100px; padding: 30px 0; border-radius: 50%; - background: linear-gradient(to right, #6372ff 0%, #5ca9fb 100%); + background: linear-gradient(to right, #14A690 0%, #82cfc4 100%); box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.05); } /* About Section */ @@ -276,7 +277,7 @@ header .intro-text { #about h2::after { position: absolute; content: ""; - background: linear-gradient(to right, #5ca9fb 0%, #6372ff 100%); + background: linear-gradient(to right, #14A690 0%, #82cfc4 100%); height: 4px; width: 60px; bottom: 0; @@ -310,7 +311,7 @@ header .intro-text { /* Services Section */ #services { padding: 100px 0; - background: linear-gradient(to right, #6372ff 0%, #5ca9fb 100%); + background: linear-gradient(to right, #ff6e6144 0%, #e0c4c154 100%); color: #fff; } #services .service-desc { @@ -334,7 +335,7 @@ header .intro-text { width: 120px; height: 120px; padding: 40px 0; - background: linear-gradient(to right, #6372ff 0%, #5ca9fb 100%); + background: linear-gradient(to right, #14A690 0%, #82cfc4 100%); border-radius: 50%; color: #fff; box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.05); @@ -370,8 +371,8 @@ header .intro-text { color: #fff; background: linear-gradient( to right, - rgba(99, 114, 255, 0.8) 0%, - rgba(92, 169, 251, 0.8) 100% + #14A690 0%, + #82cfc4 100% ); padding: 30% 0 0; height: 100%; @@ -460,7 +461,7 @@ header .intro-text { /* Contact Section */ #contact { padding: 100px 0 60px; - background: linear-gradient(to right, #6372ff 0%, #5ca9fb 100%); + background: linear-gradient(to right, #14A690 0%, #82cfc4 100%); color: rgba(255, 255, 255, 0.75); } #contact .section-title { @@ -580,7 +581,7 @@ label { transition: all 0.3s; } #contact .social i.fa:hover { - color: #608dfd; + color: #14A690; background: #fff; } /* Footer Section*/ @@ -593,14 +594,31 @@ label { font-size: 14px; } #footer a { - color: #608dfd; + color: #14A690; } #footer a:hover { - border-bottom: 2px solid #608dfd; + border-bottom: 2px solid #14A690; } @media (max-width: 768px) { #about img { margin: 50px 0; } + + .intro { + background: url(../img/BannerMobile.png) center center no-repeat; + -webkit-background-size: cover; + -moz-background-size: cover; + background-size: cover; + -o-background-size: cover; + } + + .intro h1 { + font-size: 42px; + } + + header .intro-text { + padding-top: 250px; + padding-bottom: 150px; + } } diff --git a/public/img/Banner.jpg b/public/img/Banner.jpg new file mode 100644 index 000000000..5db67eb00 Binary files /dev/null and b/public/img/Banner.jpg differ diff --git a/public/img/BannerMobile.jpg b/public/img/BannerMobile.jpg new file mode 100644 index 000000000..e7e83ebc7 Binary files /dev/null and b/public/img/BannerMobile.jpg differ diff --git a/public/img/BannerMobile.png b/public/img/BannerMobile.png new file mode 100644 index 000000000..0c9cb04f7 Binary files /dev/null and b/public/img/BannerMobile.png differ diff --git a/public/img/Logo/Logo.png b/public/img/Logo/Logo.png new file mode 100644 index 000000000..348d8839c Binary files /dev/null and b/public/img/Logo/Logo.png differ diff --git "a/public/img/Logo/VERS\303\203O HORIZONTAL CENTALIZADA.png" "b/public/img/Logo/VERS\303\203O HORIZONTAL CENTALIZADA.png" new file mode 100644 index 000000000..ed619bb1a Binary files /dev/null and "b/public/img/Logo/VERS\303\203O HORIZONTAL CENTALIZADA.png" differ diff --git "a/public/img/Logo/VERS\303\203O HORIZONTAL COMPACTA.png" "b/public/img/Logo/VERS\303\203O HORIZONTAL COMPACTA.png" new file mode 100644 index 000000000..54816b529 Binary files /dev/null and "b/public/img/Logo/VERS\303\203O HORIZONTAL COMPACTA.png" differ diff --git "a/public/img/Logo/VERS\303\203O PRINCIPAL.png" "b/public/img/Logo/VERS\303\203O PRINCIPAL.png" new file mode 100644 index 000000000..59d33ccf3 Binary files /dev/null and "b/public/img/Logo/VERS\303\203O PRINCIPAL.png" differ diff --git "a/public/img/Logo/VERS\303\203O RADIAL - SELO.png" "b/public/img/Logo/VERS\303\203O RADIAL - SELO.png" new file mode 100644 index 000000000..7cee4cf2d Binary files /dev/null and "b/public/img/Logo/VERS\303\203O RADIAL - SELO.png" differ diff --git a/public/img/Logo/android-chrome-192x192.png b/public/img/Logo/android-chrome-192x192.png new file mode 100644 index 000000000..8c89f5fdc Binary files /dev/null and b/public/img/Logo/android-chrome-192x192.png differ diff --git a/public/img/Logo/android-chrome-512x512.png b/public/img/Logo/android-chrome-512x512.png new file mode 100644 index 000000000..add483a5d Binary files /dev/null and b/public/img/Logo/android-chrome-512x512.png differ diff --git a/public/img/Logo/apple-touch-icon.png b/public/img/Logo/apple-touch-icon.png new file mode 100644 index 000000000..c2efe1bb3 Binary files /dev/null and b/public/img/Logo/apple-touch-icon.png differ diff --git a/public/img/Logo/favicon-16x16.png b/public/img/Logo/favicon-16x16.png new file mode 100644 index 000000000..8540f0f48 Binary files /dev/null and b/public/img/Logo/favicon-16x16.png differ diff --git a/public/img/Logo/favicon-32x32.png b/public/img/Logo/favicon-32x32.png new file mode 100644 index 000000000..2b43832a1 Binary files /dev/null and b/public/img/Logo/favicon-32x32.png differ diff --git a/public/img/Logo/favicon.ico b/public/img/Logo/favicon.ico new file mode 100644 index 000000000..446e2047b Binary files /dev/null and b/public/img/Logo/favicon.ico differ diff --git a/public/img/Logo/site.webmanifest b/public/img/Logo/site.webmanifest new file mode 100644 index 000000000..45dc8a206 --- /dev/null +++ b/public/img/Logo/site.webmanifest @@ -0,0 +1 @@ +{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"} \ No newline at end of file diff --git a/public/img/about.jpg b/public/img/about.jpg index 848638871..3667de316 100644 Binary files a/public/img/about.jpg and b/public/img/about.jpg differ diff --git a/public/img/bg-chat-tile-dark.png b/public/img/bg-chat-tile-dark.png new file mode 100644 index 000000000..12be84237 Binary files /dev/null and b/public/img/bg-chat-tile-dark.png differ diff --git a/public/img/bg-chat-tile-light.png b/public/img/bg-chat-tile-light.png new file mode 100644 index 000000000..c33fed4c8 Binary files /dev/null and b/public/img/bg-chat-tile-light.png differ diff --git a/public/img/portfolio/0e7665304b8043ad97feda3987aa56fb.jpeg b/public/img/portfolio/0e7665304b8043ad97feda3987aa56fb.jpeg new file mode 100644 index 000000000..6cb973ad9 Binary files /dev/null and b/public/img/portfolio/0e7665304b8043ad97feda3987aa56fb.jpeg differ diff --git a/public/img/portfolio/5D868559-0CE5-4339-A609-3318625CDD08-COLLAGE.jpeg b/public/img/portfolio/5D868559-0CE5-4339-A609-3318625CDD08-COLLAGE.jpeg new file mode 100644 index 000000000..393cb09fd Binary files /dev/null and b/public/img/portfolio/5D868559-0CE5-4339-A609-3318625CDD08-COLLAGE.jpeg differ diff --git a/public/img/portfolio/62452a49d1844e118f70dc6428a5dd85.jpeg b/public/img/portfolio/62452a49d1844e118f70dc6428a5dd85.jpeg new file mode 100644 index 000000000..577ce6f7e Binary files /dev/null and b/public/img/portfolio/62452a49d1844e118f70dc6428a5dd85.jpeg differ diff --git a/public/img/portfolio/6f0f7fd747a94d1a8435fe77045993c2.jpeg b/public/img/portfolio/6f0f7fd747a94d1a8435fe77045993c2.jpeg new file mode 100644 index 000000000..c6658481c Binary files /dev/null and b/public/img/portfolio/6f0f7fd747a94d1a8435fe77045993c2.jpeg differ diff --git a/public/img/portfolio/7fcb7a54d1ec495d9915e649aca1c33c.jpeg b/public/img/portfolio/7fcb7a54d1ec495d9915e649aca1c33c.jpeg new file mode 100644 index 000000000..48ce4c587 Binary files /dev/null and b/public/img/portfolio/7fcb7a54d1ec495d9915e649aca1c33c.jpeg differ diff --git a/public/img/portfolio/993cfe88f0384844b4719ffd152f491a.jpeg b/public/img/portfolio/993cfe88f0384844b4719ffd152f491a.jpeg new file mode 100644 index 000000000..da94e9fc5 Binary files /dev/null and b/public/img/portfolio/993cfe88f0384844b4719ffd152f491a.jpeg differ diff --git a/public/img/portfolio/Captura de tela 2025-03-02 082108.png b/public/img/portfolio/Captura de tela 2025-03-02 082108.png new file mode 100644 index 000000000..579d73093 Binary files /dev/null and b/public/img/portfolio/Captura de tela 2025-03-02 082108.png differ diff --git a/public/img/portfolio/Captura de tela 2025-03-02 082147.png b/public/img/portfolio/Captura de tela 2025-03-02 082147.png new file mode 100644 index 000000000..7d719e738 Binary files /dev/null and b/public/img/portfolio/Captura de tela 2025-03-02 082147.png differ diff --git a/public/img/portfolio/Captura de tela 2025-03-02 082239.png b/public/img/portfolio/Captura de tela 2025-03-02 082239.png new file mode 100644 index 000000000..614757b7b Binary files /dev/null and b/public/img/portfolio/Captura de tela 2025-03-02 082239.png differ diff --git a/public/img/portfolio/Dalianne Soares Small.jpg b/public/img/portfolio/Dalianne Soares Small.jpg new file mode 100644 index 000000000..0234d20c0 Binary files /dev/null and b/public/img/portfolio/Dalianne Soares Small.jpg differ diff --git a/public/img/portfolio/Gervasio Farias Small.jpg b/public/img/portfolio/Gervasio Farias Small.jpg new file mode 100644 index 000000000..234815027 Binary files /dev/null and b/public/img/portfolio/Gervasio Farias Small.jpg differ diff --git a/public/img/portfolio/IMG_4112.jpeg b/public/img/portfolio/IMG_4112.jpeg new file mode 100644 index 000000000..c0f5e9ca7 Binary files /dev/null and b/public/img/portfolio/IMG_4112.jpeg differ diff --git a/public/img/portfolio/Valeria Cardoso Small.jpg b/public/img/portfolio/Valeria Cardoso Small.jpg new file mode 100644 index 000000000..9a5a37aeb Binary files /dev/null and b/public/img/portfolio/Valeria Cardoso Small.jpg differ diff --git a/public/img/portfolio/fbdb477613884751a9f8caaf5c81130a.jpeg b/public/img/portfolio/fbdb477613884751a9f8caaf5c81130a.jpeg new file mode 100644 index 000000000..fdc3cf2b4 Binary files /dev/null and b/public/img/portfolio/fbdb477613884751a9f8caaf5c81130a.jpeg differ diff --git a/public/img/portfolio/mentoria.jpg b/public/img/portfolio/mentoria.jpg new file mode 100644 index 000000000..4a59dbc82 Binary files /dev/null and b/public/img/portfolio/mentoria.jpg differ diff --git a/public/img/portfolio/motivacional.jpg b/public/img/portfolio/motivacional.jpg new file mode 100644 index 000000000..e5383ca18 Binary files /dev/null and b/public/img/portfolio/motivacional.jpg differ diff --git a/public/img/portfolio/palestra.jpg b/public/img/portfolio/palestra.jpg new file mode 100644 index 000000000..e13ca89f5 Binary files /dev/null and b/public/img/portfolio/palestra.jpg differ diff --git a/public/img/profile.jpg b/public/img/profile.jpg new file mode 100644 index 000000000..c0f5e9ca7 Binary files /dev/null and b/public/img/profile.jpg differ diff --git a/public/img/symmetric.png b/public/img/symmetric.png new file mode 100644 index 000000000..09821357e Binary files /dev/null and b/public/img/symmetric.png differ diff --git a/public/img/testimonials/ds.jpg b/public/img/testimonials/ds.jpg new file mode 100644 index 000000000..13b703e29 Binary files /dev/null and b/public/img/testimonials/ds.jpg differ diff --git a/public/img/testimonials/gf.jpg b/public/img/testimonials/gf.jpg new file mode 100644 index 000000000..6d090ffee Binary files /dev/null and b/public/img/testimonials/gf.jpg differ diff --git a/public/img/testimonials/va.jpg b/public/img/testimonials/va.jpg new file mode 100644 index 000000000..ba991eeba Binary files /dev/null and b/public/img/testimonials/va.jpg differ diff --git a/public/index.html b/public/index.html index 1666528bf..1b8c497e1 100644 --- a/public/index.html +++ b/public/index.html @@ -1,8 +1,8 @@ - - + + - A React Landing Page Template + SYMMETRIC - + diff --git a/src/App.jsx b/src/App.jsx index 2517df8f5..2c1bf9185 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -6,8 +6,12 @@ import { About } from "./components/about"; import { Services } from "./components/services"; import { Gallery } from "./components/gallery"; import { Testimonials } from "./components/testimonials"; -import { Team } from "./components/Team"; + import { Contact } from "./components/contact"; +import { FloatingWhatsApp } from 'react-floating-whatsapp' +import "./App.css"; +import dummyAvatar from "./components/assets/uifaces-avatar.jpg"; + import JsonData from "./data/data.json"; import SmoothScroll from "smooth-scroll"; import "./App.css"; @@ -27,13 +31,23 @@ const App = () => {
- + - - + + +
); }; diff --git a/src/components/FloatingWhatsApp.tsx b/src/components/FloatingWhatsApp.tsx new file mode 100644 index 000000000..313095e65 --- /dev/null +++ b/src/components/FloatingWhatsApp.tsx @@ -0,0 +1,320 @@ +import React, { + useReducer, + useEffect, + useCallback, + useRef, + useMemo +} from "react"; +import { reducer } from "../reducer"; +import { WhatsappSVG, CloseSVG, CheckSVG, SendSVG } from "./Icons"; +import css from "../styles.module.css"; + +import darkBG from "./assets/bg-chat-tile-light.png"; +import lightBG from "./assets/bg-chat-tile-dark.png"; +import dummyAvatar from "./assets/uifaces-avatar.jpg"; + +export interface FloatingWhatsAppProps { + + onClick?: (event: React.MouseEvent) => void; + + onSubmit?: ( + event: React.FormEvent, + formValue: string + ) => void; + + onClose?: () => void; + + onNotification?: () => void; + + onLoopDone?: () => void; + + + phoneNumber: string; + + accountName: string; + + chatboxHeight?: number; + + chatboxStyle?: React.CSSProperties; + + chatboxClassName?: string; + + avatar?: string; + + statusMessage?: string; + + chatMessage?: string; + + placeholder?: string; + + + + notificationDelay?: number; + + notificationLoop?: number; + + notificationSound?: boolean; + + notificationSoundSrc?: string; + + notificationStyle?: React.CSSProperties; + + notificationClassName?: string; + + allowClickAway?: boolean; + + allowEsc?: boolean; + + darkMode?: boolean; + + style?: React.CSSProperties; + + className?: string; + + + buttonStyle?: React.CSSProperties; + + buttonClassName?: string; +} + +export function FloatingWhatsApp({ + onClick, + onSubmit, + onClose, + onNotification, + onLoopDone, + + phoneNumber = "558494797413", + accountName = "Adriana Magalhães", + avatar = dummyAvatar, + statusMessage= "Em geral, respondemos dentro de 1 hora.", + chatMessage = "Olá! Sou Adriana Magalhães! 🤝 \nComo posso ajudar?", + placeholder = "Digitando..", + + allowClickAway = false, + allowEsc = false, + + notification = true, + notificationDelay = 60, + notificationLoop = 0, + notificationSound = false, + notificationSoundSrc = "", + notificationStyle, + notificationClassName = "floating-whatsapp-notification", + + buttonStyle, + buttonClassName = "floating-whatsapp-button", + + chatboxHeight = 320, + chatboxStyle, + chatboxClassName = "floating-whatsapp-chatbox", + + darkMode = false, + style, + className = "floating-whatsapp" +}: FloatingWhatsAppProps) { + const [{ isOpen, isDelay, isNotification }, dispatch] = useReducer(reducer, { + isOpen: false, + isDelay: true, + isNotification: false + }); + + const timeNow = useMemo( + () => + new Date().toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" }), + [] + ); + + const inputRef = useRef(null); + const soundRef = useRef(null); + const loops = useRef(0); + const notificationInterval = useRef(0); + + const handleNotification = useCallback(() => { + if (!notification) return; + + dispatch({ type: "notification" }); + if (onNotification) onNotification(); + if (notificationLoop > 0) { + loops.current += 1; + + if (notificationSound) { + if (soundRef.current) { + soundRef.current.currentTime = 0; + soundRef.current.play(); + } + } + if (loops.current === notificationLoop) { + clearInterval(notificationInterval.current); + if (onLoopDone) onLoopDone(); + } + } + }, [ + notification, + notificationLoop, + notificationSound, + onNotification, + onLoopDone + ]); + + useEffect(() => { + const delayInSecond = notificationDelay * 1000; + if (delayInSecond < 10) + return console.error( + "notificationDelay prop value must be at least 10 seconds." + ); + + notificationInterval.current = window.setInterval( + handleNotification, + delayInSecond + ); + + return () => clearInterval(notificationInterval.current); + }, [handleNotification, notificationDelay]); + + const handleOpen = useCallback( + (event: React.MouseEvent) => { + event.stopPropagation(); + + if (isOpen) return; + + clearInterval(notificationInterval.current); + dispatch({ type: "open" }); + setTimeout(() => dispatch({ type: "delay" }), 2000); + if (onClick) onClick(event); + }, + [isOpen, onClick] + ); + + const handleClose = useCallback(() => { + dispatch({ type: "close" }); + + if (onClose) onClose(); + }, [onClose]); + + const handleSubmit = (event: React.FormEvent) => { + event.preventDefault(); + if (!inputRef.current?.value) return; + + window.open( + `https://api.whatsapp.com/send/?phone=${phoneNumber}&text=${inputRef.current.value}` + ); + if (onSubmit) onSubmit(event, inputRef.current.value); + inputRef.current.value = ""; + }; + + useEffect(() => { + const onClickOutside = () => { + if (!allowClickAway || !isOpen) return; + + handleClose(); + }; + document.addEventListener("click", onClickOutside, false); + + return () => document.removeEventListener("click", onClickOutside); + }, [allowClickAway, isOpen, handleClose]); + + useEffect(() => { + const onEscKey = (event: KeyboardEvent) => { + if (!allowEsc || !isOpen) return; + + if (event.key === "Escape") handleClose(); + }; + + document.addEventListener("keydown", onEscKey, false); + + return () => document.removeEventListener("keydown", onEscKey); + }, [allowEsc, isOpen, handleClose]); + + return ( +
+ + +
event.stopPropagation()} + aria-hidden="true" + style={{ height: isOpen ? chatboxHeight : 0, ...chatboxStyle }} + > +
+
+ whatsapp-avatar +
+
+ {accountName} + {statusMessage} +
+ +
+ +
+ {isDelay ? ( +
+
+
+
+
+
+
+ ) : ( +
+ + {accountName} +

{chatMessage}

+ + {timeNow} + + + + +
+ )} +
+ +
+
+ + +
+
+
+ {notificationSound && ( +
+ ); +} diff --git a/src/components/Icons.tsx b/src/components/Icons.tsx new file mode 100644 index 000000000..1b89173fc --- /dev/null +++ b/src/components/Icons.tsx @@ -0,0 +1,34 @@ +import React from "react"; + +export function WhatsappSVG() { + return ( + + + + ); +} + +export function CheckSVG() { + return ( + + + + ); +} +export function CloseSVG() { + return ( + + + + ); +} +export function SendSVG() { + return ( + + + + ); +} diff --git a/src/components/LogoImg.css b/src/components/LogoImg.css new file mode 100644 index 000000000..f224aae65 --- /dev/null +++ b/src/components/LogoImg.css @@ -0,0 +1,9 @@ +@media screen and (max-width: 400px) { + .LogoTopo { + padding: 1px; + width: 100%; + height: 100%; + } + +} + diff --git "a/src/components/VERS\303\203O HORIZONTAL COMPACTA.png" "b/src/components/VERS\303\203O HORIZONTAL COMPACTA.png" new file mode 100644 index 000000000..54816b529 Binary files /dev/null and "b/src/components/VERS\303\203O HORIZONTAL COMPACTA.png" differ diff --git "a/src/components/VERS\303\203O PRINCIPAL.png" "b/src/components/VERS\303\203O PRINCIPAL.png" new file mode 100644 index 000000000..59d33ccf3 Binary files /dev/null and "b/src/components/VERS\303\203O PRINCIPAL.png" differ diff --git a/src/components/about.jsx b/src/components/about.jsx index d50a7f2d4..28a361d47 100644 --- a/src/components/about.jsx +++ b/src/components/about.jsx @@ -11,9 +11,9 @@ export const About = (props) => {
-

About Us

+

Sobre mim

{props.data ? props.data.paragraph : "loading..."}

-

Why Choose Us?

+

Minha Trajetória

    diff --git a/src/components/assets/bg-chat-tile-dark.png b/src/components/assets/bg-chat-tile-dark.png new file mode 100644 index 000000000..12be84237 Binary files /dev/null and b/src/components/assets/bg-chat-tile-dark.png differ diff --git a/src/components/assets/bg-chat-tile-light.png b/src/components/assets/bg-chat-tile-light.png new file mode 100644 index 000000000..c33fed4c8 Binary files /dev/null and b/src/components/assets/bg-chat-tile-light.png differ diff --git a/src/components/assets/uifaces-avatar.jpg b/src/components/assets/uifaces-avatar.jpg new file mode 100644 index 000000000..c0f5e9ca7 Binary files /dev/null and b/src/components/assets/uifaces-avatar.jpg differ diff --git a/src/components/assets/whatsapp-notification.mp3 b/src/components/assets/whatsapp-notification.mp3 new file mode 100644 index 000000000..fa95fd8fe Binary files /dev/null and b/src/components/assets/whatsapp-notification.mp3 differ diff --git a/src/components/contact.jsx b/src/components/contact.jsx index be29734ed..d9caf0816 100644 --- a/src/components/contact.jsx +++ b/src/components/contact.jsx @@ -42,10 +42,9 @@ export const Contact = (props) => {
    -

    Get In Touch

    +

    Contatos

    - Please fill out the form below to send us an email and we will - get back to you as soon as possible. + Agende uma consulta ou entre em contato via whatsapp para mais informações. Estamos prontos para ajudá-lo a alcançar sua melhor versão e atingir novos patamares de sucesso e bem-estar.

    @@ -57,7 +56,7 @@ export const Contact = (props) => { id="name" name="name" className="form-control" - placeholder="Name" + placeholder="Nome" required onChange={handleChange} /> @@ -85,7 +84,7 @@ export const Contact = (props) => { id="message" className="form-control" rows="4" - placeholder="Message" + placeholder="Menssagem" required onChange={handleChange} > @@ -93,14 +92,14 @@ export const Contact = (props) => {
-

Contact Info

+

Contatos

Address @@ -135,13 +134,11 @@ export const Contact = (props) => {

  • - - - +
  • - +
  • @@ -153,9 +150,9 @@ export const Contact = (props) => {