From 3805e989c5fb91ac262d673fd8eb113e79a63cc6 Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Fri, 11 Apr 2025 09:17:07 +0100 Subject: [PATCH 01/85] fix: small css correction on pending txs --- .../src/pages/Transactions/Transactions.styles.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/new-lamassu-admin/src/pages/Transactions/Transactions.styles.js b/new-lamassu-admin/src/pages/Transactions/Transactions.styles.js index c1442bf2..7b90020e 100644 --- a/new-lamassu-admin/src/pages/Transactions/Transactions.styles.js +++ b/new-lamassu-admin/src/pages/Transactions/Transactions.styles.js @@ -73,6 +73,10 @@ const mainStyles = { titleWrapper, titleAndButtonsContainer, buttonsWrapper, + pendingBox: { + display: 'flex', + alignItems: 'center', + }, headerLabels: { display: 'flex', flexDirection: 'row', From 2b3378c72210f160bc85669222cdf24dc3d24c9b Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Fri, 11 Apr 2025 09:46:44 +0100 Subject: [PATCH 02/85] chore: graphql libs --- .../graphql/resolvers/customer.resolver.js | 3 +- new-lamassu-admin/package-lock.json | 2655 ++++++++++------- new-lamassu-admin/package.json | 15 +- new-lamassu-admin/src/App.jsx | 3 +- .../src/components/LogsDownloaderPopper.jsx | 2 +- .../NotificationCenter/NotificationCenter.jsx | 3 +- .../src/components/layout/Header.jsx | 3 +- .../machineActions/DiagnosticsModal.jsx | 3 +- .../machineActions/MachineActions.jsx | 3 +- .../src/pages/AddMachine/AddMachine.jsx | 3 +- .../src/pages/Analytics/Analytics.jsx | 3 +- new-lamassu-admin/src/pages/AuthRegister.jsx | 29 - .../pages/Authentication/Input2FAState.jsx | 3 +- .../pages/Authentication/InputFIDOState.jsx | 3 +- .../src/pages/Authentication/LoginState.jsx | 3 +- .../src/pages/Authentication/Register.jsx | 3 +- .../src/pages/Authentication/Reset2FA.jsx | 3 +- .../pages/Authentication/ResetPassword.jsx | 3 +- .../pages/Authentication/Setup2FAState.jsx | 3 +- .../src/pages/Blacklist/Blacklist.jsx | 3 +- .../src/pages/Cashout/Cashout.jsx | 3 +- .../src/pages/Commissions/Commissions.jsx | 3 +- .../src/pages/Customers/CustomerProfile.jsx | 3 +- .../src/pages/Customers/Customers.jsx | 3 +- .../components/CustomInfoRequestsData.jsx | 3 +- .../src/pages/Dashboard/Alerts/Alerts.jsx | 3 +- .../src/pages/Dashboard/Dashboard.jsx | 3 +- .../src/pages/Dashboard/Footer/Footer.jsx | 3 +- .../SystemPerformance/SystemPerformance.jsx | 3 +- .../Dashboard/SystemStatus/MachinesTable.jsx | 3 +- .../Dashboard/SystemStatus/SystemStatus.jsx | 3 +- new-lamassu-admin/src/pages/Funding.jsx | 3 +- .../src/pages/Locales/Locales.jsx | 3 +- .../LoyaltyPanel/IndividualDiscounts.jsx | 3 +- .../src/pages/LoyaltyPanel/PromoCodes.jsx | 3 +- new-lamassu-admin/src/pages/MachineLogs.jsx | 3 +- .../MachineComponents/Cassettes/Cassettes.jsx | 3 +- .../Commissions/Commissions.jsx | 3 +- .../Transactions/Transactions.jsx | 3 +- .../src/pages/Machines/Machines.jsx | 3 +- .../src/pages/Maintenance/CashUnits.jsx | 3 +- .../src/pages/Maintenance/CashboxHistory.jsx | 3 +- .../src/pages/Maintenance/MachineStatus.jsx | 3 +- .../src/pages/Notifications/Notifications.jsx | 3 +- .../src/pages/OperatorInfo/CoinATMRadar.jsx | 3 +- .../src/pages/OperatorInfo/ContactInfo.jsx | 3 +- .../src/pages/OperatorInfo/MachineScreens.jsx | 3 +- .../pages/OperatorInfo/ReceiptPrinting.jsx | 3 +- .../OperatorInfo/SMSNotices/SMSNotices.jsx | 3 +- .../pages/OperatorInfo/TermsConditions.jsx | 3 +- new-lamassu-admin/src/pages/ServerLogs.jsx | 3 +- .../src/pages/Services/Services.jsx | 3 +- .../SessionManagement/SessionManagement.jsx | 3 +- .../src/pages/Transactions/DetailsCard.jsx | 3 +- .../src/pages/Transactions/Transactions.jsx | 3 +- .../CustomInfoRequests/CustomInfoRequests.jsx | 3 +- .../src/pages/Triggers/TriggerView.jsx | 3 +- .../src/pages/Triggers/Triggers.jsx | 3 +- .../Triggers/components/AdvancedTriggers.jsx | 3 +- .../pages/UserManagement/UserManagement.jsx | 3 +- .../UserManagement/modals/ChangeRoleModal.jsx | 3 +- .../UserManagement/modals/CreateUserModal.jsx | 3 +- .../UserManagement/modals/EnableUserModal.jsx | 3 +- .../UserManagement/modals/Input2FAModal.jsx | 3 +- .../UserManagement/modals/Reset2FAModal.jsx | 3 +- .../modals/ResetPasswordModal.jsx | 3 +- .../src/pages/Wallet/AdvancedWallet.jsx | 3 +- new-lamassu-admin/src/pages/Wallet/Wallet.jsx | 3 +- new-lamassu-admin/src/pages/Wizard/Wizard.jsx | 3 +- .../pages/Wizard/components/Commissions.jsx | 3 +- .../src/pages/Wizard/components/Locales.jsx | 3 +- .../src/pages/Wizard/components/Mailgun.jsx | 3 +- .../src/pages/Wizard/components/Twilio.jsx | 3 +- .../pages/Wizard/components/Wallet/AllSet.jsx | 3 +- .../Wizard/components/Wallet/Blockcypher.jsx | 3 +- .../Wizard/components/Wallet/ChooseCoin.jsx | 3 +- .../components/Wallet/ChooseExchange.jsx | 3 +- .../Wizard/components/Wallet/ChooseTicker.jsx | 3 +- .../Wizard/components/Wallet/ChooseWallet.jsx | 3 +- new-lamassu-admin/src/utils/apollo.jsx | 9 +- 80 files changed, 1641 insertions(+), 1294 deletions(-) delete mode 100644 new-lamassu-admin/src/pages/AuthRegister.jsx diff --git a/lib/new-admin/graphql/resolvers/customer.resolver.js b/lib/new-admin/graphql/resolvers/customer.resolver.js index 98d40d44..30f5159c 100644 --- a/lib/new-admin/graphql/resolvers/customer.resolver.js +++ b/lib/new-admin/graphql/resolvers/customer.resolver.js @@ -34,7 +34,8 @@ const resolvers = { }, replacePhoto: async (root, { customerId, photoType, newPhoto }, context) => { const token = authentication.getToken(context) - const photo = await newPhoto + const { file } = newPhoto + const photo = await file if (!photo) return customers.getCustomerById(customerId) return customers.updateEditedPhoto(customerId, photo, photoType) .then(newPatch => customers.edit(customerId, newPatch, token)) diff --git a/new-lamassu-admin/package-lock.json b/new-lamassu-admin/package-lock.json index ba65fec1..d1c96d0f 100644 --- a/new-lamassu-admin/package-lock.json +++ b/new-lamassu-admin/package-lock.json @@ -9,20 +9,13 @@ "version": "0.2.1", "license": "../LICENSE", "dependencies": { - "@apollo/react-hooks": "^3.1.3", + "@apollo/client": "^3.13.7", "@lamassu/coins": "v1.6.1", "@material-ui/core": "4.12.4", "@material-ui/icons": "4.11.2", "@material-ui/lab": "^4.0.0-alpha.61", "@simplewebauthn/browser": "^3.0.0", - "@use-hooks/axios": "1.3.0", - "apollo-cache-inmemory": "^1.6.6", - "apollo-client": "^2.6.10", - "apollo-link": "^1.2.14", - "apollo-link-error": "^1.1.13", - "apollo-link-http": "^1.5.17", - "apollo-upload-client": "^13.0.0", - "axios": "0.21.1", + "apollo-upload-client": "^18.0.0", "bignumber.js": "9.0.0", "classnames": "2.2.6", "countries-and-timezones": "^2.4.0", @@ -32,8 +25,6 @@ "downshift": "3.3.4", "file-saver": "2.0.2", "formik": "2.2.0", - "graphql": "^14.5.8", - "graphql-tag": "^2.12.6", "jss-plugin-extend": "^10.0.0", "jszip": "^3.6.0", "libphonenumber-js": "^1.11.15", @@ -75,6 +66,7 @@ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" @@ -83,38 +75,46 @@ "node": ">=6.0.0" } }, - "node_modules/@apollo/react-common": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@apollo/react-common/-/react-common-3.1.4.tgz", - "integrity": "sha512-X5Kyro73bthWSCBJUC5XYQqMnG0dLWuDZmVkzog9dynovhfiVCV4kPSdgSIkqnb++cwCzOVuQ4rDKVwo2XRzQA==", + "node_modules/@apollo/client": { + "version": "3.13.7", + "resolved": "https://registry.npmjs.org/@apollo/client/-/client-3.13.7.tgz", + "integrity": "sha512-jOp8EctxOirgg5BSV0hgpcUSprrW7b9pf4r8ybUcY6Z+0T+ja5W82kI/rJeLUHxhT3YOKBm+72hWUHfsNIa+Fg==", + "license": "MIT", "dependencies": { - "ts-invariant": "^0.4.4", - "tslib": "^1.10.0" + "@graphql-typed-document-node/core": "^3.1.1", + "@wry/caches": "^1.0.0", + "@wry/equality": "^0.5.6", + "@wry/trie": "^0.5.0", + "graphql-tag": "^2.12.6", + "hoist-non-react-statics": "^3.3.2", + "optimism": "^0.18.0", + "prop-types": "^15.7.2", + "rehackt": "^0.1.0", + "symbol-observable": "^4.0.0", + "ts-invariant": "^0.10.3", + "tslib": "^2.3.0", + "zen-observable-ts": "^1.2.5" }, "peerDependencies": { - "@types/react": "^16.8.0", - "apollo-client": "^2.6.4", - "apollo-utilities": "^1.3.2", - "graphql": "^14.3.1", - "react": "^16.8.0" - } - }, - "node_modules/@apollo/react-hooks": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/@apollo/react-hooks/-/react-hooks-3.1.5.tgz", - "integrity": "sha512-y0CJ393DLxIIkksRup4nt+vSjxalbZBXnnXxYbviq/woj+zKa431zy0yT4LqyRKpFy9ahMIwxBnBwfwIoupqLQ==", - "dependencies": { - "@apollo/react-common": "^3.1.4", - "@wry/equality": "^0.1.9", - "ts-invariant": "^0.4.4", - "tslib": "^1.10.0" + "graphql": "^15.0.0 || ^16.0.0", + "graphql-ws": "^5.5.5 || ^6.0.3", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc", + "subscriptions-transport-ws": "^0.9.0 || ^0.11.0" }, - "peerDependencies": { - "@types/react": "^16.8.0", - "apollo-client": "^2.6.4", - "graphql": "^14.3.1", - "react": "^16.8.0", - "react-dom": "^16.8.0" + "peerDependenciesMeta": { + "graphql-ws": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "subscriptions-transport-ws": { + "optional": true + } } }, "node_modules/@babel/code-frame": { @@ -122,6 +122,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-validator-identifier": "^7.25.9", "js-tokens": "^4.0.0", @@ -132,30 +133,32 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.5.tgz", - "integrity": "sha512-XvcZi1KWf88RVbF9wn8MN6tYFloU5qX8KjuF3E1PVBmJ9eypXfs4GRiJwLuTZL0iSnJUKn1BFPa5BPZZJyFzPg==", + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.8.tgz", + "integrity": "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.26.7", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.7.tgz", - "integrity": "sha512-SRijHmF0PSPgLIBYlWnG0hyeJLwXE2CgpsXaMOrtt2yp9/86ALw6oUlj9KYuZ0JN07T4eBMVIW4li/9S1j2BGA==", + "version": "7.26.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.10.tgz", + "integrity": "sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==", "dev": true, + "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.5", + "@babel/generator": "^7.26.10", "@babel/helper-compilation-targets": "^7.26.5", "@babel/helper-module-transforms": "^7.26.0", - "@babel/helpers": "^7.26.7", - "@babel/parser": "^7.26.7", - "@babel/template": "^7.25.9", - "@babel/traverse": "^7.26.7", - "@babel/types": "^7.26.7", + "@babel/helpers": "^7.26.10", + "@babel/parser": "^7.26.10", + "@babel/template": "^7.26.9", + "@babel/traverse": "^7.26.10", + "@babel/types": "^7.26.10", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -170,37 +173,15 @@ "url": "https://opencollective.com/babel" } }, - "node_modules/@babel/core/node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", - "dev": true, - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@babel/core/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, "node_modules/@babel/generator": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.5.tgz", - "integrity": "sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.0.tgz", + "integrity": "sha512-VybsKvpiN1gU1sdMZIp7FcqphVVKEwcuj02x73uvcHE0PTihx1nlBcowYWhDwjpoAXRv43+gDzyggGnn1XZhVw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/parser": "^7.26.5", - "@babel/types": "^7.26.5", + "@babel/parser": "^7.27.0", + "@babel/types": "^7.27.0", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^3.0.2" @@ -214,6 +195,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.25.9" }, @@ -222,12 +204,13 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz", - "integrity": "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.0.tgz", + "integrity": "sha512-LVk7fbXml0H2xH34dFzKQ7TDZ2G4/rVTOrq9V+icbbadjbVxxeFeDsNHv2SrZeWoA+6ZiTyWYWtScEIW07EAcA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.26.5", + "@babel/compat-data": "^7.26.8", "@babel/helper-validator-option": "^7.25.9", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", @@ -238,17 +221,18 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.9.tgz", - "integrity": "sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.27.0.tgz", + "integrity": "sha512-vSGCvMecvFCd/BdpGlhpXYNhhC4ccxyvQWpbGL4CWbvfEoLFWUZuSuf7s9Aw70flgQF+6vptvgK2IfOnKlRmBg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.25.9", "@babel/helper-member-expression-to-functions": "^7.25.9", "@babel/helper-optimise-call-expression": "^7.25.9", - "@babel/helper-replace-supers": "^7.25.9", + "@babel/helper-replace-supers": "^7.26.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", - "@babel/traverse": "^7.25.9", + "@babel/traverse": "^7.27.0", "semver": "^6.3.1" }, "engines": { @@ -263,6 +247,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz", "integrity": "sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/traverse": "^7.25.9", "@babel/types": "^7.25.9" @@ -276,6 +261,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/traverse": "^7.25.9", "@babel/types": "^7.25.9" @@ -289,6 +275,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9", @@ -306,6 +293,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz", "integrity": "sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.25.9" }, @@ -318,6 +306,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz", "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -327,6 +316,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.26.5.tgz", "integrity": "sha512-bJ6iIVdYX1YooY2X7w1q6VITt+LnUILtNk7zT78ykuwStx8BauCzxvFqFaHjOpW1bVnSUM1PN1f0p5P21wHxvg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-member-expression-to-functions": "^7.25.9", "@babel/helper-optimise-call-expression": "^7.25.9", @@ -344,6 +334,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz", "integrity": "sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/traverse": "^7.25.9", "@babel/types": "^7.25.9" @@ -357,6 +348,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -366,6 +358,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -375,30 +368,33 @@ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.26.7", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.7.tgz", - "integrity": "sha512-8NHiL98vsi0mbPQmYAGWwfcFaOy4j2HY49fXJCfuDcdE7fMIsH9a7GdaeXpIBsbT7307WU8KCMp5pUVDNL4f9A==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.0.tgz", + "integrity": "sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/template": "^7.25.9", - "@babel/types": "^7.26.7" + "@babel/template": "^7.27.0", + "@babel/types": "^7.27.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.26.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.7.tgz", - "integrity": "sha512-kEvgGGgEjRUutvdVvZhbn/BxVt+5VSpwXz1j3WYXQbXDo8KzFOPNG2GQbdAiNq8g6wn1yKk7C/qrke03a84V+w==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.0.tgz", + "integrity": "sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.26.7" + "@babel/types": "^7.27.0" }, "bin": { "parser": "bin/babel-parser.js" @@ -413,6 +409,7 @@ "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead.", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -425,9 +422,10 @@ } }, "node_modules/@babel/runtime": { - "version": "7.26.7", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.7.tgz", - "integrity": "sha512-AOPI3D+a8dXnja+iwsUqGRjr1BbZIe771sXdapOtYI531gSqpi92vXivKcq2asu/DFpdl1ceFAKZyRzK2PCVcQ==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.0.tgz", + "integrity": "sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw==", + "license": "MIT", "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -436,30 +434,32 @@ } }, "node_modules/@babel/template": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", - "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.0.tgz", + "integrity": "sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.25.9", - "@babel/parser": "^7.25.9", - "@babel/types": "^7.25.9" + "@babel/code-frame": "^7.26.2", + "@babel/parser": "^7.27.0", + "@babel/types": "^7.27.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.26.7", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.7.tgz", - "integrity": "sha512-1x1sgeyRLC3r5fQOM0/xtQKsYjyxmFjaOrLJNtZ81inNjyJHGIolTULPiSc/2qe1/qfpFLisLQYFnnZl7QoedA==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.0.tgz", + "integrity": "sha512-19lYZFzYVQkkHkl4Cy4WrAVcqBkgvV2YM2TU3xG6DIwO7O3ecbDPfW3yM3bjAGcqcQHi+CCtjMR3dIEHxsd6bA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.5", - "@babel/parser": "^7.26.7", - "@babel/template": "^7.25.9", - "@babel/types": "^7.26.7", + "@babel/generator": "^7.27.0", + "@babel/parser": "^7.27.0", + "@babel/template": "^7.27.0", + "@babel/types": "^7.27.0", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -467,43 +467,22 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/traverse/node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", - "dev": true, - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, "node_modules/@babel/traverse/node_modules/globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, - "node_modules/@babel/traverse/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, "node_modules/@babel/types": { - "version": "7.26.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.7.tgz", - "integrity": "sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz", + "integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9" @@ -515,16 +494,18 @@ "node_modules/@emotion/hash": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", - "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==" + "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==", + "license": "MIT" }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.2.tgz", - "integrity": "sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.2.tgz", + "integrity": "sha512-wCIboOL2yXZym2cgm6mlA742s9QeJ8DjGVaL39dLN4rRwrOgOyYSnOaFPhKZGLb2ngj4EyfAFjsNJwPXZvseag==", "cpu": [ "ppc64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "aix" @@ -534,13 +515,14 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.2.tgz", - "integrity": "sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.2.tgz", + "integrity": "sha512-NQhH7jFstVY5x8CKbcfa166GoV0EFkaPkCKBQkdPJFvo5u+nGXLEH/ooniLb3QI8Fk58YAx7nsPLozUWfCBOJA==", "cpu": [ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -550,13 +532,14 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.2.tgz", - "integrity": "sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.2.tgz", + "integrity": "sha512-5ZAX5xOmTligeBaeNEPnPaeEuah53Id2tX4c2CVP3JaROTH+j4fnfHCkr1PjXMd78hMst+TlkfKcW/DlTq0i4w==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -566,13 +549,14 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.2.tgz", - "integrity": "sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.2.tgz", + "integrity": "sha512-Ffcx+nnma8Sge4jzddPHCZVRvIfQ0kMsUsCMcJRHkGJ1cDmhe4SsrYIjLUKn1xpHZybmOqCWwB0zQvsjdEHtkg==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -582,13 +566,14 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.2.tgz", - "integrity": "sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.2.tgz", + "integrity": "sha512-MpM6LUVTXAzOvN4KbjzU/q5smzryuoNjlriAIx+06RpecwCkL9JpenNzpKd2YMzLJFOdPqBpuub6eVRP5IgiSA==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -598,13 +583,14 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.2.tgz", - "integrity": "sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.2.tgz", + "integrity": "sha512-5eRPrTX7wFyuWe8FqEFPG2cU0+butQQVNcT4sVipqjLYQjjh8a8+vUTfgBKM88ObB85ahsnTwF7PSIt6PG+QkA==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -614,13 +600,14 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.2.tgz", - "integrity": "sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.2.tgz", + "integrity": "sha512-mLwm4vXKiQ2UTSX4+ImyiPdiHjiZhIaE9QvC7sw0tZ6HoNMjYAqQpGyui5VRIi5sGd+uWq940gdCbY3VLvsO1w==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "freebsd" @@ -630,13 +617,14 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.2.tgz", - "integrity": "sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.2.tgz", + "integrity": "sha512-6qyyn6TjayJSwGpm8J9QYYGQcRgc90nmfdUb0O7pp1s4lTY+9D0H9O02v5JqGApUyiHOtkz6+1hZNvNtEhbwRQ==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "freebsd" @@ -646,13 +634,14 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.2.tgz", - "integrity": "sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.2.tgz", + "integrity": "sha512-UHBRgJcmjJv5oeQF8EpTRZs/1knq6loLxTsjc3nxO9eXAPDLcWW55flrMVc97qFPbmZP31ta1AZVUKQzKTzb0g==", "cpu": [ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -662,13 +651,14 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.2.tgz", - "integrity": "sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.2.tgz", + "integrity": "sha512-gq/sjLsOyMT19I8obBISvhoYiZIAaGF8JpeXu1u8yPv8BE5HlWYobmlsfijFIZ9hIVGYkbdFhEqC0NvM4kNO0g==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -678,13 +668,14 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.2.tgz", - "integrity": "sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.2.tgz", + "integrity": "sha512-bBYCv9obgW2cBP+2ZWfjYTU+f5cxRoGGQ5SeDbYdFCAZpYWrfjjfYwvUpP8MlKbP0nwZ5gyOU/0aUzZ5HWPuvQ==", "cpu": [ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -694,13 +685,14 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.2.tgz", - "integrity": "sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.2.tgz", + "integrity": "sha512-SHNGiKtvnU2dBlM5D8CXRFdd+6etgZ9dXfaPCeJtz+37PIUlixvlIhI23L5khKXs3DIzAn9V8v+qb1TRKrgT5w==", "cpu": [ "loong64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -710,13 +702,14 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.2.tgz", - "integrity": "sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.2.tgz", + "integrity": "sha512-hDDRlzE6rPeoj+5fsADqdUZl1OzqDYow4TB4Y/3PlKBD0ph1e6uPHzIQcv2Z65u2K0kpeByIyAjCmjn1hJgG0Q==", "cpu": [ "mips64el" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -726,13 +719,14 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.2.tgz", - "integrity": "sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.2.tgz", + "integrity": "sha512-tsHu2RRSWzipmUi9UBDEzc0nLc4HtpZEI5Ba+Omms5456x5WaNuiG3u7xh5AO6sipnJ9r4cRWQB2tUjPyIkc6g==", "cpu": [ "ppc64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -742,13 +736,14 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.2.tgz", - "integrity": "sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.2.tgz", + "integrity": "sha512-k4LtpgV7NJQOml/10uPU0s4SAXGnowi5qBSjaLWMojNCUICNu7TshqHLAEbkBdAszL5TabfvQ48kK84hyFzjnw==", "cpu": [ "riscv64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -758,13 +753,14 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.2.tgz", - "integrity": "sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.2.tgz", + "integrity": "sha512-GRa4IshOdvKY7M/rDpRR3gkiTNp34M0eLTaC1a08gNrh4u488aPhuZOCpkF6+2wl3zAN7L7XIpOFBhnaE3/Q8Q==", "cpu": [ "s390x" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -774,13 +770,14 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.2.tgz", - "integrity": "sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.2.tgz", + "integrity": "sha512-QInHERlqpTTZ4FRB0fROQWXcYRD64lAoiegezDunLpalZMjcUcld3YzZmVJ2H/Cp0wJRZ8Xtjtj0cEHhYc/uUg==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -790,13 +787,14 @@ } }, "node_modules/@esbuild/netbsd-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.24.2.tgz", - "integrity": "sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.2.tgz", + "integrity": "sha512-talAIBoY5M8vHc6EeI2WW9d/CkiO9MQJ0IOWX8hrLhxGbro/vBXJvaQXefW2cP0z0nQVTdQ/eNyGFV1GSKrxfw==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "netbsd" @@ -806,13 +804,14 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.2.tgz", - "integrity": "sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.2.tgz", + "integrity": "sha512-voZT9Z+tpOxrvfKFyfDYPc4DO4rk06qamv1a/fkuzHpiVBMOhpjK+vBmWM8J1eiB3OLSMFYNaOaBNLXGChf5tg==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "netbsd" @@ -822,13 +821,14 @@ } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.2.tgz", - "integrity": "sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.2.tgz", + "integrity": "sha512-dcXYOC6NXOqcykeDlwId9kB6OkPUxOEqU+rkrYVqJbK2hagWOMrsTGsMr8+rW02M+d5Op5NNlgMmjzecaRf7Tg==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "openbsd" @@ -838,13 +838,14 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.2.tgz", - "integrity": "sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.2.tgz", + "integrity": "sha512-t/TkWwahkH0Tsgoq1Ju7QfgGhArkGLkF1uYz8nQS/PPFlXbP5YgRpqQR3ARRiC2iXoLTWFxc6DJMSK10dVXluw==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "openbsd" @@ -854,13 +855,14 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.2.tgz", - "integrity": "sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.2.tgz", + "integrity": "sha512-cfZH1co2+imVdWCjd+D1gf9NjkchVhhdpgb1q5y6Hcv9TP6Zi9ZG/beI3ig8TvwT9lH9dlxLq5MQBBgwuj4xvA==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "sunos" @@ -870,13 +872,14 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.2.tgz", - "integrity": "sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.2.tgz", + "integrity": "sha512-7Loyjh+D/Nx/sOTzV8vfbB3GJuHdOQyrOryFdZvPHLf42Tk9ivBU5Aedi7iyX+x6rbn2Mh68T4qq1SDqJBQO5Q==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -886,13 +889,14 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.2.tgz", - "integrity": "sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.2.tgz", + "integrity": "sha512-WRJgsz9un0nqZJ4MfhabxaD9Ft8KioqU3JMinOTvobbX6MOSUigSBlogP8QB3uxpJDsFS6yN+3FDBdqE5lg9kg==", "cpu": [ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -902,13 +906,14 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.2.tgz", - "integrity": "sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.2.tgz", + "integrity": "sha512-kM3HKb16VIXZyIeVrM1ygYmZBKybX8N4p754bw390wGO3Tf2j4L2/WYL+4suWujpgf6GBYs3jv7TyUivdd05JA==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -918,10 +923,11 @@ } }, "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", - "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.5.1.tgz", + "integrity": "sha512-soEIOALTfTK6EjmKMMoLugwaP0rzkad90iIWd1hMO9ARkSAyjfMfkRRhLvD5qH7vvM0Cg72pieUfR6yh6XxC4w==", "dev": true, + "license": "MIT", "dependencies": { "eslint-visitor-keys": "^3.4.3" }, @@ -940,6 +946,7 @@ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, + "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -952,15 +959,17 @@ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", "dev": true, + "license": "MIT", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, "node_modules/@eslint/config-array": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.2.tgz", - "integrity": "sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==", + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.20.0.tgz", + "integrity": "sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@eslint/object-schema": "^2.1.6", "debug": "^4.3.1", @@ -970,34 +979,22 @@ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@eslint/config-array/node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "node_modules/@eslint/config-helpers": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.1.tgz", + "integrity": "sha512-RI17tsD2frtDu/3dmI7QRrD4bedNKPM08ziRYaC5AhkGrzIAJelm9kJU1TznK+apx6V+cqRz8tfpEeG3oIyjxw==", "dev": true, - "dependencies": { - "ms": "^2.1.3" - }, + "license": "Apache-2.0", "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@eslint/config-array/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, "node_modules/@eslint/core": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.10.0.tgz", - "integrity": "sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==", + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.12.0.tgz", + "integrity": "sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@types/json-schema": "^7.0.15" }, @@ -1006,10 +1003,11 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.2.0.tgz", - "integrity": "sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", + "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", "dev": true, + "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", @@ -1028,28 +1026,12 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/@eslint/eslintrc/node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", - "dev": true, - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, "node_modules/@eslint/eslintrc/node_modules/globals": { "version": "14.0.0", "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" }, @@ -1057,17 +1039,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@eslint/eslintrc/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, "node_modules/@eslint/js": { - "version": "9.19.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.19.0.tgz", - "integrity": "sha512-rbq9/g38qjfqFLOVPvwjIvFFdNziEC5S65jmjPw5r6A//QH+W91akh9irMwjDN8zKUTak6W9EsAv4m/7Wnw0UQ==", + "version": "9.24.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.24.0.tgz", + "integrity": "sha512-uIY/y3z0uvOGX8cp1C2fiC4+ZmBhp6yZWkojtHL1YEMnRt1Y63HB9TM17proGEmeG7HeUY+UP36F0aknKYTpYA==", "dev": true, + "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } @@ -1077,28 +1054,53 @@ "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", "dev": true, + "license": "Apache-2.0", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/@eslint/plugin-kit": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.5.tgz", - "integrity": "sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A==", + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.8.tgz", + "integrity": "sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@eslint/core": "^0.10.0", + "@eslint/core": "^0.13.0", "levn": "^0.4.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, + "node_modules/@eslint/plugin-kit/node_modules/@eslint/core": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.13.0.tgz", + "integrity": "sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@graphql-typed-document-node/core": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.2.0.tgz", + "integrity": "sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==", + "license": "MIT", + "peerDependencies": { + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, "node_modules/@humanfs/core": { "version": "0.19.1", "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=18.18.0" } @@ -1108,6 +1110,7 @@ "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@humanfs/core": "^0.19.1", "@humanwhocodes/retry": "^0.3.0" @@ -1121,6 +1124,7 @@ "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=18.18" }, @@ -1134,6 +1138,7 @@ "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=12.22" }, @@ -1143,10 +1148,11 @@ } }, "node_modules/@humanwhocodes/retry": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.1.tgz", - "integrity": "sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==", + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.2.tgz", + "integrity": "sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=18.18" }, @@ -1160,6 +1166,7 @@ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -1174,6 +1181,7 @@ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.0.0" } @@ -1183,6 +1191,7 @@ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.0.0" } @@ -1190,13 +1199,15 @@ "node_modules/@jridgewell/sourcemap-codec": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.25", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -1206,6 +1217,7 @@ "version": "1.5.1", "resolved": "https://registry.npmjs.org/@lamassu/bolt11/-/bolt11-1.5.1.tgz", "integrity": "sha512-uP1FyG2cGUveX4tpcbpfs+px0aty0/cJ0O+v+yro24sSYOUvWT/N89yhZBOo/dOGEW+S3J45vzBoeH/OnK6jgA==", + "license": "MIT", "dependencies": { "bech32": "^1.1.2", "bitcoinjs-lib": "4.0.3", @@ -1218,12 +1230,14 @@ "node_modules/@lamassu/bolt11/node_modules/bech32": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", - "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" + "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==", + "license": "MIT" }, "node_modules/@lamassu/coins": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/@lamassu/coins/-/coins-1.6.1.tgz", "integrity": "sha512-UC3+YmlEWsyVv2ydCD2fUhNHPZ7GoOTulgB4dumMDT60hVv8l1F9fxJE/1UG9ZQg8We4+eW7nOGEeKoS5V6Xiw==", + "license": "./LICENSE", "dependencies": { "@lamassu/bolt11": "1.5.1", "bech32": "2.0.0", @@ -1245,6 +1259,7 @@ "resolved": "https://registry.npmjs.org/@material-ui/core/-/core-4.12.4.tgz", "integrity": "sha512-tr7xekNlM9LjA6pagJmL8QCgZXaubWUwkJnoYcMKd4gw/t4XiyvnTkjdGrUVicyB2BsdaAv1tvow45bPM4sSwQ==", "deprecated": "Material UI v4 doesn't receive active development since September 2021. See the guide https://mui.com/material-ui/migration/migration-v4/ to upgrade to v5.", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.4.4", "@material-ui/styles": "^4.11.5", @@ -1282,6 +1297,7 @@ "resolved": "https://registry.npmjs.org/@material-ui/icons/-/icons-4.11.2.tgz", "integrity": "sha512-fQNsKX2TxBmqIGJCSi3tGTO/gZ+eJgWmMJkgDiOfyNaunNaxcklJQFaFogYcFl0qFuaEz1qaXYXboa/bUXVSOQ==", "deprecated": "You can now upgrade to @mui/icons. See the guide: https://mui.com/guides/migration-v4/", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.4.4" }, @@ -1305,6 +1321,7 @@ "resolved": "https://registry.npmjs.org/@material-ui/lab/-/lab-4.0.0-alpha.61.tgz", "integrity": "sha512-rSzm+XKiNUjKegj8bzt5+pygZeckNLOr+IjykH8sYdVk7dE9y2ZuUSofiMV2bJk3qU+JHwexmw+q0RyNZB9ugg==", "deprecated": "Material UI v4 doesn't receive active development since September 2021. See the guide https://mui.com/material-ui/migration/migration-v4/ to upgrade to v5.", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.4.4", "@material-ui/utils": "^4.11.3", @@ -1332,6 +1349,7 @@ "resolved": "https://registry.npmjs.org/@material-ui/styles/-/styles-4.11.5.tgz", "integrity": "sha512-o/41ot5JJiUsIETME9wVLAJrmIWL3j0R0Bj2kCOLbSfqEkKf0fmaPt+5vtblUh5eXr2S+J/8J3DaCb10+CzPGA==", "deprecated": "Material UI v4 doesn't receive active development since September 2021. See the guide https://mui.com/material-ui/migration/migration-v4/ to upgrade to v5.", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.4.4", "@emotion/hash": "^0.8.0", @@ -1372,6 +1390,7 @@ "version": "4.12.2", "resolved": "https://registry.npmjs.org/@material-ui/system/-/system-4.12.2.tgz", "integrity": "sha512-6CSKu2MtmiJgcCGf6nBQpM8fLkuB9F55EKfbdTC80NND5wpTmKzwdhLYLH3zL4cLlK0gVaaltW7/wMuyTnN0Lw==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.4.4", "@material-ui/utils": "^4.11.3", @@ -1400,6 +1419,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/@material-ui/types/-/types-5.1.0.tgz", "integrity": "sha512-7cqRjrY50b8QzRSYyhSpx4WRw2YuO0KKIGQEVk5J8uoz2BanawykgZGoWEqKm7pVIbzFDN0SpPcVV4IhOFkl8A==", + "license": "MIT", "peerDependencies": { "@types/react": "*" }, @@ -1413,6 +1433,7 @@ "version": "4.11.3", "resolved": "https://registry.npmjs.org/@material-ui/utils/-/utils-4.11.3.tgz", "integrity": "sha512-ZuQPV4rBK/V1j2dIkSSEcH5uT6AaHuKWFfotADHsC0wVL1NLd2WkFCm4ZZbX33iO4ydl6V0GPngKm8HZQ2oujg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.4.4", "prop-types": "^15.7.2", @@ -1430,6 +1451,7 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/@reach/auto-id/-/auto-id-0.2.0.tgz", "integrity": "sha512-lVK/svL2HuQdp7jgvlrLkFsUx50Az9chAhxpiPwBqcS83I2pVWvXp98FOcSCCJCV++l115QmzHhFd+ycw1zLBg==", + "license": "MIT", "peerDependencies": { "react": "^16.8.0", "react-dom": "^16.8.0" @@ -1440,6 +1462,7 @@ "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.4.tgz", "integrity": "sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/estree": "^1.0.0", "estree-walker": "^2.0.2", @@ -1462,6 +1485,7 @@ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -1470,247 +1494,280 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.34.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.34.0.tgz", - "integrity": "sha512-Eeao7ewDq79jVEsrtWIj5RNqB8p2knlm9fhR6uJ2gqP7UfbLrTrxevudVrEPDM7Wkpn/HpRC2QfazH7MXLz3vQ==", + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.39.0.tgz", + "integrity": "sha512-lGVys55Qb00Wvh8DMAocp5kIcaNzEFTmGhfFd88LfaogYTRKrdxgtlO5H6S49v2Nd8R2C6wLOal0qv6/kCkOwA==", "cpu": [ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.34.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.34.0.tgz", - "integrity": "sha512-yVh0Kf1f0Fq4tWNf6mWcbQBCLDpDrDEl88lzPgKhrgTcDrTtlmun92ywEF9dCjmYO3EFiSuJeeo9cYRxl2FswA==", + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.39.0.tgz", + "integrity": "sha512-It9+M1zE31KWfqh/0cJLrrsCPiF72PoJjIChLX+rEcujVRCb4NLQ5QzFkzIZW8Kn8FTbvGQBY5TkKBau3S8cCQ==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.34.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.34.0.tgz", - "integrity": "sha512-gCs0ErAZ9s0Osejpc3qahTsqIPUDjSKIyxK/0BGKvL+Tn0n3Kwvj8BrCv7Y5sR1Ypz1K2qz9Ny0VvkVyoXBVUQ==", + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.39.0.tgz", + "integrity": "sha512-lXQnhpFDOKDXiGxsU9/l8UEGGM65comrQuZ+lDcGUx+9YQ9dKpF3rSEGepyeR5AHZ0b5RgiligsBhWZfSSQh8Q==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.34.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.34.0.tgz", - "integrity": "sha512-aIB5Anc8hngk15t3GUkiO4pv42ykXHfmpXGS+CzM9CTyiWyT8HIS5ygRAy7KcFb/wiw4Br+vh1byqcHRTfq2tQ==", + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.39.0.tgz", + "integrity": "sha512-mKXpNZLvtEbgu6WCkNij7CGycdw9cJi2k9v0noMb++Vab12GZjFgUXD69ilAbBh034Zwn95c2PNSz9xM7KYEAQ==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.34.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.34.0.tgz", - "integrity": "sha512-kpdsUdMlVJMRMaOf/tIvxk8TQdzHhY47imwmASOuMajg/GXpw8GKNd8LNwIHE5Yd1onehNpcUB9jHY6wgw9nHQ==", + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.39.0.tgz", + "integrity": "sha512-jivRRlh2Lod/KvDZx2zUR+I4iBfHcu2V/BA2vasUtdtTN2Uk3jfcZczLa81ESHZHPHy4ih3T/W5rPFZ/hX7RtQ==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "freebsd" ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.34.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.34.0.tgz", - "integrity": "sha512-D0RDyHygOBCQiqookcPevrvgEarN0CttBecG4chOeIYCNtlKHmf5oi5kAVpXV7qs0Xh/WO2RnxeicZPtT50V0g==", + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.39.0.tgz", + "integrity": "sha512-8RXIWvYIRK9nO+bhVz8DwLBepcptw633gv/QT4015CpJ0Ht8punmoHU/DuEd3iw9Hr8UwUV+t+VNNuZIWYeY7Q==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "freebsd" ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.34.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.34.0.tgz", - "integrity": "sha512-mCIw8j5LPDXmCOW8mfMZwT6F/Kza03EnSr4wGYEswrEfjTfVsFOxvgYfuRMxTuUF/XmRb9WSMD5GhCWDe2iNrg==", + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.39.0.tgz", + "integrity": "sha512-mz5POx5Zu58f2xAG5RaRRhp3IZDK7zXGk5sdEDj4o96HeaXhlUwmLFzNlc4hCQi5sGdR12VDgEUqVSHer0lI9g==", "cpu": [ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.34.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.34.0.tgz", - "integrity": "sha512-AwwldAu4aCJPob7zmjuDUMvvuatgs8B/QiVB0KwkUarAcPB3W+ToOT+18TQwY4z09Al7G0BvCcmLRop5zBLTag==", + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.39.0.tgz", + "integrity": "sha512-+YDwhM6gUAyakl0CD+bMFpdmwIoRDzZYaTWV3SDRBGkMU/VpIBYXXEvkEcTagw/7VVkL2vA29zU4UVy1mP0/Yw==", "cpu": [ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.34.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.34.0.tgz", - "integrity": "sha512-e7kDUGVP+xw05pV65ZKb0zulRploU3gTu6qH1qL58PrULDGxULIS0OSDQJLH7WiFnpd3ZKUU4VM3u/Z7Zw+e7Q==", + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.39.0.tgz", + "integrity": "sha512-EKf7iF7aK36eEChvlgxGnk7pdJfzfQbNvGV/+l98iiMwU23MwvmV0Ty3pJ0p5WQfm3JRHOytSIqD9LB7Bq7xdQ==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.34.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.34.0.tgz", - "integrity": "sha512-SXYJw3zpwHgaBqTXeAZ31qfW/v50wq4HhNVvKFhRr5MnptRX2Af4KebLWR1wpxGJtLgfS2hEPuALRIY3LPAAcA==", + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.39.0.tgz", + "integrity": "sha512-vYanR6MtqC7Z2SNr8gzVnzUul09Wi1kZqJaek3KcIlI/wq5Xtq4ZPIZ0Mr/st/sv/NnaPwy/D4yXg5x0B3aUUA==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.34.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.34.0.tgz", - "integrity": "sha512-e5XiCinINCI4RdyU3sFyBH4zzz7LiQRvHqDtRe9Dt8o/8hTBaYpdPimayF00eY2qy5j4PaaWK0azRgUench6WQ==", + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.39.0.tgz", + "integrity": "sha512-NMRUT40+h0FBa5fb+cpxtZoGAggRem16ocVKIv5gDB5uLDgBIwrIsXlGqYbLwW8YyO3WVTk1FkFDjMETYlDqiw==", "cpu": [ "loong64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.34.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.34.0.tgz", - "integrity": "sha512-3SWN3e0bAsm9ToprLFBSro8nJe6YN+5xmB11N4FfNf92wvLye/+Rh5JGQtKOpwLKt6e61R1RBc9g+luLJsc23A==", + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.39.0.tgz", + "integrity": "sha512-0pCNnmxgduJ3YRt+D+kJ6Ai/r+TaePu9ZLENl+ZDV/CdVczXl95CbIiwwswu4L+K7uOIGf6tMo2vm8uadRaICQ==", "cpu": [ "ppc64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.34.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.34.0.tgz", - "integrity": "sha512-B1Oqt3GLh7qmhvfnc2WQla4NuHlcxAD5LyueUi5WtMc76ZWY+6qDtQYqnxARx9r+7mDGfamD+8kTJO0pKUJeJA==", + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.39.0.tgz", + "integrity": "sha512-t7j5Zhr7S4bBtksT73bO6c3Qa2AV/HqiGlj9+KB3gNF5upcVkx+HLgxTm8DK4OkzsOYqbdqbLKwvGMhylJCPhQ==", "cpu": [ "riscv64" ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.39.0.tgz", + "integrity": "sha512-m6cwI86IvQ7M93MQ2RF5SP8tUjD39Y7rjb1qjHgYh28uAPVU8+k/xYWvxRO3/tBN2pZkSMa5RjnPuUIbrwVxeA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.34.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.34.0.tgz", - "integrity": "sha512-UfUCo0h/uj48Jq2lnhX0AOhZPSTAq3Eostas+XZ+GGk22pI+Op1Y6cxQ1JkUuKYu2iU+mXj1QjPrZm9nNWV9rg==", + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.39.0.tgz", + "integrity": "sha512-iRDJd2ebMunnk2rsSBYlsptCyuINvxUfGwOUldjv5M4tpa93K8tFMeYGpNk2+Nxl+OBJnBzy2/JCscGeO507kA==", "cpu": [ "s390x" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.34.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.34.0.tgz", - "integrity": "sha512-chZLTUIPbgcpm+Z7ALmomXW8Zh+wE2icrG+K6nt/HenPLmtwCajhQC5flNSk1Xy5EDMt/QAOz2MhzfOfJOLSiA==", + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.39.0.tgz", + "integrity": "sha512-t9jqYw27R6Lx0XKfEFe5vUeEJ5pF3SGIM6gTfONSMb7DuG6z6wfj2yjcoZxHg129veTqU7+wOhY6GX8wmf90dA==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.34.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.34.0.tgz", - "integrity": "sha512-jo0UolK70O28BifvEsFD/8r25shFezl0aUk2t0VJzREWHkq19e+pcLu4kX5HiVXNz5qqkD+aAq04Ct8rkxgbyQ==", + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.39.0.tgz", + "integrity": "sha512-ThFdkrFDP55AIsIZDKSBWEt/JcWlCzydbZHinZ0F/r1h83qbGeenCt/G/wG2O0reuENDD2tawfAj2s8VK7Bugg==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.34.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.34.0.tgz", - "integrity": "sha512-Vmg0NhAap2S54JojJchiu5An54qa6t/oKT7LmDaWggpIcaiL8WcWHEN6OQrfTdL6mQ2GFyH7j2T5/3YPEDOOGA==", + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.39.0.tgz", + "integrity": "sha512-jDrLm6yUtbOg2TYB3sBF3acUnAwsIksEYjLeHL+TJv9jg+TmTwdyjnDex27jqEMakNKf3RwwPahDIt7QXCSqRQ==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.34.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.34.0.tgz", - "integrity": "sha512-CV2aqhDDOsABKHKhNcs1SZFryffQf8vK2XrxP6lxC99ELZAdvsDgPklIBfd65R8R+qvOm1SmLaZ/Fdq961+m7A==", + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.39.0.tgz", + "integrity": "sha512-6w9uMuza+LbLCVoNKL5FSLE7yvYkq9laSd09bwS0tMjkwXrmib/4KmoJcrKhLWHvw19mwU+33ndC69T7weNNjQ==", "cpu": [ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.34.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.34.0.tgz", - "integrity": "sha512-g2ASy1QwHP88y5KWvblUolJz9rN+i4ZOsYzkEwcNfaNooxNUXG+ON6F5xFo0NIItpHqxcdAyls05VXpBnludGw==", + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.39.0.tgz", + "integrity": "sha512-yAkUOkIKZlK5dl7u6dg897doBgLXmUHhIINM2c+sND3DZwnrdQkkSiDh7N75Ll4mM4dxSkYfXqU9fW3lLkMFug==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -1719,13 +1776,15 @@ "node_modules/@simplewebauthn/browser": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@simplewebauthn/browser/-/browser-3.1.0.tgz", - "integrity": "sha512-ocg23JXTFXKQ7flisTyIeQJA/KzAer1XC77rWVhz8H85/Y3d40fJRQPU5HpkTp9G4JUq4tpO5w7eHn8Dpdr+5w==" + "integrity": "sha512-ocg23JXTFXKQ7flisTyIeQJA/KzAer1XC77rWVhz8H85/Y3d40fJRQPU5HpkTp9G4JUq4tpO5w7eHn8Dpdr+5w==", + "license": "MIT" }, "node_modules/@svgr/babel-plugin-add-jsx-attribute": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", "integrity": "sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==", "dev": true, + "license": "MIT", "engines": { "node": ">=14" }, @@ -1742,6 +1801,7 @@ "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==", "dev": true, + "license": "MIT", "engines": { "node": ">=14" }, @@ -1758,6 +1818,7 @@ "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==", "dev": true, + "license": "MIT", "engines": { "node": ">=14" }, @@ -1774,6 +1835,7 @@ "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz", "integrity": "sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=14" }, @@ -1790,6 +1852,7 @@ "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz", "integrity": "sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==", "dev": true, + "license": "MIT", "engines": { "node": ">=14" }, @@ -1806,6 +1869,7 @@ "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz", "integrity": "sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==", "dev": true, + "license": "MIT", "engines": { "node": ">=14" }, @@ -1822,6 +1886,7 @@ "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz", "integrity": "sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=14" }, @@ -1838,6 +1903,7 @@ "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz", "integrity": "sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -1854,6 +1920,7 @@ "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz", "integrity": "sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==", "dev": true, + "license": "MIT", "dependencies": { "@svgr/babel-plugin-add-jsx-attribute": "8.0.0", "@svgr/babel-plugin-remove-jsx-attribute": "8.0.0", @@ -1880,6 +1947,7 @@ "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/core": "^7.21.3", "@svgr/babel-preset": "8.1.0", @@ -1900,6 +1968,7 @@ "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz", "integrity": "sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.21.3", "entities": "^4.4.0" @@ -1917,6 +1986,7 @@ "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/core": "^7.21.3", "@svgr/babel-preset": "8.1.0", @@ -1935,14 +2005,15 @@ } }, "node_modules/@swc/core": { - "version": "1.10.12", - "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.10.12.tgz", - "integrity": "sha512-+iUL0PYpPm6N9AdV1wvafakvCqFegQus1aoEDxgFsv3/uNVNIyRaupf/v/Zkp5hbep2EzhtoJR0aiJIzDbXWHg==", + "version": "1.11.20", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.11.20.tgz", + "integrity": "sha512-2F0+bQs7+pwbudsxRffLdfpGCQX4Ih5k88f7LqTfj2oC7aTrv7FssduOvcAvfVY/InZmyYEblKl1rqg8bvzrZQ==", "dev": true, "hasInstallScript": true, + "license": "Apache-2.0", "dependencies": { "@swc/counter": "^0.1.3", - "@swc/types": "^0.1.17" + "@swc/types": "^0.1.21" }, "engines": { "node": ">=10" @@ -1952,19 +2023,19 @@ "url": "https://opencollective.com/swc" }, "optionalDependencies": { - "@swc/core-darwin-arm64": "1.10.12", - "@swc/core-darwin-x64": "1.10.12", - "@swc/core-linux-arm-gnueabihf": "1.10.12", - "@swc/core-linux-arm64-gnu": "1.10.12", - "@swc/core-linux-arm64-musl": "1.10.12", - "@swc/core-linux-x64-gnu": "1.10.12", - "@swc/core-linux-x64-musl": "1.10.12", - "@swc/core-win32-arm64-msvc": "1.10.12", - "@swc/core-win32-ia32-msvc": "1.10.12", - "@swc/core-win32-x64-msvc": "1.10.12" + "@swc/core-darwin-arm64": "1.11.20", + "@swc/core-darwin-x64": "1.11.20", + "@swc/core-linux-arm-gnueabihf": "1.11.20", + "@swc/core-linux-arm64-gnu": "1.11.20", + "@swc/core-linux-arm64-musl": "1.11.20", + "@swc/core-linux-x64-gnu": "1.11.20", + "@swc/core-linux-x64-musl": "1.11.20", + "@swc/core-win32-arm64-msvc": "1.11.20", + "@swc/core-win32-ia32-msvc": "1.11.20", + "@swc/core-win32-x64-msvc": "1.11.20" }, "peerDependencies": { - "@swc/helpers": "*" + "@swc/helpers": ">=0.5.17" }, "peerDependenciesMeta": { "@swc/helpers": { @@ -1973,13 +2044,14 @@ } }, "node_modules/@swc/core-darwin-arm64": { - "version": "1.10.12", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.10.12.tgz", - "integrity": "sha512-pOANQegUTAriW7jq3SSMZGM5l89yLVMs48R0F2UG6UZsH04SiViCnDctOGlA/Sa++25C+rL9MGMYM1jDLylBbg==", + "version": "1.11.20", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.11.20.tgz", + "integrity": "sha512-Sc06h6pwMhQagU7vz92b7wwQTIibTiqRE4y/XjkvurSbjSarrtSZR4OKkrdNwUkSy1HlQE4NhKQf7tmLeQ7PhQ==", "cpu": [ "arm64" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "darwin" @@ -1989,13 +2061,14 @@ } }, "node_modules/@swc/core-darwin-x64": { - "version": "1.10.12", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.10.12.tgz", - "integrity": "sha512-m4kbpIDDsN1FrwfNQMU+FTrss356xsXvatLbearwR+V0lqOkjLBP0VmRvQfHEg+uy13VPyrT9gj4HLoztlci7w==", + "version": "1.11.20", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.11.20.tgz", + "integrity": "sha512-kHANJrgbqaGzUyTectNfLyhnHAeDGGVSRXYyPVAx6x0nuLOnRhKbuSyZY42UEN1IgHauaADCzcd+HiiMv/rgRw==", "cpu": [ "x64" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "darwin" @@ -2005,13 +2078,14 @@ } }, "node_modules/@swc/core-linux-arm-gnueabihf": { - "version": "1.10.12", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.10.12.tgz", - "integrity": "sha512-OY9LcupgqEu8zVK+rJPes6LDJJwPDmwaShU96beTaxX2K6VrXbpwm5WbPS/8FfQTsmpnuA7dCcMPUKhNgmzTrQ==", + "version": "1.11.20", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.11.20.tgz", + "integrity": "sha512-FXllEBeAwU6FNIZzo+u1LmHGaHzwAKzz7tWRkUOqBKjKr20Ot4KGS3xlz2qgV2NESFHAisdHja2P2rcQWqtZRg==", "cpu": [ "arm" ], "dev": true, + "license": "Apache-2.0", "optional": true, "os": [ "linux" @@ -2021,13 +2095,14 @@ } }, "node_modules/@swc/core-linux-arm64-gnu": { - "version": "1.10.12", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.10.12.tgz", - "integrity": "sha512-nJD587rO0N4y4VZszz3xzVr7JIiCzSMhEMWnPjuh+xmPxDBz0Qccpr8xCr1cSxpl1uY7ERkqAGlKr6CwoV5kVg==", + "version": "1.11.20", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.11.20.tgz", + "integrity": "sha512-OsYMFyJzUM0K8a97tu6KxZaCob3vr+UknVqHO09QwechX+rdX4euWm7Lte4d1B+7SBfokhw7ghLZsNTQfRw9pA==", "cpu": [ "arm64" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "linux" @@ -2037,13 +2112,14 @@ } }, "node_modules/@swc/core-linux-arm64-musl": { - "version": "1.10.12", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.10.12.tgz", - "integrity": "sha512-oqhSmV+XauSf0C//MoQnVErNUB/5OzmSiUzuazyLsD5pwqKNN+leC3JtRQ/QVzaCpr65jv9bKexT9+I2Tt3xDw==", + "version": "1.11.20", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.11.20.tgz", + "integrity": "sha512-fbSWOQ5ZZ7sWodoC6GnzV9RhbImdxoH8b14K1tnHCWJXolzTH40/4JKf/koJ3r24nm1PtsqX9OUxRsOXYAy5dg==", "cpu": [ "arm64" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "linux" @@ -2053,13 +2129,14 @@ } }, "node_modules/@swc/core-linux-x64-gnu": { - "version": "1.10.12", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.10.12.tgz", - "integrity": "sha512-XldSIHyjD7m1Gh+/8rxV3Ok711ENLI420CU2EGEqSe3VSGZ7pHJvJn9ZFbYpWhsLxPqBYMFjp3Qw+J6OXCPXCA==", + "version": "1.11.20", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.11.20.tgz", + "integrity": "sha512-OFU53idbY8KA1RkNzZBi0FpoRPSn/anv4N7ZzGZGk664UoFwMbSL+XHGocJzhV9G/VNGH7bMBmgoVWk72nn5hw==", "cpu": [ "x64" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "linux" @@ -2069,13 +2146,14 @@ } }, "node_modules/@swc/core-linux-x64-musl": { - "version": "1.10.12", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.10.12.tgz", - "integrity": "sha512-wvPXzJxzPgTqhyp1UskOx1hRTtdWxlyFD1cGWOxgLsMik0V9xKRgqKnMPv16Nk7L9xl6quQ6DuUHj9ID7L3oVw==", + "version": "1.11.20", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.11.20.tgz", + "integrity": "sha512-GZbqXEc09nIarkGMXc2P4Hf2ONb1vre22X7Se9CCeU/QtWYRU/H1a2TFnYgBKzNVOH65Dd/XYXcuy+tM1aw1iw==", "cpu": [ "x64" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "linux" @@ -2085,13 +2163,14 @@ } }, "node_modules/@swc/core-win32-arm64-msvc": { - "version": "1.10.12", - "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.10.12.tgz", - "integrity": "sha512-TUYzWuu1O7uyIcRfxdm6Wh1u+gNnrW5M1DUgDOGZLsyQzgc2Zjwfh2llLhuAIilvCVg5QiGbJlpibRYJ/8QGsg==", + "version": "1.11.20", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.11.20.tgz", + "integrity": "sha512-i0H2MeK8krEd/YeiGz0GHtNL9wSGfAPXiouh8aRNV/u+w4vPaaRqnXwv/yzAW+D2vPpKJBhOwmNFFzdgTJ5mWw==", "cpu": [ "arm64" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "win32" @@ -2101,13 +2180,14 @@ } }, "node_modules/@swc/core-win32-ia32-msvc": { - "version": "1.10.12", - "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.10.12.tgz", - "integrity": "sha512-4Qrw+0Xt+Fe2rz4OJ/dEPMeUf/rtuFWWAj/e0vL7J5laUHirzxawLRE5DCJLQTarOiYR6mWnmadt9o3EKzV6Xg==", + "version": "1.11.20", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.11.20.tgz", + "integrity": "sha512-/7e3X7EGO8uOvAUP+YKJTdoR2JR5vdiewDOnDS9FFXj8yr9x6/oDFLd92Sp9NglF+aXuqAo33IfH2OTz1MR+Ww==", "cpu": [ "ia32" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "win32" @@ -2117,13 +2197,14 @@ } }, "node_modules/@swc/core-win32-x64-msvc": { - "version": "1.10.12", - "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.10.12.tgz", - "integrity": "sha512-YiloZXLW7rUxJpALwHXaGjVaAEn+ChoblG7/3esque+Y7QCyheoBUJp2DVM1EeVA43jBfZ8tvYF0liWd9Tpz1A==", + "version": "1.11.20", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.11.20.tgz", + "integrity": "sha512-rcZpt5uiVNTs/Se+CYBoaDphafFJcsqXo3DNmfkJZoDZUb4PZqxu61p4Qa+lvFDQlRragrlLRpGQM9qnLNd4iQ==", "cpu": [ "x64" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "win32" @@ -2136,51 +2217,51 @@ "version": "0.1.3", "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", - "dev": true + "dev": true, + "license": "Apache-2.0" }, "node_modules/@swc/types": { - "version": "0.1.17", - "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.17.tgz", - "integrity": "sha512-V5gRru+aD8YVyCOMAjMpWR1Ui577DD5KSJsHP8RAxopAH22jFz6GZd/qxqjO6MJHQhcsjvjOFXyDhyLQUnMveQ==", + "version": "0.1.21", + "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.21.tgz", + "integrity": "sha512-2YEtj5HJVbKivud9N4bpPBAyZhj4S2Ipe5LkUG94alTpr7in/GU/EARgPAd3BwU+YOmFVJC2+kjqhGRi3r0ZpQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@swc/counter": "^0.1.3" } }, "node_modules/@types/estree": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", - "dev": true + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", + "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", + "dev": true, + "license": "MIT" }, "node_modules/@types/js-cookie": { "version": "2.2.6", "resolved": "https://registry.npmjs.org/@types/js-cookie/-/js-cookie-2.2.6.tgz", - "integrity": "sha512-+oY0FDTO2GYKEV0YPvSshGq9t7YozVkgvXLty7zogQNuCxBhT9/3INX9Q7H1aRZ4SUDRXAKlJuA4EA5nTt7SNw==" + "integrity": "sha512-+oY0FDTO2GYKEV0YPvSshGq9t7YozVkgvXLty7zogQNuCxBhT9/3INX9Q7H1aRZ4SUDRXAKlJuA4EA5nTt7SNw==", + "license": "MIT" }, "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true - }, - "node_modules/@types/node": { - "version": "22.13.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.0.tgz", - "integrity": "sha512-ClIbNe36lawluuvq3+YYhnIN2CELi+6q8NpnM7PYp4hBn/TatfboPgVSm2rwKRfnV2M+Ty9GWDFI64KEe+kysA==", - "dependencies": { - "undici-types": "~6.20.0" - } + "dev": true, + "license": "MIT" }, "node_modules/@types/prop-types": { "version": "15.7.14", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.14.tgz", - "integrity": "sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==" + "integrity": "sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==", + "license": "MIT" }, "node_modules/@types/react": { - "version": "16.14.62", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.62.tgz", - "integrity": "sha512-BWf7hqninZav6nerxXj+NeZT/mTpDeG6Lk2zREHAy63CrnXoOGPGtNqTFYFN/sqpSaREDP5otVV88axIXmKfGA==", + "version": "17.0.85", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.85.tgz", + "integrity": "sha512-5oBDUsRDsrYq4DdyHaL99gE1AJCfuDhyxqF6/55fvvOIRkp1PpKuwJ+aMiGJR+GJt7YqMNclPROTHF20vY2cXA==", + "license": "MIT", + "peer": true, "dependencies": { "@types/prop-types": "*", "@types/scheduler": "^0.16", @@ -2191,6 +2272,7 @@ "version": "4.4.12", "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.12.tgz", "integrity": "sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w==", + "license": "MIT", "peerDependencies": { "@types/react": "*" } @@ -2198,80 +2280,89 @@ "node_modules/@types/react/node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT", + "peer": true }, "node_modules/@types/scheduler": { "version": "0.16.8", "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", - "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==" - }, - "node_modules/@types/zen-observable": { - "version": "0.8.7", - "resolved": "https://registry.npmjs.org/@types/zen-observable/-/zen-observable-0.8.7.tgz", - "integrity": "sha512-LKzNTjj+2j09wAo/vvVjzgw5qckJJzhdGgWHW7j69QIGdq/KnZrMAMIHQiWGl3Ccflh5/CudBAntTPYdprPltA==" - }, - "node_modules/@use-hooks/axios": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@use-hooks/axios/-/axios-1.3.0.tgz", - "integrity": "sha512-utvbuLjhgzWU2hU6XkLHIzzNEUYOgqwlSO8mhmUb+a1LIkdQPCoBh6RPWvD7GiOI7AM36JbUPyKv/2vC/e86Tg==", - "dependencies": { - "axios": "^0.19.0", - "react": "^16.8.1", - "react-dom": "^16.8.1" - }, - "peerDependencies": { - "react": "^16.8.1", - "react-dom": "^16.8.1" - } - }, - "node_modules/@use-hooks/axios/node_modules/axios": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz", - "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==", - "deprecated": "Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410", - "dependencies": { - "follow-redirects": "1.5.10" - } + "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==", + "license": "MIT" }, "node_modules/@vitejs/plugin-react-swc": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react-swc/-/plugin-react-swc-3.7.2.tgz", - "integrity": "sha512-y0byko2b2tSVVf5Gpng1eEhX1OvPC7x8yns1Fx8jDzlJp4LS6CMkCPfLw47cjyoMrshQDoQw4qcgjsU9VvlCew==", + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react-swc/-/plugin-react-swc-3.8.1.tgz", + "integrity": "sha512-aEUPCckHDcFyxpwFm0AIkbtv6PpUp3xTb9wYGFjtABynXjCYKkWoxX0AOK9NT9XCrdk6mBBUOeHQS+RKdcNO1A==", "dev": true, + "license": "MIT", "dependencies": { - "@swc/core": "^1.7.26" + "@swc/core": "^1.11.11" }, "peerDependencies": { "vite": "^4 || ^5 || ^6" } }, - "node_modules/@wry/context": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/@wry/context/-/context-0.4.4.tgz", - "integrity": "sha512-LrKVLove/zw6h2Md/KZyWxIkFM6AoyKp71OqpH9Hiip1csjPVoD3tPxlbQUNxEnHENks3UGgNpSBCAfq9KWuag==", + "node_modules/@wry/caches": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@wry/caches/-/caches-1.0.1.tgz", + "integrity": "sha512-bXuaUNLVVkD20wcGBWRyo7j9N3TxePEWFZj2Y+r9OoUzfqmavM84+mFykRicNsBqatba5JLay1t48wxaXaWnlA==", + "license": "MIT", "dependencies": { - "@types/node": ">=6", - "tslib": "^1.9.3" + "tslib": "^2.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@wry/context": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/@wry/context/-/context-0.7.4.tgz", + "integrity": "sha512-jmT7Sb4ZQWI5iyu3lobQxICu2nC/vbUhP0vIdd6tHC9PTfenmRmuIFqktc6GH9cgi+ZHnsLWPvfSvc4DrYmKiQ==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": ">=8" } }, "node_modules/@wry/equality": { - "version": "0.1.11", - "resolved": "https://registry.npmjs.org/@wry/equality/-/equality-0.1.11.tgz", - "integrity": "sha512-mwEVBDUVODlsQQ5dfuLUS5/Tf7jqUKyhKYHmVi4fPB6bDMOfWvUPJmKgS1Z7Za/sOI3vzWt4+O7yCiL/70MogA==", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@wry/equality/-/equality-0.5.7.tgz", + "integrity": "sha512-BRFORjsTuQv5gxcXsuDXx6oGRhuVsEGwZy6LOzRRfgu+eSfxbhUQ9L9YtSEIuIjY/o7g3iWFjrc5eSY1GXP2Dw==", + "license": "MIT", "dependencies": { - "tslib": "^1.9.3" + "tslib": "^2.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@wry/trie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@wry/trie/-/trie-0.5.0.tgz", + "integrity": "sha512-FNoYzHawTMk/6KMQoEG5O4PuioX19UbwdQKF44yw0nLfOypfQdjtfZzo/UIJWAJ23sNIFbD1Ug9lbaDGMwbqQA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": ">=8" } }, "node_modules/@xobotyi/scrollbar-width": { "version": "1.9.5", "resolved": "https://registry.npmjs.org/@xobotyi/scrollbar-width/-/scrollbar-width-1.9.5.tgz", - "integrity": "sha512-N8tkAACJx2ww8vFMneJmaAgmjAG1tnVBZJRLRcx061tmsLRZHSEZSLuGWnwPtunsSLvSqXQ2wfp7Mgqg1I+2dQ==" + "integrity": "sha512-N8tkAACJx2ww8vFMneJmaAgmjAG1tnVBZJRLRcx061tmsLRZHSEZSLuGWnwPtunsSLvSqXQ2wfp7Mgqg1I+2dQ==", + "license": "MIT" }, "node_modules/acorn": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", - "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "version": "8.14.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", + "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", "dev": true, + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -2284,6 +2375,7 @@ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, + "license": "MIT", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } @@ -2293,6 +2385,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -2309,6 +2402,7 @@ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.0.0.tgz", "integrity": "sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==", "dev": true, + "license": "MIT", "dependencies": { "environment": "^1.0.0" }, @@ -2324,6 +2418,7 @@ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -2336,6 +2431,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -2346,143 +2442,38 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/apollo-cache": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/apollo-cache/-/apollo-cache-1.3.5.tgz", - "integrity": "sha512-1XoDy8kJnyWY/i/+gLTEbYLnoiVtS8y7ikBr/IfmML4Qb+CM7dEEbIUOjnY716WqmZ/UpXIxTfJsY7rMcqiCXA==", - "dependencies": { - "apollo-utilities": "^1.3.4", - "tslib": "^1.10.0" - }, - "peerDependencies": { - "graphql": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0" - } - }, - "node_modules/apollo-cache-inmemory": { - "version": "1.6.6", - "resolved": "https://registry.npmjs.org/apollo-cache-inmemory/-/apollo-cache-inmemory-1.6.6.tgz", - "integrity": "sha512-L8pToTW/+Xru2FFAhkZ1OA9q4V4nuvfoPecBM34DecAugUZEBhI2Hmpgnzq2hTKZ60LAMrlqiASm0aqAY6F8/A==", - "dependencies": { - "apollo-cache": "^1.3.5", - "apollo-utilities": "^1.3.4", - "optimism": "^0.10.0", - "ts-invariant": "^0.4.0", - "tslib": "^1.10.0" - }, - "peerDependencies": { - "graphql": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0" - } - }, - "node_modules/apollo-client": { - "version": "2.6.10", - "resolved": "https://registry.npmjs.org/apollo-client/-/apollo-client-2.6.10.tgz", - "integrity": "sha512-jiPlMTN6/5CjZpJOkGeUV0mb4zxx33uXWdj/xQCfAMkuNAC3HN7CvYDyMHHEzmcQ5GV12LszWoQ/VlxET24CtA==", - "dependencies": { - "@types/zen-observable": "^0.8.0", - "apollo-cache": "1.3.5", - "apollo-link": "^1.0.0", - "apollo-utilities": "1.3.4", - "symbol-observable": "^1.0.2", - "ts-invariant": "^0.4.0", - "tslib": "^1.10.0", - "zen-observable": "^0.8.0" - }, - "peerDependencies": { - "graphql": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0" - } - }, - "node_modules/apollo-link": { - "version": "1.2.14", - "resolved": "https://registry.npmjs.org/apollo-link/-/apollo-link-1.2.14.tgz", - "integrity": "sha512-p67CMEFP7kOG1JZ0ZkYZwRDa369w5PIjtMjvrQd/HnIV8FRsHRqLqK+oAZQnFa1DDdZtOtHTi+aMIW6EatC2jg==", - "dependencies": { - "apollo-utilities": "^1.3.0", - "ts-invariant": "^0.4.0", - "tslib": "^1.9.3", - "zen-observable-ts": "^0.8.21" - }, - "peerDependencies": { - "graphql": "^0.11.3 || ^0.12.3 || ^0.13.0 || ^14.0.0 || ^15.0.0" - } - }, - "node_modules/apollo-link-error": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/apollo-link-error/-/apollo-link-error-1.1.13.tgz", - "integrity": "sha512-jAZOOahJU6bwSqb2ZyskEK1XdgUY9nkmeclCrW7Gddh1uasHVqmoYc4CKdb0/H0Y1J9lvaXKle2Wsw/Zx1AyUg==", - "dependencies": { - "apollo-link": "^1.2.14", - "apollo-link-http-common": "^0.2.16", - "tslib": "^1.9.3" - } - }, - "node_modules/apollo-link-http": { - "version": "1.5.17", - "resolved": "https://registry.npmjs.org/apollo-link-http/-/apollo-link-http-1.5.17.tgz", - "integrity": "sha512-uWcqAotbwDEU/9+Dm9e1/clO7hTB2kQ/94JYcGouBVLjoKmTeJTUPQKcJGpPwUjZcSqgYicbFqQSoJIW0yrFvg==", - "dependencies": { - "apollo-link": "^1.2.14", - "apollo-link-http-common": "^0.2.16", - "tslib": "^1.9.3" - }, - "peerDependencies": { - "graphql": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0" - } - }, - "node_modules/apollo-link-http-common": { - "version": "0.2.16", - "resolved": "https://registry.npmjs.org/apollo-link-http-common/-/apollo-link-http-common-0.2.16.tgz", - "integrity": "sha512-2tIhOIrnaF4UbQHf7kjeQA/EmSorB7+HyJIIrUjJOKBgnXwuexi8aMecRlqTIDWcyVXCeqLhUnztMa6bOH/jTg==", - "dependencies": { - "apollo-link": "^1.2.14", - "ts-invariant": "^0.4.0", - "tslib": "^1.9.3" - }, - "peerDependencies": { - "graphql": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0" - } - }, "node_modules/apollo-upload-client": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/apollo-upload-client/-/apollo-upload-client-13.0.0.tgz", - "integrity": "sha512-lJ9/bk1BH1lD15WhWRha2J3+LrXrPIX5LP5EwiOUHv8PCORp4EUrcujrA3rI5hZeZygrTX8bshcuMdpqpSrvtA==", + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/apollo-upload-client/-/apollo-upload-client-18.0.1.tgz", + "integrity": "sha512-OQvZg1rK05VNI79D658FUmMdoI2oB/KJKb6QGMa2Si25QXOaAvLMBFUEwJct7wf+19U8vk9ILhidBOU1ZWv6QA==", + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.9.2", - "apollo-link": "^1.2.12", - "apollo-link-http-common": "^0.2.14", - "extract-files": "^8.0.0" + "extract-files": "^13.0.0" }, "engines": { - "node": ">=10" + "node": "^18.15.0 || >=20.4.0" }, "funding": { "url": "https://github.com/sponsors/jaydenseric" - } - }, - "node_modules/apollo-utilities": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/apollo-utilities/-/apollo-utilities-1.3.4.tgz", - "integrity": "sha512-pk2hiWrCXMAy2fRPwEyhvka+mqwzeP60Jr1tRYi5xru+3ko94HI9o6lK0CT33/w4RDlxWchmdhDCrvdr+pHCig==", - "dependencies": { - "@wry/equality": "^0.1.2", - "fast-json-stable-stringify": "^2.0.0", - "ts-invariant": "^0.4.0", - "tslib": "^1.10.0" }, "peerDependencies": { - "graphql": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0" + "@apollo/client": "^3.8.0", + "graphql": "14 - 16" } }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true + "dev": true, + "license": "Python-2.0" }, "node_modules/array-buffer-byte-length": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", "dev": true, + "license": "MIT", "dependencies": { "call-bound": "^1.0.3", "is-array-buffer": "^3.0.5" @@ -2499,6 +2490,7 @@ "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -2519,6 +2511,7 @@ "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -2539,6 +2532,7 @@ "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.8", "define-properties": "^1.2.1", @@ -2557,6 +2551,7 @@ "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.8", "define-properties": "^1.2.1", @@ -2575,6 +2570,7 @@ "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -2591,6 +2587,7 @@ "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", "dev": true, + "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.1", "call-bind": "^1.0.8", @@ -2612,6 +2609,7 @@ "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" } @@ -2620,6 +2618,7 @@ "version": "2.2.5", "resolved": "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.5.tgz", "integrity": "sha512-0bDNnY/u6pPwHDMoF0FieU354oBi0a8rD9FcsLwzcGWbc8KS8KPIi7y+s13OlVY+gMWc/9xEMUgNE6Qm8ZllYQ==", + "license": "MIT", "engines": { "node": ">=4" } @@ -2628,6 +2627,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/auto-bind/-/auto-bind-2.1.1.tgz", "integrity": "sha512-NUwV1i9D3vxxY1KnfZgSZ716d6ovY7o8LfOwLhGIPFBowIb6Ln6DBW64+jCqPzUznel2hRSkQnYQqvh7/ldw8A==", + "license": "MIT", "dependencies": { "@types/react": "^16.8.12" }, @@ -2635,11 +2635,29 @@ "node": ">=6" } }, + "node_modules/auto-bind/node_modules/@types/react": { + "version": "16.14.63", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.63.tgz", + "integrity": "sha512-s83gano0fRBVEw3ejdLpjgvU83F0LIeeuXqdxfPZF/Sc2bhr60tEqCK1zZ+aLirBwRSD6V5zCtOsEjcwKow3JQ==", + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "^0.16", + "csstype": "^3.0.2" + } + }, + "node_modules/auto-bind/node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" + }, "node_modules/available-typed-arrays": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", "dev": true, + "license": "MIT", "dependencies": { "possible-typed-array-names": "^1.0.0" }, @@ -2650,43 +2668,18 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/axios": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", - "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", - "dependencies": { - "follow-redirects": "^1.10.0" - } - }, - "node_modules/axios/node_modules/follow-redirects": { - "version": "1.15.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", - "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/base-x": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.10.tgz", - "integrity": "sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ==", + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.11.tgz", + "integrity": "sha512-xz7wQ8xDhdyP7tQxwdteLYeFfS68tSMNCZ/Y37WJ4bhGfKPpqEIlmIyueQHqOyoPhE6xNUqjzRr8ra0eF9VRvA==", + "license": "MIT", "dependencies": { "safe-buffer": "^5.0.1" } @@ -2708,17 +2701,20 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/bech32": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/bech32/-/bech32-2.0.0.tgz", - "integrity": "sha512-LcknSilhIGatDAsY1ak2I8VtGaHNhgMSYVxFrGLXv+xLHytaKZKcaUJJUE7qmBr7h33o5YQwP55pMI0xmkpJwg==" + "integrity": "sha512-LcknSilhIGatDAsY1ak2I8VtGaHNhgMSYVxFrGLXv+xLHytaKZKcaUJJUE7qmBr7h33o5YQwP55pMI0xmkpJwg==", + "license": "MIT" }, "node_modules/big-integer": { "version": "1.6.52", "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz", "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==", + "license": "Unlicense", "engines": { "node": ">=0.6" } @@ -2732,6 +2728,7 @@ "version": "9.0.0", "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz", "integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==", + "license": "MIT", "engines": { "node": "*" } @@ -2740,6 +2737,7 @@ "version": "1.5.0", "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "license": "MIT", "dependencies": { "file-uri-to-path": "1.0.0" } @@ -2748,6 +2746,7 @@ "version": "0.6.4", "resolved": "https://registry.npmjs.org/bip-schnorr/-/bip-schnorr-0.6.4.tgz", "integrity": "sha512-dNKw7Lea8B0wMIN4OjEmOk/Z5qUGqoPDY0P2QttLqGk1hmDPytLWW8PR5Pb6Vxy6CprcdEgfJpOjUu+ONQveyg==", + "license": "MIT", "dependencies": { "bigi": "^1.4.2", "ecurve": "^1.0.6", @@ -2763,6 +2762,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/bip32/-/bip32-1.0.4.tgz", "integrity": "sha512-8T21eLWylZETolyqCPgia+MNp+kY37zFr7PTFDTPObHeNi9JlfG4qGIh8WzerIJidtwoK+NsWq2I5i66YfHoIw==", + "license": "MIT", "dependencies": { "bs58check": "^2.1.1", "create-hash": "^1.2.0", @@ -2779,6 +2779,7 @@ "version": "1.1.5", "resolved": "https://registry.npmjs.org/bip66/-/bip66-1.1.5.tgz", "integrity": "sha512-nemMHz95EmS38a26XbbdxIYj5csHd3RMP3H5bwQknX0WYHF01qhpufP42mLOwVICuH2JmhIhXiWs89MfUGL7Xw==", + "license": "MIT", "dependencies": { "safe-buffer": "^5.0.1" } @@ -2786,12 +2787,14 @@ "node_modules/bitcoin-ops": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/bitcoin-ops/-/bitcoin-ops-1.4.1.tgz", - "integrity": "sha512-pef6gxZFztEhaE9RY9HmWVmiIHqCb2OyS4HPKkpc6CIiiOa3Qmuoylxc5P2EkU3w+5eTSifI9SEZC88idAIGow==" + "integrity": "sha512-pef6gxZFztEhaE9RY9HmWVmiIHqCb2OyS4HPKkpc6CIiiOa3Qmuoylxc5P2EkU3w+5eTSifI9SEZC88idAIGow==", + "license": "MIT" }, "node_modules/bitcoinjs-lib": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/bitcoinjs-lib/-/bitcoinjs-lib-4.0.3.tgz", "integrity": "sha512-cb5t55MYUpwQi095J+u6eyltgIU7lbhZfC6+annstncDhfH4cyctW5jmU/tac7NonZZFYH7DktWnDxUm9AWWDQ==", + "license": "MIT", "dependencies": { "bech32": "^1.1.2", "bip32": "^1.0.0", @@ -2816,12 +2819,14 @@ "node_modules/bitcoinjs-lib/node_modules/bech32": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", - "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" + "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==", + "license": "MIT" }, "node_modules/bitcore-lib": { "version": "8.25.47", "resolved": "https://registry.npmjs.org/bitcore-lib/-/bitcore-lib-8.25.47.tgz", "integrity": "sha512-qDZr42HuP4P02I8kMGZUx/vvwuDsz8X3rQxXLfM0BtKzlQBcbSM7ycDkDN99Xc5jzpd4fxNQyyFXOmc6owUsrQ==", + "license": "MIT", "dependencies": { "bech32": "=2.0.0", "bip-schnorr": "=0.6.4", @@ -2837,6 +2842,7 @@ "version": "8.25.47", "resolved": "https://registry.npmjs.org/bitcore-lib-cash/-/bitcore-lib-cash-8.25.47.tgz", "integrity": "sha512-Qk8L0zLJPv34vSd3pbOOvjpgIi/gU6SHSmX1lJY+lwL9S16KF8fi1Lc9/RNm2tWLGiuMxrg2vKV/9U0yCuQBlQ==", + "license": "MIT", "dependencies": { "bitcore-lib": "^8.25.47", "bn.js": "=4.11.8", @@ -2850,38 +2856,33 @@ "node_modules/bitcore-lib-cash/node_modules/bn.js": { "version": "4.11.8", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" - }, - "node_modules/bitcore-lib-cash/node_modules/inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==" + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "license": "MIT" }, "node_modules/bitcore-lib/node_modules/bn.js": { "version": "4.11.8", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" - }, - "node_modules/bitcore-lib/node_modules/inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==" + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "license": "MIT" }, "node_modules/blakejs": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", - "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" + "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==", + "license": "MIT" }, "node_modules/bn.js": { "version": "4.12.1", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz", - "integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==" + "integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==", + "license": "MIT" }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -2892,6 +2893,7 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, + "license": "MIT", "dependencies": { "fill-range": "^7.1.1" }, @@ -2902,7 +2904,8 @@ "node_modules/brorand": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", + "license": "MIT" }, "node_modules/browserslist": { "version": "4.24.4", @@ -2923,6 +2926,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "caniuse-lite": "^1.0.30001688", "electron-to-chromium": "^1.5.73", @@ -2940,6 +2944,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", + "license": "MIT", "dependencies": { "base-x": "^3.0.2" } @@ -2948,6 +2953,7 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", + "license": "MIT", "dependencies": { "bs58": "^4.0.0", "create-hash": "^1.1.0", @@ -2972,6 +2978,7 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" @@ -2987,6 +2994,7 @@ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", "dev": true, + "license": "MIT", "dependencies": { "call-bind-apply-helpers": "^1.0.0", "es-define-property": "^1.0.0", @@ -3001,10 +3009,11 @@ } }, "node_modules/call-bind-apply-helpers": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz", - "integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", "dev": true, + "license": "MIT", "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2" @@ -3014,13 +3023,14 @@ } }, "node_modules/call-bound": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.3.tgz", - "integrity": "sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "get-intrinsic": "^1.2.6" + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" }, "engines": { "node": ">= 0.4" @@ -3034,6 +3044,7 @@ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -3043,6 +3054,7 @@ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -3051,9 +3063,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001696", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001696.tgz", - "integrity": "sha512-pDCPkvzfa39ehJtJ+OwGT/2yvT2SbjfHhiIW2LWOAcMQ7BzwxT/XuyUp4OTOd0XFWA6BKw0JalnBHgSi5DGJBQ==", + "version": "1.0.30001713", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001713.tgz", + "integrity": "sha512-wCIWIg+A4Xr7NfhTuHdX+/FKh3+Op3LBbSp2N5Pfx6T/LhdQy3GTyoTg48BReaW/MyMNZAkTadsBtai3ldWK0Q==", "dev": true, "funding": [ { @@ -3068,12 +3080,14 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ] + ], + "license": "CC-BY-4.0" }, "node_modules/cashaddrjs": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/cashaddrjs/-/cashaddrjs-0.4.4.tgz", "integrity": "sha512-xZkuWdNOh0uq/mxJIng6vYWfTowZLd9F4GMAlp2DwFHlcCqCm91NtuAc47RuV4L7r4PYcY5p6Cr2OKNb4hnkWA==", + "license": "MIT", "dependencies": { "big-integer": "1.6.36" } @@ -3082,6 +3096,7 @@ "version": "1.6.36", "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.36.tgz", "integrity": "sha512-t70bfa7HYEA1D9idDbmuv7YbsbVkQ+Hp+8KFSul4aE5e/i1bjCNIRYJZlA8Q8p0r9T8cF/RVvwUgRA//FydEyg==", + "license": "Unlicense", "engines": { "node": ">=0.6" } @@ -3091,6 +3106,7 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -3106,6 +3122,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.6.tgz", "integrity": "sha512-3Ek9H3X6pj5TgenXYtNWdaBon1tgYCaebd+XPg0keyjEbEfkD4KkmAxkQ/i1vYvxdcT5nscLBfq9VJRmCBcFSw==", + "license": "MIT", "dependencies": { "inherits": "^2.0.4", "safe-buffer": "^5.2.1" @@ -3114,16 +3131,24 @@ "node": ">= 0.10" } }, + "node_modules/cipher-base/node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, "node_modules/classnames": { "version": "2.2.6", "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", - "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==" + "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==", + "license": "MIT" }, "node_modules/cli-cursor": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", "dev": true, + "license": "MIT", "dependencies": { "restore-cursor": "^5.0.0" }, @@ -3139,6 +3164,7 @@ "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", "dev": true, + "license": "MIT", "dependencies": { "slice-ansi": "^5.0.0", "string-width": "^7.0.0" @@ -3154,6 +3180,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "license": "MIT", "engines": { "node": ">=6" } @@ -3163,6 +3190,7 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -3174,40 +3202,47 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/colorette": { "version": "2.0.20", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "license": "MIT" }, "node_modules/compute-scroll-into-view": { "version": "1.0.20", "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.20.tgz", - "integrity": "sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==" + "integrity": "sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==", + "license": "MIT" }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/copy-to-clipboard": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", "integrity": "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==", + "license": "MIT", "dependencies": { "toggle-selection": "^1.0.6" } @@ -3215,13 +3250,15 @@ "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "license": "MIT" }, "node_modules/cosmiconfig": { "version": "8.3.6", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", "dev": true, + "license": "MIT", "dependencies": { "import-fresh": "^3.3.0", "js-yaml": "^4.1.0", @@ -3247,6 +3284,7 @@ "version": "2.5.0", "resolved": "https://registry.npmjs.org/countries-and-timezones/-/countries-and-timezones-2.5.0.tgz", "integrity": "sha512-bleDLu9/Bgs/eT+ZJcXGAIu+S7QDosYbmViKtYdhT7IDTNqyQoAO5vmjKwVdalTDyqXE8TOR1hKbpbnK5f0COQ==", + "license": "MIT", "engines": { "node": ">=8.x", "npm": ">=5.x" @@ -3256,6 +3294,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "license": "MIT", "dependencies": { "cipher-base": "^1.0.1", "inherits": "^2.0.1", @@ -3268,6 +3307,7 @@ "version": "1.1.7", "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "license": "MIT", "dependencies": { "cipher-base": "^1.0.3", "create-hash": "^1.1.0", @@ -3282,6 +3322,7 @@ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -3294,12 +3335,14 @@ "node_modules/crypto-js": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-3.3.0.tgz", - "integrity": "sha512-DIT51nX0dCfKltpRiXV+/TVZq+Qq2NgF4644+K7Ttnla7zEzqc+kjJyiB96BHNyUTBxyjzRcZYpUdZa+QAqi6Q==" + "integrity": "sha512-DIT51nX0dCfKltpRiXV+/TVZq+Qq2NgF4644+K7Ttnla7zEzqc+kjJyiB96BHNyUTBxyjzRcZYpUdZa+QAqi6Q==", + "license": "MIT" }, "node_modules/css-in-js-utils": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/css-in-js-utils/-/css-in-js-utils-3.1.0.tgz", "integrity": "sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A==", + "license": "MIT", "dependencies": { "hyphenate-style-name": "^1.0.3" } @@ -3308,6 +3351,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "license": "MIT", "dependencies": { "mdn-data": "2.0.14", "source-map": "^0.6.1" @@ -3320,6 +3364,7 @@ "version": "2.0.8", "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-2.0.8.tgz", "integrity": "sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.8.3", "is-in-browser": "^1.0.2" @@ -3328,12 +3373,14 @@ "node_modules/csstype": { "version": "2.6.21", "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz", - "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==" + "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==", + "license": "MIT" }, "node_modules/d3": { "version": "6.7.0", "resolved": "https://registry.npmjs.org/d3/-/d3-6.7.0.tgz", "integrity": "sha512-hNHRhe+yCDLUG6Q2LwvR/WdNFPOJQ5VWqsJcwIYVeI401+d2/rrCjxSXkiAdIlpx7/73eApFB4Olsmh3YN7a6g==", + "license": "BSD-3-Clause", "dependencies": { "d3-array": "2", "d3-axis": "2", @@ -3371,6 +3418,7 @@ "version": "2.12.1", "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.12.1.tgz", "integrity": "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==", + "license": "BSD-3-Clause", "dependencies": { "internmap": "^1.0.0" } @@ -3378,12 +3426,14 @@ "node_modules/d3-axis": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-2.1.0.tgz", - "integrity": "sha512-z/G2TQMyuf0X3qP+Mh+2PimoJD41VOCjViJzT0BHeL/+JQAofkiWZbWxlwFGb1N8EN+Cl/CW+MUKbVzr1689Cw==" + "integrity": "sha512-z/G2TQMyuf0X3qP+Mh+2PimoJD41VOCjViJzT0BHeL/+JQAofkiWZbWxlwFGb1N8EN+Cl/CW+MUKbVzr1689Cw==", + "license": "BSD-3-Clause" }, "node_modules/d3-brush": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-2.1.0.tgz", "integrity": "sha512-cHLLAFatBATyIKqZOkk/mDHUbzne2B3ZwxkzMHvFTCZCmLaXDpZRihQSn8UNXTkGD/3lb/W2sQz0etAftmHMJQ==", + "license": "BSD-3-Clause", "dependencies": { "d3-dispatch": "1 - 2", "d3-drag": "2", @@ -3396,6 +3446,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-2.0.0.tgz", "integrity": "sha512-D5PZb7EDsRNdGU4SsjQyKhja8Zgu+SHZfUSO5Ls8Wsn+jsAKUUGkcshLxMg9HDFxG3KqavGWaWkJ8EpU8ojuig==", + "license": "BSD-3-Clause", "dependencies": { "d3-path": "1 - 2" } @@ -3403,12 +3454,14 @@ "node_modules/d3-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-2.0.0.tgz", - "integrity": "sha512-SPXi0TSKPD4g9tw0NMZFnR95XVgUZiBH+uUTqQuDu1OsE2zomHU7ho0FISciaPvosimixwHFl3WHLGabv6dDgQ==" + "integrity": "sha512-SPXi0TSKPD4g9tw0NMZFnR95XVgUZiBH+uUTqQuDu1OsE2zomHU7ho0FISciaPvosimixwHFl3WHLGabv6dDgQ==", + "license": "BSD-3-Clause" }, "node_modules/d3-contour": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-2.0.0.tgz", "integrity": "sha512-9unAtvIaNk06UwqBmvsdHX7CZ+NPDZnn8TtNH1myW93pWJkhsV25JcgnYAu0Ck5Veb1DHiCv++Ic5uvJ+h50JA==", + "license": "BSD-3-Clause", "dependencies": { "d3-array": "2" } @@ -3417,6 +3470,7 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-5.3.0.tgz", "integrity": "sha512-amALSrOllWVLaHTnDLHwMIiz0d1bBu9gZXd1FiLfXf8sHcX9jrcj81TVZOqD4UX7MgBZZ07c8GxzEgBpJqc74w==", + "license": "ISC", "dependencies": { "delaunator": "4" } @@ -3424,12 +3478,14 @@ "node_modules/d3-dispatch": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-2.0.0.tgz", - "integrity": "sha512-S/m2VsXI7gAti2pBoLClFFTMOO1HTtT0j99AuXLoGFKO6deHDdnv6ZGTxSTTUTgO1zVcv82fCOtDjYK4EECmWA==" + "integrity": "sha512-S/m2VsXI7gAti2pBoLClFFTMOO1HTtT0j99AuXLoGFKO6deHDdnv6ZGTxSTTUTgO1zVcv82fCOtDjYK4EECmWA==", + "license": "BSD-3-Clause" }, "node_modules/d3-drag": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-2.0.0.tgz", "integrity": "sha512-g9y9WbMnF5uqB9qKqwIIa/921RYWzlUDv9Jl1/yONQwxbOfszAWTCm8u7HOTgJgRDXiRZN56cHT9pd24dmXs8w==", + "license": "BSD-3-Clause", "dependencies": { "d3-dispatch": "1 - 2", "d3-selection": "2" @@ -3439,6 +3495,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-2.0.0.tgz", "integrity": "sha512-E+Pn8UJYx9mViuIUkoc93gJGGYut6mSDKy2+XaPwccwkRGlR+LO97L2VCCRjQivTwLHkSnAJG7yo00BWY6QM+w==", + "license": "BSD-3-Clause", "dependencies": { "commander": "2", "iconv-lite": "0.4", @@ -3459,12 +3516,14 @@ "node_modules/d3-ease": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-2.0.0.tgz", - "integrity": "sha512-68/n9JWarxXkOWMshcT5IcjbB+agblQUaIsbnXmrzejn2O82n3p2A9R2zEB9HIEFWKFwPAEDDN8gR0VdSAyyAQ==" + "integrity": "sha512-68/n9JWarxXkOWMshcT5IcjbB+agblQUaIsbnXmrzejn2O82n3p2A9R2zEB9HIEFWKFwPAEDDN8gR0VdSAyyAQ==", + "license": "BSD-3-Clause" }, "node_modules/d3-fetch": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-2.0.0.tgz", "integrity": "sha512-TkYv/hjXgCryBeNKiclrwqZH7Nb+GaOwo3Neg24ZVWA3MKB+Rd+BY84Nh6tmNEMcjUik1CSUWjXYndmeO6F7sw==", + "license": "BSD-3-Clause", "dependencies": { "d3-dsv": "1 - 2" } @@ -3473,6 +3532,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-2.1.1.tgz", "integrity": "sha512-nAuHEzBqMvpFVMf9OX75d00OxvOXdxY+xECIXjW6Gv8BRrXu6gAWbv/9XKrvfJ5i5DCokDW7RYE50LRoK092ew==", + "license": "BSD-3-Clause", "dependencies": { "d3-dispatch": "1 - 2", "d3-quadtree": "1 - 2", @@ -3482,12 +3542,14 @@ "node_modules/d3-format": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-2.0.0.tgz", - "integrity": "sha512-Ab3S6XuE/Q+flY96HXT0jOXcM4EAClYFnRGY5zsjRGNy6qCYrQsMffs7cV5Q9xejb35zxW5hf/guKw34kvIKsA==" + "integrity": "sha512-Ab3S6XuE/Q+flY96HXT0jOXcM4EAClYFnRGY5zsjRGNy6qCYrQsMffs7cV5Q9xejb35zxW5hf/guKw34kvIKsA==", + "license": "BSD-3-Clause" }, "node_modules/d3-geo": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-2.0.2.tgz", "integrity": "sha512-8pM1WGMLGFuhq9S+FpPURxic+gKzjluCD/CHTuUF3mXMeiCo0i6R0tO1s4+GArRFde96SLcW/kOFRjoAosPsFA==", + "license": "BSD-3-Clause", "dependencies": { "d3-array": "^2.5.0" } @@ -3495,12 +3557,14 @@ "node_modules/d3-hierarchy": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-2.0.0.tgz", - "integrity": "sha512-SwIdqM3HxQX2214EG9GTjgmCc/mbSx4mQBn+DuEETubhOw6/U3fmnji4uCVrmzOydMHSO1nZle5gh6HB/wdOzw==" + "integrity": "sha512-SwIdqM3HxQX2214EG9GTjgmCc/mbSx4mQBn+DuEETubhOw6/U3fmnji4uCVrmzOydMHSO1nZle5gh6HB/wdOzw==", + "license": "BSD-3-Clause" }, "node_modules/d3-interpolate": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-2.0.1.tgz", "integrity": "sha512-c5UhwwTs/yybcmTpAVqwSFl6vrQ8JZJoT5F7xNFK9pymv5C0Ymcc9/LIJHtYIggg/yS9YHw8i8O8tgb9pupjeQ==", + "license": "BSD-3-Clause", "dependencies": { "d3-color": "1 - 2" } @@ -3508,27 +3572,32 @@ "node_modules/d3-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-2.0.0.tgz", - "integrity": "sha512-ZwZQxKhBnv9yHaiWd6ZU4x5BtCQ7pXszEV9CU6kRgwIQVQGLMv1oiL4M+MK/n79sYzsj+gcgpPQSctJUsLN7fA==" + "integrity": "sha512-ZwZQxKhBnv9yHaiWd6ZU4x5BtCQ7pXszEV9CU6kRgwIQVQGLMv1oiL4M+MK/n79sYzsj+gcgpPQSctJUsLN7fA==", + "license": "BSD-3-Clause" }, "node_modules/d3-polygon": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-2.0.0.tgz", - "integrity": "sha512-MsexrCK38cTGermELs0cO1d79DcTsQRN7IWMJKczD/2kBjzNXxLUWP33qRF6VDpiLV/4EI4r6Gs0DAWQkE8pSQ==" + "integrity": "sha512-MsexrCK38cTGermELs0cO1d79DcTsQRN7IWMJKczD/2kBjzNXxLUWP33qRF6VDpiLV/4EI4r6Gs0DAWQkE8pSQ==", + "license": "BSD-3-Clause" }, "node_modules/d3-quadtree": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-2.0.0.tgz", - "integrity": "sha512-b0Ed2t1UUalJpc3qXzKi+cPGxeXRr4KU9YSlocN74aTzp6R/Ud43t79yLLqxHRWZfsvWXmbDWPpoENK1K539xw==" + "integrity": "sha512-b0Ed2t1UUalJpc3qXzKi+cPGxeXRr4KU9YSlocN74aTzp6R/Ud43t79yLLqxHRWZfsvWXmbDWPpoENK1K539xw==", + "license": "BSD-3-Clause" }, "node_modules/d3-random": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-2.2.2.tgz", - "integrity": "sha512-0D9P8TRj6qDAtHhRQn6EfdOtHMfsUWanl3yb/84C4DqpZ+VsgfI5iTVRNRbELCfNvRfpMr8OrqqUTQ6ANGCijw==" + "integrity": "sha512-0D9P8TRj6qDAtHhRQn6EfdOtHMfsUWanl3yb/84C4DqpZ+VsgfI5iTVRNRbELCfNvRfpMr8OrqqUTQ6ANGCijw==", + "license": "BSD-3-Clause" }, "node_modules/d3-scale": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-3.3.0.tgz", "integrity": "sha512-1JGp44NQCt5d1g+Yy+GeOnZP7xHo0ii8zsQp6PGzd+C1/dl0KGsp9A7Mxwp+1D1o4unbTTxVdU/ZOIEBoeZPbQ==", + "license": "BSD-3-Clause", "dependencies": { "d3-array": "^2.3.0", "d3-format": "1 - 2", @@ -3541,6 +3610,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-2.0.0.tgz", "integrity": "sha512-LLqy7dJSL8yDy7NRmf6xSlsFZ6zYvJ4BcWFE4zBrOPnQERv9zj24ohnXKRbyi9YHnYV+HN1oEO3iFK971/gkzA==", + "license": "BSD-3-Clause", "dependencies": { "d3-color": "1 - 2", "d3-interpolate": "1 - 2" @@ -3549,12 +3619,14 @@ "node_modules/d3-selection": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-2.0.0.tgz", - "integrity": "sha512-XoGGqhLUN/W14NmaqcO/bb1nqjDAw5WtSYb2X8wiuQWvSZUsUVYsOSkOybUrNvcBjaywBdYPy03eXHMXjk9nZA==" + "integrity": "sha512-XoGGqhLUN/W14NmaqcO/bb1nqjDAw5WtSYb2X8wiuQWvSZUsUVYsOSkOybUrNvcBjaywBdYPy03eXHMXjk9nZA==", + "license": "BSD-3-Clause" }, "node_modules/d3-shape": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-2.1.0.tgz", "integrity": "sha512-PnjUqfM2PpskbSLTJvAzp2Wv4CZsnAgTfcVRTwW03QR3MkXF8Uo7B1y/lWkAsmbKwuecto++4NlsYcvYpXpTHA==", + "license": "BSD-3-Clause", "dependencies": { "d3-path": "1 - 2" } @@ -3563,6 +3635,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-2.1.1.tgz", "integrity": "sha512-/eIQe/eR4kCQwq7yxi7z4c6qEXf2IYGcjoWB5OOQy4Tq9Uv39/947qlDcN2TLkiTzQWzvnsuYPB9TrWaNfipKQ==", + "license": "BSD-3-Clause", "dependencies": { "d3-array": "2" } @@ -3571,6 +3644,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-3.0.0.tgz", "integrity": "sha512-UXJh6EKsHBTjopVqZBhFysQcoXSv/5yLONZvkQ5Kk3qbwiUYkdX17Xa1PT6U1ZWXGGfB1ey5L8dKMlFq2DO0Ag==", + "license": "BSD-3-Clause", "dependencies": { "d3-time": "1 - 2" } @@ -3578,12 +3652,14 @@ "node_modules/d3-timer": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-2.0.0.tgz", - "integrity": "sha512-TO4VLh0/420Y/9dO3+f9abDEFYeCUr2WZRlxJvbp4HPTQcSylXNiL6yZa9FIUvV1yRiFufl1bszTCLDqv9PWNA==" + "integrity": "sha512-TO4VLh0/420Y/9dO3+f9abDEFYeCUr2WZRlxJvbp4HPTQcSylXNiL6yZa9FIUvV1yRiFufl1bszTCLDqv9PWNA==", + "license": "BSD-3-Clause" }, "node_modules/d3-transition": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-2.0.0.tgz", "integrity": "sha512-42ltAGgJesfQE3u9LuuBHNbGrI/AJjNL2OAUdclE70UE6Vy239GCBEYD38uBPoLeNsOhFStGpPI0BAOV+HMxog==", + "license": "BSD-3-Clause", "dependencies": { "d3-color": "1 - 2", "d3-dispatch": "1 - 2", @@ -3599,6 +3675,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-2.0.0.tgz", "integrity": "sha512-fFg7aoaEm9/jf+qfstak0IYpnesZLiMX6GZvXtUSdv8RH2o4E2qeelgdU09eKS6wGuiGMfcnMI0nTIqWzRHGpw==", + "license": "BSD-3-Clause", "dependencies": { "d3-dispatch": "1 - 2", "d3-drag": "2", @@ -3612,6 +3689,7 @@ "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bound": "^1.0.3", "es-errors": "^1.3.0", @@ -3629,6 +3707,7 @@ "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bound": "^1.0.3", "es-errors": "^1.3.0", @@ -3646,6 +3725,7 @@ "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", @@ -3662,6 +3742,7 @@ "version": "2.30.0", "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.21.0" }, @@ -3677,28 +3758,41 @@ "version": "1.3.8", "resolved": "https://registry.npmjs.org/date-fns-tz/-/date-fns-tz-1.3.8.tgz", "integrity": "sha512-qwNXUFtMHTTU6CFSFjoJ80W8Fzzp24LntbjFFBgL/faqds4e5mo9mftoRLgr3Vi1trISsg4awSpYVsOQCRnapQ==", + "license": "MIT", "peerDependencies": { "date-fns": ">=2.0.0" } }, "node_modules/debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dev": true, + "license": "MIT", "dependencies": { - "ms": "2.0.0" + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/deepmerge": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz", "integrity": "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -3708,6 +3802,7 @@ "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dev": true, + "license": "MIT", "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", @@ -3725,6 +3820,7 @@ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "dev": true, + "license": "MIT", "dependencies": { "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", @@ -3740,13 +3836,15 @@ "node_modules/delaunator": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-4.0.1.tgz", - "integrity": "sha512-WNPWi1IRKZfCt/qIDMfERkDp93+iZEmOxN2yy4Jg+Xhv8SLk2UTqqbe1sfiipn0and9QrE914/ihdx82Y/Giag==" + "integrity": "sha512-WNPWi1IRKZfCt/qIDMfERkDp93+iZEmOxN2yy4Jg+Xhv8SLk2UTqqbe1sfiipn0and9QrE914/ihdx82Y/Giag==", + "license": "ISC" }, "node_modules/doctrine": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, + "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -3758,6 +3856,7 @@ "version": "5.2.1", "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.8.7", "csstype": "^3.0.2" @@ -3766,28 +3865,25 @@ "node_modules/dom-helpers/node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" }, "node_modules/dot-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", "dev": true, + "license": "MIT", "dependencies": { "no-case": "^3.0.4", "tslib": "^2.0.3" } }, - "node_modules/dot-case/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "dev": true - }, "node_modules/downshift": { "version": "3.3.4", "resolved": "https://registry.npmjs.org/downshift/-/downshift-3.3.4.tgz", "integrity": "sha512-3bM11S3p78p/moyJqDPc1j357dm/C+dN+54HKuc526k5etNXvnXyxsb+Ufd2yLL6qK4QZA62DysAgtMCIsKCNA==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.4.5", "@reach/auto-id": "^0.2.0", @@ -3802,13 +3898,15 @@ "node_modules/downshift/node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" }, "node_modules/dunder-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", "dev": true, + "license": "MIT", "dependencies": { "call-bind-apply-helpers": "^1.0.1", "es-errors": "^1.3.0", @@ -3822,21 +3920,24 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/ecurve/-/ecurve-1.0.6.tgz", "integrity": "sha512-/BzEjNfiSuB7jIWKcS/z8FK9jNjmEWvUV2YZ4RLSmcDtP7Lq0m6FvDuSnJpBlDpGRpfRQeTLGLBI8H+kEv0r+w==", + "license": "MIT", "dependencies": { "bigi": "^1.1.0", "safe-buffer": "^5.0.1" } }, "node_modules/electron-to-chromium": { - "version": "1.5.90", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.90.tgz", - "integrity": "sha512-C3PN4aydfW91Natdyd449Kw+BzhLmof6tzy5W1pFC5SpQxVXT+oyiyOG9AgYYSN9OdA/ik3YkCrpwqI8ug5Tug==", - "dev": true + "version": "1.5.136", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.136.tgz", + "integrity": "sha512-kL4+wUTD7RSA5FHx5YwWtjDnEEkIIikFgWHR4P6fqjw1PPLlqYkxeOb++wAauAssat0YClCy8Y3C5SxgSkjibQ==", + "dev": true, + "license": "ISC" }, "node_modules/elliptic": { "version": "6.6.1", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.6.1.tgz", "integrity": "sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==", + "license": "MIT", "dependencies": { "bn.js": "^4.11.9", "brorand": "^1.1.0", @@ -3847,17 +3948,25 @@ "minimalistic-crypto-utils": "^1.0.1" } }, + "node_modules/elliptic/node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, "node_modules/emoji-regex": { "version": "10.4.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/entities": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=0.12" }, @@ -3870,6 +3979,7 @@ "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" }, @@ -3882,6 +3992,7 @@ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, + "license": "MIT", "dependencies": { "is-arrayish": "^0.2.1" } @@ -3890,6 +4001,7 @@ "version": "2.1.4", "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "license": "MIT", "dependencies": { "stackframe": "^1.3.4" } @@ -3899,6 +4011,7 @@ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.9.tgz", "integrity": "sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==", "dev": true, + "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.2", "arraybuffer.prototype.slice": "^1.0.4", @@ -3964,6 +4077,7 @@ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" } @@ -3973,6 +4087,7 @@ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" } @@ -3982,6 +4097,7 @@ "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz", "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.3", @@ -4009,6 +4125,7 @@ "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", "dev": true, + "license": "MIT", "dependencies": { "es-errors": "^1.3.0" }, @@ -4021,6 +4138,7 @@ "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", "dev": true, + "license": "MIT", "dependencies": { "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6", @@ -4032,12 +4150,16 @@ } }, "node_modules/es-shim-unscopables": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", - "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", + "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", "dev": true, + "license": "MIT", "dependencies": { - "hasown": "^2.0.0" + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" } }, "node_modules/es-to-primitive": { @@ -4045,6 +4167,7 @@ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", "dev": true, + "license": "MIT", "dependencies": { "is-callable": "^1.2.7", "is-date-object": "^1.0.5", @@ -4058,11 +4181,12 @@ } }, "node_modules/esbuild": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.2.tgz", - "integrity": "sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.2.tgz", + "integrity": "sha512-16854zccKPnC+toMywC+uKNeYSv+/eXkevRAfwRD/G9Cleq66m8XFIrigkbvauLLlCfDL45Q2cWegSg53gGBnQ==", "dev": true, "hasInstallScript": true, + "license": "MIT", "bin": { "esbuild": "bin/esbuild" }, @@ -4070,31 +4194,31 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.24.2", - "@esbuild/android-arm": "0.24.2", - "@esbuild/android-arm64": "0.24.2", - "@esbuild/android-x64": "0.24.2", - "@esbuild/darwin-arm64": "0.24.2", - "@esbuild/darwin-x64": "0.24.2", - "@esbuild/freebsd-arm64": "0.24.2", - "@esbuild/freebsd-x64": "0.24.2", - "@esbuild/linux-arm": "0.24.2", - "@esbuild/linux-arm64": "0.24.2", - "@esbuild/linux-ia32": "0.24.2", - "@esbuild/linux-loong64": "0.24.2", - "@esbuild/linux-mips64el": "0.24.2", - "@esbuild/linux-ppc64": "0.24.2", - "@esbuild/linux-riscv64": "0.24.2", - "@esbuild/linux-s390x": "0.24.2", - "@esbuild/linux-x64": "0.24.2", - "@esbuild/netbsd-arm64": "0.24.2", - "@esbuild/netbsd-x64": "0.24.2", - "@esbuild/openbsd-arm64": "0.24.2", - "@esbuild/openbsd-x64": "0.24.2", - "@esbuild/sunos-x64": "0.24.2", - "@esbuild/win32-arm64": "0.24.2", - "@esbuild/win32-ia32": "0.24.2", - "@esbuild/win32-x64": "0.24.2" + "@esbuild/aix-ppc64": "0.25.2", + "@esbuild/android-arm": "0.25.2", + "@esbuild/android-arm64": "0.25.2", + "@esbuild/android-x64": "0.25.2", + "@esbuild/darwin-arm64": "0.25.2", + "@esbuild/darwin-x64": "0.25.2", + "@esbuild/freebsd-arm64": "0.25.2", + "@esbuild/freebsd-x64": "0.25.2", + "@esbuild/linux-arm": "0.25.2", + "@esbuild/linux-arm64": "0.25.2", + "@esbuild/linux-ia32": "0.25.2", + "@esbuild/linux-loong64": "0.25.2", + "@esbuild/linux-mips64el": "0.25.2", + "@esbuild/linux-ppc64": "0.25.2", + "@esbuild/linux-riscv64": "0.25.2", + "@esbuild/linux-s390x": "0.25.2", + "@esbuild/linux-x64": "0.25.2", + "@esbuild/netbsd-arm64": "0.25.2", + "@esbuild/netbsd-x64": "0.25.2", + "@esbuild/openbsd-arm64": "0.25.2", + "@esbuild/openbsd-x64": "0.25.2", + "@esbuild/sunos-x64": "0.25.2", + "@esbuild/win32-arm64": "0.25.2", + "@esbuild/win32-ia32": "0.25.2", + "@esbuild/win32-x64": "0.25.2" } }, "node_modules/esbuild-plugin-react-virtualized": { @@ -4102,6 +4226,7 @@ "resolved": "https://registry.npmjs.org/esbuild-plugin-react-virtualized/-/esbuild-plugin-react-virtualized-1.0.4.tgz", "integrity": "sha512-/Y+82TBduHox0/uhJlTgUqi3ZWN+qZPF0xy9crkHQE2AOOdm76l6VY2F0Mdfvue9hqXz2FOlKHlHUVXNalHLzA==", "dev": true, + "license": "MIT", "peerDependencies": { "esbuild": "*" } @@ -4111,6 +4236,7 @@ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -4120,6 +4246,7 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -4128,21 +4255,23 @@ } }, "node_modules/eslint": { - "version": "9.19.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.19.0.tgz", - "integrity": "sha512-ug92j0LepKlbbEv6hD911THhoRHmbdXt2gX+VDABAW/Ir7D3nqKdv5Pf5vtlyY6HQMTEP2skXY43ueqTCWssEA==", + "version": "9.24.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.24.0.tgz", + "integrity": "sha512-eh/jxIEJyZrvbWRe4XuVclLPDYSYYYgLy5zXGGxD6j8zjSAxFEzI2fL/8xNq6O2yKqVt+eF2YhV+hxjV6UKXwQ==", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.19.0", - "@eslint/core": "^0.10.0", - "@eslint/eslintrc": "^3.2.0", - "@eslint/js": "9.19.0", - "@eslint/plugin-kit": "^0.2.5", + "@eslint/config-array": "^0.20.0", + "@eslint/config-helpers": "^0.2.0", + "@eslint/core": "^0.12.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.24.0", + "@eslint/plugin-kit": "^0.2.7", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.1", + "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", "@types/json-schema": "^7.0.15", "ajv": "^6.12.4", @@ -4150,7 +4279,7 @@ "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.2.0", + "eslint-scope": "^8.3.0", "eslint-visitor-keys": "^4.2.0", "espree": "^10.3.0", "esquery": "^1.5.0", @@ -4191,6 +4320,7 @@ "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", "dev": true, + "license": "MIT", "bin": { "eslint-config-prettier": "bin/cli.js" }, @@ -4199,10 +4329,11 @@ } }, "node_modules/eslint-plugin-react": { - "version": "7.37.4", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.4.tgz", - "integrity": "sha512-BGP0jRmfYyvOyvMoRX/uoUeW+GqNj9y16bPQzqAHf3AYII/tDs+jMN0dBVkl88/OZwNGwrVFxE7riHsXVfy/LQ==", + "version": "7.37.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", + "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", "dev": true, + "license": "MIT", "dependencies": { "array-includes": "^3.1.8", "array.prototype.findlast": "^1.2.5", @@ -4214,7 +4345,7 @@ "hasown": "^2.0.2", "jsx-ast-utils": "^2.4.1 || ^3.0.0", "minimatch": "^3.1.2", - "object.entries": "^1.1.8", + "object.entries": "^1.1.9", "object.fromentries": "^2.0.8", "object.values": "^1.2.1", "prop-types": "^15.8.1", @@ -4231,10 +4362,11 @@ } }, "node_modules/eslint-plugin-react-compiler": { - "version": "19.0.0-beta-e552027-20250112", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-compiler/-/eslint-plugin-react-compiler-19.0.0-beta-e552027-20250112.tgz", - "integrity": "sha512-VjkIXHouCYyJHgk5HmZ1LH+fAK5CX+ULRX9iNYtwYJ+ljbivFhIT+JJyxNT/USQpCeS2Dt5ahjFeeMv0RRwTww==", + "version": "19.0.0-beta-e993439-20250405", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-compiler/-/eslint-plugin-react-compiler-19.0.0-beta-e993439-20250405.tgz", + "integrity": "sha512-8ZQU4qGc8NOfsM7u7tf7gXmZ+d4tSK+7BFb+Fvs4s9ItQ12m/G6ttSGxompH/Jq7nXgnJ20EqQRshwVG6GwUdA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/core": "^7.24.4", "@babel/parser": "^7.24.4", @@ -4251,10 +4383,11 @@ } }, "node_modules/eslint-scope": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz", - "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.3.0.tgz", + "integrity": "sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" @@ -4271,6 +4404,7 @@ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", "dev": true, + "license": "Apache-2.0", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, @@ -4278,34 +4412,12 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", - "dev": true, - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/eslint/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, "node_modules/espree": { "version": "10.3.0", "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "acorn": "^8.14.0", "acorn-jsx": "^5.3.2", @@ -4323,6 +4435,7 @@ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" }, @@ -4335,6 +4448,7 @@ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, @@ -4347,6 +4461,7 @@ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -4355,13 +4470,15 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" } @@ -4371,6 +4488,7 @@ "resolved": "https://registry.npmjs.org/ethereumjs-icap/-/ethereumjs-icap-0.3.2.tgz", "integrity": "sha512-7F8M8iKTFMOLTKCRHdm5dWjS0J1r/cgTlZ5zwgSCDy4hSAh6aLBrhYj0vAVRtUThs0ba3imfSlwtQ0Bit+VqRA==", "deprecated": "This library has been deprecated and is not maintained.", + "license": "MIT", "dependencies": { "base-x": "^3.0.0" } @@ -4379,13 +4497,15 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/execa": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", "dev": true, + "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^8.0.1", @@ -4405,11 +4525,15 @@ } }, "node_modules/extract-files": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/extract-files/-/extract-files-8.1.0.tgz", - "integrity": "sha512-PTGtfthZK79WUMk+avLmwx3NGdU8+iVFXC2NMGxKsn0MnihOG2lvumj+AZo8CTwTrwjXDgZ5tztbRlEdRjBonQ==", + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/extract-files/-/extract-files-13.0.0.tgz", + "integrity": "sha512-FXD+2Tsr8Iqtm3QZy1Zmwscca7Jx3mMC5Crr+sEP1I303Jy1CYMuYCm7hRTplFNg3XdUavErkxnTzpaqdSoi6g==", + "license": "MIT", + "dependencies": { + "is-plain-obj": "^4.1.0" + }, "engines": { - "node": "10 - 12 || >= 13.7" + "node": "^14.17.0 || ^16.0.0 || >= 18.0.0" }, "funding": { "url": "https://github.com/sponsors/jaydenseric" @@ -4418,18 +4542,22 @@ "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" }, "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fast-shallow-equal": { "version": "1.0.0", @@ -4439,13 +4567,15 @@ "node_modules/fastest-stable-stringify": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/fastest-stable-stringify/-/fastest-stable-stringify-2.0.2.tgz", - "integrity": "sha512-bijHueCGd0LqqNK9b5oCMHc0MluJAx0cwqASgbWMvkO01lCYgIhacVRLcaDz3QnyYIRNJRDwMb41VuT6pHJ91Q==" + "integrity": "sha512-bijHueCGd0LqqNK9b5oCMHc0MluJAx0cwqASgbWMvkO01lCYgIhacVRLcaDz3QnyYIRNJRDwMb41VuT6pHJ91Q==", + "license": "MIT" }, "node_modules/file-entry-cache": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", "dev": true, + "license": "MIT", "dependencies": { "flat-cache": "^4.0.0" }, @@ -4456,12 +4586,14 @@ "node_modules/file-saver": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.2.tgz", - "integrity": "sha512-Wz3c3XQ5xroCxd1G8b7yL0Ehkf0TC9oYC6buPFkNnU9EnaPlifeAFCyCh+iewXTyFRcg0a6j3J7FmJsIhlhBdw==" + "integrity": "sha512-Wz3c3XQ5xroCxd1G8b7yL0Ehkf0TC9oYC6buPFkNnU9EnaPlifeAFCyCh+iewXTyFRcg0a6j3J7FmJsIhlhBdw==", + "license": "MIT" }, "node_modules/file-selector": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/file-selector/-/file-selector-0.4.0.tgz", "integrity": "sha512-iACCiXeMYOvZqlF1kTiYINzgepRBymz1wwjiuup9u9nayhb6g4fSwiyJ/6adli+EPwrWtpgQAh2PoS7HukEGEg==", + "license": "MIT", "dependencies": { "tslib": "^2.0.3" }, @@ -4469,21 +4601,18 @@ "node": ">= 10" } }, - "node_modules/file-selector/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" - }, "node_modules/file-uri-to-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "license": "MIT" }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, + "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -4496,6 +4625,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -4512,6 +4642,7 @@ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", "dev": true, + "license": "MIT", "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.4" @@ -4521,27 +4652,18 @@ } }, "node_modules/flatted": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz", - "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==", - "dev": true - }, - "node_modules/follow-redirects": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", - "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", - "dependencies": { - "debug": "=3.1.0" - }, - "engines": { - "node": ">=4.0" - } + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true, + "license": "ISC" }, "node_modules/for-each": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.4.tgz", - "integrity": "sha512-kKaIINnFpzW6ffJNDjjyjrk21BkDx38c0xa/klsT8VzLCaMEefv4ZTacrcVR4DmgTeBra++jMDAfS/tS799YDw==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", "dev": true, + "license": "MIT", "dependencies": { "is-callable": "^1.2.7" }, @@ -4556,6 +4678,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/formik/-/formik-2.2.0.tgz", "integrity": "sha512-l47RfvejhfHNh8rTRVaCaPfx8nyeYDSTLaEqRvLX4qkWnrrq9ByGVCWggVR+0TVtzc5Ub1gLUuVu9UKuGwfhjA==", + "license": "Apache-2.0", "dependencies": { "deepmerge": "^2.1.1", "hoist-non-react-statics": "^3.3.0", @@ -4570,14 +4693,11 @@ "react": ">=16.8.0" } }, - "node_modules/formik/node_modules/scheduler": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.18.0.tgz", - "integrity": "sha512-agTSHR1Nbfi6ulI0kYNK0203joW2Y5W4po4l+v03tOoiJKpTBbxpNhWDvqc/4IcOw+KLmSiQLTasZ4cab2/UWQ==", - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } + "node_modules/formik/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" }, "node_modules/fsevents": { "version": "2.3.3", @@ -4585,6 +4705,7 @@ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, "hasInstallScript": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -4598,6 +4719,7 @@ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "dev": true, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -4607,6 +4729,7 @@ "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.3", @@ -4627,6 +4750,7 @@ "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", "dev": true, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -4636,6 +4760,7 @@ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -4645,6 +4770,7 @@ "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.3.0.tgz", "integrity": "sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" }, @@ -4653,17 +4779,18 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.7.tgz", - "integrity": "sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind-apply-helpers": "^1.0.1", + "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", + "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", - "get-proto": "^1.0.0", + "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-symbols": "^1.1.0", "hasown": "^2.0.2", @@ -4681,6 +4808,7 @@ "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", "dev": true, + "license": "MIT", "dependencies": { "dunder-proto": "^1.0.1", "es-object-atoms": "^1.0.0" @@ -4694,6 +4822,7 @@ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", "dev": true, + "license": "MIT", "engines": { "node": ">=16" }, @@ -4706,6 +4835,7 @@ "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", "dev": true, + "license": "MIT", "dependencies": { "call-bound": "^1.0.3", "es-errors": "^1.3.0", @@ -4723,6 +4853,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.3" }, @@ -4731,10 +4862,11 @@ } }, "node_modules/globals": { - "version": "15.14.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-15.14.0.tgz", - "integrity": "sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==", + "version": "15.15.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz", + "integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" }, @@ -4747,6 +4879,7 @@ "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", "dev": true, + "license": "MIT", "dependencies": { "define-properties": "^1.2.1", "gopd": "^1.0.1" @@ -4763,6 +4896,7 @@ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -4771,20 +4905,20 @@ } }, "node_modules/graphql": { - "version": "14.7.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-14.7.0.tgz", - "integrity": "sha512-l0xWZpoPKpppFzMfvVyFmp9vLN7w/ZZJPefUicMCepfJeQ8sMcztloGYY9DfjVPo6tIUDzU5Hw3MUbIjj9AVVA==", - "dependencies": { - "iterall": "^1.2.2" - }, + "version": "16.10.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.10.0.tgz", + "integrity": "sha512-AjqGKbDGUFRKIRCP9tCKiIGHyriz2oHEbPIbEtcSLSs4YjReZOIPQQWek4+6hjw62H9QShXHyaGivGiYVLeYFQ==", + "license": "MIT", + "peer": true, "engines": { - "node": ">= 6.x" + "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" } }, "node_modules/graphql-tag": { "version": "2.12.6", "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz", "integrity": "sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==", + "license": "MIT", "dependencies": { "tslib": "^2.1.0" }, @@ -4795,16 +4929,12 @@ "graphql": "^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" } }, - "node_modules/graphql-tag/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" - }, "node_modules/has-bigints": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -4817,6 +4947,7 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -4826,6 +4957,7 @@ "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dev": true, + "license": "MIT", "dependencies": { "es-define-property": "^1.0.0" }, @@ -4838,6 +4970,7 @@ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", "dev": true, + "license": "MIT", "dependencies": { "dunder-proto": "^1.0.0" }, @@ -4853,6 +4986,7 @@ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -4865,6 +4999,7 @@ "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "dev": true, + "license": "MIT", "dependencies": { "has-symbols": "^1.0.3" }, @@ -4879,6 +5014,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "license": "MIT", "dependencies": { "inherits": "^2.0.4", "readable-stream": "^3.6.0", @@ -4888,20 +5024,48 @@ "node": ">=4" } }, + "node_modules/hash-base/node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/hash-base/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/hash.js": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "minimalistic-assert": "^1.0.1" } }, + "node_modules/hash.js/node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, "node_modules/hasown": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dev": true, + "license": "MIT", "dependencies": { "function-bind": "^1.1.2" }, @@ -4913,13 +5077,15 @@ "version": "0.25.1", "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz", "integrity": "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/hermes-parser": { "version": "0.25.1", "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.25.1.tgz", "integrity": "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==", "dev": true, + "license": "MIT", "dependencies": { "hermes-estree": "0.25.1" } @@ -4928,6 +5094,7 @@ "version": "4.10.1", "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.1.2", "loose-envify": "^1.2.0", @@ -4941,6 +5108,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "license": "MIT", "dependencies": { "hash.js": "^1.0.3", "minimalistic-assert": "^1.0.0", @@ -4951,6 +5119,7 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "license": "BSD-3-Clause", "dependencies": { "react-is": "^16.7.0" } @@ -4958,13 +5127,15 @@ "node_modules/hoist-non-react-statics/node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" }, "node_modules/human-signals": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=16.17.0" } @@ -4972,12 +5143,14 @@ "node_modules/hyphenate-style-name": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.1.0.tgz", - "integrity": "sha512-WDC/ui2VVRrz3jOVi+XtjqkDjiVjTtFaAGiW37k6b+ohyQ5wYDOGkvCZa8+H0nx3gyvv0+BST9xuOgIyGQ00gw==" + "integrity": "sha512-WDC/ui2VVRrz3jOVi+XtjqkDjiVjTtFaAGiW37k6b+ohyQ5wYDOGkvCZa8+H0nx3gyvv0+BST9xuOgIyGQ00gw==", + "license": "BSD-3-Clause" }, "node_modules/iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -5002,13 +5175,15 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "BSD-3-Clause" }, "node_modules/ignore": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } @@ -5016,13 +5191,15 @@ "node_modules/immediate": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==" + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==", + "license": "MIT" }, "node_modules/import-fresh": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", "dev": true, + "license": "MIT", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -5039,19 +5216,22 @@ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.19" } }, "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", + "license": "ISC" }, "node_modules/inline-style-prefixer": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/inline-style-prefixer/-/inline-style-prefixer-7.0.1.tgz", "integrity": "sha512-lhYo5qNTQp3EvSSp3sRvXMbVQTLrvGV6DycRMJ5dm2BLMiJ30wpXKdDdgX+GmJZ5uQMucwRKHamXSst3Sj/Giw==", + "license": "MIT", "dependencies": { "css-in-js-utils": "^3.1.0" } @@ -5061,6 +5241,7 @@ "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", "dev": true, + "license": "MIT", "dependencies": { "es-errors": "^1.3.0", "hasown": "^2.0.2", @@ -5073,13 +5254,15 @@ "node_modules/internmap": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz", - "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==" + "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==", + "license": "ISC" }, "node_modules/is-array-buffer": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.3", @@ -5096,13 +5279,15 @@ "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/is-async-function": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", "dev": true, + "license": "MIT", "dependencies": { "async-function": "^1.0.0", "call-bound": "^1.0.3", @@ -5122,6 +5307,7 @@ "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", "dev": true, + "license": "MIT", "dependencies": { "has-bigints": "^1.0.2" }, @@ -5133,12 +5319,13 @@ } }, "node_modules/is-boolean-object": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.1.tgz", - "integrity": "sha512-l9qO6eFlUETHtuihLcYOaLKByJ1f+N4kthcU9YjHy3N+B3hWv0y/2Nd0mu/7lTFnRQHTrSdXF50HQ3bl5fEnng==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", + "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", "dev": true, + "license": "MIT", "dependencies": { - "call-bound": "^1.0.2", + "call-bound": "^1.0.3", "has-tostringtag": "^1.0.2" }, "engines": { @@ -5153,6 +5340,7 @@ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -5165,6 +5353,7 @@ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", "dev": true, + "license": "MIT", "dependencies": { "hasown": "^2.0.2" }, @@ -5180,6 +5369,7 @@ "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", "dev": true, + "license": "MIT", "dependencies": { "call-bound": "^1.0.2", "get-intrinsic": "^1.2.6", @@ -5197,6 +5387,7 @@ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", "dev": true, + "license": "MIT", "dependencies": { "call-bound": "^1.0.2", "has-tostringtag": "^1.0.2" @@ -5213,6 +5404,7 @@ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -5222,6 +5414,7 @@ "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", "dev": true, + "license": "MIT", "dependencies": { "call-bound": "^1.0.3" }, @@ -5236,6 +5429,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "license": "MIT", "engines": { "node": ">=0.10.0" }, @@ -5248,6 +5442,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -5260,6 +5455,7 @@ "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bound": "^1.0.3", "get-proto": "^1.0.0", @@ -5278,6 +5474,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, + "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -5288,13 +5485,15 @@ "node_modules/is-in-browser": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz", - "integrity": "sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g==" + "integrity": "sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g==", + "license": "MIT" }, "node_modules/is-map": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -5307,6 +5506,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.12.0" } @@ -5316,6 +5516,7 @@ "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", "dev": true, + "license": "MIT", "dependencies": { "call-bound": "^1.0.3", "has-tostringtag": "^1.0.2" @@ -5327,11 +5528,24 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-regex": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", "dev": true, + "license": "MIT", "dependencies": { "call-bound": "^1.0.2", "gopd": "^1.2.0", @@ -5350,6 +5564,7 @@ "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -5362,6 +5577,7 @@ "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", "dev": true, + "license": "MIT", "dependencies": { "call-bound": "^1.0.3" }, @@ -5377,6 +5593,7 @@ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", "dev": true, + "license": "MIT", "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, @@ -5389,6 +5606,7 @@ "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", "dev": true, + "license": "MIT", "dependencies": { "call-bound": "^1.0.3", "has-tostringtag": "^1.0.2" @@ -5405,6 +5623,7 @@ "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", "dev": true, + "license": "MIT", "dependencies": { "call-bound": "^1.0.2", "has-symbols": "^1.1.0", @@ -5422,6 +5641,7 @@ "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", "dev": true, + "license": "MIT", "dependencies": { "which-typed-array": "^1.1.16" }, @@ -5437,6 +5657,7 @@ "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -5445,12 +5666,13 @@ } }, "node_modules/is-weakref": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.0.tgz", - "integrity": "sha512-SXM8Nwyys6nT5WP6pltOwKytLV7FqQ4UiibxVmW+EIosHcmCqkkjViTb5SNssDlkCiEYRP1/pdWUKVvZBmsR2Q==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", + "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", "dev": true, + "license": "MIT", "dependencies": { - "call-bound": "^1.0.2" + "call-bound": "^1.0.3" }, "engines": { "node": ">= 0.4" @@ -5464,6 +5686,7 @@ "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bound": "^1.0.3", "get-intrinsic": "^1.2.6" @@ -5476,26 +5699,24 @@ } }, "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "license": "MIT" }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/iterall": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.3.0.tgz", - "integrity": "sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg==" + "dev": true, + "license": "ISC" }, "node_modules/iterator.prototype": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", "dev": true, + "license": "MIT", "dependencies": { "define-data-property": "^1.1.4", "es-object-atoms": "^1.0.0", @@ -5511,23 +5732,27 @@ "node_modules/js-cookie": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.1.tgz", - "integrity": "sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==" + "integrity": "sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==", + "license": "MIT" }, "node_modules/js-sha256": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/js-sha256/-/js-sha256-0.9.0.tgz", - "integrity": "sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==" + "integrity": "sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==", + "license": "MIT" }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" }, "node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, + "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -5540,6 +5765,7 @@ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", "dev": true, + "license": "MIT", "bin": { "jsesc": "bin/jsesc" }, @@ -5551,31 +5777,36 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, + "license": "MIT", "bin": { "json5": "lib/cli.js" }, @@ -5587,6 +5818,7 @@ "version": "10.10.0", "resolved": "https://registry.npmjs.org/jss/-/jss-10.10.0.tgz", "integrity": "sha512-cqsOTS7jqPsPMjtKYDUpdFC0AbhYFLTcuGRqymgmdJIeQ8cH7+AgX7YSgQy79wXloZq2VvATYxUOUQEvS1V/Zw==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.3.1", "csstype": "^3.0.2", @@ -5602,6 +5834,7 @@ "version": "10.10.0", "resolved": "https://registry.npmjs.org/jss-plugin-camel-case/-/jss-plugin-camel-case-10.10.0.tgz", "integrity": "sha512-z+HETfj5IYgFxh1wJnUAU8jByI48ED+v0fuTuhKrPR+pRBYS2EDwbusU8aFOpCdYhtRc9zhN+PJ7iNE8pAWyPw==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.3.1", "hyphenate-style-name": "^1.0.3", @@ -5612,6 +5845,7 @@ "version": "10.10.0", "resolved": "https://registry.npmjs.org/jss-plugin-default-unit/-/jss-plugin-default-unit-10.10.0.tgz", "integrity": "sha512-SvpajxIECi4JDUbGLefvNckmI+c2VWmP43qnEy/0eiwzRUsafg5DVSIWSzZe4d2vFX1u9nRDP46WCFV/PXVBGQ==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.3.1", "jss": "10.10.0" @@ -5621,6 +5855,7 @@ "version": "10.10.0", "resolved": "https://registry.npmjs.org/jss-plugin-extend/-/jss-plugin-extend-10.10.0.tgz", "integrity": "sha512-sKYrcMfr4xxigmIwqTjxNcHwXJIfvhvjTNxF+Tbc1NmNdyspGW47Ey6sGH8BcQ4FFQhLXctpWCQSpDwdNmXSwg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.3.1", "jss": "10.10.0", @@ -5631,6 +5866,7 @@ "version": "10.10.0", "resolved": "https://registry.npmjs.org/jss-plugin-global/-/jss-plugin-global-10.10.0.tgz", "integrity": "sha512-icXEYbMufiNuWfuazLeN+BNJO16Ge88OcXU5ZDC2vLqElmMybA31Wi7lZ3lf+vgufRocvPj8443irhYRgWxP+A==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.3.1", "jss": "10.10.0" @@ -5640,6 +5876,7 @@ "version": "10.10.0", "resolved": "https://registry.npmjs.org/jss-plugin-nested/-/jss-plugin-nested-10.10.0.tgz", "integrity": "sha512-9R4JHxxGgiZhurDo3q7LdIiDEgtA1bTGzAbhSPyIOWb7ZubrjQe8acwhEQ6OEKydzpl8XHMtTnEwHXCARLYqYA==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.3.1", "jss": "10.10.0", @@ -5650,6 +5887,7 @@ "version": "10.10.0", "resolved": "https://registry.npmjs.org/jss-plugin-props-sort/-/jss-plugin-props-sort-10.10.0.tgz", "integrity": "sha512-5VNJvQJbnq/vRfje6uZLe/FyaOpzP/IH1LP+0fr88QamVrGJa0hpRRyAa0ea4U/3LcorJfBFVyC4yN2QC73lJg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.3.1", "jss": "10.10.0" @@ -5659,6 +5897,7 @@ "version": "10.10.0", "resolved": "https://registry.npmjs.org/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.10.0.tgz", "integrity": "sha512-uEFJFgaCtkXeIPgki8ICw3Y7VMkL9GEan6SqmT9tqpwM+/t+hxfMUdU4wQ0MtOiMNWhwnckBV0IebrKcZM9C0g==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.3.1", "jss": "10.10.0", @@ -5669,6 +5908,7 @@ "version": "10.10.0", "resolved": "https://registry.npmjs.org/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.10.0.tgz", "integrity": "sha512-UY/41WumgjW8r1qMCO8l1ARg7NHnfRVWRhZ2E2m0DMYsr2DD91qIXLyNhiX83hHswR7Wm4D+oDYNC1zWCJWtqg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.3.1", "css-vendor": "^2.0.8", @@ -5678,13 +5918,15 @@ "node_modules/jss/node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" }, "node_modules/jsx-ast-utils": { "version": "3.3.5", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", "dev": true, + "license": "MIT", "dependencies": { "array-includes": "^3.1.6", "array.prototype.flat": "^1.3.1", @@ -5699,6 +5941,7 @@ "version": "3.10.1", "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", + "license": "(MIT OR GPL-3.0-or-later)", "dependencies": { "lie": "~3.3.0", "pako": "~1.0.2", @@ -5706,38 +5949,12 @@ "setimmediate": "^1.0.5" } }, - "node_modules/jszip/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/jszip/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/jszip/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/keccak": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.4.tgz", "integrity": "sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==", "hasInstallScript": true, + "license": "MIT", "dependencies": { "node-addon-api": "^2.0.0", "node-gyp-build": "^4.2.0", @@ -5747,10 +5964,31 @@ "node": ">=10.0.0" } }, + "node_modules/keccak/node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/keccak/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/keccak256": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/keccak256/-/keccak256-1.0.6.tgz", "integrity": "sha512-8GLiM01PkdJVGUhR1e6M/AvWnSqYS0HaERI+K/QtStGDGlSTx2B1zTqZk4Zlqu5TxHJNTxWAdP9Y+WI50OApUw==", + "license": "MIT", "dependencies": { "bn.js": "^5.2.0", "buffer": "^6.0.3", @@ -5760,13 +5998,15 @@ "node_modules/keccak256/node_modules/bn.js": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "license": "MIT" }, "node_modules/keyv": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, + "license": "MIT", "dependencies": { "json-buffer": "3.0.1" } @@ -5776,6 +6016,7 @@ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -5785,14 +6026,16 @@ } }, "node_modules/libphonenumber-js": { - "version": "1.11.19", - "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.11.19.tgz", - "integrity": "sha512-bW/Yp/9dod6fmyR+XqSUL1N5JE7QRxQ3KrBIbYS1FTv32e5i3SEtQVX+71CYNv8maWNSOgnlCoNp9X78f/cKiA==" + "version": "1.12.6", + "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.12.6.tgz", + "integrity": "sha512-PJiS4ETaUfCOFLpmtKzAbqZQjCCKVu2OhTV4SVNNE7c2nu/dACvtCqj4L0i/KWNnIgRv7yrILvBj5Lonv5Ncxw==", + "license": "MIT" }, "node_modules/lie": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "license": "MIT", "dependencies": { "immediate": "~3.0.5" } @@ -5802,6 +6045,7 @@ "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", "dev": true, + "license": "MIT", "engines": { "node": ">=14" }, @@ -5813,13 +6057,15 @@ "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lint-staged": { - "version": "15.4.3", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.4.3.tgz", - "integrity": "sha512-FoH1vOeouNh1pw+90S+cnuoFwRfUD9ijY2GKy5h7HS3OR7JVir2N2xrsa0+Twc1B7cW72L+88geG5cW4wIhn7g==", + "version": "15.5.0", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.5.0.tgz", + "integrity": "sha512-WyCzSbfYGhK7cU+UuDDkzUiytbfbi0ZdPy2orwtM75P3WTtQBzmG40cCxIa8Ii2+XjfxzLH6Be46tUfWS85Xfg==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^5.4.1", "commander": "^13.1.0", @@ -5847,6 +6093,7 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", "dev": true, + "license": "MIT", "engines": { "node": "^12.17.0 || ^14.13 || >=16.0.0" }, @@ -5859,38 +6106,17 @@ "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz", "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" } }, - "node_modules/lint-staged/node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", - "dev": true, - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/lint-staged/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, "node_modules/listr2": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.2.5.tgz", - "integrity": "sha512-iyAZCeyD+c1gPyE9qpFu8af0Y+MRtmKOncdGoA2S5EY8iFq99dmmvkNnHiWo+pj0s7yH7l3KPIgee77tKpXPWQ==", + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.3.2.tgz", + "integrity": "sha512-vsBzcU4oE+v0lj4FhVLzr9dBTv4/fHIa57l+GCwovP8MoFNZJTOhGU8PXd4v2VJCbECAaijBiHntiekFMLvo0g==", "dev": true, + "license": "MIT", "dependencies": { "cli-truncate": "^4.0.0", "colorette": "^2.0.20", @@ -5908,6 +6134,7 @@ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^5.0.0" }, @@ -5921,24 +6148,28 @@ "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" }, "node_modules/lodash-es": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", - "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "license": "MIT" }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/log-update": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", "dev": true, + "license": "MIT", "dependencies": { "ansi-escapes": "^7.0.0", "cli-cursor": "^5.0.0", @@ -5958,6 +6189,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -5970,6 +6202,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", "dev": true, + "license": "MIT", "dependencies": { "get-east-asian-width": "^1.0.0" }, @@ -5985,6 +6218,7 @@ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^6.2.1", "is-fullwidth-code-point": "^5.0.0" @@ -6000,6 +6234,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, @@ -6012,21 +6247,17 @@ "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", "dev": true, + "license": "MIT", "dependencies": { "tslib": "^2.0.3" } }, - "node_modules/lower-case/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "dev": true - }, "node_modules/lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, + "license": "ISC", "dependencies": { "yallist": "^3.0.2" } @@ -6035,6 +6266,7 @@ "version": "4.2.1", "resolved": "https://registry.npmjs.org/match-sorter/-/match-sorter-4.2.1.tgz", "integrity": "sha512-s+3h9TiZU9U1pWhIERHf8/f4LmBN6IXaRgo2CI17+XGByGS1GvG5VvXK9pcGyCjGe3WM3mSYRC3ipGrd5UEVgw==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.10.5", "remove-accents": "0.4.2" @@ -6045,6 +6277,7 @@ "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" } @@ -6053,6 +6286,7 @@ "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "license": "MIT", "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1", @@ -6062,24 +6296,28 @@ "node_modules/mdn-data": { "version": "2.0.14", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "license": "CC0-1.0" }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/merkle-lib": { "version": "2.0.10", "resolved": "https://registry.npmjs.org/merkle-lib/-/merkle-lib-2.0.10.tgz", - "integrity": "sha512-XrNQvUbn1DL5hKNe46Ccs+Tu3/PYOlrcZILuGUhb95oKBPjc/nmIC8D462PQkipVDGKRvwhn+QFg2cCdIvmDJA==" + "integrity": "sha512-XrNQvUbn1DL5hKNe46Ccs+Tu3/PYOlrcZILuGUhb95oKBPjc/nmIC8D462PQkipVDGKRvwhn+QFg2cCdIvmDJA==", + "license": "MIT" }, "node_modules/micromatch": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, + "license": "MIT", "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" @@ -6093,6 +6331,7 @@ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -6105,6 +6344,7 @@ "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" }, @@ -6117,6 +6357,7 @@ "resolved": "https://registry.npmjs.org/mini-create-react-context/-/mini-create-react-context-0.3.3.tgz", "integrity": "sha512-TtF6hZE59SGmS4U8529qB+jJFeW6asTLDIpPgvPLSCsooAwJS7QprHIFTqv9/Qh3NdLwQxFYgiHX5lqb6jqzPA==", "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.12.1", "tiny-warning": "^1.0.3" @@ -6129,18 +6370,21 @@ "node_modules/minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "license": "ISC" }, "node_modules/minimalistic-crypto-utils": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", + "license": "MIT" }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -6149,19 +6393,23 @@ } }, "node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" }, "node_modules/nan": { - "version": "2.22.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.22.0.tgz", - "integrity": "sha512-nbajikzWTMwsW+eSsNm3QwlOs7het9gGJU5dDZzRTQGk03vyBOauxgI4VakDzE0PtsGTmXPsXTbbjVhRwR5mpw==" + "version": "2.22.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.22.2.tgz", + "integrity": "sha512-DANghxFkS1plDdRsX0X9pm0Z6SJNN6gBdtXfanwoZ8hooC5gosGFSBGRYHUVPz1asKA/kMRqDRdHrluZ61SpBQ==", + "license": "MIT" }, "node_modules/nano-css": { "version": "5.6.2", "resolved": "https://registry.npmjs.org/nano-css/-/nano-css-5.6.2.tgz", "integrity": "sha512-+6bHaC8dSDGALM1HJjOHVXpuastdu2xFoZlC77Jh4cg+33Zcgm+Gxd+1xsnpZK14eyHObSp82+ll5y3SX75liw==", + "license": "Unlicense", "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15", "css-tree": "^1.1.2", @@ -6180,12 +6428,13 @@ "node_modules/nano-css/node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" }, "node_modules/nanoid": { - "version": "3.3.8", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", - "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", "dev": true, "funding": [ { @@ -6193,6 +6442,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -6204,33 +6454,31 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/no-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", "dev": true, + "license": "MIT", "dependencies": { "lower-case": "^2.0.2", "tslib": "^2.0.3" } }, - "node_modules/no-case/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "dev": true - }, "node_modules/node-addon-api": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", - "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" + "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==", + "license": "MIT" }, "node_modules/node-gyp-build": { "version": "4.8.4", "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz", "integrity": "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==", + "license": "MIT", "bin": { "node-gyp-build": "bin.js", "node-gyp-build-optional": "optional.js", @@ -6241,13 +6489,15 @@ "version": "2.0.19", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/npm-run-path": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^4.0.0" }, @@ -6263,6 +6513,7 @@ "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -6274,15 +6525,17 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/object-inspect": { - "version": "1.13.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz", - "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==", + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -6295,6 +6548,7 @@ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" } @@ -6304,6 +6558,7 @@ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.3", @@ -6320,14 +6575,16 @@ } }, "node_modules/object.entries": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", - "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", + "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" + "es-object-atoms": "^1.1.1" }, "engines": { "node": ">= 0.4" @@ -6338,6 +6595,7 @@ "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -6356,6 +6614,7 @@ "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.3", @@ -6374,6 +6633,7 @@ "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "dev": true, + "license": "MIT", "dependencies": { "mimic-fn": "^4.0.0" }, @@ -6385,11 +6645,15 @@ } }, "node_modules/optimism": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/optimism/-/optimism-0.10.3.tgz", - "integrity": "sha512-9A5pqGoQk49H6Vhjb9kPgAeeECfUDF6aIICbMDL23kDLStBn1MWk3YvcZ4xWF9CsSf6XEgvRLkXy4xof/56vVw==", + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/optimism/-/optimism-0.18.1.tgz", + "integrity": "sha512-mLXNwWPa9dgFyDqkNi54sjDyNJ9/fTI6WGBLgnXku1vdKY/jovHfZT5r+aiVeFFLOz+foPNOm5YJ4mqgld2GBQ==", + "license": "MIT", "dependencies": { - "@wry/context": "^0.4.0" + "@wry/caches": "^1.0.0", + "@wry/context": "^0.7.0", + "@wry/trie": "^0.5.0", + "tslib": "^2.3.0" } }, "node_modules/optionator": { @@ -6397,6 +6661,7 @@ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, + "license": "MIT", "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", @@ -6414,6 +6679,7 @@ "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", "dev": true, + "license": "MIT", "dependencies": { "get-intrinsic": "^1.2.6", "object-keys": "^1.1.1", @@ -6431,6 +6697,7 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, + "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -6446,6 +6713,7 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^3.0.2" }, @@ -6459,13 +6727,15 @@ "node_modules/pako": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "license": "(MIT AND Zlib)" }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, + "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -6478,6 +6748,7 @@ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -6495,6 +6766,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-1.0.1.tgz", "integrity": "sha512-LpH1Cf5EYuVjkBvCDBYvkUPh+iv2bk3FHflxHkpCYT0/FZ1d3N3uJaLiHr4yGuMcFUhv6eAivitTvWZI4B/chg==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -6504,6 +6776,7 @@ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -6513,6 +6786,7 @@ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -6521,26 +6795,24 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/path-to-regexp": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz", "integrity": "sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==", + "license": "MIT", "dependencies": { "isarray": "0.0.1" } }, - "node_modules/path-to-regexp/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" - }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -6549,13 +6821,15 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8.6" }, @@ -6568,6 +6842,7 @@ "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", "dev": true, + "license": "MIT", "bin": { "pidtree": "bin/pidtree.js" }, @@ -6579,6 +6854,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/plur/-/plur-1.0.0.tgz", "integrity": "sha512-qSnKBSZeDY8ApxwhfVIwKwF36KVJqb1/9nzYYq3j3vdwocULCXT8f8fQGkiw1Nk9BGfxiDagEe/pwakA+bOBqw==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -6586,21 +6862,23 @@ "node_modules/popper.js": { "version": "1.16.1-lts", "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1-lts.tgz", - "integrity": "sha512-Kjw8nKRl1m+VrSFCoVGPph93W/qrSO7ZkqPpTf7F4bk/sqcfWK019dWBUpE/fBOsOQY1dks/Bmcbfn1heM/IsA==" + "integrity": "sha512-Kjw8nKRl1m+VrSFCoVGPph93W/qrSO7ZkqPpTf7F4bk/sqcfWK019dWBUpE/fBOsOQY1dks/Bmcbfn1heM/IsA==", + "license": "MIT" }, "node_modules/possible-typed-array-names": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", - "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" } }, "node_modules/postcss": { - "version": "8.5.1", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.1.tgz", - "integrity": "sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==", + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", + "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", "dev": true, "funding": [ { @@ -6616,6 +6894,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "nanoid": "^3.3.8", "picocolors": "^1.1.1", @@ -6630,6 +6909,7 @@ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8.0" } @@ -6639,6 +6919,7 @@ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.4.1.tgz", "integrity": "sha512-G+YdqtITVZmOJje6QkXQWzl3fSfMxFwm1tjTyo9exhkmWSqC4Yhd1+lug++IlR2mvRVAxEDDWYkQdeSztajqgg==", "dev": true, + "license": "MIT", "bin": { "prettier": "bin/prettier.cjs" }, @@ -6653,6 +6934,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-2.1.0.tgz", "integrity": "sha512-H2enpsxzDhuzRl3zeSQpQMirn8dB0Z/gxW96j06tMfTviUWvX14gjKb7qd1gtkUyYhDPuoNe00K5PqNvy2oQNg==", + "license": "MIT", "dependencies": { "is-finite": "^1.0.1", "parse-ms": "^1.0.0", @@ -6665,12 +6947,14 @@ "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "license": "MIT" }, "node_modules/prop-types": { "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", @@ -6680,18 +6964,21 @@ "node_modules/prop-types/node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" }, "node_modules/property-expr": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/property-expr/-/property-expr-2.0.6.tgz", - "integrity": "sha512-SVtmxhRE/CGkn3eZY1T6pC8Nln6Fr/lu1mKSgRud0eC73whjGfoAogbn78LkD8aFL0zz3bAFerKSnOl7NlErBA==" + "integrity": "sha512-SVtmxhRE/CGkn3eZY1T6pC8Nln6Fr/lu1mKSgRud0eC73whjGfoAogbn78LkD8aFL0zz3bAFerKSnOl7NlErBA==", + "license": "MIT" }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -6700,6 +6987,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/pushdata-bitcoin/-/pushdata-bitcoin-1.0.1.tgz", "integrity": "sha512-hw7rcYTJRAl4olM8Owe8x0fBuJJ+WGbMhQuLWOXEMN3PxPCKQHRkhfL+XG0+iXUmSHjkMmb3Ba55Mt21cZc9kQ==", + "license": "MIT", "dependencies": { "bitcoin-ops": "^1.3.0" } @@ -6707,12 +6995,14 @@ "node_modules/qr.js": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/qr.js/-/qr.js-0.0.0.tgz", - "integrity": "sha512-c4iYnWb+k2E+vYpRimHqSu575b1/wKl4XFeJGpFmrJQz5I88v9aY2czh7s0w36srfCM1sXgC/xpoJz5dJfq+OQ==" + "integrity": "sha512-c4iYnWb+k2E+vYpRimHqSu575b1/wKl4XFeJGpFmrJQz5I88v9aY2czh7s0w36srfCM1sXgC/xpoJz5dJfq+OQ==", + "license": "MIT" }, "node_modules/qrcode.react": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/qrcode.react/-/qrcode.react-0.9.3.tgz", "integrity": "sha512-gGd30Ez7cmrKxyN2M3nueaNLk/f9J7NDRgaD5fVgxGpPLsYGWMn9UQ+XnDpv95cfszTQTdaf4QGLNMf3xU0hmw==", + "license": "ISC", "dependencies": { "prop-types": "^15.6.0", "qr.js": "0.0.0" @@ -6724,12 +7014,14 @@ "node_modules/ramda": { "version": "0.26.1", "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.26.1.tgz", - "integrity": "sha512-hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ==" + "integrity": "sha512-hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ==", + "license": "MIT" }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "license": "MIT", "dependencies": { "safe-buffer": "^5.1.0" } @@ -6738,6 +7030,7 @@ "version": "16.14.0", "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", @@ -6751,6 +7044,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/react-copy-to-clipboard/-/react-copy-to-clipboard-5.1.0.tgz", "integrity": "sha512-k61RsNgAayIJNoy9yDsYzDe/yAZAzEbEgcz3DZMhF686LEyukcE1hzurxe85JandPUG+yTfGVFzuEw3xt8WP/A==", + "license": "MIT", "dependencies": { "copy-to-clipboard": "^3.3.1", "prop-types": "^15.8.1" @@ -6763,6 +7057,7 @@ "version": "16.14.0", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", @@ -6773,10 +7068,21 @@ "react": "^16.14.0" } }, + "node_modules/react-dom/node_modules/scheduler": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", + "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, "node_modules/react-dropzone": { "version": "11.7.1", "resolved": "https://registry.npmjs.org/react-dropzone/-/react-dropzone-11.7.1.tgz", "integrity": "sha512-zxCMwhfPy1olUEbw3FLNPLhAm/HnaYH5aELIEglRbqabizKAdHs0h+WuyOpmA+v1JXn0++fpQDdNfUagWt5hJQ==", + "license": "MIT", "dependencies": { "attr-accept": "^2.2.2", "file-selector": "^0.4.0", @@ -6792,22 +7098,26 @@ "node_modules/react-fast-compare": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-2.0.4.tgz", - "integrity": "sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw==" + "integrity": "sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw==", + "license": "MIT" }, "node_modules/react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "license": "MIT" }, "node_modules/react-lifecycles-compat": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", - "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==", + "license": "MIT" }, "node_modules/react-material-ui-carousel": { "version": "2.3.11", "resolved": "https://registry.npmjs.org/react-material-ui-carousel/-/react-material-ui-carousel-2.3.11.tgz", "integrity": "sha512-rsD9D2JLDBTfinaPy1+hcb7gunfdX7jmga7xESfRCCtLXzokOrkhmx4qMd8dZmYY42zc/HbYqLqg9E/d187lbw==", + "license": "MIT", "dependencies": { "auto-bind": "^2.1.1", "react-swipeable": "^6.1.0" @@ -6823,6 +7133,7 @@ "version": "4.9.4", "resolved": "https://registry.npmjs.org/react-number-format/-/react-number-format-4.9.4.tgz", "integrity": "sha512-Gq20Z3ugqPLFgeaidnx5on9cNpbQZntPN3QgNAL/WJrNNlQnNznY0LCx7g8xtssmRBw0/hw+SCqw6zAcajooiA==", + "license": "MIT", "dependencies": { "prop-types": "^15.7.2" }, @@ -6835,6 +7146,7 @@ "version": "2.4.0", "resolved": "https://registry.npmjs.org/react-otp-input/-/react-otp-input-2.4.0.tgz", "integrity": "sha512-AIgl7u4sS9BTNCxX1xlaS5fPWay/Zml8Ho5LszXZKXrH1C/TiFsTQGmtl13UecQYO3mSF3HUzG2rrDf0sjEFmg==", + "license": "MIT", "peerDependencies": { "react": "^16.2.0", "react-dom": "^16.2.0" @@ -6844,6 +7156,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.1.2.tgz", "integrity": "sha512-yjEuMFy1ONK246B+rsa0cUam5OeAQ8pyclRDgpxuSCrAlJ1qN9uZ5IgyKC7gQg0w8OM50NXHEegPh/ks9YuR2A==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.1.2", "history": "^4.9.0", @@ -6864,6 +7177,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.1.2.tgz", "integrity": "sha512-7BPHAaIwWpZS074UKaw1FjVdZBSVWEk8IuDXdB+OkLb8vd/WRQIpA4ag9WQk61aEfQs47wHyjWUoUGGZxpQXew==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.1.2", "history": "^4.9.0", @@ -6880,12 +7194,14 @@ "node_modules/react-router/node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" }, "node_modules/react-swipeable": { "version": "6.2.2", "resolved": "https://registry.npmjs.org/react-swipeable/-/react-swipeable-6.2.2.tgz", "integrity": "sha512-Oz7nSFrssvq2yvy05aNL3F+yBUqSvLsK6x1mu+rQFOpMdQVnt4izKt1vyjvvTb70q6GQOaSpaB6qniROW2MAzQ==", + "license": "MIT", "peerDependencies": { "react": "^16.8.3 || ^17 || ^18" } @@ -6894,6 +7210,7 @@ "version": "4.4.5", "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", + "license": "BSD-3-Clause", "dependencies": { "@babel/runtime": "^7.5.5", "dom-helpers": "^5.0.1", @@ -6918,6 +7235,7 @@ "version": "15.3.2", "resolved": "https://registry.npmjs.org/react-use/-/react-use-15.3.2.tgz", "integrity": "sha512-DAbc+pVedZC4P5rLBKdIvTTB03+4T/pR6jZ2pKQPgqfq4UC1Oymmbehon5z8XXSUgZs0tgIvbBzVEdiWMS9k+g==", + "license": "Unlicense", "dependencies": { "@types/js-cookie": "2.2.6", "@xobotyi/scrollbar-width": "1.9.5", @@ -6939,15 +7257,11 @@ "react-dom": "^16.8.0" } }, - "node_modules/react-use/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" - }, "node_modules/react-virtualized": { "version": "9.22.6", "resolved": "https://registry.npmjs.org/react-virtualized/-/react-virtualized-9.22.6.tgz", "integrity": "sha512-U5j7KuUQt3AaMatlMJ0UJddqSiX+Km0YJxSqbAzIiGw5EmNz0khMyqP2hzgu4+QUtm+QPIrxzUX4raJxmVJnHg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.7.2", "clsx": "^1.0.4", @@ -6962,23 +7276,44 @@ } }, "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, + "node_modules/readable-stream/node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/readable-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" + }, + "node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, "node_modules/reflect.getprototypeof": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.8", "define-properties": "^1.2.1", @@ -6999,13 +7334,15 @@ "node_modules/regenerator-runtime": { "version": "0.14.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "license": "MIT" }, "node_modules/regexp.prototype.flags": { "version": "1.5.4", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.8", "define-properties": "^1.2.1", @@ -7021,21 +7358,42 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/rehackt": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/rehackt/-/rehackt-0.1.0.tgz", + "integrity": "sha512-7kRDOuLHB87D/JESKxQoRwv4DzbIdwkAGQ7p6QKGdVlY1IZheUnVhlk/4UZlNUVxdAXpyxikE3URsG067ybVzw==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "*" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "react": { + "optional": true + } + } + }, "node_modules/remove-accents": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/remove-accents/-/remove-accents-0.4.2.tgz", - "integrity": "sha512-7pXIJqJOq5tFgG1A2Zxti3Ht8jJF337m4sowbuHsW30ZnkQFnDzy9qBNhgzX8ZLW4+UBcXiiR7SwR6pokHsxiA==" + "integrity": "sha512-7pXIJqJOq5tFgG1A2Zxti3Ht8jJF337m4sowbuHsW30ZnkQFnDzy9qBNhgzX8ZLW4+UBcXiiR7SwR6pokHsxiA==", + "license": "MIT" }, "node_modules/resize-observer-polyfill": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", - "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==", + "license": "MIT" }, "node_modules/resolve": { "version": "2.0.0-next.5", "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", "dev": true, + "license": "MIT", "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", @@ -7053,6 +7411,7 @@ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } @@ -7060,13 +7419,15 @@ "node_modules/resolve-pathname": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", - "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" + "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==", + "license": "MIT" }, "node_modules/restore-cursor": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", "dev": true, + "license": "MIT", "dependencies": { "onetime": "^7.0.0", "signal-exit": "^4.1.0" @@ -7083,6 +7444,7 @@ "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", "dev": true, + "license": "MIT", "dependencies": { "mimic-function": "^5.0.0" }, @@ -7097,24 +7459,27 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/ripemd160": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "license": "MIT", "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1" } }, "node_modules/rollup": { - "version": "4.34.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.34.0.tgz", - "integrity": "sha512-+4C/cgJ9w6sudisA0nZz0+O7lTP9a3CzNLsoDwaRumM8QHwghUsu6tqHXiTmNUp/rqNiM14++7dkzHDyCRs0Jg==", + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.39.0.tgz", + "integrity": "sha512-thI8kNc02yNvnmJp8dr3fNWJ9tCONDhp6TV35X6HkKGGs9E6q7YWCHbe5vKiTa7TAiNcFEmXKj3X/pG2b3ci0g==", "dev": true, + "license": "MIT", "dependencies": { - "@types/estree": "1.0.6" + "@types/estree": "1.0.7" }, "bin": { "rollup": "dist/bin/rollup" @@ -7124,25 +7489,26 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.34.0", - "@rollup/rollup-android-arm64": "4.34.0", - "@rollup/rollup-darwin-arm64": "4.34.0", - "@rollup/rollup-darwin-x64": "4.34.0", - "@rollup/rollup-freebsd-arm64": "4.34.0", - "@rollup/rollup-freebsd-x64": "4.34.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.34.0", - "@rollup/rollup-linux-arm-musleabihf": "4.34.0", - "@rollup/rollup-linux-arm64-gnu": "4.34.0", - "@rollup/rollup-linux-arm64-musl": "4.34.0", - "@rollup/rollup-linux-loongarch64-gnu": "4.34.0", - "@rollup/rollup-linux-powerpc64le-gnu": "4.34.0", - "@rollup/rollup-linux-riscv64-gnu": "4.34.0", - "@rollup/rollup-linux-s390x-gnu": "4.34.0", - "@rollup/rollup-linux-x64-gnu": "4.34.0", - "@rollup/rollup-linux-x64-musl": "4.34.0", - "@rollup/rollup-win32-arm64-msvc": "4.34.0", - "@rollup/rollup-win32-ia32-msvc": "4.34.0", - "@rollup/rollup-win32-x64-msvc": "4.34.0", + "@rollup/rollup-android-arm-eabi": "4.39.0", + "@rollup/rollup-android-arm64": "4.39.0", + "@rollup/rollup-darwin-arm64": "4.39.0", + "@rollup/rollup-darwin-x64": "4.39.0", + "@rollup/rollup-freebsd-arm64": "4.39.0", + "@rollup/rollup-freebsd-x64": "4.39.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.39.0", + "@rollup/rollup-linux-arm-musleabihf": "4.39.0", + "@rollup/rollup-linux-arm64-gnu": "4.39.0", + "@rollup/rollup-linux-arm64-musl": "4.39.0", + "@rollup/rollup-linux-loongarch64-gnu": "4.39.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.39.0", + "@rollup/rollup-linux-riscv64-gnu": "4.39.0", + "@rollup/rollup-linux-riscv64-musl": "4.39.0", + "@rollup/rollup-linux-s390x-gnu": "4.39.0", + "@rollup/rollup-linux-x64-gnu": "4.39.0", + "@rollup/rollup-linux-x64-musl": "4.39.0", + "@rollup/rollup-win32-arm64-msvc": "4.39.0", + "@rollup/rollup-win32-ia32-msvc": "4.39.0", + "@rollup/rollup-win32-x64-msvc": "4.39.0", "fsevents": "~2.3.2" } }, @@ -7150,6 +7516,7 @@ "version": "1.16.1", "resolved": "https://registry.npmjs.org/rtl-css-js/-/rtl-css-js-1.16.1.tgz", "integrity": "sha512-lRQgou1mu19e+Ya0LsTvKrVJ5TYUbqCVPAiImX3UfLTenarvPUl1QFdvu5Z3PYmHT9RCcwIfbjRQBntExyj3Zg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.1.2" } @@ -7157,13 +7524,15 @@ "node_modules/rw": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", - "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==" + "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==", + "license": "BSD-3-Clause" }, "node_modules/safe-array-concat": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.2", @@ -7182,7 +7551,8 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/safe-buffer": { "version": "5.2.1", @@ -7201,13 +7571,15 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/safe-push-apply": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", "dev": true, + "license": "MIT", "dependencies": { "es-errors": "^1.3.0", "isarray": "^2.0.5" @@ -7223,13 +7595,15 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/safe-regex-test": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", "dev": true, + "license": "MIT", "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", @@ -7245,12 +7619,14 @@ "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" }, "node_modules/scheduler": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", - "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.18.0.tgz", + "integrity": "sha512-agTSHR1Nbfi6ulI0kYNK0203joW2Y5W4po4l+v03tOoiJKpTBbxpNhWDvqc/4IcOw+KLmSiQLTasZ4cab2/UWQ==", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1" @@ -7260,6 +7636,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/screenfull/-/screenfull-5.2.0.tgz", "integrity": "sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA==", + "license": "MIT", "engines": { "node": ">=0.10.0" }, @@ -7272,6 +7649,7 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" } @@ -7281,6 +7659,7 @@ "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dev": true, + "license": "MIT", "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", @@ -7298,6 +7677,7 @@ "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", "dev": true, + "license": "MIT", "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", @@ -7312,6 +7692,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/set-harmonic-interval/-/set-harmonic-interval-1.0.1.tgz", "integrity": "sha512-AhICkFV84tBP1aWqPwLZqFvAwqEoVA9kxNMniGEUvzOlm4vLmOFLiTT3UZ6bziJTy4bOVpzWGTfSCbmaayGx8g==", + "license": "Unlicense", "engines": { "node": ">=6.9" } @@ -7321,6 +7702,7 @@ "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", "dev": true, + "license": "MIT", "dependencies": { "dunder-proto": "^1.0.1", "es-errors": "^1.3.0", @@ -7333,12 +7715,14 @@ "node_modules/setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "license": "MIT" }, "node_modules/sha.js": { "version": "2.4.11", "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "license": "(MIT AND BSD-3-Clause)", "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -7352,6 +7736,7 @@ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, + "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -7364,6 +7749,7 @@ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -7373,6 +7759,7 @@ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", "dev": true, + "license": "MIT", "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.3", @@ -7392,6 +7779,7 @@ "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", "dev": true, + "license": "MIT", "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.3" @@ -7408,6 +7796,7 @@ "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", "dev": true, + "license": "MIT", "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", @@ -7426,6 +7815,7 @@ "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", "dev": true, + "license": "MIT", "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", @@ -7445,6 +7835,7 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, + "license": "ISC", "engines": { "node": ">=14" }, @@ -7457,6 +7848,7 @@ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^6.0.0", "is-fullwidth-code-point": "^4.0.0" @@ -7473,6 +7865,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -7485,21 +7878,17 @@ "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", "dev": true, + "license": "MIT", "dependencies": { "dot-case": "^3.0.4", "tslib": "^2.0.3" } }, - "node_modules/snake-case/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "dev": true - }, "node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -7509,6 +7898,7 @@ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -7517,6 +7907,7 @@ "version": "2.0.10", "resolved": "https://registry.npmjs.org/stack-generator/-/stack-generator-2.0.10.tgz", "integrity": "sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==", + "license": "MIT", "dependencies": { "stackframe": "^1.3.4" } @@ -7524,12 +7915,14 @@ "node_modules/stackframe": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", - "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", + "license": "MIT" }, "node_modules/stacktrace-gps": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/stacktrace-gps/-/stacktrace-gps-3.1.2.tgz", "integrity": "sha512-GcUgbO4Jsqqg6RxfyTHFiPxdPqF+3LFmQhm7MgCuYQOYuWyqxo5pwRPz5d/u6/WYJdEnWfK4r+jGbyD8TSggXQ==", + "license": "MIT", "dependencies": { "source-map": "0.5.6", "stackframe": "^1.3.4" @@ -7539,6 +7932,7 @@ "version": "0.5.6", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", "integrity": "sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -7547,6 +7941,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/stacktrace-js/-/stacktrace-js-2.0.2.tgz", "integrity": "sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg==", + "license": "MIT", "dependencies": { "error-stack-parser": "^2.0.6", "stack-generator": "^2.0.5", @@ -7554,18 +7949,26 @@ } }, "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", "dependencies": { - "safe-buffer": "~5.2.0" + "safe-buffer": "~5.1.0" } }, + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, "node_modules/string-argv": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.6.19" } @@ -7575,6 +7978,7 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", "dev": true, + "license": "MIT", "dependencies": { "emoji-regex": "^10.3.0", "get-east-asian-width": "^1.0.0", @@ -7592,6 +7996,7 @@ "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.3", @@ -7619,6 +8024,7 @@ "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", "dev": true, + "license": "MIT", "dependencies": { "define-properties": "^1.1.3", "es-abstract": "^1.17.5" @@ -7629,6 +8035,7 @@ "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.2", @@ -7650,6 +8057,7 @@ "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.2", @@ -7668,6 +8076,7 @@ "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -7685,6 +8094,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -7700,6 +8110,7 @@ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -7712,6 +8123,7 @@ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -7720,15 +8132,17 @@ } }, "node_modules/stylis": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.5.tgz", - "integrity": "sha512-K7npNOKGRYuhAFFzkzMGfxFDpN6gDwf8hcMiE+uveTVbBgm93HrNP3ZDUpKqzZ4pG7TP6fmb+EMAQPjq9FqqvA==" + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.6.tgz", + "integrity": "sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==", + "license": "MIT" }, "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==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -7741,6 +8155,7 @@ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -7752,20 +8167,23 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/symbol-observable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", + "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=0.10" } }, "node_modules/throttle-debounce": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-2.3.0.tgz", "integrity": "sha512-H7oLPV0P7+jgvrk+6mwwwBDmxTaxnu9HMXmloNLXwnNO0ZxZ31Orah2n8lU1eMPvsaowP2CX+USCgyovXfdOFQ==", + "license": "MIT", "engines": { "node": ">=8" } @@ -7773,18 +8191,21 @@ "node_modules/tiny-case": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/tiny-case/-/tiny-case-1.0.3.tgz", - "integrity": "sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q==" + "integrity": "sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q==", + "license": "MIT" }, "node_modules/tiny-invariant": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", - "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==" + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==", + "license": "MIT" }, "node_modules/tiny-secp256k1": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/tiny-secp256k1/-/tiny-secp256k1-1.1.7.tgz", "integrity": "sha512-eb+F6NabSnjbLwNoC+2o5ItbmP1kg7HliWue71JgLegQt6A5mTN8YbvTLCazdlg6e5SV6A+r8OGvZYskdlmhqQ==", "hasInstallScript": true, + "license": "MIT", "dependencies": { "bindings": "^1.3.0", "bn.js": "^4.11.8", @@ -7799,13 +8220,15 @@ "node_modules/tiny-warning": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", - "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==", + "license": "MIT" }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, + "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, @@ -7816,36 +8239,45 @@ "node_modules/toggle-selection": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", - "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==" + "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==", + "license": "MIT" }, "node_modules/toposort": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz", - "integrity": "sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==" + "integrity": "sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==", + "license": "MIT" }, "node_modules/ts-easing": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/ts-easing/-/ts-easing-0.2.0.tgz", - "integrity": "sha512-Z86EW+fFFh/IFB1fqQ3/+7Zpf9t2ebOAxNI/V6Wo7r5gqiqtxmgTlQ1qbqQcjLKYeSHPTsEmvlJUDg/EuL0uHQ==" + "integrity": "sha512-Z86EW+fFFh/IFB1fqQ3/+7Zpf9t2ebOAxNI/V6Wo7r5gqiqtxmgTlQ1qbqQcjLKYeSHPTsEmvlJUDg/EuL0uHQ==", + "license": "Unlicense" }, "node_modules/ts-invariant": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.4.4.tgz", - "integrity": "sha512-uEtWkFM/sdZvRNNDL3Ehu4WVpwaulhwQszV8mrtcdeE8nN00BV9mAmQ88RkrBhFgl9gMgvjJLAQcZbnPXI9mlA==", + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.10.3.tgz", + "integrity": "sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ==", + "license": "MIT", "dependencies": { - "tslib": "^1.9.3" + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=8" } }, "node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1" }, @@ -7857,6 +8289,7 @@ "version": "2.19.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=12.20" }, @@ -7869,6 +8302,7 @@ "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", "dev": true, + "license": "MIT", "dependencies": { "call-bound": "^1.0.3", "es-errors": "^1.3.0", @@ -7883,6 +8317,7 @@ "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.8", "for-each": "^0.3.3", @@ -7902,6 +8337,7 @@ "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", "dev": true, + "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.8", @@ -7923,6 +8359,7 @@ "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "for-each": "^0.3.3", @@ -7941,7 +8378,8 @@ "node_modules/typeforce": { "version": "1.18.0", "resolved": "https://registry.npmjs.org/typeforce/-/typeforce-1.18.0.tgz", - "integrity": "sha512-7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g==" + "integrity": "sha512-7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g==", + "license": "MIT" }, "node_modules/ua-parser-js": { "version": "1.0.40", @@ -7961,6 +8399,7 @@ "url": "https://github.com/sponsors/faisalman" } ], + "license": "MIT", "bin": { "ua-parser-js": "script/cli.js" }, @@ -7973,6 +8412,7 @@ "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", "dev": true, + "license": "MIT", "dependencies": { "call-bound": "^1.0.3", "has-bigints": "^1.0.2", @@ -7986,15 +8426,10 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/undici-types": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", - "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==" - }, "node_modules/update-browserslist-db": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz", - "integrity": "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", "dev": true, "funding": [ { @@ -8010,6 +8445,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "escalade": "^3.2.0", "picocolors": "^1.1.1" @@ -8026,6 +8462,7 @@ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } @@ -8033,12 +8470,14 @@ "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" }, "node_modules/uuid": { "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } @@ -8046,25 +8485,28 @@ "node_modules/value-equal": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", - "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" + "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==", + "license": "MIT" }, "node_modules/varuint-bitcoin": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/varuint-bitcoin/-/varuint-bitcoin-1.1.2.tgz", "integrity": "sha512-4EVb+w4rx+YfVM32HQX42AbbT7/1f5zwAYhIujKXKk8NQK+JfRVl3pqT3hjNn/L+RstigmGGKVwHA/P0wgITZw==", + "license": "MIT", "dependencies": { "safe-buffer": "^5.1.1" } }, "node_modules/vite": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.0.11.tgz", - "integrity": "sha512-4VL9mQPKoHy4+FE0NnRE/kbY51TOfaknxAjt3fJbGJxhIpBZiqVzlZDEesWWsuREXHwNdAoOFZ9MkPEVXczHwg==", + "version": "6.2.6", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.6.tgz", + "integrity": "sha512-9xpjNl3kR4rVDZgPNdTL0/c6ao4km69a/2ihNQbcANz8RuCOK3hQBmLSJf3bRKVQjVMda+YvizNE8AwvogcPbw==", "dev": true, + "license": "MIT", "dependencies": { - "esbuild": "^0.24.2", - "postcss": "^8.4.49", - "rollup": "^4.23.0" + "esbuild": "^0.25.0", + "postcss": "^8.5.3", + "rollup": "^4.30.1" }, "bin": { "vite": "bin/vite.js" @@ -8132,6 +8574,7 @@ "resolved": "https://registry.npmjs.org/vite-plugin-svgr/-/vite-plugin-svgr-4.3.0.tgz", "integrity": "sha512-Jy9qLB2/PyWklpYy0xk0UU3TlU0t2UMpJXZvf+hWII1lAmRHrOUKi11Uw8N3rxoNk7atZNYO3pR3vI1f7oi+6w==", "dev": true, + "license": "MIT", "dependencies": { "@rollup/pluginutils": "^5.1.3", "@svgr/core": "^8.1.0", @@ -8146,6 +8589,7 @@ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -8161,6 +8605,7 @@ "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", "dev": true, + "license": "MIT", "dependencies": { "is-bigint": "^1.1.0", "is-boolean-object": "^1.2.1", @@ -8180,6 +8625,7 @@ "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", "dev": true, + "license": "MIT", "dependencies": { "call-bound": "^1.0.2", "function.prototype.name": "^1.1.6", @@ -8206,13 +8652,15 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/which-collection": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", "dev": true, + "license": "MIT", "dependencies": { "is-map": "^2.0.3", "is-set": "^2.0.3", @@ -8227,15 +8675,17 @@ } }, "node_modules/which-typed-array": { - "version": "1.1.18", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.18.tgz", - "integrity": "sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==", + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", + "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", "dev": true, + "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "for-each": "^0.3.3", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-tostringtag": "^1.0.2" }, @@ -8250,6 +8700,7 @@ "version": "2.0.6", "resolved": "https://registry.npmjs.org/wif/-/wif-2.0.6.tgz", "integrity": "sha512-HIanZn1zmduSF+BQhkE+YXIbEiH0xPr1012QbFEGB0xsKqJii0/SqJjyn8dFv6y36kOznMgMB+LGcbZTJ1xACQ==", + "license": "MIT", "dependencies": { "bs58check": "<3.0.0" } @@ -8259,6 +8710,7 @@ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -8268,6 +8720,7 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^6.2.1", "string-width": "^7.0.0", @@ -8285,6 +8738,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -8296,13 +8750,15 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/yaml": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz", - "integrity": "sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.1.tgz", + "integrity": "sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ==", "dev": true, + "license": "ISC", "bin": { "yaml": "bin.mjs" }, @@ -8315,6 +8771,7 @@ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -8326,6 +8783,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/yup/-/yup-1.4.0.tgz", "integrity": "sha512-wPbgkJRCqIf+OHyiTBQoJiP5PFuAXaWiJK6AmYkzQAh5/c2K9hzSApBZG5wV9KoKSePF7sAxmNSvh/13YHkFDg==", + "license": "MIT", "dependencies": { "property-expr": "^2.0.5", "tiny-case": "^1.0.3", @@ -8336,22 +8794,24 @@ "node_modules/zen-observable": { "version": "0.8.15", "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz", - "integrity": "sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==" + "integrity": "sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==", + "license": "MIT" }, "node_modules/zen-observable-ts": { - "version": "0.8.21", - "resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-0.8.21.tgz", - "integrity": "sha512-Yj3yXweRc8LdRMrCC8nIc4kkjWecPAUVh0TI0OUrWXx6aX790vLcDlWca6I4vsyCGH3LpWxq0dJRcMOFoVqmeg==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-1.2.5.tgz", + "integrity": "sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg==", + "license": "MIT", "dependencies": { - "tslib": "^1.9.3", - "zen-observable": "^0.8.0" + "zen-observable": "0.8.15" } }, "node_modules/zod": { - "version": "3.24.1", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.24.1.tgz", - "integrity": "sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==", + "version": "3.24.2", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.24.2.tgz", + "integrity": "sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ==", "dev": true, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/colinhacks" } @@ -8361,6 +8821,7 @@ "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-3.4.0.tgz", "integrity": "sha512-ZOPR9SVY6Pb2qqO5XHt+MkkTRxGXb4EVtnjc9JpXUOtUB1T9Ru7mZOT361AN3MsetVe7R0a1KZshJDZdgp9miQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=18.0.0" }, diff --git a/new-lamassu-admin/package.json b/new-lamassu-admin/package.json index f04464d6..974912c0 100644 --- a/new-lamassu-admin/package.json +++ b/new-lamassu-admin/package.json @@ -4,20 +4,13 @@ "license": "../LICENSE", "type": "module", "dependencies": { - "@apollo/react-hooks": "^3.1.3", + "@apollo/client": "^3.13.7", "@lamassu/coins": "v1.6.1", "@material-ui/core": "4.12.4", "@material-ui/icons": "4.11.2", "@material-ui/lab": "^4.0.0-alpha.61", "@simplewebauthn/browser": "^3.0.0", - "@use-hooks/axios": "1.3.0", - "apollo-cache-inmemory": "^1.6.6", - "apollo-client": "^2.6.10", - "apollo-link": "^1.2.14", - "apollo-link-error": "^1.1.13", - "apollo-link-http": "^1.5.17", - "apollo-upload-client": "^13.0.0", - "axios": "0.21.1", + "apollo-upload-client": "^18.0.0", "bignumber.js": "9.0.0", "classnames": "2.2.6", "countries-and-timezones": "^2.4.0", @@ -27,8 +20,6 @@ "downshift": "3.3.4", "file-saver": "2.0.2", "formik": "2.2.0", - "graphql": "^14.5.8", - "graphql-tag": "^2.12.6", "jss-plugin-extend": "^10.0.0", "jszip": "^3.6.0", "libphonenumber-js": "^1.11.15", @@ -46,7 +37,7 @@ "react-router-dom": "5.1.2", "react-use": "15.3.2", "react-virtualized": "^9.21.2", - "ua-parser-js": "^1.0.2", + "ua-parser-js": "1.0.40", "uuid": "^8.3.2", "yup": "1.4.0" }, diff --git a/new-lamassu-admin/src/App.jsx b/new-lamassu-admin/src/App.jsx index 83d8e3cf..2a442104 100644 --- a/new-lamassu-admin/src/App.jsx +++ b/new-lamassu-admin/src/App.jsx @@ -1,4 +1,4 @@ -import { useQuery } from '@apollo/react-hooks' +import { useQuery, gql } from "@apollo/client"; import CssBaseline from '@material-ui/core/CssBaseline' import Grid from '@material-ui/core/Grid' import Slide from '@material-ui/core/Slide' @@ -8,7 +8,6 @@ import { MuiThemeProvider, makeStyles } from '@material-ui/core/styles' -import gql from 'graphql-tag' import { create } from 'jss' import extendJss from 'jss-plugin-extend' import React, { useContext, useState } from 'react' diff --git a/new-lamassu-admin/src/components/LogsDownloaderPopper.jsx b/new-lamassu-admin/src/components/LogsDownloaderPopper.jsx index 73757ad2..4bf5752a 100644 --- a/new-lamassu-admin/src/components/LogsDownloaderPopper.jsx +++ b/new-lamassu-admin/src/components/LogsDownloaderPopper.jsx @@ -1,4 +1,4 @@ -import { useLazyQuery } from '@apollo/react-hooks' +import { useLazyQuery } from "@apollo/client"; import { makeStyles, ClickAwayListener } from '@material-ui/core' import classnames from 'classnames' import { format, set } from 'date-fns/fp' diff --git a/new-lamassu-admin/src/components/NotificationCenter/NotificationCenter.jsx b/new-lamassu-admin/src/components/NotificationCenter/NotificationCenter.jsx index 49208fe3..22756b3b 100644 --- a/new-lamassu-admin/src/components/NotificationCenter/NotificationCenter.jsx +++ b/new-lamassu-admin/src/components/NotificationCenter/NotificationCenter.jsx @@ -1,6 +1,5 @@ -import { useQuery, useMutation } from '@apollo/react-hooks' +import { useQuery, useMutation, gql } from "@apollo/client"; import { makeStyles } from '@material-ui/core/styles' -import gql from 'graphql-tag' import * as R from 'ramda' import React, { useState, useEffect } from 'react' import ActionButton from 'src/components/buttons/ActionButton' diff --git a/new-lamassu-admin/src/components/layout/Header.jsx b/new-lamassu-admin/src/components/layout/Header.jsx index f3901e53..99c62765 100644 --- a/new-lamassu-admin/src/components/layout/Header.jsx +++ b/new-lamassu-admin/src/components/layout/Header.jsx @@ -1,9 +1,8 @@ -import { useQuery } from '@apollo/react-hooks' +import { useQuery, gql } from "@apollo/client"; import ClickAwayListener from '@material-ui/core/ClickAwayListener' import Popper from '@material-ui/core/Popper' import { makeStyles } from '@material-ui/core/styles' import classnames from 'classnames' -import gql from 'graphql-tag' import * as R from 'ramda' import React, { memo, useState, useEffect, useRef } from 'react' import { NavLink, useHistory } from 'react-router-dom' diff --git a/new-lamassu-admin/src/components/machineActions/DiagnosticsModal.jsx b/new-lamassu-admin/src/components/machineActions/DiagnosticsModal.jsx index dabd12a0..d8a9740f 100644 --- a/new-lamassu-admin/src/components/machineActions/DiagnosticsModal.jsx +++ b/new-lamassu-admin/src/components/machineActions/DiagnosticsModal.jsx @@ -1,8 +1,7 @@ -import { useLazyQuery, useQuery } from '@apollo/react-hooks' +import { useLazyQuery, useQuery, gql } from "@apollo/client"; import { makeStyles } from '@material-ui/core/styles' import { subMinutes } from 'date-fns' import FileSaver from 'file-saver' -import gql from 'graphql-tag' import React, { useState, useEffect } from 'react' import Modal from 'src/components/Modal' import { H3, P } from 'src/components/typography' diff --git a/new-lamassu-admin/src/components/machineActions/MachineActions.jsx b/new-lamassu-admin/src/components/machineActions/MachineActions.jsx index 76fb7296..aae73bec 100644 --- a/new-lamassu-admin/src/components/machineActions/MachineActions.jsx +++ b/new-lamassu-admin/src/components/machineActions/MachineActions.jsx @@ -1,6 +1,5 @@ -import { useMutation, useLazyQuery } from '@apollo/react-hooks' +import { useMutation, useLazyQuery, gql } from "@apollo/client"; import { makeStyles } from '@material-ui/core/styles' -import gql from 'graphql-tag' import React, { memo, useState } from 'react' import { ConfirmDialog } from 'src/components/ConfirmDialog' import ActionButton from 'src/components/buttons/ActionButton' diff --git a/new-lamassu-admin/src/pages/AddMachine/AddMachine.jsx b/new-lamassu-admin/src/pages/AddMachine/AddMachine.jsx index 49a112b8..7bb7f0af 100644 --- a/new-lamassu-admin/src/pages/AddMachine/AddMachine.jsx +++ b/new-lamassu-admin/src/pages/AddMachine/AddMachine.jsx @@ -1,9 +1,8 @@ -import { useMutation, useQuery } from '@apollo/react-hooks' +import { useMutation, useQuery, gql } from "@apollo/client"; import { Dialog, DialogContent, SvgIcon, IconButton } from '@material-ui/core' import { makeStyles } from '@material-ui/core/styles' import classnames from 'classnames' import { Form, Formik, FastField } from 'formik' -import gql from 'graphql-tag' import QRCode from 'qrcode.react' import * as R from 'ramda' import React, { memo, useState, useEffect, useRef } from 'react' diff --git a/new-lamassu-admin/src/pages/Analytics/Analytics.jsx b/new-lamassu-admin/src/pages/Analytics/Analytics.jsx index ab279ad5..ca52f7e1 100644 --- a/new-lamassu-admin/src/pages/Analytics/Analytics.jsx +++ b/new-lamassu-admin/src/pages/Analytics/Analytics.jsx @@ -1,10 +1,9 @@ -import { useQuery } from '@apollo/react-hooks' +import { useQuery, gql } from "@apollo/client"; import { Box } from '@material-ui/core' import { makeStyles } from '@material-ui/core/styles' import classnames from 'classnames' import { endOfToday } from 'date-fns' import { subDays, format, add, startOfWeek } from 'date-fns/fp' -import gql from 'graphql-tag' import * as R from 'ramda' import React, { useState } from 'react' import TitleSection from 'src/components/layout/TitleSection' diff --git a/new-lamassu-admin/src/pages/AuthRegister.jsx b/new-lamassu-admin/src/pages/AuthRegister.jsx deleted file mode 100644 index b4499d34..00000000 --- a/new-lamassu-admin/src/pages/AuthRegister.jsx +++ /dev/null @@ -1,29 +0,0 @@ -import useAxios from '@use-hooks/axios' -import React from 'react' -import { useLocation, useHistory } from 'react-router-dom' - -const useQuery = () => new URLSearchParams(useLocation().search) - -const AuthRegister = () => { - const history = useHistory() - const query = useQuery() - - useAxios({ - url: `/api/register?otp=${query.get('otp')}`, - method: 'GET', - options: { - withCredentials: true - }, - trigger: [], - customHandler: (err, res) => { - if (err) return - if (res) { - history.push('/wizard', { fromAuthRegister: true }) - } - } - }) - - return registering... -} - -export default AuthRegister diff --git a/new-lamassu-admin/src/pages/Authentication/Input2FAState.jsx b/new-lamassu-admin/src/pages/Authentication/Input2FAState.jsx index 3a6df987..b5d7b3a1 100644 --- a/new-lamassu-admin/src/pages/Authentication/Input2FAState.jsx +++ b/new-lamassu-admin/src/pages/Authentication/Input2FAState.jsx @@ -1,7 +1,6 @@ -import { useMutation, useLazyQuery } from '@apollo/react-hooks' +import { useMutation, useLazyQuery, gql } from "@apollo/client"; import { makeStyles } from '@material-ui/core/styles' import { Form, Formik } from 'formik' -import gql from 'graphql-tag' import React, { useContext, useState } from 'react' import { useHistory } from 'react-router-dom' import { TL1, P } from 'src/components/typography' diff --git a/new-lamassu-admin/src/pages/Authentication/InputFIDOState.jsx b/new-lamassu-admin/src/pages/Authentication/InputFIDOState.jsx index 4f560a7f..071b6534 100644 --- a/new-lamassu-admin/src/pages/Authentication/InputFIDOState.jsx +++ b/new-lamassu-admin/src/pages/Authentication/InputFIDOState.jsx @@ -1,8 +1,7 @@ -import { useMutation, useLazyQuery } from '@apollo/react-hooks' +import { useMutation, useLazyQuery, gql } from "@apollo/client"; import { makeStyles } from '@material-ui/core' import { startAssertion } from '@simplewebauthn/browser' import { Field, Form, Formik } from 'formik' -import gql from 'graphql-tag' import React, { useState, useContext } from 'react' import { useHistory } from 'react-router-dom' import { H2, Label2, P } from 'src/components/typography' diff --git a/new-lamassu-admin/src/pages/Authentication/LoginState.jsx b/new-lamassu-admin/src/pages/Authentication/LoginState.jsx index 7d157c4b..4bdd6a77 100644 --- a/new-lamassu-admin/src/pages/Authentication/LoginState.jsx +++ b/new-lamassu-admin/src/pages/Authentication/LoginState.jsx @@ -1,8 +1,7 @@ -import { useMutation, useLazyQuery } from '@apollo/react-hooks' +import { useMutation, useLazyQuery, gql } from "@apollo/client"; import { makeStyles } from '@material-ui/core/styles' import { startAssertion } from '@simplewebauthn/browser' import { Field, Form, Formik } from 'formik' -import gql from 'graphql-tag' import React, { useContext } from 'react' import { useHistory } from 'react-router-dom' import { Label3, P } from 'src/components/typography' diff --git a/new-lamassu-admin/src/pages/Authentication/Register.jsx b/new-lamassu-admin/src/pages/Authentication/Register.jsx index c6982ad1..46b9a2f5 100644 --- a/new-lamassu-admin/src/pages/Authentication/Register.jsx +++ b/new-lamassu-admin/src/pages/Authentication/Register.jsx @@ -1,8 +1,7 @@ -import { useQuery, useMutation } from '@apollo/react-hooks' +import { useQuery, useMutation, gql } from "@apollo/client"; import { makeStyles, Grid } from '@material-ui/core' import Paper from '@material-ui/core/Paper' import { Field, Form, Formik } from 'formik' -import gql from 'graphql-tag' import React, { useReducer } from 'react' import { useLocation, useHistory } from 'react-router-dom' import { H2, Label3, P } from 'src/components/typography' diff --git a/new-lamassu-admin/src/pages/Authentication/Reset2FA.jsx b/new-lamassu-admin/src/pages/Authentication/Reset2FA.jsx index 6717b755..8a346530 100644 --- a/new-lamassu-admin/src/pages/Authentication/Reset2FA.jsx +++ b/new-lamassu-admin/src/pages/Authentication/Reset2FA.jsx @@ -1,8 +1,7 @@ -import { useQuery, useMutation } from '@apollo/react-hooks' +import { useQuery, useMutation, gql } from "@apollo/client"; import { makeStyles, Grid } from '@material-ui/core' import Paper from '@material-ui/core/Paper' import { Form, Formik } from 'formik' -import gql from 'graphql-tag' import QRCode from 'qrcode.react' import React, { useReducer, useState } from 'react' import { useLocation, useHistory } from 'react-router-dom' diff --git a/new-lamassu-admin/src/pages/Authentication/ResetPassword.jsx b/new-lamassu-admin/src/pages/Authentication/ResetPassword.jsx index 0b6c6111..27b82657 100644 --- a/new-lamassu-admin/src/pages/Authentication/ResetPassword.jsx +++ b/new-lamassu-admin/src/pages/Authentication/ResetPassword.jsx @@ -1,8 +1,7 @@ -import { useQuery, useMutation } from '@apollo/react-hooks' +import { useQuery, useMutation, gql } from "@apollo/client"; import { makeStyles, Grid } from '@material-ui/core' import Paper from '@material-ui/core/Paper' import { Field, Form, Formik } from 'formik' -import gql from 'graphql-tag' import React, { useState } from 'react' import { useLocation, useHistory } from 'react-router-dom' import { H2, Label3, P } from 'src/components/typography' diff --git a/new-lamassu-admin/src/pages/Authentication/Setup2FAState.jsx b/new-lamassu-admin/src/pages/Authentication/Setup2FAState.jsx index 40a6a3e9..e71bf8eb 100644 --- a/new-lamassu-admin/src/pages/Authentication/Setup2FAState.jsx +++ b/new-lamassu-admin/src/pages/Authentication/Setup2FAState.jsx @@ -1,7 +1,6 @@ -import { useMutation, useQuery, useLazyQuery } from '@apollo/react-hooks' +import { useMutation, useQuery, useLazyQuery, gql } from "@apollo/client"; import { makeStyles } from '@material-ui/core/styles' import { Form, Formik } from 'formik' -import gql from 'graphql-tag' import QRCode from 'qrcode.react' import React, { useContext, useState } from 'react' import { useHistory } from 'react-router-dom' diff --git a/new-lamassu-admin/src/pages/Blacklist/Blacklist.jsx b/new-lamassu-admin/src/pages/Blacklist/Blacklist.jsx index 5a184701..052d8d12 100644 --- a/new-lamassu-admin/src/pages/Blacklist/Blacklist.jsx +++ b/new-lamassu-admin/src/pages/Blacklist/Blacklist.jsx @@ -1,7 +1,6 @@ -import { useQuery, useMutation } from '@apollo/react-hooks' +import { useQuery, useMutation, gql } from "@apollo/client"; import { Box, Dialog, DialogContent, DialogActions } from '@material-ui/core' import { makeStyles } from '@material-ui/core/styles' -import gql from 'graphql-tag' import * as R from 'ramda' import React, { useState } from 'react' import { HelpTooltip } from 'src/components/Tooltip' diff --git a/new-lamassu-admin/src/pages/Cashout/Cashout.jsx b/new-lamassu-admin/src/pages/Cashout/Cashout.jsx index 0353b220..c64bda38 100644 --- a/new-lamassu-admin/src/pages/Cashout/Cashout.jsx +++ b/new-lamassu-admin/src/pages/Cashout/Cashout.jsx @@ -1,6 +1,5 @@ -import { useQuery, useMutation } from '@apollo/react-hooks' +import { useQuery, useMutation, gql } from "@apollo/client"; import { makeStyles } from '@material-ui/core/styles' -import gql from 'graphql-tag' import * as R from 'ramda' import React, { useState } from 'react' import { HelpTooltip } from 'src/components/Tooltip' diff --git a/new-lamassu-admin/src/pages/Commissions/Commissions.jsx b/new-lamassu-admin/src/pages/Commissions/Commissions.jsx index 229a8b06..43934229 100644 --- a/new-lamassu-admin/src/pages/Commissions/Commissions.jsx +++ b/new-lamassu-admin/src/pages/Commissions/Commissions.jsx @@ -1,6 +1,5 @@ -import { useQuery, useMutation } from '@apollo/react-hooks' +import { useQuery, useMutation, gql } from "@apollo/client"; import { makeStyles } from '@material-ui/core' -import gql from 'graphql-tag' import * as R from 'ramda' import React, { useState } from 'react' import { HelpTooltip } from 'src/components/Tooltip' diff --git a/new-lamassu-admin/src/pages/Customers/CustomerProfile.jsx b/new-lamassu-admin/src/pages/Customers/CustomerProfile.jsx index d6a73671..173aef54 100644 --- a/new-lamassu-admin/src/pages/Customers/CustomerProfile.jsx +++ b/new-lamassu-admin/src/pages/Customers/CustomerProfile.jsx @@ -1,4 +1,4 @@ -import { useQuery, useMutation, useLazyQuery } from '@apollo/react-hooks' +import { useQuery, useMutation, useLazyQuery, gql } from "@apollo/client"; import { makeStyles, Breadcrumbs, @@ -8,7 +8,6 @@ import { Dialog } from '@material-ui/core' import NavigateNextIcon from '@material-ui/icons/NavigateNext' -import gql from 'graphql-tag' import * as R from 'ramda' import React, { memo, useState } from 'react' import { useHistory, useParams } from 'react-router-dom' diff --git a/new-lamassu-admin/src/pages/Customers/Customers.jsx b/new-lamassu-admin/src/pages/Customers/Customers.jsx index 69cba4cc..03f03b1f 100644 --- a/new-lamassu-admin/src/pages/Customers/Customers.jsx +++ b/new-lamassu-admin/src/pages/Customers/Customers.jsx @@ -1,6 +1,5 @@ -import { useQuery, useMutation } from '@apollo/react-hooks' +import { useQuery, useMutation, gql } from "@apollo/client"; import { Box, makeStyles } from '@material-ui/core' -import gql from 'graphql-tag' import * as R from 'ramda' import React, { useState } from 'react' import { useHistory } from 'react-router-dom' diff --git a/new-lamassu-admin/src/pages/Customers/components/CustomInfoRequestsData.jsx b/new-lamassu-admin/src/pages/Customers/components/CustomInfoRequestsData.jsx index e57064aa..77605881 100644 --- a/new-lamassu-admin/src/pages/Customers/components/CustomInfoRequestsData.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/CustomInfoRequestsData.jsx @@ -1,7 +1,6 @@ -import { useMutation } from '@apollo/react-hooks' +import { useMutation, gql } from "@apollo/client"; import { makeStyles } from '@material-ui/core' import classnames from 'classnames' -import gql from 'graphql-tag' import React, { useState } from 'react' import Modal from 'src/components/Modal' import { MainStatus } from 'src/components/Status' diff --git a/new-lamassu-admin/src/pages/Dashboard/Alerts/Alerts.jsx b/new-lamassu-admin/src/pages/Dashboard/Alerts/Alerts.jsx index 02a08b5d..46fe3c5e 100644 --- a/new-lamassu-admin/src/pages/Dashboard/Alerts/Alerts.jsx +++ b/new-lamassu-admin/src/pages/Dashboard/Alerts/Alerts.jsx @@ -1,9 +1,8 @@ -import { useQuery } from '@apollo/react-hooks' +import { useQuery, gql } from "@apollo/client"; import Button from '@material-ui/core/Button' import Grid from '@material-ui/core/Grid' import { makeStyles } from '@material-ui/core/styles' import classnames from 'classnames' -import gql from 'graphql-tag' import * as R from 'ramda' import React from 'react' import { cardState } from 'src/components/CollapsibleCard' diff --git a/new-lamassu-admin/src/pages/Dashboard/Dashboard.jsx b/new-lamassu-admin/src/pages/Dashboard/Dashboard.jsx index d64c8b56..96dd647b 100644 --- a/new-lamassu-admin/src/pages/Dashboard/Dashboard.jsx +++ b/new-lamassu-admin/src/pages/Dashboard/Dashboard.jsx @@ -1,7 +1,6 @@ -import { useQuery } from '@apollo/react-hooks' +import { useQuery, gql } from "@apollo/client"; import Grid from '@material-ui/core/Grid' import { makeStyles } from '@material-ui/core/styles' -import gql from 'graphql-tag' import * as R from 'ramda' import React, { useState } from 'react' import { useHistory } from 'react-router-dom' diff --git a/new-lamassu-admin/src/pages/Dashboard/Footer/Footer.jsx b/new-lamassu-admin/src/pages/Dashboard/Footer/Footer.jsx index 914998fa..5c1bcf3e 100644 --- a/new-lamassu-admin/src/pages/Dashboard/Footer/Footer.jsx +++ b/new-lamassu-admin/src/pages/Dashboard/Footer/Footer.jsx @@ -1,9 +1,8 @@ -import { useQuery } from '@apollo/react-hooks' +import { useQuery, gql } from "@apollo/client"; import { makeStyles } from '@material-ui/core' import Grid from '@material-ui/core/Grid' import BigNumber from 'bignumber.js' import classnames from 'classnames' -import gql from 'graphql-tag' import * as R from 'ramda' import React from 'react' import { Label2 } from 'src/components/typography' diff --git a/new-lamassu-admin/src/pages/Dashboard/SystemPerformance/SystemPerformance.jsx b/new-lamassu-admin/src/pages/Dashboard/SystemPerformance/SystemPerformance.jsx index 0cc8b93e..75a36b40 100644 --- a/new-lamassu-admin/src/pages/Dashboard/SystemPerformance/SystemPerformance.jsx +++ b/new-lamassu-admin/src/pages/Dashboard/SystemPerformance/SystemPerformance.jsx @@ -1,10 +1,9 @@ -import { useQuery } from '@apollo/react-hooks' +import { useQuery, gql } from "@apollo/client"; import Grid from '@material-ui/core/Grid' import { makeStyles } from '@material-ui/core/styles' import BigNumber from 'bignumber.js' import classnames from 'classnames' import { isAfter } from 'date-fns/fp' -import gql from 'graphql-tag' import * as R from 'ramda' import React, { useState } from 'react' import { Label1, Label2, P } from 'src/components/typography/index' diff --git a/new-lamassu-admin/src/pages/Dashboard/SystemStatus/MachinesTable.jsx b/new-lamassu-admin/src/pages/Dashboard/SystemStatus/MachinesTable.jsx index e478b928..e943d991 100644 --- a/new-lamassu-admin/src/pages/Dashboard/SystemStatus/MachinesTable.jsx +++ b/new-lamassu-admin/src/pages/Dashboard/SystemStatus/MachinesTable.jsx @@ -1,4 +1,4 @@ -import { useQuery } from '@apollo/react-hooks' +import { useQuery, gql } from "@apollo/client"; import { makeStyles, withStyles } from '@material-ui/core' import Table from '@material-ui/core/Table' import TableBody from '@material-ui/core/TableBody' @@ -7,7 +7,6 @@ import TableContainer from '@material-ui/core/TableContainer' import TableHead from '@material-ui/core/TableHead' import TableRow from '@material-ui/core/TableRow' import classnames from 'classnames' -import gql from 'graphql-tag' import * as R from 'ramda' import React from 'react' import { useHistory } from 'react-router-dom' diff --git a/new-lamassu-admin/src/pages/Dashboard/SystemStatus/SystemStatus.jsx b/new-lamassu-admin/src/pages/Dashboard/SystemStatus/SystemStatus.jsx index 4243f22c..c172d3c6 100644 --- a/new-lamassu-admin/src/pages/Dashboard/SystemStatus/SystemStatus.jsx +++ b/new-lamassu-admin/src/pages/Dashboard/SystemStatus/SystemStatus.jsx @@ -1,9 +1,8 @@ -import { useQuery } from '@apollo/react-hooks' +import { useQuery, gql } from "@apollo/client"; import Button from '@material-ui/core/Button' import Grid from '@material-ui/core/Grid' import { makeStyles } from '@material-ui/core/styles' import classnames from 'classnames' -import gql from 'graphql-tag' import * as R from 'ramda' import React from 'react' import { cardState as cardState_ } from 'src/components/CollapsibleCard' diff --git a/new-lamassu-admin/src/pages/Funding.jsx b/new-lamassu-admin/src/pages/Funding.jsx index 80f47292..bc1168cb 100644 --- a/new-lamassu-admin/src/pages/Funding.jsx +++ b/new-lamassu-admin/src/pages/Funding.jsx @@ -1,10 +1,9 @@ -import { useQuery } from '@apollo/react-hooks' +import { useQuery, gql } from "@apollo/client"; import { formatCryptoAddress } from '@lamassu/coins/lightUtils' import { makeStyles } from '@material-ui/core/styles' import BigNumber from 'bignumber.js' import classnames from 'classnames' import { format } from 'date-fns/fp' -import gql from 'graphql-tag' import QRCode from 'qrcode.react' import * as R from 'ramda' import React, { useState } from 'react' diff --git a/new-lamassu-admin/src/pages/Locales/Locales.jsx b/new-lamassu-admin/src/pages/Locales/Locales.jsx index 508a9f07..71c5a221 100644 --- a/new-lamassu-admin/src/pages/Locales/Locales.jsx +++ b/new-lamassu-admin/src/pages/Locales/Locales.jsx @@ -1,6 +1,5 @@ -import { useQuery, useMutation } from '@apollo/react-hooks' +import { useQuery, useMutation, gql } from "@apollo/client"; import { makeStyles } from '@material-ui/core/styles' -import gql from 'graphql-tag' import * as R from 'ramda' import React, { useState } from 'react' import Modal from 'src/components/Modal' diff --git a/new-lamassu-admin/src/pages/LoyaltyPanel/IndividualDiscounts.jsx b/new-lamassu-admin/src/pages/LoyaltyPanel/IndividualDiscounts.jsx index 93f76169..7ffe9038 100644 --- a/new-lamassu-admin/src/pages/LoyaltyPanel/IndividualDiscounts.jsx +++ b/new-lamassu-admin/src/pages/LoyaltyPanel/IndividualDiscounts.jsx @@ -1,6 +1,5 @@ -import { useQuery, useMutation } from '@apollo/react-hooks' +import { useQuery, useMutation, gql } from "@apollo/client"; import { makeStyles, Box } from '@material-ui/core' -import gql from 'graphql-tag' import * as R from 'ramda' import React, { useState } from 'react' import { DeleteDialog } from 'src/components/DeleteDialog' diff --git a/new-lamassu-admin/src/pages/LoyaltyPanel/PromoCodes.jsx b/new-lamassu-admin/src/pages/LoyaltyPanel/PromoCodes.jsx index dbe0d8f2..2dbdb124 100644 --- a/new-lamassu-admin/src/pages/LoyaltyPanel/PromoCodes.jsx +++ b/new-lamassu-admin/src/pages/LoyaltyPanel/PromoCodes.jsx @@ -1,6 +1,5 @@ -import { useQuery, useMutation } from '@apollo/react-hooks' +import { useQuery, useMutation, gql } from "@apollo/client"; import { makeStyles, Box } from '@material-ui/core' -import gql from 'graphql-tag' import * as R from 'ramda' import React, { useState } from 'react' import { DeleteDialog } from 'src/components/DeleteDialog' diff --git a/new-lamassu-admin/src/pages/MachineLogs.jsx b/new-lamassu-admin/src/pages/MachineLogs.jsx index e0240989..a5bc9f31 100644 --- a/new-lamassu-admin/src/pages/MachineLogs.jsx +++ b/new-lamassu-admin/src/pages/MachineLogs.jsx @@ -1,6 +1,5 @@ -import { useQuery } from '@apollo/react-hooks' +import { useQuery, gql } from "@apollo/client"; import { makeStyles } from '@material-ui/core/styles' -import gql from 'graphql-tag' import * as R from 'ramda' import React, { useState } from 'react' import LogsDowloaderPopover from 'src/components/LogsDownloaderPopper' diff --git a/new-lamassu-admin/src/pages/Machines/MachineComponents/Cassettes/Cassettes.jsx b/new-lamassu-admin/src/pages/Machines/MachineComponents/Cassettes/Cassettes.jsx index 3cf970c6..eda98e95 100644 --- a/new-lamassu-admin/src/pages/Machines/MachineComponents/Cassettes/Cassettes.jsx +++ b/new-lamassu-admin/src/pages/Machines/MachineComponents/Cassettes/Cassettes.jsx @@ -1,6 +1,5 @@ -import { useMutation } from '@apollo/react-hooks' +import { useMutation, gql } from "@apollo/client"; import { makeStyles } from '@material-ui/core' -import gql from 'graphql-tag' import * as R from 'ramda' import React, { useState } from 'react' import DataTable from 'src/components/tables/DataTable' diff --git a/new-lamassu-admin/src/pages/Machines/MachineComponents/Commissions/Commissions.jsx b/new-lamassu-admin/src/pages/Machines/MachineComponents/Commissions/Commissions.jsx index a9f8766b..29dae910 100644 --- a/new-lamassu-admin/src/pages/Machines/MachineComponents/Commissions/Commissions.jsx +++ b/new-lamassu-admin/src/pages/Machines/MachineComponents/Commissions/Commissions.jsx @@ -1,5 +1,4 @@ -import { useQuery, useMutation } from '@apollo/react-hooks' -import gql from 'graphql-tag' +import { useQuery, useMutation, gql } from "@apollo/client"; import * as R from 'ramda' import React from 'react' diff --git a/new-lamassu-admin/src/pages/Machines/MachineComponents/Transactions/Transactions.jsx b/new-lamassu-admin/src/pages/Machines/MachineComponents/Transactions/Transactions.jsx index bd43a125..3f013c7c 100644 --- a/new-lamassu-admin/src/pages/Machines/MachineComponents/Transactions/Transactions.jsx +++ b/new-lamassu-admin/src/pages/Machines/MachineComponents/Transactions/Transactions.jsx @@ -1,8 +1,7 @@ -import { useQuery, useLazyQuery } from '@apollo/react-hooks' +import { useQuery, useLazyQuery, gql } from "@apollo/client"; import { toUnit, formatCryptoAddress } from '@lamassu/coins/lightUtils' import { makeStyles } from '@material-ui/core' import BigNumber from 'bignumber.js' -import gql from 'graphql-tag' import * as R from 'ramda' import React, { useEffect, useState } from 'react' import DetailsRow from 'src/pages/Transactions/DetailsCard' diff --git a/new-lamassu-admin/src/pages/Machines/Machines.jsx b/new-lamassu-admin/src/pages/Machines/Machines.jsx index dae49c38..0dda4d10 100644 --- a/new-lamassu-admin/src/pages/Machines/Machines.jsx +++ b/new-lamassu-admin/src/pages/Machines/Machines.jsx @@ -1,10 +1,9 @@ -import { useQuery } from '@apollo/react-hooks' +import { useQuery, gql } from "@apollo/client"; import Breadcrumbs from '@material-ui/core/Breadcrumbs' import Grid from '@material-ui/core/Grid' import { makeStyles } from '@material-ui/core/styles' import NavigateNextIcon from '@material-ui/icons/NavigateNext' import classnames from 'classnames' -import gql from 'graphql-tag' import * as R from 'ramda' import React, { useState } from 'react' import { Link, useLocation, useHistory } from 'react-router-dom' diff --git a/new-lamassu-admin/src/pages/Maintenance/CashUnits.jsx b/new-lamassu-admin/src/pages/Maintenance/CashUnits.jsx index 4c656d0e..6f50a78d 100644 --- a/new-lamassu-admin/src/pages/Maintenance/CashUnits.jsx +++ b/new-lamassu-admin/src/pages/Maintenance/CashUnits.jsx @@ -1,6 +1,5 @@ -import { useQuery, useMutation } from '@apollo/react-hooks' +import { useQuery, useMutation, gql } from "@apollo/client"; import { DialogActions, makeStyles, Box } from '@material-ui/core' -import gql from 'graphql-tag' import * as R from 'ramda' import React, { useState } from 'react' import LogsDowloaderPopover from 'src/components/LogsDownloaderPopper' diff --git a/new-lamassu-admin/src/pages/Maintenance/CashboxHistory.jsx b/new-lamassu-admin/src/pages/Maintenance/CashboxHistory.jsx index dff12942..dad71c89 100644 --- a/new-lamassu-admin/src/pages/Maintenance/CashboxHistory.jsx +++ b/new-lamassu-admin/src/pages/Maintenance/CashboxHistory.jsx @@ -1,6 +1,5 @@ -import { useQuery } from '@apollo/react-hooks' +import { useQuery, gql } from "@apollo/client"; import { makeStyles } from '@material-ui/core' -import gql from 'graphql-tag' import * as R from 'ramda' import React from 'react' // import * as Yup from 'yup' diff --git a/new-lamassu-admin/src/pages/Maintenance/MachineStatus.jsx b/new-lamassu-admin/src/pages/Maintenance/MachineStatus.jsx index a8b88dab..cdff0572 100644 --- a/new-lamassu-admin/src/pages/Maintenance/MachineStatus.jsx +++ b/new-lamassu-admin/src/pages/Maintenance/MachineStatus.jsx @@ -1,7 +1,6 @@ -import { useQuery } from '@apollo/react-hooks' +import { useQuery, gql } from "@apollo/client"; import { makeStyles } from '@material-ui/core' import { formatDistance } from 'date-fns' -import gql from 'graphql-tag' import * as R from 'ramda' import React from 'react' import { useHistory, useLocation } from 'react-router-dom' diff --git a/new-lamassu-admin/src/pages/Notifications/Notifications.jsx b/new-lamassu-admin/src/pages/Notifications/Notifications.jsx index cc0ef1c6..ee09c0cf 100644 --- a/new-lamassu-admin/src/pages/Notifications/Notifications.jsx +++ b/new-lamassu-admin/src/pages/Notifications/Notifications.jsx @@ -1,5 +1,4 @@ -import { useQuery, useMutation } from '@apollo/react-hooks' -import gql from 'graphql-tag' +import { useQuery, useMutation, gql } from "@apollo/client"; import * as R from 'ramda' import React, { useState } from 'react' import Modal from 'src/components/Modal' diff --git a/new-lamassu-admin/src/pages/OperatorInfo/CoinATMRadar.jsx b/new-lamassu-admin/src/pages/OperatorInfo/CoinATMRadar.jsx index 0de7ecc1..edb58b73 100644 --- a/new-lamassu-admin/src/pages/OperatorInfo/CoinATMRadar.jsx +++ b/new-lamassu-admin/src/pages/OperatorInfo/CoinATMRadar.jsx @@ -1,6 +1,5 @@ -import { useQuery, useMutation } from '@apollo/react-hooks' +import { useQuery, useMutation, gql } from "@apollo/client"; import { makeStyles } from '@material-ui/core/styles' -import gql from 'graphql-tag' import React, { memo } from 'react' import { HelpTooltip } from 'src/components/Tooltip' import { H4, P, Label2 } from 'src/components/typography' diff --git a/new-lamassu-admin/src/pages/OperatorInfo/ContactInfo.jsx b/new-lamassu-admin/src/pages/OperatorInfo/ContactInfo.jsx index 6f4678f0..33e4b487 100644 --- a/new-lamassu-admin/src/pages/OperatorInfo/ContactInfo.jsx +++ b/new-lamassu-admin/src/pages/OperatorInfo/ContactInfo.jsx @@ -1,8 +1,7 @@ -import { useQuery, useMutation } from '@apollo/react-hooks' +import { useQuery, useMutation, gql } from "@apollo/client"; import { makeStyles } from '@material-ui/core' import classnames from 'classnames' import { Form, Formik, Field as FormikField } from 'formik' -import gql from 'graphql-tag' import * as R from 'ramda' import React, { useState } from 'react' import ErrorMessage from 'src/components/ErrorMessage' diff --git a/new-lamassu-admin/src/pages/OperatorInfo/MachineScreens.jsx b/new-lamassu-admin/src/pages/OperatorInfo/MachineScreens.jsx index 83463219..fbac6725 100644 --- a/new-lamassu-admin/src/pages/OperatorInfo/MachineScreens.jsx +++ b/new-lamassu-admin/src/pages/OperatorInfo/MachineScreens.jsx @@ -1,6 +1,5 @@ -import { useQuery, useMutation } from '@apollo/react-hooks' +import { useQuery, useMutation, gql } from "@apollo/client"; import { makeStyles } from '@material-ui/core/styles' -import gql from 'graphql-tag' import * as R from 'ramda' import React, { memo } from 'react' import { H4, P, Label2 } from 'src/components/typography' diff --git a/new-lamassu-admin/src/pages/OperatorInfo/ReceiptPrinting.jsx b/new-lamassu-admin/src/pages/OperatorInfo/ReceiptPrinting.jsx index 81bd7429..759108b2 100644 --- a/new-lamassu-admin/src/pages/OperatorInfo/ReceiptPrinting.jsx +++ b/new-lamassu-admin/src/pages/OperatorInfo/ReceiptPrinting.jsx @@ -1,6 +1,5 @@ -import { useQuery, useMutation } from '@apollo/react-hooks' +import { useQuery, useMutation, gql } from "@apollo/client"; import { makeStyles } from '@material-ui/core/styles' -import gql from 'graphql-tag' import * as R from 'ramda' import React, { memo } from 'react' import { HelpTooltip } from 'src/components/Tooltip' diff --git a/new-lamassu-admin/src/pages/OperatorInfo/SMSNotices/SMSNotices.jsx b/new-lamassu-admin/src/pages/OperatorInfo/SMSNotices/SMSNotices.jsx index 3fdd12f6..09e00eed 100644 --- a/new-lamassu-admin/src/pages/OperatorInfo/SMSNotices/SMSNotices.jsx +++ b/new-lamassu-admin/src/pages/OperatorInfo/SMSNotices/SMSNotices.jsx @@ -1,6 +1,5 @@ -import { useQuery, useMutation } from '@apollo/react-hooks' +import { useQuery, useMutation, gql } from "@apollo/client"; import { makeStyles, Paper } from '@material-ui/core' -import gql from 'graphql-tag' import * as R from 'ramda' import React, { useState } from 'react' import { HelpTooltip } from 'src/components/Tooltip' diff --git a/new-lamassu-admin/src/pages/OperatorInfo/TermsConditions.jsx b/new-lamassu-admin/src/pages/OperatorInfo/TermsConditions.jsx index 10bea939..5d9a0e0c 100644 --- a/new-lamassu-admin/src/pages/OperatorInfo/TermsConditions.jsx +++ b/new-lamassu-admin/src/pages/OperatorInfo/TermsConditions.jsx @@ -1,8 +1,7 @@ -import { useQuery, useMutation } from '@apollo/react-hooks' +import { useQuery, useMutation, gql } from "@apollo/client"; import { makeStyles } from '@material-ui/core' import classnames from 'classnames' import { Form, Formik, Field as FormikField } from 'formik' -import gql from 'graphql-tag' import * as R from 'ramda' import React, { useState } from 'react' import ErrorMessage from 'src/components/ErrorMessage' diff --git a/new-lamassu-admin/src/pages/ServerLogs.jsx b/new-lamassu-admin/src/pages/ServerLogs.jsx index 6f78f0c2..b66f3ec6 100644 --- a/new-lamassu-admin/src/pages/ServerLogs.jsx +++ b/new-lamassu-admin/src/pages/ServerLogs.jsx @@ -1,6 +1,5 @@ -import { useQuery } from '@apollo/react-hooks' +import { useQuery, gql } from "@apollo/client"; import { makeStyles } from '@material-ui/core' -import gql from 'graphql-tag' import * as R from 'ramda' import React, { useState, useRef } from 'react' import LogsDowloaderPopover from 'src/components/LogsDownloaderPopper' diff --git a/new-lamassu-admin/src/pages/Services/Services.jsx b/new-lamassu-admin/src/pages/Services/Services.jsx index 4760f0fe..fdbf2234 100644 --- a/new-lamassu-admin/src/pages/Services/Services.jsx +++ b/new-lamassu-admin/src/pages/Services/Services.jsx @@ -1,6 +1,5 @@ -import { useQuery, useMutation } from '@apollo/react-hooks' +import { useQuery, useMutation, gql } from "@apollo/client"; import { makeStyles, Grid } from '@material-ui/core' -import gql from 'graphql-tag' import * as R from 'ramda' import React, { useState } from 'react' import Modal from 'src/components/Modal' diff --git a/new-lamassu-admin/src/pages/SessionManagement/SessionManagement.jsx b/new-lamassu-admin/src/pages/SessionManagement/SessionManagement.jsx index cfc80b87..671eb3ad 100644 --- a/new-lamassu-admin/src/pages/SessionManagement/SessionManagement.jsx +++ b/new-lamassu-admin/src/pages/SessionManagement/SessionManagement.jsx @@ -1,5 +1,4 @@ -import { useQuery, useMutation } from '@apollo/react-hooks' -import gql from 'graphql-tag' +import { useQuery, useMutation, gql } from "@apollo/client"; import * as R from 'ramda' import React from 'react' import TitleSection from 'src/components/layout/TitleSection' diff --git a/new-lamassu-admin/src/pages/Transactions/DetailsCard.jsx b/new-lamassu-admin/src/pages/Transactions/DetailsCard.jsx index aee518c8..805ca6b9 100644 --- a/new-lamassu-admin/src/pages/Transactions/DetailsCard.jsx +++ b/new-lamassu-admin/src/pages/Transactions/DetailsCard.jsx @@ -1,11 +1,10 @@ -import { useLazyQuery, useMutation } from '@apollo/react-hooks' +import { useLazyQuery, useMutation, gql } from "@apollo/client"; import { toUnit, formatCryptoAddress } from '@lamassu/coins/lightUtils' import { makeStyles, Box } from '@material-ui/core' import BigNumber from 'bignumber.js' import classNames from 'classnames' import { add, differenceInYears, format, sub, parse } from 'date-fns/fp' import FileSaver from 'file-saver' -import gql from 'graphql-tag' import JSZip from 'jszip' import * as R from 'ramda' import React, { memo, useState } from 'react' diff --git a/new-lamassu-admin/src/pages/Transactions/Transactions.jsx b/new-lamassu-admin/src/pages/Transactions/Transactions.jsx index cec62569..49bbf39e 100644 --- a/new-lamassu-admin/src/pages/Transactions/Transactions.jsx +++ b/new-lamassu-admin/src/pages/Transactions/Transactions.jsx @@ -1,8 +1,7 @@ -import { useQuery } from '@apollo/react-hooks' +import { useQuery, gql } from "@apollo/client"; import { toUnit, formatCryptoAddress } from '@lamassu/coins/lightUtils' import { makeStyles } from '@material-ui/core' import BigNumber from 'bignumber.js' -import gql from 'graphql-tag' import * as R from 'ramda' import React, { useEffect, useState } from 'react' import { useHistory } from 'react-router-dom' diff --git a/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/CustomInfoRequests.jsx b/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/CustomInfoRequests.jsx index 079a6756..c21291be 100644 --- a/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/CustomInfoRequests.jsx +++ b/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/CustomInfoRequests.jsx @@ -1,7 +1,6 @@ -import { useMutation, useQuery } from '@apollo/react-hooks' +import { useMutation, useQuery, gql } from "@apollo/client"; import { makeStyles } from '@material-ui/core' import classnames from 'classnames' -import gql from 'graphql-tag' import * as R from 'ramda' import React, { useState } from 'react' import { DeleteDialog } from 'src/components/DeleteDialog' diff --git a/new-lamassu-admin/src/pages/Triggers/TriggerView.jsx b/new-lamassu-admin/src/pages/Triggers/TriggerView.jsx index 4034580a..ce019a14 100644 --- a/new-lamassu-admin/src/pages/Triggers/TriggerView.jsx +++ b/new-lamassu-admin/src/pages/Triggers/TriggerView.jsx @@ -1,6 +1,5 @@ -import { useMutation } from '@apollo/react-hooks' +import { useMutation, gql } from "@apollo/client"; import { makeStyles, Box } from '@material-ui/core' -import gql from 'graphql-tag' import * as R from 'ramda' import React, { useState } from 'react' import { H2 } from 'src/components/typography' diff --git a/new-lamassu-admin/src/pages/Triggers/Triggers.jsx b/new-lamassu-admin/src/pages/Triggers/Triggers.jsx index 062b690f..6039aa4e 100644 --- a/new-lamassu-admin/src/pages/Triggers/Triggers.jsx +++ b/new-lamassu-admin/src/pages/Triggers/Triggers.jsx @@ -1,7 +1,6 @@ -import { useQuery, useMutation } from '@apollo/react-hooks' +import { useQuery, useMutation, gql } from "@apollo/client"; import { makeStyles, Box } from '@material-ui/core' import classnames from 'classnames' -import gql from 'graphql-tag' import * as R from 'ramda' import React, { useState } from 'react' import Modal from 'src/components/Modal' diff --git a/new-lamassu-admin/src/pages/Triggers/components/AdvancedTriggers.jsx b/new-lamassu-admin/src/pages/Triggers/components/AdvancedTriggers.jsx index dbb86200..3186ff1f 100644 --- a/new-lamassu-admin/src/pages/Triggers/components/AdvancedTriggers.jsx +++ b/new-lamassu-admin/src/pages/Triggers/components/AdvancedTriggers.jsx @@ -1,5 +1,4 @@ -import { useMutation, useQuery } from '@apollo/react-hooks' -import gql from 'graphql-tag' +import { useMutation, useQuery, gql } from "@apollo/client"; import * as R from 'ramda' import React, { memo, useState } from 'react' import Section from 'src/components/layout/Section' diff --git a/new-lamassu-admin/src/pages/UserManagement/UserManagement.jsx b/new-lamassu-admin/src/pages/UserManagement/UserManagement.jsx index 519491f7..0bf36870 100644 --- a/new-lamassu-admin/src/pages/UserManagement/UserManagement.jsx +++ b/new-lamassu-admin/src/pages/UserManagement/UserManagement.jsx @@ -1,7 +1,6 @@ -import { useQuery, useMutation, useLazyQuery } from '@apollo/react-hooks' +import { useQuery, useMutation, useLazyQuery, gql } from "@apollo/client"; import { makeStyles, Box, Chip } from '@material-ui/core' import { startAttestation } from '@simplewebauthn/browser' -import gql from 'graphql-tag' import * as R from 'ramda' import React, { useReducer, useState, useContext } from 'react' import TitleSection from 'src/components/layout/TitleSection' diff --git a/new-lamassu-admin/src/pages/UserManagement/modals/ChangeRoleModal.jsx b/new-lamassu-admin/src/pages/UserManagement/modals/ChangeRoleModal.jsx index ccc8937f..9254b6a1 100644 --- a/new-lamassu-admin/src/pages/UserManagement/modals/ChangeRoleModal.jsx +++ b/new-lamassu-admin/src/pages/UserManagement/modals/ChangeRoleModal.jsx @@ -1,6 +1,5 @@ -import { useMutation } from '@apollo/react-hooks' +import { useMutation, gql } from "@apollo/client"; import { makeStyles } from '@material-ui/core/styles' -import gql from 'graphql-tag' import React, { useState } from 'react' import ErrorMessage from 'src/components/ErrorMessage' import Modal from 'src/components/Modal' diff --git a/new-lamassu-admin/src/pages/UserManagement/modals/CreateUserModal.jsx b/new-lamassu-admin/src/pages/UserManagement/modals/CreateUserModal.jsx index 444169aa..729fcb14 100644 --- a/new-lamassu-admin/src/pages/UserManagement/modals/CreateUserModal.jsx +++ b/new-lamassu-admin/src/pages/UserManagement/modals/CreateUserModal.jsx @@ -1,8 +1,7 @@ -import { useMutation } from '@apollo/react-hooks' +import { useMutation, gql } from "@apollo/client"; import { makeStyles } from '@material-ui/core/styles' import classnames from 'classnames' import { Field, Form, Formik } from 'formik' -import gql from 'graphql-tag' import React, { useState } from 'react' import ErrorMessage from 'src/components/ErrorMessage' import Modal from 'src/components/Modal' diff --git a/new-lamassu-admin/src/pages/UserManagement/modals/EnableUserModal.jsx b/new-lamassu-admin/src/pages/UserManagement/modals/EnableUserModal.jsx index adaa10d4..b5f62c9b 100644 --- a/new-lamassu-admin/src/pages/UserManagement/modals/EnableUserModal.jsx +++ b/new-lamassu-admin/src/pages/UserManagement/modals/EnableUserModal.jsx @@ -1,6 +1,5 @@ -import { useMutation } from '@apollo/react-hooks' +import { useMutation, gql } from "@apollo/client"; import { makeStyles } from '@material-ui/core/styles' -import gql from 'graphql-tag' import React, { useState } from 'react' import ErrorMessage from 'src/components/ErrorMessage' import Modal from 'src/components/Modal' diff --git a/new-lamassu-admin/src/pages/UserManagement/modals/Input2FAModal.jsx b/new-lamassu-admin/src/pages/UserManagement/modals/Input2FAModal.jsx index f54389af..459eaa21 100644 --- a/new-lamassu-admin/src/pages/UserManagement/modals/Input2FAModal.jsx +++ b/new-lamassu-admin/src/pages/UserManagement/modals/Input2FAModal.jsx @@ -1,7 +1,6 @@ -import { useLazyQuery } from '@apollo/react-hooks' +import { useLazyQuery, gql } from "@apollo/client"; import { makeStyles } from '@material-ui/core/styles' import { Form, Formik } from 'formik' -import gql from 'graphql-tag' import React, { useState } from 'react' import Modal from 'src/components/Modal' import { Info2, P } from 'src/components/typography' diff --git a/new-lamassu-admin/src/pages/UserManagement/modals/Reset2FAModal.jsx b/new-lamassu-admin/src/pages/UserManagement/modals/Reset2FAModal.jsx index ee72bcf1..7add5e02 100644 --- a/new-lamassu-admin/src/pages/UserManagement/modals/Reset2FAModal.jsx +++ b/new-lamassu-admin/src/pages/UserManagement/modals/Reset2FAModal.jsx @@ -1,6 +1,5 @@ -import { useMutation } from '@apollo/react-hooks' +import { useMutation, gql } from "@apollo/client"; import { makeStyles } from '@material-ui/core/styles' -import gql from 'graphql-tag' import React, { useEffect, useState } from 'react' import ErrorMessage from 'src/components/ErrorMessage' import Modal from 'src/components/Modal' diff --git a/new-lamassu-admin/src/pages/UserManagement/modals/ResetPasswordModal.jsx b/new-lamassu-admin/src/pages/UserManagement/modals/ResetPasswordModal.jsx index ec5c7d4a..ae9f209a 100644 --- a/new-lamassu-admin/src/pages/UserManagement/modals/ResetPasswordModal.jsx +++ b/new-lamassu-admin/src/pages/UserManagement/modals/ResetPasswordModal.jsx @@ -1,6 +1,5 @@ -import { useMutation } from '@apollo/react-hooks' +import { useMutation, gql } from "@apollo/client"; import { makeStyles } from '@material-ui/core/styles' -import gql from 'graphql-tag' import React, { useEffect, useState } from 'react' import ErrorMessage from 'src/components/ErrorMessage' import Modal from 'src/components/Modal' diff --git a/new-lamassu-admin/src/pages/Wallet/AdvancedWallet.jsx b/new-lamassu-admin/src/pages/Wallet/AdvancedWallet.jsx index 4ee5134d..9a56cdaf 100644 --- a/new-lamassu-admin/src/pages/Wallet/AdvancedWallet.jsx +++ b/new-lamassu-admin/src/pages/Wallet/AdvancedWallet.jsx @@ -1,5 +1,4 @@ -import { useQuery, useMutation } from '@apollo/react-hooks' -import gql from 'graphql-tag' +import { useQuery, useMutation, gql } from "@apollo/client"; import * as R from 'ramda' import React, { useState } from 'react' import Section from 'src/components/layout/Section' diff --git a/new-lamassu-admin/src/pages/Wallet/Wallet.jsx b/new-lamassu-admin/src/pages/Wallet/Wallet.jsx index d66f4725..6e3986ce 100644 --- a/new-lamassu-admin/src/pages/Wallet/Wallet.jsx +++ b/new-lamassu-admin/src/pages/Wallet/Wallet.jsx @@ -1,6 +1,5 @@ -import { useQuery, useMutation } from '@apollo/react-hooks' +import { useQuery, useMutation, gql } from "@apollo/client"; import { makeStyles } from '@material-ui/core' -import gql from 'graphql-tag' import * as R from 'ramda' import React, { useState } from 'react' import Modal from 'src/components/Modal' diff --git a/new-lamassu-admin/src/pages/Wizard/Wizard.jsx b/new-lamassu-admin/src/pages/Wizard/Wizard.jsx index a5134b84..00e2b954 100644 --- a/new-lamassu-admin/src/pages/Wizard/Wizard.jsx +++ b/new-lamassu-admin/src/pages/Wizard/Wizard.jsx @@ -1,7 +1,6 @@ -import { useQuery } from '@apollo/react-hooks' +import { useQuery, gql } from "@apollo/client"; import { makeStyles, Dialog, DialogContent } from '@material-ui/core' import classnames from 'classnames' -import gql from 'graphql-tag' import React, { useState, useContext } from 'react' import { useHistory } from 'react-router-dom' import { getWizardStep, STEPS } from 'src/pages/Wizard/helper' diff --git a/new-lamassu-admin/src/pages/Wizard/components/Commissions.jsx b/new-lamassu-admin/src/pages/Wizard/components/Commissions.jsx index 998393e5..f61e8a9d 100644 --- a/new-lamassu-admin/src/pages/Wizard/components/Commissions.jsx +++ b/new-lamassu-admin/src/pages/Wizard/components/Commissions.jsx @@ -1,6 +1,5 @@ -import { useQuery, useMutation } from '@apollo/react-hooks' +import { useQuery, useMutation, gql } from "@apollo/client"; import { makeStyles } from '@material-ui/core' -import gql from 'graphql-tag' import * as R from 'ramda' import React from 'react' import Section from 'src/components/layout/Section' diff --git a/new-lamassu-admin/src/pages/Wizard/components/Locales.jsx b/new-lamassu-admin/src/pages/Wizard/components/Locales.jsx index 0a0e5b5f..37d39166 100644 --- a/new-lamassu-admin/src/pages/Wizard/components/Locales.jsx +++ b/new-lamassu-admin/src/pages/Wizard/components/Locales.jsx @@ -1,6 +1,5 @@ -import { useQuery, useMutation } from '@apollo/react-hooks' +import { useQuery, useMutation, gql } from "@apollo/client"; import { makeStyles } from '@material-ui/core' -import gql from 'graphql-tag' import * as R from 'ramda' import React from 'react' import Section from 'src/components/layout/Section' diff --git a/new-lamassu-admin/src/pages/Wizard/components/Mailgun.jsx b/new-lamassu-admin/src/pages/Wizard/components/Mailgun.jsx index d9a3095a..e26a8473 100644 --- a/new-lamassu-admin/src/pages/Wizard/components/Mailgun.jsx +++ b/new-lamassu-admin/src/pages/Wizard/components/Mailgun.jsx @@ -1,6 +1,5 @@ -import { useMutation, useQuery } from '@apollo/react-hooks' +import { useMutation, useQuery, gql } from "@apollo/client"; import { makeStyles } from '@material-ui/core' -import gql from 'graphql-tag' import React, { useState, useEffect } from 'react' import { H4, Info3 } from 'src/components/typography' import FormRenderer from 'src/pages/Services/FormRenderer' diff --git a/new-lamassu-admin/src/pages/Wizard/components/Twilio.jsx b/new-lamassu-admin/src/pages/Wizard/components/Twilio.jsx index f4e1dbac..972f091f 100644 --- a/new-lamassu-admin/src/pages/Wizard/components/Twilio.jsx +++ b/new-lamassu-admin/src/pages/Wizard/components/Twilio.jsx @@ -1,7 +1,6 @@ -import { useMutation, useQuery } from '@apollo/react-hooks' +import { useMutation, useQuery, gql } from "@apollo/client"; import { makeStyles, Box } from '@material-ui/core' import classnames from 'classnames' -import gql from 'graphql-tag' import React, { useState } from 'react' import InfoMessage from 'src/components/InfoMessage' import { HelpTooltip } from 'src/components/Tooltip' diff --git a/new-lamassu-admin/src/pages/Wizard/components/Wallet/AllSet.jsx b/new-lamassu-admin/src/pages/Wizard/components/Wallet/AllSet.jsx index 64c58dbb..9d66c75a 100644 --- a/new-lamassu-admin/src/pages/Wizard/components/Wallet/AllSet.jsx +++ b/new-lamassu-admin/src/pages/Wizard/components/Wallet/AllSet.jsx @@ -1,6 +1,5 @@ -import { useQuery, useMutation } from '@apollo/react-hooks' +import { useQuery, useMutation, gql } from "@apollo/client"; import { makeStyles } from '@material-ui/core' -import gql from 'graphql-tag' import * as R from 'ramda' import React, { useState } from 'react' import { P, H4 } from 'src/components/typography' diff --git a/new-lamassu-admin/src/pages/Wizard/components/Wallet/Blockcypher.jsx b/new-lamassu-admin/src/pages/Wizard/components/Wallet/Blockcypher.jsx index 2148f0db..f3247ba3 100644 --- a/new-lamassu-admin/src/pages/Wizard/components/Wallet/Blockcypher.jsx +++ b/new-lamassu-admin/src/pages/Wizard/components/Wallet/Blockcypher.jsx @@ -1,6 +1,5 @@ -import { useMutation, useQuery } from '@apollo/react-hooks' +import { useMutation, useQuery, gql } from "@apollo/client"; import { makeStyles } from '@material-ui/core' -import gql from 'graphql-tag' import React, { useState } from 'react' import { P, H4 } from 'src/components/typography' import FormRenderer from 'src/pages/Services/FormRenderer' diff --git a/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseCoin.jsx b/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseCoin.jsx index 6e3a1ca3..18bbd6c2 100644 --- a/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseCoin.jsx +++ b/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseCoin.jsx @@ -1,7 +1,6 @@ -import { useQuery } from '@apollo/react-hooks' +import { useQuery, gql } from "@apollo/client"; import { makeStyles } from '@material-ui/core' import { Formik, Form, Field } from 'formik' -import gql from 'graphql-tag' import React, { useState } from 'react' import PromptWhenDirty from 'src/components/PromptWhenDirty' import { H4 } from 'src/components/typography' diff --git a/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseExchange.jsx b/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseExchange.jsx index 2c82b1e7..8618cb28 100644 --- a/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseExchange.jsx +++ b/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseExchange.jsx @@ -1,7 +1,6 @@ -import { useQuery, useMutation } from '@apollo/react-hooks' +import { useQuery, useMutation, gql } from "@apollo/client"; import { getEquivalentCode } from '@lamassu/coins/lightUtils' import { makeStyles } from '@material-ui/core' -import gql from 'graphql-tag' import * as R from 'ramda' import React, { useState } from 'react' import { H4, Info3 } from 'src/components/typography' diff --git a/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseTicker.jsx b/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseTicker.jsx index 15d51d7e..e9c0154a 100644 --- a/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseTicker.jsx +++ b/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseTicker.jsx @@ -1,7 +1,6 @@ -import { useQuery } from '@apollo/react-hooks' +import { useQuery, gql } from "@apollo/client"; import { getEquivalentCode } from '@lamassu/coins/lightUtils' import { makeStyles } from '@material-ui/core' -import gql from 'graphql-tag' import * as R from 'ramda' import React, { useState } from 'react' import { H4 } from 'src/components/typography' diff --git a/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseWallet.jsx b/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseWallet.jsx index c38c1aac..ac0bb812 100644 --- a/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseWallet.jsx +++ b/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseWallet.jsx @@ -1,6 +1,5 @@ -import { useQuery, useMutation } from '@apollo/react-hooks' +import { useQuery, useMutation, gql } from "@apollo/client"; import { makeStyles } from '@material-ui/core' -import gql from 'graphql-tag' import * as R from 'ramda' import React, { useState } from 'react' import { H4, Info3 } from 'src/components/typography' diff --git a/new-lamassu-admin/src/utils/apollo.jsx b/new-lamassu-admin/src/utils/apollo.jsx index 3b687b89..d141ca15 100644 --- a/new-lamassu-admin/src/utils/apollo.jsx +++ b/new-lamassu-admin/src/utils/apollo.jsx @@ -1,9 +1,6 @@ -import { ApolloProvider } from '@apollo/react-hooks' -import { InMemoryCache } from 'apollo-cache-inmemory' -import { ApolloClient } from 'apollo-client' -import { ApolloLink } from 'apollo-link' -import { onError } from 'apollo-link-error' -import { createUploadLink } from 'apollo-upload-client' +import { ApolloClient, ApolloProvider, InMemoryCache, ApolloLink } from "@apollo/client"; +import { onError } from "@apollo/client/link/error" +import createUploadLink from "apollo-upload-client/createUploadLink.mjs"; import React, { useContext } from 'react' import { useHistory, useLocation } from 'react-router-dom' From 6a72881c6c4190a7e8ce8e2861505d0e4254b64a Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Fri, 11 Apr 2025 09:53:39 +0100 Subject: [PATCH 03/85] chore: update uuid lib --- new-lamassu-admin/package-lock.json | 16 ++++++++++------ new-lamassu-admin/package.json | 2 +- .../src/components/editableTable/Table.jsx | 4 ++-- .../src/pages/Commissions/helper.jsx | 4 ++-- new-lamassu-admin/src/pages/Customers/helper.jsx | 6 +++--- .../src/pages/Triggers/TriggerView.jsx | 4 ++-- 6 files changed, 20 insertions(+), 16 deletions(-) diff --git a/new-lamassu-admin/package-lock.json b/new-lamassu-admin/package-lock.json index d1c96d0f..ca06c752 100644 --- a/new-lamassu-admin/package-lock.json +++ b/new-lamassu-admin/package-lock.json @@ -42,8 +42,8 @@ "react-router-dom": "5.1.2", "react-use": "15.3.2", "react-virtualized": "^9.21.2", - "ua-parser-js": "^1.0.2", - "uuid": "^8.3.2", + "ua-parser-js": "1.0.40", + "uuid": "11.1.0", "yup": "1.4.0" }, "devDependencies": { @@ -8474,12 +8474,16 @@ "license": "MIT" }, "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz", + "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], "license": "MIT", "bin": { - "uuid": "dist/bin/uuid" + "uuid": "dist/esm/bin/uuid" } }, "node_modules/value-equal": { diff --git a/new-lamassu-admin/package.json b/new-lamassu-admin/package.json index 974912c0..47a0c572 100644 --- a/new-lamassu-admin/package.json +++ b/new-lamassu-admin/package.json @@ -38,7 +38,7 @@ "react-use": "15.3.2", "react-virtualized": "^9.21.2", "ua-parser-js": "1.0.40", - "uuid": "^8.3.2", + "uuid": "11.1.0", "yup": "1.4.0" }, "devDependencies": { diff --git a/new-lamassu-admin/src/components/editableTable/Table.jsx b/new-lamassu-admin/src/components/editableTable/Table.jsx index 58e77cc2..770b9449 100644 --- a/new-lamassu-admin/src/components/editableTable/Table.jsx +++ b/new-lamassu-admin/src/components/editableTable/Table.jsx @@ -6,7 +6,7 @@ import PromptWhenDirty from 'src/components/PromptWhenDirty' import Link from 'src/components/buttons/Link' import { TBody, Table } from 'src/components/fake-table/Table' import { Info2, TL1 } from 'src/components/typography' -import { v4 } from 'uuid' +import { v4 as uuidv4 } from 'uuid' import { AddButton } from 'src/components/buttons/index' @@ -191,7 +191,7 @@ const ETable = ({ diff --git a/new-lamassu-admin/src/pages/Commissions/helper.jsx b/new-lamassu-admin/src/pages/Commissions/helper.jsx index c4944095..d15f9184 100644 --- a/new-lamassu-admin/src/pages/Commissions/helper.jsx +++ b/new-lamassu-admin/src/pages/Commissions/helper.jsx @@ -2,7 +2,7 @@ import * as R from 'ramda' import React from 'react' import TxInIcon from 'src/styling/icons/direction/cash-in.svg?react' import TxOutIcon from 'src/styling/icons/direction/cash-out.svg?react' -import { v4 } from 'uuid' +import { v4 as uuidv4 } from 'uuid' import * as Yup from 'yup' import { Autocomplete, NumberInput } from 'src/components/inputs/formik' @@ -426,7 +426,7 @@ const createCommissions = (cryptoCode, deviceId, isDefault, config) => { machine: deviceId, cryptoCurrencies: [cryptoCode], default: isDefault, - id: v4() + id: uuidv4() } } diff --git a/new-lamassu-admin/src/pages/Customers/helper.jsx b/new-lamassu-admin/src/pages/Customers/helper.jsx index 20262137..86285b94 100644 --- a/new-lamassu-admin/src/pages/Customers/helper.jsx +++ b/new-lamassu-admin/src/pages/Customers/helper.jsx @@ -6,7 +6,7 @@ import { Field, useFormikContext } from 'formik' import { parsePhoneNumberFromString } from 'libphonenumber-js' import * as R from 'ramda' import { H4 } from 'src/components/typography' -import * as uuid from 'uuid' +import { validate as uuidValidate } from 'uuid'; import * as Yup from 'yup' import { @@ -84,7 +84,7 @@ const getAuthorizedStatus = (it, triggers, customRequests) => { const pendingFieldStatus = R.map(ite => { if (isManualField(ite)) { - if (uuid.validate(ite)) { + if (uuidValidate(ite)) { const request = R.find( iter => iter.infoRequestId === ite, it.customInfoRequests @@ -103,7 +103,7 @@ const getAuthorizedStatus = (it, triggers, customRequests) => { const rejectedFieldStatus = R.map(ite => { if (isManualField(ite)) { - if (uuid.validate(ite)) { + if (uuidValidate(ite)) { const request = R.find( iter => iter.infoRequestId === ite, it.customInfoRequests diff --git a/new-lamassu-admin/src/pages/Triggers/TriggerView.jsx b/new-lamassu-admin/src/pages/Triggers/TriggerView.jsx index ce019a14..1af0c181 100644 --- a/new-lamassu-admin/src/pages/Triggers/TriggerView.jsx +++ b/new-lamassu-admin/src/pages/Triggers/TriggerView.jsx @@ -3,7 +3,7 @@ import { makeStyles, Box } from '@material-ui/core' import * as R from 'ramda' import React, { useState } from 'react' import { H2 } from 'src/components/typography' -import { v4 } from 'uuid' +import { v4 as uuidv4 } from 'uuid' import { Button } from 'src/components/buttons' import { Table as EditableTable } from 'src/components/editableTable' @@ -51,7 +51,7 @@ const TriggerView = ({ } const add = rawConfig => { - const toSave = R.concat([{ id: v4(), direction: 'both', ...rawConfig }])( + const toSave = R.concat([{ id: uuidv4(), direction: 'both', ...rawConfig }])( triggers ) return saveConfig({ variables: { config: { triggers: toServer(toSave) } } }) From f31151b80b06be5e05f98f933fc9d65441e8340e Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Fri, 11 Apr 2025 10:38:20 +0100 Subject: [PATCH 04/85] chore: update react to v17 --- new-lamassu-admin/package-lock.json | 367 ++++-------------- new-lamassu-admin/package.json | 11 +- .../src/components/inputs/base/CodeInput.jsx | 20 +- .../inputs/base/CodeInput.styles.js | 14 +- .../src/pages/AddMachine/AddMachine.jsx | 4 +- .../pages/Authentication/Input2FAState.jsx | 1 - .../src/pages/Authentication/Reset2FA.jsx | 3 +- .../pages/Authentication/Setup2FAState.jsx | 2 +- new-lamassu-admin/src/pages/Funding.jsx | 2 +- .../UserManagement/modals/Input2FAModal.jsx | 1 - 10 files changed, 96 insertions(+), 329 deletions(-) diff --git a/new-lamassu-admin/package-lock.json b/new-lamassu-admin/package-lock.json index ca06c752..0036e122 100644 --- a/new-lamassu-admin/package-lock.json +++ b/new-lamassu-admin/package-lock.json @@ -30,21 +30,20 @@ "libphonenumber-js": "^1.11.15", "match-sorter": "^4.2.0", "pretty-ms": "^2.1.0", - "qrcode.react": "0.9.3", + "qrcode.react": "4.2.0", "ramda": "^0.26.1", - "react": "^16.12.0", + "react": "17.0.2", "react-copy-to-clipboard": "^5.0.2", - "react-dom": "^16.10.2", + "react-dom": "17.0.2", "react-dropzone": "^11.4.2", "react-material-ui-carousel": "^2.3.11", "react-number-format": "^4.4.1", - "react-otp-input": "^2.3.0", + "react-otp-input": "3.1.1", "react-router-dom": "5.1.2", - "react-use": "15.3.2", "react-virtualized": "^9.21.2", "ua-parser-js": "1.0.40", "uuid": "11.1.0", - "yup": "1.4.0" + "yup": "1.6.1" }, "devDependencies": { "@eslint/js": "^9.16.0", @@ -1200,6 +1199,7 @@ "version": "1.5.0", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true, "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { @@ -1447,16 +1447,6 @@ "react-dom": "^16.8.0 || ^17.0.0" } }, - "node_modules/@reach/auto-id": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@reach/auto-id/-/auto-id-0.2.0.tgz", - "integrity": "sha512-lVK/svL2HuQdp7jgvlrLkFsUx50Az9chAhxpiPwBqcS83I2pVWvXp98FOcSCCJCV++l115QmzHhFd+ycw1zLBg==", - "license": "MIT", - "peerDependencies": { - "react": "^16.8.0", - "react-dom": "^16.8.0" - } - }, "node_modules/@rollup/pluginutils": { "version": "5.1.4", "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.4.tgz", @@ -2237,12 +2227,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/js-cookie": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/@types/js-cookie/-/js-cookie-2.2.6.tgz", - "integrity": "sha512-+oY0FDTO2GYKEV0YPvSshGq9t7YozVkgvXLty7zogQNuCxBhT9/3INX9Q7H1aRZ4SUDRXAKlJuA4EA5nTt7SNw==", - "license": "MIT" - }, "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", @@ -2351,12 +2335,6 @@ "node": ">=8" } }, - "node_modules/@xobotyi/scrollbar-width": { - "version": "1.9.5", - "resolved": "https://registry.npmjs.org/@xobotyi/scrollbar-width/-/scrollbar-width-1.9.5.tgz", - "integrity": "sha512-N8tkAACJx2ww8vFMneJmaAgmjAG1tnVBZJRLRcx061tmsLRZHSEZSLuGWnwPtunsSLvSqXQ2wfp7Mgqg1I+2dQ==", - "license": "MIT" - }, "node_modules/acorn": { "version": "8.14.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", @@ -3338,28 +3316,6 @@ "integrity": "sha512-DIT51nX0dCfKltpRiXV+/TVZq+Qq2NgF4644+K7Ttnla7zEzqc+kjJyiB96BHNyUTBxyjzRcZYpUdZa+QAqi6Q==", "license": "MIT" }, - "node_modules/css-in-js-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/css-in-js-utils/-/css-in-js-utils-3.1.0.tgz", - "integrity": "sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A==", - "license": "MIT", - "dependencies": { - "hyphenate-style-name": "^1.0.3" - } - }, - "node_modules/css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "license": "MIT", - "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/css-vendor": { "version": "2.0.8", "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-2.0.8.tgz", @@ -3895,12 +3851,49 @@ "react": ">=0.14.9" } }, + "node_modules/downshift/node_modules/@reach/auto-id": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@reach/auto-id/-/auto-id-0.2.0.tgz", + "integrity": "sha512-lVK/svL2HuQdp7jgvlrLkFsUx50Az9chAhxpiPwBqcS83I2pVWvXp98FOcSCCJCV++l115QmzHhFd+ycw1zLBg==", + "license": "MIT", + "peerDependencies": { + "react": "^16.8.0", + "react-dom": "^16.8.0" + } + }, + "node_modules/downshift/node_modules/react-dom": { + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", + "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", + "license": "MIT", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.19.1" + }, + "peerDependencies": { + "react": "^16.14.0" + } + }, "node_modules/downshift/node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "license": "MIT" }, + "node_modules/downshift/node_modules/scheduler": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", + "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", + "license": "MIT", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, "node_modules/dunder-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", @@ -3997,15 +3990,6 @@ "is-arrayish": "^0.2.1" } }, - "node_modules/error-stack-parser": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", - "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", - "license": "MIT", - "dependencies": { - "stackframe": "^1.3.4" - } - }, "node_modules/es-abstract": { "version": "1.23.9", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.9.tgz", @@ -4543,6 +4527,7 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, "license": "MIT" }, "node_modules/fast-json-stable-stringify": { @@ -4559,17 +4544,6 @@ "dev": true, "license": "MIT" }, - "node_modules/fast-shallow-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fast-shallow-equal/-/fast-shallow-equal-1.0.0.tgz", - "integrity": "sha512-HPtaa38cPgWvaCFmRNhlc6NG7pv6NUHqjPgVAkWGoB9mQMwYB27/K0CvOM5Czy+qpT3e8XJ6Q4aPAnzpNpzNaw==" - }, - "node_modules/fastest-stable-stringify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fastest-stable-stringify/-/fastest-stable-stringify-2.0.2.tgz", - "integrity": "sha512-bijHueCGd0LqqNK9b5oCMHc0MluJAx0cwqASgbWMvkO01lCYgIhacVRLcaDz3QnyYIRNJRDwMb41VuT6pHJ91Q==", - "license": "MIT" - }, "node_modules/file-entry-cache": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", @@ -5227,15 +5201,6 @@ "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", "license": "ISC" }, - "node_modules/inline-style-prefixer": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/inline-style-prefixer/-/inline-style-prefixer-7.0.1.tgz", - "integrity": "sha512-lhYo5qNTQp3EvSSp3sRvXMbVQTLrvGV6DycRMJ5dm2BLMiJ30wpXKdDdgX+GmJZ5uQMucwRKHamXSst3Sj/Giw==", - "license": "MIT", - "dependencies": { - "css-in-js-utils": "^3.1.0" - } - }, "node_modules/internal-slot": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", @@ -5729,12 +5694,6 @@ "node": ">= 0.4" } }, - "node_modules/js-cookie": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.1.tgz", - "integrity": "sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==", - "license": "MIT" - }, "node_modules/js-sha256": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/js-sha256/-/js-sha256-0.9.0.tgz", @@ -6293,12 +6252,6 @@ "safe-buffer": "^5.1.2" } }, - "node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", - "license": "CC0-1.0" - }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -6405,32 +6358,6 @@ "integrity": "sha512-DANghxFkS1plDdRsX0X9pm0Z6SJNN6gBdtXfanwoZ8hooC5gosGFSBGRYHUVPz1asKA/kMRqDRdHrluZ61SpBQ==", "license": "MIT" }, - "node_modules/nano-css": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/nano-css/-/nano-css-5.6.2.tgz", - "integrity": "sha512-+6bHaC8dSDGALM1HJjOHVXpuastdu2xFoZlC77Jh4cg+33Zcgm+Gxd+1xsnpZK14eyHObSp82+ll5y3SX75liw==", - "license": "Unlicense", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.15", - "css-tree": "^1.1.2", - "csstype": "^3.1.2", - "fastest-stable-stringify": "^2.0.2", - "inline-style-prefixer": "^7.0.1", - "rtl-css-js": "^1.16.1", - "stacktrace-js": "^2.0.2", - "stylis": "^4.3.0" - }, - "peerDependencies": { - "react": "*", - "react-dom": "*" - } - }, - "node_modules/nano-css/node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "license": "MIT" - }, "node_modules/nanoid": { "version": "3.3.11", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", @@ -6992,23 +6919,13 @@ "bitcoin-ops": "^1.3.0" } }, - "node_modules/qr.js": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/qr.js/-/qr.js-0.0.0.tgz", - "integrity": "sha512-c4iYnWb+k2E+vYpRimHqSu575b1/wKl4XFeJGpFmrJQz5I88v9aY2czh7s0w36srfCM1sXgC/xpoJz5dJfq+OQ==", - "license": "MIT" - }, "node_modules/qrcode.react": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/qrcode.react/-/qrcode.react-0.9.3.tgz", - "integrity": "sha512-gGd30Ez7cmrKxyN2M3nueaNLk/f9J7NDRgaD5fVgxGpPLsYGWMn9UQ+XnDpv95cfszTQTdaf4QGLNMf3xU0hmw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/qrcode.react/-/qrcode.react-4.2.0.tgz", + "integrity": "sha512-QpgqWi8rD9DsS9EP3z7BT+5lY5SFhsqGjpgW5DY/i3mK4M9DTBNz3ErMi8BWYEfI3L0d8GIbGmcdFAS1uIRGjA==", "license": "ISC", - "dependencies": { - "prop-types": "^15.6.0", - "qr.js": "0.0.0" - }, "peerDependencies": { - "react": "^15.5.3 || ^16.0.0" + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "node_modules/ramda": { @@ -7027,14 +6944,13 @@ } }, "node_modules/react": { - "version": "16.14.0", - "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", - "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", + "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2" + "object-assign": "^4.1.1" }, "engines": { "node": ">=0.10.0" @@ -7054,24 +6970,23 @@ } }, "node_modules/react-dom": { - "version": "16.14.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", - "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", + "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "scheduler": "^0.19.1" + "scheduler": "^0.20.2" }, "peerDependencies": { - "react": "^16.14.0" + "react": "17.0.2" } }, "node_modules/react-dom/node_modules/scheduler": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", - "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", + "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", @@ -7143,13 +7058,13 @@ } }, "node_modules/react-otp-input": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/react-otp-input/-/react-otp-input-2.4.0.tgz", - "integrity": "sha512-AIgl7u4sS9BTNCxX1xlaS5fPWay/Zml8Ho5LszXZKXrH1C/TiFsTQGmtl13UecQYO3mSF3HUzG2rrDf0sjEFmg==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/react-otp-input/-/react-otp-input-3.1.1.tgz", + "integrity": "sha512-bjPavgJ0/Zmf/AYi4onj8FbH93IjeD+e8pWwxIJreDEWsU1ILR5fs8jEJmMGWSBe/yyvPP6X/W6Mk9UkOCkTPw==", "license": "MIT", "peerDependencies": { - "react": "^16.2.0", - "react-dom": "^16.2.0" + "react": ">=16.8.6 || ^17.0.0 || ^18.0.0", + "react-dom": ">=16.8.6 || ^17.0.0 || ^18.0.0" } }, "node_modules/react-router": { @@ -7222,41 +7137,6 @@ "react-dom": ">=16.6.0" } }, - "node_modules/react-universal-interface": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/react-universal-interface/-/react-universal-interface-0.6.2.tgz", - "integrity": "sha512-dg8yXdcQmvgR13RIlZbTRQOoUrDciFVoSBZILwjE2LFISxZZ8loVJKAkuzswl5js8BHda79bIb2b84ehU8IjXw==", - "peerDependencies": { - "react": "*", - "tslib": "*" - } - }, - "node_modules/react-use": { - "version": "15.3.2", - "resolved": "https://registry.npmjs.org/react-use/-/react-use-15.3.2.tgz", - "integrity": "sha512-DAbc+pVedZC4P5rLBKdIvTTB03+4T/pR6jZ2pKQPgqfq4UC1Oymmbehon5z8XXSUgZs0tgIvbBzVEdiWMS9k+g==", - "license": "Unlicense", - "dependencies": { - "@types/js-cookie": "2.2.6", - "@xobotyi/scrollbar-width": "1.9.5", - "copy-to-clipboard": "^3.2.0", - "fast-deep-equal": "^3.1.3", - "fast-shallow-equal": "^1.0.0", - "js-cookie": "^2.2.1", - "nano-css": "^5.2.1", - "react-universal-interface": "^0.6.2", - "resize-observer-polyfill": "^1.5.1", - "screenfull": "^5.0.0", - "set-harmonic-interval": "^1.0.1", - "throttle-debounce": "^2.1.0", - "ts-easing": "^0.2.0", - "tslib": "^2.0.0" - }, - "peerDependencies": { - "react": "^16.8.0", - "react-dom": "^16.8.0" - } - }, "node_modules/react-virtualized": { "version": "9.22.6", "resolved": "https://registry.npmjs.org/react-virtualized/-/react-virtualized-9.22.6.tgz", @@ -7382,12 +7262,6 @@ "integrity": "sha512-7pXIJqJOq5tFgG1A2Zxti3Ht8jJF337m4sowbuHsW30ZnkQFnDzy9qBNhgzX8ZLW4+UBcXiiR7SwR6pokHsxiA==", "license": "MIT" }, - "node_modules/resize-observer-polyfill": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", - "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==", - "license": "MIT" - }, "node_modules/resolve": { "version": "2.0.0-next.5", "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", @@ -7512,15 +7386,6 @@ "fsevents": "~2.3.2" } }, - "node_modules/rtl-css-js": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/rtl-css-js/-/rtl-css-js-1.16.1.tgz", - "integrity": "sha512-lRQgou1mu19e+Ya0LsTvKrVJ5TYUbqCVPAiImX3UfLTenarvPUl1QFdvu5Z3PYmHT9RCcwIfbjRQBntExyj3Zg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.1.2" - } - }, "node_modules/rw": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", @@ -7632,18 +7497,6 @@ "object-assign": "^4.1.1" } }, - "node_modules/screenfull": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/screenfull/-/screenfull-5.2.0.tgz", - "integrity": "sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -7688,15 +7541,6 @@ "node": ">= 0.4" } }, - "node_modules/set-harmonic-interval": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/set-harmonic-interval/-/set-harmonic-interval-1.0.1.tgz", - "integrity": "sha512-AhICkFV84tBP1aWqPwLZqFvAwqEoVA9kxNMniGEUvzOlm4vLmOFLiTT3UZ6bziJTy4bOVpzWGTfSCbmaayGx8g==", - "license": "Unlicense", - "engines": { - "node": ">=6.9" - } - }, "node_modules/set-proto": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", @@ -7884,15 +7728,6 @@ "tslib": "^2.0.3" } }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/source-map-js": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", @@ -7903,51 +7738,6 @@ "node": ">=0.10.0" } }, - "node_modules/stack-generator": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/stack-generator/-/stack-generator-2.0.10.tgz", - "integrity": "sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==", - "license": "MIT", - "dependencies": { - "stackframe": "^1.3.4" - } - }, - "node_modules/stackframe": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", - "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", - "license": "MIT" - }, - "node_modules/stacktrace-gps": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/stacktrace-gps/-/stacktrace-gps-3.1.2.tgz", - "integrity": "sha512-GcUgbO4Jsqqg6RxfyTHFiPxdPqF+3LFmQhm7MgCuYQOYuWyqxo5pwRPz5d/u6/WYJdEnWfK4r+jGbyD8TSggXQ==", - "license": "MIT", - "dependencies": { - "source-map": "0.5.6", - "stackframe": "^1.3.4" - } - }, - "node_modules/stacktrace-gps/node_modules/source-map": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stacktrace-js": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stacktrace-js/-/stacktrace-js-2.0.2.tgz", - "integrity": "sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg==", - "license": "MIT", - "dependencies": { - "error-stack-parser": "^2.0.6", - "stack-generator": "^2.0.5", - "stacktrace-gps": "^3.0.4" - } - }, "node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -8131,12 +7921,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/stylis": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.6.tgz", - "integrity": "sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==", - "license": "MIT" - }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -8179,15 +7963,6 @@ "node": ">=0.10" } }, - "node_modules/throttle-debounce": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-2.3.0.tgz", - "integrity": "sha512-H7oLPV0P7+jgvrk+6mwwwBDmxTaxnu9HMXmloNLXwnNO0ZxZ31Orah2n8lU1eMPvsaowP2CX+USCgyovXfdOFQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/tiny-case": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/tiny-case/-/tiny-case-1.0.3.tgz", @@ -8248,12 +8023,6 @@ "integrity": "sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==", "license": "MIT" }, - "node_modules/ts-easing": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/ts-easing/-/ts-easing-0.2.0.tgz", - "integrity": "sha512-Z86EW+fFFh/IFB1fqQ3/+7Zpf9t2ebOAxNI/V6Wo7r5gqiqtxmgTlQ1qbqQcjLKYeSHPTsEmvlJUDg/EuL0uHQ==", - "license": "Unlicense" - }, "node_modules/ts-invariant": { "version": "0.10.3", "resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.10.3.tgz", @@ -8784,9 +8553,9 @@ } }, "node_modules/yup": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/yup/-/yup-1.4.0.tgz", - "integrity": "sha512-wPbgkJRCqIf+OHyiTBQoJiP5PFuAXaWiJK6AmYkzQAh5/c2K9hzSApBZG5wV9KoKSePF7sAxmNSvh/13YHkFDg==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/yup/-/yup-1.6.1.tgz", + "integrity": "sha512-JED8pB50qbA4FOkDol0bYF/p60qSEDQqBD0/qeIrUCG1KbPBIQ776fCUNb9ldbPcSTxA69g/47XTo4TqWiuXOA==", "license": "MIT", "dependencies": { "property-expr": "^2.0.5", diff --git a/new-lamassu-admin/package.json b/new-lamassu-admin/package.json index 47a0c572..0cc7f7fe 100644 --- a/new-lamassu-admin/package.json +++ b/new-lamassu-admin/package.json @@ -25,21 +25,20 @@ "libphonenumber-js": "^1.11.15", "match-sorter": "^4.2.0", "pretty-ms": "^2.1.0", - "qrcode.react": "0.9.3", + "qrcode.react": "4.2.0", "ramda": "^0.26.1", - "react": "^16.12.0", + "react": "17.0.2", "react-copy-to-clipboard": "^5.0.2", - "react-dom": "^16.10.2", + "react-dom": "17.0.2", "react-dropzone": "^11.4.2", "react-material-ui-carousel": "^2.3.11", "react-number-format": "^4.4.1", - "react-otp-input": "^2.3.0", + "react-otp-input": "3.1.1", "react-router-dom": "5.1.2", - "react-use": "15.3.2", "react-virtualized": "^9.21.2", "ua-parser-js": "1.0.40", "uuid": "11.1.0", - "yup": "1.4.0" + "yup": "1.6.1" }, "devDependencies": { "@eslint/js": "^9.16.0", diff --git a/new-lamassu-admin/src/components/inputs/base/CodeInput.jsx b/new-lamassu-admin/src/components/inputs/base/CodeInput.jsx index a2d0f09d..b694cbe1 100644 --- a/new-lamassu-admin/src/components/inputs/base/CodeInput.jsx +++ b/new-lamassu-admin/src/components/inputs/base/CodeInput.jsx @@ -17,8 +17,7 @@ const CodeInput = ({ numInputs, error, inputStyle, - containerStyle, - ...props + containerStyle }) => { const classes = useStyles() const typographyClasses = useTypographyStyles() @@ -29,18 +28,21 @@ const CodeInput = ({ value={value} onChange={onChange} numInputs={numInputs} - separator={ } + renderSeparator={ } + shouldAutoFocus containerStyle={classnames(containerStyle, classes.container)} inputStyle={classnames( inputStyle, classes.input, - typographyClasses.confirmationCode + typographyClasses.confirmationCode, + error && classes.error + )} + inputType={'tel'} + renderInput={(props) => ( + )} - focusStyle={classes.focus} - errorStyle={classes.error} - hasErrored={error} - isInputNum={true} - {...props} /> ) } diff --git a/new-lamassu-admin/src/components/inputs/base/CodeInput.styles.js b/new-lamassu-admin/src/components/inputs/base/CodeInput.styles.js index 0f0bba93..dcea511c 100644 --- a/new-lamassu-admin/src/components/inputs/base/CodeInput.styles.js +++ b/new-lamassu-admin/src/components/inputs/base/CodeInput.styles.js @@ -6,15 +6,15 @@ const styles = { height: '5rem', border: '2px solid', borderColor: zircon, - borderRadius: '4px' - }, - focus: { - border: '2px solid', - borderColor: primaryColor, borderRadius: '4px', '&:focus': { - outline: 'none' - } + border: '2px solid', + borderColor: primaryColor, + borderRadius: '4px', + '&:focus': { + outline: 'none' + } + }, }, error: { borderColor: errorColor diff --git a/new-lamassu-admin/src/pages/AddMachine/AddMachine.jsx b/new-lamassu-admin/src/pages/AddMachine/AddMachine.jsx index 7bb7f0af..ed2c20ac 100644 --- a/new-lamassu-admin/src/pages/AddMachine/AddMachine.jsx +++ b/new-lamassu-admin/src/pages/AddMachine/AddMachine.jsx @@ -3,7 +3,7 @@ import { Dialog, DialogContent, SvgIcon, IconButton } from '@material-ui/core' import { makeStyles } from '@material-ui/core/styles' import classnames from 'classnames' import { Form, Formik, FastField } from 'formik' -import QRCode from 'qrcode.react' +import {QRCodeSVG as QRCode} from 'qrcode.react' import * as R from 'ramda' import React, { memo, useState, useEffect, useRef } from 'react' import Title from 'src/components/Title' @@ -74,7 +74,7 @@ const QrCodeComponent = ({ classes, qrCode, name, count, onPaired }) => { diff --git a/new-lamassu-admin/src/pages/Authentication/Input2FAState.jsx b/new-lamassu-admin/src/pages/Authentication/Input2FAState.jsx index b5d7b3a1..8ed79809 100644 --- a/new-lamassu-admin/src/pages/Authentication/Input2FAState.jsx +++ b/new-lamassu-admin/src/pages/Authentication/Input2FAState.jsx @@ -116,7 +116,6 @@ const Input2FAState = ({ state, dispatch }) => { onChange={handle2FAChange} numInputs={6} error={invalidToken} - shouldAutoFocus /> - - + + {data && R.isEmpty(machines) && ( + )} - ) - ) + )} + {showHistory && ( + + )} + + {wizard && ( + { + setWizard(false) + }} + error={error?.message} + save={onSave} + locale={locale} + /> + )} + {editingSchema && ( + setEditingSchema(null)} + open={true}> +

+ We can automatically assume you emptied a bill validator's cash + box when the machine detects that it has been removed. +

+ +

+ Assume the cash box is emptied whenever it's removed, creating a + new batch on the history screen and setting its current balance to + zero. +

+ +

+ Cash boxes won't be assumed emptied when removed, nor their counts + modified. Instead, to update the count and create a new batch, + you'll click the 'Edit' button on this panel. +

+ + + +
+ )} + )); } export default CashCassettes diff --git a/new-lamassu-admin/src/pages/Maintenance/helper.jsx b/new-lamassu-admin/src/pages/Maintenance/helper.jsx index acc6ef1e..19e21f60 100644 --- a/new-lamassu-admin/src/pages/Maintenance/helper.jsx +++ b/new-lamassu-admin/src/pages/Maintenance/helper.jsx @@ -132,10 +132,11 @@ const getElements = ( onClick={() => { !R.isNil(setMachineId) && setMachineId(m.id ?? m.deviceId) setWizard(true) - }}> + }} + size="large"> - ) + ); } } ] diff --git a/new-lamassu-admin/src/pages/Notifications/components/EditHeader.jsx b/new-lamassu-admin/src/pages/Notifications/components/EditHeader.jsx index 39de01cd..45b6c744 100644 --- a/new-lamassu-admin/src/pages/Notifications/components/EditHeader.jsx +++ b/new-lamassu-admin/src/pages/Notifications/components/EditHeader.jsx @@ -20,7 +20,8 @@ const Header = ({ title, editing, disabled, setEditing }) => { setEditing(true)} className={classes.button} - disabled={disabled}> + disabled={disabled} + size="large"> {disabled ? : } )} @@ -35,7 +36,7 @@ const Header = ({ title, editing, disabled, setEditing }) => { )} - ) + ); } export default Header diff --git a/new-lamassu-admin/src/pages/OperatorInfo/ContactInfo.jsx b/new-lamassu-admin/src/pages/OperatorInfo/ContactInfo.jsx index 00f9e094..7e5d288c 100644 --- a/new-lamassu-admin/src/pages/OperatorInfo/ContactInfo.jsx +++ b/new-lamassu-admin/src/pages/OperatorInfo/ContactInfo.jsx @@ -221,7 +221,8 @@ const ContactInfo = ({ wizard }) => { {!editing && ( setEditing(true)}> + onClick={() => setEditing(true)} + size="large"> )} @@ -311,7 +312,7 @@ const ContactInfo = ({ wizard }) => { )} - ) + ); } export default ContactInfo diff --git a/new-lamassu-admin/src/pages/OperatorInfo/SMSNotices/SMSNotices.jsx b/new-lamassu-admin/src/pages/OperatorInfo/SMSNotices/SMSNotices.jsx index 3a729e98..3c73dc0b 100644 --- a/new-lamassu-admin/src/pages/OperatorInfo/SMSNotices/SMSNotices.jsx +++ b/new-lamassu-admin/src/pages/OperatorInfo/SMSNotices/SMSNotices.jsx @@ -180,7 +180,8 @@ const SMSNotices = () => { setPreviewOpen(false) setSelectedSMS(it) setShowModal(true) - }}> + }} + size="large"> ) @@ -221,7 +222,8 @@ const SMSNotices = () => { R.equals(selectedSMS, it) ? setPreviewOpen(!previewOpen) : setPreviewOpen(true) - }}> + }} + size="large"> {R.equals(selectedSMS, it) && previewOpen ? ( ) : ( diff --git a/new-lamassu-admin/src/pages/OperatorInfo/TermsConditions.jsx b/new-lamassu-admin/src/pages/OperatorInfo/TermsConditions.jsx index 9f342b0f..e6b4519c 100644 --- a/new-lamassu-admin/src/pages/OperatorInfo/TermsConditions.jsx +++ b/new-lamassu-admin/src/pages/OperatorInfo/TermsConditions.jsx @@ -233,7 +233,8 @@ const TermsConditions = () => { {!editing && ( setEditing(true)}> + onClick={() => setEditing(true)} + size="large"> )} @@ -287,7 +288,7 @@ const TermsConditions = () => { )}
- ) + ); } export default TermsConditions diff --git a/new-lamassu-admin/src/pages/Services/schemas/bitgo.js b/new-lamassu-admin/src/pages/Services/schemas/bitgo.js index c440e60d..07c2705b 100644 --- a/new-lamassu-admin/src/pages/Services/schemas/bitgo.js +++ b/new-lamassu-admin/src/pages/Services/schemas/bitgo.js @@ -144,6 +144,6 @@ export default { environment: Yup.string('The environment must be a string') .matches(/(prod|test)/) .required('The environment is required') - }) + }); } } diff --git a/new-lamassu-admin/src/pages/Services/schemas/galoy.js b/new-lamassu-admin/src/pages/Services/schemas/galoy.js index 1ecedbfb..d98a07f4 100644 --- a/new-lamassu-admin/src/pages/Services/schemas/galoy.js +++ b/new-lamassu-admin/src/pages/Services/schemas/galoy.js @@ -57,6 +57,6 @@ export default { endpoint: Yup.string('The endpoint must be a string') .max(100, 'The endpoint is too long') .required('The endpoint is required') - }) + }); } } diff --git a/new-lamassu-admin/src/pages/SessionManagement/SessionManagement.jsx b/new-lamassu-admin/src/pages/SessionManagement/SessionManagement.jsx index 671eb3ad..a9fb8d23 100644 --- a/new-lamassu-admin/src/pages/SessionManagement/SessionManagement.jsx +++ b/new-lamassu-admin/src/pages/SessionManagement/SessionManagement.jsx @@ -98,7 +98,8 @@ const SessionManagement = () => { { deleteSession({ variables: { sid: s.sid } }) - }}> + }} + size="large"> ) diff --git a/new-lamassu-admin/src/pages/Transactions/CopyToClipboard.jsx b/new-lamassu-admin/src/pages/Transactions/CopyToClipboard.jsx index a4302542..12ca1097 100644 --- a/new-lamassu-admin/src/pages/Transactions/CopyToClipboard.jsx +++ b/new-lamassu-admin/src/pages/Transactions/CopyToClipboard.jsx @@ -71,7 +71,7 @@ const CopyToClipboard = ({ )} - ) + ); } export default CopyToClipboard diff --git a/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/CustomInfoRequests.jsx b/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/CustomInfoRequests.jsx index 97947e42..31d3a9ef 100644 --- a/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/CustomInfoRequests.jsx +++ b/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/CustomInfoRequests.jsx @@ -178,121 +178,118 @@ const CustomInfoRequests = ({ ) - return ( - !configLoading && ( - <> - {customRequests.length > 0 && ( - it.customRequest.name - }, - { - header: 'Data entry type', - width: 300, - textAlign: 'left', - size: 'sm', - view: it => inputTypeDisplay[it.customRequest.input.type] - }, - { - header: 'Constraints', - width: 300, - textAlign: 'left', - size: 'sm', - view: it => - constraintTypeDisplay[it.customRequest.input.constraintType] - }, - { - header: 'Edit', - width: 100, - textAlign: 'center', - size: 'sm', - view: it => { - return ( - { - setToBeEdited(it) - return toggleWizard() - }}> - - - ) - } - }, - { - header: 'Delete', - width: 100, - textAlign: 'center', - size: 'sm', - view: it => { - return ( - { - setToBeDeleted(it.id) - return setDeleteDialog(true) - }}> - - - ) - } - } - ]} - data={customRequests} - Details={DetailsRow} - expandable - rowSize="sm" - /> - )} - {!customRequests.length && ( -
- - It seems you haven't added any custom information requests yet. - - - Please read our{' '} - - Support Article - {' '} - on Compliance before adding new information requests. - - -
- )} - {showWizard && ( - { - setToBeEdited(null) - setHasError(false) - toggleWizard() - }} - toBeEdited={toBeEdited} - onSave={(...args) => handleSave(...args)} - existingRequirements={customRequests} - /> - )} - - { - setDeleteDialog(false) - setHasError(false) - }} - item={`custom information request`} - extraMessage={detailedDeleteMsg} - onConfirmed={() => handleDelete(toBeDeleted)} - /> - - ) - ) + return (!configLoading && (<> + {customRequests.length > 0 && ( + it.customRequest.name + }, + { + header: 'Data entry type', + width: 300, + textAlign: 'left', + size: 'sm', + view: it => inputTypeDisplay[it.customRequest.input.type] + }, + { + header: 'Constraints', + width: 300, + textAlign: 'left', + size: 'sm', + view: it => + constraintTypeDisplay[it.customRequest.input.constraintType] + }, + { + header: 'Edit', + width: 100, + textAlign: 'center', + size: 'sm', + view: it => { + return ( + { + setToBeEdited(it) + return toggleWizard() + }} + size="large"> + + + ); + } + }, + { + header: 'Delete', + width: 100, + textAlign: 'center', + size: 'sm', + view: it => { + return ( + { + setToBeDeleted(it.id) + return setDeleteDialog(true) + }} + size="large"> + + + ); + } + } + ]} + data={customRequests} + Details={DetailsRow} + expandable + rowSize="sm" + /> + )} + {!customRequests.length && ( +
+ + It seems you haven't added any custom information requests yet. + + + Please read our{' '} + + Support Article + {' '} + on Compliance before adding new information requests. + + +
+ )} + {showWizard && ( + { + setToBeEdited(null) + setHasError(false) + toggleWizard() + }} + toBeEdited={toBeEdited} + onSave={(...args) => handleSave(...args)} + existingRequirements={customRequests} + /> + )} + { + setDeleteDialog(false) + setHasError(false) + }} + item={`custom information request`} + extraMessage={detailedDeleteMsg} + onConfirmed={() => handleDelete(toBeDeleted)} + /> + )); } export default CustomInfoRequests diff --git a/new-lamassu-admin/src/pages/Triggers/components/helper.js b/new-lamassu-admin/src/pages/Triggers/components/helper.js index f1ab47b3..70ab864f 100644 --- a/new-lamassu-admin/src/pages/Triggers/components/helper.js +++ b/new-lamassu-admin/src/pages/Triggers/components/helper.js @@ -63,7 +63,7 @@ const getOverridesSchema = (values, customInfoRequests) => { .label('Automation') .matches(/(Manual|Automatic)/) .required() - }) + }); } const getDefaultSettings = () => { diff --git a/new-lamassu-admin/src/pages/Wallet/WizardStep.jsx b/new-lamassu-admin/src/pages/Wallet/WizardStep.jsx index d8d5f39a..c3a0c270 100644 --- a/new-lamassu-admin/src/pages/Wallet/WizardStep.jsx +++ b/new-lamassu-admin/src/pages/Wallet/WizardStep.jsx @@ -165,7 +165,7 @@ const WizardStep = ({ fullWidth label={`Select ${displayName}`} className={classes.picker} - getOptionSelected={R.eqProps('code')} + isOptionEqualToValue={R.eqProps('code')} labelProp={'display'} options={unfilled} onChange={(evt, it) => { @@ -194,7 +194,7 @@ const WizardStep = ({ )} - ) + ); } export default WizardStep diff --git a/new-lamassu-admin/src/pages/Wizard/components/Footer.jsx b/new-lamassu-admin/src/pages/Wizard/components/Footer.jsx index aaa78837..f4394a4e 100644 --- a/new-lamassu-admin/src/pages/Wizard/components/Footer.jsx +++ b/new-lamassu-admin/src/pages/Wizard/components/Footer.jsx @@ -52,13 +52,13 @@ function Footer({ currentStep, steps, subtitle, text, exImage, open, start }) { variant={'persistent'} classes={{ paperAnchorDockedBottom: classes.drawer }}>
- +

Setup Lamassu Admin

{subtitle} @@ -69,7 +69,7 @@ function Footer({ currentStep, steps, subtitle, text, exImage, open, start }) { xs={4} container direction="column" - justify="flex-start" + justifyContent="flex-start" alignItems="flex-end" spacing={5}> @@ -83,14 +83,14 @@ function Footer({ currentStep, steps, subtitle, text, exImage, open, start }) { { @@ -104,7 +104,7 @@ function Footer({ currentStep, steps, subtitle, text, exImage, open, start }) { xs={4} container direction="column" - justify="flex-start" + justifyContent="flex-start" alignItems="flex-end" spacing={5}> @@ -129,7 +129,7 @@ function Footer({ currentStep, steps, subtitle, text, exImage, open, start }) { - ) + ); } export default Footer diff --git a/new-lamassu-admin/src/styling/theme.js b/new-lamassu-admin/src/styling/theme.js index db730113..77e8e2b4 100644 --- a/new-lamassu-admin/src/styling/theme.js +++ b/new-lamassu-admin/src/styling/theme.js @@ -1,4 +1,4 @@ -import { createTheme } from '@mui/material/styles' +import { createTheme, adaptV4Theme } from '@mui/material/styles'; import typographyStyles from 'src/components/typography/styles' @@ -18,7 +18,7 @@ import { const { p } = typographyStyles -export default createTheme({ +export default createTheme(adaptV4Theme({ typography: { fontFamily: inputFontFamily, body1: { ...p } @@ -158,4 +158,4 @@ export default createTheme({ } } } -}) +})) From 4f9b23b10841a82726565a40ca89c6639540d213 Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Tue, 15 Apr 2025 12:11:07 +0100 Subject: [PATCH 18/85] partial: second codemod --- new-lamassu-admin/src/components/inputs/base/Dropdown.jsx | 5 +++-- new-lamassu-admin/src/components/inputs/base/TextInput.jsx | 6 +++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/new-lamassu-admin/src/components/inputs/base/Dropdown.jsx b/new-lamassu-admin/src/components/inputs/base/Dropdown.jsx index 6e717900..5446f2c7 100644 --- a/new-lamassu-admin/src/components/inputs/base/Dropdown.jsx +++ b/new-lamassu-admin/src/components/inputs/base/Dropdown.jsx @@ -7,9 +7,10 @@ import React from 'react' const Dropdown = ({ label, name, options, onChange, value, className }) => { return ( - + {label} - ) + ); } export default Dropdown diff --git a/new-lamassu-admin/src/components/inputs/base/TextInput.jsx b/new-lamassu-admin/src/components/inputs/base/TextInput.jsx index 93ddd83a..d6426aae 100644 --- a/new-lamassu-admin/src/components/inputs/base/TextInput.jsx +++ b/new-lamassu-admin/src/components/inputs/base/TextInput.jsx @@ -35,6 +35,7 @@ const TextInput = memo( return ( - ) + {...props} /> + ); } ) From c6c3feb3b4d8a94854fdad9bfb6386e3b0d515d0 Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Mon, 21 Apr 2025 09:12:41 +0100 Subject: [PATCH 19/85] partial: css update --- new-lamassu-admin/package-lock.json | 49 ++++++------------- new-lamassu-admin/src/App.jsx | 13 ++--- new-lamassu-admin/src/components/Carousel.jsx | 2 +- new-lamassu-admin/src/components/Chip.jsx | 2 +- .../src/components/CollapsibleCard.jsx | 2 +- .../src/components/ConfirmDialog.jsx | 2 +- .../src/components/DeleteDialog.jsx | 2 +- .../src/components/ErrorMessage.jsx | 2 +- .../src/components/ImagePopper.jsx | 3 +- .../src/components/InfoMessage.jsx | 3 +- .../src/components/InformativeDialog.jsx | 3 +- .../src/components/LogsDownloaderPopper.jsx | 3 +- new-lamassu-admin/src/components/Modal.jsx | 3 +- .../NotificationCenter/NotificationCenter.jsx | 2 +- .../NotificationCenter/NotificationRow.jsx | 2 +- new-lamassu-admin/src/components/Popper.jsx | 3 +- .../src/components/SearchBox.jsx | 16 +++--- .../src/components/SearchFilter.jsx | 2 +- new-lamassu-admin/src/components/Stage.jsx | 2 +- new-lamassu-admin/src/components/Status.jsx | 2 +- new-lamassu-admin/src/components/Stepper.jsx | 2 +- new-lamassu-admin/src/components/Subtitle.jsx | 2 +- new-lamassu-admin/src/components/Title.jsx | 2 +- new-lamassu-admin/src/components/Tooltip.jsx | 3 +- new-lamassu-admin/src/components/Uptime.jsx | 2 +- .../BooleanPropertiesTable.jsx | 2 +- .../src/components/buttons/ActionButton.jsx | 2 +- .../src/components/buttons/AddButton.jsx | 2 +- .../components/buttons/BaseButton.styles.js | 5 ++ .../src/components/buttons/Button.jsx | 2 +- .../src/components/buttons/DeleteButton.jsx | 2 +- .../src/components/buttons/FeatureButton.jsx | 2 +- .../src/components/buttons/IDButton.jsx | 2 +- .../src/components/buttons/IconButton.jsx | 3 +- .../src/components/buttons/Link.jsx | 2 +- .../src/components/buttons/Link.styles.js | 2 +- .../src/components/buttons/SubpageButton.jsx | 2 +- .../components/buttons/SupportLinkButton.jsx | 2 +- .../components/date-range-picker/Calendar.jsx | 2 +- .../date-range-picker/DateRangePicker.jsx | 2 +- .../src/components/date-range-picker/Tile.jsx | 2 +- .../editableProperty/EditableProperty.jsx | 2 +- .../src/components/editableTable/Header.jsx | 2 +- .../src/components/editableTable/Row.jsx | 2 +- .../src/components/editableTable/Table.jsx | 2 +- .../src/components/fake-table/Table.jsx | 2 +- .../components/inputs/base/Autocomplete.jsx | 28 ++++++----- .../src/components/inputs/base/Checkbox.jsx | 4 +- .../src/components/inputs/base/CodeInput.jsx | 2 +- .../src/components/inputs/base/RadioGroup.jsx | 4 +- .../src/components/inputs/base/Select.jsx | 2 +- .../src/components/inputs/base/Switch.jsx | 10 ++-- .../src/components/inputs/base/TextInput.jsx | 2 +- .../inputs/base/ToggleButtonGroup.jsx | 2 +- .../src/components/inputs/cashbox/Cashbox.jsx | 2 +- .../inputs/formik/CashCassetteInput.jsx | 2 +- .../src/components/layout/Header.jsx | 2 +- .../src/components/layout/Section.jsx | 2 +- .../src/components/layout/Sidebar.jsx | 2 +- .../src/components/layout/TitleSection.jsx | 3 +- .../machineActions/DiagnosticsModal.jsx | 2 +- .../machineActions/MachineActions.jsx | 2 +- .../single-row-table/SingleRowTable.jsx | 2 +- .../src/components/table/EmptyTable.jsx | 2 +- .../src/components/table/Table.jsx | 2 +- .../src/components/table/TableCell.jsx | 2 +- .../src/components/table/TableHeader.jsx | 2 +- .../src/components/table/TableRow.jsx | 2 +- .../src/components/tables/DataTable.jsx | 3 +- .../src/components/typography/index.jsx | 2 +- .../src/pages/AddMachine/AddMachine.jsx | 2 +- .../src/pages/Analytics/Analytics.jsx | 2 +- .../Analytics/components/LegendEntry.jsx | 2 +- .../components/tooltips/GraphTooltip.jsx | 2 +- .../components/wrappers/HourOfDayWrapper.jsx | 2 +- .../components/wrappers/OverTimeWrapper.jsx | 2 +- .../wrappers/TopMachinesWrapper.jsx | 2 +- .../wrappers/VolumeOverTimeWrapper.jsx | 2 +- .../pages/Authentication/Input2FAState.jsx | 2 +- .../pages/Authentication/InputFIDOState.jsx | 2 +- .../src/pages/Authentication/Login.jsx | 3 +- .../src/pages/Authentication/LoginCard.jsx | 2 +- .../src/pages/Authentication/LoginState.jsx | 2 +- .../src/pages/Authentication/Register.jsx | 3 +- .../src/pages/Authentication/Reset2FA.jsx | 3 +- .../pages/Authentication/ResetPassword.jsx | 3 +- .../pages/Authentication/Setup2FAState.jsx | 2 +- .../src/pages/Blacklist/Blacklist.jsx | 2 +- .../src/pages/Blacklist/BlacklistAdvanced.jsx | 2 +- .../src/pages/Blacklist/BlacklistModal.jsx | 2 +- .../src/pages/Blacklist/BlacklistTable.jsx | 2 +- .../src/pages/Cashout/Cashout.jsx | 2 +- .../src/pages/Cashout/WizardSplash.jsx | 2 +- .../src/pages/Cashout/WizardStep.jsx | 2 +- .../src/pages/Commissions/Commissions.jsx | 2 +- .../components/CommissionsList.jsx | 2 +- .../src/pages/Customers/CustomerData.jsx | 2 +- .../src/pages/Customers/CustomerNotes.jsx | 2 +- .../src/pages/Customers/CustomerPhotos.jsx | 3 +- .../src/pages/Customers/CustomerProfile.jsx | 2 +- .../src/pages/Customers/Customers.jsx | 3 +- .../src/pages/Customers/CustomersList.jsx | 2 +- .../src/pages/Customers/Wizard.jsx | 2 +- .../components/CreateCustomerModal.jsx | 2 +- .../components/CustomInfoRequestsData.jsx | 2 +- .../Customers/components/CustomerDetails.jsx | 3 +- .../Customers/components/CustomerSidebar.jsx | 2 +- .../Customers/components/EditableCard.jsx | 2 +- .../src/pages/Customers/components/Field.jsx | 2 +- .../Customers/components/FrontCameraPhoto.jsx | 2 +- .../Customers/components/IdCardPhotoCard.jsx | 3 +- .../pages/Customers/components/PhotosCard.jsx | 2 +- .../Customers/components/PhotosCarousel.jsx | 2 +- .../Customers/components/TransactionsList.jsx | 3 +- .../src/pages/Customers/components/Upload.jsx | 2 +- .../components/notes/NewNoteCard.jsx | 3 +- .../components/notes/NewNoteModal.jsx | 2 +- .../Customers/components/notes/NoteCard.jsx | 3 +- .../Customers/components/notes/NoteEdit.jsx | 3 +- .../components/propertyCard/PropertyCard.jsx | 2 +- .../src/pages/Customers/helper.jsx | 3 +- .../src/pages/Dashboard/Alerts/Alerts.jsx | 2 +- .../pages/Dashboard/Alerts/AlertsTable.jsx | 2 +- .../src/pages/Dashboard/Dashboard.jsx | 2 +- .../src/pages/Dashboard/Footer/Footer.jsx | 2 +- .../src/pages/Dashboard/LeftSide.jsx | 2 +- .../src/pages/Dashboard/RightSide.jsx | 2 +- .../Graphs/PercentageChart.jsx | 2 +- .../pages/Dashboard/SystemPerformance/Nav.jsx | 2 +- .../SystemPerformance/SystemPerformance.jsx | 2 +- .../Dashboard/SystemStatus/MachinesTable.jsx | 2 +- .../Dashboard/SystemStatus/SystemStatus.jsx | 2 +- new-lamassu-admin/src/pages/Funding.jsx | 2 +- .../src/pages/Locales/Locales.jsx | 2 +- .../LoyaltyPanel/IndividualDiscountModal.jsx | 2 +- .../LoyaltyPanel/IndividualDiscounts.jsx | 3 +- .../src/pages/LoyaltyPanel/PromoCodes.jsx | 3 +- .../pages/LoyaltyPanel/PromoCodesModal.jsx | 2 +- new-lamassu-admin/src/pages/MachineLogs.jsx | 2 +- .../MachineComponents/Cassettes/Cassettes.jsx | 2 +- .../Machines/MachineComponents/Details.jsx | 2 +- .../Machines/MachineComponents/Overview.jsx | 2 +- .../Transactions/DataTable.jsx | 3 +- .../Transactions/Transactions.jsx | 2 +- .../src/pages/Machines/MachineSidebar.jsx | 2 +- .../src/pages/Machines/Machines.jsx | 2 +- .../src/pages/Maintenance/CashUnitDetails.jsx | 2 +- .../src/pages/Maintenance/CashUnits.jsx | 3 +- .../src/pages/Maintenance/CashUnitsFooter.jsx | 2 +- .../src/pages/Maintenance/CashboxHistory.jsx | 2 +- .../pages/Maintenance/MachineDetailsCard.jsx | 2 +- .../Maintenance/MachineDetailsCard.styles.js | 2 +- .../src/pages/Maintenance/MachineStatus.jsx | 2 +- .../pages/Maintenance/Wizard/WizardSplash.jsx | 2 +- .../pages/Maintenance/Wizard/WizardStep.jsx | 2 +- .../Notifications/components/EditHeader.jsx | 2 +- .../components/EditableNumber.jsx | 2 +- .../sections/CryptoBalanceAlerts.jsx | 2 +- .../sections/FiatBalanceAlerts.jsx | 2 +- .../pages/Notifications/sections/Setup.jsx | 2 +- .../src/pages/OperatorInfo/CoinATMRadar.jsx | 2 +- .../src/pages/OperatorInfo/ContactInfo.jsx | 2 +- .../src/pages/OperatorInfo/MachineScreens.jsx | 2 +- .../pages/OperatorInfo/ReceiptPrinting.jsx | 2 +- .../OperatorInfo/SMSNotices/SMSNotices.jsx | 3 +- .../SMSNotices/SMSNoticesModal.jsx | 3 +- .../pages/OperatorInfo/TermsConditions.jsx | 2 +- new-lamassu-admin/src/pages/ServerLogs.jsx | 2 +- .../src/pages/Services/FormRenderer.jsx | 3 +- .../src/pages/Services/Services.jsx | 3 +- .../pages/Transactions/CopyToClipboard.jsx | 2 +- .../src/pages/Transactions/DetailsCard.jsx | 3 +- .../src/pages/Transactions/Transactions.jsx | 2 +- .../CustomInfoRequests/CustomInfoRequests.jsx | 2 +- .../CustomInfoRequests/DetailsCard.jsx | 2 +- .../Forms/TypeFields/ChoiceList.jsx | 2 +- .../Forms/TypeFields/NumericalEntry.jsx | 2 +- .../Forms/TypeFields/TextEntry.jsx | 2 +- .../Triggers/CustomInfoRequests/Wizard.jsx | 2 +- .../CustomInfoRequests/WizardSplash.jsx | 2 +- .../src/pages/Triggers/TriggerView.jsx | 3 +- .../src/pages/Triggers/Triggers.jsx | 3 +- .../src/pages/Triggers/Wizard.jsx | 2 +- .../src/pages/Triggers/helper.jsx | 3 +- .../pages/UserManagement/UserManagement.jsx | 3 +- .../UserManagement/modals/ChangeRoleModal.jsx | 2 +- .../UserManagement/modals/CreateUserModal.jsx | 2 +- .../UserManagement/modals/EnableUserModal.jsx | 2 +- .../pages/UserManagement/modals/FIDOModal.jsx | 2 +- .../UserManagement/modals/Input2FAModal.jsx | 2 +- .../UserManagement/modals/Reset2FAModal.jsx | 2 +- .../modals/ResetPasswordModal.jsx | 2 +- new-lamassu-admin/src/pages/Wallet/Wallet.jsx | 2 +- .../src/pages/Wallet/WizardSplash.jsx | 2 +- .../src/pages/Wallet/WizardStep.jsx | 2 +- new-lamassu-admin/src/pages/Wizard/Wizard.jsx | 3 +- .../pages/Wizard/components/Commissions.jsx | 2 +- .../src/pages/Wizard/components/Footer.jsx | 3 +- .../src/pages/Wizard/components/Locales.jsx | 2 +- .../src/pages/Wizard/components/Mailgun.jsx | 2 +- .../pages/Wizard/components/Notifications.jsx | 2 +- .../pages/Wizard/components/OperatorInfo.jsx | 2 +- .../src/pages/Wizard/components/Twilio.jsx | 3 +- .../pages/Wizard/components/Wallet/AllSet.jsx | 2 +- .../Wizard/components/Wallet/Blockcypher.jsx | 2 +- .../Wizard/components/Wallet/ChooseCoin.jsx | 2 +- .../components/Wallet/ChooseExchange.jsx | 2 +- .../Wizard/components/Wallet/ChooseTicker.jsx | 2 +- .../Wizard/components/Wallet/ChooseWallet.jsx | 2 +- .../pages/Wizard/components/Wallet/Wallet.jsx | 2 +- .../src/pages/Wizard/components/Welcome.jsx | 2 +- new-lamassu-admin/src/routing/routes.jsx | 2 +- new-lamassu-admin/src/styling/theme.js | 4 +- 213 files changed, 301 insertions(+), 279 deletions(-) diff --git a/new-lamassu-admin/package-lock.json b/new-lamassu-admin/package-lock.json index c2cbde59..15e9f98c 100644 --- a/new-lamassu-admin/package-lock.json +++ b/new-lamassu-admin/package-lock.json @@ -13,9 +13,6 @@ "@emotion/react": "^11.14.0", "@emotion/styled": "^11.14.0", "@lamassu/coins": "v1.6.1", - "@material-ui/core": "4.12.4", - "@material-ui/icons": "4.11.2", - "@material-ui/lab": "^4.0.0-alpha.61", "@mui/icons-material": "^5.17.1", "@mui/lab": "^5.0.0-alpha.170", "@mui/material": "^5.17.1", @@ -534,7 +531,8 @@ "version": "0.8.0", "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@emotion/is-prop-valid": { "version": "1.3.1", @@ -1453,6 +1451,7 @@ "integrity": "sha512-tr7xekNlM9LjA6pagJmL8QCgZXaubWUwkJnoYcMKd4gw/t4XiyvnTkjdGrUVicyB2BsdaAv1tvow45bPM4sSwQ==", "deprecated": "Material UI v4 doesn't receive active development since September 2021. See the guide https://mui.com/material-ui/migration/migration-v4/ to upgrade to v5.", "license": "MIT", + "peer": true, "dependencies": { "@babel/runtime": "^7.4.4", "@material-ui/styles": "^4.11.5", @@ -1491,6 +1490,7 @@ "integrity": "sha512-fQNsKX2TxBmqIGJCSi3tGTO/gZ+eJgWmMJkgDiOfyNaunNaxcklJQFaFogYcFl0qFuaEz1qaXYXboa/bUXVSOQ==", "deprecated": "You can now upgrade to @mui/icons. See the guide: https://mui.com/guides/migration-v4/", "license": "MIT", + "peer": true, "dependencies": { "@babel/runtime": "^7.4.4" }, @@ -1509,40 +1509,13 @@ } } }, - "node_modules/@material-ui/lab": { - "version": "4.0.0-alpha.61", - "resolved": "https://registry.npmjs.org/@material-ui/lab/-/lab-4.0.0-alpha.61.tgz", - "integrity": "sha512-rSzm+XKiNUjKegj8bzt5+pygZeckNLOr+IjykH8sYdVk7dE9y2ZuUSofiMV2bJk3qU+JHwexmw+q0RyNZB9ugg==", - "deprecated": "Material UI v4 doesn't receive active development since September 2021. See the guide https://mui.com/material-ui/migration/migration-v4/ to upgrade to v5.", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.4.4", - "@material-ui/utils": "^4.11.3", - "clsx": "^1.0.4", - "prop-types": "^15.7.2", - "react-is": "^16.8.0 || ^17.0.0" - }, - "engines": { - "node": ">=8.0.0" - }, - "peerDependencies": { - "@material-ui/core": "^4.12.1", - "@types/react": "^16.8.6 || ^17.0.0", - "react": "^16.8.0 || ^17.0.0", - "react-dom": "^16.8.0 || ^17.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, "node_modules/@material-ui/styles": { "version": "4.11.5", "resolved": "https://registry.npmjs.org/@material-ui/styles/-/styles-4.11.5.tgz", "integrity": "sha512-o/41ot5JJiUsIETME9wVLAJrmIWL3j0R0Bj2kCOLbSfqEkKf0fmaPt+5vtblUh5eXr2S+J/8J3DaCb10+CzPGA==", "deprecated": "Material UI v4 doesn't receive active development since September 2021. See the guide https://mui.com/material-ui/migration/migration-v4/ to upgrade to v5.", "license": "MIT", + "peer": true, "dependencies": { "@babel/runtime": "^7.4.4", "@emotion/hash": "^0.8.0", @@ -1584,6 +1557,7 @@ "resolved": "https://registry.npmjs.org/@material-ui/system/-/system-4.12.2.tgz", "integrity": "sha512-6CSKu2MtmiJgcCGf6nBQpM8fLkuB9F55EKfbdTC80NND5wpTmKzwdhLYLH3zL4cLlK0gVaaltW7/wMuyTnN0Lw==", "license": "MIT", + "peer": true, "dependencies": { "@babel/runtime": "^7.4.4", "@material-ui/utils": "^4.11.3", @@ -1613,6 +1587,7 @@ "resolved": "https://registry.npmjs.org/@material-ui/types/-/types-5.1.0.tgz", "integrity": "sha512-7cqRjrY50b8QzRSYyhSpx4WRw2YuO0KKIGQEVk5J8uoz2BanawykgZGoWEqKm7pVIbzFDN0SpPcVV4IhOFkl8A==", "license": "MIT", + "peer": true, "peerDependencies": { "@types/react": "*" }, @@ -1627,6 +1602,7 @@ "resolved": "https://registry.npmjs.org/@material-ui/utils/-/utils-4.11.3.tgz", "integrity": "sha512-ZuQPV4rBK/V1j2dIkSSEcH5uT6AaHuKWFfotADHsC0wVL1NLd2WkFCm4ZZbX33iO4ydl6V0GPngKm8HZQ2oujg==", "license": "MIT", + "peer": true, "dependencies": { "@babel/runtime": "^7.4.4", "prop-types": "^15.7.2", @@ -4034,7 +4010,8 @@ "version": "2.6.21", "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz", "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/d3": { "version": "6.7.0", @@ -7483,7 +7460,8 @@ "version": "1.16.1-lts", "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1-lts.tgz", "integrity": "sha512-Kjw8nKRl1m+VrSFCoVGPph93W/qrSO7ZkqPpTf7F4bk/sqcfWK019dWBUpE/fBOsOQY1dks/Bmcbfn1heM/IsA==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/possible-typed-array-names": { "version": "1.1.0", @@ -7713,7 +7691,8 @@ "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/react-lifecycles-compat": { "version": "3.0.4", diff --git a/new-lamassu-admin/src/App.jsx b/new-lamassu-admin/src/App.jsx index b17facf0..1fd11d2b 100644 --- a/new-lamassu-admin/src/App.jsx +++ b/new-lamassu-admin/src/App.jsx @@ -2,13 +2,8 @@ import { useQuery, gql } from "@apollo/client"; import CssBaseline from '@mui/material/CssBaseline' import Grid from '@mui/material/Grid' import Slide from '@mui/material/Slide' -import { - StylesProvider, - jssPreset, - MuiThemeProvider, - StyledEngineProvider, - makeStyles, -} from '@mui/material/styles'; +import { StylesProvider, jssPreset, makeStyles } from '@mui/styles'; +import { ThemeProvider, StyledEngineProvider } from '@mui/material/styles'; import { create } from 'jss' import extendJss from 'jss-plugin-extend' import React, { useContext, useState } from 'react' @@ -155,10 +150,10 @@ const App = () => { - +
- + diff --git a/new-lamassu-admin/src/components/Carousel.jsx b/new-lamassu-admin/src/components/Carousel.jsx index 56bb29f4..6b610a6c 100644 --- a/new-lamassu-admin/src/components/Carousel.jsx +++ b/new-lamassu-admin/src/components/Carousel.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import React, { memo } from 'react' import ReactCarousel from 'react-material-ui-carousel' import LeftArrow from 'src/styling/icons/arrow/carousel-left-arrow.svg?react' diff --git a/new-lamassu-admin/src/components/Chip.jsx b/new-lamassu-admin/src/components/Chip.jsx index 59735668..6358047d 100644 --- a/new-lamassu-admin/src/components/Chip.jsx +++ b/new-lamassu-admin/src/components/Chip.jsx @@ -1,5 +1,5 @@ import Chip from '@mui/material/Chip' -import { withStyles } from '@mui/material/styles' +import { withStyles } from '@mui/styles' import React, { memo } from 'react' import { diff --git a/new-lamassu-admin/src/components/CollapsibleCard.jsx b/new-lamassu-admin/src/components/CollapsibleCard.jsx index e360a87e..eeec8527 100644 --- a/new-lamassu-admin/src/components/CollapsibleCard.jsx +++ b/new-lamassu-admin/src/components/CollapsibleCard.jsx @@ -1,5 +1,5 @@ import Grid from '@mui/material/Grid' -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import PropTypes from 'prop-types' import React from 'react' diff --git a/new-lamassu-admin/src/components/ConfirmDialog.jsx b/new-lamassu-admin/src/components/ConfirmDialog.jsx index b692ef83..b7d9b893 100644 --- a/new-lamassu-admin/src/components/ConfirmDialog.jsx +++ b/new-lamassu-admin/src/components/ConfirmDialog.jsx @@ -2,9 +2,9 @@ import { Dialog, DialogActions, DialogContent, - makeStyles, InputLabel } from '@mui/material' +import { makeStyles } from '@mui/styles' import React, { memo, useState } from 'react' import { H4, P } from 'src/components/typography' import CloseIcon from 'src/styling/icons/action/close/zodiac.svg?react' diff --git a/new-lamassu-admin/src/components/DeleteDialog.jsx b/new-lamassu-admin/src/components/DeleteDialog.jsx index 1cfd2a87..1e334725 100644 --- a/new-lamassu-admin/src/components/DeleteDialog.jsx +++ b/new-lamassu-admin/src/components/DeleteDialog.jsx @@ -2,8 +2,8 @@ import { Dialog, DialogActions, DialogContent, - makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import React from 'react' import { H4, P } from 'src/components/typography' import CloseIcon from 'src/styling/icons/action/close/zodiac.svg?react' diff --git a/new-lamassu-admin/src/components/ErrorMessage.jsx b/new-lamassu-admin/src/components/ErrorMessage.jsx index 5df8af7d..e5ff4efc 100644 --- a/new-lamassu-admin/src/components/ErrorMessage.jsx +++ b/new-lamassu-admin/src/components/ErrorMessage.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React from 'react' import ErrorIcon from 'src/styling/icons/warning-icon/tomato.svg?react' diff --git a/new-lamassu-admin/src/components/ImagePopper.jsx b/new-lamassu-admin/src/components/ImagePopper.jsx index 44aec2c9..1aa2be09 100644 --- a/new-lamassu-admin/src/components/ImagePopper.jsx +++ b/new-lamassu-admin/src/components/ImagePopper.jsx @@ -1,4 +1,5 @@ -import { makeStyles, ClickAwayListener } from '@mui/material' +import { ClickAwayListener } from '@mui/material' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React, { memo, useState } from 'react' import Popper from 'src/components/Popper' diff --git a/new-lamassu-admin/src/components/InfoMessage.jsx b/new-lamassu-admin/src/components/InfoMessage.jsx index a91bfe3f..1e701d4d 100644 --- a/new-lamassu-admin/src/components/InfoMessage.jsx +++ b/new-lamassu-admin/src/components/InfoMessage.jsx @@ -1,4 +1,5 @@ -import { Box, makeStyles } from '@mui/material' +import { Box } from '@mui/material' +import { makeStyles } from '@mui/styles' import React from 'react' import { Label1 } from 'src/components/typography' import WarningIcon from 'src/styling/icons/warning-icon/comet.svg?react' diff --git a/new-lamassu-admin/src/components/InformativeDialog.jsx b/new-lamassu-admin/src/components/InformativeDialog.jsx index 15df9448..149984bf 100644 --- a/new-lamassu-admin/src/components/InformativeDialog.jsx +++ b/new-lamassu-admin/src/components/InformativeDialog.jsx @@ -1,4 +1,5 @@ -import { Dialog, DialogContent, makeStyles } from '@mui/material' +import { Dialog, DialogContent } from '@mui/material' +import { makeStyles } from '@mui/styles' import React, { memo } from 'react' import { H1 } from 'src/components/typography' import CloseIcon from 'src/styling/icons/action/close/zodiac.svg?react' diff --git a/new-lamassu-admin/src/components/LogsDownloaderPopper.jsx b/new-lamassu-admin/src/components/LogsDownloaderPopper.jsx index 64b1261e..c4914fde 100644 --- a/new-lamassu-admin/src/components/LogsDownloaderPopper.jsx +++ b/new-lamassu-admin/src/components/LogsDownloaderPopper.jsx @@ -1,5 +1,6 @@ import { useLazyQuery } from "@apollo/client"; -import { makeStyles, ClickAwayListener } from '@mui/material' +import { ClickAwayListener } from '@mui/material' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import { format, set } from 'date-fns/fp' import FileSaver from 'file-saver' diff --git a/new-lamassu-admin/src/components/Modal.jsx b/new-lamassu-admin/src/components/Modal.jsx index 47d43105..062b8425 100644 --- a/new-lamassu-admin/src/components/Modal.jsx +++ b/new-lamassu-admin/src/components/Modal.jsx @@ -1,4 +1,5 @@ -import { makeStyles, Modal as MaterialModal, Paper } from '@mui/material' +import { Modal as MaterialModal, Paper } from '@mui/material' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React from 'react' import { H1, H4 } from 'src/components/typography' diff --git a/new-lamassu-admin/src/components/NotificationCenter/NotificationCenter.jsx b/new-lamassu-admin/src/components/NotificationCenter/NotificationCenter.jsx index ab64af73..f0eef5d5 100644 --- a/new-lamassu-admin/src/components/NotificationCenter/NotificationCenter.jsx +++ b/new-lamassu-admin/src/components/NotificationCenter/NotificationCenter.jsx @@ -1,5 +1,5 @@ import { useQuery, useMutation, gql } from "@apollo/client"; -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState, useEffect } from 'react' import ActionButton from 'src/components/buttons/ActionButton' diff --git a/new-lamassu-admin/src/components/NotificationCenter/NotificationRow.jsx b/new-lamassu-admin/src/components/NotificationCenter/NotificationRow.jsx index 1d5bd06c..5b5de598 100644 --- a/new-lamassu-admin/src/components/NotificationCenter/NotificationRow.jsx +++ b/new-lamassu-admin/src/components/NotificationCenter/NotificationRow.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import prettyMs from 'pretty-ms' import * as R from 'ramda' diff --git a/new-lamassu-admin/src/components/Popper.jsx b/new-lamassu-admin/src/components/Popper.jsx index e751a0be..6dc56d01 100644 --- a/new-lamassu-admin/src/components/Popper.jsx +++ b/new-lamassu-admin/src/components/Popper.jsx @@ -1,4 +1,5 @@ -import { makeStyles, Popper as MaterialPopper, Paper } from '@mui/material' +import { Popper as MaterialPopper, Paper } from '@mui/material' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import * as R from 'ramda' import React, { useState } from 'react' diff --git a/new-lamassu-admin/src/components/SearchBox.jsx b/new-lamassu-admin/src/components/SearchBox.jsx index df7a1d0d..7ddbb1ac 100644 --- a/new-lamassu-admin/src/components/SearchBox.jsx +++ b/new-lamassu-admin/src/components/SearchBox.jsx @@ -1,7 +1,7 @@ import InputBase from '@mui/material/InputBase' import Paper from '@mui/material/Paper' -import { makeStyles } from '@mui/material/styles' -import MAutocomplete from '@mui/lab/Autocomplete' +import { makeStyles } from '@mui/styles' +import MAutocomplete from '@mui/material/Autocomplete' import classnames from 'classnames' import React, { memo, useState } from 'react' import { P } from 'src/components/typography' @@ -39,11 +39,13 @@ const SearchBox = memo( value={filters} options={options} getOptionLabel={it => it.label || it.value} - renderOption={it => ( -
-

{it.label || it.value}

-

{it.type}

-
+ renderOption={(props, it) => ( +
  • +
    +

    {it.label || it.value}

    +

    {it.type}

    +
    +
  • )} autoHighlight disableClearable diff --git a/new-lamassu-admin/src/components/SearchFilter.jsx b/new-lamassu-admin/src/components/SearchFilter.jsx index c5ee45fc..3089f637 100644 --- a/new-lamassu-admin/src/components/SearchFilter.jsx +++ b/new-lamassu-admin/src/components/SearchFilter.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import React from 'react' import Chip from 'src/components/Chip' import { P, Label3 } from 'src/components/typography' diff --git a/new-lamassu-admin/src/components/Stage.jsx b/new-lamassu-admin/src/components/Stage.jsx index b4425446..e691e4b4 100644 --- a/new-lamassu-admin/src/components/Stage.jsx +++ b/new-lamassu-admin/src/components/Stage.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import * as R from 'ramda' import React, { memo } from 'react' diff --git a/new-lamassu-admin/src/components/Status.jsx b/new-lamassu-admin/src/components/Status.jsx index c215c4d4..38c02988 100644 --- a/new-lamassu-admin/src/components/Status.jsx +++ b/new-lamassu-admin/src/components/Status.jsx @@ -1,5 +1,5 @@ import Chip from '@mui/material/Chip' -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import React from 'react' import { diff --git a/new-lamassu-admin/src/components/Stepper.jsx b/new-lamassu-admin/src/components/Stepper.jsx index 84f278ef..c8590173 100644 --- a/new-lamassu-admin/src/components/Stepper.jsx +++ b/new-lamassu-admin/src/components/Stepper.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import * as R from 'ramda' import React, { memo } from 'react' diff --git a/new-lamassu-admin/src/components/Subtitle.jsx b/new-lamassu-admin/src/components/Subtitle.jsx index b095771f..b22f56a0 100644 --- a/new-lamassu-admin/src/components/Subtitle.jsx +++ b/new-lamassu-admin/src/components/Subtitle.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React, { memo } from 'react' diff --git a/new-lamassu-admin/src/components/Title.jsx b/new-lamassu-admin/src/components/Title.jsx index 90ee8c53..13bf4e5f 100644 --- a/new-lamassu-admin/src/components/Title.jsx +++ b/new-lamassu-admin/src/components/Title.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import React, { memo } from 'react' import { spacer } from 'src/styling/variables' diff --git a/new-lamassu-admin/src/components/Tooltip.jsx b/new-lamassu-admin/src/components/Tooltip.jsx index a11ecb7d..701aa019 100644 --- a/new-lamassu-admin/src/components/Tooltip.jsx +++ b/new-lamassu-admin/src/components/Tooltip.jsx @@ -1,4 +1,5 @@ -import { makeStyles, ClickAwayListener } from '@mui/material' +import { ClickAwayListener } from '@mui/material' +import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState, memo } from 'react' import Popper from 'src/components/Popper' diff --git a/new-lamassu-admin/src/components/Uptime.jsx b/new-lamassu-admin/src/components/Uptime.jsx index 48ed9072..ed1d4a2e 100644 --- a/new-lamassu-admin/src/components/Uptime.jsx +++ b/new-lamassu-admin/src/components/Uptime.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import Chip from '@mui/material/Chip' import * as R from 'ramda' import React from 'react' diff --git a/new-lamassu-admin/src/components/booleanPropertiesTable/BooleanPropertiesTable.jsx b/new-lamassu-admin/src/components/booleanPropertiesTable/BooleanPropertiesTable.jsx index 2f533454..361adeb2 100644 --- a/new-lamassu-admin/src/components/booleanPropertiesTable/BooleanPropertiesTable.jsx +++ b/new-lamassu-admin/src/components/booleanPropertiesTable/BooleanPropertiesTable.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import { useFormikContext, Form, Formik, Field as FormikField } from 'formik' import * as R from 'ramda' diff --git a/new-lamassu-admin/src/components/buttons/ActionButton.jsx b/new-lamassu-admin/src/components/buttons/ActionButton.jsx index 60de6619..d2fb2043 100644 --- a/new-lamassu-admin/src/components/buttons/ActionButton.jsx +++ b/new-lamassu-admin/src/components/buttons/ActionButton.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React, { memo } from 'react' diff --git a/new-lamassu-admin/src/components/buttons/AddButton.jsx b/new-lamassu-admin/src/components/buttons/AddButton.jsx index 3d96d7c8..4a4c0a43 100644 --- a/new-lamassu-admin/src/components/buttons/AddButton.jsx +++ b/new-lamassu-admin/src/components/buttons/AddButton.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React, { memo } from 'react' import AddIcon from 'src/styling/icons/button/add/zodiac.svg?react' diff --git a/new-lamassu-admin/src/components/buttons/BaseButton.styles.js b/new-lamassu-admin/src/components/buttons/BaseButton.styles.js index 3d49746e..6bad408a 100644 --- a/new-lamassu-admin/src/components/buttons/BaseButton.styles.js +++ b/new-lamassu-admin/src/components/buttons/BaseButton.styles.js @@ -1,3 +1,5 @@ +// import { outlinedInputClasses } from '@mui/material/ButtonBase'; + import { white, fontColor, @@ -37,6 +39,7 @@ export default { extend: colors(subheaderColor, subheaderDarkColor, offColor), '&:active': { color: white, + // [`& ${outlinedInputClasses.buttonIcon}`]: { '& $buttonIcon': { display: 'none' }, @@ -54,12 +57,14 @@ export default { '&:active': { color: fontColor, '& $buttonIcon': { + // [`& ${outlinedInputClasses.buttonIcon}`]: { display: 'flex' }, '& $buttonIconActive': { display: 'none' } }, + // [`& ${outlinedInputClasses.buttonIcon}`]: { '& $buttonIcon': { display: 'none' }, diff --git a/new-lamassu-admin/src/components/buttons/Button.jsx b/new-lamassu-admin/src/components/buttons/Button.jsx index a9f2767c..84b2d3d4 100644 --- a/new-lamassu-admin/src/components/buttons/Button.jsx +++ b/new-lamassu-admin/src/components/buttons/Button.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React, { memo } from 'react' diff --git a/new-lamassu-admin/src/components/buttons/DeleteButton.jsx b/new-lamassu-admin/src/components/buttons/DeleteButton.jsx index d5df9d7d..3c2f56f6 100644 --- a/new-lamassu-admin/src/components/buttons/DeleteButton.jsx +++ b/new-lamassu-admin/src/components/buttons/DeleteButton.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React, { memo } from 'react' import DeleteIcon from 'src/styling/icons/button/cancel/zodiac.svg?react' diff --git a/new-lamassu-admin/src/components/buttons/FeatureButton.jsx b/new-lamassu-admin/src/components/buttons/FeatureButton.jsx index ec9bf8c7..ad571077 100644 --- a/new-lamassu-admin/src/components/buttons/FeatureButton.jsx +++ b/new-lamassu-admin/src/components/buttons/FeatureButton.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React, { memo } from 'react' diff --git a/new-lamassu-admin/src/components/buttons/IDButton.jsx b/new-lamassu-admin/src/components/buttons/IDButton.jsx index 2cd14e80..a955d47d 100644 --- a/new-lamassu-admin/src/components/buttons/IDButton.jsx +++ b/new-lamassu-admin/src/components/buttons/IDButton.jsx @@ -1,5 +1,5 @@ import { ClickAwayListener } from '@mui/material' -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React, { useState, memo } from 'react' import Popover from 'src/components/Popper' diff --git a/new-lamassu-admin/src/components/buttons/IconButton.jsx b/new-lamassu-admin/src/components/buttons/IconButton.jsx index bb58cd97..e3ed0665 100644 --- a/new-lamassu-admin/src/components/buttons/IconButton.jsx +++ b/new-lamassu-admin/src/components/buttons/IconButton.jsx @@ -1,4 +1,5 @@ -import { makeStyles, IconButton as IconB } from '@mui/material' +import { IconButton as IconB } from '@mui/material' +import { makeStyles } from '@mui/styles' import React from 'react' import { comet } from 'src/styling/variables' diff --git a/new-lamassu-admin/src/components/buttons/Link.jsx b/new-lamassu-admin/src/components/buttons/Link.jsx index 9b9ed90a..f121b69f 100644 --- a/new-lamassu-admin/src/components/buttons/Link.jsx +++ b/new-lamassu-admin/src/components/buttons/Link.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React, { memo } from 'react' diff --git a/new-lamassu-admin/src/components/buttons/Link.styles.js b/new-lamassu-admin/src/components/buttons/Link.styles.js index 0d7e54b4..a9f131a0 100644 --- a/new-lamassu-admin/src/components/buttons/Link.styles.js +++ b/new-lamassu-admin/src/components/buttons/Link.styles.js @@ -1,4 +1,4 @@ -import { alpha } from '@mui/material/styles/colorManipulator' +import { alpha } from '@mui/material/styles' import typographyStyles from 'src/components/typography/styles' import { diff --git a/new-lamassu-admin/src/components/buttons/SubpageButton.jsx b/new-lamassu-admin/src/components/buttons/SubpageButton.jsx index 7c7cf456..5f96143a 100644 --- a/new-lamassu-admin/src/components/buttons/SubpageButton.jsx +++ b/new-lamassu-admin/src/components/buttons/SubpageButton.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React, { memo, useState } from 'react' import { H4 } from 'src/components/typography' diff --git a/new-lamassu-admin/src/components/buttons/SupportLinkButton.jsx b/new-lamassu-admin/src/components/buttons/SupportLinkButton.jsx index 49b8ac94..54d09617 100644 --- a/new-lamassu-admin/src/components/buttons/SupportLinkButton.jsx +++ b/new-lamassu-admin/src/components/buttons/SupportLinkButton.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import React from 'react' import InverseLinkIcon from 'src/styling/icons/action/external link/white.svg?react' import LinkIcon from 'src/styling/icons/action/external link/zodiac.svg?react' diff --git a/new-lamassu-admin/src/components/date-range-picker/Calendar.jsx b/new-lamassu-admin/src/components/date-range-picker/Calendar.jsx index 51b613e6..44833125 100644 --- a/new-lamassu-admin/src/components/date-range-picker/Calendar.jsx +++ b/new-lamassu-admin/src/components/date-range-picker/Calendar.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import { add, differenceInMonths, diff --git a/new-lamassu-admin/src/components/date-range-picker/DateRangePicker.jsx b/new-lamassu-admin/src/components/date-range-picker/DateRangePicker.jsx index 054f62ef..1c942913 100644 --- a/new-lamassu-admin/src/components/date-range-picker/DateRangePicker.jsx +++ b/new-lamassu-admin/src/components/date-range-picker/DateRangePicker.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import { compareAsc, differenceInDays, set } from 'date-fns/fp' import * as R from 'ramda' diff --git a/new-lamassu-admin/src/components/date-range-picker/Tile.jsx b/new-lamassu-admin/src/components/date-range-picker/Tile.jsx index d9614d0e..679426cb 100644 --- a/new-lamassu-admin/src/components/date-range-picker/Tile.jsx +++ b/new-lamassu-admin/src/components/date-range-picker/Tile.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React from 'react' diff --git a/new-lamassu-admin/src/components/editableProperty/EditableProperty.jsx b/new-lamassu-admin/src/components/editableProperty/EditableProperty.jsx index b35c52df..9ff6e383 100644 --- a/new-lamassu-admin/src/components/editableProperty/EditableProperty.jsx +++ b/new-lamassu-admin/src/components/editableProperty/EditableProperty.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import React, { useState, memo } from 'react' import { H4, P } from 'src/components/typography' import EditIconDisabled from 'src/styling/icons/action/edit/disabled.svg?react' diff --git a/new-lamassu-admin/src/components/editableTable/Header.jsx b/new-lamassu-admin/src/components/editableTable/Header.jsx index 0ebbf630..cb06ffaa 100644 --- a/new-lamassu-admin/src/components/editableTable/Header.jsx +++ b/new-lamassu-admin/src/components/editableTable/Header.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import * as R from 'ramda' import React, { useContext } from 'react' diff --git a/new-lamassu-admin/src/components/editableTable/Row.jsx b/new-lamassu-admin/src/components/editableTable/Row.jsx index 90afd4bc..72dd5468 100644 --- a/new-lamassu-admin/src/components/editableTable/Row.jsx +++ b/new-lamassu-admin/src/components/editableTable/Row.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import { Field, useFormikContext } from 'formik' import * as R from 'ramda' diff --git a/new-lamassu-admin/src/components/editableTable/Table.jsx b/new-lamassu-admin/src/components/editableTable/Table.jsx index 52a7a62e..f7bdefce 100644 --- a/new-lamassu-admin/src/components/editableTable/Table.jsx +++ b/new-lamassu-admin/src/components/editableTable/Table.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import { Form, Formik } from 'formik' import * as R from 'ramda' import React, { useState, useEffect } from 'react' diff --git a/new-lamassu-admin/src/components/fake-table/Table.jsx b/new-lamassu-admin/src/components/fake-table/Table.jsx index 31aba443..3c5fdef9 100644 --- a/new-lamassu-admin/src/components/fake-table/Table.jsx +++ b/new-lamassu-admin/src/components/fake-table/Table.jsx @@ -1,6 +1,6 @@ import Card from '@mui/material/Card' import CardContent from '@mui/material/CardContent' -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React from 'react' diff --git a/new-lamassu-admin/src/components/inputs/base/Autocomplete.jsx b/new-lamassu-admin/src/components/inputs/base/Autocomplete.jsx index ffd90428..f4e46ae3 100644 --- a/new-lamassu-admin/src/components/inputs/base/Autocomplete.jsx +++ b/new-lamassu-admin/src/components/inputs/base/Autocomplete.jsx @@ -1,5 +1,5 @@ import { Box } from '@mui/material' -import MAutocomplete from '@mui/lab/Autocomplete' +import MAutocomplete from '@mui/material/Autocomplete' import sort from 'match-sorter' import * as R from 'ramda' import React from 'react' @@ -100,7 +100,7 @@ const Autocomplete = ({ /> ) }} - renderOption={props => { + renderOption={(iprops, props) => { if (!props.warning && !props.warningMessage) return R.path([labelProp])(props) @@ -120,17 +120,19 @@ const Autocomplete = ({ ) return ( - - {R.path([labelProp])(props)} - -

    {props.warningMessage}

    -
    -
    +
  • + + {R.path([labelProp])(props)} + +

    {props.warningMessage}

    +
    +
    +
  • ) }} /> diff --git a/new-lamassu-admin/src/components/inputs/base/Checkbox.jsx b/new-lamassu-admin/src/components/inputs/base/Checkbox.jsx index 8743782a..cd097e1f 100644 --- a/new-lamassu-admin/src/components/inputs/base/Checkbox.jsx +++ b/new-lamassu-admin/src/components/inputs/base/Checkbox.jsx @@ -1,5 +1,5 @@ import Checkbox from '@mui/material/Checkbox' -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import CheckBoxIcon from '@mui/icons-material/CheckBox' import CheckBoxOutlineBlankIcon from '@mui/icons-material/CheckBoxOutlineBlank' import React from 'react' @@ -16,7 +16,7 @@ import { const useStyles = makeStyles({ root: { color: secondaryColor, - '&$checked': { + '&.Mui-checked': { color: secondaryColor } }, diff --git a/new-lamassu-admin/src/components/inputs/base/CodeInput.jsx b/new-lamassu-admin/src/components/inputs/base/CodeInput.jsx index 0aaa2130..dd238952 100644 --- a/new-lamassu-admin/src/components/inputs/base/CodeInput.jsx +++ b/new-lamassu-admin/src/components/inputs/base/CodeInput.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React from 'react' import OtpInput from 'react-otp-input' diff --git a/new-lamassu-admin/src/components/inputs/base/RadioGroup.jsx b/new-lamassu-admin/src/components/inputs/base/RadioGroup.jsx index 18ba493f..2f680f87 100644 --- a/new-lamassu-admin/src/components/inputs/base/RadioGroup.jsx +++ b/new-lamassu-admin/src/components/inputs/base/RadioGroup.jsx @@ -1,9 +1,9 @@ import { Radio, RadioGroup as MRadioGroup, - FormControlLabel, - makeStyles + FormControlLabel } from '@mui/material' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React from 'react' import { Label1 } from 'src/components/typography' diff --git a/new-lamassu-admin/src/components/inputs/base/Select.jsx b/new-lamassu-admin/src/components/inputs/base/Select.jsx index 329632ef..c79839b3 100644 --- a/new-lamassu-admin/src/components/inputs/base/Select.jsx +++ b/new-lamassu-admin/src/components/inputs/base/Select.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import { useSelect } from 'downshift' import * as R from 'ramda' diff --git a/new-lamassu-admin/src/components/inputs/base/Switch.jsx b/new-lamassu-admin/src/components/inputs/base/Switch.jsx index 8aa1f3c6..fedd6b44 100644 --- a/new-lamassu-admin/src/components/inputs/base/Switch.jsx +++ b/new-lamassu-admin/src/components/inputs/base/Switch.jsx @@ -1,5 +1,5 @@ import Switch from '@mui/material/Switch' -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import React, { memo } from 'react' import { @@ -18,17 +18,17 @@ const useStyles = makeStyles(theme => ({ }, switchBase: { padding: 2, - '&$disabled': { + '&.Mui-disabled': { color: disabledColor2, '& + $track': { backgroundColor: disabledColor, opacity: 1 } }, - '&$checked': { + '&.Mui-checked': { transform: 'translateX(58%)', color: theme.palette.common.white, - '&$disabled': { + '&.Mui-disabled': { color: disabledColor2 }, '& + $track': { @@ -37,7 +37,7 @@ const useStyles = makeStyles(theme => ({ border: 'none' } }, - '&$focusVisible $thumb': { + '&.Mui-focusVisible $thumb': { border: '6px solid #fff', boxShadow: '0 0 4px 0 rgba(0,0,0,0.24)' } diff --git a/new-lamassu-admin/src/components/inputs/base/TextInput.jsx b/new-lamassu-admin/src/components/inputs/base/TextInput.jsx index d6426aae..33ba68ac 100644 --- a/new-lamassu-admin/src/components/inputs/base/TextInput.jsx +++ b/new-lamassu-admin/src/components/inputs/base/TextInput.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import TextField from '@mui/material/TextField' import classnames from 'classnames' import * as R from 'ramda' diff --git a/new-lamassu-admin/src/components/inputs/base/ToggleButtonGroup.jsx b/new-lamassu-admin/src/components/inputs/base/ToggleButtonGroup.jsx index 424770e4..c63908ea 100644 --- a/new-lamassu-admin/src/components/inputs/base/ToggleButtonGroup.jsx +++ b/new-lamassu-admin/src/components/inputs/base/ToggleButtonGroup.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import { ToggleButtonGroup as MUIToggleButtonGroup } from '@mui/lab' import ToggleButton from '@mui/lab/ToggleButton' import React from 'react' diff --git a/new-lamassu-admin/src/components/inputs/cashbox/Cashbox.jsx b/new-lamassu-admin/src/components/inputs/cashbox/Cashbox.jsx index 097f0636..81d90e83 100644 --- a/new-lamassu-admin/src/components/inputs/cashbox/Cashbox.jsx +++ b/new-lamassu-admin/src/components/inputs/cashbox/Cashbox.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React from 'react' import Chip from 'src/components/Chip' diff --git a/new-lamassu-admin/src/components/inputs/formik/CashCassetteInput.jsx b/new-lamassu-admin/src/components/inputs/formik/CashCassetteInput.jsx index 34a1c919..14f4141a 100644 --- a/new-lamassu-admin/src/components/inputs/formik/CashCassetteInput.jsx +++ b/new-lamassu-admin/src/components/inputs/formik/CashCassetteInput.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import classNames from 'classnames' import React, { memo, useState } from 'react' import { CashOut } from 'src/components/inputs/cashbox/Cashbox' diff --git a/new-lamassu-admin/src/components/layout/Header.jsx b/new-lamassu-admin/src/components/layout/Header.jsx index fdbf12e2..0e270ce2 100644 --- a/new-lamassu-admin/src/components/layout/Header.jsx +++ b/new-lamassu-admin/src/components/layout/Header.jsx @@ -1,7 +1,7 @@ import { useQuery, gql } from "@apollo/client"; import ClickAwayListener from '@mui/material/ClickAwayListener' import Popper from '@mui/material/Popper' -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import * as R from 'ramda' import React, { memo, useState, useEffect, useRef } from 'react' diff --git a/new-lamassu-admin/src/components/layout/Section.jsx b/new-lamassu-admin/src/components/layout/Section.jsx index 538ec028..b40f991f 100644 --- a/new-lamassu-admin/src/components/layout/Section.jsx +++ b/new-lamassu-admin/src/components/layout/Section.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import React from 'react' import ErrorMessage from 'src/components/ErrorMessage' import Subtitle from 'src/components/Subtitle' diff --git a/new-lamassu-admin/src/components/layout/Sidebar.jsx b/new-lamassu-admin/src/components/layout/Sidebar.jsx index 055049cc..27d48f9d 100644 --- a/new-lamassu-admin/src/components/layout/Sidebar.jsx +++ b/new-lamassu-admin/src/components/layout/Sidebar.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React from 'react' import { P } from 'src/components/typography' diff --git a/new-lamassu-admin/src/components/layout/TitleSection.jsx b/new-lamassu-admin/src/components/layout/TitleSection.jsx index 67407f86..49755be6 100644 --- a/new-lamassu-admin/src/components/layout/TitleSection.jsx +++ b/new-lamassu-admin/src/components/layout/TitleSection.jsx @@ -1,4 +1,5 @@ -import { makeStyles, Box } from '@mui/material' +import { Box } from '@mui/material' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import * as R from 'ramda' import React from 'react' diff --git a/new-lamassu-admin/src/components/machineActions/DiagnosticsModal.jsx b/new-lamassu-admin/src/components/machineActions/DiagnosticsModal.jsx index 92b0942d..e49a619d 100644 --- a/new-lamassu-admin/src/components/machineActions/DiagnosticsModal.jsx +++ b/new-lamassu-admin/src/components/machineActions/DiagnosticsModal.jsx @@ -1,5 +1,5 @@ import { useLazyQuery, useQuery, gql } from "@apollo/client"; -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import { subMinutes } from 'date-fns' import FileSaver from 'file-saver' import React, { useState, useEffect } from 'react' diff --git a/new-lamassu-admin/src/components/machineActions/MachineActions.jsx b/new-lamassu-admin/src/components/machineActions/MachineActions.jsx index df0dcb9f..ad040372 100644 --- a/new-lamassu-admin/src/components/machineActions/MachineActions.jsx +++ b/new-lamassu-admin/src/components/machineActions/MachineActions.jsx @@ -1,5 +1,5 @@ import { useMutation, useLazyQuery, gql } from "@apollo/client"; -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import React, { memo, useState } from 'react' import { ConfirmDialog } from 'src/components/ConfirmDialog' import ActionButton from 'src/components/buttons/ActionButton' diff --git a/new-lamassu-admin/src/components/single-row-table/SingleRowTable.jsx b/new-lamassu-admin/src/components/single-row-table/SingleRowTable.jsx index ec9dd9b9..9673b34f 100644 --- a/new-lamassu-admin/src/components/single-row-table/SingleRowTable.jsx +++ b/new-lamassu-admin/src/components/single-row-table/SingleRowTable.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React from 'react' import { diff --git a/new-lamassu-admin/src/components/table/EmptyTable.jsx b/new-lamassu-admin/src/components/table/EmptyTable.jsx index 00443524..651cccd5 100644 --- a/new-lamassu-admin/src/components/table/EmptyTable.jsx +++ b/new-lamassu-admin/src/components/table/EmptyTable.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import classNames from 'classnames' import React, { memo } from 'react' import { H4 } from 'src/components/typography' diff --git a/new-lamassu-admin/src/components/table/Table.jsx b/new-lamassu-admin/src/components/table/Table.jsx index f46436d0..89737113 100644 --- a/new-lamassu-admin/src/components/table/Table.jsx +++ b/new-lamassu-admin/src/components/table/Table.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React, { memo } from 'react' diff --git a/new-lamassu-admin/src/components/table/TableCell.jsx b/new-lamassu-admin/src/components/table/TableCell.jsx index d42b3eae..8d3656a3 100644 --- a/new-lamassu-admin/src/components/table/TableCell.jsx +++ b/new-lamassu-admin/src/components/table/TableCell.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React, { memo } from 'react' diff --git a/new-lamassu-admin/src/components/table/TableHeader.jsx b/new-lamassu-admin/src/components/table/TableHeader.jsx index bcdd1d89..f1aef29a 100644 --- a/new-lamassu-admin/src/components/table/TableHeader.jsx +++ b/new-lamassu-admin/src/components/table/TableHeader.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React, { memo } from 'react' diff --git a/new-lamassu-admin/src/components/table/TableRow.jsx b/new-lamassu-admin/src/components/table/TableRow.jsx index 32f23ad2..0b901e90 100644 --- a/new-lamassu-admin/src/components/table/TableRow.jsx +++ b/new-lamassu-admin/src/components/table/TableRow.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React, { memo } from 'react' diff --git a/new-lamassu-admin/src/components/tables/DataTable.jsx b/new-lamassu-admin/src/components/tables/DataTable.jsx index f900b4eb..c31d0a29 100644 --- a/new-lamassu-admin/src/components/tables/DataTable.jsx +++ b/new-lamassu-admin/src/components/tables/DataTable.jsx @@ -1,4 +1,5 @@ -import { makeStyles, Box } from '@mui/material' +import { Box } from '@mui/material' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import * as R from 'ramda' import React, { useState, useEffect } from 'react' diff --git a/new-lamassu-admin/src/components/typography/index.jsx b/new-lamassu-admin/src/components/typography/index.jsx index 37a38a11..fe53c529 100644 --- a/new-lamassu-admin/src/components/typography/index.jsx +++ b/new-lamassu-admin/src/components/typography/index.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React from 'react' diff --git a/new-lamassu-admin/src/pages/AddMachine/AddMachine.jsx b/new-lamassu-admin/src/pages/AddMachine/AddMachine.jsx index 9e78eefb..9d88ec43 100644 --- a/new-lamassu-admin/src/pages/AddMachine/AddMachine.jsx +++ b/new-lamassu-admin/src/pages/AddMachine/AddMachine.jsx @@ -1,6 +1,6 @@ import { useMutation, useQuery, gql } from "@apollo/client"; import { Dialog, DialogContent, SvgIcon, IconButton } from '@mui/material' -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import { Form, Formik, FastField } from 'formik' import {QRCodeSVG as QRCode} from 'qrcode.react' diff --git a/new-lamassu-admin/src/pages/Analytics/Analytics.jsx b/new-lamassu-admin/src/pages/Analytics/Analytics.jsx index 0b717ce9..9437df1a 100644 --- a/new-lamassu-admin/src/pages/Analytics/Analytics.jsx +++ b/new-lamassu-admin/src/pages/Analytics/Analytics.jsx @@ -1,6 +1,6 @@ import { useQuery, gql } from "@apollo/client"; import { Box } from '@mui/material' -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import { endOfToday } from 'date-fns' import { subDays, format, add, startOfWeek } from 'date-fns/fp' diff --git a/new-lamassu-admin/src/pages/Analytics/components/LegendEntry.jsx b/new-lamassu-admin/src/pages/Analytics/components/LegendEntry.jsx index a0d419d3..c6d2a4a4 100644 --- a/new-lamassu-admin/src/pages/Analytics/components/LegendEntry.jsx +++ b/new-lamassu-admin/src/pages/Analytics/components/LegendEntry.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import React from 'react' import { P } from 'src/components/typography' diff --git a/new-lamassu-admin/src/pages/Analytics/components/tooltips/GraphTooltip.jsx b/new-lamassu-admin/src/pages/Analytics/components/tooltips/GraphTooltip.jsx index 86c3b2f4..005543d8 100644 --- a/new-lamassu-admin/src/pages/Analytics/components/tooltips/GraphTooltip.jsx +++ b/new-lamassu-admin/src/pages/Analytics/components/tooltips/GraphTooltip.jsx @@ -1,5 +1,5 @@ import { Paper } from '@mui/material' -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { memo } from 'react' import { Info2, Label3, P } from 'src/components/typography' diff --git a/new-lamassu-admin/src/pages/Analytics/components/wrappers/HourOfDayWrapper.jsx b/new-lamassu-admin/src/pages/Analytics/components/wrappers/HourOfDayWrapper.jsx index 7259220e..f0a58968 100644 --- a/new-lamassu-admin/src/pages/Analytics/components/wrappers/HourOfDayWrapper.jsx +++ b/new-lamassu-admin/src/pages/Analytics/components/wrappers/HourOfDayWrapper.jsx @@ -1,5 +1,5 @@ import { Box } from '@mui/material' -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import { getTimezoneOffset } from 'date-fns-tz' import * as R from 'ramda' import React, { useState } from 'react' diff --git a/new-lamassu-admin/src/pages/Analytics/components/wrappers/OverTimeWrapper.jsx b/new-lamassu-admin/src/pages/Analytics/components/wrappers/OverTimeWrapper.jsx index e781f5a6..e4a64516 100644 --- a/new-lamassu-admin/src/pages/Analytics/components/wrappers/OverTimeWrapper.jsx +++ b/new-lamassu-admin/src/pages/Analytics/components/wrappers/OverTimeWrapper.jsx @@ -1,5 +1,5 @@ import { Box } from '@mui/material' -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import React, { useState } from 'react' import { H2 } from 'src/components/typography' diff --git a/new-lamassu-admin/src/pages/Analytics/components/wrappers/TopMachinesWrapper.jsx b/new-lamassu-admin/src/pages/Analytics/components/wrappers/TopMachinesWrapper.jsx index da72bb23..e6eb81d3 100644 --- a/new-lamassu-admin/src/pages/Analytics/components/wrappers/TopMachinesWrapper.jsx +++ b/new-lamassu-admin/src/pages/Analytics/components/wrappers/TopMachinesWrapper.jsx @@ -1,5 +1,5 @@ import { Box } from '@mui/material' -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' import { H2 } from 'src/components/typography' diff --git a/new-lamassu-admin/src/pages/Analytics/components/wrappers/VolumeOverTimeWrapper.jsx b/new-lamassu-admin/src/pages/Analytics/components/wrappers/VolumeOverTimeWrapper.jsx index cdcec821..575f788b 100644 --- a/new-lamassu-admin/src/pages/Analytics/components/wrappers/VolumeOverTimeWrapper.jsx +++ b/new-lamassu-admin/src/pages/Analytics/components/wrappers/VolumeOverTimeWrapper.jsx @@ -1,5 +1,5 @@ import { Box } from '@mui/material' -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import React, { useState } from 'react' import { H2 } from 'src/components/typography' diff --git a/new-lamassu-admin/src/pages/Authentication/Input2FAState.jsx b/new-lamassu-admin/src/pages/Authentication/Input2FAState.jsx index e790dbf6..f7fd5cce 100644 --- a/new-lamassu-admin/src/pages/Authentication/Input2FAState.jsx +++ b/new-lamassu-admin/src/pages/Authentication/Input2FAState.jsx @@ -1,5 +1,5 @@ import { useMutation, useLazyQuery, gql } from "@apollo/client"; -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import { Form, Formik } from 'formik' import React, { useContext, useState } from 'react' import { useHistory } from 'react-router-dom' diff --git a/new-lamassu-admin/src/pages/Authentication/InputFIDOState.jsx b/new-lamassu-admin/src/pages/Authentication/InputFIDOState.jsx index 0b43c05f..82f73041 100644 --- a/new-lamassu-admin/src/pages/Authentication/InputFIDOState.jsx +++ b/new-lamassu-admin/src/pages/Authentication/InputFIDOState.jsx @@ -1,5 +1,5 @@ import { useMutation, useLazyQuery, gql } from "@apollo/client"; -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import { startAssertion } from '@simplewebauthn/browser' import { Field, Form, Formik } from 'formik' import React, { useState, useContext } from 'react' diff --git a/new-lamassu-admin/src/pages/Authentication/Login.jsx b/new-lamassu-admin/src/pages/Authentication/Login.jsx index e11a1454..060b4299 100644 --- a/new-lamassu-admin/src/pages/Authentication/Login.jsx +++ b/new-lamassu-admin/src/pages/Authentication/Login.jsx @@ -1,4 +1,5 @@ -import { makeStyles, Grid } from '@mui/material' +import { Grid } from '@mui/material' +import { makeStyles } from '@mui/styles' import React from 'react' import LoginCard from './LoginCard' diff --git a/new-lamassu-admin/src/pages/Authentication/LoginCard.jsx b/new-lamassu-admin/src/pages/Authentication/LoginCard.jsx index 44a1da1b..e9c1da4c 100644 --- a/new-lamassu-admin/src/pages/Authentication/LoginCard.jsx +++ b/new-lamassu-admin/src/pages/Authentication/LoginCard.jsx @@ -1,5 +1,5 @@ import Paper from '@mui/material/Paper' -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import React, { useReducer } from 'react' import { H5 } from 'src/components/typography' import Logo from 'src/styling/icons/menu/logo.svg?react' diff --git a/new-lamassu-admin/src/pages/Authentication/LoginState.jsx b/new-lamassu-admin/src/pages/Authentication/LoginState.jsx index 34f0d684..f5f89055 100644 --- a/new-lamassu-admin/src/pages/Authentication/LoginState.jsx +++ b/new-lamassu-admin/src/pages/Authentication/LoginState.jsx @@ -1,5 +1,5 @@ import { useMutation, useLazyQuery, gql } from "@apollo/client"; -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import { startAssertion } from '@simplewebauthn/browser' import { Field, Form, Formik } from 'formik' import React, { useContext } from 'react' diff --git a/new-lamassu-admin/src/pages/Authentication/Register.jsx b/new-lamassu-admin/src/pages/Authentication/Register.jsx index ec4f779e..ef7a4703 100644 --- a/new-lamassu-admin/src/pages/Authentication/Register.jsx +++ b/new-lamassu-admin/src/pages/Authentication/Register.jsx @@ -1,5 +1,6 @@ import { useQuery, useMutation, gql } from "@apollo/client"; -import { makeStyles, Grid } from '@mui/material' +import { Grid } from '@mui/material' +import { makeStyles } from '@mui/styles' import Paper from '@mui/material/Paper' import { Field, Form, Formik } from 'formik' import React, { useReducer } from 'react' diff --git a/new-lamassu-admin/src/pages/Authentication/Reset2FA.jsx b/new-lamassu-admin/src/pages/Authentication/Reset2FA.jsx index 4b1441fa..cff60ae5 100644 --- a/new-lamassu-admin/src/pages/Authentication/Reset2FA.jsx +++ b/new-lamassu-admin/src/pages/Authentication/Reset2FA.jsx @@ -1,5 +1,6 @@ import { useQuery, useMutation, gql } from "@apollo/client"; -import { makeStyles, Grid } from '@mui/material' +import { Grid } from '@mui/material' +import { makeStyles } from '@mui/styles' import Paper from '@mui/material/Paper' import { Form, Formik } from 'formik' import { QRCodeSVG as QRCode } from 'qrcode.react' diff --git a/new-lamassu-admin/src/pages/Authentication/ResetPassword.jsx b/new-lamassu-admin/src/pages/Authentication/ResetPassword.jsx index 1f741ff9..4eab703c 100644 --- a/new-lamassu-admin/src/pages/Authentication/ResetPassword.jsx +++ b/new-lamassu-admin/src/pages/Authentication/ResetPassword.jsx @@ -1,5 +1,6 @@ import { useQuery, useMutation, gql } from "@apollo/client"; -import { makeStyles, Grid } from '@mui/material' +import { Grid } from '@mui/material' +import { makeStyles } from '@mui/styles' import Paper from '@mui/material/Paper' import { Field, Form, Formik } from 'formik' import React, { useState } from 'react' diff --git a/new-lamassu-admin/src/pages/Authentication/Setup2FAState.jsx b/new-lamassu-admin/src/pages/Authentication/Setup2FAState.jsx index b56847d2..8ddb0594 100644 --- a/new-lamassu-admin/src/pages/Authentication/Setup2FAState.jsx +++ b/new-lamassu-admin/src/pages/Authentication/Setup2FAState.jsx @@ -1,5 +1,5 @@ import { useMutation, useQuery, useLazyQuery, gql } from "@apollo/client"; -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import { Form, Formik } from 'formik' import { QRCodeSVG as QRCode } from 'qrcode.react' import React, { useContext, useState } from 'react' diff --git a/new-lamassu-admin/src/pages/Blacklist/Blacklist.jsx b/new-lamassu-admin/src/pages/Blacklist/Blacklist.jsx index e417c029..5a8344e6 100644 --- a/new-lamassu-admin/src/pages/Blacklist/Blacklist.jsx +++ b/new-lamassu-admin/src/pages/Blacklist/Blacklist.jsx @@ -1,6 +1,6 @@ import { useQuery, useMutation, gql } from "@apollo/client"; import { Box, Dialog, DialogContent, DialogActions } from '@mui/material' -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' import { HelpTooltip } from 'src/components/Tooltip' diff --git a/new-lamassu-admin/src/pages/Blacklist/BlacklistAdvanced.jsx b/new-lamassu-admin/src/pages/Blacklist/BlacklistAdvanced.jsx index 4574f27e..2f554905 100644 --- a/new-lamassu-admin/src/pages/Blacklist/BlacklistAdvanced.jsx +++ b/new-lamassu-admin/src/pages/Blacklist/BlacklistAdvanced.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import { Form, Formik, Field } from 'formik' import * as R from 'ramda' import React, { useState } from 'react' diff --git a/new-lamassu-admin/src/pages/Blacklist/BlacklistModal.jsx b/new-lamassu-admin/src/pages/Blacklist/BlacklistModal.jsx index 405f085b..feafa19f 100644 --- a/new-lamassu-admin/src/pages/Blacklist/BlacklistModal.jsx +++ b/new-lamassu-admin/src/pages/Blacklist/BlacklistModal.jsx @@ -1,5 +1,5 @@ import { Box } from '@mui/material' -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import { Formik, Form, Field } from 'formik' import * as R from 'ramda' import React from 'react' diff --git a/new-lamassu-admin/src/pages/Blacklist/BlacklistTable.jsx b/new-lamassu-admin/src/pages/Blacklist/BlacklistTable.jsx index 6f7852bd..877ca6a8 100644 --- a/new-lamassu-admin/src/pages/Blacklist/BlacklistTable.jsx +++ b/new-lamassu-admin/src/pages/Blacklist/BlacklistTable.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' import { DeleteDialog } from 'src/components/DeleteDialog' diff --git a/new-lamassu-admin/src/pages/Cashout/Cashout.jsx b/new-lamassu-admin/src/pages/Cashout/Cashout.jsx index 9bbf82df..62678dce 100644 --- a/new-lamassu-admin/src/pages/Cashout/Cashout.jsx +++ b/new-lamassu-admin/src/pages/Cashout/Cashout.jsx @@ -1,5 +1,5 @@ import { useQuery, useMutation, gql } from "@apollo/client"; -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' import { HelpTooltip } from 'src/components/Tooltip' diff --git a/new-lamassu-admin/src/pages/Cashout/WizardSplash.jsx b/new-lamassu-admin/src/pages/Cashout/WizardSplash.jsx index 8b12b3de..a7b210c0 100644 --- a/new-lamassu-admin/src/pages/Cashout/WizardSplash.jsx +++ b/new-lamassu-admin/src/pages/Cashout/WizardSplash.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import React from 'react' import { H1, P, Info2 } from 'src/components/typography' import TxOutIcon from 'src/styling/icons/direction/cash-out.svg?react' diff --git a/new-lamassu-admin/src/pages/Cashout/WizardStep.jsx b/new-lamassu-admin/src/pages/Cashout/WizardStep.jsx index 8f15e98b..9e4a70b1 100644 --- a/new-lamassu-admin/src/pages/Cashout/WizardStep.jsx +++ b/new-lamassu-admin/src/pages/Cashout/WizardStep.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import { Formik, Form, Field } from 'formik' import React from 'react' import ErrorMessage from 'src/components/ErrorMessage' diff --git a/new-lamassu-admin/src/pages/Commissions/Commissions.jsx b/new-lamassu-admin/src/pages/Commissions/Commissions.jsx index fa8d6645..36b2388b 100644 --- a/new-lamassu-admin/src/pages/Commissions/Commissions.jsx +++ b/new-lamassu-admin/src/pages/Commissions/Commissions.jsx @@ -1,5 +1,5 @@ import { useQuery, useMutation, gql } from "@apollo/client"; -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' import { HelpTooltip } from 'src/components/Tooltip' diff --git a/new-lamassu-admin/src/pages/Commissions/components/CommissionsList.jsx b/new-lamassu-admin/src/pages/Commissions/components/CommissionsList.jsx index 17a19095..0889e6dd 100644 --- a/new-lamassu-admin/src/pages/Commissions/components/CommissionsList.jsx +++ b/new-lamassu-admin/src/pages/Commissions/components/CommissionsList.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { memo, useState } from 'react' import { diff --git a/new-lamassu-admin/src/pages/Customers/CustomerData.jsx b/new-lamassu-admin/src/pages/Customers/CustomerData.jsx index 71886a41..e1f9a265 100644 --- a/new-lamassu-admin/src/pages/Customers/CustomerData.jsx +++ b/new-lamassu-admin/src/pages/Customers/CustomerData.jsx @@ -1,5 +1,5 @@ import Grid from '@mui/material/Grid' -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import * as R from 'ramda' import { useState, React } from 'react' import ImagePopper from 'src/components/ImagePopper' diff --git a/new-lamassu-admin/src/pages/Customers/CustomerNotes.jsx b/new-lamassu-admin/src/pages/Customers/CustomerNotes.jsx index dd80b721..8e8f01b7 100644 --- a/new-lamassu-admin/src/pages/Customers/CustomerNotes.jsx +++ b/new-lamassu-admin/src/pages/Customers/CustomerNotes.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import * as R from 'ramda' import { React, useState } from 'react' import { H3 } from 'src/components/typography' diff --git a/new-lamassu-admin/src/pages/Customers/CustomerPhotos.jsx b/new-lamassu-admin/src/pages/Customers/CustomerPhotos.jsx index 417f8064..4c51ae02 100644 --- a/new-lamassu-admin/src/pages/Customers/CustomerPhotos.jsx +++ b/new-lamassu-admin/src/pages/Customers/CustomerPhotos.jsx @@ -1,4 +1,5 @@ -import { makeStyles, Paper } from '@mui/material' +import { Paper } from '@mui/material' +import { makeStyles } from '@mui/styles' import { format } from 'date-fns/fp' import * as R from 'ramda' import { React, useState } from 'react' diff --git a/new-lamassu-admin/src/pages/Customers/CustomerProfile.jsx b/new-lamassu-admin/src/pages/Customers/CustomerProfile.jsx index 5aa9d4ed..67f47227 100644 --- a/new-lamassu-admin/src/pages/Customers/CustomerProfile.jsx +++ b/new-lamassu-admin/src/pages/Customers/CustomerProfile.jsx @@ -1,12 +1,12 @@ import { useQuery, useMutation, useLazyQuery, gql } from "@apollo/client"; import { - makeStyles, Breadcrumbs, Box, DialogActions, DialogContent, Dialog } from '@mui/material' +import { makeStyles } from '@mui/styles' import NavigateNextIcon from '@mui/icons-material/NavigateNext' import * as R from 'ramda' import React, { memo, useState } from 'react' diff --git a/new-lamassu-admin/src/pages/Customers/Customers.jsx b/new-lamassu-admin/src/pages/Customers/Customers.jsx index 0626ee3e..e2aa5af8 100644 --- a/new-lamassu-admin/src/pages/Customers/Customers.jsx +++ b/new-lamassu-admin/src/pages/Customers/Customers.jsx @@ -1,5 +1,6 @@ import { useQuery, useMutation, gql } from "@apollo/client"; -import { Box, makeStyles } from '@mui/material' +import { Box } from '@mui/material' +import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' import { useHistory } from 'react-router-dom' diff --git a/new-lamassu-admin/src/pages/Customers/CustomersList.jsx b/new-lamassu-admin/src/pages/Customers/CustomersList.jsx index a53216c8..1eefc1be 100644 --- a/new-lamassu-admin/src/pages/Customers/CustomersList.jsx +++ b/new-lamassu-admin/src/pages/Customers/CustomersList.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import { format } from 'date-fns/fp' import * as R from 'ramda' import React from 'react' diff --git a/new-lamassu-admin/src/pages/Customers/Wizard.jsx b/new-lamassu-admin/src/pages/Customers/Wizard.jsx index 019e0318..3dcd91d5 100644 --- a/new-lamassu-admin/src/pages/Customers/Wizard.jsx +++ b/new-lamassu-admin/src/pages/Customers/Wizard.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import { Form, Formik } from 'formik' import * as R from 'ramda' import React, { useState, Fragment } from 'react' diff --git a/new-lamassu-admin/src/pages/Customers/components/CreateCustomerModal.jsx b/new-lamassu-admin/src/pages/Customers/components/CreateCustomerModal.jsx index 42298345..ba7e1484 100644 --- a/new-lamassu-admin/src/pages/Customers/components/CreateCustomerModal.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/CreateCustomerModal.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import { Field, Form, Formik } from 'formik' import { parsePhoneNumberWithError } from 'libphonenumber-js' import * as R from 'ramda' diff --git a/new-lamassu-admin/src/pages/Customers/components/CustomInfoRequestsData.jsx b/new-lamassu-admin/src/pages/Customers/components/CustomInfoRequestsData.jsx index 04b9f0d0..037a161f 100644 --- a/new-lamassu-admin/src/pages/Customers/components/CustomInfoRequestsData.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/CustomInfoRequestsData.jsx @@ -1,5 +1,5 @@ import { useMutation, gql } from "@apollo/client"; -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React, { useState } from 'react' import Modal from 'src/components/Modal' diff --git a/new-lamassu-admin/src/pages/Customers/components/CustomerDetails.jsx b/new-lamassu-admin/src/pages/Customers/components/CustomerDetails.jsx index 57afa313..e3596921 100644 --- a/new-lamassu-admin/src/pages/Customers/components/CustomerDetails.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/CustomerDetails.jsx @@ -1,4 +1,5 @@ -import { makeStyles, Box } from '@mui/material' +import { Box } from '@mui/material' +import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { memo } from 'react' import { H2, Label1, P } from 'src/components/typography' diff --git a/new-lamassu-admin/src/pages/Customers/components/CustomerSidebar.jsx b/new-lamassu-admin/src/pages/Customers/components/CustomerSidebar.jsx index 57f5468d..f35041ba 100644 --- a/new-lamassu-admin/src/pages/Customers/components/CustomerSidebar.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/CustomerSidebar.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React from 'react' import CustomerDataReversedIcon from 'src/styling/icons/customer-nav/data/comet.svg?react' diff --git a/new-lamassu-admin/src/pages/Customers/components/EditableCard.jsx b/new-lamassu-admin/src/pages/Customers/components/EditableCard.jsx index 82ae8b55..1952a0c3 100644 --- a/new-lamassu-admin/src/pages/Customers/components/EditableCard.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/EditableCard.jsx @@ -1,5 +1,5 @@ import { CardContent, Card, Grid } from '@mui/material' -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import { Form, Formik, Field as FormikField } from 'formik' import * as R from 'ramda' diff --git a/new-lamassu-admin/src/pages/Customers/components/Field.jsx b/new-lamassu-admin/src/pages/Customers/components/Field.jsx index ef540df2..7992773d 100644 --- a/new-lamassu-admin/src/pages/Customers/components/Field.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/Field.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React, { memo } from 'react' import { Info3, Label1 } from 'src/components/typography' diff --git a/new-lamassu-admin/src/pages/Customers/components/FrontCameraPhoto.jsx b/new-lamassu-admin/src/pages/Customers/components/FrontCameraPhoto.jsx index 5cb0a6c6..549f4fce 100644 --- a/new-lamassu-admin/src/pages/Customers/components/FrontCameraPhoto.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/FrontCameraPhoto.jsx @@ -1,5 +1,5 @@ import { Paper } from '@mui/material' -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import React, { memo } from 'react' import CrossedCameraIcon from 'src/styling/icons/ID/photo/crossed-camera.svg?react' diff --git a/new-lamassu-admin/src/pages/Customers/components/IdCardPhotoCard.jsx b/new-lamassu-admin/src/pages/Customers/components/IdCardPhotoCard.jsx index 7b206d77..1853e8e3 100644 --- a/new-lamassu-admin/src/pages/Customers/components/IdCardPhotoCard.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/IdCardPhotoCard.jsx @@ -1,4 +1,5 @@ -import { makeStyles, Box } from '@mui/material' +import { Box } from '@mui/material' +import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { memo } from 'react' import CrossedCameraIcon from 'src/styling/icons/ID/photo/crossed-camera.svg?react' diff --git a/new-lamassu-admin/src/pages/Customers/components/PhotosCard.jsx b/new-lamassu-admin/src/pages/Customers/components/PhotosCard.jsx index e38e075c..542ebeb4 100644 --- a/new-lamassu-admin/src/pages/Customers/components/PhotosCard.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/PhotosCard.jsx @@ -1,6 +1,6 @@ import ButtonBase from '@mui/material/ButtonBase' import Paper from '@mui/material/Card' -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { memo, useState } from 'react' import { InformativeDialog } from 'src/components/InformativeDialog' diff --git a/new-lamassu-admin/src/pages/Customers/components/PhotosCarousel.jsx b/new-lamassu-admin/src/pages/Customers/components/PhotosCarousel.jsx index d84a65a0..6b4a8337 100644 --- a/new-lamassu-admin/src/pages/Customers/components/PhotosCarousel.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/PhotosCarousel.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { memo, useState } from 'react' import { Carousel } from 'src/components/Carousel' diff --git a/new-lamassu-admin/src/pages/Customers/components/TransactionsList.jsx b/new-lamassu-admin/src/pages/Customers/components/TransactionsList.jsx index a16f5599..771f20c0 100644 --- a/new-lamassu-admin/src/pages/Customers/components/TransactionsList.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/TransactionsList.jsx @@ -1,5 +1,6 @@ import { toUnit } from '@lamassu/coins/lightUtils' -import { makeStyles, Box } from '@mui/material' +import { Box } from '@mui/material' +import { makeStyles } from '@mui/styles' import BigNumber from 'bignumber.js' import classnames from 'classnames' import * as R from 'ramda' diff --git a/new-lamassu-admin/src/pages/Customers/components/Upload.jsx b/new-lamassu-admin/src/pages/Customers/components/Upload.jsx index a0541697..e2f63e7b 100644 --- a/new-lamassu-admin/src/pages/Customers/components/Upload.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/Upload.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import { useFormikContext } from 'formik' import * as R from 'ramda' import React, { useState, useCallback } from 'react' diff --git a/new-lamassu-admin/src/pages/Customers/components/notes/NewNoteCard.jsx b/new-lamassu-admin/src/pages/Customers/components/notes/NewNoteCard.jsx index 0db848e5..c4c9b7cc 100644 --- a/new-lamassu-admin/src/pages/Customers/components/notes/NewNoteCard.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/notes/NewNoteCard.jsx @@ -1,4 +1,5 @@ -import { makeStyles, Paper } from '@mui/material' +import { Paper } from '@mui/material' +import { makeStyles } from '@mui/styles' import classNames from 'classnames' import { React } from 'react' import { P } from 'src/components/typography' diff --git a/new-lamassu-admin/src/pages/Customers/components/notes/NewNoteModal.jsx b/new-lamassu-admin/src/pages/Customers/components/notes/NewNoteModal.jsx index 75f172e6..6325bb7d 100644 --- a/new-lamassu-admin/src/pages/Customers/components/notes/NewNoteModal.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/notes/NewNoteModal.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import { Form, Formik, Field } from 'formik' import { React } from 'react' import ErrorMessage from 'src/components/ErrorMessage' diff --git a/new-lamassu-admin/src/pages/Customers/components/notes/NoteCard.jsx b/new-lamassu-admin/src/pages/Customers/components/notes/NoteCard.jsx index 8ca7123d..07ef4889 100644 --- a/new-lamassu-admin/src/pages/Customers/components/notes/NoteCard.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/notes/NoteCard.jsx @@ -1,4 +1,5 @@ -import { makeStyles, Paper } from '@mui/material' +import { Paper } from '@mui/material' +import { makeStyles } from '@mui/styles' import * as R from 'ramda' import { React } from 'react' import { H3, P } from 'src/components/typography' diff --git a/new-lamassu-admin/src/pages/Customers/components/notes/NoteEdit.jsx b/new-lamassu-admin/src/pages/Customers/components/notes/NoteEdit.jsx index 96c5e908..6b979eb7 100644 --- a/new-lamassu-admin/src/pages/Customers/components/notes/NoteEdit.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/notes/NoteEdit.jsx @@ -1,4 +1,5 @@ -import { makeStyles, Paper } from '@mui/material' +import { Paper } from '@mui/material' +import { makeStyles } from '@mui/styles' import { formatDurationWithOptions, intervalToDuration } from 'date-fns/fp' import { Form, Formik, Field } from 'formik' import { React, useRef } from 'react' diff --git a/new-lamassu-admin/src/pages/Customers/components/propertyCard/PropertyCard.jsx b/new-lamassu-admin/src/pages/Customers/components/propertyCard/PropertyCard.jsx index 9ad6c2f9..3d2c4036 100644 --- a/new-lamassu-admin/src/pages/Customers/components/propertyCard/PropertyCard.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/propertyCard/PropertyCard.jsx @@ -1,5 +1,5 @@ import { Paper } from '@mui/material' -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React, { memo } from 'react' import { MainStatus } from 'src/components/Status' diff --git a/new-lamassu-admin/src/pages/Customers/helper.jsx b/new-lamassu-admin/src/pages/Customers/helper.jsx index 7e3902cc..bbfd9b20 100644 --- a/new-lamassu-admin/src/pages/Customers/helper.jsx +++ b/new-lamassu-admin/src/pages/Customers/helper.jsx @@ -1,5 +1,6 @@ import React from 'react' -import { makeStyles, Box } from '@mui/material' +import { Box } from '@mui/material' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import { parse, isValid, format } from 'date-fns/fp' import { Field, useFormikContext } from 'formik' diff --git a/new-lamassu-admin/src/pages/Dashboard/Alerts/Alerts.jsx b/new-lamassu-admin/src/pages/Dashboard/Alerts/Alerts.jsx index caac5087..17b89f2f 100644 --- a/new-lamassu-admin/src/pages/Dashboard/Alerts/Alerts.jsx +++ b/new-lamassu-admin/src/pages/Dashboard/Alerts/Alerts.jsx @@ -1,7 +1,7 @@ import { useQuery, gql } from "@apollo/client"; import Button from '@mui/material/Button' import Grid from '@mui/material/Grid' -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import * as R from 'ramda' import React from 'react' diff --git a/new-lamassu-admin/src/pages/Dashboard/Alerts/AlertsTable.jsx b/new-lamassu-admin/src/pages/Dashboard/Alerts/AlertsTable.jsx index 9792809e..478b0876 100644 --- a/new-lamassu-admin/src/pages/Dashboard/Alerts/AlertsTable.jsx +++ b/new-lamassu-admin/src/pages/Dashboard/Alerts/AlertsTable.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import List from '@mui/material/List' import ListItem from '@mui/material/ListItem' import * as R from 'ramda' diff --git a/new-lamassu-admin/src/pages/Dashboard/Dashboard.jsx b/new-lamassu-admin/src/pages/Dashboard/Dashboard.jsx index 03ef83d1..e3b7eb07 100644 --- a/new-lamassu-admin/src/pages/Dashboard/Dashboard.jsx +++ b/new-lamassu-admin/src/pages/Dashboard/Dashboard.jsx @@ -1,6 +1,6 @@ import { useQuery, gql } from "@apollo/client"; import Grid from '@mui/material/Grid' -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' import { useHistory } from 'react-router-dom' diff --git a/new-lamassu-admin/src/pages/Dashboard/Footer/Footer.jsx b/new-lamassu-admin/src/pages/Dashboard/Footer/Footer.jsx index 0d620de1..ab6ab6ad 100644 --- a/new-lamassu-admin/src/pages/Dashboard/Footer/Footer.jsx +++ b/new-lamassu-admin/src/pages/Dashboard/Footer/Footer.jsx @@ -1,5 +1,5 @@ import { useQuery, gql } from "@apollo/client"; -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import Grid from '@mui/material/Grid' import BigNumber from 'bignumber.js' import classnames from 'classnames' diff --git a/new-lamassu-admin/src/pages/Dashboard/LeftSide.jsx b/new-lamassu-admin/src/pages/Dashboard/LeftSide.jsx index b6aa96f9..8cda8eec 100644 --- a/new-lamassu-admin/src/pages/Dashboard/LeftSide.jsx +++ b/new-lamassu-admin/src/pages/Dashboard/LeftSide.jsx @@ -1,5 +1,5 @@ import Grid from '@mui/material/Grid' -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import React from 'react' import styles from './Dashboard.styles' diff --git a/new-lamassu-admin/src/pages/Dashboard/RightSide.jsx b/new-lamassu-admin/src/pages/Dashboard/RightSide.jsx index ec550e93..82eb332e 100644 --- a/new-lamassu-admin/src/pages/Dashboard/RightSide.jsx +++ b/new-lamassu-admin/src/pages/Dashboard/RightSide.jsx @@ -1,6 +1,6 @@ import Button from '@mui/material/Button' import Grid from '@mui/material/Grid' -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React, { useState } from 'react' import CollapsibleCard, { cardState } from 'src/components/CollapsibleCard' diff --git a/new-lamassu-admin/src/pages/Dashboard/SystemPerformance/Graphs/PercentageChart.jsx b/new-lamassu-admin/src/pages/Dashboard/SystemPerformance/Graphs/PercentageChart.jsx index 8901348a..7a8aa683 100644 --- a/new-lamassu-admin/src/pages/Dashboard/SystemPerformance/Graphs/PercentageChart.jsx +++ b/new-lamassu-admin/src/pages/Dashboard/SystemPerformance/Graphs/PercentageChart.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React from 'react' import { Label1 } from 'src/components/typography/index' diff --git a/new-lamassu-admin/src/pages/Dashboard/SystemPerformance/Nav.jsx b/new-lamassu-admin/src/pages/Dashboard/SystemPerformance/Nav.jsx index fa61bc28..e12ac98b 100644 --- a/new-lamassu-admin/src/pages/Dashboard/SystemPerformance/Nav.jsx +++ b/new-lamassu-admin/src/pages/Dashboard/SystemPerformance/Nav.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import * as R from 'ramda' import React, { useState } from 'react' diff --git a/new-lamassu-admin/src/pages/Dashboard/SystemPerformance/SystemPerformance.jsx b/new-lamassu-admin/src/pages/Dashboard/SystemPerformance/SystemPerformance.jsx index 0f88551a..cd3552b1 100644 --- a/new-lamassu-admin/src/pages/Dashboard/SystemPerformance/SystemPerformance.jsx +++ b/new-lamassu-admin/src/pages/Dashboard/SystemPerformance/SystemPerformance.jsx @@ -1,6 +1,6 @@ import { useQuery, gql } from "@apollo/client"; import Grid from '@mui/material/Grid' -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import BigNumber from 'bignumber.js' import classnames from 'classnames' import { isAfter } from 'date-fns/fp' diff --git a/new-lamassu-admin/src/pages/Dashboard/SystemStatus/MachinesTable.jsx b/new-lamassu-admin/src/pages/Dashboard/SystemStatus/MachinesTable.jsx index eafb7421..94d1c68b 100644 --- a/new-lamassu-admin/src/pages/Dashboard/SystemStatus/MachinesTable.jsx +++ b/new-lamassu-admin/src/pages/Dashboard/SystemStatus/MachinesTable.jsx @@ -1,5 +1,5 @@ import { useQuery, gql } from "@apollo/client"; -import { makeStyles, withStyles } from '@mui/material' +import { makeStyles, withStyles } from '@mui/styles' import Table from '@mui/material/Table' import TableBody from '@mui/material/TableBody' import TableCell from '@mui/material/TableCell' diff --git a/new-lamassu-admin/src/pages/Dashboard/SystemStatus/SystemStatus.jsx b/new-lamassu-admin/src/pages/Dashboard/SystemStatus/SystemStatus.jsx index 85b60a38..ff01f03d 100644 --- a/new-lamassu-admin/src/pages/Dashboard/SystemStatus/SystemStatus.jsx +++ b/new-lamassu-admin/src/pages/Dashboard/SystemStatus/SystemStatus.jsx @@ -1,7 +1,7 @@ import { useQuery, gql } from "@apollo/client"; import Button from '@mui/material/Button' import Grid from '@mui/material/Grid' -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import * as R from 'ramda' import React from 'react' diff --git a/new-lamassu-admin/src/pages/Funding.jsx b/new-lamassu-admin/src/pages/Funding.jsx index 871ec653..05bd61ad 100644 --- a/new-lamassu-admin/src/pages/Funding.jsx +++ b/new-lamassu-admin/src/pages/Funding.jsx @@ -1,6 +1,6 @@ import { useQuery, gql } from "@apollo/client"; import { formatCryptoAddress } from '@lamassu/coins/lightUtils' -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import BigNumber from 'bignumber.js' import classnames from 'classnames' import { format } from 'date-fns/fp' diff --git a/new-lamassu-admin/src/pages/Locales/Locales.jsx b/new-lamassu-admin/src/pages/Locales/Locales.jsx index 2cb03f79..fcb32433 100644 --- a/new-lamassu-admin/src/pages/Locales/Locales.jsx +++ b/new-lamassu-admin/src/pages/Locales/Locales.jsx @@ -1,5 +1,5 @@ import { useQuery, useMutation, gql } from "@apollo/client"; -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' import Modal from 'src/components/Modal' diff --git a/new-lamassu-admin/src/pages/LoyaltyPanel/IndividualDiscountModal.jsx b/new-lamassu-admin/src/pages/LoyaltyPanel/IndividualDiscountModal.jsx index 539754d2..6868330d 100644 --- a/new-lamassu-admin/src/pages/LoyaltyPanel/IndividualDiscountModal.jsx +++ b/new-lamassu-admin/src/pages/LoyaltyPanel/IndividualDiscountModal.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import { Form, Formik, Field } from 'formik' import * as R from 'ramda' import React from 'react' diff --git a/new-lamassu-admin/src/pages/LoyaltyPanel/IndividualDiscounts.jsx b/new-lamassu-admin/src/pages/LoyaltyPanel/IndividualDiscounts.jsx index d045afc9..f2f1ff44 100644 --- a/new-lamassu-admin/src/pages/LoyaltyPanel/IndividualDiscounts.jsx +++ b/new-lamassu-admin/src/pages/LoyaltyPanel/IndividualDiscounts.jsx @@ -1,5 +1,6 @@ import { useQuery, useMutation, gql } from "@apollo/client"; -import { makeStyles, Box } from '@mui/material' +import { Box } from '@mui/material' +import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' import { DeleteDialog } from 'src/components/DeleteDialog' diff --git a/new-lamassu-admin/src/pages/LoyaltyPanel/PromoCodes.jsx b/new-lamassu-admin/src/pages/LoyaltyPanel/PromoCodes.jsx index a63c0ffc..33aec913 100644 --- a/new-lamassu-admin/src/pages/LoyaltyPanel/PromoCodes.jsx +++ b/new-lamassu-admin/src/pages/LoyaltyPanel/PromoCodes.jsx @@ -1,5 +1,6 @@ import { useQuery, useMutation, gql } from "@apollo/client"; -import { makeStyles, Box } from '@mui/material' +import { Box } from '@mui/material' +import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' import { DeleteDialog } from 'src/components/DeleteDialog' diff --git a/new-lamassu-admin/src/pages/LoyaltyPanel/PromoCodesModal.jsx b/new-lamassu-admin/src/pages/LoyaltyPanel/PromoCodesModal.jsx index d29a59e1..25556f6e 100644 --- a/new-lamassu-admin/src/pages/LoyaltyPanel/PromoCodesModal.jsx +++ b/new-lamassu-admin/src/pages/LoyaltyPanel/PromoCodesModal.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import { Form, Formik, Field } from 'formik' import * as R from 'ramda' import React from 'react' diff --git a/new-lamassu-admin/src/pages/MachineLogs.jsx b/new-lamassu-admin/src/pages/MachineLogs.jsx index 2bdc1d5b..5e33fdae 100644 --- a/new-lamassu-admin/src/pages/MachineLogs.jsx +++ b/new-lamassu-admin/src/pages/MachineLogs.jsx @@ -1,5 +1,5 @@ import { useQuery, gql } from "@apollo/client"; -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' import LogsDowloaderPopover from 'src/components/LogsDownloaderPopper' diff --git a/new-lamassu-admin/src/pages/Machines/MachineComponents/Cassettes/Cassettes.jsx b/new-lamassu-admin/src/pages/Machines/MachineComponents/Cassettes/Cassettes.jsx index 66f7b28e..04dfb6b6 100644 --- a/new-lamassu-admin/src/pages/Machines/MachineComponents/Cassettes/Cassettes.jsx +++ b/new-lamassu-admin/src/pages/Machines/MachineComponents/Cassettes/Cassettes.jsx @@ -1,5 +1,5 @@ import { useMutation, gql } from "@apollo/client"; -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' import DataTable from 'src/components/tables/DataTable' diff --git a/new-lamassu-admin/src/pages/Machines/MachineComponents/Details.jsx b/new-lamassu-admin/src/pages/Machines/MachineComponents/Details.jsx index dcd12d52..7b9105da 100644 --- a/new-lamassu-admin/src/pages/Machines/MachineComponents/Details.jsx +++ b/new-lamassu-admin/src/pages/Machines/MachineComponents/Details.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import React from 'react' import { Label3, P } from 'src/components/typography' diff --git a/new-lamassu-admin/src/pages/Machines/MachineComponents/Overview.jsx b/new-lamassu-admin/src/pages/Machines/MachineComponents/Overview.jsx index 9e8f4a1c..a9f42060 100644 --- a/new-lamassu-admin/src/pages/Machines/MachineComponents/Overview.jsx +++ b/new-lamassu-admin/src/pages/Machines/MachineComponents/Overview.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import BigNumber from 'bignumber.js' import { formatDistance } from 'date-fns' import React from 'react' diff --git a/new-lamassu-admin/src/pages/Machines/MachineComponents/Transactions/DataTable.jsx b/new-lamassu-admin/src/pages/Machines/MachineComponents/Transactions/DataTable.jsx index a72247a2..cde79f18 100644 --- a/new-lamassu-admin/src/pages/Machines/MachineComponents/Transactions/DataTable.jsx +++ b/new-lamassu-admin/src/pages/Machines/MachineComponents/Transactions/DataTable.jsx @@ -1,4 +1,5 @@ -import { makeStyles, Box } from '@mui/material' +import { Box } from '@mui/material' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import * as R from 'ramda' import React, { useState, useEffect } from 'react' diff --git a/new-lamassu-admin/src/pages/Machines/MachineComponents/Transactions/Transactions.jsx b/new-lamassu-admin/src/pages/Machines/MachineComponents/Transactions/Transactions.jsx index 2f9e4820..bca7c908 100644 --- a/new-lamassu-admin/src/pages/Machines/MachineComponents/Transactions/Transactions.jsx +++ b/new-lamassu-admin/src/pages/Machines/MachineComponents/Transactions/Transactions.jsx @@ -1,6 +1,6 @@ import { useQuery, useLazyQuery, gql } from "@apollo/client"; import { toUnit, formatCryptoAddress } from '@lamassu/coins/lightUtils' -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import BigNumber from 'bignumber.js' import * as R from 'ramda' import React, { useEffect, useState } from 'react' diff --git a/new-lamassu-admin/src/pages/Machines/MachineSidebar.jsx b/new-lamassu-admin/src/pages/Machines/MachineSidebar.jsx index 0fbec6c4..1181d615 100644 --- a/new-lamassu-admin/src/pages/Machines/MachineSidebar.jsx +++ b/new-lamassu-admin/src/pages/Machines/MachineSidebar.jsx @@ -1,7 +1,7 @@ import List from '@mui/material/List' import ListItem from '@mui/material/ListItem' import ListItemText from '@mui/material/ListItemText' -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import React from 'react' import styles from './Machines.styles' diff --git a/new-lamassu-admin/src/pages/Machines/Machines.jsx b/new-lamassu-admin/src/pages/Machines/Machines.jsx index 674a8df7..7055151a 100644 --- a/new-lamassu-admin/src/pages/Machines/Machines.jsx +++ b/new-lamassu-admin/src/pages/Machines/Machines.jsx @@ -1,7 +1,7 @@ import { useQuery, gql } from "@apollo/client"; import Breadcrumbs from '@mui/material/Breadcrumbs' import Grid from '@mui/material/Grid' -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import NavigateNextIcon from '@mui/icons-material/NavigateNext' import classnames from 'classnames' import * as R from 'ramda' diff --git a/new-lamassu-admin/src/pages/Maintenance/CashUnitDetails.jsx b/new-lamassu-admin/src/pages/Maintenance/CashUnitDetails.jsx index 4c7b3c15..1d027869 100644 --- a/new-lamassu-admin/src/pages/Maintenance/CashUnitDetails.jsx +++ b/new-lamassu-admin/src/pages/Maintenance/CashUnitDetails.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React from 'react' import Chip from 'src/components/Chip' diff --git a/new-lamassu-admin/src/pages/Maintenance/CashUnits.jsx b/new-lamassu-admin/src/pages/Maintenance/CashUnits.jsx index c8338af5..8508edb0 100644 --- a/new-lamassu-admin/src/pages/Maintenance/CashUnits.jsx +++ b/new-lamassu-admin/src/pages/Maintenance/CashUnits.jsx @@ -1,5 +1,6 @@ import { useQuery, useMutation, gql } from "@apollo/client"; -import { DialogActions, makeStyles, Box } from '@mui/material' +import { DialogActions, Box } from '@mui/material' +import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' import LogsDowloaderPopover from 'src/components/LogsDownloaderPopper' diff --git a/new-lamassu-admin/src/pages/Maintenance/CashUnitsFooter.jsx b/new-lamassu-admin/src/pages/Maintenance/CashUnitsFooter.jsx index cea17f48..bbbab515 100644 --- a/new-lamassu-admin/src/pages/Maintenance/CashUnitsFooter.jsx +++ b/new-lamassu-admin/src/pages/Maintenance/CashUnitsFooter.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import BigNumber from 'bignumber.js' import * as R from 'ramda' import React from 'react' diff --git a/new-lamassu-admin/src/pages/Maintenance/CashboxHistory.jsx b/new-lamassu-admin/src/pages/Maintenance/CashboxHistory.jsx index e77c5726..580fa0be 100644 --- a/new-lamassu-admin/src/pages/Maintenance/CashboxHistory.jsx +++ b/new-lamassu-admin/src/pages/Maintenance/CashboxHistory.jsx @@ -1,5 +1,5 @@ import { useQuery, gql } from "@apollo/client"; -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React from 'react' // import * as Yup from 'yup' diff --git a/new-lamassu-admin/src/pages/Maintenance/MachineDetailsCard.jsx b/new-lamassu-admin/src/pages/Maintenance/MachineDetailsCard.jsx index 49edc5be..d9b5c8f9 100644 --- a/new-lamassu-admin/src/pages/Maintenance/MachineDetailsCard.jsx +++ b/new-lamassu-admin/src/pages/Maintenance/MachineDetailsCard.jsx @@ -1,5 +1,5 @@ import { Grid /*, Divider */ } from '@mui/material' -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import BigNumber from 'bignumber.js' import React from 'react' diff --git a/new-lamassu-admin/src/pages/Maintenance/MachineDetailsCard.styles.js b/new-lamassu-admin/src/pages/Maintenance/MachineDetailsCard.styles.js index 20f05896..7ac4426f 100644 --- a/new-lamassu-admin/src/pages/Maintenance/MachineDetailsCard.styles.js +++ b/new-lamassu-admin/src/pages/Maintenance/MachineDetailsCard.styles.js @@ -1,4 +1,4 @@ -import { alpha } from '@mui/material/styles/colorManipulator' +import { alpha } from '@mui/material/styles' import { detailsRowStyles, diff --git a/new-lamassu-admin/src/pages/Maintenance/MachineStatus.jsx b/new-lamassu-admin/src/pages/Maintenance/MachineStatus.jsx index adc31043..3b0abdc4 100644 --- a/new-lamassu-admin/src/pages/Maintenance/MachineStatus.jsx +++ b/new-lamassu-admin/src/pages/Maintenance/MachineStatus.jsx @@ -1,5 +1,5 @@ import { useQuery, gql } from "@apollo/client"; -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import { formatDistance } from 'date-fns' import * as R from 'ramda' import React from 'react' diff --git a/new-lamassu-admin/src/pages/Maintenance/Wizard/WizardSplash.jsx b/new-lamassu-admin/src/pages/Maintenance/Wizard/WizardSplash.jsx index 58c82858..921e189b 100644 --- a/new-lamassu-admin/src/pages/Maintenance/Wizard/WizardSplash.jsx +++ b/new-lamassu-admin/src/pages/Maintenance/Wizard/WizardSplash.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import React from 'react' import { H1, P, Info2 } from 'src/components/typography' import WarningIcon from 'src/styling/icons/warning-icon/comet.svg?react' diff --git a/new-lamassu-admin/src/pages/Maintenance/Wizard/WizardStep.jsx b/new-lamassu-admin/src/pages/Maintenance/Wizard/WizardStep.jsx index 09dce4b2..42186e38 100644 --- a/new-lamassu-admin/src/pages/Maintenance/Wizard/WizardStep.jsx +++ b/new-lamassu-admin/src/pages/Maintenance/Wizard/WizardStep.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import { Formik, Form, Field } from 'formik' import * as R from 'ramda' diff --git a/new-lamassu-admin/src/pages/Notifications/components/EditHeader.jsx b/new-lamassu-admin/src/pages/Notifications/components/EditHeader.jsx index 45b6c744..2fca1331 100644 --- a/new-lamassu-admin/src/pages/Notifications/components/EditHeader.jsx +++ b/new-lamassu-admin/src/pages/Notifications/components/EditHeader.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import React from 'react' import { H4 } from 'src/components/typography' import DisabledEditIcon from 'src/styling/icons/action/edit/disabled.svg?react' diff --git a/new-lamassu-admin/src/pages/Notifications/components/EditableNumber.jsx b/new-lamassu-admin/src/pages/Notifications/components/EditableNumber.jsx index d66234a5..05cf20f6 100644 --- a/new-lamassu-admin/src/pages/Notifications/components/EditableNumber.jsx +++ b/new-lamassu-admin/src/pages/Notifications/components/EditableNumber.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import { useFormikContext, Field as FormikField } from 'formik' import React from 'react' diff --git a/new-lamassu-admin/src/pages/Notifications/sections/CryptoBalanceAlerts.jsx b/new-lamassu-admin/src/pages/Notifications/sections/CryptoBalanceAlerts.jsx index 5af68822..10c105ba 100644 --- a/new-lamassu-admin/src/pages/Notifications/sections/CryptoBalanceAlerts.jsx +++ b/new-lamassu-admin/src/pages/Notifications/sections/CryptoBalanceAlerts.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import React, { useContext } from 'react' import NotificationsCtx from '../NotificationsContext' diff --git a/new-lamassu-admin/src/pages/Notifications/sections/FiatBalanceAlerts.jsx b/new-lamassu-admin/src/pages/Notifications/sections/FiatBalanceAlerts.jsx index 54cca64d..86e40da4 100644 --- a/new-lamassu-admin/src/pages/Notifications/sections/FiatBalanceAlerts.jsx +++ b/new-lamassu-admin/src/pages/Notifications/sections/FiatBalanceAlerts.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import { Form, Formik } from 'formik' import * as R from 'ramda' import React, { useContext } from 'react' diff --git a/new-lamassu-admin/src/pages/Notifications/sections/Setup.jsx b/new-lamassu-admin/src/pages/Notifications/sections/Setup.jsx index d6160c46..05b0fdc2 100644 --- a/new-lamassu-admin/src/pages/Notifications/sections/Setup.jsx +++ b/new-lamassu-admin/src/pages/Notifications/sections/Setup.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useContext } from 'react' import { diff --git a/new-lamassu-admin/src/pages/OperatorInfo/CoinATMRadar.jsx b/new-lamassu-admin/src/pages/OperatorInfo/CoinATMRadar.jsx index 0f3f189c..5ef31d8f 100644 --- a/new-lamassu-admin/src/pages/OperatorInfo/CoinATMRadar.jsx +++ b/new-lamassu-admin/src/pages/OperatorInfo/CoinATMRadar.jsx @@ -1,5 +1,5 @@ import { useQuery, useMutation, gql } from "@apollo/client"; -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import React, { memo } from 'react' import { HelpTooltip } from 'src/components/Tooltip' import { H4, P, Label2 } from 'src/components/typography' diff --git a/new-lamassu-admin/src/pages/OperatorInfo/ContactInfo.jsx b/new-lamassu-admin/src/pages/OperatorInfo/ContactInfo.jsx index 7e5d288c..c00b1249 100644 --- a/new-lamassu-admin/src/pages/OperatorInfo/ContactInfo.jsx +++ b/new-lamassu-admin/src/pages/OperatorInfo/ContactInfo.jsx @@ -1,5 +1,5 @@ import { useQuery, useMutation, gql } from "@apollo/client"; -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import { Form, Formik, Field as FormikField } from 'formik' import * as R from 'ramda' diff --git a/new-lamassu-admin/src/pages/OperatorInfo/MachineScreens.jsx b/new-lamassu-admin/src/pages/OperatorInfo/MachineScreens.jsx index 3d459147..c3561d0e 100644 --- a/new-lamassu-admin/src/pages/OperatorInfo/MachineScreens.jsx +++ b/new-lamassu-admin/src/pages/OperatorInfo/MachineScreens.jsx @@ -1,5 +1,5 @@ import { useQuery, useMutation, gql } from "@apollo/client"; -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { memo } from 'react' import { H4, P, Label2 } from 'src/components/typography' diff --git a/new-lamassu-admin/src/pages/OperatorInfo/ReceiptPrinting.jsx b/new-lamassu-admin/src/pages/OperatorInfo/ReceiptPrinting.jsx index 9fb89c49..b14ea9f4 100644 --- a/new-lamassu-admin/src/pages/OperatorInfo/ReceiptPrinting.jsx +++ b/new-lamassu-admin/src/pages/OperatorInfo/ReceiptPrinting.jsx @@ -1,5 +1,5 @@ import { useQuery, useMutation, gql } from "@apollo/client"; -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { memo } from 'react' import { HelpTooltip } from 'src/components/Tooltip' diff --git a/new-lamassu-admin/src/pages/OperatorInfo/SMSNotices/SMSNotices.jsx b/new-lamassu-admin/src/pages/OperatorInfo/SMSNotices/SMSNotices.jsx index 3c73dc0b..1c76b064 100644 --- a/new-lamassu-admin/src/pages/OperatorInfo/SMSNotices/SMSNotices.jsx +++ b/new-lamassu-admin/src/pages/OperatorInfo/SMSNotices/SMSNotices.jsx @@ -1,5 +1,6 @@ import { useQuery, useMutation, gql } from "@apollo/client"; -import { makeStyles, Paper } from '@mui/material' +import { Paper } from '@mui/material' +import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' import { HelpTooltip } from 'src/components/Tooltip' diff --git a/new-lamassu-admin/src/pages/OperatorInfo/SMSNotices/SMSNoticesModal.jsx b/new-lamassu-admin/src/pages/OperatorInfo/SMSNotices/SMSNoticesModal.jsx index 4b0681b8..278dedff 100644 --- a/new-lamassu-admin/src/pages/OperatorInfo/SMSNotices/SMSNoticesModal.jsx +++ b/new-lamassu-admin/src/pages/OperatorInfo/SMSNotices/SMSNoticesModal.jsx @@ -1,4 +1,5 @@ -import { makeStyles, Chip } from '@mui/material' +import { Chip } from '@mui/material' +import { makeStyles } from '@mui/styles' import { Form, Formik, Field } from 'formik' import * as R from 'ramda' import React from 'react' diff --git a/new-lamassu-admin/src/pages/OperatorInfo/TermsConditions.jsx b/new-lamassu-admin/src/pages/OperatorInfo/TermsConditions.jsx index e6b4519c..8dab6f7a 100644 --- a/new-lamassu-admin/src/pages/OperatorInfo/TermsConditions.jsx +++ b/new-lamassu-admin/src/pages/OperatorInfo/TermsConditions.jsx @@ -1,5 +1,5 @@ import { useQuery, useMutation, gql } from "@apollo/client"; -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import { Form, Formik, Field as FormikField } from 'formik' import * as R from 'ramda' diff --git a/new-lamassu-admin/src/pages/ServerLogs.jsx b/new-lamassu-admin/src/pages/ServerLogs.jsx index 939b42fc..136784b6 100644 --- a/new-lamassu-admin/src/pages/ServerLogs.jsx +++ b/new-lamassu-admin/src/pages/ServerLogs.jsx @@ -1,5 +1,5 @@ import { useQuery, gql } from "@apollo/client"; -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState, useRef } from 'react' import LogsDowloaderPopover from 'src/components/LogsDownloaderPopper' diff --git a/new-lamassu-admin/src/pages/Services/FormRenderer.jsx b/new-lamassu-admin/src/pages/Services/FormRenderer.jsx index 6495f88e..cddc4f6f 100644 --- a/new-lamassu-admin/src/pages/Services/FormRenderer.jsx +++ b/new-lamassu-admin/src/pages/Services/FormRenderer.jsx @@ -1,4 +1,5 @@ -import { makeStyles, Grid } from '@mui/material' +import { Grid } from '@mui/material' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import { Formik, Form, FastField } from 'formik' import * as R from 'ramda' diff --git a/new-lamassu-admin/src/pages/Services/Services.jsx b/new-lamassu-admin/src/pages/Services/Services.jsx index 1ec790c4..aafe0ff9 100644 --- a/new-lamassu-admin/src/pages/Services/Services.jsx +++ b/new-lamassu-admin/src/pages/Services/Services.jsx @@ -1,5 +1,6 @@ import { useQuery, useMutation, gql } from "@apollo/client"; -import { makeStyles, Grid } from '@mui/material' +import { Grid } from '@mui/material' +import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' import Modal from 'src/components/Modal' diff --git a/new-lamassu-admin/src/pages/Transactions/CopyToClipboard.jsx b/new-lamassu-admin/src/pages/Transactions/CopyToClipboard.jsx index 12ca1097..306111f5 100644 --- a/new-lamassu-admin/src/pages/Transactions/CopyToClipboard.jsx +++ b/new-lamassu-admin/src/pages/Transactions/CopyToClipboard.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import * as R from 'ramda' import React, { useState, useEffect } from 'react' diff --git a/new-lamassu-admin/src/pages/Transactions/DetailsCard.jsx b/new-lamassu-admin/src/pages/Transactions/DetailsCard.jsx index 4d37cc51..29464fdf 100644 --- a/new-lamassu-admin/src/pages/Transactions/DetailsCard.jsx +++ b/new-lamassu-admin/src/pages/Transactions/DetailsCard.jsx @@ -1,6 +1,7 @@ import { useLazyQuery, useMutation, gql } from "@apollo/client"; import { toUnit, formatCryptoAddress } from '@lamassu/coins/lightUtils' -import { makeStyles, Box } from '@mui/material' +import { Box } from '@mui/material' +import { makeStyles } from '@mui/styles' import BigNumber from 'bignumber.js' import classNames from 'classnames' import { add, differenceInYears, format, sub, parse } from 'date-fns/fp' diff --git a/new-lamassu-admin/src/pages/Transactions/Transactions.jsx b/new-lamassu-admin/src/pages/Transactions/Transactions.jsx index 453ac8ac..2cec7eb3 100644 --- a/new-lamassu-admin/src/pages/Transactions/Transactions.jsx +++ b/new-lamassu-admin/src/pages/Transactions/Transactions.jsx @@ -1,6 +1,6 @@ import { useQuery, gql } from "@apollo/client"; import { toUnit, formatCryptoAddress } from '@lamassu/coins/lightUtils' -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import BigNumber from 'bignumber.js' import * as R from 'ramda' import React, { useEffect, useState } from 'react' diff --git a/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/CustomInfoRequests.jsx b/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/CustomInfoRequests.jsx index 31d3a9ef..b9c224dc 100644 --- a/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/CustomInfoRequests.jsx +++ b/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/CustomInfoRequests.jsx @@ -1,5 +1,5 @@ import { useMutation, useQuery, gql } from "@apollo/client"; -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import * as R from 'ramda' import React, { useState } from 'react' diff --git a/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/DetailsCard.jsx b/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/DetailsCard.jsx index a92d8686..2de4ac04 100644 --- a/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/DetailsCard.jsx +++ b/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/DetailsCard.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React from 'react' import { Label1, Info2 } from 'src/components/typography' diff --git a/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/Forms/TypeFields/ChoiceList.jsx b/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/Forms/TypeFields/ChoiceList.jsx index f97eb34e..a171c1dd 100644 --- a/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/Forms/TypeFields/ChoiceList.jsx +++ b/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/Forms/TypeFields/ChoiceList.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import { Field, useFormikContext, FieldArray } from 'formik' import * as R from 'ramda' diff --git a/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/Forms/TypeFields/NumericalEntry.jsx b/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/Forms/TypeFields/NumericalEntry.jsx index e82da9a0..5c6c364d 100644 --- a/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/Forms/TypeFields/NumericalEntry.jsx +++ b/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/Forms/TypeFields/NumericalEntry.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import { Field, useFormikContext } from 'formik' import * as R from 'ramda' diff --git a/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/Forms/TypeFields/TextEntry.jsx b/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/Forms/TypeFields/TextEntry.jsx index 90401d32..79f2674e 100644 --- a/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/Forms/TypeFields/TextEntry.jsx +++ b/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/Forms/TypeFields/TextEntry.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import { Field, useFormikContext } from 'formik' import * as R from 'ramda' diff --git a/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/Wizard.jsx b/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/Wizard.jsx index daf1d718..232902b2 100644 --- a/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/Wizard.jsx +++ b/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/Wizard.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import { Form, Formik } from 'formik' import * as R from 'ramda' import React, { useState } from 'react' diff --git a/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/WizardSplash.jsx b/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/WizardSplash.jsx index eb8405b7..b3d9ffa0 100644 --- a/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/WizardSplash.jsx +++ b/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/WizardSplash.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import React from 'react' import { H1, P } from 'src/components/typography' import CustomReqLogo from 'src/styling/icons/compliance/custom-requirement.svg?react' diff --git a/new-lamassu-admin/src/pages/Triggers/TriggerView.jsx b/new-lamassu-admin/src/pages/Triggers/TriggerView.jsx index 9c80f447..193fa0da 100644 --- a/new-lamassu-admin/src/pages/Triggers/TriggerView.jsx +++ b/new-lamassu-admin/src/pages/Triggers/TriggerView.jsx @@ -1,5 +1,6 @@ import { useMutation, gql } from "@apollo/client"; -import { makeStyles, Box } from '@mui/material' +import { Box } from '@mui/material' +import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' import { H2 } from 'src/components/typography' diff --git a/new-lamassu-admin/src/pages/Triggers/Triggers.jsx b/new-lamassu-admin/src/pages/Triggers/Triggers.jsx index 7da853f6..2c1cf485 100644 --- a/new-lamassu-admin/src/pages/Triggers/Triggers.jsx +++ b/new-lamassu-admin/src/pages/Triggers/Triggers.jsx @@ -1,5 +1,6 @@ import { useQuery, useMutation, gql } from "@apollo/client"; -import { makeStyles, Box } from '@mui/material' +import { Box } from '@mui/material' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import * as R from 'ramda' import React, { useState } from 'react' diff --git a/new-lamassu-admin/src/pages/Triggers/Wizard.jsx b/new-lamassu-admin/src/pages/Triggers/Wizard.jsx index 577063dd..abf8d94a 100644 --- a/new-lamassu-admin/src/pages/Triggers/Wizard.jsx +++ b/new-lamassu-admin/src/pages/Triggers/Wizard.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import { Form, Formik, useFormikContext } from 'formik' import * as R from 'ramda' import React, { useState, Fragment, useEffect } from 'react' diff --git a/new-lamassu-admin/src/pages/Triggers/helper.jsx b/new-lamassu-admin/src/pages/Triggers/helper.jsx index 429c6255..1bb0b887 100644 --- a/new-lamassu-admin/src/pages/Triggers/helper.jsx +++ b/new-lamassu-admin/src/pages/Triggers/helper.jsx @@ -1,4 +1,5 @@ -import { makeStyles, Box } from '@mui/material' +import { Box } from '@mui/material' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import { Field, useFormikContext } from 'formik' import * as R from 'ramda' diff --git a/new-lamassu-admin/src/pages/UserManagement/UserManagement.jsx b/new-lamassu-admin/src/pages/UserManagement/UserManagement.jsx index cde4ee00..ae0260cc 100644 --- a/new-lamassu-admin/src/pages/UserManagement/UserManagement.jsx +++ b/new-lamassu-admin/src/pages/UserManagement/UserManagement.jsx @@ -1,5 +1,6 @@ import { useQuery, useMutation, useLazyQuery, gql } from "@apollo/client"; -import { makeStyles, Box, Chip } from '@mui/material' +import { Box, Chip } from '@mui/material' +import { makeStyles } from '@mui/styles' import { startAttestation } from '@simplewebauthn/browser' import * as R from 'ramda' import React, { useReducer, useState, useContext } from 'react' diff --git a/new-lamassu-admin/src/pages/UserManagement/modals/ChangeRoleModal.jsx b/new-lamassu-admin/src/pages/UserManagement/modals/ChangeRoleModal.jsx index ddaae2ad..eb7b7cbe 100644 --- a/new-lamassu-admin/src/pages/UserManagement/modals/ChangeRoleModal.jsx +++ b/new-lamassu-admin/src/pages/UserManagement/modals/ChangeRoleModal.jsx @@ -1,5 +1,5 @@ import { useMutation, gql } from "@apollo/client"; -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import React, { useState } from 'react' import ErrorMessage from 'src/components/ErrorMessage' import Modal from 'src/components/Modal' diff --git a/new-lamassu-admin/src/pages/UserManagement/modals/CreateUserModal.jsx b/new-lamassu-admin/src/pages/UserManagement/modals/CreateUserModal.jsx index 9334f76a..b3704f68 100644 --- a/new-lamassu-admin/src/pages/UserManagement/modals/CreateUserModal.jsx +++ b/new-lamassu-admin/src/pages/UserManagement/modals/CreateUserModal.jsx @@ -1,5 +1,5 @@ import { useMutation, gql } from "@apollo/client"; -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import { Field, Form, Formik } from 'formik' import React, { useState } from 'react' diff --git a/new-lamassu-admin/src/pages/UserManagement/modals/EnableUserModal.jsx b/new-lamassu-admin/src/pages/UserManagement/modals/EnableUserModal.jsx index 68e24db9..0066e184 100644 --- a/new-lamassu-admin/src/pages/UserManagement/modals/EnableUserModal.jsx +++ b/new-lamassu-admin/src/pages/UserManagement/modals/EnableUserModal.jsx @@ -1,5 +1,5 @@ import { useMutation, gql } from "@apollo/client"; -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import React, { useState } from 'react' import ErrorMessage from 'src/components/ErrorMessage' import Modal from 'src/components/Modal' diff --git a/new-lamassu-admin/src/pages/UserManagement/modals/FIDOModal.jsx b/new-lamassu-admin/src/pages/UserManagement/modals/FIDOModal.jsx index 812c3de8..8762a783 100644 --- a/new-lamassu-admin/src/pages/UserManagement/modals/FIDOModal.jsx +++ b/new-lamassu-admin/src/pages/UserManagement/modals/FIDOModal.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import React from 'react' import Modal from 'src/components/Modal' import { Info2, P } from 'src/components/typography' diff --git a/new-lamassu-admin/src/pages/UserManagement/modals/Input2FAModal.jsx b/new-lamassu-admin/src/pages/UserManagement/modals/Input2FAModal.jsx index f764245e..73666fa7 100644 --- a/new-lamassu-admin/src/pages/UserManagement/modals/Input2FAModal.jsx +++ b/new-lamassu-admin/src/pages/UserManagement/modals/Input2FAModal.jsx @@ -1,5 +1,5 @@ import { useLazyQuery, gql } from "@apollo/client"; -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import { Form, Formik } from 'formik' import React, { useState } from 'react' import Modal from 'src/components/Modal' diff --git a/new-lamassu-admin/src/pages/UserManagement/modals/Reset2FAModal.jsx b/new-lamassu-admin/src/pages/UserManagement/modals/Reset2FAModal.jsx index d2864067..ae1cfc49 100644 --- a/new-lamassu-admin/src/pages/UserManagement/modals/Reset2FAModal.jsx +++ b/new-lamassu-admin/src/pages/UserManagement/modals/Reset2FAModal.jsx @@ -1,5 +1,5 @@ import { useMutation, gql } from "@apollo/client"; -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import React, { useEffect, useState } from 'react' import ErrorMessage from 'src/components/ErrorMessage' import Modal from 'src/components/Modal' diff --git a/new-lamassu-admin/src/pages/UserManagement/modals/ResetPasswordModal.jsx b/new-lamassu-admin/src/pages/UserManagement/modals/ResetPasswordModal.jsx index 69e559bc..ca53e015 100644 --- a/new-lamassu-admin/src/pages/UserManagement/modals/ResetPasswordModal.jsx +++ b/new-lamassu-admin/src/pages/UserManagement/modals/ResetPasswordModal.jsx @@ -1,5 +1,5 @@ import { useMutation, gql } from "@apollo/client"; -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import React, { useEffect, useState } from 'react' import ErrorMessage from 'src/components/ErrorMessage' import Modal from 'src/components/Modal' diff --git a/new-lamassu-admin/src/pages/Wallet/Wallet.jsx b/new-lamassu-admin/src/pages/Wallet/Wallet.jsx index 3406caee..32915acc 100644 --- a/new-lamassu-admin/src/pages/Wallet/Wallet.jsx +++ b/new-lamassu-admin/src/pages/Wallet/Wallet.jsx @@ -1,5 +1,5 @@ import { useQuery, useMutation, gql } from "@apollo/client"; -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' import Modal from 'src/components/Modal' diff --git a/new-lamassu-admin/src/pages/Wallet/WizardSplash.jsx b/new-lamassu-admin/src/pages/Wallet/WizardSplash.jsx index 215a92df..ed44939b 100644 --- a/new-lamassu-admin/src/pages/Wallet/WizardSplash.jsx +++ b/new-lamassu-admin/src/pages/Wallet/WizardSplash.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import React from 'react' import { H1, P } from 'src/components/typography' import BitcoinLogo from 'src/styling/logos/icon-bitcoin-colour.svg?react' diff --git a/new-lamassu-admin/src/pages/Wallet/WizardStep.jsx b/new-lamassu-admin/src/pages/Wallet/WizardStep.jsx index c3a0c270..0443665a 100644 --- a/new-lamassu-admin/src/pages/Wallet/WizardStep.jsx +++ b/new-lamassu-admin/src/pages/Wallet/WizardStep.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import { Formik, Form, Field } from 'formik' import * as R from 'ramda' diff --git a/new-lamassu-admin/src/pages/Wizard/Wizard.jsx b/new-lamassu-admin/src/pages/Wizard/Wizard.jsx index 9733690d..69f6c597 100644 --- a/new-lamassu-admin/src/pages/Wizard/Wizard.jsx +++ b/new-lamassu-admin/src/pages/Wizard/Wizard.jsx @@ -1,5 +1,6 @@ import { useQuery, gql } from "@apollo/client"; -import { makeStyles, Dialog, DialogContent } from '@mui/material' +import { Dialog, DialogContent } from '@mui/material' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React, { useState, useContext } from 'react' import { useHistory } from 'react-router-dom' diff --git a/new-lamassu-admin/src/pages/Wizard/components/Commissions.jsx b/new-lamassu-admin/src/pages/Wizard/components/Commissions.jsx index 2336115a..f82c4ed4 100644 --- a/new-lamassu-admin/src/pages/Wizard/components/Commissions.jsx +++ b/new-lamassu-admin/src/pages/Wizard/components/Commissions.jsx @@ -1,5 +1,5 @@ import { useQuery, useMutation, gql } from "@apollo/client"; -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React from 'react' import Section from 'src/components/layout/Section' diff --git a/new-lamassu-admin/src/pages/Wizard/components/Footer.jsx b/new-lamassu-admin/src/pages/Wizard/components/Footer.jsx index f4394a4e..32b6ac64 100644 --- a/new-lamassu-admin/src/pages/Wizard/components/Footer.jsx +++ b/new-lamassu-admin/src/pages/Wizard/components/Footer.jsx @@ -1,4 +1,5 @@ -import { makeStyles, Drawer, Grid } from '@mui/material' +import { Drawer, Grid } from '@mui/material' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React, { useState } from 'react' import Modal from 'src/components/Modal' diff --git a/new-lamassu-admin/src/pages/Wizard/components/Locales.jsx b/new-lamassu-admin/src/pages/Wizard/components/Locales.jsx index e3756df0..e35b83f4 100644 --- a/new-lamassu-admin/src/pages/Wizard/components/Locales.jsx +++ b/new-lamassu-admin/src/pages/Wizard/components/Locales.jsx @@ -1,5 +1,5 @@ import { useQuery, useMutation, gql } from "@apollo/client"; -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React from 'react' import Section from 'src/components/layout/Section' diff --git a/new-lamassu-admin/src/pages/Wizard/components/Mailgun.jsx b/new-lamassu-admin/src/pages/Wizard/components/Mailgun.jsx index ed619c28..fc07996d 100644 --- a/new-lamassu-admin/src/pages/Wizard/components/Mailgun.jsx +++ b/new-lamassu-admin/src/pages/Wizard/components/Mailgun.jsx @@ -1,5 +1,5 @@ import { useMutation, useQuery, gql } from "@apollo/client"; -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import React, { useState, useEffect } from 'react' import { H4, Info3 } from 'src/components/typography' import FormRenderer from 'src/pages/Services/FormRenderer' diff --git a/new-lamassu-admin/src/pages/Wizard/components/Notifications.jsx b/new-lamassu-admin/src/pages/Wizard/components/Notifications.jsx index 014b00fc..6506312c 100644 --- a/new-lamassu-admin/src/pages/Wizard/components/Notifications.jsx +++ b/new-lamassu-admin/src/pages/Wizard/components/Notifications.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import Grid from '@mui/material/Grid' import React, { useState } from 'react' import Sidebar from 'src/components/layout/Sidebar' diff --git a/new-lamassu-admin/src/pages/Wizard/components/OperatorInfo.jsx b/new-lamassu-admin/src/pages/Wizard/components/OperatorInfo.jsx index f85f19e6..9b59072b 100644 --- a/new-lamassu-admin/src/pages/Wizard/components/OperatorInfo.jsx +++ b/new-lamassu-admin/src/pages/Wizard/components/OperatorInfo.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import React from 'react' // import OperatorInfo from 'src/pages/OperatorInfo' diff --git a/new-lamassu-admin/src/pages/Wizard/components/Twilio.jsx b/new-lamassu-admin/src/pages/Wizard/components/Twilio.jsx index fed8b74a..5d977304 100644 --- a/new-lamassu-admin/src/pages/Wizard/components/Twilio.jsx +++ b/new-lamassu-admin/src/pages/Wizard/components/Twilio.jsx @@ -1,5 +1,6 @@ import { useMutation, useQuery, gql } from "@apollo/client"; -import { makeStyles, Box } from '@mui/material' +import { Box } from '@mui/material' +import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React, { useState } from 'react' import InfoMessage from 'src/components/InfoMessage' diff --git a/new-lamassu-admin/src/pages/Wizard/components/Wallet/AllSet.jsx b/new-lamassu-admin/src/pages/Wizard/components/Wallet/AllSet.jsx index 0cb3318f..fd5ca065 100644 --- a/new-lamassu-admin/src/pages/Wizard/components/Wallet/AllSet.jsx +++ b/new-lamassu-admin/src/pages/Wizard/components/Wallet/AllSet.jsx @@ -1,5 +1,5 @@ import { useQuery, useMutation, gql } from "@apollo/client"; -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' import { P, H4 } from 'src/components/typography' diff --git a/new-lamassu-admin/src/pages/Wizard/components/Wallet/Blockcypher.jsx b/new-lamassu-admin/src/pages/Wizard/components/Wallet/Blockcypher.jsx index a9c79015..a5d2605f 100644 --- a/new-lamassu-admin/src/pages/Wizard/components/Wallet/Blockcypher.jsx +++ b/new-lamassu-admin/src/pages/Wizard/components/Wallet/Blockcypher.jsx @@ -1,5 +1,5 @@ import { useMutation, useQuery, gql } from "@apollo/client"; -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import React, { useState } from 'react' import { P, H4 } from 'src/components/typography' import FormRenderer from 'src/pages/Services/FormRenderer' diff --git a/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseCoin.jsx b/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseCoin.jsx index 949f7f7c..0216bed3 100644 --- a/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseCoin.jsx +++ b/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseCoin.jsx @@ -1,5 +1,5 @@ import { useQuery, gql } from "@apollo/client"; -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import { Formik, Form, Field } from 'formik' import React, { useState } from 'react' import PromptWhenDirty from 'src/components/PromptWhenDirty' diff --git a/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseExchange.jsx b/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseExchange.jsx index dfac3102..cb117b79 100644 --- a/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseExchange.jsx +++ b/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseExchange.jsx @@ -1,6 +1,6 @@ import { useQuery, useMutation, gql } from "@apollo/client"; import { getEquivalentCode } from '@lamassu/coins/lightUtils' -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' import { H4, Info3 } from 'src/components/typography' diff --git a/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseTicker.jsx b/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseTicker.jsx index 6a9c14ed..89e9d646 100644 --- a/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseTicker.jsx +++ b/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseTicker.jsx @@ -1,6 +1,6 @@ import { useQuery, gql } from "@apollo/client"; import { getEquivalentCode } from '@lamassu/coins/lightUtils' -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' import { H4 } from 'src/components/typography' diff --git a/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseWallet.jsx b/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseWallet.jsx index 2a40f8fc..64c6d0d7 100644 --- a/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseWallet.jsx +++ b/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseWallet.jsx @@ -1,5 +1,5 @@ import { useQuery, useMutation, gql } from "@apollo/client"; -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' import { H4, Info3 } from 'src/components/typography' diff --git a/new-lamassu-admin/src/pages/Wizard/components/Wallet/Wallet.jsx b/new-lamassu-admin/src/pages/Wizard/components/Wallet/Wallet.jsx index 02afcb08..337bb4e7 100644 --- a/new-lamassu-admin/src/pages/Wizard/components/Wallet/Wallet.jsx +++ b/new-lamassu-admin/src/pages/Wizard/components/Wallet/Wallet.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' import Sidebar, { Stepper } from 'src/components/layout/Sidebar' diff --git a/new-lamassu-admin/src/pages/Wizard/components/Welcome.jsx b/new-lamassu-admin/src/pages/Wizard/components/Welcome.jsx index fb6014e2..221fe2a9 100644 --- a/new-lamassu-admin/src/pages/Wizard/components/Welcome.jsx +++ b/new-lamassu-admin/src/pages/Wizard/components/Welcome.jsx @@ -1,4 +1,4 @@ -import { makeStyles } from '@mui/material' +import { makeStyles } from '@mui/styles' import React from 'react' import { H1, P } from 'src/components/typography' diff --git a/new-lamassu-admin/src/routing/routes.jsx b/new-lamassu-admin/src/routing/routes.jsx index e3d7aeaf..47d623d6 100644 --- a/new-lamassu-admin/src/routing/routes.jsx +++ b/new-lamassu-admin/src/routing/routes.jsx @@ -1,6 +1,6 @@ import Fade from '@mui/material/Fade' import Slide from '@mui/material/Slide' -import { makeStyles } from '@mui/material/styles' +import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useContext } from 'react' import { diff --git a/new-lamassu-admin/src/styling/theme.js b/new-lamassu-admin/src/styling/theme.js index 77e8e2b4..34d1e0ef 100644 --- a/new-lamassu-admin/src/styling/theme.js +++ b/new-lamassu-admin/src/styling/theme.js @@ -107,7 +107,7 @@ export default createTheme(adaptV4Theme({ }, MuiFormLabel: { root: { - '&$focused': { + '&.Mui-focused': { color: fontColor } } @@ -121,7 +121,7 @@ export default createTheme(adaptV4Theme({ }, MuiToggleButton: { root: { - '&$selected': { + '&.Mui-selected': { backgroundColor: zircon, borderColor: primaryColor, borderTopColor: [primaryColor, '!important'], From af2105198949e1761f3ba2310fe0c1739b06943a Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Mon, 21 Apr 2025 14:43:17 +0100 Subject: [PATCH 20/85] partial: theme and more css fixes --- new-lamassu-admin/package-lock.json | 131 ------------- new-lamassu-admin/package.json | 1 - new-lamassu-admin/src/components/Popper.jsx | 40 ++-- .../components/buttons/BaseButton.styles.js | 5 - .../src/components/buttons/IconButton.jsx | 10 +- .../src/components/inputs/base/RadioGroup.jsx | 7 +- .../src/components/inputs/base/Switch.jsx | 1 + .../inputs/base/ToggleButtonGroup.jsx | 3 +- .../src/components/layout/Header.jsx | 19 +- .../src/components/typography/styles.js | 2 +- .../src/pages/AddMachine/AddMachine.jsx | 2 +- new-lamassu-admin/src/styling/theme.js | 177 ++++++++++-------- 12 files changed, 153 insertions(+), 245 deletions(-) diff --git a/new-lamassu-admin/package-lock.json b/new-lamassu-admin/package-lock.json index 15e9f98c..d6897569 100644 --- a/new-lamassu-admin/package-lock.json +++ b/new-lamassu-admin/package-lock.json @@ -14,7 +14,6 @@ "@emotion/styled": "^11.14.0", "@lamassu/coins": "v1.6.1", "@mui/icons-material": "^5.17.1", - "@mui/lab": "^5.0.0-alpha.170", "@mui/material": "^5.17.1", "@mui/styles": "^5.17.1", "@simplewebauthn/browser": "^3.0.0", @@ -1243,44 +1242,6 @@ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@floating-ui/core": { - "version": "1.6.9", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.9.tgz", - "integrity": "sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==", - "license": "MIT", - "dependencies": { - "@floating-ui/utils": "^0.2.9" - } - }, - "node_modules/@floating-ui/dom": { - "version": "1.6.13", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.13.tgz", - "integrity": "sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==", - "license": "MIT", - "dependencies": { - "@floating-ui/core": "^1.6.0", - "@floating-ui/utils": "^0.2.9" - } - }, - "node_modules/@floating-ui/react-dom": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.2.tgz", - "integrity": "sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==", - "license": "MIT", - "dependencies": { - "@floating-ui/dom": "^1.0.0" - }, - "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0" - } - }, - "node_modules/@floating-ui/utils": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.9.tgz", - "integrity": "sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==", - "license": "MIT" - }, "node_modules/@graphql-typed-document-node/core": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.2.0.tgz", @@ -1616,48 +1577,6 @@ "react-dom": "^16.8.0 || ^17.0.0" } }, - "node_modules/@mui/base": { - "version": "5.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.40.tgz", - "integrity": "sha512-I/lGHztkCzvwlXpjD2+SNmvNQvB4227xBXhISPjEaJUXGImOQ9f3D2Yj/T3KasSI/h0MLWy74X0J6clhPmsRbQ==", - "deprecated": "This package has been replaced by @base-ui-components/react", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.23.9", - "@floating-ui/react-dom": "^2.0.8", - "@mui/types": "^7.2.14", - "@mui/utils": "^5.15.14", - "@popperjs/core": "^2.11.8", - "clsx": "^2.1.0", - "prop-types": "^15.8.1" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui-org" - }, - "peerDependencies": { - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@mui/base/node_modules/clsx": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", - "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/@mui/core-downloads-tracker": { "version": "5.17.1", "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.17.1.tgz", @@ -1694,56 +1613,6 @@ } } }, - "node_modules/@mui/lab": { - "version": "5.0.0-alpha.170", - "resolved": "https://registry.npmjs.org/@mui/lab/-/lab-5.0.0-alpha.170.tgz", - "integrity": "sha512-0bDVECGmrNjd3+bLdcLiwYZ0O4HP5j5WSQm5DV6iA/Z9kr8O6AnvZ1bv9ImQbbX7Gj3pX4o43EKwCutj3EQxQg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.23.9", - "@mui/base": "5.0.0-beta.40", - "@mui/system": "^5.15.15", - "@mui/types": "^7.2.14", - "@mui/utils": "^5.15.14", - "clsx": "^2.1.0", - "prop-types": "^15.8.1" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui-org" - }, - "peerDependencies": { - "@emotion/react": "^11.5.0", - "@emotion/styled": "^11.3.0", - "@mui/material": ">=5.15.0", - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@emotion/react": { - "optional": true - }, - "@emotion/styled": { - "optional": true - }, - "@types/react": { - "optional": true - } - } - }, - "node_modules/@mui/lab/node_modules/clsx": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", - "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/@mui/material": { "version": "5.17.1", "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.17.1.tgz", diff --git a/new-lamassu-admin/package.json b/new-lamassu-admin/package.json index 32ca64b2..639d0a27 100644 --- a/new-lamassu-admin/package.json +++ b/new-lamassu-admin/package.json @@ -9,7 +9,6 @@ "@emotion/styled": "^11.14.0", "@lamassu/coins": "v1.6.1", "@mui/icons-material": "^5.17.1", - "@mui/lab": "^5.0.0-alpha.170", "@mui/material": "^5.17.1", "@mui/styles": "^5.17.1", "@simplewebauthn/browser": "^3.0.0", diff --git a/new-lamassu-admin/src/components/Popper.jsx b/new-lamassu-admin/src/components/Popper.jsx index 6dc56d01..30203f97 100644 --- a/new-lamassu-admin/src/components/Popper.jsx +++ b/new-lamassu-admin/src/components/Popper.jsx @@ -121,28 +121,42 @@ const Popover = ({ right: ['left'] } - const modifiers = R.mergeDeepLeft(props.modifiers, { - flip: { + const modifiers = [ + { + name: 'flip', enabled: R.defaultTo(false, props.flip), - allowedAutoPlacements: flipPlacements[props.placement], - boundary: 'clippingParents' + options: { + allowedAutoPlacements: flipPlacements[props.placement] + } }, - preventOverflow: { + { + name: 'preventOverflow', enabled: R.defaultTo(true, props.preventOverflow), - boundariesElement: 'scrollParent' + options: { + rootBoundary: 'scrollParent' + } }, - offset: { + { + name: 'offset', enabled: true, - offset: '0, 10' + options: { + offset: [0, 10] + } }, - arrow: { + { + name: 'arrow', enabled: R.defaultTo(true, props.showArrow), - element: arrowRef + options: { + element: arrowRef + } }, - computeStyle: { - gpuAcceleration: false + { + name: 'computeStyles', + options: { + gpuAcceleration: false + } } - }) + ] if (props.preventOverflow === false) { modifiers.hide = { diff --git a/new-lamassu-admin/src/components/buttons/BaseButton.styles.js b/new-lamassu-admin/src/components/buttons/BaseButton.styles.js index 6bad408a..3d49746e 100644 --- a/new-lamassu-admin/src/components/buttons/BaseButton.styles.js +++ b/new-lamassu-admin/src/components/buttons/BaseButton.styles.js @@ -1,5 +1,3 @@ -// import { outlinedInputClasses } from '@mui/material/ButtonBase'; - import { white, fontColor, @@ -39,7 +37,6 @@ export default { extend: colors(subheaderColor, subheaderDarkColor, offColor), '&:active': { color: white, - // [`& ${outlinedInputClasses.buttonIcon}`]: { '& $buttonIcon': { display: 'none' }, @@ -57,14 +54,12 @@ export default { '&:active': { color: fontColor, '& $buttonIcon': { - // [`& ${outlinedInputClasses.buttonIcon}`]: { display: 'flex' }, '& $buttonIconActive': { display: 'none' } }, - // [`& ${outlinedInputClasses.buttonIcon}`]: { '& $buttonIcon': { display: 'none' }, diff --git a/new-lamassu-admin/src/components/buttons/IconButton.jsx b/new-lamassu-admin/src/components/buttons/IconButton.jsx index e3ed0665..52661a22 100644 --- a/new-lamassu-admin/src/components/buttons/IconButton.jsx +++ b/new-lamassu-admin/src/components/buttons/IconButton.jsx @@ -5,11 +5,9 @@ import React from 'react' import { comet } from 'src/styling/variables' const styles = { - label: ({ size }) => ({ + root: ({ size }) => ({ width: size, - height: size - }), - root: { + height: size, '& svg': { flex: 1 }, @@ -25,7 +23,7 @@ const styles = { '&:hover path': { stroke: comet } - } + }) } const useStyles = makeStyles(styles) @@ -36,7 +34,7 @@ const IconButton = ({ size, children, onClick, ...props }) => { {children} diff --git a/new-lamassu-admin/src/components/inputs/base/RadioGroup.jsx b/new-lamassu-admin/src/components/inputs/base/RadioGroup.jsx index 2f680f87..efd6ce33 100644 --- a/new-lamassu-admin/src/components/inputs/base/RadioGroup.jsx +++ b/new-lamassu-admin/src/components/inputs/base/RadioGroup.jsx @@ -8,7 +8,7 @@ import classnames from 'classnames' import React from 'react' import { Label1 } from 'src/components/typography' -import { offColor } from 'src/styling/variables' +import { offColor, secondaryColor } from 'src/styling/variables' const styles = { label: { height: 16, @@ -20,6 +20,9 @@ const styles = { marginTop: -8, marginLeft: 32, color: offColor + }, + radio: { + color: secondaryColor } } @@ -50,7 +53,7 @@ const RadioGroup = ({ } + control={} label={option.display} className={classnames(labelClassName)} /> diff --git a/new-lamassu-admin/src/components/inputs/base/Switch.jsx b/new-lamassu-admin/src/components/inputs/base/Switch.jsx index fedd6b44..79e235f2 100644 --- a/new-lamassu-admin/src/components/inputs/base/Switch.jsx +++ b/new-lamassu-admin/src/components/inputs/base/Switch.jsx @@ -62,6 +62,7 @@ const SwitchInput = memo(({ ...props }) => { const classes = useStyles() return ( { className={classes.popper} disablePortal={false} placement="bottom-end" - modifiers={{ - offset: { + modifiers={[ + { + name: 'offset', enabled: true, - offset: '100vw' + options: { + offset: ['100vw', '100vw'] + } }, - preventOverflow: { + { + name: 'preventOverflow', enabled: true, - boundariesElement: 'viewport', - padding: 0 + options: { + rootBoundary: 'viewport', + }, } - }}> + ]}> {
    Add Machine - + diff --git a/new-lamassu-admin/src/styling/theme.js b/new-lamassu-admin/src/styling/theme.js index 34d1e0ef..869547b7 100644 --- a/new-lamassu-admin/src/styling/theme.js +++ b/new-lamassu-admin/src/styling/theme.js @@ -1,4 +1,4 @@ -import { createTheme, adaptV4Theme } from '@mui/material/styles'; +import { createTheme } from '@mui/material/styles'; import typographyStyles from 'src/components/typography/styles' @@ -18,13 +18,9 @@ import { const { p } = typographyStyles -export default createTheme(adaptV4Theme({ +export default createTheme({ typography: { fontFamily: inputFontFamily, - body1: { ...p } - }, - MuiButtonBase: { - disableRipple: true }, palette: { primary: { @@ -41,105 +37,126 @@ export default createTheme(adaptV4Theme({ default: backgroundColor } }, - overrides: { - MuiRadio: { - colorSecondary: { - color: secondaryColor + components: { + MuiTypography: { + styleOverrides: { + root: { ...p } + } + }, + MuiButtonBase: { + defaultProps: { + disableRipple: true } }, MuiAutocomplete: { - root: { - color: fontColor - }, - noOptions: { - padding: [[6, 16]] - }, - option: { - '&[data-focus="true"]': { - backgroundColor: subheaderColor - } - }, - paper: { - color: fontColor, - margin: 0 - }, - listbox: { - padding: 0 - }, - tag: { - '&[data-tag-index="0"]': { - marginLeft: 0 + styleOverrides: { + root: { + color: fontColor }, - margin: 2, - backgroundColor: subheaderColor, - borderRadius: 4, - height: 18 + noOptions: { + padding: `6px 16px` + }, + option: { + '&[data-focus="true"]': { + backgroundColor: subheaderColor + } + }, + paper: { + color: fontColor, + margin: 0 + }, + listbox: { + padding: 0 + }, + tag: { + '&[data-tag-index="0"]': { + marginLeft: 0 + }, + margin: 2, + backgroundColor: subheaderColor, + borderRadius: 4, + height: 18 + } } }, MuiChip: { - label: { - paddingLeft: 4, - paddingRight: 4, - color: fontColor, - fontSize: fontSize5 + styleOverrides: { + label: { + paddingLeft: 4, + paddingRight: 4, + color: fontColor, + fontSize: fontSize5 + } } }, MuiInput: { - root: { - color: fontColor - }, - underline: { - '&:before': { - borderBottom: [[2, 'solid', fontColor]] + styleOverrides: { + root: { + color: fontColor + }, + underline: { + '&:before': { + borderBottom: `2px solid ${fontColor}` + } } } }, MuiInputLabel: { - root: { - font: 'inherit', - fontSize: fontSize3, - color: offColor - }, - shrink: { - color: fontColor, - transform: 'translate(0, 1.7px) scale(0.83)' + styleOverrides: { + root: { + font: 'inherit', + fontSize: fontSize3, + color: offColor + }, + shrink: { + color: fontColor, + transform: 'translate(0, 1.7px) scale(0.83)' + } } }, MuiFormLabel: { - root: { - '&.Mui-focused': { - color: fontColor + styleOverrides: { + root: { + '&.Mui-focused': { + color: fontColor + } } } }, MuiListItem: { - root: { - '&:nth-of-type(odd)': { - backgroundColor: backgroundColor + styleOverrides: { + root: { + '&:nth-of-type(odd)': { + backgroundColor: backgroundColor + } } } }, MuiToggleButton: { - root: { - '&.Mui-selected': { - backgroundColor: zircon, - borderColor: primaryColor, - borderTopColor: [primaryColor, '!important'], + styleOverrides: { + root: { + '&.Mui-selected': { + backgroundColor: zircon, + borderColor: primaryColor, + borderTopColor: `${primaryColor} !important`, + '&:hover': { + backgroundColor: zircon2 + } + }, '&:hover': { backgroundColor: zircon2 } - }, - '&:hover': { - backgroundColor: zircon2 } } }, MuiToggleButtonGroup: { - groupedVertical: { - borderRadius: 8, - border: '1px solid', - borderColor: zircon, - '&:not(:first-child)': { + styleOverrides: { + vertical: { + borderRadius: 8, + border: 'none', + borderColor: zircon, + }, + firstButton: { borderTop: '1px solid', borderTopColor: zircon, borderTopRightRadius: 8, @@ -147,15 +164,23 @@ export default createTheme(adaptV4Theme({ borderBottomRightRadius: 8, borderBottomLeftRadius: 8 }, - '&:not(:last-child)': { + lastButton: { borderTop: '1px solid', borderTopColor: zircon, borderTopRightRadius: 8, borderTopLeftRadius: 8, borderBottomRightRadius: 8, borderBottomLeftRadius: 8 - } + }, + middleButton: { + borderTop: '1px solid', + borderTopColor: zircon, + borderTopRightRadius: 8, + borderTopLeftRadius: 8, + borderBottomRightRadius: 8, + borderBottomLeftRadius: 8 + }, } } } -})) +}) From 4bfb94182cccb4a6048ae7e4dc6183b4361d115e Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Tue, 22 Apr 2025 09:38:01 +0100 Subject: [PATCH 21/85] partial: use theme only for switch customization --- .../src/components/editableTable/Row.jsx | 2 +- .../src/components/inputs/base/Switch.jsx | 81 ------------------- .../src/components/inputs/base/index.js | 2 - .../src/components/inputs/index.js | 2 - .../components/wrappers/OverTimeWrapper.jsx | 5 +- .../wrappers/VolumeOverTimeWrapper.jsx | 5 +- .../src/pages/Blacklist/Blacklist.jsx | 2 +- .../src/pages/Cashout/Cashout.jsx | 2 +- .../src/pages/Customers/CustomerProfile.jsx | 2 +- .../pages/Notifications/sections/Setup.jsx | 2 +- .../src/pages/OperatorInfo/CoinATMRadar.jsx | 2 +- .../src/pages/OperatorInfo/ContactInfo.jsx | 2 +- .../src/pages/OperatorInfo/MachineScreens.jsx | 2 +- .../pages/OperatorInfo/ReceiptPrinting.jsx | 2 +- .../OperatorInfo/SMSNotices/SMSNotices.jsx | 4 +- .../pages/OperatorInfo/TermsConditions.jsx | 2 +- .../src/pages/Triggers/Triggers.jsx | 4 +- .../pages/UserManagement/UserManagement.jsx | 2 +- new-lamassu-admin/src/styling/theme.js | 56 ++++++++++++- 19 files changed, 75 insertions(+), 106 deletions(-) delete mode 100644 new-lamassu-admin/src/components/inputs/base/Switch.jsx diff --git a/new-lamassu-admin/src/components/editableTable/Row.jsx b/new-lamassu-admin/src/components/editableTable/Row.jsx index 72dd5468..7be62e77 100644 --- a/new-lamassu-admin/src/components/editableTable/Row.jsx +++ b/new-lamassu-admin/src/components/editableTable/Row.jsx @@ -1,4 +1,5 @@ import { makeStyles } from '@mui/styles' +import Switch from '@mui/material/Switch' import classnames from 'classnames' import { Field, useFormikContext } from 'formik' import * as R from 'ramda' @@ -13,7 +14,6 @@ import EditIcon from 'src/styling/icons/action/edit/enabled.svg?react' import StripesSvg from 'src/styling/icons/stripes.svg?react' import { Link, IconButton } from 'src/components/buttons' -import { Switch } from 'src/components/inputs' import TableCtx from './Context' import styles from './Row.styles' diff --git a/new-lamassu-admin/src/components/inputs/base/Switch.jsx b/new-lamassu-admin/src/components/inputs/base/Switch.jsx deleted file mode 100644 index 79e235f2..00000000 --- a/new-lamassu-admin/src/components/inputs/base/Switch.jsx +++ /dev/null @@ -1,81 +0,0 @@ -import Switch from '@mui/material/Switch' -import { makeStyles } from '@mui/styles' -import React, { memo } from 'react' - -import { - secondaryColor, - offColor, - disabledColor, - disabledColor2 -} from '../../../styling/variables' - -const useStyles = makeStyles(theme => ({ - root: { - width: 32, - height: 20, - padding: 0, - margin: theme.spacing(1) - }, - switchBase: { - padding: 2, - '&.Mui-disabled': { - color: disabledColor2, - '& + $track': { - backgroundColor: disabledColor, - opacity: 1 - } - }, - '&.Mui-checked': { - transform: 'translateX(58%)', - color: theme.palette.common.white, - '&.Mui-disabled': { - color: disabledColor2 - }, - '& + $track': { - backgroundColor: secondaryColor, - opacity: 1, - border: 'none' - } - }, - '&.Mui-focusVisible $thumb': { - border: '6px solid #fff', - boxShadow: '0 0 4px 0 rgba(0,0,0,0.24)' - } - }, - thumb: { - width: 16, - height: 16 - }, - track: { - borderRadius: 17, - border: 'none', - backgroundColor: offColor, - opacity: 1, - transition: theme.transitions.create(['background-color', 'border']) - }, - disabled: {}, - checked: {}, - focusVisible: {} -})) - -const SwitchInput = memo(({ ...props }) => { - const classes = useStyles() - return ( - - ) -}) - -export default SwitchInput diff --git a/new-lamassu-admin/src/components/inputs/base/index.js b/new-lamassu-admin/src/components/inputs/base/index.js index 9dc6ecad..d670dcb5 100644 --- a/new-lamassu-admin/src/components/inputs/base/index.js +++ b/new-lamassu-admin/src/components/inputs/base/index.js @@ -5,7 +5,6 @@ import Dropdown from './Dropdown' import NumberInput from './NumberInput' import RadioGroup from './RadioGroup' import SecretInput from './SecretInput' -import Switch from './Switch' import TextInput from './TextInput' import ToggleButtonGroup from './ToggleButtonGroup' export { @@ -13,7 +12,6 @@ export { CodeInput, TextInput, NumberInput, - Switch, SecretInput, RadioGroup, Autocomplete, diff --git a/new-lamassu-admin/src/components/inputs/index.js b/new-lamassu-admin/src/components/inputs/index.js index 00a8b1cb..32847d32 100644 --- a/new-lamassu-admin/src/components/inputs/index.js +++ b/new-lamassu-admin/src/components/inputs/index.js @@ -3,7 +3,6 @@ import Checkbox from './base/Checkbox' import CodeInput from './base/CodeInput' import RadioGroup from './base/RadioGroup' import Select from './base/Select' -import Switch from './base/Switch' import TextInput from './base/TextInput' import { CashIn, CashOut } from './cashbox/Cashbox' @@ -12,7 +11,6 @@ export { TextInput, Checkbox, CodeInput, - Switch, Select, RadioGroup, CashIn, diff --git a/new-lamassu-admin/src/pages/Analytics/components/wrappers/OverTimeWrapper.jsx b/new-lamassu-admin/src/pages/Analytics/components/wrappers/OverTimeWrapper.jsx index e4a64516..93ba75b7 100644 --- a/new-lamassu-admin/src/pages/Analytics/components/wrappers/OverTimeWrapper.jsx +++ b/new-lamassu-admin/src/pages/Analytics/components/wrappers/OverTimeWrapper.jsx @@ -1,9 +1,10 @@ -import { Box } from '@mui/material' +import Switch from '@mui/material/Switch' +import Box from '@mui/material/Box' import { makeStyles } from '@mui/styles' import React, { useState } from 'react' import { H2 } from 'src/components/typography' -import { Select, Switch } from 'src/components/inputs' +import { Select } from 'src/components/inputs' import { primaryColor } from 'src/styling/variables' import styles from '../../Analytics.styles' diff --git a/new-lamassu-admin/src/pages/Analytics/components/wrappers/VolumeOverTimeWrapper.jsx b/new-lamassu-admin/src/pages/Analytics/components/wrappers/VolumeOverTimeWrapper.jsx index 575f788b..cc3fe801 100644 --- a/new-lamassu-admin/src/pages/Analytics/components/wrappers/VolumeOverTimeWrapper.jsx +++ b/new-lamassu-admin/src/pages/Analytics/components/wrappers/VolumeOverTimeWrapper.jsx @@ -1,9 +1,10 @@ -import { Box } from '@mui/material' +import Box from '@mui/material/Box' +import Switch from '@mui/material/Switch' import { makeStyles } from '@mui/styles' import React, { useState } from 'react' import { H2 } from 'src/components/typography' -import { Select, Switch } from 'src/components/inputs' +import { Select } from 'src/components/inputs' import { neon, java } from 'src/styling/variables' import styles from '../../Analytics.styles' diff --git a/new-lamassu-admin/src/pages/Blacklist/Blacklist.jsx b/new-lamassu-admin/src/pages/Blacklist/Blacklist.jsx index 5a8344e6..951b9ff4 100644 --- a/new-lamassu-admin/src/pages/Blacklist/Blacklist.jsx +++ b/new-lamassu-admin/src/pages/Blacklist/Blacklist.jsx @@ -1,5 +1,6 @@ import { useQuery, useMutation, gql } from "@apollo/client"; import { Box, Dialog, DialogContent, DialogActions } from '@mui/material' +import Switch from '@mui/material/Switch' import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' @@ -11,7 +12,6 @@ import ReverseSettingsIcon from 'src/styling/icons/circle buttons/settings/white import SettingsIcon from 'src/styling/icons/circle buttons/settings/zodiac.svg?react' import { Link, Button, IconButton, SupportLinkButton } from 'src/components/buttons' -import { Switch } from 'src/components/inputs' import { fromNamespace, toNamespace } from 'src/utils/config' import styles from './Blacklist.styles' diff --git a/new-lamassu-admin/src/pages/Cashout/Cashout.jsx b/new-lamassu-admin/src/pages/Cashout/Cashout.jsx index 62678dce..e301c927 100644 --- a/new-lamassu-admin/src/pages/Cashout/Cashout.jsx +++ b/new-lamassu-admin/src/pages/Cashout/Cashout.jsx @@ -1,5 +1,6 @@ import { useQuery, useMutation, gql } from "@apollo/client"; import { makeStyles } from '@mui/styles' +import Switch from '@mui/material/Switch' import * as R from 'ramda' import React, { useState } from 'react' import { HelpTooltip } from 'src/components/Tooltip' @@ -8,7 +9,6 @@ import { P, Label2 } from 'src/components/typography' import { SupportLinkButton } from 'src/components/buttons' import { NamespacedTable as EditableTable } from 'src/components/editableTable' -import { Switch } from 'src/components/inputs' import { EmptyTable } from 'src/components/table' import { fromNamespace, toNamespace } from 'src/utils/config' diff --git a/new-lamassu-admin/src/pages/Customers/CustomerProfile.jsx b/new-lamassu-admin/src/pages/Customers/CustomerProfile.jsx index 67f47227..d748ba0f 100644 --- a/new-lamassu-admin/src/pages/Customers/CustomerProfile.jsx +++ b/new-lamassu-admin/src/pages/Customers/CustomerProfile.jsx @@ -6,6 +6,7 @@ import { DialogContent, Dialog } from '@mui/material' +import Switch from '@mui/material/Switch' import { makeStyles } from '@mui/styles' import NavigateNextIcon from '@mui/icons-material/NavigateNext' import * as R from 'ramda' @@ -22,7 +23,6 @@ import DataReversedIcon from 'src/styling/icons/button/data/white.svg?react' import DataIcon from 'src/styling/icons/button/data/zodiac.svg?react' import { Button, IconButton, ActionButton } from 'src/components/buttons' -import { Switch } from 'src/components/inputs' import { OVERRIDE_AUTHORIZED, OVERRIDE_REJECTED diff --git a/new-lamassu-admin/src/pages/Notifications/sections/Setup.jsx b/new-lamassu-admin/src/pages/Notifications/sections/Setup.jsx index 05b0fdc2..130b7525 100644 --- a/new-lamassu-admin/src/pages/Notifications/sections/Setup.jsx +++ b/new-lamassu-admin/src/pages/Notifications/sections/Setup.jsx @@ -1,4 +1,5 @@ import { makeStyles } from '@mui/styles' +import Switch from '@mui/material/Switch' import * as R from 'ramda' import React, { useContext } from 'react' import { @@ -10,7 +11,6 @@ import { Th } from 'src/components/fake-table/Table' -import { Switch } from 'src/components/inputs' import { fromNamespace, toNamespace } from 'src/utils/config' import { sentenceCase } from 'src/utils/string' diff --git a/new-lamassu-admin/src/pages/OperatorInfo/CoinATMRadar.jsx b/new-lamassu-admin/src/pages/OperatorInfo/CoinATMRadar.jsx index 5ef31d8f..91969087 100644 --- a/new-lamassu-admin/src/pages/OperatorInfo/CoinATMRadar.jsx +++ b/new-lamassu-admin/src/pages/OperatorInfo/CoinATMRadar.jsx @@ -1,11 +1,11 @@ import { useQuery, useMutation, gql } from "@apollo/client"; import { makeStyles } from '@mui/styles' +import Switch from '@mui/material/Switch' import React, { memo } from 'react' import { HelpTooltip } from 'src/components/Tooltip' import { H4, P, Label2 } from 'src/components/typography' import { BooleanPropertiesTable } from 'src/components/booleanPropertiesTable' -import { Switch } from 'src/components/inputs' import { fromNamespace, toNamespace, namespaces } from 'src/utils/config' import { SupportLinkButton } from '../../components/buttons' diff --git a/new-lamassu-admin/src/pages/OperatorInfo/ContactInfo.jsx b/new-lamassu-admin/src/pages/OperatorInfo/ContactInfo.jsx index c00b1249..2b26b873 100644 --- a/new-lamassu-admin/src/pages/OperatorInfo/ContactInfo.jsx +++ b/new-lamassu-admin/src/pages/OperatorInfo/ContactInfo.jsx @@ -1,5 +1,6 @@ import { useQuery, useMutation, gql } from "@apollo/client"; import { makeStyles } from '@mui/styles' +import Switch from '@mui/material/Switch' import classnames from 'classnames' import { Form, Formik, Field as FormikField } from 'formik' import * as R from 'ramda' @@ -7,7 +8,6 @@ import React, { useState } from 'react' import ErrorMessage from 'src/components/ErrorMessage' import PromptWhenDirty from 'src/components/PromptWhenDirty' import { HelpTooltip } from 'src/components/Tooltip' -import Switch from 'src/components/inputs/base/Switch' import { P, H4, Info3, Label1, Label2, Label3 } from 'src/components/typography' import EditIcon from 'src/styling/icons/action/edit/enabled.svg?react' import WarningIcon from 'src/styling/icons/warning-icon/comet.svg?react' diff --git a/new-lamassu-admin/src/pages/OperatorInfo/MachineScreens.jsx b/new-lamassu-admin/src/pages/OperatorInfo/MachineScreens.jsx index c3561d0e..d66ed288 100644 --- a/new-lamassu-admin/src/pages/OperatorInfo/MachineScreens.jsx +++ b/new-lamassu-admin/src/pages/OperatorInfo/MachineScreens.jsx @@ -1,10 +1,10 @@ import { useQuery, useMutation, gql } from "@apollo/client"; import { makeStyles } from '@mui/styles' +import Switch from '@mui/material/Switch' import * as R from 'ramda' import React, { memo } from 'react' import { H4, P, Label2 } from 'src/components/typography' -import { Switch } from 'src/components/inputs' import { fromNamespace, toNamespace, namespaces } from 'src/utils/config' import { global } from './OperatorInfo.styles' diff --git a/new-lamassu-admin/src/pages/OperatorInfo/ReceiptPrinting.jsx b/new-lamassu-admin/src/pages/OperatorInfo/ReceiptPrinting.jsx index b14ea9f4..3d22330e 100644 --- a/new-lamassu-admin/src/pages/OperatorInfo/ReceiptPrinting.jsx +++ b/new-lamassu-admin/src/pages/OperatorInfo/ReceiptPrinting.jsx @@ -1,12 +1,12 @@ import { useQuery, useMutation, gql } from "@apollo/client"; import { makeStyles } from '@mui/styles' +import Switch from '@mui/material/Switch' import * as R from 'ramda' import React, { memo } from 'react' import { HelpTooltip } from 'src/components/Tooltip' import { H4, P, Label2 } from 'src/components/typography' import { BooleanPropertiesTable } from 'src/components/booleanPropertiesTable' -import { Switch } from 'src/components/inputs' import { fromNamespace, toNamespace, namespaces } from 'src/utils/config' import { SupportLinkButton } from '../../components/buttons' diff --git a/new-lamassu-admin/src/pages/OperatorInfo/SMSNotices/SMSNotices.jsx b/new-lamassu-admin/src/pages/OperatorInfo/SMSNotices/SMSNotices.jsx index 1c76b064..0b33e062 100644 --- a/new-lamassu-admin/src/pages/OperatorInfo/SMSNotices/SMSNotices.jsx +++ b/new-lamassu-admin/src/pages/OperatorInfo/SMSNotices/SMSNotices.jsx @@ -1,5 +1,6 @@ import { useQuery, useMutation, gql } from "@apollo/client"; -import { Paper } from '@mui/material' +import Paper from '@mui/material/Paper' +import Switch from '@mui/material/Switch' import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' @@ -12,7 +13,6 @@ import ExpandIconOpen from 'src/styling/icons/action/expand/open.svg?react' import WhiteLogo from 'src/styling/icons/menu/logo-white.svg?react' import { IconButton, SupportLinkButton } from 'src/components/buttons' -import { Switch } from 'src/components/inputs' import { formatDate } from 'src/utils/timezones' import styles from './SMSNotices.styles' diff --git a/new-lamassu-admin/src/pages/OperatorInfo/TermsConditions.jsx b/new-lamassu-admin/src/pages/OperatorInfo/TermsConditions.jsx index 8dab6f7a..f5b03a3d 100644 --- a/new-lamassu-admin/src/pages/OperatorInfo/TermsConditions.jsx +++ b/new-lamassu-admin/src/pages/OperatorInfo/TermsConditions.jsx @@ -1,5 +1,6 @@ import { useQuery, useMutation, gql } from "@apollo/client"; import { makeStyles } from '@mui/styles' +import Switch from '@mui/material/Switch' import classnames from 'classnames' import { Form, Formik, Field as FormikField } from 'formik' import * as R from 'ramda' @@ -12,7 +13,6 @@ import EditIcon from 'src/styling/icons/action/edit/enabled.svg?react' import * as Yup from 'yup' import { Link, IconButton, SupportLinkButton } from 'src/components/buttons' -import { Switch } from 'src/components/inputs' import { TextInput } from 'src/components/inputs/formik' import { fromNamespace, toNamespace, namespaces } from 'src/utils/config' diff --git a/new-lamassu-admin/src/pages/Triggers/Triggers.jsx b/new-lamassu-admin/src/pages/Triggers/Triggers.jsx index 2c1cf485..1043caa1 100644 --- a/new-lamassu-admin/src/pages/Triggers/Triggers.jsx +++ b/new-lamassu-admin/src/pages/Triggers/Triggers.jsx @@ -1,5 +1,6 @@ import { useQuery, useMutation, gql } from "@apollo/client"; -import { Box } from '@mui/material' +import Box from '@mui/material/Box' +import Switch from '@mui/material/Switch' import { makeStyles } from '@mui/styles' import classnames from 'classnames' import * as R from 'ramda' @@ -15,7 +16,6 @@ import ReverseSettingsIcon from 'src/styling/icons/circle buttons/settings/white import SettingsIcon from 'src/styling/icons/circle buttons/settings/zodiac.svg?react' import { Link, SupportLinkButton } from 'src/components/buttons' -import { Switch } from 'src/components/inputs' import twilioSchema from 'src/pages/Services/schemas/twilio' import { fromNamespace, toNamespace } from 'src/utils/config' diff --git a/new-lamassu-admin/src/pages/UserManagement/UserManagement.jsx b/new-lamassu-admin/src/pages/UserManagement/UserManagement.jsx index ae0260cc..b6583e5c 100644 --- a/new-lamassu-admin/src/pages/UserManagement/UserManagement.jsx +++ b/new-lamassu-admin/src/pages/UserManagement/UserManagement.jsx @@ -1,5 +1,6 @@ import { useQuery, useMutation, useLazyQuery, gql } from "@apollo/client"; import { Box, Chip } from '@mui/material' +import Switch from '@mui/material/Switch' import { makeStyles } from '@mui/styles' import { startAttestation } from '@simplewebauthn/browser' import * as R from 'ramda' @@ -15,7 +16,6 @@ import UserRoleIcon from 'src/styling/icons/button/user-role/zodiac.svg?react' import AppContext from 'src/AppContext' import { ActionButton, Link } from 'src/components/buttons' -import { Switch } from 'src/components/inputs' import { IP_CHECK_REGEX } from 'src/utils/constants' import styles from './UserManagement.styles' diff --git a/new-lamassu-admin/src/styling/theme.js b/new-lamassu-admin/src/styling/theme.js index 869547b7..e739bfbe 100644 --- a/new-lamassu-admin/src/styling/theme.js +++ b/new-lamassu-admin/src/styling/theme.js @@ -13,12 +13,12 @@ import { fontSize5, zircon, zircon2, - primaryColor + primaryColor, disabledColor2, disabledColor } from './variables' const { p } = typographyStyles -export default createTheme({ +let theme = createTheme({ typography: { fontFamily: inputFontFamily, }, @@ -37,6 +37,9 @@ export default createTheme({ default: backgroundColor } }, +}) + +theme = createTheme({ components: { MuiTypography: { styleOverrides: { @@ -48,6 +51,53 @@ export default createTheme({ disableRipple: true } }, + MuiSwitch: { + styleOverrides: { + root: { + width: 32, + height: 20, + padding: 0, + margin: theme.spacing(1) + }, + thumb: { + width: 16, + height: 16 + }, + track: { + borderRadius: 17, + border: 'none', + backgroundColor: offColor, + opacity: 1, + transition: theme.transitions.create(['background-color', 'border']) + }, + switchBase: { + padding: 2, + '&.Mui-disabled': { + color: disabledColor2, + '& + .MuiSwitch-track': { + backgroundColor: disabledColor, + opacity: 1 + } + }, + '&.Mui-checked': { + transform: 'translateX(58%)', + color: theme.palette.common.white, + '&.Mui-disabled': { + color: disabledColor2 + }, + '& + .MuiSwitch-track': { + backgroundColor: secondaryColor, + opacity: 1, + border: 'none' + } + }, + '&.Mui-focusVisible .MuiSwitch-thumb': { + border: '6px solid #fff', + boxShadow: '0 0 4px 0 rgba(0,0,0,0.24)' + } + } + } + }, MuiAutocomplete: { styleOverrides: { root: { @@ -184,3 +234,5 @@ export default createTheme({ } } }) + +export default theme \ No newline at end of file From 2937cebc346196b600bab4d994057d4bfa0326c2 Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Tue, 22 Apr 2025 09:54:37 +0100 Subject: [PATCH 22/85] partial: use preferred import style --- new-lamassu-admin/src/components/ConfirmDialog.jsx | 10 ++++------ new-lamassu-admin/src/components/DeleteDialog.jsx | 8 +++----- new-lamassu-admin/src/components/ImagePopper.jsx | 2 +- new-lamassu-admin/src/components/InfoMessage.jsx | 2 +- .../src/components/InformativeDialog.jsx | 3 ++- .../src/components/LogsDownloaderPopper.jsx | 2 +- new-lamassu-admin/src/components/Modal.jsx | 3 ++- new-lamassu-admin/src/components/Popper.jsx | 3 ++- new-lamassu-admin/src/components/Tooltip.jsx | 2 +- .../src/components/buttons/IDButton.jsx | 2 +- .../src/components/buttons/IconButton.jsx | 2 +- .../src/components/inputs/base/Autocomplete.jsx | 2 +- .../src/components/inputs/base/RadioGroup.jsx | 8 +++----- .../src/components/inputs/base/ToggleButtonGroup.jsx | 3 ++- .../src/components/layout/TitleSection.jsx | 2 +- .../src/components/tables/DataTable.jsx | 2 +- .../src/pages/AddMachine/AddMachine.jsx | 5 ++++- new-lamassu-admin/src/pages/Analytics/Analytics.jsx | 2 +- .../Analytics/components/tooltips/GraphTooltip.jsx | 2 +- .../components/wrappers/HourOfDayWrapper.jsx | 2 +- .../components/wrappers/TopMachinesWrapper.jsx | 2 +- new-lamassu-admin/src/pages/Authentication/Login.jsx | 2 +- .../src/pages/Authentication/Register.jsx | 2 +- .../src/pages/Authentication/Reset2FA.jsx | 2 +- .../src/pages/Authentication/ResetPassword.jsx | 2 +- new-lamassu-admin/src/pages/Blacklist/Blacklist.jsx | 5 ++++- .../src/pages/Blacklist/BlacklistModal.jsx | 2 +- .../src/pages/Customers/CustomerPhotos.jsx | 2 +- .../src/pages/Customers/CustomerProfile.jsx | 12 +++++------- new-lamassu-admin/src/pages/Customers/Customers.jsx | 2 +- .../pages/Customers/components/CustomerDetails.jsx | 2 +- .../src/pages/Customers/components/EditableCard.jsx | 4 +++- .../pages/Customers/components/FrontCameraPhoto.jsx | 2 +- .../pages/Customers/components/IdCardPhotoCard.jsx | 2 +- .../src/pages/Customers/components/IdDataCard.jsx | 2 +- .../pages/Customers/components/TransactionsList.jsx | 2 +- .../pages/Customers/components/notes/NewNoteCard.jsx | 2 +- .../pages/Customers/components/notes/NoteCard.jsx | 2 +- .../pages/Customers/components/notes/NoteEdit.jsx | 2 +- .../components/propertyCard/PropertyCard.jsx | 2 +- new-lamassu-admin/src/pages/Customers/helper.jsx | 2 +- .../src/pages/LoyaltyPanel/IndividualDiscounts.jsx | 2 +- .../src/pages/LoyaltyPanel/PromoCodes.jsx | 2 +- .../MachineComponents/Transactions/DataTable.jsx | 2 +- .../src/pages/Maintenance/CashUnits.jsx | 3 ++- .../src/pages/Maintenance/MachineDetailsCard.jsx | 2 +- .../OperatorInfo/SMSNotices/SMSNoticesModal.jsx | 2 +- .../src/pages/Services/FormRenderer.jsx | 2 +- new-lamassu-admin/src/pages/Services/Services.jsx | 2 +- .../src/pages/Transactions/DetailsCard.jsx | 2 +- new-lamassu-admin/src/pages/Triggers/TriggerView.jsx | 2 +- new-lamassu-admin/src/pages/Triggers/helper.jsx | 2 +- .../src/pages/UserManagement/UserManagement.jsx | 3 ++- new-lamassu-admin/src/pages/Wizard/Wizard.jsx | 3 ++- .../src/pages/Wizard/components/Footer.jsx | 3 ++- .../src/pages/Wizard/components/Twilio.jsx | 2 +- 56 files changed, 83 insertions(+), 75 deletions(-) diff --git a/new-lamassu-admin/src/components/ConfirmDialog.jsx b/new-lamassu-admin/src/components/ConfirmDialog.jsx index b7d9b893..487b2798 100644 --- a/new-lamassu-admin/src/components/ConfirmDialog.jsx +++ b/new-lamassu-admin/src/components/ConfirmDialog.jsx @@ -1,9 +1,7 @@ -import { - Dialog, - DialogActions, - DialogContent, - InputLabel -} from '@mui/material' +import Dialog from '@mui/material/Dialog' +import DialogActions from '@mui/material/DialogActions' +import DialogContent from '@mui/material/DialogContent' +import InputLabel from '@mui/material/InputLabel' import { makeStyles } from '@mui/styles' import React, { memo, useState } from 'react' import { H4, P } from 'src/components/typography' diff --git a/new-lamassu-admin/src/components/DeleteDialog.jsx b/new-lamassu-admin/src/components/DeleteDialog.jsx index 1e334725..a45b6f78 100644 --- a/new-lamassu-admin/src/components/DeleteDialog.jsx +++ b/new-lamassu-admin/src/components/DeleteDialog.jsx @@ -1,8 +1,6 @@ -import { - Dialog, - DialogActions, - DialogContent, -} from '@mui/material' +import Dialog from '@mui/material/Dialog' +import DialogActions from '@mui/material/DialogActions' +import DialogContent from '@mui/material/DialogContent' import { makeStyles } from '@mui/styles' import React from 'react' import { H4, P } from 'src/components/typography' diff --git a/new-lamassu-admin/src/components/ImagePopper.jsx b/new-lamassu-admin/src/components/ImagePopper.jsx index 1aa2be09..8053819e 100644 --- a/new-lamassu-admin/src/components/ImagePopper.jsx +++ b/new-lamassu-admin/src/components/ImagePopper.jsx @@ -1,4 +1,4 @@ -import { ClickAwayListener } from '@mui/material' +import ClickAwayListener from '@mui/material/ClickAwayListener' import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React, { memo, useState } from 'react' diff --git a/new-lamassu-admin/src/components/InfoMessage.jsx b/new-lamassu-admin/src/components/InfoMessage.jsx index 1e701d4d..8e59fd90 100644 --- a/new-lamassu-admin/src/components/InfoMessage.jsx +++ b/new-lamassu-admin/src/components/InfoMessage.jsx @@ -1,4 +1,4 @@ -import { Box } from '@mui/material' +import Box from '@mui/material/Box' import { makeStyles } from '@mui/styles' import React from 'react' import { Label1 } from 'src/components/typography' diff --git a/new-lamassu-admin/src/components/InformativeDialog.jsx b/new-lamassu-admin/src/components/InformativeDialog.jsx index 149984bf..a4c0a8f8 100644 --- a/new-lamassu-admin/src/components/InformativeDialog.jsx +++ b/new-lamassu-admin/src/components/InformativeDialog.jsx @@ -1,4 +1,5 @@ -import { Dialog, DialogContent } from '@mui/material' +import Dialog from '@mui/material/Dialog' +import DialogContent from '@mui/material/DialogContent' import { makeStyles } from '@mui/styles' import React, { memo } from 'react' import { H1 } from 'src/components/typography' diff --git a/new-lamassu-admin/src/components/LogsDownloaderPopper.jsx b/new-lamassu-admin/src/components/LogsDownloaderPopper.jsx index c4914fde..ff877809 100644 --- a/new-lamassu-admin/src/components/LogsDownloaderPopper.jsx +++ b/new-lamassu-admin/src/components/LogsDownloaderPopper.jsx @@ -1,5 +1,5 @@ import { useLazyQuery } from "@apollo/client"; -import { ClickAwayListener } from '@mui/material' +import ClickAwayListener from '@mui/material/ClickAwayListener' import { makeStyles } from '@mui/styles' import classnames from 'classnames' import { format, set } from 'date-fns/fp' diff --git a/new-lamassu-admin/src/components/Modal.jsx b/new-lamassu-admin/src/components/Modal.jsx index 062b8425..147a144b 100644 --- a/new-lamassu-admin/src/components/Modal.jsx +++ b/new-lamassu-admin/src/components/Modal.jsx @@ -1,4 +1,5 @@ -import { Modal as MaterialModal, Paper } from '@mui/material' +import MaterialModal from '@mui/material/Modal' +import Paper from '@mui/material/Paper' import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React from 'react' diff --git a/new-lamassu-admin/src/components/Popper.jsx b/new-lamassu-admin/src/components/Popper.jsx index 30203f97..6dc22225 100644 --- a/new-lamassu-admin/src/components/Popper.jsx +++ b/new-lamassu-admin/src/components/Popper.jsx @@ -1,4 +1,5 @@ -import { Popper as MaterialPopper, Paper } from '@mui/material' +import MaterialPopper from '@mui/material/Popper' +import Paper from '@mui/material/Paper' import { makeStyles } from '@mui/styles' import classnames from 'classnames' import * as R from 'ramda' diff --git a/new-lamassu-admin/src/components/Tooltip.jsx b/new-lamassu-admin/src/components/Tooltip.jsx index 701aa019..863dc417 100644 --- a/new-lamassu-admin/src/components/Tooltip.jsx +++ b/new-lamassu-admin/src/components/Tooltip.jsx @@ -1,4 +1,4 @@ -import { ClickAwayListener } from '@mui/material' +import ClickAwayListener from '@mui/material/ClickAwayListener' import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState, memo } from 'react' diff --git a/new-lamassu-admin/src/components/buttons/IDButton.jsx b/new-lamassu-admin/src/components/buttons/IDButton.jsx index a955d47d..122c8975 100644 --- a/new-lamassu-admin/src/components/buttons/IDButton.jsx +++ b/new-lamassu-admin/src/components/buttons/IDButton.jsx @@ -1,4 +1,4 @@ -import { ClickAwayListener } from '@mui/material' +import ClickAwayListener from '@mui/material/ClickAwayListener' import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React, { useState, memo } from 'react' diff --git a/new-lamassu-admin/src/components/buttons/IconButton.jsx b/new-lamassu-admin/src/components/buttons/IconButton.jsx index 52661a22..ee130961 100644 --- a/new-lamassu-admin/src/components/buttons/IconButton.jsx +++ b/new-lamassu-admin/src/components/buttons/IconButton.jsx @@ -1,4 +1,4 @@ -import { IconButton as IconB } from '@mui/material' +import IconB from '@mui/material/IconButton' import { makeStyles } from '@mui/styles' import React from 'react' diff --git a/new-lamassu-admin/src/components/inputs/base/Autocomplete.jsx b/new-lamassu-admin/src/components/inputs/base/Autocomplete.jsx index f4e46ae3..43395879 100644 --- a/new-lamassu-admin/src/components/inputs/base/Autocomplete.jsx +++ b/new-lamassu-admin/src/components/inputs/base/Autocomplete.jsx @@ -1,4 +1,4 @@ -import { Box } from '@mui/material' +import Box from '@mui/material/Box' import MAutocomplete from '@mui/material/Autocomplete' import sort from 'match-sorter' import * as R from 'ramda' diff --git a/new-lamassu-admin/src/components/inputs/base/RadioGroup.jsx b/new-lamassu-admin/src/components/inputs/base/RadioGroup.jsx index efd6ce33..11f1bfdd 100644 --- a/new-lamassu-admin/src/components/inputs/base/RadioGroup.jsx +++ b/new-lamassu-admin/src/components/inputs/base/RadioGroup.jsx @@ -1,8 +1,6 @@ -import { - Radio, - RadioGroup as MRadioGroup, - FormControlLabel -} from '@mui/material' +import Radio from '@mui/material/Radio' +import MRadioGroup from '@mui/material/RadioGroup' +import FormControlLabel from '@mui/material/FormControlLabel' import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React from 'react' diff --git a/new-lamassu-admin/src/components/inputs/base/ToggleButtonGroup.jsx b/new-lamassu-admin/src/components/inputs/base/ToggleButtonGroup.jsx index 66a051fc..e236e42f 100644 --- a/new-lamassu-admin/src/components/inputs/base/ToggleButtonGroup.jsx +++ b/new-lamassu-admin/src/components/inputs/base/ToggleButtonGroup.jsx @@ -1,5 +1,6 @@ import { makeStyles } from '@mui/styles' -import { ToggleButtonGroup as MUIToggleButtonGroup, ToggleButton } from '@mui/material' +import MUIToggleButtonGroup from '@mui/material/ToggleButtonGroup' +import ToggleButton from '@mui/material/ToggleButton' import React from 'react' import { H4, P } from 'src/components/typography' diff --git a/new-lamassu-admin/src/components/layout/TitleSection.jsx b/new-lamassu-admin/src/components/layout/TitleSection.jsx index 49755be6..6944a22c 100644 --- a/new-lamassu-admin/src/components/layout/TitleSection.jsx +++ b/new-lamassu-admin/src/components/layout/TitleSection.jsx @@ -1,4 +1,4 @@ -import { Box } from '@mui/material' +import Box from '@mui/material/Box' import { makeStyles } from '@mui/styles' import classnames from 'classnames' import * as R from 'ramda' diff --git a/new-lamassu-admin/src/components/tables/DataTable.jsx b/new-lamassu-admin/src/components/tables/DataTable.jsx index c31d0a29..6c55fd54 100644 --- a/new-lamassu-admin/src/components/tables/DataTable.jsx +++ b/new-lamassu-admin/src/components/tables/DataTable.jsx @@ -1,4 +1,4 @@ -import { Box } from '@mui/material' +import Box from '@mui/material/Box' import { makeStyles } from '@mui/styles' import classnames from 'classnames' import * as R from 'ramda' diff --git a/new-lamassu-admin/src/pages/AddMachine/AddMachine.jsx b/new-lamassu-admin/src/pages/AddMachine/AddMachine.jsx index b934041d..03249806 100644 --- a/new-lamassu-admin/src/pages/AddMachine/AddMachine.jsx +++ b/new-lamassu-admin/src/pages/AddMachine/AddMachine.jsx @@ -1,5 +1,8 @@ import { useMutation, useQuery, gql } from "@apollo/client"; -import { Dialog, DialogContent, SvgIcon, IconButton } from '@mui/material' +import Dialog from '@mui/material/Dialog' +import DialogContent from '@mui/material/DialogContent' +import SvgIcon from '@mui/material/SvgIcon' +import IconButton from '@mui/material/IconButton' import { makeStyles } from '@mui/styles' import classnames from 'classnames' import { Form, Formik, FastField } from 'formik' diff --git a/new-lamassu-admin/src/pages/Analytics/Analytics.jsx b/new-lamassu-admin/src/pages/Analytics/Analytics.jsx index 9437df1a..e27f2aa6 100644 --- a/new-lamassu-admin/src/pages/Analytics/Analytics.jsx +++ b/new-lamassu-admin/src/pages/Analytics/Analytics.jsx @@ -1,5 +1,5 @@ import { useQuery, gql } from "@apollo/client"; -import { Box } from '@mui/material' +import Box from '@mui/material/Box' import { makeStyles } from '@mui/styles' import classnames from 'classnames' import { endOfToday } from 'date-fns' diff --git a/new-lamassu-admin/src/pages/Analytics/components/tooltips/GraphTooltip.jsx b/new-lamassu-admin/src/pages/Analytics/components/tooltips/GraphTooltip.jsx index 005543d8..e48bdd87 100644 --- a/new-lamassu-admin/src/pages/Analytics/components/tooltips/GraphTooltip.jsx +++ b/new-lamassu-admin/src/pages/Analytics/components/tooltips/GraphTooltip.jsx @@ -1,4 +1,4 @@ -import { Paper } from '@mui/material' +import Paper from '@mui/material/Paper' import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { memo } from 'react' diff --git a/new-lamassu-admin/src/pages/Analytics/components/wrappers/HourOfDayWrapper.jsx b/new-lamassu-admin/src/pages/Analytics/components/wrappers/HourOfDayWrapper.jsx index f0a58968..d118de6f 100644 --- a/new-lamassu-admin/src/pages/Analytics/components/wrappers/HourOfDayWrapper.jsx +++ b/new-lamassu-admin/src/pages/Analytics/components/wrappers/HourOfDayWrapper.jsx @@ -1,4 +1,4 @@ -import { Box } from '@mui/material' +import Box from '@mui/material/Box' import { makeStyles } from '@mui/styles' import { getTimezoneOffset } from 'date-fns-tz' import * as R from 'ramda' diff --git a/new-lamassu-admin/src/pages/Analytics/components/wrappers/TopMachinesWrapper.jsx b/new-lamassu-admin/src/pages/Analytics/components/wrappers/TopMachinesWrapper.jsx index e6eb81d3..e296c17b 100644 --- a/new-lamassu-admin/src/pages/Analytics/components/wrappers/TopMachinesWrapper.jsx +++ b/new-lamassu-admin/src/pages/Analytics/components/wrappers/TopMachinesWrapper.jsx @@ -1,4 +1,4 @@ -import { Box } from '@mui/material' +import Box from '@mui/material/Box' import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' diff --git a/new-lamassu-admin/src/pages/Authentication/Login.jsx b/new-lamassu-admin/src/pages/Authentication/Login.jsx index 060b4299..ab883a64 100644 --- a/new-lamassu-admin/src/pages/Authentication/Login.jsx +++ b/new-lamassu-admin/src/pages/Authentication/Login.jsx @@ -1,4 +1,4 @@ -import { Grid } from '@mui/material' +import Grid from '@mui/material/Grid' import { makeStyles } from '@mui/styles' import React from 'react' diff --git a/new-lamassu-admin/src/pages/Authentication/Register.jsx b/new-lamassu-admin/src/pages/Authentication/Register.jsx index ef7a4703..cec03435 100644 --- a/new-lamassu-admin/src/pages/Authentication/Register.jsx +++ b/new-lamassu-admin/src/pages/Authentication/Register.jsx @@ -1,5 +1,5 @@ import { useQuery, useMutation, gql } from "@apollo/client"; -import { Grid } from '@mui/material' +import Grid from '@mui/material/Grid' import { makeStyles } from '@mui/styles' import Paper from '@mui/material/Paper' import { Field, Form, Formik } from 'formik' diff --git a/new-lamassu-admin/src/pages/Authentication/Reset2FA.jsx b/new-lamassu-admin/src/pages/Authentication/Reset2FA.jsx index cff60ae5..e16e1fd8 100644 --- a/new-lamassu-admin/src/pages/Authentication/Reset2FA.jsx +++ b/new-lamassu-admin/src/pages/Authentication/Reset2FA.jsx @@ -1,5 +1,5 @@ import { useQuery, useMutation, gql } from "@apollo/client"; -import { Grid } from '@mui/material' +import Grid from '@mui/material/Grid' import { makeStyles } from '@mui/styles' import Paper from '@mui/material/Paper' import { Form, Formik } from 'formik' diff --git a/new-lamassu-admin/src/pages/Authentication/ResetPassword.jsx b/new-lamassu-admin/src/pages/Authentication/ResetPassword.jsx index 4eab703c..5c9392b6 100644 --- a/new-lamassu-admin/src/pages/Authentication/ResetPassword.jsx +++ b/new-lamassu-admin/src/pages/Authentication/ResetPassword.jsx @@ -1,5 +1,5 @@ import { useQuery, useMutation, gql } from "@apollo/client"; -import { Grid } from '@mui/material' +import Grid from '@mui/material/Grid' import { makeStyles } from '@mui/styles' import Paper from '@mui/material/Paper' import { Field, Form, Formik } from 'formik' diff --git a/new-lamassu-admin/src/pages/Blacklist/Blacklist.jsx b/new-lamassu-admin/src/pages/Blacklist/Blacklist.jsx index 951b9ff4..694dd839 100644 --- a/new-lamassu-admin/src/pages/Blacklist/Blacklist.jsx +++ b/new-lamassu-admin/src/pages/Blacklist/Blacklist.jsx @@ -1,5 +1,8 @@ import { useQuery, useMutation, gql } from "@apollo/client"; -import { Box, Dialog, DialogContent, DialogActions } from '@mui/material' +import Box from '@mui/material/Box' +import Dialog from '@mui/material/Dialog' +import DialogContent from '@mui/material/DialogContent' +import DialogActions from '@mui/material/DialogActions' import Switch from '@mui/material/Switch' import { makeStyles } from '@mui/styles' import * as R from 'ramda' diff --git a/new-lamassu-admin/src/pages/Blacklist/BlacklistModal.jsx b/new-lamassu-admin/src/pages/Blacklist/BlacklistModal.jsx index feafa19f..7e5b4dd0 100644 --- a/new-lamassu-admin/src/pages/Blacklist/BlacklistModal.jsx +++ b/new-lamassu-admin/src/pages/Blacklist/BlacklistModal.jsx @@ -1,4 +1,4 @@ -import { Box } from '@mui/material' +import Box from '@mui/material/Box' import { makeStyles } from '@mui/styles' import { Formik, Form, Field } from 'formik' import * as R from 'ramda' diff --git a/new-lamassu-admin/src/pages/Customers/CustomerPhotos.jsx b/new-lamassu-admin/src/pages/Customers/CustomerPhotos.jsx index 4c51ae02..7fb0b767 100644 --- a/new-lamassu-admin/src/pages/Customers/CustomerPhotos.jsx +++ b/new-lamassu-admin/src/pages/Customers/CustomerPhotos.jsx @@ -1,4 +1,4 @@ -import { Paper } from '@mui/material' +import Paper from '@mui/material/Paper' import { makeStyles } from '@mui/styles' import { format } from 'date-fns/fp' import * as R from 'ramda' diff --git a/new-lamassu-admin/src/pages/Customers/CustomerProfile.jsx b/new-lamassu-admin/src/pages/Customers/CustomerProfile.jsx index d748ba0f..bd52274d 100644 --- a/new-lamassu-admin/src/pages/Customers/CustomerProfile.jsx +++ b/new-lamassu-admin/src/pages/Customers/CustomerProfile.jsx @@ -1,11 +1,9 @@ import { useQuery, useMutation, useLazyQuery, gql } from "@apollo/client"; -import { - Breadcrumbs, - Box, - DialogActions, - DialogContent, - Dialog -} from '@mui/material' +import Breadcrumbs from '@mui/material/Breadcrumbs' +import Box from '@mui/material/Box' +import DialogActions from '@mui/material/DialogActions' +import DialogContent from '@mui/material/DialogContent' +import Dialog from '@mui/material/Dialog' import Switch from '@mui/material/Switch' import { makeStyles } from '@mui/styles' import NavigateNextIcon from '@mui/icons-material/NavigateNext' diff --git a/new-lamassu-admin/src/pages/Customers/Customers.jsx b/new-lamassu-admin/src/pages/Customers/Customers.jsx index e2aa5af8..7c8657c1 100644 --- a/new-lamassu-admin/src/pages/Customers/Customers.jsx +++ b/new-lamassu-admin/src/pages/Customers/Customers.jsx @@ -1,5 +1,5 @@ import { useQuery, useMutation, gql } from "@apollo/client"; -import { Box } from '@mui/material' +import Box from '@mui/material/Box' import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' diff --git a/new-lamassu-admin/src/pages/Customers/components/CustomerDetails.jsx b/new-lamassu-admin/src/pages/Customers/components/CustomerDetails.jsx index e3596921..4dd04418 100644 --- a/new-lamassu-admin/src/pages/Customers/components/CustomerDetails.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/CustomerDetails.jsx @@ -1,4 +1,4 @@ -import { Box } from '@mui/material' +import Box from '@mui/material/Box' import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { memo } from 'react' diff --git a/new-lamassu-admin/src/pages/Customers/components/EditableCard.jsx b/new-lamassu-admin/src/pages/Customers/components/EditableCard.jsx index 1952a0c3..682ad41e 100644 --- a/new-lamassu-admin/src/pages/Customers/components/EditableCard.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/EditableCard.jsx @@ -1,4 +1,6 @@ -import { CardContent, Card, Grid } from '@mui/material' +import CardContent from '@mui/material/CardContent' +import Card from '@mui/material/Card' +import Grid from '@mui/material/Grid' import { makeStyles } from '@mui/styles' import classnames from 'classnames' import { Form, Formik, Field as FormikField } from 'formik' diff --git a/new-lamassu-admin/src/pages/Customers/components/FrontCameraPhoto.jsx b/new-lamassu-admin/src/pages/Customers/components/FrontCameraPhoto.jsx index 549f4fce..4dcee494 100644 --- a/new-lamassu-admin/src/pages/Customers/components/FrontCameraPhoto.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/FrontCameraPhoto.jsx @@ -1,4 +1,4 @@ -import { Paper } from '@mui/material' +import Paper from '@mui/material/Paper' import { makeStyles } from '@mui/styles' import React, { memo } from 'react' import CrossedCameraIcon from 'src/styling/icons/ID/photo/crossed-camera.svg?react' diff --git a/new-lamassu-admin/src/pages/Customers/components/IdCardPhotoCard.jsx b/new-lamassu-admin/src/pages/Customers/components/IdCardPhotoCard.jsx index 1853e8e3..a2b81cd7 100644 --- a/new-lamassu-admin/src/pages/Customers/components/IdCardPhotoCard.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/IdCardPhotoCard.jsx @@ -1,4 +1,4 @@ -import { Box } from '@mui/material' +import Box from '@mui/material/Box' import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { memo } from 'react' diff --git a/new-lamassu-admin/src/pages/Customers/components/IdDataCard.jsx b/new-lamassu-admin/src/pages/Customers/components/IdDataCard.jsx index f7023eea..8ead9dc0 100644 --- a/new-lamassu-admin/src/pages/Customers/components/IdDataCard.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/IdDataCard.jsx @@ -1,4 +1,4 @@ -import { Box } from '@mui/material' +import Box from '@mui/material/Box' import { differenceInYears, format, parse } from 'date-fns/fp' import * as R from 'ramda' import React, { memo } from 'react' diff --git a/new-lamassu-admin/src/pages/Customers/components/TransactionsList.jsx b/new-lamassu-admin/src/pages/Customers/components/TransactionsList.jsx index 771f20c0..ef9fbfc9 100644 --- a/new-lamassu-admin/src/pages/Customers/components/TransactionsList.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/TransactionsList.jsx @@ -1,5 +1,5 @@ import { toUnit } from '@lamassu/coins/lightUtils' -import { Box } from '@mui/material' +import Box from '@mui/material/Box' import { makeStyles } from '@mui/styles' import BigNumber from 'bignumber.js' import classnames from 'classnames' diff --git a/new-lamassu-admin/src/pages/Customers/components/notes/NewNoteCard.jsx b/new-lamassu-admin/src/pages/Customers/components/notes/NewNoteCard.jsx index c4c9b7cc..9bef903a 100644 --- a/new-lamassu-admin/src/pages/Customers/components/notes/NewNoteCard.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/notes/NewNoteCard.jsx @@ -1,4 +1,4 @@ -import { Paper } from '@mui/material' +import Paper from '@mui/material/Paper' import { makeStyles } from '@mui/styles' import classNames from 'classnames' import { React } from 'react' diff --git a/new-lamassu-admin/src/pages/Customers/components/notes/NoteCard.jsx b/new-lamassu-admin/src/pages/Customers/components/notes/NoteCard.jsx index 07ef4889..c4a4f21a 100644 --- a/new-lamassu-admin/src/pages/Customers/components/notes/NoteCard.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/notes/NoteCard.jsx @@ -1,4 +1,4 @@ -import { Paper } from '@mui/material' +import Paper from '@mui/material/Paper' import { makeStyles } from '@mui/styles' import * as R from 'ramda' import { React } from 'react' diff --git a/new-lamassu-admin/src/pages/Customers/components/notes/NoteEdit.jsx b/new-lamassu-admin/src/pages/Customers/components/notes/NoteEdit.jsx index 6b979eb7..3fac6309 100644 --- a/new-lamassu-admin/src/pages/Customers/components/notes/NoteEdit.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/notes/NoteEdit.jsx @@ -1,4 +1,4 @@ -import { Paper } from '@mui/material' +import Paper from '@mui/material/Paper' import { makeStyles } from '@mui/styles' import { formatDurationWithOptions, intervalToDuration } from 'date-fns/fp' import { Form, Formik, Field } from 'formik' diff --git a/new-lamassu-admin/src/pages/Customers/components/propertyCard/PropertyCard.jsx b/new-lamassu-admin/src/pages/Customers/components/propertyCard/PropertyCard.jsx index 3d2c4036..4aa22ab9 100644 --- a/new-lamassu-admin/src/pages/Customers/components/propertyCard/PropertyCard.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/propertyCard/PropertyCard.jsx @@ -1,4 +1,4 @@ -import { Paper } from '@mui/material' +import Paper from '@mui/material/Paper' import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React, { memo } from 'react' diff --git a/new-lamassu-admin/src/pages/Customers/helper.jsx b/new-lamassu-admin/src/pages/Customers/helper.jsx index bbfd9b20..3fa95175 100644 --- a/new-lamassu-admin/src/pages/Customers/helper.jsx +++ b/new-lamassu-admin/src/pages/Customers/helper.jsx @@ -1,5 +1,5 @@ import React from 'react' -import { Box } from '@mui/material' +import Box from '@mui/material/Box' import { makeStyles } from '@mui/styles' import classnames from 'classnames' import { parse, isValid, format } from 'date-fns/fp' diff --git a/new-lamassu-admin/src/pages/LoyaltyPanel/IndividualDiscounts.jsx b/new-lamassu-admin/src/pages/LoyaltyPanel/IndividualDiscounts.jsx index f2f1ff44..a79f187d 100644 --- a/new-lamassu-admin/src/pages/LoyaltyPanel/IndividualDiscounts.jsx +++ b/new-lamassu-admin/src/pages/LoyaltyPanel/IndividualDiscounts.jsx @@ -1,5 +1,5 @@ import { useQuery, useMutation, gql } from "@apollo/client"; -import { Box } from '@mui/material' +import Box from '@mui/material/Box' import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' diff --git a/new-lamassu-admin/src/pages/LoyaltyPanel/PromoCodes.jsx b/new-lamassu-admin/src/pages/LoyaltyPanel/PromoCodes.jsx index 33aec913..ed3ecd1b 100644 --- a/new-lamassu-admin/src/pages/LoyaltyPanel/PromoCodes.jsx +++ b/new-lamassu-admin/src/pages/LoyaltyPanel/PromoCodes.jsx @@ -1,5 +1,5 @@ import { useQuery, useMutation, gql } from "@apollo/client"; -import { Box } from '@mui/material' +import Box from '@mui/material/Box' import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' diff --git a/new-lamassu-admin/src/pages/Machines/MachineComponents/Transactions/DataTable.jsx b/new-lamassu-admin/src/pages/Machines/MachineComponents/Transactions/DataTable.jsx index cde79f18..1957f2af 100644 --- a/new-lamassu-admin/src/pages/Machines/MachineComponents/Transactions/DataTable.jsx +++ b/new-lamassu-admin/src/pages/Machines/MachineComponents/Transactions/DataTable.jsx @@ -1,4 +1,4 @@ -import { Box } from '@mui/material' +import Box from '@mui/material/Box' import { makeStyles } from '@mui/styles' import classnames from 'classnames' import * as R from 'ramda' diff --git a/new-lamassu-admin/src/pages/Maintenance/CashUnits.jsx b/new-lamassu-admin/src/pages/Maintenance/CashUnits.jsx index 8508edb0..9377e1e3 100644 --- a/new-lamassu-admin/src/pages/Maintenance/CashUnits.jsx +++ b/new-lamassu-admin/src/pages/Maintenance/CashUnits.jsx @@ -1,5 +1,6 @@ import { useQuery, useMutation, gql } from "@apollo/client"; -import { DialogActions, Box } from '@mui/material' +import DialogActions from '@mui/material/DialogActions' +import Box from '@mui/material/Box' import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' diff --git a/new-lamassu-admin/src/pages/Maintenance/MachineDetailsCard.jsx b/new-lamassu-admin/src/pages/Maintenance/MachineDetailsCard.jsx index d9b5c8f9..797f312a 100644 --- a/new-lamassu-admin/src/pages/Maintenance/MachineDetailsCard.jsx +++ b/new-lamassu-admin/src/pages/Maintenance/MachineDetailsCard.jsx @@ -1,4 +1,4 @@ -import { Grid /*, Divider */ } from '@mui/material' +import Grid from '@mui/material/Grid' import { makeStyles } from '@mui/styles' import BigNumber from 'bignumber.js' import React from 'react' diff --git a/new-lamassu-admin/src/pages/OperatorInfo/SMSNotices/SMSNoticesModal.jsx b/new-lamassu-admin/src/pages/OperatorInfo/SMSNotices/SMSNoticesModal.jsx index 278dedff..745891b7 100644 --- a/new-lamassu-admin/src/pages/OperatorInfo/SMSNotices/SMSNoticesModal.jsx +++ b/new-lamassu-admin/src/pages/OperatorInfo/SMSNotices/SMSNoticesModal.jsx @@ -1,4 +1,4 @@ -import { Chip } from '@mui/material' +import Chip from '@mui/material/Chip' import { makeStyles } from '@mui/styles' import { Form, Formik, Field } from 'formik' import * as R from 'ramda' diff --git a/new-lamassu-admin/src/pages/Services/FormRenderer.jsx b/new-lamassu-admin/src/pages/Services/FormRenderer.jsx index cddc4f6f..599eb8e5 100644 --- a/new-lamassu-admin/src/pages/Services/FormRenderer.jsx +++ b/new-lamassu-admin/src/pages/Services/FormRenderer.jsx @@ -1,4 +1,4 @@ -import { Grid } from '@mui/material' +import Grid from '@mui/material/Grid' import { makeStyles } from '@mui/styles' import classnames from 'classnames' import { Formik, Form, FastField } from 'formik' diff --git a/new-lamassu-admin/src/pages/Services/Services.jsx b/new-lamassu-admin/src/pages/Services/Services.jsx index aafe0ff9..22b44c92 100644 --- a/new-lamassu-admin/src/pages/Services/Services.jsx +++ b/new-lamassu-admin/src/pages/Services/Services.jsx @@ -1,5 +1,5 @@ import { useQuery, useMutation, gql } from "@apollo/client"; -import { Grid } from '@mui/material' +import Grid from '@mui/material/Grid' import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' diff --git a/new-lamassu-admin/src/pages/Transactions/DetailsCard.jsx b/new-lamassu-admin/src/pages/Transactions/DetailsCard.jsx index 29464fdf..f4d87525 100644 --- a/new-lamassu-admin/src/pages/Transactions/DetailsCard.jsx +++ b/new-lamassu-admin/src/pages/Transactions/DetailsCard.jsx @@ -1,6 +1,6 @@ import { useLazyQuery, useMutation, gql } from "@apollo/client"; import { toUnit, formatCryptoAddress } from '@lamassu/coins/lightUtils' -import { Box } from '@mui/material' +import Box from '@mui/material/Box' import { makeStyles } from '@mui/styles' import BigNumber from 'bignumber.js' import classNames from 'classnames' diff --git a/new-lamassu-admin/src/pages/Triggers/TriggerView.jsx b/new-lamassu-admin/src/pages/Triggers/TriggerView.jsx index 193fa0da..b98396d6 100644 --- a/new-lamassu-admin/src/pages/Triggers/TriggerView.jsx +++ b/new-lamassu-admin/src/pages/Triggers/TriggerView.jsx @@ -1,5 +1,5 @@ import { useMutation, gql } from "@apollo/client"; -import { Box } from '@mui/material' +import Box from '@mui/material/Box' import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' diff --git a/new-lamassu-admin/src/pages/Triggers/helper.jsx b/new-lamassu-admin/src/pages/Triggers/helper.jsx index 1bb0b887..353a7c41 100644 --- a/new-lamassu-admin/src/pages/Triggers/helper.jsx +++ b/new-lamassu-admin/src/pages/Triggers/helper.jsx @@ -1,4 +1,4 @@ -import { Box } from '@mui/material' +import Box from '@mui/material/Box' import { makeStyles } from '@mui/styles' import classnames from 'classnames' import { Field, useFormikContext } from 'formik' diff --git a/new-lamassu-admin/src/pages/UserManagement/UserManagement.jsx b/new-lamassu-admin/src/pages/UserManagement/UserManagement.jsx index b6583e5c..271ccba7 100644 --- a/new-lamassu-admin/src/pages/UserManagement/UserManagement.jsx +++ b/new-lamassu-admin/src/pages/UserManagement/UserManagement.jsx @@ -1,5 +1,6 @@ import { useQuery, useMutation, useLazyQuery, gql } from "@apollo/client"; -import { Box, Chip } from '@mui/material' +import Chip from '@mui/material/Chip' +import Box from '@mui/material/Box' import Switch from '@mui/material/Switch' import { makeStyles } from '@mui/styles' import { startAttestation } from '@simplewebauthn/browser' diff --git a/new-lamassu-admin/src/pages/Wizard/Wizard.jsx b/new-lamassu-admin/src/pages/Wizard/Wizard.jsx index 69f6c597..81087696 100644 --- a/new-lamassu-admin/src/pages/Wizard/Wizard.jsx +++ b/new-lamassu-admin/src/pages/Wizard/Wizard.jsx @@ -1,5 +1,6 @@ import { useQuery, gql } from "@apollo/client"; -import { Dialog, DialogContent } from '@mui/material' +import Dialog from '@mui/material/Dialog' +import DialogContent from '@mui/material/DialogContent' import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React, { useState, useContext } from 'react' diff --git a/new-lamassu-admin/src/pages/Wizard/components/Footer.jsx b/new-lamassu-admin/src/pages/Wizard/components/Footer.jsx index 32b6ac64..6a0c005c 100644 --- a/new-lamassu-admin/src/pages/Wizard/components/Footer.jsx +++ b/new-lamassu-admin/src/pages/Wizard/components/Footer.jsx @@ -1,4 +1,5 @@ -import { Drawer, Grid } from '@mui/material' +import Drawer from '@mui/material/Drawer' +import Grid from '@mui/material/Grid' import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React, { useState } from 'react' diff --git a/new-lamassu-admin/src/pages/Wizard/components/Twilio.jsx b/new-lamassu-admin/src/pages/Wizard/components/Twilio.jsx index 5d977304..78bef57b 100644 --- a/new-lamassu-admin/src/pages/Wizard/components/Twilio.jsx +++ b/new-lamassu-admin/src/pages/Wizard/components/Twilio.jsx @@ -1,5 +1,5 @@ import { useMutation, useQuery, gql } from "@apollo/client"; -import { Box } from '@mui/material' +import Box from '@mui/material/Box' import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React, { useState } from 'react' From 04ef056ba26713a8c332b487dd0a7c9f5e61084c Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Tue, 22 Apr 2025 11:56:09 +0100 Subject: [PATCH 23/85] partial: autocomplete and theme --- .../src/components/SearchBox.jsx | 2 +- .../components/inputs/base/Autocomplete.jsx | 5 ++-- new-lamassu-admin/src/styling/theme.js | 27 ++++++++++++++++--- 3 files changed, 27 insertions(+), 7 deletions(-) diff --git a/new-lamassu-admin/src/components/SearchBox.jsx b/new-lamassu-admin/src/components/SearchBox.jsx index 7ddbb1ac..0ef4d95e 100644 --- a/new-lamassu-admin/src/components/SearchBox.jsx +++ b/new-lamassu-admin/src/components/SearchBox.jsx @@ -52,7 +52,7 @@ const SearchBox = memo( clearOnEscape multiple filterSelectedOptions - getOptionSelected={(option, value) => option.type === value.type} + isOptionEqualToValue={(option, value) => option.type === value.type} PaperComponent={({ children }) => (
    diff --git a/new-lamassu-admin/src/components/inputs/base/Autocomplete.jsx b/new-lamassu-admin/src/components/inputs/base/Autocomplete.jsx index 43395879..386f53c7 100644 --- a/new-lamassu-admin/src/components/inputs/base/Autocomplete.jsx +++ b/new-lamassu-admin/src/components/inputs/base/Autocomplete.jsx @@ -84,7 +84,7 @@ const Autocomplete = ({ disableClearable ChipProps={{ onDelete: null }} clearOnEscape - getOptionSelected={R.eqProps(valueProp)} + isOptionEqualToValue={R.eqProps(valueProp)} {...props} renderInput={params => { return ( @@ -102,7 +102,7 @@ const Autocomplete = ({ }} renderOption={(iprops, props) => { if (!props.warning && !props.warningMessage) - return R.path([labelProp])(props) + return
  • {R.path([labelProp])(props)}
  • const warningColors = { clean: spring4, @@ -119,6 +119,7 @@ const Autocomplete = ({ /> ) + console.log('props.warningMessage: ', props) return (
  • Date: Tue, 22 Apr 2025 12:46:56 +0100 Subject: [PATCH 24/85] partial: carousel fix --- new-lamassu-admin/package-lock.json | 337 ++++++++-------------------- new-lamassu-admin/package.json | 2 +- 2 files changed, 92 insertions(+), 247 deletions(-) diff --git a/new-lamassu-admin/package-lock.json b/new-lamassu-admin/package-lock.json index d6897569..50900327 100644 --- a/new-lamassu-admin/package-lock.json +++ b/new-lamassu-admin/package-lock.json @@ -38,7 +38,7 @@ "react-copy-to-clipboard": "^5.0.2", "react-dom": "17.0.2", "react-dropzone": "^11.4.2", - "react-material-ui-carousel": "^2.3.11", + "react-material-ui-carousel": "^3.4.2", "react-number-format": "^4.4.1", "react-otp-input": "3.1.1", "react-router-dom": "5.1.2", @@ -526,13 +526,6 @@ "stylis": "4.2.0" } }, - "node_modules/@emotion/hash": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", - "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==", - "license": "MIT", - "peer": true - }, "node_modules/@emotion/is-prop-valid": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.3.1.tgz", @@ -1406,177 +1399,6 @@ "lodash": "^4.17.10" } }, - "node_modules/@material-ui/core": { - "version": "4.12.4", - "resolved": "https://registry.npmjs.org/@material-ui/core/-/core-4.12.4.tgz", - "integrity": "sha512-tr7xekNlM9LjA6pagJmL8QCgZXaubWUwkJnoYcMKd4gw/t4XiyvnTkjdGrUVicyB2BsdaAv1tvow45bPM4sSwQ==", - "deprecated": "Material UI v4 doesn't receive active development since September 2021. See the guide https://mui.com/material-ui/migration/migration-v4/ to upgrade to v5.", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/runtime": "^7.4.4", - "@material-ui/styles": "^4.11.5", - "@material-ui/system": "^4.12.2", - "@material-ui/types": "5.1.0", - "@material-ui/utils": "^4.11.3", - "@types/react-transition-group": "^4.2.0", - "clsx": "^1.0.4", - "hoist-non-react-statics": "^3.3.2", - "popper.js": "1.16.1-lts", - "prop-types": "^15.7.2", - "react-is": "^16.8.0 || ^17.0.0", - "react-transition-group": "^4.4.0" - }, - "engines": { - "node": ">=8.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/material-ui" - }, - "peerDependencies": { - "@types/react": "^16.8.6 || ^17.0.0", - "react": "^16.8.0 || ^17.0.0", - "react-dom": "^16.8.0 || ^17.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@material-ui/icons": { - "version": "4.11.2", - "resolved": "https://registry.npmjs.org/@material-ui/icons/-/icons-4.11.2.tgz", - "integrity": "sha512-fQNsKX2TxBmqIGJCSi3tGTO/gZ+eJgWmMJkgDiOfyNaunNaxcklJQFaFogYcFl0qFuaEz1qaXYXboa/bUXVSOQ==", - "deprecated": "You can now upgrade to @mui/icons. See the guide: https://mui.com/guides/migration-v4/", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/runtime": "^7.4.4" - }, - "engines": { - "node": ">=8.0.0" - }, - "peerDependencies": { - "@material-ui/core": "^4.0.0", - "@types/react": "^16.8.6 || ^17.0.0", - "react": "^16.8.0 || ^17.0.0", - "react-dom": "^16.8.0 || ^17.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@material-ui/styles": { - "version": "4.11.5", - "resolved": "https://registry.npmjs.org/@material-ui/styles/-/styles-4.11.5.tgz", - "integrity": "sha512-o/41ot5JJiUsIETME9wVLAJrmIWL3j0R0Bj2kCOLbSfqEkKf0fmaPt+5vtblUh5eXr2S+J/8J3DaCb10+CzPGA==", - "deprecated": "Material UI v4 doesn't receive active development since September 2021. See the guide https://mui.com/material-ui/migration/migration-v4/ to upgrade to v5.", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/runtime": "^7.4.4", - "@emotion/hash": "^0.8.0", - "@material-ui/types": "5.1.0", - "@material-ui/utils": "^4.11.3", - "clsx": "^1.0.4", - "csstype": "^2.5.2", - "hoist-non-react-statics": "^3.3.2", - "jss": "^10.5.1", - "jss-plugin-camel-case": "^10.5.1", - "jss-plugin-default-unit": "^10.5.1", - "jss-plugin-global": "^10.5.1", - "jss-plugin-nested": "^10.5.1", - "jss-plugin-props-sort": "^10.5.1", - "jss-plugin-rule-value-function": "^10.5.1", - "jss-plugin-vendor-prefixer": "^10.5.1", - "prop-types": "^15.7.2" - }, - "engines": { - "node": ">=8.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/material-ui" - }, - "peerDependencies": { - "@types/react": "^16.8.6 || ^17.0.0", - "react": "^16.8.0 || ^17.0.0", - "react-dom": "^16.8.0 || ^17.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@material-ui/system": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@material-ui/system/-/system-4.12.2.tgz", - "integrity": "sha512-6CSKu2MtmiJgcCGf6nBQpM8fLkuB9F55EKfbdTC80NND5wpTmKzwdhLYLH3zL4cLlK0gVaaltW7/wMuyTnN0Lw==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/runtime": "^7.4.4", - "@material-ui/utils": "^4.11.3", - "csstype": "^2.5.2", - "prop-types": "^15.7.2" - }, - "engines": { - "node": ">=8.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/material-ui" - }, - "peerDependencies": { - "@types/react": "^16.8.6 || ^17.0.0", - "react": "^16.8.0 || ^17.0.0", - "react-dom": "^16.8.0 || ^17.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@material-ui/types": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@material-ui/types/-/types-5.1.0.tgz", - "integrity": "sha512-7cqRjrY50b8QzRSYyhSpx4WRw2YuO0KKIGQEVk5J8uoz2BanawykgZGoWEqKm7pVIbzFDN0SpPcVV4IhOFkl8A==", - "license": "MIT", - "peer": true, - "peerDependencies": { - "@types/react": "*" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@material-ui/utils": { - "version": "4.11.3", - "resolved": "https://registry.npmjs.org/@material-ui/utils/-/utils-4.11.3.tgz", - "integrity": "sha512-ZuQPV4rBK/V1j2dIkSSEcH5uT6AaHuKWFfotADHsC0wVL1NLd2WkFCm4ZZbX33iO4ydl6V0GPngKm8HZQ2oujg==", - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/runtime": "^7.4.4", - "prop-types": "^15.7.2", - "react-is": "^16.8.0 || ^17.0.0" - }, - "engines": { - "node": ">=8.0.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0", - "react-dom": "^16.8.0 || ^17.0.0" - } - }, "node_modules/@mui/core-downloads-tracker": { "version": "5.17.1", "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.17.1.tgz", @@ -2762,7 +2584,8 @@ "version": "0.16.8", "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@vitejs/plugin-react-swc": { "version": "3.8.1", @@ -3091,35 +2914,6 @@ "node": ">=4" } }, - "node_modules/auto-bind": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/auto-bind/-/auto-bind-2.1.1.tgz", - "integrity": "sha512-NUwV1i9D3vxxY1KnfZgSZ716d6ovY7o8LfOwLhGIPFBowIb6Ln6DBW64+jCqPzUznel2hRSkQnYQqvh7/ldw8A==", - "license": "MIT", - "dependencies": { - "@types/react": "^16.8.12" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/auto-bind/node_modules/@types/react": { - "version": "16.14.63", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.63.tgz", - "integrity": "sha512-s83gano0fRBVEw3ejdLpjgvU83F0LIeeuXqdxfPZF/Sc2bhr60tEqCK1zZ+aLirBwRSD6V5zCtOsEjcwKow3JQ==", - "license": "MIT", - "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "^0.16", - "csstype": "^3.0.2" - } - }, - "node_modules/auto-bind/node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "license": "MIT" - }, "node_modules/available-typed-arrays": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", @@ -3875,13 +3669,6 @@ "is-in-browser": "^1.0.2" } }, - "node_modules/csstype": { - "version": "2.6.21", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz", - "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==", - "license": "MIT", - "peer": true - }, "node_modules/d3": { "version": "6.7.0", "resolved": "https://registry.npmjs.org/d3/-/d3-6.7.0.tgz", @@ -5226,6 +5013,52 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "license": "0BSD" }, + "node_modules/framer-motion": { + "version": "4.1.17", + "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-4.1.17.tgz", + "integrity": "sha512-thx1wvKzblzbs0XaK2X0G1JuwIdARcoNOW7VVwjO8BUltzXPyONGAElLu6CiCScsOQRI7FIk/45YTFtJw5Yozw==", + "license": "MIT", + "dependencies": { + "framesync": "5.3.0", + "hey-listen": "^1.0.8", + "popmotion": "9.3.6", + "style-value-types": "4.1.4", + "tslib": "^2.1.0" + }, + "optionalDependencies": { + "@emotion/is-prop-valid": "^0.8.2" + }, + "peerDependencies": { + "react": ">=16.8 || ^17.0.0", + "react-dom": ">=16.8 || ^17.0.0" + } + }, + "node_modules/framer-motion/node_modules/@emotion/is-prop-valid": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz", + "integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==", + "license": "MIT", + "optional": true, + "dependencies": { + "@emotion/memoize": "0.7.4" + } + }, + "node_modules/framer-motion/node_modules/@emotion/memoize": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz", + "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==", + "license": "MIT", + "optional": true + }, + "node_modules/framesync": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/framesync/-/framesync-5.3.0.tgz", + "integrity": "sha512-oc5m68HDO/tuK2blj7ZcdEBRx3p1PjrgHazL8GYEpvULhrtGIFbQArN6cQS2QhW8mitffaB+VYzMjDqBxxQeoA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.1.0" + } + }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", @@ -5615,6 +5448,12 @@ "hermes-estree": "0.25.1" } }, + "node_modules/hey-listen": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/hey-listen/-/hey-listen-1.0.8.tgz", + "integrity": "sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==", + "license": "MIT" + }, "node_modules/history": { "version": "4.10.1", "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", @@ -7325,12 +7164,17 @@ "node": ">=0.10.0" } }, - "node_modules/popper.js": { - "version": "1.16.1-lts", - "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1-lts.tgz", - "integrity": "sha512-Kjw8nKRl1m+VrSFCoVGPph93W/qrSO7ZkqPpTf7F4bk/sqcfWK019dWBUpE/fBOsOQY1dks/Bmcbfn1heM/IsA==", + "node_modules/popmotion": { + "version": "9.3.6", + "resolved": "https://registry.npmjs.org/popmotion/-/popmotion-9.3.6.tgz", + "integrity": "sha512-ZTbXiu6zIggXzIliMi8LGxXBF5ST+wkpXGEjeTUDUOCdSQ356hij/xjeUdv0F8zCQNeqB1+PR5/BB+gC+QLAPw==", "license": "MIT", - "peer": true + "dependencies": { + "framesync": "5.3.0", + "hey-listen": "^1.0.8", + "style-value-types": "4.1.4", + "tslib": "^2.1.0" + } }, "node_modules/possible-typed-array-names": { "version": "1.1.0", @@ -7556,13 +7400,6 @@ "integrity": "sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw==", "license": "MIT" }, - "node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "license": "MIT", - "peer": true - }, "node_modules/react-lifecycles-compat": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", @@ -7570,19 +7407,26 @@ "license": "MIT" }, "node_modules/react-material-ui-carousel": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/react-material-ui-carousel/-/react-material-ui-carousel-2.3.11.tgz", - "integrity": "sha512-rsD9D2JLDBTfinaPy1+hcb7gunfdX7jmga7xESfRCCtLXzokOrkhmx4qMd8dZmYY42zc/HbYqLqg9E/d187lbw==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/react-material-ui-carousel/-/react-material-ui-carousel-3.4.2.tgz", + "integrity": "sha512-jUbC5aBWqbbbUOOdUe3zTVf4kMiZFwKJqwhxzHgBfklaXQbSopis4iWAHvEOLcZtSIJk4JAGxKE0CmxDoxvUuw==", "license": "MIT", "dependencies": { - "auto-bind": "^2.1.1", - "react-swipeable": "^6.1.0" + "@emotion/react": "^11.7.1", + "@emotion/styled": "^11.6.0", + "@mui/icons-material": "^5.4.1", + "@mui/material": "^5.4.1", + "@mui/system": "^5.4.1", + "framer-motion": "^4.1.17" }, "peerDependencies": { - "@material-ui/core": "^4.11.3", - "@material-ui/icons": "^4.11.2", - "react": "^16.13.1 || ^17.0.1", - "react-dom": "^16.13.1 || ^17.0.1" + "@emotion/react": "^11.4.1", + "@emotion/styled": "^11.3.0", + "@mui/icons-material": "^5.0.0", + "@mui/material": "^5.0.0", + "@mui/system": "^5.0.0", + "react": "^17.0.1 || ^18.0.0", + "react-dom": "^17.0.2 || ^18.0.0" } }, "node_modules/react-number-format": { @@ -7653,15 +7497,6 @@ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "license": "MIT" }, - "node_modules/react-swipeable": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/react-swipeable/-/react-swipeable-6.2.2.tgz", - "integrity": "sha512-Oz7nSFrssvq2yvy05aNL3F+yBUqSvLsK6x1mu+rQFOpMdQVnt4izKt1vyjvvTb70q6GQOaSpaB6qniROW2MAzQ==", - "license": "MIT", - "peerDependencies": { - "react": "^16.8.3 || ^17 || ^18" - } - }, "node_modules/react-transition-group": { "version": "4.4.5", "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", @@ -8470,6 +8305,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/style-value-types": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/style-value-types/-/style-value-types-4.1.4.tgz", + "integrity": "sha512-LCJL6tB+vPSUoxgUBt9juXIlNJHtBMy8jkXzUJSBzeHWdBu6lhzHqCvLVkXFGsFIlNa2ln1sQHya/gzaFmB2Lg==", + "license": "MIT", + "dependencies": { + "hey-listen": "^1.0.8", + "tslib": "^2.1.0" + } + }, "node_modules/stylis": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", diff --git a/new-lamassu-admin/package.json b/new-lamassu-admin/package.json index 639d0a27..1526575e 100644 --- a/new-lamassu-admin/package.json +++ b/new-lamassu-admin/package.json @@ -33,7 +33,7 @@ "react-copy-to-clipboard": "^5.0.2", "react-dom": "17.0.2", "react-dropzone": "^11.4.2", - "react-material-ui-carousel": "^2.3.11", + "react-material-ui-carousel": "^3.4.2", "react-number-format": "^4.4.1", "react-otp-input": "3.1.1", "react-router-dom": "5.1.2", From 892f46f64ce347dc7052092e71f9dc3dbdb294f9 Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Tue, 22 Apr 2025 13:57:12 +0100 Subject: [PATCH 25/85] fix: reject future machines as well --- lib/middlewares/rejectIncompatbleMachines.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/middlewares/rejectIncompatbleMachines.js b/lib/middlewares/rejectIncompatbleMachines.js index f105ea84..48ecef6f 100644 --- a/lib/middlewares/rejectIncompatbleMachines.js +++ b/lib/middlewares/rejectIncompatbleMachines.js @@ -18,6 +18,13 @@ const rejectIncompatibleMachines = function (req, res, next) { }) } + if (serverMajor < machineMajor) { + logger.error(`Machine version too new: ${machineVersion} deviceId: ${deviceId}`) + return res.status(400).json({ + error: 'Machine version too new' + }) + } + next() } From 5cee97858c5ceec46f7e517df7f3b474474d84a2 Mon Sep 17 00:00:00 2001 From: CrypticaScriptura <7396812+CrypticaScriptura@users.noreply.github.com> Date: Tue, 22 Apr 2025 16:02:13 -0400 Subject: [PATCH 26/85] v10.2.0-rc.2 (#1832) --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9642cefb..fce7fc39 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "lamassu-server", - "version": "10.2.0-rc.1", + "version": "10.2.0-rc.2", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 626e6981..91672bb1 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "lamassu-server", "description": "bitcoin atm client server protocol module", "keywords": [], - "version": "10.2.0-rc.1", + "version": "10.2.0-rc.2", "license": "./LICENSE", "author": "Lamassu (https://lamassu.is)", "dependencies": { From fff589bbb4f1d0d6779a8ec9397a2a539153dc0b Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Mon, 28 Apr 2025 07:20:15 +0100 Subject: [PATCH 27/85] fix: proper popper usage --- new-lamassu-admin/src/components/Popper.jsx | 8 +------- .../src/components/inputs/base/Autocomplete.jsx | 3 +-- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/new-lamassu-admin/src/components/Popper.jsx b/new-lamassu-admin/src/components/Popper.jsx index 6dc22225..75159a0a 100644 --- a/new-lamassu-admin/src/components/Popper.jsx +++ b/new-lamassu-admin/src/components/Popper.jsx @@ -132,7 +132,7 @@ const Popover = ({ }, { name: 'preventOverflow', - enabled: R.defaultTo(true, props.preventOverflow), + enabled: true, options: { rootBoundary: 'scrollParent' } @@ -159,12 +159,6 @@ const Popover = ({ } ] - if (props.preventOverflow === false) { - modifiers.hide = { - enabled: false - } - } - return ( <> ) - console.log('props.warningMessage: ', props) return (
  • - ); + ) } export default Autocomplete From 8c6c3b258a0b67b9f1464f5459df355891d999c0 Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Mon, 28 Apr 2025 07:34:41 +0100 Subject: [PATCH 28/85] chore: version bump --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index fce7fc39..15fa11a7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "lamassu-server", - "version": "10.2.0-rc.2", + "version": "10.2.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 91672bb1..9eedefdc 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "lamassu-server", "description": "bitcoin atm client server protocol module", "keywords": [], - "version": "10.2.0-rc.2", + "version": "10.2.0", "license": "./LICENSE", "author": "Lamassu (https://lamassu.is)", "dependencies": { From 297a3d76fb48ddd59793c176fc3388d7c28ca14f Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Tue, 6 May 2025 09:45:39 +0100 Subject: [PATCH 29/85] fix: forex on EUR default exchanges --- lib/forex.js | 12 ++++++------ lib/plugins/ticker/ccxt.js | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/forex.js b/lib/forex.js index 011eb2e4..ddee4008 100644 --- a/lib/forex.js +++ b/lib/forex.js @@ -11,19 +11,19 @@ const API_QUEUE = [ { api: getCoinCapFxRate, name: 'coincap', fiatCodeProperty: 'symbol', rateProperty: 'rateUsd' } ] -function getBitPayFxRate (fiatCode, fiatCodeProperty, rateProperty) { +function getBitPayFxRate (fiatCode, defaultFiatMarket, fiatCodeProperty, rateProperty) { return axios.get('https://bitpay.com/rates') .then(response => { const fxRates = response.data.data - const usdRate = findCurrencyRates(fxRates, 'USD', fiatCodeProperty, rateProperty) - const fxRate = findCurrencyRates(fxRates, fiatCode, fiatCodeProperty, rateProperty).div(usdRate) + const defaultFiatRate = findCurrencyRates(fxRates, defaultFiatMarket, fiatCodeProperty, rateProperty) + const fxRate = findCurrencyRates(fxRates, fiatCode, fiatCodeProperty, rateProperty).div(defaultFiatRate) return { fxRate } }) } -function getCoinCapFxRate (fiatCode, fiatCodeProperty, rateProperty) { +function getCoinCapFxRate (fiatCode, defaultFiatMarket, fiatCodeProperty, rateProperty) { return axios.get('https://api.coincap.io/v2/rates') .then(response => { const fxRates = response.data.data @@ -40,7 +40,7 @@ function findCurrencyRates (fxRates, fiatCode, fiatCodeProperty, rateProperty) { return new BN(rates[rateProperty].toString()) } -const getRate = (retries = 1, fiatCode) => { +const getRate = (retries = 1, fiatCode, defaultFiatMarket) => { const selected = _.first(API_QUEUE).name const activeAPI = _.first(API_QUEUE).api const fiatCodeProperty = _.first(API_QUEUE).fiatCodeProperty @@ -48,7 +48,7 @@ const getRate = (retries = 1, fiatCode) => { if (!activeAPI) throw new Error(`FOREX api ${selected} does not exist.`) - return activeAPI(fiatCode, fiatCodeProperty, rateProperty) + return activeAPI(fiatCode, defaultFiatMarket, fiatCodeProperty, rateProperty) .catch(() => { // Switch service const erroredService = API_QUEUE.shift() diff --git a/lib/plugins/ticker/ccxt.js b/lib/plugins/ticker/ccxt.js index 1f63ff3d..881085d1 100644 --- a/lib/plugins/ticker/ccxt.js +++ b/lib/plugins/ticker/ccxt.js @@ -30,7 +30,7 @@ function ticker (fiatCode, cryptoCode, tickerName) { return getCurrencyRates(ticker, fiatCode, cryptoCode) } - return getRate(RETRIES, fiatCode) + return getRate(RETRIES, tickerName, defaultFiatMarket(tickerName)) .then(({ fxRate }) => { try { return getCurrencyRates(ticker, defaultFiatMarket(tickerName), cryptoCode) From a84c82de92a5b8e4ee8b1d445150a8c59626144b Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Tue, 6 May 2025 10:00:29 +0100 Subject: [PATCH 30/85] chore: remove deprecated forex --- lib/forex.js | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/lib/forex.js b/lib/forex.js index ddee4008..aeb4f514 100644 --- a/lib/forex.js +++ b/lib/forex.js @@ -7,8 +7,7 @@ const MAX_ROTATIONS = 5 const getFiatRates = () => axios.get('https://bitpay.com/api/rates').then(response => response.data) const API_QUEUE = [ - { api: getBitPayFxRate, name: 'bitpay', fiatCodeProperty: 'code', rateProperty: 'rate' }, - { api: getCoinCapFxRate, name: 'coincap', fiatCodeProperty: 'symbol', rateProperty: 'rateUsd' } + { api: getBitPayFxRate, name: 'bitpay', fiatCodeProperty: 'code', rateProperty: 'rate' } ] function getBitPayFxRate (fiatCode, defaultFiatMarket, fiatCodeProperty, rateProperty) { @@ -23,17 +22,6 @@ function getBitPayFxRate (fiatCode, defaultFiatMarket, fiatCodeProperty, ratePro }) } -function getCoinCapFxRate (fiatCode, defaultFiatMarket, fiatCodeProperty, rateProperty) { - return axios.get('https://api.coincap.io/v2/rates') - .then(response => { - const fxRates = response.data.data - const fxRate = new BN(1).div(findCurrencyRates(fxRates, fiatCode, fiatCodeProperty, rateProperty)) - return { - fxRate - } - }) -} - function findCurrencyRates (fxRates, fiatCode, fiatCodeProperty, rateProperty) { const rates = _.find(_.matchesProperty(fiatCodeProperty, fiatCode), fxRates) if (!rates || !rates[rateProperty]) throw new Error(`Unsupported currency: ${fiatCode}`) From 482b606177688d5aa711e4848ec9b1743e58595f Mon Sep 17 00:00:00 2001 From: CrypticaScriptura <7396812+CrypticaScriptura@users.noreply.github.com> Date: Tue, 6 May 2025 08:57:11 -0400 Subject: [PATCH 31/85] chore: v10.2.1 (#1835) --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 15fa11a7..40c422a6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "lamassu-server", - "version": "10.2.0", + "version": "10.2.1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 9eedefdc..8af7afa8 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "lamassu-server", "description": "bitcoin atm client server protocol module", "keywords": [], - "version": "10.2.0", + "version": "10.2.1", "license": "./LICENSE", "author": "Lamassu (https://lamassu.is)", "dependencies": { From a477fa2393404069619de199083a5f43401d52f0 Mon Sep 17 00:00:00 2001 From: siiky Date: Thu, 8 May 2025 15:25:23 +0100 Subject: [PATCH 32/85] feat: cache Forex responses --- lib/forex.js | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/lib/forex.js b/lib/forex.js index aeb4f514..6c5ea781 100644 --- a/lib/forex.js +++ b/lib/forex.js @@ -1,19 +1,29 @@ const _ = require('lodash/fp') const axios = require('axios') +const mem = require('mem') + const BN = require('./bn') +const T = require('./time') const MAX_ROTATIONS = 5 -const getFiatRates = () => axios.get('https://bitpay.com/api/rates').then(response => response.data) +const _getFiatRates = () => ( + axios.get('https://bitpay.com/api/rates') + .then(response => response.data) +) + +const getFiatRates = mem(_getFiatRates, { + maxAge: 6 * T.hours, + cacheKey: () => '' +}) const API_QUEUE = [ { api: getBitPayFxRate, name: 'bitpay', fiatCodeProperty: 'code', rateProperty: 'rate' } ] function getBitPayFxRate (fiatCode, defaultFiatMarket, fiatCodeProperty, rateProperty) { - return axios.get('https://bitpay.com/rates') - .then(response => { - const fxRates = response.data.data + return getFiatRates() + .then(({ data: fxRates }) => { const defaultFiatRate = findCurrencyRates(fxRates, defaultFiatMarket, fiatCodeProperty, rateProperty) const fxRate = findCurrencyRates(fxRates, fiatCode, fiatCodeProperty, rateProperty).div(defaultFiatRate) return { From e9640d7913c140b90cec32294e1e7f27105080fa Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Mon, 12 May 2025 08:38:06 +0100 Subject: [PATCH 33/85] fix: advanced batch params --- lib/new-admin/graphql/resolvers/transaction.resolver.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/new-admin/graphql/resolvers/transaction.resolver.js b/lib/new-admin/graphql/resolvers/transaction.resolver.js index f262517a..12e7e2b6 100644 --- a/lib/new-admin/graphql/resolvers/transaction.resolver.js +++ b/lib/new-admin/graphql/resolvers/transaction.resolver.js @@ -22,7 +22,7 @@ const resolvers = { transactions: (...[, { from, until, limit, offset, txClass, deviceId, customerName, fiatCode, cryptoCode, toAddress, status, swept, excludeTestingCustomers }]) => transactions.batch(from, until, limit, offset, txClass, deviceId, customerName, fiatCode, cryptoCode, toAddress, status, swept, excludeTestingCustomers), transactionsCsv: (...[, { from, until, limit, offset, txClass, deviceId, customerName, fiatCode, cryptoCode, toAddress, status, swept, timezone, excludeTestingCustomers, simplified }]) => - transactions.batch(from, until, limit, offset, null, txClass, deviceId, customerName, fiatCode, cryptoCode, toAddress, status, swept, excludeTestingCustomers, simplified) + transactions.batch(from, until, limit, offset, txClass, deviceId, customerName, fiatCode, cryptoCode, toAddress, status, swept, excludeTestingCustomers, simplified) .then(data => parseAsync(logDateFormat(timezone, data, ['created', 'sendTime', 'publishedAt']))), transactionCsv: (...[, { id, txClass, timezone }]) => transactions.getTx(id, txClass).then(data => From ac97e2ffd9f4b2b7816d15432f3f804b3508957d Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Tue, 22 Apr 2025 14:34:23 +0100 Subject: [PATCH 34/85] refactor: use theme for chips --- new-lamassu-admin/src/components/Chip.jsx | 34 ------------------- .../src/components/SearchFilter.jsx | 2 +- .../src/components/inputs/cashbox/Cashbox.jsx | 7 ++-- .../inputs/cashbox/Cashbox.styles.js | 3 -- .../src/pages/Maintenance/CashUnitDetails.jsx | 2 +- new-lamassu-admin/src/styling/theme.js | 21 +++++++++--- 6 files changed, 20 insertions(+), 49 deletions(-) delete mode 100644 new-lamassu-admin/src/components/Chip.jsx diff --git a/new-lamassu-admin/src/components/Chip.jsx b/new-lamassu-admin/src/components/Chip.jsx deleted file mode 100644 index 6358047d..00000000 --- a/new-lamassu-admin/src/components/Chip.jsx +++ /dev/null @@ -1,34 +0,0 @@ -import Chip from '@mui/material/Chip' -import { withStyles } from '@mui/styles' -import React, { memo } from 'react' - -import { - fontColor, - inputFontWeight, - subheaderColor, - smallestFontSize, - inputFontFamily -} from 'src/styling/variables' - -const styles = theme => ({ - root: { - backgroundColor: subheaderColor, - borderRadius: 4, - margin: theme.spacing(0.5, 0.25), - height: 18 - }, - label: { - fontSize: smallestFontSize, - color: fontColor, - fontWeight: inputFontWeight, - fontFamily: inputFontFamily, - paddingRight: 4, - paddingLeft: 4 - } -}) - -const LsChip = memo(({ classes, ...props }) => ( - -)) - -export default withStyles(styles)(LsChip) diff --git a/new-lamassu-admin/src/components/SearchFilter.jsx b/new-lamassu-admin/src/components/SearchFilter.jsx index 3089f637..d16891e4 100644 --- a/new-lamassu-admin/src/components/SearchFilter.jsx +++ b/new-lamassu-admin/src/components/SearchFilter.jsx @@ -1,6 +1,6 @@ import { makeStyles } from '@mui/styles' +import Chip from '@mui/material/Chip' import React from 'react' -import Chip from 'src/components/Chip' import { P, Label3 } from 'src/components/typography' import CloseIcon from 'src/styling/icons/action/close/zodiac.svg?react' import FilterIcon from 'src/styling/icons/button/filter/white.svg?react' diff --git a/new-lamassu-admin/src/components/inputs/cashbox/Cashbox.jsx b/new-lamassu-admin/src/components/inputs/cashbox/Cashbox.jsx index 81d90e83..e50f2fd9 100644 --- a/new-lamassu-admin/src/components/inputs/cashbox/Cashbox.jsx +++ b/new-lamassu-admin/src/components/inputs/cashbox/Cashbox.jsx @@ -1,7 +1,7 @@ import { makeStyles } from '@mui/styles' +import Chip from '@mui/material/Chip' import classnames from 'classnames' import React from 'react' -import Chip from 'src/components/Chip' import { Info2, Label1, Label2 } from 'src/components/typography' import { numberToFiatAmount } from 'src/utils/number' @@ -136,10 +136,7 @@ const CashOut = ({
    {notes} - +
    diff --git a/new-lamassu-admin/src/components/inputs/cashbox/Cashbox.styles.js b/new-lamassu-admin/src/components/inputs/cashbox/Cashbox.styles.js index df06ed6b..cbb5c292 100644 --- a/new-lamassu-admin/src/components/inputs/cashbox/Cashbox.styles.js +++ b/new-lamassu-admin/src/components/inputs/cashbox/Cashbox.styles.js @@ -79,9 +79,6 @@ const gridStyles = { }, link: { marginTop: spacer - }, - chip: { - margin: [[0, 0, 0, 7]] } } diff --git a/new-lamassu-admin/src/pages/Maintenance/CashUnitDetails.jsx b/new-lamassu-admin/src/pages/Maintenance/CashUnitDetails.jsx index 1d027869..290cd127 100644 --- a/new-lamassu-admin/src/pages/Maintenance/CashUnitDetails.jsx +++ b/new-lamassu-admin/src/pages/Maintenance/CashUnitDetails.jsx @@ -1,7 +1,7 @@ import { makeStyles } from '@mui/styles' +import Chip from '@mui/material/Chip' import * as R from 'ramda' import React from 'react' -import Chip from 'src/components/Chip' import { Label1, TL2 } from 'src/components/typography' import { CashOut } from 'src/components/inputs' diff --git a/new-lamassu-admin/src/styling/theme.js b/new-lamassu-admin/src/styling/theme.js index 83346419..1230c550 100644 --- a/new-lamassu-admin/src/styling/theme.js +++ b/new-lamassu-admin/src/styling/theme.js @@ -10,10 +10,13 @@ import { offColor, subheaderColor, fontSize3, - fontSize5, zircon, zircon2, - primaryColor, disabledColor2, disabledColor + primaryColor, + disabledColor2, + disabledColor, + smallestFontSize, + inputFontWeight } from './variables' const { p } = typographyStyles @@ -150,11 +153,19 @@ theme = createTheme(theme, { }, MuiChip: { styleOverrides: { + root: { + backgroundColor: subheaderColor, + borderRadius: 4, + margin: theme.spacing(0.5, 0.25), + height: 18 + }, label: { - paddingLeft: 4, - paddingRight: 4, + fontSize: smallestFontSize, color: fontColor, - fontSize: fontSize5 + fontWeight: inputFontWeight, + fontFamily: inputFontFamily, + paddingRight: 4, + paddingLeft: 4 } } }, From c917fd3ca2857320e96dd01367f4535d5f5539db Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Wed, 23 Apr 2025 11:42:25 +0100 Subject: [PATCH 35/85] chore: remove unused files --- new-lamassu-admin/.env | 4 --- new-lamassu-admin/nginx/nginx.conf | 28 ------------------- .../patches/react-scripts+4.0.0.patch | 12 -------- 3 files changed, 44 deletions(-) delete mode 100644 new-lamassu-admin/.env delete mode 100644 new-lamassu-admin/nginx/nginx.conf delete mode 100644 new-lamassu-admin/patches/react-scripts+4.0.0.patch diff --git a/new-lamassu-admin/.env b/new-lamassu-admin/.env deleted file mode 100644 index e666d42d..00000000 --- a/new-lamassu-admin/.env +++ /dev/null @@ -1,4 +0,0 @@ -SKIP_PREFLIGHT_CHECK=true -HTTPS=true -REACT_APP_TYPE_CHECK_SANCTUARY=false -PORT=3001 diff --git a/new-lamassu-admin/nginx/nginx.conf b/new-lamassu-admin/nginx/nginx.conf deleted file mode 100644 index 13ac5c80..00000000 --- a/new-lamassu-admin/nginx/nginx.conf +++ /dev/null @@ -1,28 +0,0 @@ -server { - listen 80; - - location / { - root /usr/share/nginx/html; - index index.html index.htm; - - try_files $uri /index.html; - } - - location /graphql { - proxy_pass https://lamassu-admin-server/graphql; - proxy_set_header Host $http_host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_read_timeout 300; - proxy_connect_timeout 300; - proxy_send_timeout 300; - } - - error_page 500 502 503 504 /50x.html; - - location = /50x.html { - root /usr/share/nginx/html; - } - -} \ No newline at end of file diff --git a/new-lamassu-admin/patches/react-scripts+4.0.0.patch b/new-lamassu-admin/patches/react-scripts+4.0.0.patch deleted file mode 100644 index 916c3ecd..00000000 --- a/new-lamassu-admin/patches/react-scripts+4.0.0.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/node_modules/react-scripts/config/webpack.config.js b/node_modules/react-scripts/config/webpack.config.js -index 80c6ac2..3420936 100644 ---- a/node_modules/react-scripts/config/webpack.config.js -+++ b/node_modules/react-scripts/config/webpack.config.js -@@ -752,6 +752,7 @@ module.exports = function (webpackEnv) { - formatter: require.resolve('react-dev-utils/eslintFormatter'), - eslintPath: require.resolve('eslint'), - context: paths.appSrc, -+ cache: true, - // ESLint class options - cwd: paths.appPath, - resolvePluginsRelativeTo: __dirname, From 866da2fc64fa253925dc4f33f7200948d79b59cb Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Wed, 23 Apr 2025 11:42:39 +0100 Subject: [PATCH 36/85] partial: migrate global styles --- new-lamassu-admin/src/App.jsx | 10 +- .../NotificationCenter.styles.js | 3 +- new-lamassu-admin/src/styling/global/fonts.js | 173 ++++++++---------- new-lamassu-admin/src/styling/global/index.js | 138 +++++++------- new-lamassu-admin/src/styling/theme.js | 20 +- 5 files changed, 171 insertions(+), 173 deletions(-) diff --git a/new-lamassu-admin/src/App.jsx b/new-lamassu-admin/src/App.jsx index 1fd11d2b..4b8c92b3 100644 --- a/new-lamassu-admin/src/App.jsx +++ b/new-lamassu-admin/src/App.jsx @@ -1,9 +1,9 @@ -import { useQuery, gql } from "@apollo/client"; +import { useQuery, gql } from '@apollo/client' import CssBaseline from '@mui/material/CssBaseline' import Grid from '@mui/material/Grid' import Slide from '@mui/material/Slide' -import { StylesProvider, jssPreset, makeStyles } from '@mui/styles'; -import { ThemeProvider, StyledEngineProvider } from '@mui/material/styles'; +import { StylesProvider, jssPreset, makeStyles } from '@mui/styles' +import { ThemeProvider, StyledEngineProvider } from '@mui/material/styles' import { create } from 'jss' import extendJss from 'jss-plugin-extend' import React, { useContext, useState } from 'react' @@ -19,7 +19,6 @@ import { tree, hasSidebar, Routes, getParent } from 'src/routing/routes' import ApolloProvider from 'src/utils/apollo' import AppContext from 'src/AppContext' -import global from 'src/styling/global' import theme from 'src/styling/theme' import { backgroundColor, mainWidth } from 'src/styling/variables' @@ -31,7 +30,6 @@ const fill = '100%' const flexDirection = 'column' const useStyles = makeStyles({ - ...global, root: { backgroundColor, width: fill, @@ -159,7 +157,7 @@ const App = () => { - ); + ) } export default App diff --git a/new-lamassu-admin/src/components/NotificationCenter/NotificationCenter.styles.js b/new-lamassu-admin/src/components/NotificationCenter/NotificationCenter.styles.js index 91d1b720..28d588b5 100644 --- a/new-lamassu-admin/src/components/NotificationCenter/NotificationCenter.styles.js +++ b/new-lamassu-admin/src/components/NotificationCenter/NotificationCenter.styles.js @@ -93,7 +93,8 @@ const styles = { flexGrow: 1 }, unreadIcon: { - marginTop: 2, + marginTop: 5, + marginLeft: spacer, width: '12px', height: '12px', backgroundColor: secondaryColor, diff --git a/new-lamassu-admin/src/styling/global/fonts.js b/new-lamassu-admin/src/styling/global/fonts.js index 6bab4c53..20ae0b18 100644 --- a/new-lamassu-admin/src/styling/global/fonts.js +++ b/new-lamassu-admin/src/styling/global/fonts.js @@ -1,95 +1,82 @@ -export default { - // /*! - // * Web Fonts from Fontspring.com - // * - // * All OpenType features and all extended glyphs have been removed. - // * Fully installable fonts can be purchased at http://www.fontspring.com - // * - // * The fonts included in this stylesheet are subject to the End User License you purchased - // * from Fontspring. The fonts are protected under domestic and international trademark and - // * copyright law. You are prohibited from modifying, reverse engineering, duplicating, or - // * distributing this font software. - // * - // * (c) 2010-2018 Fontspring - // * - // * - // * - // * - // * The fonts included are copyrighted by the vendor listed below. - // * - // * Vendor: Fontfabric - // * License URL: https://www.fontspring.com/licenses/fontfabric/webfont - // * - // * - // */ +export default ` + /*! + * Web Fonts from Fontspring.com + * + * All OpenType features and all extended glyphs have been removed. + * Fully installable fonts can be purchased at http://www.fontspring.com + * + * The fonts included in this stylesheet are subject to the End User License you purchased + * from Fontspring. The fonts are protected under domestic and international trademark and + * copyright law. You are prohibited from modifying, reverse engineering, duplicating, or + * distributing this font software. + * + * (c) 2010-2018 Fontspring + * + * + * + * + * The fonts included are copyrighted by the vendor listed below. + * + * Vendor: Fontfabric + * License URL: https://www.fontspring.com/licenses/fontfabric/webfont + * + * + */ - '@font-face': [ - { - fontFamily: 'Mont', - src: [ - 'url("/fonts/MontHeavy/mont-heavy-webfont.woff2") format("woff2")', - 'url("/fonts/MontHeavy/mont-heavy-webfont.woff") format("woff")' - ], - fontWeight: 900, - fontStyle: 'normal' - }, - { - fontFamily: 'Mont', - src: [ - 'url("/fonts/MontHeavy/mont-bold-webfont.woff2") format("woff2")', - 'url("/fonts/MontHeavy/mont-bold-webfont.woff") format("woff")' - ], - fontWeight: 700, - fontStyle: 'normal' - }, - // /*! - // * Web Fonts from Fontspring.com - // * - // * All OpenType features and all extended glyphs have been removed. - // * Fully installable fonts can be purchased at http://www.fontspring.com - // * - // * The fonts included in this stylesheet are subject to the End User License you purchased - // * from Fontspring. The fonts are protected under domestic and international trademark and - // * copyright law. You are prohibited from modifying, reverse engineering, duplicating, or - // * distributing this font software. - // * - // * (c) 2010-2018 Fontspring - // * - // * - // * - // * - // * The fonts included are copyrighted by the vendor listed below. - // * - // * Vendor: exljbris Font Foundry - // * License URL: https://www.fontspring.com/licenses/exljbris/webfont - // * - // * - // */ - { - fontFamily: 'MuseoSans', - src: [ - 'url("/fonts/MuseoSans/MuseoSans_500-webfont.woff2") format("woff2")', - 'url("/fonts/MuseoSans/MuseoSans_500-webfont.woff") format("woff")' - ], - fontWeight: 500, - fontStyle: 'normal' - }, - { - fontFamily: 'MuseoSans', - src: [ - 'url("/fonts/MuseoSans/MuseoSans_700-webfont.woff2") format("woff2")', - 'url("/fonts/MuseoSans/MuseoSans_700-webfont.woff") format("woff")' - ], - fontWeight: 700, - fontStyle: 'normal' - }, + @font-face { + font-family: 'Mont'; + font-weight: 900; + font-style: normal; + src: url('/fonts/MontHeavy/mont-heavy-webfont.woff2') format('woff2'), url('/fonts/MontHeavy/mont-heavy-webfont.woff') format('woff'); + } + @font-face { + font-family: 'Mont'; + font-weight: 700; + font-style: normal; + src: url('/fonts/MontHeavy/mont-bold-webfont.woff2') format('woff2'), url('/fonts/MontHeavy/mont-bold-webfont.woff') format('woff'); + } + + /*! + * Web Fonts from Fontspring.com + * + * All OpenType features and all extended glyphs have been removed. + * Fully installable fonts can be purchased at http://www.fontspring.com + * + * The fonts included in this stylesheet are subject to the End User License you purchased + * from Fontspring. The fonts are protected under domestic and international trademark and + * copyright law. You are prohibited from modifying, reverse engineering, duplicating, or + * distributing this font software. + * + * (c) 2010-2018 Fontspring + * + * + * + * + * The fonts included are copyrighted by the vendor listed below. + * + * Vendor: exljbris Font Foundry + * License URL: https://www.fontspring.com/licenses/exljbris/webfont + * + * + */ + @font-face { + font-family: 'MuseoSans'; + font-weight: 500; + font-style: normal; + src: url("/fonts/MuseoSans/MuseoSans_500-webfont.woff2") format("woff2"), url("/fonts/MuseoSans/MuseoSans_500-webfont.woff") format("woff"); + }, + @font-face { + font-family: 'MuseoSans'; + font-weight: 700; + font-style: normal; + src: url("/fonts/MuseoSans/MuseoSans_700-webfont.woff2") format("woff2"), url("/fonts/MuseoSans/MuseoSans_700-webfont.woff") format("woff"); + }, - // // BP-mono Freely distributed at http://backpacker.gr/fonts/5 - { - fontFamily: 'BPmono', - src: 'url("/fonts/BPmono/BPmono.ttf") format("truetype")', - fontWeight: 500, - fontStyle: 'normal' - } - ] -} + /* BP-mono Freely distributed at http://backpacker.gr/fonts/5 */ + @font-face { + font-family: 'BPmono'; + font-weight: 500; + font-style: normal; + src: url("/fonts/BPmono/BPmono.ttf") format("truetype"), + } +` diff --git a/new-lamassu-admin/src/styling/global/index.js b/new-lamassu-admin/src/styling/global/index.js index ceebff20..ab5ebed7 100644 --- a/new-lamassu-admin/src/styling/global/index.js +++ b/new-lamassu-admin/src/styling/global/index.js @@ -1,72 +1,80 @@ import { mainWidth } from 'src/styling/variables' - import fonts from './fonts' const fill = '100%' -export default { - '@global': { - ...fonts, - '#root': { - width: fill, - minHeight: fill - }, - '.root-notifcenter-open': { - // for when notification center is open - overflowY: 'auto', - position: 'absolute', - top: 0, - bottom: 0, - left: 0 - }, - '.body-notifcenter-open': { - // for when notification center is open - overflow: 'hidden' - }, - '.root-blur': { - filter: 'blur(1px)', - pointerEvents: 'none' - }, - html: { - height: fill, - '@media screen and (max-height: 900px)': { - scrollbarGutter: 'stable' - } - }, - body: { - width: mainWidth, - display: 'flex', - minHeight: fill, - '@media screen and (min-width: 1200px)': { - width: 'auto' - } - }, - [`a::-moz-focus-inner, - 'input[type="submit"]::-moz-focus-inner, - input[type="button"]::-moz-focus-inner`]: { - border: 0 - }, - [`a::-moz-focus-inner, - input[type="submit"]::-moz-focus-inner, - input[type="button"]::-moz-focus-inner`]: { - border: 0 - }, - [`a, - a:visited, - a:focus, - a:active, - a:hover`]: { - outline: '0 none' - }, - 'button::-moz-focus-inner': { - border: 0 - }, - // forcing styling onto inner container - '.ReactVirtualized__Grid__innerScrollContainer': { - overflow: 'inherit !important' - }, - '.ReactVirtualized__Grid.ReactVirtualized__List': { - overflowY: 'overlay !important' +export default ` + ${fonts} + body { + font-size: 0.875rem; + width: ${mainWidth}px; + display: flex; + min-height: ${fill}; + @media screen and (min-width: 1200px) { + width: auto; } } -} + + html { + height: ${fill}; + @media screen and (max-height: 900px) { + scrollbar-gutter: stable; + } + } + + #root { + width: ${fill}; + minHeight: ${fill}; + } + + .root-notifcenter-open { + // for when notification center is open + overflow-y: 'auto'; + position: 'absolute'; + top: 0; + bottom: 0; + left: 0; + } + + .body-notifcenter-open { + // for when notification center is open + overflow: hidden; + } + + .root-blur { + filter: blur(1px); + pointer-events: none; + } + + a::-moz-focus-inner, + input[type="submit"]::-moz-focus-inner, + input[type="button"]::-moz-focus-inner { + border: 0; + } + + a::-moz-focus-inner, + input[type="submit"]::-moz-focus-inner, + input[type="button"]::-moz-focus-inner { + border: 0; + } + + a, + a:visited, + a:focus, + a:active, + a:hover { + outline: 0 none; + } + + button::-moz-focus-inner { + border: 0; + } + + // forcing styling onto inner container + .ReactVirtualized__Grid__innerScrollContainer { + overflow: inherit !important; + }, + .ReactVirtualized__Grid.ReactVirtualized__List { + overflow-y: overlay !important; + } +` diff --git a/new-lamassu-admin/src/styling/theme.js b/new-lamassu-admin/src/styling/theme.js index 1230c550..10d4de28 100644 --- a/new-lamassu-admin/src/styling/theme.js +++ b/new-lamassu-admin/src/styling/theme.js @@ -1,4 +1,5 @@ -import { createTheme } from '@mui/material/styles'; +import { createTheme } from '@mui/material/styles' +import global from './global' import typographyStyles from 'src/components/typography/styles' @@ -23,7 +24,7 @@ const { p } = typographyStyles let theme = createTheme({ typography: { - fontFamily: inputFontFamily, + fontFamily: inputFontFamily }, palette: { primary: { @@ -39,15 +40,18 @@ let theme = createTheme({ background: { default: backgroundColor } - }, + } }) theme = createTheme(theme, { components: { + MuiCssBaseline: { + styleOverrides: global + }, MuiTypography: { styleOverrides: { root: { ...p }, - body1: { ...p }, + body1: { ...p } } }, MuiButtonBase: { @@ -131,7 +135,7 @@ theme = createTheme(theme, { }, '&[aria-selected="true"]': { backgroundColor: `${subheaderColor} !important` - }, + } }, paper: { color: fontColor, @@ -234,7 +238,7 @@ theme = createTheme(theme, { vertical: { borderRadius: 8, border: 'none', - borderColor: zircon, + borderColor: zircon }, firstButton: { borderTop: '1px solid', @@ -259,10 +263,10 @@ theme = createTheme(theme, { borderTopLeftRadius: 8, borderBottomRightRadius: 8, borderBottomLeftRadius: 8 - }, + } } } } }) -export default theme \ No newline at end of file +export default theme From 6f10977fd007797bfc393452b2420e525dfef6fe Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Thu, 24 Apr 2025 11:14:01 +0100 Subject: [PATCH 37/85] partial: tailwind and first component migration --- new-lamassu-admin/package-lock.json | 982 ++++++++++++++++++ new-lamassu-admin/package.json | 2 + new-lamassu-admin/src/App.jsx | 126 +-- new-lamassu-admin/src/Main.jsx | 83 ++ .../BooleanPropertiesTable.jsx | 43 +- .../BooleanPropertiesTable.styles.js | 74 -- .../src/styling/global/fonts.css | 82 ++ new-lamassu-admin/src/styling/global/fonts.js | 82 -- .../src/styling/global/global.css | 97 ++ new-lamassu-admin/src/styling/global/index.js | 80 -- new-lamassu-admin/src/styling/theme.js | 4 - new-lamassu-admin/vite.config.js | 3 +- 12 files changed, 1269 insertions(+), 389 deletions(-) create mode 100644 new-lamassu-admin/src/Main.jsx delete mode 100644 new-lamassu-admin/src/components/booleanPropertiesTable/BooleanPropertiesTable.styles.js create mode 100644 new-lamassu-admin/src/styling/global/fonts.css delete mode 100644 new-lamassu-admin/src/styling/global/fonts.js create mode 100644 new-lamassu-admin/src/styling/global/global.css delete mode 100644 new-lamassu-admin/src/styling/global/index.js diff --git a/new-lamassu-admin/package-lock.json b/new-lamassu-admin/package-lock.json index 50900327..28868ab9 100644 --- a/new-lamassu-admin/package-lock.json +++ b/new-lamassu-admin/package-lock.json @@ -49,6 +49,7 @@ }, "devDependencies": { "@eslint/js": "^9.16.0", + "@tailwindcss/vite": "^4.1.4", "@vitejs/plugin-react-swc": "^3.7.2", "esbuild-plugin-react-virtualized": "^1.0.4", "eslint": "^9.16.0", @@ -58,6 +59,7 @@ "globals": "^15.13.0", "lint-staged": "^15.2.10", "prettier": "3.4.1", + "tailwindcss": "^4.1.4", "vite": "^6.0.1", "vite-plugin-svgr": "^4.3.0" } @@ -1743,6 +1745,339 @@ "integrity": "sha512-Oe56aUPnkHyyDxxkvqtd7KkdQP5uIUfHxd5XTb3wE9d/kRnZLmKbDB0GWk919tdQ+mxxPtG6EAs6RMT6i1qtHg==", "license": "MIT" }, + "node_modules/@parcel/watcher": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", + "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.1", + "@parcel/watcher-darwin-arm64": "2.5.1", + "@parcel/watcher-darwin-x64": "2.5.1", + "@parcel/watcher-freebsd-x64": "2.5.1", + "@parcel/watcher-linux-arm-glibc": "2.5.1", + "@parcel/watcher-linux-arm-musl": "2.5.1", + "@parcel/watcher-linux-arm64-glibc": "2.5.1", + "@parcel/watcher-linux-arm64-musl": "2.5.1", + "@parcel/watcher-linux-x64-glibc": "2.5.1", + "@parcel/watcher-linux-x64-musl": "2.5.1", + "@parcel/watcher-win32-arm64": "2.5.1", + "@parcel/watcher-win32-ia32": "2.5.1", + "@parcel/watcher-win32-x64": "2.5.1" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz", + "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz", + "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz", + "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz", + "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz", + "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz", + "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz", + "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz", + "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz", + "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz", + "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz", + "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz", + "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz", + "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher/node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, "node_modules/@popperjs/core": { "version": "2.11.8", "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", @@ -2526,6 +2861,275 @@ "@swc/counter": "^0.1.3" } }, + "node_modules/@tailwindcss/node": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.4.tgz", + "integrity": "sha512-MT5118zaiO6x6hNA04OWInuAiP1YISXql8Z+/Y8iisV5nuhM8VXlyhRuqc2PEviPszcXI66W44bCIk500Oolhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "enhanced-resolve": "^5.18.1", + "jiti": "^2.4.2", + "lightningcss": "1.29.2", + "tailwindcss": "4.1.4" + } + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.4.tgz", + "integrity": "sha512-p5wOpXyOJx7mKh5MXh5oKk+kqcz8T+bA3z/5VWWeQwFrmuBItGwz8Y2CHk/sJ+dNb9B0nYFfn0rj/cKHZyjahQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.1.4", + "@tailwindcss/oxide-darwin-arm64": "4.1.4", + "@tailwindcss/oxide-darwin-x64": "4.1.4", + "@tailwindcss/oxide-freebsd-x64": "4.1.4", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.4", + "@tailwindcss/oxide-linux-arm64-gnu": "4.1.4", + "@tailwindcss/oxide-linux-arm64-musl": "4.1.4", + "@tailwindcss/oxide-linux-x64-gnu": "4.1.4", + "@tailwindcss/oxide-linux-x64-musl": "4.1.4", + "@tailwindcss/oxide-wasm32-wasi": "4.1.4", + "@tailwindcss/oxide-win32-arm64-msvc": "4.1.4", + "@tailwindcss/oxide-win32-x64-msvc": "4.1.4" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.4.tgz", + "integrity": "sha512-xMMAe/SaCN/vHfQYui3fqaBDEXMu22BVwQ33veLc8ep+DNy7CWN52L+TTG9y1K397w9nkzv+Mw+mZWISiqhmlA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.4.tgz", + "integrity": "sha512-JGRj0SYFuDuAGilWFBlshcexev2hOKfNkoX+0QTksKYq2zgF9VY/vVMq9m8IObYnLna0Xlg+ytCi2FN2rOL0Sg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.4.tgz", + "integrity": "sha512-sdDeLNvs3cYeWsEJ4H1DvjOzaGios4QbBTNLVLVs0XQ0V95bffT3+scptzYGPMjm7xv4+qMhCDrkHwhnUySEzA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.4.tgz", + "integrity": "sha512-VHxAqxqdghM83HslPhRsNhHo91McsxRJaEnShJOMu8mHmEj9Ig7ToHJtDukkuLWLzLboh2XSjq/0zO6wgvykNA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.4.tgz", + "integrity": "sha512-OTU/m/eV4gQKxy9r5acuesqaymyeSCnsx1cFto/I1WhPmi5HDxX1nkzb8KYBiwkHIGg7CTfo/AcGzoXAJBxLfg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.4.tgz", + "integrity": "sha512-hKlLNvbmUC6z5g/J4H+Zx7f7w15whSVImokLPmP6ff1QqTVE+TxUM9PGuNsjHvkvlHUtGTdDnOvGNSEUiXI1Ww==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.4.tgz", + "integrity": "sha512-X3As2xhtgPTY/m5edUtddmZ8rCruvBvtxYLMw9OsZdH01L2gS2icsHRwxdU0dMItNfVmrBezueXZCHxVeeb7Aw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.4.tgz", + "integrity": "sha512-2VG4DqhGaDSmYIu6C4ua2vSLXnJsb/C9liej7TuSO04NK+JJJgJucDUgmX6sn7Gw3Cs5ZJ9ZLrnI0QRDOjLfNQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.4.tgz", + "integrity": "sha512-v+mxVgH2kmur/X5Mdrz9m7TsoVjbdYQT0b4Z+dr+I4RvreCNXyCFELZL/DO0M1RsidZTrm6O1eMnV6zlgEzTMQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.4.tgz", + "integrity": "sha512-2TLe9ir+9esCf6Wm+lLWTMbgklIjiF0pbmDnwmhR9MksVOq+e8aP3TSsXySnBDDvTTVd/vKu1aNttEGj3P6l8Q==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.4.0", + "@emnapi/runtime": "^1.4.0", + "@emnapi/wasi-threads": "^1.0.1", + "@napi-rs/wasm-runtime": "^0.2.8", + "@tybys/wasm-util": "^0.9.0", + "tslib": "^2.8.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.4.tgz", + "integrity": "sha512-VlnhfilPlO0ltxW9/BgfLI5547PYzqBMPIzRrk4W7uupgCt8z6Trw/tAj6QUtF2om+1MH281Pg+HHUJoLesmng==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.4.tgz", + "integrity": "sha512-+7S63t5zhYjslUGb8NcgLpFXD+Kq1F/zt5Xv5qTv7HaFTG/DHyHD9GA6ieNAxhgyA4IcKa/zy7Xx4Oad2/wuhw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/vite": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.4.tgz", + "integrity": "sha512-4UQeMrONbvrsXKXXp/uxmdEN5JIJ9RkH7YVzs6AMxC/KC1+Np7WZBaNIco7TEjlkthqxZbt8pU/ipD+hKjm80A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tailwindcss/node": "4.1.4", + "@tailwindcss/oxide": "4.1.4", + "tailwindcss": "4.1.4" + }, + "peerDependencies": { + "vite": "^5.2.0 || ^6" + } + }, "node_modules/@types/estree": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", @@ -3439,6 +4043,24 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/cipher-base": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.6.tgz", @@ -4131,6 +4753,21 @@ "integrity": "sha512-WNPWi1IRKZfCt/qIDMfERkDp93+iZEmOxN2yy4Jg+Xhv8SLk2UTqqbe1sfiipn0and9QrE914/ihdx82Y/Giag==", "license": "ISC" }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "peer": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, "node_modules/doctrine": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", @@ -4290,6 +4927,20 @@ "dev": true, "license": "MIT" }, + "node_modules/enhanced-resolve": { + "version": "5.18.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz", + "integrity": "sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/entities": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", @@ -5263,6 +5914,13 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, "node_modules/graphql": { "version": "16.10.0", "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.10.0.tgz", @@ -5558,6 +6216,15 @@ "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==", "license": "MIT" }, + "node_modules/immutable": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.1.tgz", + "integrity": "sha512-3jatXi9ObIsPGr3N5hGw/vWWcTkq6hUYhpQz4k0wLC+owqWi/LiugIw9x0EdNZ2yGedKN/HzePiBvaJRXa0Ujg==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, "node_modules/import-fresh": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", @@ -6081,6 +6748,16 @@ "node": ">= 0.4" } }, + "node_modules/jiti": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz", + "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, "node_modules/js-sha256": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/js-sha256/-/js-sha256-0.9.0.tgz", @@ -6384,6 +7061,255 @@ "immediate": "~3.0.5" } }, + "node_modules/lightningcss": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.29.2.tgz", + "integrity": "sha512-6b6gd/RUXKaw5keVdSEtqFVdzWnU5jMxTUjA2bVcMNPLwSQ08Sv/UodBVtETLCn7k4S1Ibxwh7k68IwLZPgKaA==", + "dev": true, + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-darwin-arm64": "1.29.2", + "lightningcss-darwin-x64": "1.29.2", + "lightningcss-freebsd-x64": "1.29.2", + "lightningcss-linux-arm-gnueabihf": "1.29.2", + "lightningcss-linux-arm64-gnu": "1.29.2", + "lightningcss-linux-arm64-musl": "1.29.2", + "lightningcss-linux-x64-gnu": "1.29.2", + "lightningcss-linux-x64-musl": "1.29.2", + "lightningcss-win32-arm64-msvc": "1.29.2", + "lightningcss-win32-x64-msvc": "1.29.2" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.29.2.tgz", + "integrity": "sha512-cK/eMabSViKn/PG8U/a7aCorpeKLMlK0bQeNHmdb7qUnBkNPnL+oV5DjJUo0kqWsJUapZsM4jCfYItbqBDvlcA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.29.2.tgz", + "integrity": "sha512-j5qYxamyQw4kDXX5hnnCKMf3mLlHvG44f24Qyi2965/Ycz829MYqjrVg2H8BidybHBp9kom4D7DR5VqCKDXS0w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.29.2.tgz", + "integrity": "sha512-wDk7M2tM78Ii8ek9YjnY8MjV5f5JN2qNVO+/0BAGZRvXKtQrBC4/cn4ssQIpKIPP44YXw6gFdpUF+Ps+RGsCwg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.29.2.tgz", + "integrity": "sha512-IRUrOrAF2Z+KExdExe3Rz7NSTuuJ2HvCGlMKoquK5pjvo2JY4Rybr+NrKnq0U0hZnx5AnGsuFHjGnNT14w26sg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.29.2.tgz", + "integrity": "sha512-KKCpOlmhdjvUTX/mBuaKemp0oeDIBBLFiU5Fnqxh1/DZ4JPZi4evEH7TKoSBFOSOV3J7iEmmBaw/8dpiUvRKlQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.29.2.tgz", + "integrity": "sha512-Q64eM1bPlOOUgxFmoPUefqzY1yV3ctFPE6d/Vt7WzLW4rKTv7MyYNky+FWxRpLkNASTnKQUaiMJ87zNODIrrKQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.29.2.tgz", + "integrity": "sha512-0v6idDCPG6epLXtBH/RPkHvYx74CVziHo6TMYga8O2EiQApnUPZsbR9nFNrg2cgBzk1AYqEd95TlrsL7nYABQg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.29.2.tgz", + "integrity": "sha512-rMpz2yawkgGT8RULc5S4WiZopVMOFWjiItBT7aSfDX4NQav6M44rhn5hjtkKzB+wMTRlLLqxkeYEtQ3dd9696w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.29.2.tgz", + "integrity": "sha512-nL7zRW6evGQqYVu/bKGK+zShyz8OVzsCotFgc7judbt6wnB2KbiKKJwBE4SGoDBQ1O94RjW4asrCjQL4i8Fhbw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.29.2.tgz", + "integrity": "sha512-EdIUW3B2vLuHmv7urfzMI/h2fmlnOQBk1xlsDxkN1tCWKjNFjfLhGxYk8C8mzpSfr+A6jFFIi8fU6LbQGsRWjA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss/node_modules/detect-libc": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", + "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, "node_modules/lilconfig": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", @@ -7564,6 +8490,22 @@ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "license": "MIT" }, + "node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/reflect.getprototypeof": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", @@ -7862,6 +8804,29 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "license": "MIT" }, + "node_modules/sass": { + "version": "1.87.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.87.0.tgz", + "integrity": "sha512-d0NoFH4v6SjEK7BoX810Jsrhj7IQSYHAHLi/iSpgqKc7LaIDshFRlSg5LOymf9FqQhxEHs2W5ZQXlvy0KD45Uw==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "chokidar": "^4.0.0", + "immutable": "^5.0.2", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" + } + }, "node_modules/scheduler": { "version": "0.18.0", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.18.0.tgz", @@ -8362,6 +9327,23 @@ "node": ">=0.10" } }, + "node_modules/tailwindcss": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.4.tgz", + "integrity": "sha512-1ZIUqtPITFbv/DxRmDr5/agPqJwF69d24m9qmM1939TJehgY539CtzeZRjbLt5G6fSy/7YqqYsfvoTEw9xUI2A==", + "dev": true, + "license": "MIT" + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/tiny-case": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/tiny-case/-/tiny-case-1.0.3.tgz", diff --git a/new-lamassu-admin/package.json b/new-lamassu-admin/package.json index 1526575e..316c7efd 100644 --- a/new-lamassu-admin/package.json +++ b/new-lamassu-admin/package.json @@ -44,6 +44,7 @@ }, "devDependencies": { "@eslint/js": "^9.16.0", + "@tailwindcss/vite": "^4.1.4", "@vitejs/plugin-react-swc": "^3.7.2", "esbuild-plugin-react-virtualized": "^1.0.4", "eslint": "^9.16.0", @@ -53,6 +54,7 @@ "globals": "^15.13.0", "lint-staged": "^15.2.10", "prettier": "3.4.1", + "tailwindcss": "^4.1.4", "vite": "^6.0.1", "vite-plugin-svgr": "^4.3.0" }, diff --git a/new-lamassu-admin/src/App.jsx b/new-lamassu-admin/src/App.jsx index 4b8c92b3..3241615b 100644 --- a/new-lamassu-admin/src/App.jsx +++ b/new-lamassu-admin/src/App.jsx @@ -1,136 +1,22 @@ -import { useQuery, gql } from '@apollo/client' import CssBaseline from '@mui/material/CssBaseline' -import Grid from '@mui/material/Grid' -import Slide from '@mui/material/Slide' -import { StylesProvider, jssPreset, makeStyles } from '@mui/styles' +import { StylesProvider, jssPreset } from '@mui/styles' import { ThemeProvider, StyledEngineProvider } from '@mui/material/styles' import { create } from 'jss' import extendJss from 'jss-plugin-extend' -import React, { useContext, useState } from 'react' -import { - useLocation, - useHistory, - BrowserRouter as Router -} from 'react-router-dom' -import Header from 'src/components/layout/Header' -import Sidebar from 'src/components/layout/Sidebar' -import TitleSection from 'src/components/layout/TitleSection' -import { tree, hasSidebar, Routes, getParent } from 'src/routing/routes' +import React, { useState } from 'react' +import { BrowserRouter as Router } from 'react-router-dom' import ApolloProvider from 'src/utils/apollo' import AppContext from 'src/AppContext' import theme from 'src/styling/theme' -import { backgroundColor, mainWidth } from 'src/styling/variables' + +import Main from './Main' +import './styling/global/global.css' const jss = create({ plugins: [extendJss(), ...jssPreset().plugins] }) -const fill = '100%' -const flexDirection = 'column' - -const useStyles = makeStyles({ - root: { - backgroundColor, - width: fill, - minHeight: fill, - display: 'flex', - flexDirection - }, - wrapper: { - width: mainWidth, - height: fill, - margin: '0 auto', - flex: 1, - display: 'flex', - flexDirection - }, - grid: { - flex: 1, - height: '100%' - }, - contentWithSidebar: { - flex: 1, - marginLeft: 48, - paddingTop: 15 - }, - contentWithoutSidebar: { - width: mainWidth - } -}) - -const GET_USER_DATA = gql` - query userData { - userData { - id - username - role - enabled - last_accessed - last_accessed_from - last_accessed_address - } - } -` - -const Main = () => { - const classes = useStyles() - const location = useLocation() - const history = useHistory() - const { wizardTested, userData, setUserData } = useContext(AppContext) - - const { loading } = useQuery(GET_USER_DATA, { - onCompleted: userResponse => { - if (!userData && userResponse?.userData) - setUserData(userResponse.userData) - } - }) - - const route = location.pathname - - const sidebar = hasSidebar(route) - const parent = sidebar ? getParent(route) : {} - - const is404 = location.pathname === '/404' - - const isSelected = it => location.pathname === it.route - - const onClick = it => history.push(it.route) - - const contentClassName = sidebar - ? classes.contentWithSidebar - : classes.contentWithoutSidebar - - return ( -
    - {!is404 && wizardTested && userData && ( -
    - )} -
    - {sidebar && !is404 && wizardTested && ( - -
    - -
    -
    - )} - - - {sidebar && !is404 && wizardTested && ( - it.label} - onClick={onClick} - /> - )} -
    {!loading && }
    -
    -
    -
    - ) -} - const App = () => { const [wizardTested, setWizardTested] = useState(false) const [userData, setUserData] = useState(null) diff --git a/new-lamassu-admin/src/Main.jsx b/new-lamassu-admin/src/Main.jsx new file mode 100644 index 00000000..ac31806f --- /dev/null +++ b/new-lamassu-admin/src/Main.jsx @@ -0,0 +1,83 @@ +import { useHistory, useLocation } from 'react-router-dom' +import React, { useContext } from 'react' +import { gql, useQuery } from '@apollo/client' +import Slide from '@mui/material/Slide' +import Grid from '@mui/material/Grid' + +import Header from './components/layout/Header.jsx' +import Sidebar from './components/layout/Sidebar.jsx' +import TitleSection from './components/layout/TitleSection.jsx' +import { getParent, hasSidebar, Routes, tree } from './routing/routes.jsx' + +import AppContext from './AppContext.js' + +const GET_USER_DATA = gql` + query userData { + userData { + id + username + role + enabled + last_accessed + last_accessed_from + last_accessed_address + } + } +` + +const Main = () => { + const location = useLocation() + const history = useHistory() + const { wizardTested, userData, setUserData } = useContext(AppContext) + + const { loading } = useQuery(GET_USER_DATA, { + onCompleted: userResponse => { + if (!userData && userResponse?.userData) + setUserData(userResponse.userData) + } + }) + + const route = location.pathname + + const sidebar = hasSidebar(route) + const parent = sidebar ? getParent(route) : {} + + const is404 = location.pathname === '/404' + + const isSelected = it => location.pathname === it.route + + const onClick = it => history.push(it.route) + + const contentClassName = sidebar ? 'flex-1 ml-12 pt-4' : 'w-[1200px]' + + return ( +
    + {!is404 && wizardTested && userData && ( +
    + )} +
    + {sidebar && !is404 && wizardTested && ( + +
    + +
    +
    + )} + + + {sidebar && !is404 && wizardTested && ( + it.label} + onClick={onClick} + /> + )} +
    {!loading && }
    +
    +
    +
    + ) +} + +export default Main diff --git a/new-lamassu-admin/src/components/booleanPropertiesTable/BooleanPropertiesTable.jsx b/new-lamassu-admin/src/components/booleanPropertiesTable/BooleanPropertiesTable.jsx index 361adeb2..e71ddcf6 100644 --- a/new-lamassu-admin/src/components/booleanPropertiesTable/BooleanPropertiesTable.jsx +++ b/new-lamassu-admin/src/components/booleanPropertiesTable/BooleanPropertiesTable.jsx @@ -1,5 +1,3 @@ -import { makeStyles } from '@mui/styles' -import classnames from 'classnames' import { useFormikContext, Form, Formik, Field as FormikField } from 'formik' import * as R from 'ramda' import React, { useState, memo } from 'react' @@ -15,10 +13,6 @@ import { Link, IconButton } from 'src/components/buttons' import { RadioGroup } from 'src/components/inputs/formik' import { Table, TableBody, TableRow, TableCell } from 'src/components/table' -import { booleanPropertiesTableStyles } from './BooleanPropertiesTable.styles' - -const useStyles = makeStyles(booleanPropertiesTableStyles) - const BooleanCell = ({ name }) => { const { values } = useFormikContext() return values[name] === 'true' ? : @@ -26,6 +20,8 @@ const BooleanCell = ({ name }) => { const BooleanPropertiesTable = memo( ({ title, disabled, data, elements, save, forcedEditing = false }) => { + const [editing, setEditing] = useState(forcedEditing) + const initialValues = R.fromPairs( elements.map(it => [it.name, data[it.name]?.toString() ?? 'false']) ) @@ -39,10 +35,6 @@ const BooleanPropertiesTable = memo( ) ) - const [editing, setEditing] = useState(forcedEditing) - - const classes = useStyles() - const innerSave = async values => { const toBoolean = (num, _) => R.equals(num, 'true') save(R.mapObjIndexed(toBoolean, R.filter(R.complement(R.isNil))(values))) @@ -54,7 +46,7 @@ const BooleanPropertiesTable = memo( { display: 'No', code: 'false' } ] return ( -
    +
    { return (
    -
    +

    {title}

    {editing ? ( -
    +
    Save { resetForm() setEditing(false) @@ -85,7 +77,7 @@ const BooleanPropertiesTable = memo(
    ) : ( setEditing(true)} size="large"> {disabled ? : } @@ -93,26 +85,21 @@ const BooleanPropertiesTable = memo( )}
    - - +
    + {elements.map((it, idx) => ( - - {it.display} - - + className="h-auto py-2 px-4 flex items-center justify-between min-h-8 even:bg-transparent odd:bg-zircon"> + {it.display} + {editing && ( )} {!editing && } @@ -122,11 +109,11 @@ const BooleanPropertiesTable = memo(
    - ); + ) }}
    - ); + ) } ) diff --git a/new-lamassu-admin/src/components/booleanPropertiesTable/BooleanPropertiesTable.styles.js b/new-lamassu-admin/src/components/booleanPropertiesTable/BooleanPropertiesTable.styles.js deleted file mode 100644 index f6a5c1b9..00000000 --- a/new-lamassu-admin/src/components/booleanPropertiesTable/BooleanPropertiesTable.styles.js +++ /dev/null @@ -1,74 +0,0 @@ -import baseStyles from 'src/pages/Logs.styles' -import { backgroundColor, zircon } from 'src/styling/variables' - -const { fillColumn } = baseStyles - -const booleanPropertiesTableStyles = { - booleanPropertiesTableWrapper: { - display: 'flex', - flexDirection: 'column', - width: 396 - }, - tableRow: { - display: 'flex', - alignItems: 'center', - justifyContent: 'space-between', - '&:nth-child(even)': { - backgroundColor: backgroundColor - }, - '&:nth-child(odd)': { - backgroundColor: zircon - }, - minHeight: 32, - height: 'auto', - padding: [[8, 16, 8, 24]], - boxShadow: '0 0 0 0 rgba(0, 0, 0, 0)' - }, - leftTableCell: { - display: 'flex', - alignItems: 'center', - justifyContent: 'left', - width: 200, - padding: [0] - }, - rightTableCell: { - display: 'flex', - alignItems: 'center', - justifyContent: 'right', - padding: [0] - }, - transparentButton: { - '& > *': { - margin: 'auto 12px' - }, - '& button': { - border: 'none', - backgroundColor: 'transparent', - cursor: 'pointer' - } - }, - rowWrapper: { - display: 'flex', - alignItems: 'center', - position: 'relative', - flex: 'wrap' - }, - rightAligned: { - marginLeft: 'auto' - }, - radioButtons: { - display: 'flex', - flexDirection: 'row', - margin: [-15] - }, - rightLink: { - marginLeft: '20px' - }, - fillColumn, - popoverContent: { - width: 272, - padding: [[10, 15]] - } -} - -export { booleanPropertiesTableStyles } diff --git a/new-lamassu-admin/src/styling/global/fonts.css b/new-lamassu-admin/src/styling/global/fonts.css new file mode 100644 index 00000000..e5623b10 --- /dev/null +++ b/new-lamassu-admin/src/styling/global/fonts.css @@ -0,0 +1,82 @@ +/*! +* Web Fonts from Fontspring.com +* +* All OpenType features and all extended glyphs have been removed. +* Fully installable fonts can be purchased at http://www.fontspring.com +* +* The fonts included in this stylesheet are subject to the End User License you purchased +* from Fontspring. The fonts are protected under domestic and international trademark and +* copyright law. You are prohibited from modifying, reverse engineering, duplicating, or +* distributing this font software. +* +* (c) 2010-2018 Fontspring +* +* +* +* +* The fonts included are copyrighted by the vendor listed below. +* +* Vendor: Fontfabric +* License URL: https://www.fontspring.com/licenses/fontfabric/webfont +* +* +*/ + +@font-face { + font-family: 'Mont'; + font-weight: 900; + font-style: normal; + src: url('/fonts/MontHeavy/mont-heavy-webfont.woff2') format('woff2'), url('/fonts/MontHeavy/mont-heavy-webfont.woff') format('woff'); +} + +@font-face { + font-family: 'Mont'; + font-weight: 700; + font-style: normal; + src: url('/fonts/MontHeavy/mont-bold-webfont.woff2') format('woff2'), url('/fonts/MontHeavy/mont-bold-webfont.woff') format('woff'); +} + +/*! +* Web Fonts from Fontspring.com +* +* All OpenType features and all extended glyphs have been removed. +* Fully installable fonts can be purchased at http://www.fontspring.com +* +* The fonts included in this stylesheet are subject to the End User License you purchased +* from Fontspring. The fonts are protected under domestic and international trademark and +* copyright law. You are prohibited from modifying, reverse engineering, duplicating, or +* distributing this font software. +* +* (c) 2010-2018 Fontspring +* +* +* +* +* The fonts included are copyrighted by the vendor listed below. +* +* Vendor: exljbris Font Foundry +* License URL: https://www.fontspring.com/licenses/exljbris/webfont +* +* +*/ +@font-face { + font-family: 'MuseoSans'; + font-weight: 500; + font-style: normal; + src: url("/fonts/MuseoSans/MuseoSans_500-webfont.woff2") format("woff2"), url("/fonts/MuseoSans/MuseoSans_500-webfont.woff") format("woff"); +} + +@font-face { + font-family: 'MuseoSans'; + font-weight: 700; + font-style: normal; + src: url("/fonts/MuseoSans/MuseoSans_700-webfont.woff2") format("woff2"), url("/fonts/MuseoSans/MuseoSans_700-webfont.woff") format("woff"); +} + +/* BP-mono Freely distributed at http://backpacker.gr/fonts/5 */ +@font-face { + font-family: 'BPmono'; + font-weight: 500; + font-style: normal; + src: url("/fonts/BPmono/BPmono.ttf") format("truetype"), +} \ No newline at end of file diff --git a/new-lamassu-admin/src/styling/global/fonts.js b/new-lamassu-admin/src/styling/global/fonts.js deleted file mode 100644 index 20ae0b18..00000000 --- a/new-lamassu-admin/src/styling/global/fonts.js +++ /dev/null @@ -1,82 +0,0 @@ -export default ` - /*! - * Web Fonts from Fontspring.com - * - * All OpenType features and all extended glyphs have been removed. - * Fully installable fonts can be purchased at http://www.fontspring.com - * - * The fonts included in this stylesheet are subject to the End User License you purchased - * from Fontspring. The fonts are protected under domestic and international trademark and - * copyright law. You are prohibited from modifying, reverse engineering, duplicating, or - * distributing this font software. - * - * (c) 2010-2018 Fontspring - * - * - * - * - * The fonts included are copyrighted by the vendor listed below. - * - * Vendor: Fontfabric - * License URL: https://www.fontspring.com/licenses/fontfabric/webfont - * - * - */ - - @font-face { - font-family: 'Mont'; - font-weight: 900; - font-style: normal; - src: url('/fonts/MontHeavy/mont-heavy-webfont.woff2') format('woff2'), url('/fonts/MontHeavy/mont-heavy-webfont.woff') format('woff'); - } - @font-face { - font-family: 'Mont'; - font-weight: 700; - font-style: normal; - src: url('/fonts/MontHeavy/mont-bold-webfont.woff2') format('woff2'), url('/fonts/MontHeavy/mont-bold-webfont.woff') format('woff'); - } - - /*! - * Web Fonts from Fontspring.com - * - * All OpenType features and all extended glyphs have been removed. - * Fully installable fonts can be purchased at http://www.fontspring.com - * - * The fonts included in this stylesheet are subject to the End User License you purchased - * from Fontspring. The fonts are protected under domestic and international trademark and - * copyright law. You are prohibited from modifying, reverse engineering, duplicating, or - * distributing this font software. - * - * (c) 2010-2018 Fontspring - * - * - * - * - * The fonts included are copyrighted by the vendor listed below. - * - * Vendor: exljbris Font Foundry - * License URL: https://www.fontspring.com/licenses/exljbris/webfont - * - * - */ - @font-face { - font-family: 'MuseoSans'; - font-weight: 500; - font-style: normal; - src: url("/fonts/MuseoSans/MuseoSans_500-webfont.woff2") format("woff2"), url("/fonts/MuseoSans/MuseoSans_500-webfont.woff") format("woff"); - }, - @font-face { - font-family: 'MuseoSans'; - font-weight: 700; - font-style: normal; - src: url("/fonts/MuseoSans/MuseoSans_700-webfont.woff2") format("woff2"), url("/fonts/MuseoSans/MuseoSans_700-webfont.woff") format("woff"); - }, - - /* BP-mono Freely distributed at http://backpacker.gr/fonts/5 */ - @font-face { - font-family: 'BPmono'; - font-weight: 500; - font-style: normal; - src: url("/fonts/BPmono/BPmono.ttf") format("truetype"), - } -` diff --git a/new-lamassu-admin/src/styling/global/global.css b/new-lamassu-admin/src/styling/global/global.css new file mode 100644 index 00000000..65504a87 --- /dev/null +++ b/new-lamassu-admin/src/styling/global/global.css @@ -0,0 +1,97 @@ +@import "./fonts.css"; + +/*@tailwind setup with no preflighrt*/ +/* TODO remove important after mui v6 migration*/ +@layer theme, base, components, utilities; +@import "tailwindcss/theme.css" layer(theme); +@import "tailwindcss/utilities.css" layer(utilities) important; + +:root { + --zodiac: #1b2559; + --spring: #48f694; + + --ghost: #fafbff; + --zircon: #ebefff; +} + +@theme { + --color-zodiac: var(--zodiac); + --color-spring: var(--spring); + --color-ghost: var(--ghost); + --color-zircon: var(--zircon); +} + +body { + font-size: 0.875rem; + width: 1200px; + color: var(--zodiac); + display: flex; + min-height: 100%; + @media screen and (min-width: 1200px) { + width: auto; + } +} + +html { + height: 100%; + @media screen and (max-height: 900px) { + scrollbar-gutter: stable; + } +} + +#root { + width: 100%; + min-height: 100%; +} + +.root-notifcenter-open { + /*for when notification center is open*/ + overflow-y: auto; + position: absolute; + top: 0; + bottom: 0; + left: 0; +} + +.body-notifcenter-open { + /*for when notification center is open*/ + overflow: hidden; +} + +.root-blur { + filter: blur(1px); + pointer-events: none; +} + +a::-moz-focus-inner, +input[type="submit"]::-moz-focus-inner, +input[type="button"]::-moz-focus-inner { + border: 0; +} + +a::-moz-focus-inner, +input[type="submit"]::-moz-focus-inner, +input[type="button"]::-moz-focus-inner { + border: 0; +} + +a, +a:visited, +a:focus, +a:active, +a:hover { + outline: 0 none; +} + +button::-moz-focus-inner { + border: 0; +} + +/*forcing styling onto inner container*/ +.ReactVirtualized__Grid__innerScrollContainer { + overflow: inherit !important; +} + +.ReactVirtualized__Grid.ReactVirtualized__List { + overflow-y: auto !important; +} diff --git a/new-lamassu-admin/src/styling/global/index.js b/new-lamassu-admin/src/styling/global/index.js deleted file mode 100644 index ab5ebed7..00000000 --- a/new-lamassu-admin/src/styling/global/index.js +++ /dev/null @@ -1,80 +0,0 @@ -import { mainWidth } from 'src/styling/variables' -import fonts from './fonts' - -const fill = '100%' - -export default ` - ${fonts} - body { - font-size: 0.875rem; - width: ${mainWidth}px; - display: flex; - min-height: ${fill}; - @media screen and (min-width: 1200px) { - width: auto; - } - } - - html { - height: ${fill}; - @media screen and (max-height: 900px) { - scrollbar-gutter: stable; - } - } - - #root { - width: ${fill}; - minHeight: ${fill}; - } - - .root-notifcenter-open { - // for when notification center is open - overflow-y: 'auto'; - position: 'absolute'; - top: 0; - bottom: 0; - left: 0; - } - - .body-notifcenter-open { - // for when notification center is open - overflow: hidden; - } - - .root-blur { - filter: blur(1px); - pointer-events: none; - } - - a::-moz-focus-inner, - input[type="submit"]::-moz-focus-inner, - input[type="button"]::-moz-focus-inner { - border: 0; - } - - a::-moz-focus-inner, - input[type="submit"]::-moz-focus-inner, - input[type="button"]::-moz-focus-inner { - border: 0; - } - - a, - a:visited, - a:focus, - a:active, - a:hover { - outline: 0 none; - } - - button::-moz-focus-inner { - border: 0; - } - - // forcing styling onto inner container - .ReactVirtualized__Grid__innerScrollContainer { - overflow: inherit !important; - }, - .ReactVirtualized__Grid.ReactVirtualized__List { - overflow-y: overlay !important; - } -` diff --git a/new-lamassu-admin/src/styling/theme.js b/new-lamassu-admin/src/styling/theme.js index 10d4de28..f0bd2450 100644 --- a/new-lamassu-admin/src/styling/theme.js +++ b/new-lamassu-admin/src/styling/theme.js @@ -1,5 +1,4 @@ import { createTheme } from '@mui/material/styles' -import global from './global' import typographyStyles from 'src/components/typography/styles' @@ -45,9 +44,6 @@ let theme = createTheme({ theme = createTheme(theme, { components: { - MuiCssBaseline: { - styleOverrides: global - }, MuiTypography: { styleOverrides: { root: { ...p }, diff --git a/new-lamassu-admin/vite.config.js b/new-lamassu-admin/vite.config.js index d81c0371..2cc157a2 100644 --- a/new-lamassu-admin/vite.config.js +++ b/new-lamassu-admin/vite.config.js @@ -4,6 +4,7 @@ import { defineConfig } from 'vite' import react from '@vitejs/plugin-react-swc' import svgr from 'vite-plugin-svgr' import fixReactVirtualized from 'esbuild-plugin-react-virtualized' +import tailwindcss from '@tailwindcss/vite' export default defineConfig({ base: '/', @@ -25,7 +26,7 @@ export default defineConfig({ plugins: [fixReactVirtualized] } }, - plugins: [react(), svgr()], + plugins: [react(), svgr(), tailwindcss()], resolve: { alias: { src: fileURLToPath(new URL('./src', import.meta.url)) From b9b7dcdcd73ad3bec35e10219b0fcc6ffefbaa21 Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Thu, 24 Apr 2025 15:44:54 +0100 Subject: [PATCH 38/85] partial: migrate AddMachine page css --- new-lamassu-admin/src/components/Stage.jsx | 112 ------------------ .../src/pages/AddMachine/AddMachine.jsx | 106 ++++++++--------- .../src/pages/AddMachine/styles.js | 109 ----------------- new-lamassu-admin/src/routing/routes.jsx | 20 +--- .../src/styling/global/global.css | 9 ++ 5 files changed, 61 insertions(+), 295 deletions(-) delete mode 100644 new-lamassu-admin/src/components/Stage.jsx diff --git a/new-lamassu-admin/src/components/Stage.jsx b/new-lamassu-admin/src/components/Stage.jsx deleted file mode 100644 index e691e4b4..00000000 --- a/new-lamassu-admin/src/components/Stage.jsx +++ /dev/null @@ -1,112 +0,0 @@ -import { makeStyles } from '@mui/styles' -import classnames from 'classnames' -import * as R from 'ramda' -import React, { memo } from 'react' -import CompleteStageIconSpring from 'src/styling/icons/stage/spring/complete.svg?react' -import CurrentStageIconSpring from 'src/styling/icons/stage/spring/current.svg?react' -import EmptyStageIconSpring from 'src/styling/icons/stage/spring/empty.svg?react' -import CompleteStageIconZodiac from 'src/styling/icons/stage/zodiac/complete.svg?react' -import CurrentStageIconZodiac from 'src/styling/icons/stage/zodiac/current.svg?react' -import EmptyStageIconZodiac from 'src/styling/icons/stage/zodiac/empty.svg?react' - -import { - primaryColor, - secondaryColor, - offColor, - disabledColor -} from 'src/styling/variables' - -const styles = { - stages: { - display: 'flex', - alignItems: 'center' - }, - wrapper: { - display: 'flex', - alignItems: 'center', - margin: 0 - }, - stage: { - display: 'flex', - height: 28, - width: 28, - zIndex: 2, - '& > svg': { - height: '100%', - width: '100%', - overflow: 'visible' - } - }, - separator: { - width: 28, - height: 2, - border: [[2, 'solid']], - zIndex: 1 - }, - separatorSpring: { - borderColor: secondaryColor - }, - separatorZodiac: { - borderColor: primaryColor - }, - separatorSpringEmpty: { - borderColor: disabledColor - }, - separatorZodiacEmpty: { - borderColor: offColor - } -} - -const useStyles = makeStyles(styles) - -const Stage = memo(({ stages, currentStage, color = 'spring', className }) => { - if (currentStage < 1 || currentStage > stages) - throw Error('Value of currentStage is invalid') - if (stages < 1) throw Error('Value of stages is invalid') - - const classes = useStyles() - - const separatorClasses = { - [classes.separator]: true, - [classes.separatorSpring]: color === 'spring', - [classes.separatorZodiac]: color === 'zodiac' - } - - const separatorEmptyClasses = { - [classes.separator]: true, - [classes.separatorSpringEmpty]: color === 'spring', - [classes.separatorZodiacEmpty]: color === 'zodiac' - } - - return ( -
    - {R.range(1, currentStage).map(idx => ( -
    - {idx > 1 &&
    } -
    - {color === 'spring' && } - {color === 'zodiac' && } -
    -
    - ))} -
    - {currentStage > 1 &&
    } -
    - {color === 'spring' && } - {color === 'zodiac' && } -
    -
    - {R.range(currentStage + 1, stages + 1).map(idx => ( -
    -
    -
    - {color === 'spring' && } - {color === 'zodiac' && } -
    -
    - ))} -
    - ) -}) - -export default Stage diff --git a/new-lamassu-admin/src/pages/AddMachine/AddMachine.jsx b/new-lamassu-admin/src/pages/AddMachine/AddMachine.jsx index 03249806..55930c41 100644 --- a/new-lamassu-admin/src/pages/AddMachine/AddMachine.jsx +++ b/new-lamassu-admin/src/pages/AddMachine/AddMachine.jsx @@ -1,12 +1,11 @@ -import { useMutation, useQuery, gql } from "@apollo/client"; +import { useMutation, useQuery, gql } from '@apollo/client' import Dialog from '@mui/material/Dialog' import DialogContent from '@mui/material/DialogContent' import SvgIcon from '@mui/material/SvgIcon' import IconButton from '@mui/material/IconButton' -import { makeStyles } from '@mui/styles' import classnames from 'classnames' import { Form, Formik, FastField } from 'formik' -import {QRCodeSVG as QRCode} from 'qrcode.react' +import { QRCodeSVG as QRCode } from 'qrcode.react' import * as R from 'ramda' import React, { memo, useState, useEffect, useRef } from 'react' import Title from 'src/components/Title' @@ -25,8 +24,6 @@ import { Button } from 'src/components/buttons' import { TextInput } from 'src/components/inputs/formik' import { primaryColor } from 'src/styling/variables' -import styles from './styles' - const SAVE_CONFIG = gql` mutation createPairingTotem($name: String!) { createPairingTotem(name: $name) @@ -41,11 +38,9 @@ const GET_MACHINES = gql` } ` -const useStyles = makeStyles(styles) - const getSize = R.compose(R.length, R.pathOr([], ['machines'])) -const QrCodeComponent = ({ classes, qrCode, name, count, onPaired }) => { +const QrCodeComponent = ({ qrCode, name, count, onPaired }) => { const timeout = useRef(null) const CLOSE_SCREEN_TIMEOUT = 2000 const { data } = useQuery(GET_MACHINES, { pollInterval: 10000 }) @@ -69,43 +64,42 @@ const QrCodeComponent = ({ classes, qrCode, name, count, onPaired }) => { return ( <> - - Scan QR code with your new cryptomat - -
    -
    + Scan QR code with your new cryptomat +
    +
    -
    +
    -

    Snap a picture and scan

    +

    + Snap a picture and scan +

    -
    -
    -
    +
    +
    +
    -
    -

    - To pair the machine you need scan the QR code with your machine. - To do this either snap a picture of this QR code or download it - through the button above and scan it with the scanning bay on - your machine. -

    -
    +

    + To pair the machine you need scan the QR code with your machine. + To do this either snap a picture of this QR code or download it + through the button above and scan it with the scanning bay on your + machine. +

    {hasNewMachine && ( -
    -
    +
    +
    - + Machine has been successfully paired!
    @@ -135,7 +129,7 @@ const validationSchema = Yup.object().shape({ ) }) -const MachineNameComponent = ({ nextStep, classes, setQrCode, setName }) => { +const MachineNameComponent = ({ nextStep, setQrCode, setName }) => { const [register] = useMutation(SAVE_CONFIG, { onCompleted: ({ createPairingTotem }) => { if (process.env.NODE_ENV === 'development') { @@ -162,9 +156,7 @@ const MachineNameComponent = ({ nextStep, classes, setQrCode, setName }) => { return ( <> - - Machine Name (ex: Coffee shop 01) - + Machine Name (ex: Coffee shop 01) { register({ variables: { name } }) }}> {({ errors }) => ( -
    +
    { component={TextInput} />
    - {errors &&

    {errors.message}

    } -
    + {errors &&

    {errors.message}

    } +
    @@ -205,18 +197,18 @@ const steps = [ } ] -const renderStepper = (step, it, idx, classes) => { +const renderStepper = (step, it, idx) => { const active = step === idx const past = idx < step const future = idx > step return ( -
    +
    {it.label} @@ -226,8 +218,8 @@ const renderStepper = (step, it, idx, classes) => { {idx < steps.length - 1 && (
    )}
    @@ -235,7 +227,6 @@ const renderStepper = (step, it, idx, classes) => { } const AddMachine = memo(({ close, onPaired }) => { - const classes = useStyles() const { data } = useQuery(GET_MACHINES) const [qrCode, setQrCode] = useState('') const [name, setName] = useState('') @@ -246,14 +237,12 @@ const AddMachine = memo(({ close, onPaired }) => { return (
    - - -
    -
    + + +
    +
    Add Machine @@ -261,13 +250,12 @@ const AddMachine = memo(({ close, onPaired }) => {
    -
    +
    - {steps.map((it, idx) => renderStepper(step, it, idx, classes))} + {steps.map((it, idx) => renderStepper(step, it, idx))} -
    +
    setStep(1)} count={count} onPaired={onPaired} @@ -282,7 +270,7 @@ const AddMachine = memo(({ close, onPaired }) => {
    - ); + ) }) export default AddMachine diff --git a/new-lamassu-admin/src/pages/AddMachine/styles.js b/new-lamassu-admin/src/pages/AddMachine/styles.js index 75d3c608..926e629e 100644 --- a/new-lamassu-admin/src/pages/AddMachine/styles.js +++ b/new-lamassu-admin/src/pages/AddMachine/styles.js @@ -1,7 +1,6 @@ import typographyStyles from 'src/components/typography/styles' import { placeholderColor, - backgroundColor, primaryColor, mainWidth, spring2, @@ -15,14 +14,6 @@ const fill = '100%' const flexDirection = 'column' const styles = { - dialog: { - backgroundColor, - width: fill, - minHeight: fill, - display: 'flex', - flexDirection, - padding: 0 - }, wrapper: { width: mainWidth, height: fill, @@ -43,106 +34,6 @@ const styles = { }, contentWrapper: { marginLeft: 48 - }, - button: { - marginTop: 64 - }, - nameTitle: { - marginTop: 16, - marginBottom: 25 - }, - qrTitle: { - marginTop: 12, - marginBottom: 40 - }, - qrCodeWrapper: { - display: 'flex' - }, - qrTextInfoWrapper: { - display: 'flex', - flexDirection: 'row' - }, - qrTextWrapper: { - width: 381, - marginLeft: 80, - display: 'flex', - flexDirection: 'column' - }, - textWrapper: { - display: 'flex', - flexDirection: 'column' - }, - qrTextIcon: { - marginRight: 16 - }, - qrText: { - marginTop: 0 - }, - item: { - position: 'relative', - margin: '12px 0 12px 0', - display: 'flex' - }, - itemText: { - extend: p, - color: placeholderColor, - marginRight: 24 - }, - itemTextActive: { - extend: tl2, - color: primaryColor - }, - itemTextPast: { - color: primaryColor - }, - stepperPath: { - position: 'absolute', - height: 25, - width: 1, - border: [[1, 'solid', placeholderColor]], - right: 8, - top: 18 - }, - stepperPast: { - border: [[1, 'solid', primaryColor]] - }, - successMessageWrapper: { - backgroundColor: spring3, - display: 'flex', - flexDirection: 'row', - padding: '0px 10px', - borderRadius: '8px' - }, - successMessage: { - color: spring2, - margin: '8px 0px' - }, - successMessageIcon: { - marginRight: 16, - marginBottom: 2, - display: 'flex', - flexDirection: 'col', - alignItems: 'center' - }, - errorMessage: { - color: errorColor - }, - qrCodeImageWrapper: { - display: 'flex', - flexDirection: 'column', - backgroundColor: 'white', - border: `5px solid ${primaryColor}`, - padding: 5, - borderRadius: 15 - }, - qrCodeScanMessage: { - display: 'flex', - flexDirection: 'row', - alignItems: 'center', - margin: [[0, 0, 20, 20]], - '& > p': { - marginLeft: 10 - } } } diff --git a/new-lamassu-admin/src/routing/routes.jsx b/new-lamassu-admin/src/routing/routes.jsx index 47d623d6..8fd3c366 100644 --- a/new-lamassu-admin/src/routing/routes.jsx +++ b/new-lamassu-admin/src/routing/routes.jsx @@ -1,6 +1,5 @@ import Fade from '@mui/material/Fade' import Slide from '@mui/material/Slide' -import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useContext } from 'react' import { @@ -24,14 +23,7 @@ import PrivateRoute from './PrivateRoute' import PublicRoute from './PublicRoute' import getLamassuRoutes from './lamassu.routes' -const useStyles = makeStyles({ - wrapper: { - flex: 1, - display: 'flex', - flexDirection: 'column', - height: '100%' - } -}) +const wrapperClasses = 'flex flex-1 flex-col h-full' const tree = getLamassuRoutes() @@ -65,8 +57,6 @@ const getParent = route => )(flattened) const Routes = () => { - const classes = useStyles() - const history = useHistory() const location = useLocation() const { wizardTested, userData } = useContext(AppContext) @@ -115,12 +105,12 @@ const Routes = () => { -
    +
    @@ -134,12 +124,12 @@ const Routes = () => { {getFilteredRoutes().map(({ route, component: Page, key }) => ( -
    +
    diff --git a/new-lamassu-admin/src/styling/global/global.css b/new-lamassu-admin/src/styling/global/global.css index 65504a87..4480411c 100644 --- a/new-lamassu-admin/src/styling/global/global.css +++ b/new-lamassu-admin/src/styling/global/global.css @@ -9,6 +9,11 @@ :root { --zodiac: #1b2559; --spring: #48f694; + --spring2: #44e188; + --spring3: #ecfbef; + + --comet: #5f668a; + --tomato: #ff584a; --ghost: #fafbff; --zircon: #ebefff; @@ -17,6 +22,10 @@ @theme { --color-zodiac: var(--zodiac); --color-spring: var(--spring); + --color-spring2: var(--spring2); + --color-spring3: var(--spring3); + --color-comet: var(--comet); + --color-tomato: var(--tomato); --color-ghost: var(--ghost); --color-zircon: var(--zircon); } From 92ccd8cb923021a7c7d6628b1535ec96fb27dcb2 Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Mon, 28 Apr 2025 10:06:33 +0100 Subject: [PATCH 39/85] partial: Analytics css migration --- .../src/pages/Analytics/Analytics.jsx | 45 +++-- .../src/pages/Analytics/Analytics.module.css | 0 .../src/pages/Analytics/Analytics.styles.js | 163 ------------------ .../Analytics/components/LegendEntry.jsx | 9 +- .../components/tooltips/GraphTooltip.jsx | 22 +-- .../tooltips/GraphTooltip.styles.js | 29 ---- .../components/wrappers/HourOfDayWrapper.jsx | 7 +- .../components/wrappers/OverTimeWrapper.jsx | 18 +- .../wrappers/TopMachinesWrapper.jsx | 7 +- .../wrappers/VolumeOverTimeWrapper.jsx | 18 +- .../components/wrappers/wrappers.module.css | 56 ++++++ .../src/styling/global/global.css | 10 ++ 12 files changed, 116 insertions(+), 268 deletions(-) create mode 100644 new-lamassu-admin/src/pages/Analytics/Analytics.module.css delete mode 100644 new-lamassu-admin/src/pages/Analytics/Analytics.styles.js delete mode 100644 new-lamassu-admin/src/pages/Analytics/components/tooltips/GraphTooltip.styles.js create mode 100644 new-lamassu-admin/src/pages/Analytics/components/wrappers/wrappers.module.css diff --git a/new-lamassu-admin/src/pages/Analytics/Analytics.jsx b/new-lamassu-admin/src/pages/Analytics/Analytics.jsx index e27f2aa6..679afad5 100644 --- a/new-lamassu-admin/src/pages/Analytics/Analytics.jsx +++ b/new-lamassu-admin/src/pages/Analytics/Analytics.jsx @@ -1,6 +1,4 @@ -import { useQuery, gql } from "@apollo/client"; -import Box from '@mui/material/Box' -import { makeStyles } from '@mui/styles' +import { useQuery, gql } from '@apollo/client' import classnames from 'classnames' import { endOfToday } from 'date-fns' import { subDays, format, add, startOfWeek } from 'date-fns/fp' @@ -17,15 +15,12 @@ import { fromNamespace } from 'src/utils/config' import { numberToFiatAmount } from 'src/utils/number' import { DAY, WEEK, MONTH } from 'src/utils/time' -import styles from './Analytics.styles' import LegendEntry from './components/LegendEntry' import HourOfDayWrapper from './components/wrappers/HourOfDayWrapper' import OverTimeWrapper from './components/wrappers/OverTimeWrapper' import TopMachinesWrapper from './components/wrappers/TopMachinesWrapper' import VolumeOverTimeWrapper from './components/wrappers/VolumeOverTimeWrapper' -const useStyles = makeStyles(styles) - const MACHINE_OPTIONS = [{ code: 'all', display: 'All machines' }] const REPRESENTING_OPTIONS = [ { code: 'overTime', display: 'Over time' }, @@ -106,26 +101,28 @@ const GET_DATA = gql` } ` -const OverviewEntry = ({ label, value, oldValue, currency }) => { - const classes = useStyles() +const VerticalLine = () => ( +
    +) +const OverviewEntry = ({ label, value, oldValue, currency }) => { const _oldValue = !oldValue || R.equals(oldValue, 0) ? 1 : oldValue const growthRate = ((value - oldValue) * 100) / _oldValue const growthClasses = { - [classes.growthPercentage]: true, - [classes.growth]: R.gt(value, oldValue), - [classes.decline]: R.gt(oldValue, value) + 'font-bold': true, + 'text-malachite': R.gt(value, oldValue), + 'text-tomato': R.gt(oldValue, value) } return ( -
    +

    {label}

    - - {numberToFiatAmount(value)} + + {numberToFiatAmount(value)} {!!currency && ` ${currency}`} - + {R.gt(growthRate, 0) && } {R.lt(growthRate, 0) && } {R.equals(growthRate, 0) && } @@ -138,8 +135,6 @@ const OverviewEntry = ({ label, value, oldValue, currency }) => { } const Analytics = () => { - const classes = useStyles() - const { data: txResponse, loading: txLoading } = useQuery(GET_TRANSACTIONS, { variables: { from: subDays(65, endOfToday()), @@ -320,7 +315,7 @@ const Analytics = () => { !loading && ( <> - +
    { IconComponent={EqualIcon} label={'Same since last period'} /> - +
    -
    -
    +
    +
    { - const classes = useStyles() - const [graphType /*, setGraphType */] = useState(options[0].code) const legend = { diff --git a/new-lamassu-admin/src/pages/Analytics/components/wrappers/VolumeOverTimeWrapper.jsx b/new-lamassu-admin/src/pages/Analytics/components/wrappers/VolumeOverTimeWrapper.jsx index cc3fe801..718036c9 100644 --- a/new-lamassu-admin/src/pages/Analytics/components/wrappers/VolumeOverTimeWrapper.jsx +++ b/new-lamassu-admin/src/pages/Analytics/components/wrappers/VolumeOverTimeWrapper.jsx @@ -1,17 +1,14 @@ import Box from '@mui/material/Box' import Switch from '@mui/material/Switch' -import { makeStyles } from '@mui/styles' import React, { useState } from 'react' -import { H2 } from 'src/components/typography' +import { H2, Label1 } from 'src/components/typography' import { Select } from 'src/components/inputs' import { neon, java } from 'src/styling/variables' -import styles from '../../Analytics.styles' import Graph from '../../graphs/Graph' import LegendEntry from '../LegendEntry' - -const useStyles = makeStyles(styles) +import classes from './wrappers.module.css' const VolumeOverTimeGraphHeader = ({ title, @@ -24,8 +21,6 @@ const VolumeOverTimeGraphHeader = ({ timezone, currency }) => { - const classes = useStyles() - const [logarithmic, setLogarithmic] = useState() const legend = { @@ -63,8 +58,13 @@ const VolumeOverTimeGraphHeader = ({
    - Log. scale - setLogarithmic(event.target.checked)} /> + + Log. scale + + setLogarithmic(event.target.checked)} + />
    { defaultAsFilter />
    -
    +

    {title}

    - +
    - +
    {/*

    {title}

    - +
    - +
    diff --git a/new-lamassu-admin/src/pages/Analytics/components/wrappers/TopMachinesWrapper.jsx b/new-lamassu-admin/src/pages/Analytics/components/wrappers/TopMachinesWrapper.jsx index 7d1abbca..ab0f9c52 100644 --- a/new-lamassu-admin/src/pages/Analytics/components/wrappers/TopMachinesWrapper.jsx +++ b/new-lamassu-admin/src/pages/Analytics/components/wrappers/TopMachinesWrapper.jsx @@ -1,4 +1,3 @@ -import Box from '@mui/material/Box' import * as R from 'ramda' import React, { useState } from 'react' import { H2 } from 'src/components/typography' @@ -33,10 +32,10 @@ const TopMachinesBarGraphHeader = ({

    {title}

    - +
    - +
    {/*

    {title}

    - +
    - +
    diff --git a/new-lamassu-admin/src/pages/Blacklist/Blacklist.jsx b/new-lamassu-admin/src/pages/Blacklist/Blacklist.jsx index 694dd839..637fb7e8 100644 --- a/new-lamassu-admin/src/pages/Blacklist/Blacklist.jsx +++ b/new-lamassu-admin/src/pages/Blacklist/Blacklist.jsx @@ -1,5 +1,4 @@ -import { useQuery, useMutation, gql } from "@apollo/client"; -import Box from '@mui/material/Box' +import { useQuery, useMutation, gql } from '@apollo/client' import Dialog from '@mui/material/Dialog' import DialogContent from '@mui/material/DialogContent' import DialogActions from '@mui/material/DialogActions' @@ -14,7 +13,12 @@ import CloseIcon from 'src/styling/icons/action/close/zodiac.svg?react' import ReverseSettingsIcon from 'src/styling/icons/circle buttons/settings/white.svg?react' import SettingsIcon from 'src/styling/icons/circle buttons/settings/zodiac.svg?react' -import { Link, Button, IconButton, SupportLinkButton } from 'src/components/buttons' +import { + Link, + Button, + IconButton, + SupportLinkButton +} from 'src/components/buttons' import { fromNamespace, toNamespace } from 'src/utils/config' import styles from './Blacklist.styles' @@ -234,12 +238,8 @@ const Blacklist = () => { } ]}> {!advancedSettings && ( - - +
    +

    Enable paper wallet (only)

    { to scan an address from their own wallet.

    - - +
    +

    Reject reused addresses

    { label="Reject Address Reuse" /> - +
    setShowModal(true)}> Blacklist new addresses - +
    )} {!advancedSettings && ( diff --git a/new-lamassu-admin/src/pages/Blacklist/BlacklistModal.jsx b/new-lamassu-admin/src/pages/Blacklist/BlacklistModal.jsx index 7e5b4dd0..3a6555ba 100644 --- a/new-lamassu-admin/src/pages/Blacklist/BlacklistModal.jsx +++ b/new-lamassu-admin/src/pages/Blacklist/BlacklistModal.jsx @@ -1,4 +1,3 @@ -import Box from '@mui/material/Box' import { makeStyles } from '@mui/styles' import { Formik, Form, Field } from 'formik' import * as R from 'ramda' @@ -55,11 +54,11 @@ const BlackListModal = ({ onClose, addToBlacklist, errorMsg }) => {
    {!R.isNil(errorMsg) && {errorMsg}} - +
    Blacklist address - +
    ) diff --git a/new-lamassu-admin/src/pages/Customers/CustomerProfile.jsx b/new-lamassu-admin/src/pages/Customers/CustomerProfile.jsx index bd52274d..219c3cb5 100644 --- a/new-lamassu-admin/src/pages/Customers/CustomerProfile.jsx +++ b/new-lamassu-admin/src/pages/Customers/CustomerProfile.jsx @@ -1,6 +1,5 @@ -import { useQuery, useMutation, useLazyQuery, gql } from "@apollo/client"; +import { useQuery, useMutation, useLazyQuery, gql } from '@apollo/client' import Breadcrumbs from '@mui/material/Breadcrumbs' -import Box from '@mui/material/Box' import DialogActions from '@mui/material/DialogActions' import DialogContent from '@mui/material/DialogContent' import Dialog from '@mui/material/Dialog' @@ -637,10 +636,7 @@ const CustomerProfile = memo(() => {
    {isOverview && (
    - +
    { setShowCompliance={() => setShowCompliance(!showCompliance)} timezone={timezone} /> - +
    {
    } appendixRight={ - +
    setShowCreationModal(true)}> Add new user - +
    } labels={[ { label: 'Cash-in', icon: }, diff --git a/new-lamassu-admin/src/pages/Customers/components/CustomerDetails.jsx b/new-lamassu-admin/src/pages/Customers/components/CustomerDetails.jsx index 4dd04418..3b285039 100644 --- a/new-lamassu-admin/src/pages/Customers/components/CustomerDetails.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/CustomerDetails.jsx @@ -1,4 +1,3 @@ -import Box from '@mui/material/Box' import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { memo } from 'react' @@ -51,9 +50,9 @@ const CustomerDetails = memo(({ customer, photosData, locale, timezone }) => { }) return ( - +
    - +

    @@ -64,7 +63,7 @@ const CustomerDetails = memo(({ customer, photosData, locale, timezone }) => { : getFormattedPhone(phone, locale.country)}

    - +
    {elements.map(({ size, header }, idx) => ( { {header} ))} - - +
    +
    {elements.map(({ size, value }, idx) => (

    { {value}

    ))} - - - +
    +
    +
    ) }) diff --git a/new-lamassu-admin/src/pages/Customers/components/IdCardPhotoCard.jsx b/new-lamassu-admin/src/pages/Customers/components/IdCardPhotoCard.jsx index a2b81cd7..9433c255 100644 --- a/new-lamassu-admin/src/pages/Customers/components/IdCardPhotoCard.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/IdCardPhotoCard.jsx @@ -1,4 +1,3 @@ -import Box from '@mui/material/Box' import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { memo } from 'react' @@ -35,7 +34,7 @@ const IdCardPhotoCard = memo(({ customerData, updateCustomer }) => { updateCustomer({ idCardPhotoOverride: OVERRIDE_AUTHORIZED }) } reject={() => updateCustomer({ idCardPhotoOverride: OVERRIDE_REJECTED })}> - +
    {customerData.idCardPhotoPath ? ( { ) : ( )} - +
    ) }) diff --git a/new-lamassu-admin/src/pages/Customers/components/IdDataCard.jsx b/new-lamassu-admin/src/pages/Customers/components/IdDataCard.jsx index 8ead9dc0..1cb0fb73 100644 --- a/new-lamassu-admin/src/pages/Customers/components/IdDataCard.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/IdDataCard.jsx @@ -1,4 +1,3 @@ -import Box from '@mui/material/Box' import { differenceInYears, format, parse } from 'date-fns/fp' import * as R from 'ramda' import React, { memo } from 'react' @@ -77,11 +76,11 @@ const IdDataCard = memo(({ customerData, updateCustomer }) => { updateCustomer({ idCardDataOverride: OVERRIDE_AUTHORIZED }) } reject={() => updateCustomer({ idCardDataOverride: OVERRIDE_REJECTED })}> - +
    {elements.map(({ header, display, size }, idx) => ( ))} - +
    ) }) diff --git a/new-lamassu-admin/src/pages/Customers/components/TransactionsList.jsx b/new-lamassu-admin/src/pages/Customers/components/TransactionsList.jsx index ef9fbfc9..aa8ea43a 100644 --- a/new-lamassu-admin/src/pages/Customers/components/TransactionsList.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/TransactionsList.jsx @@ -1,5 +1,4 @@ import { toUnit } from '@lamassu/coins/lightUtils' -import Box from '@mui/material/Box' import { makeStyles } from '@mui/styles' import BigNumber from 'bignumber.js' import classnames from 'classnames' @@ -139,8 +138,8 @@ const TransactionsList = ({ customer, data, loading }) => { return ( <>

    Transactions

    - - +
    +
    {summaryElements.map(({ size, header }, idx) => ( { {header} ))} - - +
    +
    {summaryElements.map(({ size, value }, idx) => (

    { {value}

    ))} - - +
    +
    {loading ? ( diff --git a/new-lamassu-admin/src/pages/Customers/helper.jsx b/new-lamassu-admin/src/pages/Customers/helper.jsx index 3fa95175..6bb774b1 100644 --- a/new-lamassu-admin/src/pages/Customers/helper.jsx +++ b/new-lamassu-admin/src/pages/Customers/helper.jsx @@ -1,5 +1,4 @@ import React from 'react' -import Box from '@mui/material/Box' import { makeStyles } from '@mui/styles' import classnames from 'classnames' import { parse, isValid, format } from 'date-fns/fp' @@ -7,7 +6,7 @@ import { Field, useFormikContext } from 'formik' import { parsePhoneNumberFromString } from 'libphonenumber-js' import * as R from 'ramda' import { H4 } from 'src/components/typography' -import { validate as uuidValidate } from 'uuid'; +import { validate as uuidValidate } from 'uuid' import * as Yup from 'yup' import { @@ -224,9 +223,9 @@ const EntryType = ({ customInfoRequirementOptions }) => { return ( <> - +

    Type of entry

    - +
    { /> {displayCustomOptions && (
    - +

    Type of data

    - +
    { )} {displayRequirementOptions && (
    - +

    Requirements

    - +
    { return ( <> - +

    {title}

    - +
    {isCustomInfoRequirement && ( { }> )} - ); + ) } const customElements = { diff --git a/new-lamassu-admin/src/pages/LoyaltyPanel/IndividualDiscounts.jsx b/new-lamassu-admin/src/pages/LoyaltyPanel/IndividualDiscounts.jsx index a79f187d..d6940a65 100644 --- a/new-lamassu-admin/src/pages/LoyaltyPanel/IndividualDiscounts.jsx +++ b/new-lamassu-admin/src/pages/LoyaltyPanel/IndividualDiscounts.jsx @@ -1,5 +1,4 @@ -import { useQuery, useMutation, gql } from "@apollo/client"; -import Box from '@mui/material/Box' +import { useQuery, useMutation, gql } from '@apollo/client' import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' @@ -67,9 +66,7 @@ const IndividualDiscounts = () => { const [showModal, setShowModal] = useState(false) const toggleModal = () => setShowModal(!showModal) - const { data: discountResponse, loading } = useQuery( - GET_INDIVIDUAL_DISCOUNTS - ) + const { data: discountResponse, loading } = useQuery(GET_INDIVIDUAL_DISCOUNTS) const { data: customerData, loading: customerLoading } = useQuery(GET_CUSTOMERS) @@ -157,16 +154,15 @@ const IndividualDiscounts = () => { <> {!loading && !R.isEmpty(discountResponse.individualDiscounts) && ( <> - - +
    + Add new code - +
    { )} {!loading && R.isEmpty(discountResponse.individualDiscounts) && ( - +
    It seems there are no active individual customer discounts on your network. - +
    )} { return ( <> {!loading && !R.isEmpty(codeResponse.promoCodes) && ( - +
    Add new code - +
    )} {!loading && !R.isEmpty(codeResponse.promoCodes) && ( <> @@ -164,12 +158,12 @@ const PromoCodes = () => { )} {!loading && R.isEmpty(codeResponse.promoCodes) && ( - +
    Currently, there are no active promo codes on your network. - +
    )} +
    {elements.map(({ width, className, textAlign, header }, idx) => ( @@ -181,7 +180,7 @@ const DataTable = ({
    - +
    ) } diff --git a/new-lamassu-admin/src/pages/Maintenance/CashUnits.jsx b/new-lamassu-admin/src/pages/Maintenance/CashUnits.jsx index 9377e1e3..8f3fa94b 100644 --- a/new-lamassu-admin/src/pages/Maintenance/CashUnits.jsx +++ b/new-lamassu-admin/src/pages/Maintenance/CashUnits.jsx @@ -1,6 +1,5 @@ -import { useQuery, useMutation, gql } from "@apollo/client"; +import { useQuery, useMutation, gql } from '@apollo/client' import DialogActions from '@mui/material/DialogActions' -import Box from '@mui/material/Box' import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' @@ -98,7 +97,11 @@ const SET_CASSETTE_BILLS = gql` ` const GET_BATCHES_CSV = gql` - query cashboxBatchesCsv($from: DateTimeISO, $until: DateTimeISO, $timezone: String) { + query cashboxBatchesCsv( + $from: DateTimeISO + $until: DateTimeISO + $timezone: String + ) { cashboxBatchesCsv(from: $from, until: $until, timezone: $timezone) } ` @@ -202,155 +205,155 @@ const CashCassettes = () => { /> ) - return (!dataLoading && (<> - R.path(['cashboxBatchesCsv'])(logs)} - timezone={timezone} - args={{ timezone }} - /> - ) : ( - <> - ) - } - ]} - iconClassName={classes.listViewButton} - className={classes.tableWidth} - appendix={ - -

    - For details on configuring cash boxes and cassettes, please read - the relevant knowledgebase article: -

    - -
    - }> - {!showHistory && ( - - Cash box resets - - {cashboxReset && ( -

    - {onlyFirstToUpper(cashboxReset)} -

    - )} - setEditingSchema(true)} - className={classes.button} - size="large"> - - -
    -
    - )} -
    - {!showHistory && ( + return ( + !dataLoading && ( <> - + R.path(['cashboxBatchesCsv'])(logs)} + timezone={timezone} + args={{ timezone }} + /> + ) : ( + <> + ) + } + ]} + iconClassName={classes.listViewButton} + className={classes.tableWidth} + appendix={ + +

    + For details on configuring cash boxes and cassettes, please read + the relevant knowledgebase article: +

    + +
    + }> + {!showHistory && ( +
    + Cash box resets +
    + {cashboxReset && ( +

    + {onlyFirstToUpper(cashboxReset)} +

    + )} + setEditingSchema(true)} + className={classes.button} + size="large"> + + +
    +
    + )} +
    + {!showHistory && ( + <> + - {data && R.isEmpty(machines) && ( - + {data && R.isEmpty(machines) && ( + + )} + + )} + {showHistory && ( + + )} + + {wizard && ( + { + setWizard(false) + }} + error={error?.message} + save={onSave} + locale={locale} + /> + )} + {editingSchema && ( + setEditingSchema(null)} + open={true}> +

    + We can automatically assume you emptied a bill validator's cash + box when the machine detects that it has been removed. +

    + +

    + Assume the cash box is emptied whenever it's removed, creating a + new batch on the history screen and setting its current balance to + zero. +

    + +

    + Cash boxes won't be assumed emptied when removed, nor their counts + modified. Instead, to update the count and create a new batch, + you'll click the 'Edit' button on this panel. +

    + + + +
    )} - )} - {showHistory && ( - - )} - - {wizard && ( - { - setWizard(false) - }} - error={error?.message} - save={onSave} - locale={locale} - /> - )} - {editingSchema && ( - setEditingSchema(null)} - open={true}> -

    - We can automatically assume you emptied a bill validator's cash - box when the machine detects that it has been removed. -

    - -

    - Assume the cash box is emptied whenever it's removed, creating a - new batch on the history screen and setting its current balance to - zero. -

    - -

    - Cash boxes won't be assumed emptied when removed, nor their counts - modified. Instead, to update the count and create a new batch, - you'll click the 'Edit' button on this panel. -

    - - - -
    - )} - )); + ) + ) } export default CashCassettes diff --git a/new-lamassu-admin/src/pages/Transactions/DetailsCard.jsx b/new-lamassu-admin/src/pages/Transactions/DetailsCard.jsx index f4d87525..744ecbca 100644 --- a/new-lamassu-admin/src/pages/Transactions/DetailsCard.jsx +++ b/new-lamassu-admin/src/pages/Transactions/DetailsCard.jsx @@ -1,6 +1,5 @@ -import { useLazyQuery, useMutation, gql } from "@apollo/client"; +import { useLazyQuery, useMutation, gql } from '@apollo/client' import { toUnit, formatCryptoAddress } from '@lamassu/coins/lightUtils' -import Box from '@mui/material/Box' import { makeStyles } from '@mui/styles' import BigNumber from 'bignumber.js' import classNames from 'classnames' @@ -249,7 +248,7 @@ const DetailsRow = ({ it: tx, timezone }) => {
    - +
    {tx.customerPhone && ( { /> )} - +
    diff --git a/new-lamassu-admin/src/pages/Triggers/TriggerView.jsx b/new-lamassu-admin/src/pages/Triggers/TriggerView.jsx index b98396d6..e8e208c5 100644 --- a/new-lamassu-admin/src/pages/Triggers/TriggerView.jsx +++ b/new-lamassu-admin/src/pages/Triggers/TriggerView.jsx @@ -1,5 +1,4 @@ -import { useMutation, gql } from "@apollo/client"; -import Box from '@mui/material/Box' +import { useMutation, gql } from '@apollo/client' import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' @@ -52,9 +51,9 @@ const TriggerView = ({ } const add = rawConfig => { - const toSave = R.concat([{ id: uuidv4(), direction: 'both', ...rawConfig }])( - triggers - ) + const toSave = R.concat([ + { id: uuidv4(), direction: 'both', ...rawConfig } + ])(triggers) return saveConfig({ variables: { config: { triggers: toServer(toSave) } } }) } @@ -85,12 +84,12 @@ const TriggerView = ({ /> )} {R.isEmpty(triggers) && ( - +

    It seems there are no active compliance triggers on your network

    - +
    )} ) diff --git a/new-lamassu-admin/src/pages/Triggers/Triggers.jsx b/new-lamassu-admin/src/pages/Triggers/Triggers.jsx index 1043caa1..c414d443 100644 --- a/new-lamassu-admin/src/pages/Triggers/Triggers.jsx +++ b/new-lamassu-admin/src/pages/Triggers/Triggers.jsx @@ -1,5 +1,4 @@ -import { useQuery, useMutation, gql } from "@apollo/client"; -import Box from '@mui/material/Box' +import { useQuery, useMutation, gql } from '@apollo/client' import Switch from '@mui/material/Switch' import { makeStyles } from '@mui/styles' import classnames from 'classnames' @@ -169,12 +168,8 @@ const Triggers = () => { ]} className={classnames(titleSectionWidth)}> {!subMenu && ( - - +
    +

    Reject reused addresses

    { label="Reject Address Reuse" /> - - +
    +
    )} {subMenu === 'customInfoRequests' && !R.isEmpty(enabledCustomInfoRequests) && ( - +
    toggleWizard('newCustomRequest')()}> + Add new custom info request - +
    )} {!loading && !subMenu && !R.isEmpty(triggers) && ( - +
    + Add new trigger - +
    )} {!loading && subMenu === 'customInfoRequests' && ( diff --git a/new-lamassu-admin/src/pages/Triggers/helper.jsx b/new-lamassu-admin/src/pages/Triggers/helper.jsx index 353a7c41..cd8a18c8 100644 --- a/new-lamassu-admin/src/pages/Triggers/helper.jsx +++ b/new-lamassu-admin/src/pages/Triggers/helper.jsx @@ -1,4 +1,3 @@ -import Box from '@mui/material/Box' import { makeStyles } from '@mui/styles' import classnames from 'classnames' import { Field, useFormikContext } from 'formik' @@ -363,9 +362,9 @@ const Type = ({ ...props }) => { return ( <> - +

    Choose trigger type

    - +
    - +

    Choose a requirement

    - +
    { : getView(requirementOptions, 'display')(requirement) return ( - +
    {`${display} ${isSuspend ? 'for' : ''}`} {isSuspend && ( { /> )} {isSuspend && 'days'} - +
    ) } @@ -783,7 +782,7 @@ const RequirementView = ({ : getView(requirementOptions, 'display')(requirement) const isSuspend = requirement === 'suspend' return ( - +
    {`${display} ${isSuspend ? 'for' : ''}`} {isSuspend && ( @@ -791,7 +790,7 @@ const RequirementView = ({ )} {isSuspend && 'days'} - +
    ) } @@ -833,16 +832,16 @@ const DisplayThreshold = ({ config, currency, isEdit }) => { switch (config?.triggerType) { case 'txAmount': return ( - +
    {Threshold} {currency} - +
    ) case 'txVolume': return ( - +
    {Threshold} {currency} @@ -854,11 +853,11 @@ const DisplayThreshold = ({ config, currency, isEdit }) => { days - +
    ) case 'txVelocity': return ( - +
    {Threshold} transactions in @@ -867,16 +866,16 @@ const DisplayThreshold = ({ config, currency, isEdit }) => { days - +
    ) case 'consecutiveDays': return ( - +
    {ThresholdDays} days - +
    ) default: return '' diff --git a/new-lamassu-admin/src/pages/UserManagement/UserManagement.jsx b/new-lamassu-admin/src/pages/UserManagement/UserManagement.jsx index 271ccba7..488c420a 100644 --- a/new-lamassu-admin/src/pages/UserManagement/UserManagement.jsx +++ b/new-lamassu-admin/src/pages/UserManagement/UserManagement.jsx @@ -1,6 +1,5 @@ -import { useQuery, useMutation, useLazyQuery, gql } from "@apollo/client"; +import { useQuery, useMutation, useLazyQuery, gql } from '@apollo/client' import Chip from '@mui/material/Chip' -import Box from '@mui/material/Box' import Switch from '@mui/material/Switch' import { makeStyles } from '@mui/styles' import { startAttestation } from '@simplewebauthn/browser' @@ -242,24 +241,21 @@ const Users = () => { return ( <> - - - { - dispatch({ - type: 'open', - payload: 'showCreateUserModal' - }) - }}> - Add new user - - + { + dispatch({ + type: 'open', + payload: 'showCreateUserModal' + }) + }}> + Add new user + + } + />

    Twilio (SMS service)

    - +

    Will you setup a two way machine or compliance?

    @@ -112,7 +111,7 @@ function Twilio({ doContinue }) { compliance triggers

    - +
    - - To set up Twilio please read the instructions from our support portal. - +
    + + + To set up Twilio please read the instructions from our support + portal. + +
    Date: Tue, 29 Apr 2025 11:43:28 +0100 Subject: [PATCH 41/85] partial: Authentication css migration --- .../Authentication/Authentication.module.css | 73 ++++++++++++ .../pages/Authentication/Input2FAState.jsx | 24 ++-- .../pages/Authentication/InputFIDOState.jsx | 33 ++---- .../src/pages/Authentication/Login.jsx | 9 +- .../src/pages/Authentication/LoginCard.jsx | 7 +- .../src/pages/Authentication/LoginState.jsx | 28 ++--- .../src/pages/Authentication/Register.jsx | 18 ++- .../src/pages/Authentication/Reset2FA.jsx | 34 +++--- .../pages/Authentication/ResetPassword.jsx | 18 ++- .../pages/Authentication/Setup2FAState.jsx | 25 ++-- .../src/pages/Authentication/shared.styles.js | 109 ------------------ .../UserManagement/UserManagement.styles.js | 3 - .../UserManagement/modals/CreateUserModal.jsx | 4 +- .../UserManagement/modals/Input2FAModal.jsx | 19 ++- 14 files changed, 152 insertions(+), 252 deletions(-) create mode 100644 new-lamassu-admin/src/pages/Authentication/Authentication.module.css delete mode 100644 new-lamassu-admin/src/pages/Authentication/shared.styles.js diff --git a/new-lamassu-admin/src/pages/Authentication/Authentication.module.css b/new-lamassu-admin/src/pages/Authentication/Authentication.module.css new file mode 100644 index 00000000..88648763 --- /dev/null +++ b/new-lamassu-admin/src/pages/Authentication/Authentication.module.css @@ -0,0 +1,73 @@ +.welcomeBackground { + background: var(--ghost) url(/wizard-background.svg) no-repeat fixed center center; + background-size: cover; + height: 100vh; + width: 100vw; + position: relative; + left: 50%; + right: 50%; + margin-left: -50vw; + margin-right: -50vw; + min-height: 100vh; +} + +.wrapper { + padding: 2.5em 4em; + width: 575px; + display: flex; + flex-direction: column; +} + +.titleWrapper { + display: flex; + flex-direction: row; + align-items: center; + margin-bottom: 30px +} + +.icon { + transform: scale(1.5); + margin-right: 25px; +} + +.title { + padding-top: 8px; +} + +.infoWrapper { + margin-bottom: 3vh; +} + +.info2 { + text-align: justify; +} + +.qrCodeWrapper { + display: flex; + justify-content: center; + margin-bottom: 3vh; +} + +.secretWrapper { + display: flex; + justify-content: center; + align-items: center; +} + +.secretLabel { + margin-right: 15px; +} + +.secret { + margin-right: 35px; +} + +.hiddenSecret { + margin-right: 35px; + filter: blur(8px); +} + +.confirm2FAInput { + margin-top: 25px; +} + diff --git a/new-lamassu-admin/src/pages/Authentication/Input2FAState.jsx b/new-lamassu-admin/src/pages/Authentication/Input2FAState.jsx index f7fd5cce..b1326044 100644 --- a/new-lamassu-admin/src/pages/Authentication/Input2FAState.jsx +++ b/new-lamassu-admin/src/pages/Authentication/Input2FAState.jsx @@ -1,5 +1,4 @@ -import { useMutation, useLazyQuery, gql } from "@apollo/client"; -import { makeStyles } from '@mui/styles' +import { useMutation, useLazyQuery, gql } from '@apollo/client' import { Form, Formik } from 'formik' import React, { useContext, useState } from 'react' import { useHistory } from 'react-router-dom' @@ -9,11 +8,8 @@ import AppContext from 'src/AppContext' import { Button } from 'src/components/buttons' import { CodeInput } from 'src/components/inputs/base' -import styles from './shared.styles' import { STATES } from './states' -const useStyles = makeStyles(styles) - const INPUT_2FA = gql` mutation input2FA( $username: String! @@ -41,7 +37,6 @@ const GET_USER_DATA = gql` ` const Input2FAState = ({ state, dispatch }) => { - const classes = useStyles() const history = useHistory() const { setUserData } = useContext(AppContext) @@ -104,9 +99,7 @@ const Input2FAState = ({ state, dispatch }) => { return ( <> - - Enter your two-factor authentication code - + Enter your two-factor authentication code {/* TODO: refactor the 2FA CodeInput to properly use Formik */} {}} initialValues={{}}>
    @@ -117,15 +110,14 @@ const Input2FAState = ({ state, dispatch }) => { numInputs={6} error={invalidToken} /> - +
    -
    - {errorMessage &&

    {errorMessage}

    } - -
    ) } diff --git a/new-lamassu-admin/src/pages/Authentication/InputFIDOState.jsx b/new-lamassu-admin/src/pages/Authentication/InputFIDOState.jsx index 82f73041..3c8a1b70 100644 --- a/new-lamassu-admin/src/pages/Authentication/InputFIDOState.jsx +++ b/new-lamassu-admin/src/pages/Authentication/InputFIDOState.jsx @@ -1,5 +1,4 @@ -import { useMutation, useLazyQuery, gql } from "@apollo/client"; -import { makeStyles } from '@mui/styles' +import { useMutation, useLazyQuery, gql } from '@apollo/client' import { startAssertion } from '@simplewebauthn/browser' import { Field, Form, Formik } from 'formik' import React, { useState, useContext } from 'react' @@ -11,10 +10,6 @@ import AppContext from 'src/AppContext' import { Button } from 'src/components/buttons' import { Checkbox, TextInput } from 'src/components/inputs/formik' -import styles from './shared.styles' - -const useStyles = makeStyles(styles) - const GET_USER_DATA = gql` { userData { @@ -66,7 +61,6 @@ const InputFIDOState = ({ state, strategy }) => { } ` - const classes = useStyles() const history = useHistory() const { setUserData } = useContext(AppContext) @@ -166,32 +160,25 @@ const InputFIDOState = ({ state, strategy }) => { component={TextInput} fullWidth autoFocus - className={classes.input} + className="-mt-4 mb-6" error={getErrorMsg(errors, touched)} onKeyUp={() => { if (invalidUsername) setInvalidUsername(false) }} /> -
    +
    - - Keep me logged in - + Keep me logged in
    -
    +
    {getErrorMsg(errors, touched) && ( -

    - {getErrorMsg(errors, touched)} -

    +

    {getErrorMsg(errors, touched)}

    )} -
    @@ -201,14 +188,14 @@ const InputFIDOState = ({ state, strategy }) => { )} {strategy === 'FIDO2FA' && ( <> -

    +

    Insert your hardware key and follow the instructions

    diff --git a/new-lamassu-admin/src/pages/Authentication/Login.jsx b/new-lamassu-admin/src/pages/Authentication/Login.jsx index ab883a64..0ea27cb0 100644 --- a/new-lamassu-admin/src/pages/Authentication/Login.jsx +++ b/new-lamassu-admin/src/pages/Authentication/Login.jsx @@ -1,15 +1,10 @@ import Grid from '@mui/material/Grid' -import { makeStyles } from '@mui/styles' import React from 'react' import LoginCard from './LoginCard' -import styles from './shared.styles' - -const useStyles = makeStyles(styles) +import classes from './Authentication.module.css' const Login = () => { - const classes = useStyles() - return ( { - ); + ) } export default Login diff --git a/new-lamassu-admin/src/pages/Authentication/LoginCard.jsx b/new-lamassu-admin/src/pages/Authentication/LoginCard.jsx index e9c1da4c..4179cfe9 100644 --- a/new-lamassu-admin/src/pages/Authentication/LoginCard.jsx +++ b/new-lamassu-admin/src/pages/Authentication/LoginCard.jsx @@ -1,5 +1,4 @@ import Paper from '@mui/material/Paper' -import { makeStyles } from '@mui/styles' import React, { useReducer } from 'react' import { H5 } from 'src/components/typography' import Logo from 'src/styling/icons/menu/logo.svg?react' @@ -8,14 +7,12 @@ import Input2FAState from './Input2FAState' import InputFIDOState from './InputFIDOState' import LoginState from './LoginState' import Setup2FAState from './Setup2FAState' -import styles from './shared.styles' import { STATES } from './states' +import classes from './Authentication.module.css' // FIDO2FA, FIDOPasswordless or FIDOUsernameless const AUTHENTICATION_STRATEGY = 'FIDO2FA' -const useStyles = makeStyles(styles) - const initialState = { twoFAField: '', clientField: '', @@ -30,8 +27,6 @@ const reducer = (state, action) => { } const LoginCard = () => { - const classes = useStyles() - const [state, dispatch] = useReducer(reducer, initialState) const renderState = () => { diff --git a/new-lamassu-admin/src/pages/Authentication/LoginState.jsx b/new-lamassu-admin/src/pages/Authentication/LoginState.jsx index f5f89055..ce8b4c72 100644 --- a/new-lamassu-admin/src/pages/Authentication/LoginState.jsx +++ b/new-lamassu-admin/src/pages/Authentication/LoginState.jsx @@ -1,5 +1,4 @@ -import { useMutation, useLazyQuery, gql } from "@apollo/client"; -import { makeStyles } from '@mui/styles' +import { useMutation, useLazyQuery, gql } from '@apollo/client' import { startAssertion } from '@simplewebauthn/browser' import { Field, Form, Formik } from 'formik' import React, { useContext } from 'react' @@ -11,10 +10,6 @@ import AppContext from 'src/AppContext' import { Button } from 'src/components/buttons' import { Checkbox, SecretInput, TextInput } from 'src/components/inputs/formik' -import styles from './shared.styles' - -const useStyles = makeStyles(styles) - const LOGIN = gql` mutation login($username: String!, $password: String!) { login(username: $username, password: $password) @@ -68,7 +63,6 @@ const getErrorMsg = (formikErrors, formikTouched, mutationError) => { } const LoginState = ({ state, dispatch, strategy }) => { - const classes = useStyles() const history = useHistory() const { setUserData } = useContext(AppContext) @@ -148,7 +142,7 @@ const LoginState = ({ state, dispatch, strategy }) => { component={TextInput} fullWidth autoFocus - className={classes.input} + className="-mt-4 mb-6" error={getErrorMsg( errors, touched, @@ -173,15 +167,16 @@ const LoginState = ({ state, dispatch, strategy }) => { userDataQueryError )} /> -
    +
    Keep me logged in
    -
    +
    {getErrorMsg( errors, touched, @@ -190,7 +185,7 @@ const LoginState = ({ state, dispatch, strategy }) => { assertionQueryError || userDataQueryError ) && ( -

    +

    {getErrorMsg( errors, touched, @@ -214,15 +209,12 @@ const LoginState = ({ state, dispatch, strategy }) => { payload: {} }) }} - buttonClassName={classes.loginButton} - className={classes.fidoLoginButtonWrapper}> + buttonClassName="w-full" + className="mb-3"> I have a hardware key )} -

    diff --git a/new-lamassu-admin/src/pages/Authentication/Register.jsx b/new-lamassu-admin/src/pages/Authentication/Register.jsx index cec03435..e7b71398 100644 --- a/new-lamassu-admin/src/pages/Authentication/Register.jsx +++ b/new-lamassu-admin/src/pages/Authentication/Register.jsx @@ -1,6 +1,5 @@ -import { useQuery, useMutation, gql } from "@apollo/client"; +import { useQuery, useMutation, gql } from '@apollo/client' import Grid from '@mui/material/Grid' -import { makeStyles } from '@mui/styles' import Paper from '@mui/material/Paper' import { Field, Form, Formik } from 'formik' import React, { useReducer } from 'react' @@ -11,11 +10,9 @@ import * as Yup from 'yup' import { Button } from 'src/components/buttons' import { SecretInput } from 'src/components/inputs/formik' - -import styles from './shared.styles' +import classes from './Authentication.module.css' const QueryParams = () => new URLSearchParams(useLocation().search) -const useStyles = makeStyles(styles) const VALIDATE_REGISTER_LINK = gql` query validateRegisterLink($token: String!) { @@ -87,7 +84,6 @@ const getErrorMsg = ( } const Register = () => { - const classes = useStyles() const history = useHistory() const token = QueryParams().get('t') @@ -165,7 +161,7 @@ const Register = () => { component={SecretInput} size="lg" fullWidth - className={classes.input} + className="-mt-4 mb-6" /> { size="lg" fullWidth /> -
    +
    {getErrorMsg( errors, touched, queryError, mutationError ) && ( -

    +

    {getErrorMsg( errors, touched, @@ -193,7 +189,7 @@ const Register = () => {

    @@ -215,7 +211,7 @@ const Register = () => {
    - ); + ) } export default Register diff --git a/new-lamassu-admin/src/pages/Authentication/Reset2FA.jsx b/new-lamassu-admin/src/pages/Authentication/Reset2FA.jsx index e16e1fd8..3d93ce88 100644 --- a/new-lamassu-admin/src/pages/Authentication/Reset2FA.jsx +++ b/new-lamassu-admin/src/pages/Authentication/Reset2FA.jsx @@ -1,6 +1,5 @@ -import { useQuery, useMutation, gql } from "@apollo/client"; +import { useQuery, useMutation, gql } from '@apollo/client' import Grid from '@mui/material/Grid' -import { makeStyles } from '@mui/styles' import Paper from '@mui/material/Paper' import { Form, Formik } from 'formik' import { QRCodeSVG as QRCode } from 'qrcode.react' @@ -13,9 +12,7 @@ import { ActionButton, Button } from 'src/components/buttons' import { CodeInput } from 'src/components/inputs/base' import { primaryColor } from 'src/styling/variables' -import styles from './shared.styles' - -const useStyles = makeStyles(styles) +import classes from './Authentication.module.css' const VALIDATE_RESET_2FA_LINK = gql` query validateReset2FALink($token: String!) { @@ -46,7 +43,6 @@ const reducer = (state, action) => { } const Reset2FA = () => { - const classes = useStyles() const history = useHistory() const QueryParams = () => new URLSearchParams(useLocation().search) const token = QueryParams().get('t') @@ -177,23 +173,19 @@ const Reset2FA = () => { numInputs={6} error={invalidToken} /> - +
    -
    - {getErrorMsg() && ( -

    {getErrorMsg()}

    - )} - -
    )} {!loading && state.result === 'failure' && ( @@ -206,7 +198,7 @@ const Reset2FA = () => {
    - ); + ) } export default Reset2FA diff --git a/new-lamassu-admin/src/pages/Authentication/ResetPassword.jsx b/new-lamassu-admin/src/pages/Authentication/ResetPassword.jsx index 5c9392b6..5f440f17 100644 --- a/new-lamassu-admin/src/pages/Authentication/ResetPassword.jsx +++ b/new-lamassu-admin/src/pages/Authentication/ResetPassword.jsx @@ -1,6 +1,5 @@ -import { useQuery, useMutation, gql } from "@apollo/client"; +import { useQuery, useMutation, gql } from '@apollo/client' import Grid from '@mui/material/Grid' -import { makeStyles } from '@mui/styles' import Paper from '@mui/material/Paper' import { Field, Form, Formik } from 'formik' import React, { useState } from 'react' @@ -12,9 +11,7 @@ import * as Yup from 'yup' import { Button } from 'src/components/buttons' import { SecretInput } from 'src/components/inputs/formik/' -import styles from './shared.styles' - -const useStyles = makeStyles(styles) +import classes from './Authentication.module.css' const VALIDATE_RESET_PASSWORD_LINK = gql` query validateResetPasswordLink($token: String!) { @@ -60,7 +57,6 @@ const getErrorMsg = (formikErrors, formikTouched, mutationError) => { } const ResetPassword = () => { - const classes = useStyles() const history = useHistory() const QueryParams = () => new URLSearchParams(useLocation().search) const token = QueryParams().get('t') @@ -129,7 +125,7 @@ const ResetPassword = () => { component={SecretInput} label="New password" fullWidth - className={classes.input} + className="-mt-4 mb-6" /> { label="Confirm your password" fullWidth /> -
    +
    {getErrorMsg(errors, touched, error) && ( -

    +

    {getErrorMsg(errors, touched, error)}

    )}
    @@ -165,7 +161,7 @@ const ResetPassword = () => {
    - ); + ) } export default ResetPassword diff --git a/new-lamassu-admin/src/pages/Authentication/Setup2FAState.jsx b/new-lamassu-admin/src/pages/Authentication/Setup2FAState.jsx index 8ddb0594..24c8507b 100644 --- a/new-lamassu-admin/src/pages/Authentication/Setup2FAState.jsx +++ b/new-lamassu-admin/src/pages/Authentication/Setup2FAState.jsx @@ -1,5 +1,4 @@ -import { useMutation, useQuery, useLazyQuery, gql } from "@apollo/client"; -import { makeStyles } from '@mui/styles' +import { useMutation, useQuery, useLazyQuery, gql } from '@apollo/client' import { Form, Formik } from 'formik' import { QRCodeSVG as QRCode } from 'qrcode.react' import React, { useContext, useState } from 'react' @@ -11,7 +10,7 @@ import { ActionButton, Button } from 'src/components/buttons' import { CodeInput } from 'src/components/inputs/base' import { primaryColor } from 'src/styling/variables' -import styles from './shared.styles' +import classes from './Authentication.module.css' const SETUP_2FA = gql` mutation setup2FA( @@ -48,10 +47,7 @@ const GET_USER_DATA = gql` } ` -const useStyles = makeStyles(styles) - const Setup2FAState = ({ state, dispatch }) => { - const classes = useStyles() const history = useHistory() const { setUserData } = useContext(AppContext) @@ -159,18 +155,17 @@ const Setup2FAState = ({ state, dispatch }) => { error={invalidToken} shouldAutoFocus /> - +
    -
    - {getErrorMsg() && ( -

    {getErrorMsg()}

    - )} - -
    ) ) diff --git a/new-lamassu-admin/src/pages/Authentication/shared.styles.js b/new-lamassu-admin/src/pages/Authentication/shared.styles.js deleted file mode 100644 index 20ed5058..00000000 --- a/new-lamassu-admin/src/pages/Authentication/shared.styles.js +++ /dev/null @@ -1,109 +0,0 @@ -import { backgroundColor, errorColor } from 'src/styling/variables' - -const styles = { - title: { - paddingTop: 8 - }, - input: { - marginBottom: 25, - marginTop: -15 - }, - wrapper: { - padding: '2.5em 4em', - width: 575, - display: 'flex', - flexDirection: 'column' - }, - titleWrapper: { - display: 'flex', - flexDirection: 'row', - alignItems: 'center', - marginBottom: 30 - }, - rememberMeWrapper: { - marginTop: 35, - display: 'flex', - flexDirection: 'row' - }, - icon: { - transform: 'scale(1.5)', - marginRight: 25 - }, - checkbox: { - transform: 'scale(1.5)', - marginRight: 5, - marginLeft: -5 - }, - footer: { - marginTop: '10vh' - }, - twofaFooter: { - marginTop: '6vh' - }, - fidoLoginButtonWrapper: { - marginBottom: 12 - }, - loginButton: { - display: 'block', - width: '100%' - }, - welcomeBackground: { - background: 'url(/wizard-background.svg) no-repeat center center fixed', - backgroundColor: backgroundColor, - backgroundSize: 'cover', - height: '100vh', - width: '100vw', - position: 'relative', - left: '50%', - right: '50%', - marginLeft: '-50vw', - marginRight: '-50vw', - minHeight: '100vh' - }, - info: { - marginBottom: '5vh' - }, - info2: { - textAlign: 'justify' - }, - infoWrapper: { - marginBottom: '3vh' - }, - errorMessage: { - color: errorColor - }, - qrCodeWrapper: { - display: 'flex', - justifyContent: 'center', - marginBottom: '3vh' - }, - secretWrapper: { - display: 'flex', - justifyContent: 'center', - alignItems: 'center' - }, - secretLabel: { - marginRight: 15 - }, - secret: { - marginRight: 35 - }, - hiddenSecret: { - marginRight: 35, - filter: 'blur(8px)' - }, - confirm2FAInput: { - marginTop: 25 - }, - confirmPassword: { - marginTop: 25 - }, - error: { - color: errorColor - }, - enterButton: { - display: 'none' - } -} - -export default styles diff --git a/new-lamassu-admin/src/pages/UserManagement/UserManagement.styles.js b/new-lamassu-admin/src/pages/UserManagement/UserManagement.styles.js index 745d226f..6859dd97 100644 --- a/new-lamassu-admin/src/pages/UserManagement/UserManagement.styles.js +++ b/new-lamassu-admin/src/pages/UserManagement/UserManagement.styles.js @@ -118,9 +118,6 @@ const styles = { actionButtonWrapper: { display: 'flex', gap: 12 - }, - enterButton: { - display: 'none' } } diff --git a/new-lamassu-admin/src/pages/UserManagement/modals/CreateUserModal.jsx b/new-lamassu-admin/src/pages/UserManagement/modals/CreateUserModal.jsx index b3704f68..e6048622 100644 --- a/new-lamassu-admin/src/pages/UserManagement/modals/CreateUserModal.jsx +++ b/new-lamassu-admin/src/pages/UserManagement/modals/CreateUserModal.jsx @@ -1,4 +1,4 @@ -import { useMutation, gql } from "@apollo/client"; +import { useMutation, gql } from '@apollo/client' import { makeStyles } from '@mui/styles' import classnames from 'classnames' import { Field, Form, Formik } from 'formik' @@ -73,7 +73,7 @@ const CreateUserModal = ({ state, dispatch }) => { const [createUser, { error }] = useMutation(CREATE_USER, { onCompleted: ({ createRegisterToken: token }) => { - setCreateUserURL(urlResolver(`/register?t${token.token}`)) + setCreateUserURL(urlResolver(`/register?t=${token.token}`)) } }) diff --git a/new-lamassu-admin/src/pages/UserManagement/modals/Input2FAModal.jsx b/new-lamassu-admin/src/pages/UserManagement/modals/Input2FAModal.jsx index 73666fa7..a6639358 100644 --- a/new-lamassu-admin/src/pages/UserManagement/modals/Input2FAModal.jsx +++ b/new-lamassu-admin/src/pages/UserManagement/modals/Input2FAModal.jsx @@ -1,4 +1,4 @@ -import { useLazyQuery, gql } from "@apollo/client"; +import { useLazyQuery, gql } from '@apollo/client' import { makeStyles } from '@mui/styles' import { Form, Formik } from 'formik' import React, { useState } from 'react' @@ -80,17 +80,16 @@ const Input2FAModal = ({ showModal, handleClose, setConfirmation }) => { error={invalidCode} containerStyle={classes.codeContainer} /> - +
    - {getErrorMsg() && ( -

    {getErrorMsg()}

    - )} -
    - -
    ) ) From b07a3d9ad62217a43740bf0c9cb7e264def343c4 Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Tue, 29 Apr 2025 12:25:09 +0100 Subject: [PATCH 42/85] partial: blacklist css migration --- .../src/pages/Blacklist/Blacklist.jsx | 58 +++++++------- .../src/pages/Blacklist/Blacklist.styles.js | 75 ------------------- .../src/pages/Blacklist/BlacklistAdvanced.jsx | 20 ++--- .../src/pages/Blacklist/BlacklistModal.jsx | 25 +++---- .../src/pages/Blacklist/BlacklistTable.jsx | 11 +-- 5 files changed, 45 insertions(+), 144 deletions(-) delete mode 100644 new-lamassu-admin/src/pages/Blacklist/Blacklist.styles.js diff --git a/new-lamassu-admin/src/pages/Blacklist/Blacklist.jsx b/new-lamassu-admin/src/pages/Blacklist/Blacklist.jsx index 637fb7e8..d0962c94 100644 --- a/new-lamassu-admin/src/pages/Blacklist/Blacklist.jsx +++ b/new-lamassu-admin/src/pages/Blacklist/Blacklist.jsx @@ -1,9 +1,8 @@ import { useQuery, useMutation, gql } from '@apollo/client' import Dialog from '@mui/material/Dialog' +import DialogTitle from '@mui/material/DialogTitle' import DialogContent from '@mui/material/DialogContent' -import DialogActions from '@mui/material/DialogActions' import Switch from '@mui/material/Switch' -import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' import { HelpTooltip } from 'src/components/Tooltip' @@ -21,13 +20,10 @@ import { } from 'src/components/buttons' import { fromNamespace, toNamespace } from 'src/utils/config' -import styles from './Blacklist.styles' import BlackListAdvanced from './BlacklistAdvanced' import BlackListModal from './BlacklistModal' import BlacklistTable from './BlacklistTable' -const useStyles = makeStyles(styles) - const DELETE_ROW = gql` mutation DeleteBlacklistRow($address: String!) { deleteBlacklistRow(address: $address) { @@ -88,8 +84,6 @@ const EDIT_BLACKLIST_MESSAGE = gql` ` const PaperWalletDialog = ({ onConfirmed, onDissmised, open, props }) => { - const classes = useStyles() - return ( { } }} {...props}> -
    - - - +
    + + + + +

    {'Are you sure you want to enable this?'}

    +
    + + {`This mode means that only paper wallets will be printed for users, and they won't be permitted to scan an address from their own wallet.`} + {`This mode is only useful for countries like Switzerland which mandates such a feature.\n`} + {`Don't enable this if you want users to be able to scan an address of their choosing.`} +
    + + +
    +
    -

    - {'Are you sure you want to enable this?'} -

    - - {`This mode means that only paper wallets will be printed for users, and they won't be permitted to scan an address from their own wallet.`} - {`This mode is only useful for countries like Switzerland which mandates such a feature.\n`} - {`Don't enable this if you want users to be able to scan an address of their choosing.`} - - - - -
    ) } @@ -162,8 +160,6 @@ const Blacklist = () => { refetchQueries: () => ['getBlacklistData'] }) - const classes = useStyles() - const blacklistData = R.path(['blacklist'])(blacklistResponse) ?? [] const complianceConfig = @@ -289,7 +285,7 @@ const Blacklist = () => { )} {!advancedSettings && ( -
    +
    *': { - marginTop: 20 - }, - display: 'flex', - flexDirection: 'column', - height: '100%' - }, - footer: { - display: 'flex', - flexDirection: 'row', - margin: [['auto', 0, spacer * 3, 0]] - }, - submit: { - margin: [['auto', 0, 0, 'auto']] - }, - modalTitle: { - margin: [['auto', 0, 8.5, 'auto']] - }, - subtitle: { - display: 'flex', - justifyContent: 'space-between', - alignItems: 'center', - flexDirection: 'row' - }, - white: { - color: white - }, - deleteButton: { - paddingLeft: 13 - }, - addressRow: { - marginLeft: 8 - }, - error: { - marginTop: 20 - }, - closeButton: { - display: 'flex', - padding: [[spacer * 2, spacer * 2, 0, spacer * 2]], - paddingRight: spacer * 1.5, - justifyContent: 'end' - }, - dialogTitle: { - margin: [[0, spacer * 2, spacer, spacer * 4 + spacer]] - }, - dialogContent: { - width: 615, - marginLeft: 16 - }, - dialogActions: { - padding: spacer * 4, - paddingTop: spacer * 2 - }, - cancelButton: { - marginRight: 8, - padding: 0 - }, - resetToDefault: { - width: 145 - } -} - -export default styles diff --git a/new-lamassu-admin/src/pages/Blacklist/BlacklistAdvanced.jsx b/new-lamassu-admin/src/pages/Blacklist/BlacklistAdvanced.jsx index 2f554905..5314bac9 100644 --- a/new-lamassu-admin/src/pages/Blacklist/BlacklistAdvanced.jsx +++ b/new-lamassu-admin/src/pages/Blacklist/BlacklistAdvanced.jsx @@ -1,4 +1,3 @@ -import { makeStyles } from '@mui/styles' import { Form, Formik, Field } from 'formik' import * as R from 'ramda' import React, { useState } from 'react' @@ -15,10 +14,6 @@ import * as Yup from 'yup' import { ActionButton, IconButton, Button } from 'src/components/buttons' import { TextInput } from 'src/components/inputs/formik' -import styles from './Blacklist.styles' - -const useStyles = makeStyles(styles) - const DEFAULT_MESSAGE = `This address may be associated with a deceptive offer or a prohibited group. Please make sure you're using an address from your own wallet.` const getErrorMsg = (formikErrors, formikTouched, mutationError) => { @@ -35,7 +30,6 @@ const BlacklistAdvanced = ({ onClose, mutationError }) => { - const classes = useStyles() const [selectedMessage, setSelectedMessage] = useState(null) const elements = [ @@ -63,7 +57,7 @@ const BlacklistAdvanced = ({ size: 'sm', view: it => ( setSelectedMessage(it)} size="large"> @@ -78,7 +72,7 @@ const BlacklistAdvanced = ({ size: 'sm', view: it => ( {({ errors, touched, setFieldValue }) => ( -
    + setFieldValue('content', DEFAULT_MESSAGE)}> Reset to default @@ -156,15 +150,13 @@ const BlacklistAdvanced = ({ rows={6} component={TextInput} /> -
    +
    {getErrorMsg(errors, touched, mutationError) && ( {getErrorMsg(errors, touched, mutationError)} )} - +
    )} diff --git a/new-lamassu-admin/src/pages/Blacklist/BlacklistModal.jsx b/new-lamassu-admin/src/pages/Blacklist/BlacklistModal.jsx index 3a6555ba..dbd267f9 100644 --- a/new-lamassu-admin/src/pages/Blacklist/BlacklistModal.jsx +++ b/new-lamassu-admin/src/pages/Blacklist/BlacklistModal.jsx @@ -1,4 +1,3 @@ -import { makeStyles } from '@mui/styles' import { Formik, Form, Field } from 'formik' import * as R from 'ramda' import React from 'react' @@ -10,11 +9,7 @@ import * as Yup from 'yup' import { Link } from 'src/components/buttons' import { TextInput } from 'src/components/inputs/formik' -import styles from './Blacklist.styles' -const useStyles = makeStyles(styles) - const BlackListModal = ({ onClose, addToBlacklist, errorMsg }) => { - const classes = useStyles() const handleAddToBlacklist = address => { addToBlacklist(address) } @@ -40,8 +35,8 @@ const BlackListModal = ({ onClose, addToBlacklist, errorMsg }) => { onSubmit={({ address }) => { handleAddToBlacklist(address.trim()) }}> -
    -

    Blacklist new address

    + +

    Blacklist new address

    { placeholder={`ex: ${placeholderAddress}`} component={TextInput} /> +
    + {!R.isNil(errorMsg) && {errorMsg}} +
    + + Blacklist address + +
    +
    -
    - {!R.isNil(errorMsg) && {errorMsg}} -
    - - Blacklist address - -
    -
    ) } diff --git a/new-lamassu-admin/src/pages/Blacklist/BlacklistTable.jsx b/new-lamassu-admin/src/pages/Blacklist/BlacklistTable.jsx index 877ca6a8..33d99819 100644 --- a/new-lamassu-admin/src/pages/Blacklist/BlacklistTable.jsx +++ b/new-lamassu-admin/src/pages/Blacklist/BlacklistTable.jsx @@ -1,4 +1,3 @@ -import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' import { DeleteDialog } from 'src/components/DeleteDialog' @@ -8,10 +7,6 @@ import DeleteIcon from 'src/styling/icons/action/delete/enabled.svg?react' import { IconButton } from 'src/components/buttons' -import styles from './Blacklist.styles' - -const useStyles = makeStyles(styles) - const BlacklistTable = ({ data, handleDeleteEntry, @@ -20,8 +15,6 @@ const BlacklistTable = ({ deleteDialog, setDeleteDialog }) => { - const classes = useStyles() - const [toBeDeleted, setToBeDeleted] = useState() const elements = [ @@ -32,7 +25,7 @@ const BlacklistTable = ({ textAlign: 'left', size: 'sm', view: it => ( -
    +
    {R.path(['address'], it)}
    ) @@ -45,7 +38,7 @@ const BlacklistTable = ({ size: 'sm', view: it => ( { setDeleteDialog(true) setToBeDeleted(it) From f9103bd1ba6d19c0d22d995cf2b9671bda89f235 Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Tue, 29 Apr 2025 12:52:30 +0100 Subject: [PATCH 43/85] partial: cashout css migration --- .../src/pages/Cashout/Cashout.jsx | 24 ++------ .../src/pages/Cashout/WizardSplash.jsx | 60 +++--------------- .../src/pages/Cashout/WizardStep.jsx | 40 ++++++------ .../src/pages/Cashout/WizardStep.styles.js | 61 ------------------- new-lamassu-admin/src/pages/Cashout/helper.js | 4 +- .../src/styling/global/global.css | 1 + 6 files changed, 32 insertions(+), 158 deletions(-) delete mode 100644 new-lamassu-admin/src/pages/Cashout/WizardStep.styles.js diff --git a/new-lamassu-admin/src/pages/Cashout/Cashout.jsx b/new-lamassu-admin/src/pages/Cashout/Cashout.jsx index e301c927..2872b5a8 100644 --- a/new-lamassu-admin/src/pages/Cashout/Cashout.jsx +++ b/new-lamassu-admin/src/pages/Cashout/Cashout.jsx @@ -1,5 +1,4 @@ -import { useQuery, useMutation, gql } from "@apollo/client"; -import { makeStyles } from '@mui/styles' +import { useQuery, useMutation, gql } from '@apollo/client' import Switch from '@mui/material/Switch' import * as R from 'ramda' import React, { useState } from 'react' @@ -15,20 +14,6 @@ import { fromNamespace, toNamespace } from 'src/utils/config' import Wizard from './Wizard' import { DenominationsSchema, getElements } from './helper' -const useStyles = makeStyles({ - fudgeFactor: { - display: 'flex', - alignItems: 'center' - }, - switchLabel: { - margin: 6, - width: 24 - }, - autoComplete: { - width: '100%' - } -}) - const SAVE_CONFIG = gql` mutation Save($config: JSONObject) { saveConfig(config: $config) @@ -61,7 +46,6 @@ const GET_INFO = gql` ` const CashOut = ({ name: SCREEN_KEY }) => { - const classes = useStyles() const [wizard, setWizard] = useState(false) const { data, loading } = useQuery(GET_INFO) @@ -107,7 +91,7 @@ const CashOut = ({ name: SCREEN_KEY }) => { /> }> -
    +

    Transaction fudge factor

    { }} value={fudgeFactorActive} /> - + {fudgeFactorActive ? 'On' : 'Off'} @@ -150,7 +134,7 @@ const CashOut = ({ name: SCREEN_KEY }) => { error={error?.message} validationSchema={DenominationsSchema} disableRowEdit={R.compose(R.not, R.path(['active']))} - elements={getElements(machines, locale, classes)} + elements={getElements(machines, locale)} /> {R.isEmpty(machines) && } {wizard && ( diff --git a/new-lamassu-admin/src/pages/Cashout/WizardSplash.jsx b/new-lamassu-admin/src/pages/Cashout/WizardSplash.jsx index a7b210c0..dd9b0535 100644 --- a/new-lamassu-admin/src/pages/Cashout/WizardSplash.jsx +++ b/new-lamassu-admin/src/pages/Cashout/WizardSplash.jsx @@ -1,64 +1,20 @@ -import { makeStyles } from '@mui/styles' import React from 'react' import { H1, P, Info2 } from 'src/components/typography' import TxOutIcon from 'src/styling/icons/direction/cash-out.svg?react' import { Button } from 'src/components/buttons' -import { neon, spacer } from 'src/styling/variables' - -const styles = { - logo: { - maxHeight: 80, - maxWidth: 200 - }, - subtitle: { - margin: 0, - marginBottom: 42, - textAlign: 'center' - }, - text: { - margin: 0 - }, - button: { - margin: [[0, 'auto']] - }, - modalContent: { - display: 'flex', - flexDirection: 'column', - justifyContent: 'space-between', - flex: 1, - padding: [[0, 34, 107, 34]] - }, - innerContent: { - paddingBottom: 72 - }, - title: { - color: neon, - marginBottom: 12, - marginTop: 30, - textAlign: 'center' - }, - titleDecorator: { - verticalAlign: 'bottom', - marginRight: spacer * 1.5, - width: spacer * 3, - height: spacer * 3.25 - } -} - -const useStyles = makeStyles(styles) const WizardSplash = ({ name, onContinue }) => { - const classes = useStyles() - return ( -
    -
    -

    - +
    +
    +

    + Enable cash-out

    - {name} + + {name} +

    You are about to activate cash-out functionality on your {name}{' '} machine which will allow your customers to sell crypto to you. @@ -68,7 +24,7 @@ const WizardSplash = ({ name, onContinue }) => { denominations for the machine.

    -
    diff --git a/new-lamassu-admin/src/pages/Cashout/WizardStep.jsx b/new-lamassu-admin/src/pages/Cashout/WizardStep.jsx index 9e4a70b1..6aa881c9 100644 --- a/new-lamassu-admin/src/pages/Cashout/WizardStep.jsx +++ b/new-lamassu-admin/src/pages/Cashout/WizardStep.jsx @@ -1,4 +1,3 @@ -import { makeStyles } from '@mui/styles' import { Formik, Form, Field } from 'formik' import React from 'react' import ErrorMessage from 'src/components/ErrorMessage' @@ -18,9 +17,6 @@ import tejo4CassetteTwo from 'src/styling/icons/cassettes/tejo/4-cassettes/4-cas import tejo4CassetteThree from 'src/styling/icons/cassettes/tejo/4-cassettes/4-cassettes-open-3-left.svg' import tejo4CassetteFour from 'src/styling/icons/cassettes/tejo/4-cassettes/4-cassettes-open-4-left.svg' -import styles from './WizardStep.styles' -const useStyles = makeStyles(styles) - const getCassetesArtworks = () => ({ 1: { 1: cassetteOne @@ -54,14 +50,12 @@ const WizardStep = ({ options, numberOfCassettes }) => { - const classes = useStyles() - const label = isLastStep ? 'Finish' : 'Next' const cassetteIcon = getCassetesArtworks()[numberOfCassettes] return ( <> -
    - {name} +
    + {name}
    @@ -78,18 +72,18 @@ const WizardStep = ({ }} enableReinitialize validationSchema={schema}> -
    -
    + +
    {steps.map( ({ type, display, component }, idx) => 1 + idx === step && ( -
    -

    Edit {display}

    +
    +

    Edit {display}

    Choose bill denomination -
    +
    - + {fiatCurrency}
    @@ -110,14 +104,14 @@ const WizardStep = ({ ) )} cassette
    - @@ -125,11 +119,11 @@ const WizardStep = ({ )} {isLastStep && ( -
    +
    - Cash Cassette Bill Count + Cash Cassette Bill Count

    - + When enabling cash-out, your bill count will be automatically set to zero. Make sure you physically put cash inside the cash cassettes to allow the machine to dispense it to your users. If @@ -137,9 +131,9 @@ const WizardStep = ({ count for this machine on your Cash boxes & cassettes tab under Maintenance.

    - Default Commissions + Default Commissions

    - + When enabling cash-out, default commissions will be set. To change commissions for this machine, please go to the Commissions tab under Settings where you can set exceptions for each of the @@ -147,7 +141,7 @@ const WizardStep = ({

    {error && Failed to save} -
    diff --git a/new-lamassu-admin/src/pages/Cashout/WizardStep.styles.js b/new-lamassu-admin/src/pages/Cashout/WizardStep.styles.js deleted file mode 100644 index 4cd13301..00000000 --- a/new-lamassu-admin/src/pages/Cashout/WizardStep.styles.js +++ /dev/null @@ -1,61 +0,0 @@ -import { errorColor, spacer } from 'src/styling/variables' - -const LABEL_WIDTH = 150 - -export default { - title: { - margin: [[0, 0, 12, 0]] - }, - titleDiv: { - paddingBottom: 32 - }, - subtitle: { - margin: [[32, 0, 21, 0]] - }, - edit: { - margin: [[0, 0, 0, 0]] - }, - error: { - color: errorColor - }, - bill: { - width: 131, - display: 'flex', - alignItems: 'center', - justifyContent: 'end' - }, - billInput: { - width: '100%' - }, - suffix: { - paddingLeft: spacer * 2 - }, - submit: { - alignSelf: 'flex-end' - }, - picker: { - width: LABEL_WIDTH - }, - header: { - display: 'flex' - }, - column: { - display: 'flex', - flexGrow: 2, - flexDirection: 'column', - paddingBottom: 32, - justifyContent: 'space-between' - }, - step: { - flex: 1 - }, - stepImage: { - position: 'relative', - top: -20, - right: 14 - }, - disclaimerIcon: { - float: 'left', - margin: [[2, 16, 48, 0]] - } -} diff --git a/new-lamassu-admin/src/pages/Cashout/helper.js b/new-lamassu-admin/src/pages/Cashout/helper.js index 8178a2f2..8aa62d0b 100644 --- a/new-lamassu-admin/src/pages/Cashout/helper.js +++ b/new-lamassu-admin/src/pages/Cashout/helper.js @@ -102,7 +102,7 @@ const DenominationsSchema = Yup.object() }) ) -const getElements = (machines, locale = {}, classes) => { +const getElements = (machines, locale = {}) => { const fiatCurrency = R.prop('fiatCurrency')(locale) const maxNumberOfCassettes = Math.max( ...R.map(it => it.numberOfCassettes, machines), @@ -122,7 +122,7 @@ const getElements = (machines, locale = {}, classes) => { options: options, labelProp: 'display', valueProp: 'code', - className: classes.autoComplete + className: 'w-full' } : { decimalPlaces: 0 } diff --git a/new-lamassu-admin/src/styling/global/global.css b/new-lamassu-admin/src/styling/global/global.css index af8794ce..5c8432f6 100644 --- a/new-lamassu-admin/src/styling/global/global.css +++ b/new-lamassu-admin/src/styling/global/global.css @@ -41,6 +41,7 @@ --color-tomato: var(--tomato); --color-ghost: var(--ghost); --color-zircon: var(--zircon); + --color-neon: var(--neon); --color-malachite: var(--malachite); --color-orange-yellow: var(--orange-yellow); } From 926b7e6933c60fc94e853fc0571f94490416266b Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Tue, 29 Apr 2025 12:58:08 +0100 Subject: [PATCH 44/85] partial: commissions css migration --- .../src/pages/Commissions/Commissions.jsx | 15 ++------- .../components/CommissionsList.jsx | 31 +++---------------- 2 files changed, 6 insertions(+), 40 deletions(-) diff --git a/new-lamassu-admin/src/pages/Commissions/Commissions.jsx b/new-lamassu-admin/src/pages/Commissions/Commissions.jsx index 36b2388b..bfe4a9d2 100644 --- a/new-lamassu-admin/src/pages/Commissions/Commissions.jsx +++ b/new-lamassu-admin/src/pages/Commissions/Commissions.jsx @@ -1,5 +1,4 @@ -import { useQuery, useMutation, gql } from "@apollo/client"; -import { makeStyles } from '@mui/styles' +import { useQuery, useMutation, gql } from '@apollo/client' import * as R from 'ramda' import React, { useState } from 'react' import { HelpTooltip } from 'src/components/Tooltip' @@ -16,14 +15,6 @@ import { P } from '../../components/typography' import CommissionsDetails from './components/CommissionsDetails' import CommissionsList from './components/CommissionsList' -const styles = { - listViewButton: { - marginLeft: 4 - } -} - -const useStyles = makeStyles(styles) - const GET_DATA = gql` query getData { config @@ -49,7 +40,6 @@ const removeCoinFromOverride = crypto => override => }) const Commissions = ({ name: SCREEN_KEY }) => { - const classes = useStyles() const [showMachines, setShowMachines] = useState(false) const [error, setError] = useState(null) const { data, loading } = useQuery(GET_DATA) @@ -120,7 +110,7 @@ const Commissions = ({ name: SCREEN_KEY }) => { toggle: setShowMachines } ]} - iconClassName={classes.listViewButton} + iconClassName="ml-1" appendix={

    @@ -150,7 +140,6 @@ const Commissions = ({ name: SCREEN_KEY }) => { error={error} save={save} saveOverrides={saveOverrides} - classes={classes} /> )} {showMachines && !loading && ( diff --git a/new-lamassu-admin/src/pages/Commissions/components/CommissionsList.jsx b/new-lamassu-admin/src/pages/Commissions/components/CommissionsList.jsx index 0889e6dd..927660c8 100644 --- a/new-lamassu-admin/src/pages/Commissions/components/CommissionsList.jsx +++ b/new-lamassu-admin/src/pages/Commissions/components/CommissionsList.jsx @@ -1,4 +1,3 @@ -import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { memo, useState } from 'react' import { @@ -11,24 +10,6 @@ import { import { Table as EditableTable } from 'src/components/editableTable' import { Select } from 'src/components/inputs' -const styles = { - headerLine: { - display: 'flex', - justifyContent: '', - marginBottom: 24 - }, - select: { - marginRight: 24 - }, - tableWrapper: { - flex: 1, - display: 'block', - overflowY: 'auto', - width: '100%', - maxHeight: '70vh' - } -} - const SHOW_ALL = { code: 'SHOW_ALL', display: 'Show all' @@ -61,8 +42,6 @@ const ORDER_OPTIONS = [ } ] -const useStyles = makeStyles(styles) - const getElement = (code, display) => ({ code: code, display: display || code @@ -92,8 +71,6 @@ const filterCommissions = (coinFilter, machineFilter) => const CommissionsList = memo( ({ config, localeConfig, currency, data, error, saveOverrides }) => { - const classes = useStyles() - const [machineFilter, setMachineFilter] = useState(SHOW_ALL) const [coinFilter, setCoinFilter] = useState(SHOW_ALL) const [orderProp, setOrderProp] = useState(ORDER_OPTIONS[0]) @@ -137,9 +114,9 @@ const CommissionsList = memo( return (

    -
    +
    -
    +
    Date: Mon, 5 May 2025 14:43:58 +0100 Subject: [PATCH 45/85] partial: customer page css migration --- .../src/components/buttons/ActionButton.jsx | 5 +- .../components/buttons/ActionButton.styles.js | 4 + .../src/components/inputs/base/TextInput.jsx | 13 +- .../src/pages/Customers/CustomerData.jsx | 247 +++----- .../pages/Customers/CustomerData.styles.js | 49 -- .../src/pages/Customers/CustomerNotes.jsx | 11 +- .../pages/Customers/CustomerNotes.styles.js | 17 - .../src/pages/Customers/CustomerPhotos.jsx | 28 +- .../pages/Customers/CustomerPhotos.styles.js | 38 -- .../src/pages/Customers/CustomerProfile.jsx | 59 +- .../pages/Customers/CustomerProfile.styles.js | 81 --- .../src/pages/Customers/Customers.jsx | 7 +- .../src/pages/Customers/CustomersList.jsx | 8 +- .../pages/Customers/CustomersList.styles.js | 117 ---- .../src/pages/Customers/Wizard.jsx | 55 +- .../components/CreateCustomerModal.jsx | 41 +- .../components/CustomInfoRequestsData.jsx | 193 ------ .../Customers/components/CustomerDetails.jsx | 20 +- .../Customers/components/CustomerSidebar.jsx | 25 +- .../components/CustomerSidebar.styles.js | 41 -- .../Customers/components/EditableCard.jsx | 550 +++++++----------- .../components/EditableCard.styles.js | 70 --- .../src/pages/Customers/components/Field.jsx | 38 -- .../Customers/components/FrontCameraPhoto.jsx | 28 - .../Customers/components/IdCardPhotoCard.jsx | 52 -- .../pages/Customers/components/IdDataCard.jsx | 88 --- .../pages/Customers/components/PhoneCard.jsx | 36 -- .../pages/Customers/components/PhotosCard.jsx | 22 +- .../Customers/components/PhotosCard.styles.js | 42 -- .../Customers/components/PhotosCarousel.jsx | 18 +- .../components/PhotosCarousel.styles.js | 30 - .../Customers/components/TransactionsList.jsx | 47 +- .../src/pages/Customers/components/Upload.jsx | 54 +- .../Customers/components/Upload.module.css | 14 + .../src/pages/Customers/components/consts.js | 5 + .../src/pages/Customers/components/index.js | 6 - .../components/notes/NewNoteCard.jsx | 19 +- .../components/notes/NewNoteModal.jsx | 16 +- .../components/notes/NewNoteModal.styles.js | 25 - .../Customers/components/notes/NoteCard.jsx | 48 +- .../components/notes/NoteCard.styles.js | 93 --- .../Customers/components/notes/NoteEdit.jsx | 14 +- .../components/propertyCard/PropertyCard.jsx | 132 ----- .../propertyCard/PropertyCard.styles.js | 69 --- .../components/propertyCard/index.js | 13 - .../src/pages/Customers/helper.jsx | 105 +--- .../pages/Transactions/CopyToClipboard.jsx | 3 +- .../src/styling/global/global.css | 11 + 48 files changed, 524 insertions(+), 2183 deletions(-) delete mode 100644 new-lamassu-admin/src/pages/Customers/CustomerData.styles.js delete mode 100644 new-lamassu-admin/src/pages/Customers/CustomerNotes.styles.js delete mode 100644 new-lamassu-admin/src/pages/Customers/CustomerPhotos.styles.js delete mode 100644 new-lamassu-admin/src/pages/Customers/CustomerProfile.styles.js delete mode 100644 new-lamassu-admin/src/pages/Customers/CustomersList.styles.js delete mode 100644 new-lamassu-admin/src/pages/Customers/components/CustomInfoRequestsData.jsx delete mode 100644 new-lamassu-admin/src/pages/Customers/components/CustomerSidebar.styles.js delete mode 100644 new-lamassu-admin/src/pages/Customers/components/EditableCard.styles.js delete mode 100644 new-lamassu-admin/src/pages/Customers/components/Field.jsx delete mode 100644 new-lamassu-admin/src/pages/Customers/components/FrontCameraPhoto.jsx delete mode 100644 new-lamassu-admin/src/pages/Customers/components/IdCardPhotoCard.jsx delete mode 100644 new-lamassu-admin/src/pages/Customers/components/IdDataCard.jsx delete mode 100644 new-lamassu-admin/src/pages/Customers/components/PhoneCard.jsx delete mode 100644 new-lamassu-admin/src/pages/Customers/components/PhotosCard.styles.js delete mode 100644 new-lamassu-admin/src/pages/Customers/components/PhotosCarousel.styles.js create mode 100644 new-lamassu-admin/src/pages/Customers/components/Upload.module.css create mode 100644 new-lamassu-admin/src/pages/Customers/components/consts.js delete mode 100644 new-lamassu-admin/src/pages/Customers/components/notes/NewNoteModal.styles.js delete mode 100644 new-lamassu-admin/src/pages/Customers/components/notes/NoteCard.styles.js delete mode 100644 new-lamassu-admin/src/pages/Customers/components/propertyCard/PropertyCard.jsx delete mode 100644 new-lamassu-admin/src/pages/Customers/components/propertyCard/PropertyCard.styles.js delete mode 100644 new-lamassu-admin/src/pages/Customers/components/propertyCard/index.js diff --git a/new-lamassu-admin/src/components/buttons/ActionButton.jsx b/new-lamassu-admin/src/components/buttons/ActionButton.jsx index d2fb2043..36eba7cf 100644 --- a/new-lamassu-admin/src/components/buttons/ActionButton.jsx +++ b/new-lamassu-admin/src/components/buttons/ActionButton.jsx @@ -7,14 +7,15 @@ import styles from './ActionButton.styles' const useStyles = makeStyles(styles) const ActionButton = memo( - ({ className, Icon, InverseIcon, color, children, ...props }) => { + ({ className, Icon, InverseIcon, color, center, children, ...props }) => { const classes = useStyles() const classNames = { [classes.actionButton]: true, [classes.primary]: color === 'primary', [classes.secondary]: color === 'secondary', [classes.spring]: color === 'spring', - [classes.tomato]: color === 'tomato' + [classes.tomato]: color === 'tomato', + [classes.center]: center } return ( diff --git a/new-lamassu-admin/src/components/buttons/ActionButton.styles.js b/new-lamassu-admin/src/components/buttons/ActionButton.styles.js index f924347a..d6659029 100644 --- a/new-lamassu-admin/src/components/buttons/ActionButton.styles.js +++ b/new-lamassu-admin/src/components/buttons/ActionButton.styles.js @@ -119,5 +119,9 @@ export default { } } }, + center: { + alignItems: 'center', + justifyContent: 'center' + }, actionButtonIconActive: {} } diff --git a/new-lamassu-admin/src/components/inputs/base/TextInput.jsx b/new-lamassu-admin/src/components/inputs/base/TextInput.jsx index 33ba68ac..2c4592e7 100644 --- a/new-lamassu-admin/src/components/inputs/base/TextInput.jsx +++ b/new-lamassu-admin/src/components/inputs/base/TextInput.jsx @@ -19,6 +19,7 @@ const TextInput = memo( suffix, textAlign, width, + inputClasses, // lg or sm size, bold, @@ -29,7 +30,7 @@ const TextInput = memo( const classes = useStyles({ textAlign, width, size }) const isTextFilled = !error && !R.isNil(value) && !R.isEmpty(value) const filled = isPasswordFilled || isTextFilled - const inputClasses = { + const divClass = { [classes.bold]: bold } @@ -44,15 +45,17 @@ const TextInput = memo( classes={{ root: classes.root }} className={className} InputProps={{ - className: classnames(inputClasses), + className: classnames(divClass), classes: { root: classes.size, - underline: filled ? classes.underline : null + underline: filled ? classes.underline : null, + input: inputClasses }, ...InputProps }} - {...props} /> - ); + {...props} + /> + ) } ) diff --git a/new-lamassu-admin/src/pages/Customers/CustomerData.jsx b/new-lamassu-admin/src/pages/Customers/CustomerData.jsx index e1f9a265..61a8e1d3 100644 --- a/new-lamassu-admin/src/pages/Customers/CustomerData.jsx +++ b/new-lamassu-admin/src/pages/Customers/CustomerData.jsx @@ -1,28 +1,19 @@ -import Grid from '@mui/material/Grid' -import { makeStyles } from '@mui/styles' import * as R from 'ramda' import { useState, React } from 'react' import ImagePopper from 'src/components/ImagePopper' import { H3, Info3 } from 'src/components/typography' import CardIcon from 'src/styling/icons/ID/card/comet.svg?react' import PhoneIcon from 'src/styling/icons/ID/phone/comet.svg?react' -import CrossedCameraIcon from 'src/styling/icons/ID/photo/crossed-camera.svg?react' import EditIcon from 'src/styling/icons/action/edit/comet.svg?react' -import CustomerListViewReversedIcon from 'src/styling/icons/circle buttons/customer-list-view/white.svg?react' -import CustomerListViewIcon from 'src/styling/icons/circle buttons/customer-list-view/zodiac.svg?react' -import OverviewReversedIcon from 'src/styling/icons/circle buttons/overview/white.svg?react' -import OverviewIcon from 'src/styling/icons/circle buttons/overview/zodiac.svg?react' import * as Yup from 'yup' -import { FeatureButton } from 'src/components/buttons' import { TextInput } from 'src/components/inputs/formik' import { OVERRIDE_AUTHORIZED, OVERRIDE_REJECTED -} from 'src/pages/Customers/components/propertyCard' +} from 'src/pages/Customers/components/consts' import { onlyFirstToUpper } from 'src/utils/string' -import styles from './CustomerData.styles' import { EditableCard } from './components' import { customerDataElements, @@ -32,32 +23,20 @@ import { getFormattedPhone } from './helper' -const useStyles = makeStyles(styles) - const IMAGE_WIDTH = 165 const IMAGE_HEIGHT = 32 const POPUP_IMAGE_WIDTH = 360 const POPUP_IMAGE_HEIGHT = 240 -const Photo = ({ show, src }) => { - const classes = useStyles({ width: IMAGE_WIDTH }) - +const Photo = ({ src }) => { return ( - <> - {show ? ( - - ) : ( -
    - -
    - )} - + ) } @@ -75,8 +54,6 @@ const CustomerData = ({ setRetrieve, checkAgainstSanctions }) => { - const classes = useStyles() - const [listView, setListView] = useState(false) const [previewPhoto, setPreviewPhoto] = useState(null) const [previewCard, setPreviewCard] = useState(null) @@ -163,7 +140,7 @@ const CustomerData = ({ { fields: customerDataElements.idCardData, title: 'ID Scan', - titleIcon: , + titleIcon: , state: R.path(['idCardDataOverride'])(customer), authorize: () => updateCustomer({ idCardDataOverride: OVERRIDE_AUTHORIZED }), @@ -187,7 +164,7 @@ const CustomerData = ({ { fields: smsDataElements, title: 'SMS data', - titleIcon: , + titleIcon: , state: R.path(['phoneOverride'])(customer), authorize: () => updateCustomer({ phoneOverride: OVERRIDE_AUTHORIZED }), reject: () => updateCustomer({ phoneOverride: OVERRIDE_REJECTED }), @@ -208,7 +185,7 @@ const CustomerData = ({ { title: 'Email', fields: customerDataElements.email, - titleIcon: , + titleIcon: , // state: R.path(['emailOverride'])(customer), // authorize: () => updateCustomer({ emailOverride: OVERRIDE_AUTHORIZED }), // reject: () => updateCustomer({ emailOverride: OVERRIDE_REJECTED }), @@ -220,13 +197,13 @@ const CustomerData = ({ }, { title: 'Name', - titleIcon: , + titleIcon: , isAvailable: false, editable: true }, { title: 'Sanctions check', - titleIcon: , + titleIcon: , state: R.path(['sanctionsOverride'])(customer), authorize: () => updateCustomer({ sanctionsOverride: OVERRIDE_AUTHORIZED }), @@ -238,7 +215,7 @@ const CustomerData = ({ { fields: customerDataElements.frontCamera, title: 'Front facing camera', - titleIcon: , + titleIcon: , state: R.path(['frontCameraOverride'])(customer), authorize: () => updateCustomer({ frontCameraOverride: OVERRIDE_AUTHORIZED }), @@ -259,7 +236,6 @@ const CustomerData = ({ return customer.frontCameraPath ? ( , + titleIcon: , state: R.path(['idCardPhotoOverride'])(customer), authorize: () => updateCustomer({ idCardPhotoOverride: OVERRIDE_AUTHORIZED }), @@ -298,7 +274,6 @@ const CustomerData = ({ return customer.idCardPhotoPath ? ( , + titleIcon: , state: R.path(['usSsnOverride'])(customer), authorize: () => updateCustomer({ usSsnOverride: OVERRIDE_AUTHORIZED }), reject: () => updateCustomer({ usSsnOverride: OVERRIDE_REJECTED }), @@ -342,7 +317,7 @@ const CustomerData = ({ } ], title: it.customInfoRequest.customRequest.name, - titleIcon: , + titleIcon: , state: R.path(['override'])(it), authorize: () => authorizeCustomRequest({ @@ -395,7 +370,7 @@ const CustomerData = ({ } ], title: it.label, - titleIcon: , + titleIcon: , save: values => { updateCustomEntry({ fieldId: it.id, @@ -445,7 +420,7 @@ const CustomerData = ({ editable: false } ], - titleIcon: , + titleIcon: , title: `External Info [${it.service}]`, initialValues: it ?? { externalId: '', @@ -477,26 +452,28 @@ const CustomerData = ({ idx ) => { return ( - - {children} - +
    + + {children} + +
    ) } @@ -505,113 +482,67 @@ const CustomerData = ({ idx ) => { return ( - - {children} - +
    + + {children} + +
    ) } const visibleCards = getVisibleCards(cards) + const Separator = ({ title }) => ( +
    +
    +
    + {title} +
    +
    +
    + ) + return (
    -
    -

    {'Customer data'}

    - { - // TODO: Remove false condition for next release - // false && ( - // <> - // setListView(false)} - // /> - // setListView(true)}> - // - // ) - } -
    +

    {'Customer data'}

    - {!listView && customer && ( - - - {visibleCards.map((elem, idx) => { - return isEven(idx) ? editableCard(elem, idx) : null - })} - - - {visibleCards.map((elem, idx) => { - return !isEven(idx) ? editableCard(elem, idx) : null - })} - - - )} - {!R.isEmpty(customFields) && ( -
    - Custom data entry - - + {customer && ( +
    + {visibleCards.map((elem, idx) => { + return editableCard(elem, idx) + })} + {!R.isEmpty(customFields) && ( + <> + {customFields.map((elem, idx) => { - return isEven(idx) ? editableCard(elem, idx) : null + return editableCard(elem, idx) })} - - - {customFields.map((elem, idx) => { - return !isEven(idx) ? editableCard(elem, idx) : null - })} - - -
    - )} - {!R.isEmpty(customRequirements) && ( -
    - Custom requirements - - + + )} + {!R.isEmpty(customRequirements) && ( + <> + {customRequirements.map((elem, idx) => { - return isEven(idx) ? editableCard(elem, idx) : null + return editableCard(elem, idx) })} - - - {customRequirements.map((elem, idx) => { - return !isEven(idx) ? editableCard(elem, idx) : null - })} - - -
    - )} - {!R.isEmpty(externalCompliance) && ( -
    - - External compliance information - - - + + )} + {!R.isEmpty(externalCompliance) && ( + <> + {externalCompliance.map((elem, idx) => { - return isEven(idx) ? nonEditableCard(elem, idx) : null + return nonEditableCard(elem, idx) })} - - - {externalCompliance.map((elem, idx) => { - return !isEven(idx) ? nonEditableCard(elem, idx) : null - })} - - + + )}
    )}
    diff --git a/new-lamassu-admin/src/pages/Customers/CustomerData.styles.js b/new-lamassu-admin/src/pages/Customers/CustomerData.styles.js deleted file mode 100644 index 373e2f0c..00000000 --- a/new-lamassu-admin/src/pages/Customers/CustomerData.styles.js +++ /dev/null @@ -1,49 +0,0 @@ -import { offColor } from 'src/styling/variables' - -export default { - header: { - display: 'flex', - flexDirection: 'row', - marginBottom: 15 - }, - title: { - marginTop: 7, - marginRight: 24 - }, - editIcon: { - marginTop: 5 - }, - cardIcon: { - marginTop: 7 - }, - viewIcons: { - marginRight: 12 - }, - wrapper: { - display: 'block', - overflow: 'hidden', - whiteSpace: 'nowrap' - }, - separator: { - color: offColor, - margin: [[8, 0, 8, 150]], - position: 'relative', - display: 'inline-block', - '&:before, &:after': { - content: '""', - position: 'absolute', - background: offColor, - top: '50%', - width: 1000, - height: 1 - }, - '&:before': { - right: '100%', - marginRight: 15 - }, - '&:after': { - left: '100%', - marginLeft: 15 - } - } -} diff --git a/new-lamassu-admin/src/pages/Customers/CustomerNotes.jsx b/new-lamassu-admin/src/pages/Customers/CustomerNotes.jsx index 8e8f01b7..ee1ad95e 100644 --- a/new-lamassu-admin/src/pages/Customers/CustomerNotes.jsx +++ b/new-lamassu-admin/src/pages/Customers/CustomerNotes.jsx @@ -1,16 +1,12 @@ -import { makeStyles } from '@mui/styles' import * as R from 'ramda' import { React, useState } from 'react' import { H3 } from 'src/components/typography' -import styles from './CustomerNotes.styles' import NewNoteCard from './components/notes/NewNoteCard' import NewNoteModal from './components/notes/NewNoteModal' import NoteCard from './components/notes/NoteCard' import NoteEdit from './components/notes/NoteEdit' -const useStyles = makeStyles(styles) - const CustomerNotes = ({ customer, createNote, @@ -18,7 +14,6 @@ const CustomerNotes = ({ editNote, timezone }) => { - const classes = useStyles() const [openModal, setOpenModal] = useState(false) const [editing, setEditing] = useState(null) @@ -52,11 +47,9 @@ const CustomerNotes = ({ return (
    -
    -

    {'Notes'}

    -
    +

    {'Notes'}

    {R.isNil(editing) && ( -
    +
    {customerNotes.map((it, idx) => ( { - const classes = useStyles() - const [photosDialog, setPhotosDialog] = useState(false) const [photoClickedIndex, setPhotoClickIndex] = useState(null) const orderedPhotosData = !R.isNil(photoClickedIndex) @@ -23,10 +17,8 @@ const CustomerPhotos = ({ photosData, timezone }) => { return (
    -
    -

    {'Photos & files'}

    -
    -
    +

    {'Photos & files'}

    +
    {photosData.map((elem, idx) => ( { - const classes = useStyles() - return ( { setPhotoClickIndex(idx) setPhotosDialog(true) }}> - -
    + +
    - - {format('yyyy-MM-dd', new Date(date))} - + {format('yyyy-MM-dd', new Date(date))}
    ) diff --git a/new-lamassu-admin/src/pages/Customers/CustomerPhotos.styles.js b/new-lamassu-admin/src/pages/Customers/CustomerPhotos.styles.js deleted file mode 100644 index 93d8637f..00000000 --- a/new-lamassu-admin/src/pages/Customers/CustomerPhotos.styles.js +++ /dev/null @@ -1,38 +0,0 @@ -const styles = { - header: { - display: 'flex', - flexDirection: 'row' - }, - title: { - marginTop: 7, - marginRight: 24, - marginBottom: 32 - }, - photosChipList: { - display: 'flex', - flexDirection: 'row', - flexWrap: 'wrap', - gap: 14 - }, - image: { - objectFit: 'cover', - objectPosition: 'center', - width: 224, - height: 200, - borderTopLeftRadius: 4, - borderTopRightRadius: 4 - }, - photoCardChip: { - cursor: 'pointer' - }, - footer: { - display: 'flex', - flexDirection: 'row', - margin: [[8, 0, 0, 8]] - }, - date: { - margin: [[0, 0, 8, 12]] - } -} - -export default styles diff --git a/new-lamassu-admin/src/pages/Customers/CustomerProfile.jsx b/new-lamassu-admin/src/pages/Customers/CustomerProfile.jsx index 219c3cb5..acae9d2e 100644 --- a/new-lamassu-admin/src/pages/Customers/CustomerProfile.jsx +++ b/new-lamassu-admin/src/pages/Customers/CustomerProfile.jsx @@ -4,7 +4,6 @@ import DialogActions from '@mui/material/DialogActions' import DialogContent from '@mui/material/DialogContent' import Dialog from '@mui/material/Dialog' import Switch from '@mui/material/Switch' -import { makeStyles } from '@mui/styles' import NavigateNextIcon from '@mui/icons-material/NavigateNext' import * as R from 'ramda' import React, { memo, useState } from 'react' @@ -23,7 +22,7 @@ import { Button, IconButton, ActionButton } from 'src/components/buttons' import { OVERRIDE_AUTHORIZED, OVERRIDE_REJECTED -} from 'src/pages/Customers/components/propertyCard' +} from 'src/pages/Customers/components/consts' // TODO: Enable for next release // import DiscountReversedIcon from 'src/styling/icons/button/discount/white.svg?react' // import Discount from 'src/styling/icons/button/discount/zodiac.svg?react' @@ -32,7 +31,6 @@ import { fromNamespace, namespaces } from 'src/utils/config' import CustomerData from './CustomerData' import CustomerNotes from './CustomerNotes' import CustomerPhotos from './CustomerPhotos' -import styles from './CustomerProfile.styles' import { CustomerDetails, TransactionsList, @@ -41,8 +39,6 @@ import { } from './components' import { getFormattedPhone, getName, formatPhotosData } from './helper' -const useStyles = makeStyles(styles) - const GET_CUSTOMER = gql` query customer($customerId: ID!) { config @@ -528,23 +524,22 @@ const CustomerProfile = memo(() => { display: it.customRequest.name })) ?? [] - const classes = useStyles() const email = R.path(['email'])(customerData) const phone = R.path(['phone'])(customerData) return ( <> } aria-label="breadcrumb"> history.push('/compliance/customers')}> Customers - + {name.length ? name : email?.length @@ -552,8 +547,8 @@ const CustomerProfile = memo(() => { : getFormattedPhone(phone, locale.country)} -
    -
    +
    +
    {!loading && !customerData.isAnonymous && ( <> { onClick={onClickSidebarItem} />
    - Actions -
    + + Actions + +
    { {`Manual data entry`} {/* { */} {isSuspended && ( { )} {
    - + {`Special user status`} -
    -
    +
    +
    { : enableTestCustomer() } /> - {`Test user`} + Test user
    )}
    -
    +
    {isOverview && (
    @@ -724,8 +720,6 @@ const RetrieveDataDialog = ({ error, props }) => { - const classes = useStyles() - return ( -
    +
    onDismissed(false)}>
    -

    {'Retrieve API data from Twilio'}

    - +

    {'Retrieve API data from Twilio'}

    + {`With this action you'll be using Twilio's API to retrieve additional data from this user. This includes name and address, if available.\n`} {` There is a small cost from Twilio for each retrieval. Would you like to proceed?`} {error && ( - + Failed to fetch additional data )} - -
    diff --git a/new-lamassu-admin/src/pages/Customers/components/CreateCustomerModal.jsx b/new-lamassu-admin/src/pages/Customers/components/CreateCustomerModal.jsx index ba7e1484..c71f5289 100644 --- a/new-lamassu-admin/src/pages/Customers/components/CreateCustomerModal.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/CreateCustomerModal.jsx @@ -1,4 +1,3 @@ -import { makeStyles } from '@mui/styles' import { Field, Form, Formik } from 'formik' import { parsePhoneNumberWithError } from 'libphonenumber-js' import * as R from 'ramda' @@ -10,28 +9,6 @@ import * as Yup from 'yup' import { Button } from 'src/components/buttons' import { TextInput } from 'src/components/inputs/formik' -import { spacer, primaryColor, fontPrimary } from 'src/styling/variables' - -const styles = { - modalTitle: { - marginTop: -5, - color: primaryColor, - fontFamily: fontPrimary - }, - footer: { - display: 'flex', - flexDirection: 'row', - margin: [['auto', 0, spacer * 3, 0]] - }, - form: { - display: 'flex', - flexDirection: 'column', - height: '100%' - }, - submit: { - margin: [['auto', 0, 0, 'auto']] - } -} const getValidationSchema = countryCodes => Yup.object().shape({ @@ -39,7 +16,9 @@ const getValidationSchema = countryCodes => .required('A phone number is required') .test('is-valid-number', 'That is not a valid phone number', value => { try { - return countryCodes.some(countryCode => parsePhoneNumberWithError(value, countryCode).isValid()) + return countryCodes.some(countryCode => + parsePhoneNumberWithError(value, countryCode).isValid() + ) } catch (e) { return false } @@ -60,8 +39,6 @@ const initialValues = { phoneNumber: '' } -const useStyles = makeStyles(styles) - const getErrorMsg = (formikErrors, formikTouched) => { if (!formikErrors || !formikTouched) return null if (formikErrors.phoneNumber && formikTouched.phoneNumber) @@ -70,8 +47,6 @@ const getErrorMsg = (formikErrors, formikTouched) => { } const CreateCustomerModal = ({ showModal, handleClose, onSubmit, locale }) => { - const classes = useStyles() - const possibleCountries = R.append( locale?.country, R.map(it => it.country, locale?.overrides ?? []) @@ -99,8 +74,10 @@ const CreateCustomerModal = ({ showModal, handleClose, onSubmit, locale }) => { }) }}> {({ errors, touched }) => ( - -

    Create new customer

    + +

    Create new customer

    { autoFocus label="Phone number" /> -
    +
    {getErrorMsg(errors, touched) && ( {getErrorMsg(errors, touched)} )}
    diff --git a/new-lamassu-admin/src/pages/Customers/components/CustomInfoRequestsData.jsx b/new-lamassu-admin/src/pages/Customers/components/CustomInfoRequestsData.jsx deleted file mode 100644 index 037a161f..00000000 --- a/new-lamassu-admin/src/pages/Customers/components/CustomInfoRequestsData.jsx +++ /dev/null @@ -1,193 +0,0 @@ -import { useMutation, gql } from "@apollo/client"; -import { makeStyles } from '@mui/styles' -import classnames from 'classnames' -import React, { useState } from 'react' -import Modal from 'src/components/Modal' -import { MainStatus } from 'src/components/Status' -import { - Table, - THead, - Th, - Tr, - Td, - TBody -} from 'src/components/fake-table/Table' -import { H3, Label1 } from 'src/components/typography' -import AuthorizeReversedIcon from 'src/styling/icons/button/authorize/white.svg?react' -import AuthorizeIcon from 'src/styling/icons/button/authorize/zodiac.svg?react' -import RejectReversedIcon from 'src/styling/icons/button/cancel/white.svg?react' -import RejectIcon from 'src/styling/icons/button/cancel/zodiac.svg?react' -import LinkIcon from 'src/styling/icons/month arrows/right.svg?react' - -import { ActionButton } from 'src/components/buttons' -import { white, disabledColor } from 'src/styling/variables' - -import DetailsCard from '../../Triggers/CustomInfoRequests/DetailsCard' -const styles = { - white: { - color: white - }, - actionButton: { - display: 'flex', - height: 28, - marginRight: 'auto' - }, - flex: { - display: 'flex' - }, - disabledBtn: { - backgroundColor: disabledColor, - '&:hover': { - backgroundColor: disabledColor - } - }, - linkIcon: { - marginTop: 12, - marginLeft: 4, - cursor: 'pointer' - } -} - -const SET_AUTHORIZED_REQUEST = gql` - mutation setAuthorizedCustomRequest( - $customerId: ID! - $infoRequestId: ID! - $override: String! - ) { - setAuthorizedCustomRequest( - customerId: $customerId - infoRequestId: $infoRequestId - override: $override - ) - } -` - -const useStyles = makeStyles(styles) -const CustomInfoRequestsData = ({ data }) => { - const classes = useStyles() - const [toView, setToView] = useState(null) - const [setAuthorized] = useMutation(SET_AUTHORIZED_REQUEST, { - onError: () => console.error('Error while clearing notification'), - refetchQueries: () => ['customer'] - }) - - const authorize = it => - setAuthorized({ - variables: { - customerId: it.customerId, - infoRequestId: it.customInfoRequest.id, - isAuthorized: true - } - }) - - const reject = it => - setAuthorized({ - variables: { - customerId: it.customerId, - infoRequestId: it.customInfoRequest.id, - isAuthorized: false - } - }) - - const getBtnClasses = (it, isAuthorize) => { - return { - [classes.actionButton]: true, - [classes.disabledBtn]: - (isAuthorize && it.approved === true) || - (!isAuthorize && it.approved === false) - } - } - - const AuthorizeButton = it => ( - authorize(it)}> - Authorize - - ) - - const RejectButton = it => ( - reject(it)}> - Reject - - ) - - const getActionButtons = it => { - return ( - <> - {AuthorizeButton(it)} - {RejectButton(it)} - - ) - } - - const getAuthorizedStatus = it => - it.approved === null - ? { label: 'Pending', type: 'neutral' } - : it.approved === false - ? { label: 'Rejected', type: 'error' } - : { label: 'Accepted', type: 'success' } - - return ( - <> -

    Custom Info Requests Data

    -
    - - - - - - - - - {data.map((it, idx) => ( - - - - - - - - - ))} - -
    Custom Request NameCustom Request DataStatus - Actions -
    -
    - {it.customInfoRequest.customRequest.name} -
    setToView(it)}> - -
    -
    -
    -
    {JSON.stringify(it.customerData.data, null, 2)}
    -
    - - -
    {getActionButtons(it)}
    -
    - {toView && ( - setToView(null)}> -

    Custom Information Request Details

    - -
    - )} -
    - - ) -} - -export default CustomInfoRequestsData diff --git a/new-lamassu-admin/src/pages/Customers/components/CustomerDetails.jsx b/new-lamassu-admin/src/pages/Customers/components/CustomerDetails.jsx index 3b285039..fb09c760 100644 --- a/new-lamassu-admin/src/pages/Customers/components/CustomerDetails.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/CustomerDetails.jsx @@ -1,19 +1,13 @@ -import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { memo } from 'react' import { H2, Label1, P } from 'src/components/typography' import IdIcon from 'src/styling/icons/ID/card/zodiac.svg?react' -import mainStyles from '../CustomersList.styles' import { getFormattedPhone, getName } from '../helper' import PhotosCard from './PhotosCard' -const useStyles = makeStyles(mainStyles) - const CustomerDetails = memo(({ customer, photosData, locale, timezone }) => { - const classes = useStyles() - const idNumber = R.path(['idCardData', 'documentNumber'])(customer) const usSsn = R.path(['usSsn'])(customer) const name = getName(customer) @@ -50,11 +44,11 @@ const CustomerDetails = memo(({ customer, photosData, locale, timezone }) => { }) return ( -
    +
    -
    - +
    +

    {name.length ? name @@ -68,7 +62,7 @@ const CustomerDetails = memo(({ customer, photosData, locale, timezone }) => { {header} @@ -76,11 +70,7 @@ const CustomerDetails = memo(({ customer, photosData, locale, timezone }) => {

    {elements.map(({ size, value }, idx) => ( -

    +

    {value}

    ))} diff --git a/new-lamassu-admin/src/pages/Customers/components/CustomerSidebar.jsx b/new-lamassu-admin/src/pages/Customers/components/CustomerSidebar.jsx index f35041ba..3b396d96 100644 --- a/new-lamassu-admin/src/pages/Customers/components/CustomerSidebar.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/CustomerSidebar.jsx @@ -1,4 +1,3 @@ -import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React from 'react' import CustomerDataReversedIcon from 'src/styling/icons/customer-nav/data/comet.svg?react' @@ -10,12 +9,9 @@ import OverviewIcon from 'src/styling/icons/customer-nav/overview/white.svg?reac import PhotosReversedIcon from 'src/styling/icons/customer-nav/photos/comet.svg?react' import Photos from 'src/styling/icons/customer-nav/photos/white.svg?react' -import styles from './CustomerSidebar.styles' - -const useStyles = makeStyles(styles) +import { P } from '/src/components/typography/index.jsx' const CustomerSidebar = ({ isSelected, onClick }) => { - const classes = useStyles() const sideBarOptions = [ { code: 'overview', @@ -44,19 +40,24 @@ const CustomerSidebar = ({ isSelected, onClick }) => { ] return ( -
    +
    {sideBarOptions?.map(({ Icon, InverseIcon, display, code }, idx) => (
    onClick(code)}> -
    - {isSelected(code) ? : } -
    - {display} + {isSelected(code) ? : } +

    + {display} +

    ))}
    diff --git a/new-lamassu-admin/src/pages/Customers/components/CustomerSidebar.styles.js b/new-lamassu-admin/src/pages/Customers/components/CustomerSidebar.styles.js deleted file mode 100644 index 9485c7f4..00000000 --- a/new-lamassu-admin/src/pages/Customers/components/CustomerSidebar.styles.js +++ /dev/null @@ -1,41 +0,0 @@ -import typographyStyles from 'src/components/typography/styles' -import { zircon, offDarkColor, white } from 'src/styling/variables' - -const { tl2, p } = typographyStyles - -const sidebarColor = zircon - -export default { - sidebar: { - display: 'flex', - backgroundColor: sidebarColor, - width: 219, - flexDirection: 'column', - borderRadius: 5 - }, - link: { - alignItems: 'center', - display: 'flex', - extend: p, - position: 'relative', - color: offDarkColor, - padding: 15, - cursor: 'pointer' - }, - activeLink: { - display: 'flex', - alignItems: 'center', - extend: tl2, - color: white, - backgroundColor: offDarkColor, - '&:first-child': { - borderRadius: [[5, 5, 0, 0]] - }, - '&:last-child': { - borderRadius: [[0, 0, 5, 5]] - } - }, - icon: { - marginRight: 15 - } -} diff --git a/new-lamassu-admin/src/pages/Customers/components/EditableCard.jsx b/new-lamassu-admin/src/pages/Customers/components/EditableCard.jsx index 682ad41e..56e04f9d 100644 --- a/new-lamassu-admin/src/pages/Customers/components/EditableCard.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/EditableCard.jsx @@ -1,18 +1,13 @@ import CardContent from '@mui/material/CardContent' import Card from '@mui/material/Card' -import Grid from '@mui/material/Grid' -import { makeStyles } from '@mui/styles' import classnames from 'classnames' import { Form, Formik, Field as FormikField } from 'formik' import * as R from 'ramda' import { useState, React, useRef } from 'react' -// import { HelpTooltip } from 'src/components/Tooltip' import ErrorMessage from 'src/components/ErrorMessage' import PromptWhenDirty from 'src/components/PromptWhenDirty' import { MainStatus } from 'src/components/Status' import { Label1, P, H3 } from 'src/components/typography' -import DeleteIcon from 'src/styling/icons/action/delete/enabled.svg?react' -import DeleteReversedIcon from 'src/styling/icons/action/delete/white.svg?react' import EditIcon from 'src/styling/icons/action/edit/enabled.svg?react' import EditReversedIcon from 'src/styling/icons/action/edit/white.svg?react' import AuthorizeIcon from 'src/styling/icons/button/authorize/white.svg?react' @@ -25,84 +20,34 @@ import SaveReversedIcon from 'src/styling/icons/circle buttons/save/white.svg?re import { ActionButton } from 'src/components/buttons' import { - OVERRIDE_AUTHORIZED, OVERRIDE_REJECTED, OVERRIDE_PENDING -} from 'src/pages/Customers/components/propertyCard' -import { comet } from 'src/styling/variables' +} from 'src/pages/Customers/components/consts' -import styles from './EditableCard.styles' - -const useStyles = makeStyles(styles) - -const fieldStyles = { - field: { - position: 'relative', - width: 280, - height: 48, - padding: [[0, 4, 4, 0]], - marginTop: 2 - }, - label: { - color: comet, - margin: [[0, 0, 0, 0]] - }, - notEditing: { - display: 'flex', - flexDirection: 'column', - '& > p:first-child': { - height: 16, - lineHeight: '16px', - transformOrigin: 'left', - paddingLeft: 0, - margin: [[3, 0, 3, 0]] - }, - '& > p:last-child': { - overflow: 'hidden', - whiteSpace: 'nowrap', - textOverflow: 'ellipsis', - margin: 0 - } - }, - editing: { - '& > div': { - '& > input': { - padding: 0, - fontSize: 14 - } - } - }, - readOnlyLabel: { - color: comet, - margin: [[3, 0, 3, 0]] - }, - readOnlyValue: { - margin: 0 - } +const ReadOnlyField = ({ field, value }) => { + return ( +
    + + {field.label} + +

    + {value} +

    +
    + ) } -const fieldUseStyles = makeStyles(fieldStyles) - const EditableField = ({ editing, field, value, size, ...props }) => { - const classes = fieldUseStyles() - const classNames = { - [classes.field]: true, - [classes.notEditing]: !editing - } - + if (!editing) return return ( -
    - {!editing && ( - <> - {field.label} -

    {value}

    - - )} +
    {editing && ( <> - {field.label} + + {field.label} + { ) } -const ReadOnlyField = ({ field, value, ...props }) => { - const classes = fieldUseStyles() - const classNames = { - [classes.field]: true, - [classes.notEditing]: true - } - - return ( - <> -
    - {field.label} -

    {value}

    -
    - - ) -} - const EditableCard = ({ fields, save = () => {}, @@ -152,8 +80,6 @@ const EditableCard = ({ editable, checkAgainstSanctions }) => { - const classes = useStyles() - const formRef = useRef() const [editing, setEditing] = useState(false) @@ -162,12 +88,6 @@ const EditableCard = ({ const triggerInput = () => input.click() - const label1ClassNames = { - [classes.label1]: true, - [classes.label1Pending]: state === OVERRIDE_PENDING, - [classes.label1Rejected]: state === OVERRIDE_REJECTED, - [classes.label1Accepted]: state === OVERRIDE_AUTHORIZED - } const authorized = state === OVERRIDE_PENDING ? { label: 'Pending', type: 'neutral' } @@ -176,247 +96,211 @@ const EditableCard = ({ : { label: 'Accepted', type: 'success' } return ( -
    - - -
    -
    - {titleIcon} -

    {title}

    - { - // TODO: Enable for next release - /* */ - } -
    - {state && authorize && ( -
    - -
    - )} + + +
    +
    + {titleIcon} +

    {title}

    - {children(formRef.current?.values ?? {})} - { - save(values) - setEditing(false) - }} - onReset={() => { - setEditing(false) - setError(false) - }}> - {({ setFieldValue }) => ( - - -
    - - - {!hasImage && - fields?.map((field, idx) => { - return idx >= 0 && idx < 4 ? ( - !field.editable ? ( - - ) : ( - - ) - ) : null - })} - - - {!hasImage && - fields?.map((field, idx) => { - return idx >= 4 ? ( - !field.editable ? ( - - ) : ( - - ) - ) : null - })} - - + {state && authorize && } +
    + {children(formRef.current?.values ?? {})} + { + save(values) + setEditing(false) + }} + onReset={() => { + setEditing(false) + setError(false) + }}> + {({ setFieldValue }) => ( + + +
    +
    + {!hasImage && + fields?.map((field, idx) => { + return idx >= 0 && idx < 4 ? ( + !field.editable ? ( + + ) : ( + + ) + ) : null + })}
    -
    - {!editing && ( -
    -
    - {/*{false && (*/} - {/* deleteEditedData()}>*/} - {/* Delete*/} - {/* */} - {/*)}*/} - {!hasAdditionalData && ( - retrieveAdditionalData()}> - Retrieve API data - - )} - {checkAgainstSanctions && ( - checkAgainstSanctions()}> - Check against OFAC sanction list - - )} -
    - {editable && ( +
    + {!hasImage && + fields?.map((field, idx) => { + return idx >= 4 ? ( + !field.editable ? ( + + ) : ( + + ) + ) : null + })} +
    +
    +
    + {!editing && ( + <> + {!hasAdditionalData && ( + retrieveAdditionalData()}> + Retrieve API data + + )} + {checkAgainstSanctions && ( + checkAgainstSanctions()}> + Check against OFAC sanction list + + )} + {editable && ( + setEditing(true)}> + Edit + + )} + {!editable && + authorize && + authorized.label !== 'Accepted' && ( setEditing(true)}> - Edit + color="spring" + type="button" + Icon={AuthorizeIcon} + InverseIcon={AuthorizeIcon} + onClick={() => authorize()}> + Authorize )} - {!editable && - authorize && - authorized.label !== 'Accepted' && ( -
    - authorize()}> - Authorize - + {!editable && + authorize && + authorized.label !== 'Rejected' && ( + reject()}> + Reject + + )} + + )} + {editing && ( + <> + {hasImage && state !== OVERRIDE_PENDING && ( + triggerInput()}> + { +
    + setInput(fileInput)} + onChange={event => { + // need to store it locally if we want to display it even after saving to db + const file = R.head(event.target.files) + if (!file) return + setFieldValue(R.head(fields).name, file) + }} + /> + Replace
    - )} - {!editable && - authorize && - authorized.label !== 'Rejected' && ( - reject()}> - Reject - - )} -
    - )} - {editing && ( -
    -
    - {hasImage && state !== OVERRIDE_PENDING && ( - triggerInput()}> - { -
    - setInput(fileInput)} - onChange={event => { - // need to store it locally if we want to display it even after saving to db - const file = R.head(event.target.files) - if (!file) return - setFieldValue(R.head(fields).name, file) - }} - /> - Replace -
    - } -
    - )} -
    -
    - {fields && ( -
    - - Save - -
    - )} -
    - cancel()} - type="reset"> - Cancel - -
    - {authorize && authorized.label !== 'Accepted' && ( -
    - authorize()}> - Authorize - -
    - )} - {authorize && authorized.label !== 'Rejected' && ( - reject()}> - Reject - - )} - {error && ( - Failed to save changes - )} -
    -
    - )} -
    - - )} - - - -
    + } + + )} + {fields && ( + + Save + + )} + cancel()} + type="reset"> + Cancel + + {authorize && authorized.label !== 'Accepted' && ( + authorize()}> + Authorize + + )} + {authorize && authorized.label !== 'Rejected' && ( + reject()}> + Reject + + )} + {error && ( + Failed to save changes + )} + + )} +
    + + )} +
    + + ) } diff --git a/new-lamassu-admin/src/pages/Customers/components/EditableCard.styles.js b/new-lamassu-admin/src/pages/Customers/components/EditableCard.styles.js deleted file mode 100644 index 3ef803d2..00000000 --- a/new-lamassu-admin/src/pages/Customers/components/EditableCard.styles.js +++ /dev/null @@ -1,70 +0,0 @@ -import { tomato, spring4, comet } from 'src/styling/variables' - -export default { - label1: { - display: 'flex', - width: 85, - justifyContent: 'right' - }, - label1Pending: { - color: comet - }, - label1Rejected: { - color: tomato - }, - label1Accepted: { - color: spring4 - }, - editButton: { - marginTop: 20, - display: 'flex', - justifyContent: 'right' - }, - deleteButton: { - marginRight: 8 - }, - headerWrapper: { - display: 'flex', - flexDirection: 'row', - justifyContent: 'space-between', - height: 40 - }, - editingWrapper: { - display: 'flex', - flexDirection: 'row', - justifyContent: 'space-between', - marginTop: 20 - }, - replace: { - marginRight: 5 - }, - input: { - display: 'none' - }, - button: { - marginRight: 5 - }, - editingButtons: { - display: 'flex', - justifyContent: 'right' - }, - card: { - borderRadius: 10, - marginRight: 15, - marginBottom: 15 - }, - cardHeader: { - display: 'flex', - flexDirection: 'row', - marginBottom: 15 - }, - editIcon: { - marginTop: 5 - }, - cardIcon: { - marginTop: 7 - }, - cardTitle: { - margin: [[8, 15, 15, 15]] - } -} diff --git a/new-lamassu-admin/src/pages/Customers/components/Field.jsx b/new-lamassu-admin/src/pages/Customers/components/Field.jsx deleted file mode 100644 index 7992773d..00000000 --- a/new-lamassu-admin/src/pages/Customers/components/Field.jsx +++ /dev/null @@ -1,38 +0,0 @@ -import { makeStyles } from '@mui/styles' -import classnames from 'classnames' -import React, { memo } from 'react' -import { Info3, Label1 } from 'src/components/typography' - -import { comet } from 'src/styling/variables' - -const useStyles = makeStyles({ - field: { - height: 46 - }, - label: { - color: comet, - margin: [[0, 3]] - }, - value: { - whiteSpace: 'nowrap', - overflow: 'hidden', - textOverflow: 'ellipsis', - margin: 0, - paddingLeft: 4 - } -}) - -const Field = memo(({ label, display, size, className }) => { - const classes = useStyles() - - return ( -
    - {label} - {display} -
    - ) -}) - -export default Field diff --git a/new-lamassu-admin/src/pages/Customers/components/FrontCameraPhoto.jsx b/new-lamassu-admin/src/pages/Customers/components/FrontCameraPhoto.jsx deleted file mode 100644 index 4dcee494..00000000 --- a/new-lamassu-admin/src/pages/Customers/components/FrontCameraPhoto.jsx +++ /dev/null @@ -1,28 +0,0 @@ -import Paper from '@mui/material/Paper' -import { makeStyles } from '@mui/styles' -import React, { memo } from 'react' -import CrossedCameraIcon from 'src/styling/icons/ID/photo/crossed-camera.svg?react' - -import mainStyles from '../CustomersList.styles' - -const useStyles = makeStyles(mainStyles) - -const FrontCameraPhoto = memo(({ frontCameraPath }) => { - const classes = useStyles() - - return ( - - {frontCameraPath ? ( - - ) : ( - - )} - - ) -}) - -export default FrontCameraPhoto diff --git a/new-lamassu-admin/src/pages/Customers/components/IdCardPhotoCard.jsx b/new-lamassu-admin/src/pages/Customers/components/IdCardPhotoCard.jsx deleted file mode 100644 index 9433c255..00000000 --- a/new-lamassu-admin/src/pages/Customers/components/IdCardPhotoCard.jsx +++ /dev/null @@ -1,52 +0,0 @@ -import { makeStyles } from '@mui/styles' -import * as R from 'ramda' -import React, { memo } from 'react' -import CrossedCameraIcon from 'src/styling/icons/ID/photo/crossed-camera.svg?react' - -import { - PropertyCard, - OVERRIDE_AUTHORIZED, - OVERRIDE_REJECTED -} from 'src/pages/Customers/components/propertyCard' - -const useStyles = makeStyles({ - idCardPhotoCard: { - width: 325, - height: 240, - margin: [[32, 0, 0, 0]] - }, - idCardPhoto: { - maxHeight: 130 - }, - field: { - marginLeft: 14 - } -}) - -const IdCardPhotoCard = memo(({ customerData, updateCustomer }) => { - const classes = useStyles() - - return ( - - updateCustomer({ idCardPhotoOverride: OVERRIDE_AUTHORIZED }) - } - reject={() => updateCustomer({ idCardPhotoOverride: OVERRIDE_REJECTED })}> -
    - {customerData.idCardPhotoPath ? ( - - ) : ( - - )} -
    -
    - ) -}) - -export default IdCardPhotoCard diff --git a/new-lamassu-admin/src/pages/Customers/components/IdDataCard.jsx b/new-lamassu-admin/src/pages/Customers/components/IdDataCard.jsx deleted file mode 100644 index 1cb0fb73..00000000 --- a/new-lamassu-admin/src/pages/Customers/components/IdDataCard.jsx +++ /dev/null @@ -1,88 +0,0 @@ -import { differenceInYears, format, parse } from 'date-fns/fp' -import * as R from 'ramda' -import React, { memo } from 'react' - -import { - PropertyCard, - OVERRIDE_AUTHORIZED, - OVERRIDE_REJECTED -} from 'src/pages/Customers/components/propertyCard' -import { ifNotNull } from 'src/utils/nullCheck' - -import { getName } from '../helper' - -import Field from './Field' - -const IdDataCard = memo(({ customerData, updateCustomer }) => { - const idData = R.path(['idCardData'])(customerData) - const rawExpirationDate = R.path(['expirationDate'])(idData) - const country = R.path(['country'])(idData) - const rawDob = R.path(['dateOfBirth'])(idData) - - const elements = [ - { - header: 'Name', - display: `${getName(customerData)}`, - size: 190 - }, - { - header: 'ID number', - display: R.path(['documentNumber'])(idData), - size: 160 - }, - { - header: 'Birth date', - display: - (rawDob && - format('yyyy-MM-dd')(parse(new Date(), 'yyyyMMdd', rawDob))) ?? - '', - size: 110 - }, - { - header: 'Age', - display: - (rawDob && - differenceInYears( - parse(new Date(), 'yyyyMMdd', rawDob), - new Date() - )) ?? - '', - size: 50 - }, - { - header: 'Gender', - display: R.path(['gender'])(idData) ?? R.path(['sex'])(idData), - size: 80 - }, - { - header: country === 'Canada' ? 'Province' : 'State', - display: R.path(['state'])(idData), - size: 120 - }, - { - header: 'Expiration date', - display: ifNotNull( - rawExpirationDate, - format('yyyy-MM-dd', rawExpirationDate) - ) - } - ] - - return ( - - updateCustomer({ idCardDataOverride: OVERRIDE_AUTHORIZED }) - } - reject={() => updateCustomer({ idCardDataOverride: OVERRIDE_REJECTED })}> -
    - {elements.map(({ header, display, size }, idx) => ( - - ))} -
    -
    - ) -}) - -export default IdDataCard diff --git a/new-lamassu-admin/src/pages/Customers/components/PhoneCard.jsx b/new-lamassu-admin/src/pages/Customers/components/PhoneCard.jsx deleted file mode 100644 index 74dcd3f5..00000000 --- a/new-lamassu-admin/src/pages/Customers/components/PhoneCard.jsx +++ /dev/null @@ -1,36 +0,0 @@ -import { parsePhoneNumberFromString } from 'libphonenumber-js' -import * as R from 'ramda' -import React, { memo } from 'react' - -import { - PropertyCard, - OVERRIDE_AUTHORIZED, - OVERRIDE_REJECTED -} from 'src/pages/Customers/components/propertyCard' - -import Field from './Field' - -const PhoneCard = memo( - ({ className, customerData, updateCustomer, locale }) => ( - updateCustomer({ smsOverride: OVERRIDE_AUTHORIZED })} - reject={() => updateCustomer({ smsOverride: OVERRIDE_REJECTED })}> - - - ) -) - -export default PhoneCard diff --git a/new-lamassu-admin/src/pages/Customers/components/PhotosCard.jsx b/new-lamassu-admin/src/pages/Customers/components/PhotosCard.jsx index 542ebeb4..dd72a435 100644 --- a/new-lamassu-admin/src/pages/Customers/components/PhotosCard.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/PhotosCard.jsx @@ -1,20 +1,14 @@ import ButtonBase from '@mui/material/ButtonBase' import Paper from '@mui/material/Card' -import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { memo, useState } from 'react' import { InformativeDialog } from 'src/components/InformativeDialog' import { Info2 } from 'src/components/typography' import CrossedCameraIcon from 'src/styling/icons/ID/photo/crossed-camera.svg?react' -import styles from './PhotosCard.styles' import PhotosCarousel from './PhotosCarousel' -const useStyles = makeStyles(styles) - const PhotosCard = memo(({ photosData, timezone }) => { - const classes = useStyles() - const [photosDialog, setPhotosDialog] = useState(false) const sortedPhotosData = R.sortWith( @@ -26,24 +20,24 @@ const PhotosCard = memo(({ photosData, timezone }) => { return ( <> - + { setPhotosDialog(true) }}> {singlePhoto ? ( -
    +
    - -
    - {sortedPhotosData.length} -
    +
    + + {sortedPhotosData.length}
    ) : ( diff --git a/new-lamassu-admin/src/pages/Customers/components/PhotosCard.styles.js b/new-lamassu-admin/src/pages/Customers/components/PhotosCard.styles.js deleted file mode 100644 index 5d974078..00000000 --- a/new-lamassu-admin/src/pages/Customers/components/PhotosCard.styles.js +++ /dev/null @@ -1,42 +0,0 @@ -import { zircon, backgroundColor } from 'src/styling/variables' - -export default { - photo: { - width: 135, - height: 135, - borderRadius: 8, - backgroundColor: zircon, - margin: [[0, 28, 0, 0]], - alignItems: 'center', - justifyContent: 'center', - display: 'flex' - }, - img: { - objectFit: 'cover', - objectPosition: 'center', - width: 135, - height: 135 - }, - container: { - position: 'relative', - '& > img': { - display: 'block' - }, - '& > circle': { - position: 'absolute', - top: '0', - right: '0', - marginRight: 5, - marginTop: 5 - } - }, - circle: { - background: backgroundColor, - borderRadius: '50%', - width: 25, - height: 25, - alignItems: 'center', - justifyContent: 'center', - display: 'flex' - } -} diff --git a/new-lamassu-admin/src/pages/Customers/components/PhotosCarousel.jsx b/new-lamassu-admin/src/pages/Customers/components/PhotosCarousel.jsx index 6b4a8337..e8855dec 100644 --- a/new-lamassu-admin/src/pages/Customers/components/PhotosCarousel.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/PhotosCarousel.jsx @@ -1,4 +1,3 @@ -import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { memo, useState } from 'react' import { Carousel } from 'src/components/Carousel' @@ -8,35 +7,34 @@ import { formatDate } from 'src/utils/timezones' import CopyToClipboard from '../../Transactions/CopyToClipboard' -import styles from './PhotosCarousel.styles' - -const useStyles = makeStyles(styles) - const PhotosCarousel = memo(({ photosData, timezone }) => { - const classes = useStyles() const [currentIndex, setCurrentIndex] = useState(0) const Label = ({ children }) => { - const classes = useStyles() - return {children} + return ( + + {children} + + ) } const isFaceCustomerPhoto = !R.has('id')(photosData[currentIndex]) const slidePhoto = index => setCurrentIndex(index) + // TODO hide copy to clipboard shit return ( <> {!isFaceCustomerPhoto && ( -
    +
    {photosData && photosData[currentIndex]?.id}
    )} -
    +
    <> diff --git a/new-lamassu-admin/src/pages/Customers/components/PhotosCarousel.styles.js b/new-lamassu-admin/src/pages/Customers/components/PhotosCarousel.styles.js deleted file mode 100644 index 03d3f755..00000000 --- a/new-lamassu-admin/src/pages/Customers/components/PhotosCarousel.styles.js +++ /dev/null @@ -1,30 +0,0 @@ -import typographyStyles from 'src/components/typography/styles' -import { offColor } from 'src/styling/variables' - -const { p } = typographyStyles - -export default { - label: { - color: offColor, - margin: [[0, 0, 6, 0]] - }, - firstRow: { - padding: [[8]], - display: 'flex', - flexDirection: 'column' - }, - secondRow: { - extend: p, - display: 'flex', - padding: [[8]], - '& > div': { - display: 'flex', - flexDirection: 'column', - '& > div': { - height: 37, - marginBottom: 15, - marginRight: 55 - } - } - } -} diff --git a/new-lamassu-admin/src/pages/Customers/components/TransactionsList.jsx b/new-lamassu-admin/src/pages/Customers/components/TransactionsList.jsx index aa8ea43a..d6384bc3 100644 --- a/new-lamassu-admin/src/pages/Customers/components/TransactionsList.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/TransactionsList.jsx @@ -1,7 +1,5 @@ import { toUnit } from '@lamassu/coins/lightUtils' -import { makeStyles } from '@mui/styles' import BigNumber from 'bignumber.js' -import classnames from 'classnames' import * as R from 'ramda' import React from 'react' import DataTable from 'src/components/tables/DataTable' @@ -13,21 +11,13 @@ import { ifNotNull } from 'src/utils/nullCheck' import { formatDate } from 'src/utils/timezones' import CopyToClipboard from '../../Transactions/CopyToClipboard' -import mainStyles from '../CustomersList.styles' - -const useStyles = makeStyles(mainStyles) const TransactionsList = ({ customer, data, loading }) => { - const classes = useStyles() const LastTxIcon = customer.lastTxClass === 'cashOut' ? TxOutIcon : TxInIcon const hasData = !(R.isEmpty(data) || R.isNil(data)) const { lastUsedMachineName } = customer const timezone = Intl.DateTimeFormat().resolvedOptions().timeZone - const tableSpacingClasses = { - [classes.titleAndButtonsContainer]: loading || (!loading && !hasData), - [classes.txTableSpacing]: !loading && hasData - } const summaryElements = [ { @@ -61,7 +51,7 @@ const TransactionsList = ({ customer, data, loading }) => { value: ifNotNull( customer.lastTxFiat, <> - + {`${Number.parseFloat(customer.lastTxFiat)} ${customer.lastTxFiatCode}`} @@ -80,9 +70,9 @@ const TransactionsList = ({ customer, data, loading }) => { view: it => ( <> {it.txClass === 'cashOut' ? ( - + ) : ( - + )} ) @@ -96,7 +86,9 @@ const TransactionsList = ({ customer, data, loading }) => { header: 'Transaction ID', width: 145, view: it => ( - {it.id} + + {it.id} + ) }, { @@ -144,7 +136,7 @@ const TransactionsList = ({ customer, data, loading }) => { {header} @@ -152,28 +144,21 @@ const TransactionsList = ({ customer, data, loading }) => {
    {summaryElements.map(({ size, value }, idx) => ( -

    +

    {value}

    ))}
    -
    -
    - {loading ? ( -

    Loading

    - ) : hasData ? ( - '' - ) : ( -

    No transactions so far

    - )} -
    +
    + {loading ? ( +

    Loading

    + ) : hasData ? ( + + ) : ( +

    No transactions so far

    + )}
    - {hasData && } ) } diff --git a/new-lamassu-admin/src/pages/Customers/components/Upload.jsx b/new-lamassu-admin/src/pages/Customers/components/Upload.jsx index e2f63e7b..1e81c289 100644 --- a/new-lamassu-admin/src/pages/Customers/components/Upload.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/Upload.jsx @@ -1,4 +1,3 @@ -import { makeStyles } from '@mui/styles' import { useFormikContext } from 'formik' import * as R from 'ramda' import React, { useState, useCallback } from 'react' @@ -7,42 +6,9 @@ import { Label3, H3 } from 'src/components/typography' import UploadPhotoIcon from 'src/styling/icons/button/photo/zodiac-resized.svg?react' import UploadFileIcon from 'src/styling/icons/button/upload-file/zodiac-resized.svg?react' -import { offColor, subheaderColor } from 'src/styling/variables' - -const useStyles = makeStyles({ - box: { - boxSizing: 'border-box', - width: 450, - height: 120, - borderStyle: 'dashed', - borderColor: offColor, - borderRadius: 4, - borderWidth: 1, - backgroundColor: subheaderColor, - display: 'flex', - justifyContent: 'center' - }, - inputContent: { - marginTop: 35, - display: 'flex' - }, - uploadContent: { - marginTop: 50, - display: 'flex' - }, - board: { - marginTop: 40, - width: 450, - height: 120 - }, - icon: { - margin: [[14, 20, 0, 0]] - } -}) +import classes from './Upload.module.css' const Upload = ({ type }) => { - const classes = useStyles() - const [data, setData] = useState({}) const { setFieldValue } = useFormikContext() @@ -71,20 +37,14 @@ const Upload = ({ type }) => { return ( <> -
    +
    {R.isEmpty(data) && (
    -
    - {isImage ? ( - - ) : ( - - )} - {`Drag and drop ${ - isImage ? 'an image' : 'a file' - } or click to open the explorer`} -
    + {isImage ? : } + {`Drag and drop ${ + isImage ? 'an image' : 'a file' + } or click to open the explorer`}
    )} {!R.isEmpty(data) && isImage && ( @@ -94,7 +54,7 @@ const Upload = ({ type }) => { )} {!R.isEmpty(data) && !isImage && (
    -

    {data.preview}

    +

    {data.preview}

    )}
    diff --git a/new-lamassu-admin/src/pages/Customers/components/Upload.module.css b/new-lamassu-admin/src/pages/Customers/components/Upload.module.css new file mode 100644 index 00000000..3f7955df --- /dev/null +++ b/new-lamassu-admin/src/pages/Customers/components/Upload.module.css @@ -0,0 +1,14 @@ +.box { + box-sizing: border-box; + width: 450px; + height: 120px; + border-style: dashed; + border-color: var(--comet); + border-radius: 4px; + border-width: 1px; + background-color: var(--zircon); + display: flex; + justify-content: center; + align-items: center; + gap: 20px; +} diff --git a/new-lamassu-admin/src/pages/Customers/components/consts.js b/new-lamassu-admin/src/pages/Customers/components/consts.js new file mode 100644 index 00000000..5cec0f8b --- /dev/null +++ b/new-lamassu-admin/src/pages/Customers/components/consts.js @@ -0,0 +1,5 @@ +const OVERRIDE_PENDING = 'automatic' +const OVERRIDE_AUTHORIZED = 'verified' +const OVERRIDE_REJECTED = 'blocked' + +export { OVERRIDE_PENDING, OVERRIDE_AUTHORIZED, OVERRIDE_REJECTED } diff --git a/new-lamassu-admin/src/pages/Customers/components/index.js b/new-lamassu-admin/src/pages/Customers/components/index.js index 7e3c3e19..448efe76 100644 --- a/new-lamassu-admin/src/pages/Customers/components/index.js +++ b/new-lamassu-admin/src/pages/Customers/components/index.js @@ -3,19 +3,13 @@ import Wizard from '../Wizard' import CustomerDetails from './CustomerDetails' import CustomerSidebar from './CustomerSidebar' import EditableCard from './EditableCard' -import Field from './Field' -import IdDataCard from './IdDataCard' -import PhotosCarousel from './PhotosCarousel' import TransactionsList from './TransactionsList' import Upload from './Upload' export { - PhotosCarousel, CustomerDetails, - IdDataCard, TransactionsList, CustomerSidebar, - Field, EditableCard, Wizard, Upload diff --git a/new-lamassu-admin/src/pages/Customers/components/notes/NewNoteCard.jsx b/new-lamassu-admin/src/pages/Customers/components/notes/NewNoteCard.jsx index 9bef903a..a3c568e8 100644 --- a/new-lamassu-admin/src/pages/Customers/components/notes/NewNoteCard.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/notes/NewNoteCard.jsx @@ -1,23 +1,16 @@ import Paper from '@mui/material/Paper' -import { makeStyles } from '@mui/styles' -import classNames from 'classnames' import { React } from 'react' import { P } from 'src/components/typography' import AddIcon from 'src/styling/icons/button/add/zodiac.svg?react' -import styles from './NoteCard.styles' - -const useStyles = makeStyles(styles) - const NewNoteCard = ({ setOpenModal }) => { - const classes = useStyles() return ( -
    setOpenModal(true)}> - - -

    Add new

    -
    -
    + setOpenModal(true)}> + +

    Add new

    +
    ) } diff --git a/new-lamassu-admin/src/pages/Customers/components/notes/NewNoteModal.jsx b/new-lamassu-admin/src/pages/Customers/components/notes/NewNoteModal.jsx index 6325bb7d..5725472a 100644 --- a/new-lamassu-admin/src/pages/Customers/components/notes/NewNoteModal.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/notes/NewNoteModal.jsx @@ -1,4 +1,3 @@ -import { makeStyles } from '@mui/styles' import { Form, Formik, Field } from 'formik' import { React } from 'react' import ErrorMessage from 'src/components/ErrorMessage' @@ -8,10 +7,6 @@ import * as Yup from 'yup' import { Button } from 'src/components/buttons' import { TextInput } from 'src/components/inputs/formik' -import styles from './NewNoteModal.styles' - -const useStyles = makeStyles(styles) - const initialValues = { title: '', content: '' @@ -23,8 +18,6 @@ const validationSchema = Yup.object().shape({ }) const NewNoteModal = ({ showModal, onClose, onSubmit, errorMsg }) => { - const classes = useStyles() - return ( <> { onSubmit={({ title, content }) => { onSubmit({ title, content }) }}> -
    + { rows={11} label="Note content" /> -
    +
    {errorMsg && {errorMsg}} -
    diff --git a/new-lamassu-admin/src/pages/Customers/components/notes/NewNoteModal.styles.js b/new-lamassu-admin/src/pages/Customers/components/notes/NewNoteModal.styles.js deleted file mode 100644 index a42ecd41..00000000 --- a/new-lamassu-admin/src/pages/Customers/components/notes/NewNoteModal.styles.js +++ /dev/null @@ -1,25 +0,0 @@ -import { spacer } from 'src/styling/variables' - -const styles = { - form: { - display: 'flex', - flexDirection: 'column', - height: '100%', - '& > *': { - marginTop: 20 - }, - '& > *:last-child': { - marginTop: 'auto' - } - }, - submit: { - margin: [['auto', 0, 0, 'auto']] - }, - footer: { - display: 'flex', - flexDirection: 'row', - margin: [['auto', 0, spacer * 3, 0]] - } -} - -export default styles diff --git a/new-lamassu-admin/src/pages/Customers/components/notes/NoteCard.jsx b/new-lamassu-admin/src/pages/Customers/components/notes/NoteCard.jsx index c4a4f21a..912e0d95 100644 --- a/new-lamassu-admin/src/pages/Customers/components/notes/NoteCard.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/notes/NoteCard.jsx @@ -1,5 +1,4 @@ import Paper from '@mui/material/Paper' -import { makeStyles } from '@mui/styles' import * as R from 'ramda' import { React } from 'react' import { H3, P } from 'src/components/typography' @@ -7,10 +6,6 @@ import DeleteIcon from 'src/styling/icons/action/delete/enabled.svg?react' import { formatDate } from 'src/utils/timezones' -import styles from './NoteCard.styles' - -const useStyles = makeStyles(styles) - const formatContent = content => { const fragments = R.split(/\n/)(content) return R.map((it, idx) => { @@ -25,31 +20,28 @@ const formatContent = content => { } const NoteCard = ({ note, deleteNote, handleClick, timezone }) => { - const classes = useStyles() - return ( -
    - handleClick(note)}> -
    -
    -

    {note?.title}

    -

    {formatDate(note?.created, timezone, 'yyyy-MM-dd')}

    -
    -
    - { - e.stopPropagation() - deleteNote({ noteId: note.id }) - }} - /> -
    + handleClick(note)}> +
    +
    +

    {note?.title}

    +

    {formatDate(note?.created, timezone, 'yyyy-MM-dd')}

    -

    - {formatContent(note?.content)} -

    - -
    +
    + { + e.stopPropagation() + deleteNote({ noteId: note.id }) + }} + /> +
    +
    +

    + {formatContent(note?.content)} +

    +
    ) } diff --git a/new-lamassu-admin/src/pages/Customers/components/notes/NoteCard.styles.js b/new-lamassu-admin/src/pages/Customers/components/notes/NoteCard.styles.js deleted file mode 100644 index 9712fa77..00000000 --- a/new-lamassu-admin/src/pages/Customers/components/notes/NoteCard.styles.js +++ /dev/null @@ -1,93 +0,0 @@ -import { zircon } from 'src/styling/variables' - -const styles = { - noteCardWrapper: { - flexGrow: 0, - flexShrink: 0, - flexBasis: `25%`, - minWidth: 0, - maxWidth: 500, - '&:nth-child(4n+1)': { - '& > div': { - margin: [[0, 10, 0, 0]] - } - }, - '&:nth-child(4n)': { - '& > div': { - margin: [[0, 0, 0, 10]] - } - }, - margin: [[10, 0]] - }, - noteCardChip: { - height: 200, - margin: [[0, 10]], - padding: [[10, 10]], - cursor: 'pointer' - }, - newNoteCard: { - backgroundColor: zircon, - display: 'flex', - flexDirection: 'column', - justifyContent: 'center', - alignItems: 'center' - }, - noteCardHeader: { - display: 'flex', - flexDirection: 'row', - justifyContent: 'space-between', - width: '100%' - }, - noteCardTitle: { - overflow: 'hidden', - whiteSpace: 'nowrap', - textOverflow: 'ellipsis', - marginRight: 10 - }, - noteCardContent: { - display: 'box', - lineClamp: 7, - boxOrient: 'vertical', - margin: [[15, 0]], - overflow: 'hidden', - textOverflow: 'ellipsis', - wordWrap: 'break-word' - }, - editCardChip: { - height: 325, - padding: 15 - }, - editCardHeader: { - display: 'flex', - flexDirection: 'row', - justifyContent: 'space-between', - alignItems: 'center', - marginBottom: 15 - }, - editCardActions: { - display: 'flex', - flexDirection: 'row', - alignItems: 'center', - '& > *': { - marginRight: 10 - }, - '& > *:last-child': { - marginRight: 0 - } - }, - editNotesContent: { - '& > div': { - '&:after': { - borderBottom: 'none' - }, - '&:before': { - borderBottom: 'none' - }, - '&:hover:not(.Mui-disabled)::before': { - borderBottom: 'none' - } - } - } -} - -export default styles diff --git a/new-lamassu-admin/src/pages/Customers/components/notes/NoteEdit.jsx b/new-lamassu-admin/src/pages/Customers/components/notes/NoteEdit.jsx index 3fac6309..ea9f8ca3 100644 --- a/new-lamassu-admin/src/pages/Customers/components/notes/NoteEdit.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/notes/NoteEdit.jsx @@ -1,5 +1,4 @@ import Paper from '@mui/material/Paper' -import { makeStyles } from '@mui/styles' import { formatDurationWithOptions, intervalToDuration } from 'date-fns/fp' import { Form, Formik, Field } from 'formik' import { React, useRef } from 'react' @@ -14,13 +13,8 @@ import { ActionButton } from 'src/components/buttons' import { TextInput } from 'src/components/inputs/formik' import { toTimezone } from 'src/utils/timezones' -import styles from './NoteCard.styles' - -const useStyles = makeStyles(styles) - const NoteEdit = ({ note, cancel, edit, timezone }) => { const formRef = useRef() - const classes = useStyles() const validationSchema = Yup.object().shape({ content: Yup.string() @@ -31,8 +25,8 @@ const NoteEdit = ({ note, cancel, edit, timezone }) => { } return ( - -
    + +

    {`Last edited `} {formatDurationWithOptions( @@ -44,7 +38,7 @@ const NoteEdit = ({ note, cancel, edit, timezone }) => { )} {` ago`}

    -
    +
    { { - const classes = useStyles() - - const label1ClassNames = { - [classes.label1]: true, - [classes.label1Pending]: state === OVERRIDE_PENDING, - [classes.label1Rejected]: state === OVERRIDE_REJECTED, - [classes.label1Accepted]: state === OVERRIDE_AUTHORIZED - } - - const AuthorizeButton = () => ( - authorize()}> - Authorize - - ) - - const RejectButton = () => ( - reject()}> - Reject - - ) - - const EditButton = () => ( - edit()}> - Edit - - ) - - const ConfirmButton = () => ( - - Confirm - - ) - - const authorized = - state === OVERRIDE_PENDING - ? { label: 'Pending', type: 'neutral' } - : state === OVERRIDE_REJECTED - ? { label: 'Rejected', type: 'error' } - : { label: 'Accepted', type: 'success' } - - return ( - -

    {title}

    -
    - {state && ( -
    - -
    - )} - {children} -
    - {authorize && state !== OVERRIDE_AUTHORIZED && AuthorizeButton()} - {reject && state !== OVERRIDE_REJECTED && RejectButton()} - {edit && !isEditing && EditButton()} - {confirm && isEditing && ConfirmButton()} -
    -
    -
    - ) - } -) - -export { - PropertyCard, - OVERRIDE_PENDING, - OVERRIDE_AUTHORIZED, - OVERRIDE_REJECTED -} diff --git a/new-lamassu-admin/src/pages/Customers/components/propertyCard/PropertyCard.styles.js b/new-lamassu-admin/src/pages/Customers/components/propertyCard/PropertyCard.styles.js deleted file mode 100644 index ff8b334f..00000000 --- a/new-lamassu-admin/src/pages/Customers/components/propertyCard/PropertyCard.styles.js +++ /dev/null @@ -1,69 +0,0 @@ -import { white, tomato, spring4, comet } from 'src/styling/variables' - -const propertyCardStyles = { - label1: { - display: 'flex', - marginBottom: 2, - marginTop: 'auto', - width: 85 - }, - label1Pending: { - color: comet - }, - label1Rejected: { - color: tomato - }, - label1Accepted: { - color: spring4 - }, - cardActionButton: { - display: 'flex', - height: 28, - marginRight: 'auto', - marginLeft: 12 - }, - propertyCardTopRow: { - display: 'flex', - margin: [[0, 10, 5, 0]] - }, - propertyCardBottomRow: { - display: 'flex', - flexDirection: 'row', - height: 45 - }, - propertyCard: { - display: 'flex', - flexDirection: 'column', - borderRadius: 8, - width: '100%', - height: 100, - padding: [[20]], - boxSizing: 'border-box', - boxShadow: '0 0 8px 0 rgba(0, 0, 0, 0.04)', - border: 'solid 0', - backgroundColor: white, - margin: [[20, 0, 0, 0]] - }, - rowSpaceBetween: { - display: 'flex', - flexFlow: 'row nowrap', - alignItems: 'center', - justifyContent: 'space-between' - }, - columnSpaceBetween: { - display: 'flex', - flexFlow: 'column nowrap', - alignItems: 'center', - justifyContent: 'space-between', - width: 90 - }, - buttonsWrapper: { - display: 'flex', - flexDirection: 'row', - justifyContent: 'flex-end', - marginLeft: 'auto', - marginTop: 'auto' - } -} - -export { propertyCardStyles } diff --git a/new-lamassu-admin/src/pages/Customers/components/propertyCard/index.js b/new-lamassu-admin/src/pages/Customers/components/propertyCard/index.js deleted file mode 100644 index 3002e26a..00000000 --- a/new-lamassu-admin/src/pages/Customers/components/propertyCard/index.js +++ /dev/null @@ -1,13 +0,0 @@ -import { - PropertyCard, - OVERRIDE_PENDING, - OVERRIDE_AUTHORIZED, - OVERRIDE_REJECTED -} from './PropertyCard' - -export { - PropertyCard, - OVERRIDE_PENDING, - OVERRIDE_AUTHORIZED, - OVERRIDE_REJECTED -} diff --git a/new-lamassu-admin/src/pages/Customers/helper.jsx b/new-lamassu-admin/src/pages/Customers/helper.jsx index 6bb774b1..ca672fc7 100644 --- a/new-lamassu-admin/src/pages/Customers/helper.jsx +++ b/new-lamassu-admin/src/pages/Customers/helper.jsx @@ -1,6 +1,4 @@ import React from 'react' -import { makeStyles } from '@mui/styles' -import classnames from 'classnames' import { parse, isValid, format } from 'date-fns/fp' import { Field, useFormikContext } from 'formik' import { parsePhoneNumberFromString } from 'libphonenumber-js' @@ -14,45 +12,10 @@ import { TextInput, Autocomplete } from 'src/components/inputs/formik' -import { errorColor } from 'src/styling/variables' import { MANUAL } from 'src/utils/constants' import { Upload } from './components' -const useStyles = makeStyles({ - radio: { - padding: 4, - margin: 4 - }, - radioGroup: { - flexDirection: 'row' - }, - error: { - color: errorColor - }, - specialLabel: { - height: 40, - padding: 0, - width: 250 - }, - label: { - height: 40, - padding: 0 - }, - specialGrid: { - display: 'grid', - gridTemplateColumns: [[182, 162, 141]] - }, - picker: { - width: 150 - }, - field: { - '& > *:last-child': { - marginBottom: 24 - } - } -}) - const CUSTOMER_BLOCKED = 'blocked' const CUSTOM = 'custom' const REQUIREMENT = 'requirement' @@ -215,68 +178,50 @@ const updateRequirementOptions = it => [ ] const EntryType = ({ customInfoRequirementOptions }) => { - const classes = useStyles() const { values } = useFormikContext() const displayCustomOptions = values.entryType === CUSTOM const displayRequirementOptions = values.entryType === REQUIREMENT - return ( - <> + const Entry = ({ title, name, options, className }) => ( +
    -

    Type of entry

    +

    {title}

    +
    + ) + + return ( + <> + {displayCustomOptions && ( -
    -
    -

    Type of data

    -
    - -
    + )} {displayRequirementOptions && ( -
    -
    -

    Requirements

    -
    - -
    + )} ) } const ManualDataEntry = ({ selectedValues, customInfoRequirementOptions }) => { - const classes = useStyles() - const typeOfEntrySelected = selectedValues?.entryType const dataTypeSelected = selectedValues?.dataType const requirementSelected = selectedValues?.requirement @@ -316,14 +261,14 @@ const ManualDataEntry = ({ selectedValues, customInfoRequirementOptions }) => { {}} /> )} -
    +
    {!upload && !isCustomInfoRequirement && elements.options.map(({ label, name }, idx) => ( diff --git a/new-lamassu-admin/src/pages/Transactions/CopyToClipboard.jsx b/new-lamassu-admin/src/pages/Transactions/CopyToClipboard.jsx index 306111f5..021b6a65 100644 --- a/new-lamassu-admin/src/pages/Transactions/CopyToClipboard.jsx +++ b/new-lamassu-admin/src/pages/Transactions/CopyToClipboard.jsx @@ -16,6 +16,7 @@ const CopyToClipboard = ({ className, buttonClassname, children, + variant, wrapperClassname, removeSpace = true, ...props @@ -71,7 +72,7 @@ const CopyToClipboard = ({ )}
    - ); + ) } export default CopyToClipboard diff --git a/new-lamassu-admin/src/styling/global/global.css b/new-lamassu-admin/src/styling/global/global.css index 5c8432f6..9186c0ca 100644 --- a/new-lamassu-admin/src/styling/global/global.css +++ b/new-lamassu-admin/src/styling/global/global.css @@ -27,6 +27,10 @@ --neon: #5a67ff; --malachite: #00CD5A; --orange-yellow: #ffcc00; + + --mont: 'Mont'; + --museo: 'MuseoSans'; + --bpmono: 'BPmono'; } @theme { @@ -44,6 +48,13 @@ --color-neon: var(--neon); --color-malachite: var(--malachite); --color-orange-yellow: var(--orange-yellow); + --font-mont: var(--mont); + --font-museo: var(--museo); + --font-bpmono: var(--bpmono); +} + +@utility col-span-all { + column-span: all; } body { From 5f81487dccf40163ed5b96cf1b33ef876a7b24d9 Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Tue, 6 May 2025 13:44:23 +0100 Subject: [PATCH 46/85] partial: Dashboard and Locales css migration --- .../src/components/CollapsibleCard.jsx | 23 +-- .../src/pages/Dashboard/Alerts/Alerts.jsx | 28 +--- .../pages/Dashboard/Alerts/Alerts.styles.js | 57 ------- .../pages/Dashboard/Alerts/AlertsTable.jsx | 11 +- .../src/pages/Dashboard/Dashboard.jsx | 50 +++--- .../src/pages/Dashboard/Dashboard.styles.js | 120 -------------- .../src/pages/Dashboard/Footer/Footer.jsx | 38 ++--- .../pages/Dashboard/Footer/Footer.module.css | 28 ++++ .../pages/Dashboard/Footer/Footer.styles.js | 50 ------ .../src/pages/Dashboard/LeftSide.jsx | 22 --- .../src/pages/Dashboard/RightSide.jsx | 110 ++++++------- .../Graphs/PercentageChart.jsx | 63 +------ .../SystemPerformance/Graphs/RefLineChart.jsx | 12 +- .../Graphs/RefScatterplot.jsx | 30 ++-- .../SystemPerformance/InfoWithLabel.jsx | 8 +- .../pages/Dashboard/SystemPerformance/Nav.jsx | 23 +-- .../SystemPerformance/SystemPerformance.jsx | 154 ++++++++---------- .../SystemPerformance.styles.js | 154 ------------------ .../Dashboard/SystemStatus/MachinesTable.jsx | 84 +++++----- .../SystemStatus/MachinesTable.styles.js | 24 --- .../Dashboard/SystemStatus/SystemStatus.jsx | 74 +++------ .../src/pages/Locales/Locales.jsx | 12 +- .../src/pages/Locales/Locales.styles.js | 12 -- .../src/styling/global/global.css | 3 + new-lamassu-admin/src/styling/theme.js | 7 + 25 files changed, 314 insertions(+), 883 deletions(-) delete mode 100644 new-lamassu-admin/src/pages/Dashboard/Alerts/Alerts.styles.js delete mode 100644 new-lamassu-admin/src/pages/Dashboard/Dashboard.styles.js create mode 100644 new-lamassu-admin/src/pages/Dashboard/Footer/Footer.module.css delete mode 100644 new-lamassu-admin/src/pages/Dashboard/Footer/Footer.styles.js delete mode 100644 new-lamassu-admin/src/pages/Dashboard/LeftSide.jsx delete mode 100644 new-lamassu-admin/src/pages/Dashboard/SystemPerformance/SystemPerformance.styles.js delete mode 100644 new-lamassu-admin/src/pages/Locales/Locales.styles.js diff --git a/new-lamassu-admin/src/components/CollapsibleCard.jsx b/new-lamassu-admin/src/components/CollapsibleCard.jsx index eeec8527..987c32e7 100644 --- a/new-lamassu-admin/src/components/CollapsibleCard.jsx +++ b/new-lamassu-admin/src/components/CollapsibleCard.jsx @@ -1,10 +1,8 @@ -import Grid from '@mui/material/Grid' -import { makeStyles } from '@mui/styles' -import classnames from 'classnames' import PropTypes from 'prop-types' import React from 'react' -import { white } from 'src/styling/variables' +import Paper from '@mui/material/Paper' +import classnames from 'classnames' const cardState = Object.freeze({ DEFAULT: 'default', @@ -12,24 +10,11 @@ const cardState = Object.freeze({ EXPANDED: 'expanded' }) -const styles = { - card: { - wordWrap: 'break-word', - boxShadow: '0 0 4px 0 rgba(0, 0, 0, 0.08)', - borderRadius: 12, - padding: 24, - backgroundColor: white - } -} - -const useStyles = makeStyles(styles) - const CollapsibleCard = ({ className, state, shrunkComponent, children }) => { - const classes = useStyles() return ( - + {state === cardState.SHRUNK ? shrunkComponent : children} - + ) } diff --git a/new-lamassu-admin/src/pages/Dashboard/Alerts/Alerts.jsx b/new-lamassu-admin/src/pages/Dashboard/Alerts/Alerts.jsx index 17b89f2f..bb88d73f 100644 --- a/new-lamassu-admin/src/pages/Dashboard/Alerts/Alerts.jsx +++ b/new-lamassu-admin/src/pages/Dashboard/Alerts/Alerts.jsx @@ -1,14 +1,12 @@ -import { useQuery, gql } from "@apollo/client"; +import { useQuery, gql } from '@apollo/client' import Button from '@mui/material/Button' import Grid from '@mui/material/Grid' -import { makeStyles } from '@mui/styles' import classnames from 'classnames' import * as R from 'ramda' import React from 'react' import { cardState } from 'src/components/CollapsibleCard' import { Label1, H4 } from 'src/components/typography' -import styles from './Alerts.styles' import AlertsTable from './AlertsTable' const NUM_TO_RENDER = 3 @@ -31,10 +29,7 @@ const GET_ALERTS = gql` } ` -const useStyles = makeStyles(styles) - const Alerts = ({ onReset, onExpand, size }) => { - const classes = useStyles() const showAllItems = size === cardState.EXPANDED const { data } = useQuery(GET_ALERTS) const alerts = R.path(['alerts'])(data) ?? [] @@ -44,35 +39,30 @@ const Alerts = ({ onReset, onExpand, size }) => { )(data?.machines ?? []) const alertsLength = alerts.length - const alertsTableContainerClasses = { - [classes.alertsTableContainer]: !showAllItems, - [classes.expandedAlertsTableContainer]: showAllItems - } - return ( <> -
    -

    {`Alerts (${alertsLength})`}

    +
    +

    {`Alerts (${alertsLength})`}

    {showAllItems && ( - + )}
    {!alerts.length && ( - + No new alerts. Your system is running smoothly. )} @@ -85,13 +75,13 @@ const Alerts = ({ onReset, onExpand, size }) => { {!showAllItems && alertsLength > NUM_TO_RENDER && ( - + diff --git a/new-lamassu-admin/src/pages/Dashboard/Alerts/Alerts.styles.js b/new-lamassu-admin/src/pages/Dashboard/Alerts/Alerts.styles.js deleted file mode 100644 index eb188b65..00000000 --- a/new-lamassu-admin/src/pages/Dashboard/Alerts/Alerts.styles.js +++ /dev/null @@ -1,57 +0,0 @@ -import { primaryColor, comet } from 'src/styling/variables' - -const styles = { - container: { - display: 'flex', - justifyContent: 'space-between' - }, - h4: { - margin: 0, - marginBottom: 10 - }, - centerLabel: { - marginBottom: 0, - padding: 0, - textAlign: 'center' - }, - upperButtonLabel: { - marginTop: -3, - marginBottom: 24 - }, - button: { - color: primaryColor, - marginTop: 0, - minHeight: 0, - minWidth: 0, - padding: 0, - textTransform: 'none', - '&:hover': { - backgroundColor: 'transparent' - } - }, - alertsTableContainer: { - margin: 0 - }, - expandedAlertsTableContainer: { - margin: 0, - maxHeight: 460 - }, - noAlertsLabel: { - color: comet, - marginLeft: -5, - height: 100 - }, - table: { - maxHeight: 465, - overflowX: 'hidden', - overflowY: 'auto' - }, - listItemText: { - margin: '8px 0 8px 0' - }, - linkIcon: { - marginLeft: 'auto', - cursor: 'pointer' - } -} -export default styles diff --git a/new-lamassu-admin/src/pages/Dashboard/Alerts/AlertsTable.jsx b/new-lamassu-admin/src/pages/Dashboard/Alerts/AlertsTable.jsx index 478b0876..604a2992 100644 --- a/new-lamassu-admin/src/pages/Dashboard/Alerts/AlertsTable.jsx +++ b/new-lamassu-admin/src/pages/Dashboard/Alerts/AlertsTable.jsx @@ -1,4 +1,3 @@ -import { makeStyles } from '@mui/styles' import List from '@mui/material/List' import ListItem from '@mui/material/ListItem' import * as R from 'ramda' @@ -10,9 +9,6 @@ import CashBoxEmpty from 'src/styling/icons/cassettes/cashbox-empty.svg?react' import AlertLinkIcon from 'src/styling/icons/month arrows/right.svg?react' import WarningIcon from 'src/styling/icons/warning-icon/tomato.svg?react' -import styles from './Alerts.styles' -const useStyles = makeStyles(styles) - const icons = { error: , fiatBalance: ( @@ -28,7 +24,6 @@ const links = { const AlertsTable = ({ numToRender, alerts, machines }) => { const history = useHistory() - const classes = useStyles() const alertsToRender = R.slice(0, numToRender, alerts) const alertMessage = alert => { @@ -40,16 +35,16 @@ const AlertsTable = ({ numToRender, alerts, machines }) => { } return ( - + {alertsToRender.map((alert, idx) => { return ( {icons[alert.type] || ( )} -

    {alertMessage(alert)}

    +

    {alertMessage(alert)}

    history.push(links[alert.type] || '/dashboard')} />
    diff --git a/new-lamassu-admin/src/pages/Dashboard/Dashboard.jsx b/new-lamassu-admin/src/pages/Dashboard/Dashboard.jsx index e3b7eb07..3814d5bc 100644 --- a/new-lamassu-admin/src/pages/Dashboard/Dashboard.jsx +++ b/new-lamassu-admin/src/pages/Dashboard/Dashboard.jsx @@ -1,6 +1,4 @@ -import { useQuery, gql } from "@apollo/client"; -import Grid from '@mui/material/Grid' -import { makeStyles } from '@mui/styles' +import { useQuery, gql } from '@apollo/client' import * as R from 'ramda' import React, { useState } from 'react' import { useHistory } from 'react-router-dom' @@ -13,11 +11,10 @@ import { Button } from 'src/components/buttons' import AddMachine from 'src/pages/AddMachine' import { errorColor } from 'src/styling/variables' -import styles from './Dashboard.styles' import Footer from './Footer' -import LeftSide from './LeftSide' import RightSide from './RightSide' -const useStyles = makeStyles(styles) +import Paper from '@mui/material/Paper' +import SystemPerformance from './SystemPerformance/index.js' const GET_DATA = gql` query getData { @@ -30,7 +27,6 @@ const GET_DATA = gql` const Dashboard = () => { const history = useHistory() - const classes = useStyles() const [open, setOpen] = useState(false) const { data, loading } = useQuery(GET_DATA) @@ -44,16 +40,16 @@ const Dashboard = () => { !R.isEmpty(data.machines) ? ( <> -
    -
    +
    +
    Cash-in
    -
    +
    Cash-out
    -
    +
    @@ -61,15 +57,15 @@ const Dashboard = () => {
    -
    - - - - - - - - +
    +
    + + + +
    +
    + +
    @@ -79,17 +75,17 @@ const Dashboard = () => { setOpen(false)} onPaired={onPaired} /> )} -
    +
    - {data?.serverVersion}{' '} - server version + {data?.serverVersion}{' '} + server version
    -
    -
    -

    No machines on your system yet

    - +
    +
    +

    No machines on your system yet

    + To fully take advantage of Lamassu Admin, add a new machine to your system diff --git a/new-lamassu-admin/src/pages/Dashboard/Dashboard.styles.js b/new-lamassu-admin/src/pages/Dashboard/Dashboard.styles.js deleted file mode 100644 index a13b54d7..00000000 --- a/new-lamassu-admin/src/pages/Dashboard/Dashboard.styles.js +++ /dev/null @@ -1,120 +0,0 @@ -import typographyStyles from 'src/components/typography/styles' -import { - spacer, - white, - primaryColor, - zircon, - zircon2, - offDarkColor -} from 'src/styling/variables' -const { label1 } = typographyStyles - -const styles = { - headerLabels: { - display: 'flex', - flexDirection: 'row', - '& > div:first-child': { - display: 'flex', - alignItems: 'center', - marginLeft: 0 - }, - '& > div': { - display: 'flex', - alignItems: 'center', - marginLeft: 25 - }, - '& > div:last-child': { - display: 'flex', - alignItems: 'center', - marginLeft: 64 - }, - '& > div > span': { - extend: label1, - marginLeft: 7 - } - }, - root: { - flexGrow: 1, - display: 'flex', - marginBottom: 120 - }, - emptyMachinesRoot: { - height: 300, - backgroundColor: zircon, - border: `solid 2px ${zircon2}` - }, - card: { - wordWrap: 'break-word', - boxShadow: '0 0 4px 0 rgba(0, 0, 0, 0.08)', - borderRadius: 12, - padding: 24, - backgroundColor: white, - flex: 1, - marginRight: 24 - }, - container: { - display: 'flex', - justifyContent: 'space-between' - }, - button: { - color: primaryColor, - minHeight: 0, - minWidth: 0, - padding: 0, - textTransform: 'none', - '&:hover': { - backgroundColor: 'transparent' - } - }, - upperButtonLabel: { - textAlign: 'center', - marginBottom: 0, - marginTop: 0, - marginLeft: spacer - }, - alertsCard: { - marginBottom: spacer - }, - h4: { - marginTop: 0 - }, - centerLabel: { - marginTop: 40, - marginBottom: 0 - }, - systemStatusCard: { - flex: 1, - marginTop: spacer - }, - expandedCard: { - flex: 0.9 - }, - shrunkCard: { - flex: 0.1 - }, - displayFlex: { - display: 'flex', - flexDirection: 'column' - }, - inline: { - display: 'inline' - }, - emptyMachinesContent: { - display: 'flex', - flexDirection: 'column', - height: '100%', - justifyContent: 'center', - alignItems: 'center', - '& > :first-child': { - marginTop: 0 - }, - '& > *': { - marginTop: 25 - } - }, - offColor: { - color: offDarkColor - } -} - -export default styles diff --git a/new-lamassu-admin/src/pages/Dashboard/Footer/Footer.jsx b/new-lamassu-admin/src/pages/Dashboard/Footer/Footer.jsx index ab6ab6ad..0e22d82c 100644 --- a/new-lamassu-admin/src/pages/Dashboard/Footer/Footer.jsx +++ b/new-lamassu-admin/src/pages/Dashboard/Footer/Footer.jsx @@ -1,8 +1,6 @@ -import { useQuery, gql } from "@apollo/client"; +import { useQuery, gql } from '@apollo/client' import { makeStyles } from '@mui/styles' -import Grid from '@mui/material/Grid' import BigNumber from 'bignumber.js' -import classnames from 'classnames' import * as R from 'ramda' import React from 'react' import { Label2 } from 'src/components/typography' @@ -11,7 +9,8 @@ import TxOutIcon from 'src/styling/icons/direction/cash-out.svg?react' import { fromNamespace } from 'src/utils/config' -import styles from './Footer.styles' +import classes from './Footer.module.css' + const GET_DATA = gql` query getData { cryptoRates @@ -29,12 +28,10 @@ const GET_DATA = gql` BigNumber.config({ ROUNDING_MODE: BigNumber.ROUND_HALF_UP }) -const useStyles = makeStyles(styles) const Footer = () => { const { data } = useQuery(GET_DATA) const withCommissions = R.path(['cryptoRates', 'withCommissions'])(data) ?? {} - const classes = useStyles() const config = R.path(['config'])(data) ?? {} // const canExpand = R.keys(withCommissions).length > 4 @@ -72,36 +69,31 @@ const Footer = () => { ).toFormat(2) return ( - - +
    + {cryptoCurrencies[idx].display} -
    -
    +
    +
    - {` ${cashIn} ${localeFiatCurrency}`} + {`${cashIn} ${localeFiatCurrency}`}
    -
    +
    - {` ${cashOut} ${localeFiatCurrency}`} + {`${cashOut} ${localeFiatCurrency}`}
    - {`${tickerName}: ${avgOfAskBid} ${localeFiatCurrency}`} - + + {`${tickerName}: ${avgOfAskBid} ${localeFiatCurrency}`} + +
    ) } return (
    - - - {R.keys(withCommissions).map(key => renderFooterItem(key))} - - + {R.keys(withCommissions).map(key => renderFooterItem(key))}
    ) diff --git a/new-lamassu-admin/src/pages/Dashboard/Footer/Footer.module.css b/new-lamassu-admin/src/pages/Dashboard/Footer/Footer.module.css new file mode 100644 index 00000000..304ffbb5 --- /dev/null +++ b/new-lamassu-admin/src/pages/Dashboard/Footer/Footer.module.css @@ -0,0 +1,28 @@ +.footer1 { + left: 0; + bottom: 0; + position: fixed; + width: 100vw; + background-color: white; + text-align: left; + z-index: 1; + box-shadow: 0 -1px 10px 0 rgba(50, 50, 50, 0.1); + min-height: 48px; + transition: min-height 0.5s ease-out; +} + +.footer1:hover { + transition: min-height 0.5s ease-in; + min-height: 200px; + } + +.content1 { + width: 1200px; + max-height: 100px; + background-color: white; + z-index: 2; + bottom: -8px; + margin: 0 auto; + display: flex; + flex-wrap: wrap; +} diff --git a/new-lamassu-admin/src/pages/Dashboard/Footer/Footer.styles.js b/new-lamassu-admin/src/pages/Dashboard/Footer/Footer.styles.js deleted file mode 100644 index ffc26ed8..00000000 --- a/new-lamassu-admin/src/pages/Dashboard/Footer/Footer.styles.js +++ /dev/null @@ -1,50 +0,0 @@ -import { offColor, white, spacer } from 'src/styling/variables' - -const styles = { - label: { - color: offColor - }, - headerLabels: { - whiteSpace: 'pre', - display: 'flex', - flexDirection: 'row', - marginTop: -20 - }, - headerLabel: { - display: 'flex', - alignItems: 'center' - }, - txOutMargin: { - marginLeft: spacer * 3 - }, - tickerLabel: { - color: offColor, - marginTop: -5 - }, - footer1: { - left: 0, - bottom: 0, - position: 'fixed', - width: '100vw', - backgroundColor: white, - textAlign: 'left', - zIndex: 1, - boxShadow: '0px -1px 10px 0px rgba(50, 50, 50, 0.1)', - minHeight: spacer * 12, - transition: 'min-height 0.5s ease-out', - '&:hover': { - transition: 'min-height 0.5s ease-in', - minHeight: 200 - } - }, - content1: { - width: 1200, - maxHeight: 100, - backgroundColor: white, - zIndex: 2, - bottom: -spacer, - margin: '0 auto' - } -} - -export default styles diff --git a/new-lamassu-admin/src/pages/Dashboard/LeftSide.jsx b/new-lamassu-admin/src/pages/Dashboard/LeftSide.jsx deleted file mode 100644 index 8cda8eec..00000000 --- a/new-lamassu-admin/src/pages/Dashboard/LeftSide.jsx +++ /dev/null @@ -1,22 +0,0 @@ -import Grid from '@mui/material/Grid' -import { makeStyles } from '@mui/styles' -import React from 'react' - -import styles from './Dashboard.styles' -import SystemPerformance from './SystemPerformance' - -const useStyles = makeStyles(styles) - -const LeftSide = () => { - const classes = useStyles() - - return ( - -
    - -
    -
    - ) -} - -export default LeftSide diff --git a/new-lamassu-admin/src/pages/Dashboard/RightSide.jsx b/new-lamassu-admin/src/pages/Dashboard/RightSide.jsx index 82eb332e..e7a438f0 100644 --- a/new-lamassu-admin/src/pages/Dashboard/RightSide.jsx +++ b/new-lamassu-admin/src/pages/Dashboard/RightSide.jsx @@ -1,29 +1,23 @@ import Button from '@mui/material/Button' -import Grid from '@mui/material/Grid' -import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React, { useState } from 'react' import CollapsibleCard, { cardState } from 'src/components/CollapsibleCard' import { H4, Label1 } from 'src/components/typography' import Alerts from './Alerts' -import styles from './Dashboard.styles' import SystemStatus from './SystemStatus' -const useStyles = makeStyles(styles) - const ShrunkCard = ({ title, buttonName, onUnshrink }) => { - const classes = useStyles() return ( -
    -

    {title}

    - +
    +

    {title}

    + @@ -32,7 +26,6 @@ const ShrunkCard = ({ title, buttonName, onUnshrink }) => { } const RightSide = () => { - const classes = useStyles() const [systemStatusSize, setSystemStatusSize] = useState(cardState.DEFAULT) const [alertsSize, setAlertsSize] = useState(cardState.DEFAULT) @@ -41,58 +34,55 @@ const RightSide = () => { setSystemStatusSize(cardState.DEFAULT) } return ( - -
    - <> - - }> - { - setAlertsSize(cardState.EXPANDED) - setSystemStatusSize(cardState.SHRUNK) - }} - onReset={onReset} - size={alertsSize} +
    +
    + - - - }> - { - setSystemStatusSize(cardState.EXPANDED) - setAlertsSize(cardState.SHRUNK) - }} - onReset={onReset} - size={systemStatusSize} + }> + { + setAlertsSize(cardState.EXPANDED) + setSystemStatusSize(cardState.SHRUNK) + }} + onReset={onReset} + size={alertsSize} + /> + + - - + }> + { + setSystemStatusSize(cardState.EXPANDED) + setAlertsSize(cardState.SHRUNK) + }} + onReset={onReset} + size={systemStatusSize} + /> +
    - +
    ) } diff --git a/new-lamassu-admin/src/pages/Dashboard/SystemPerformance/Graphs/PercentageChart.jsx b/new-lamassu-admin/src/pages/Dashboard/SystemPerformance/Graphs/PercentageChart.jsx index 7a8aa683..775ed780 100644 --- a/new-lamassu-admin/src/pages/Dashboard/SystemPerformance/Graphs/PercentageChart.jsx +++ b/new-lamassu-admin/src/pages/Dashboard/SystemPerformance/Graphs/PercentageChart.jsx @@ -1,77 +1,30 @@ -import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React from 'react' import { Label1 } from 'src/components/typography/index' -import { java, neon, white } from 'src/styling/variables' - -const styles = { - wrapper: { - display: 'flex', - height: 142 - }, - percentageBox: { - height: 142, - borderRadius: 4, - display: 'flex', - alignItems: 'center', - justifyContent: 'center', - whiteSpace: 'pre' - }, - label: { - color: white - }, - inColor: { - backgroundColor: java - }, - outColor: { - backgroundColor: neon - }, - other: { - minWidth: '6px', - borderRadius: 2 - }, - inWidth: { - width: value => `${value}%`, - marginRight: value => (value === 100 ? 0 : 4) - }, - outWidth: { - width: value => `${100 - value}%` - } -} - -const useStyles = makeStyles(styles) - const PercentageChart = ({ cashIn, cashOut }) => { const value = cashIn || cashOut !== 0 ? cashIn : 50 - const classes = useStyles(value) const buildPercentageView = value => { if (value <= 15) return - return {value}% + return {value}% } const percentageClasses = { - [classes.percentageBox]: true, - [classes.other]: value < 5 && value > 0 + 'h-35 rounded-sm flex items-center justify-center': true, + 'min-w-2 rounded-xs': value < 5 && value > 0 } return ( -
    +
    + className={classnames(percentageClasses, 'bg-java')} + style={{ width: `${value}%` }}> {buildPercentageView(value, 'cashIn')}
    + className={classnames(percentageClasses, 'bg-neon')} + style={{ width: `${100 - value}%` }}> {buildPercentageView(100 - value, 'cashOut')}
    diff --git a/new-lamassu-admin/src/pages/Dashboard/SystemPerformance/Graphs/RefLineChart.jsx b/new-lamassu-admin/src/pages/Dashboard/SystemPerformance/Graphs/RefLineChart.jsx index 9517a4bd..2dc3787e 100644 --- a/new-lamassu-admin/src/pages/Dashboard/SystemPerformance/Graphs/RefLineChart.jsx +++ b/new-lamassu-admin/src/pages/Dashboard/SystemPerformance/Graphs/RefLineChart.jsx @@ -2,8 +2,6 @@ import * as d3 from 'd3' import * as R from 'ramda' import React, { useEffect, useRef, useCallback } from 'react' -import { backgroundColor, zircon, primaryColor } from 'src/styling/variables' - const transactionProfit = R.prop('profit') const mockPoint = (tx, offsetMs, profit) => { @@ -106,7 +104,7 @@ const RefLineChart = ({ .attr('y', -margin.top) .attr('width', width + margin.left + margin.right) .attr('height', height + margin.top) - .attr('fill', backgroundColor) + .attr('fill', 'var(--ghost)') .attr('transform', `translate(${0},${margin.top})`) // gradient color for the graph (creates the "url", the color is applied by calling the url, in the area color fill ) @@ -120,9 +118,9 @@ const RefLineChart = ({ .attr('y2', '100%') .selectAll('stop') .data([ - { offset: '0%', color: zircon }, - { offset: '25%', color: zircon }, - { offset: '100%', color: backgroundColor } + { offset: '0%', color: 'var(--zircon)' }, + { offset: '25%', color: 'var(--zircon)' }, + { offset: '100%', color: 'var(--ghost)' } ]) .enter() .append('stop') @@ -181,7 +179,7 @@ const RefLineChart = ({ .attr('fill', 'none') .attr('stroke-width', '2') .attr('stroke-linejoin', 'round') - .attr('stroke', primaryColor) + .attr('stroke', 'var(--zodiac)') }, [realData, timeFrame, previousTimeData, previousProfit]) useEffect(() => { diff --git a/new-lamassu-admin/src/pages/Dashboard/SystemPerformance/Graphs/RefScatterplot.jsx b/new-lamassu-admin/src/pages/Dashboard/SystemPerformance/Graphs/RefScatterplot.jsx index 3319118b..e1ef4388 100644 --- a/new-lamassu-admin/src/pages/Dashboard/SystemPerformance/Graphs/RefScatterplot.jsx +++ b/new-lamassu-admin/src/pages/Dashboard/SystemPerformance/Graphs/RefScatterplot.jsx @@ -4,14 +4,6 @@ import { getTimezoneOffset } from 'date-fns-tz' import { add, format, startOfWeek, startOfYear } from 'date-fns/fp' import React, { useCallback, useEffect, useMemo, useRef } from 'react' -import { - java, - neon, - subheaderDarkColor, - offColor, - fontSecondary, - backgroundColor -} from 'src/styling/variables' import { numberToFiatAmount } from 'src/utils/number' import { MINUTE, DAY, WEEK, MONTH } from 'src/utils/time' @@ -143,7 +135,7 @@ const Graph = ({ data, timeFrame, timezone }) => { .attr('y', GRAPH_MARGIN.top) .attr('width', GRAPH_WIDTH) .attr('height', GRAPH_HEIGHT - GRAPH_MARGIN.top - GRAPH_MARGIN.bottom) - .attr('fill', backgroundColor) + .attr('fill', 'var(--ghost)') }, [GRAPH_MARGIN] ) @@ -191,8 +183,8 @@ const Graph = ({ data, timeFrame, timezone }) => { const buildGrid = useCallback( g => { - g.attr('stroke', subheaderDarkColor) - .attr('fill', subheaderDarkColor) + g.attr('stroke', 'var(--zircon2)') + .attr('fill', 'var(--zircon2)') // Vertical lines .call(g => g @@ -277,10 +269,10 @@ const Graph = ({ data, timeFrame, timezone }) => { () => d3 .selectAll('.tick text') - .style('stroke', offColor) - .style('fill', offColor) + .style('stroke', 'var(--comet)') + .style('fill', 'var(--comet)') .style('stroke-width', 0) - .style('font-family', fontSecondary), + .style('font-family', 'var(--museo)'), [] ) @@ -288,10 +280,10 @@ const Graph = ({ data, timeFrame, timezone }) => { () => d3 .selectAll('text') - .style('stroke', offColor) - .style('fill', offColor) + .style('stroke', 'var(--comet)') + .style('fill', 'var(--comet)') .style('stroke-width', 0) - .style('font-family', fontSecondary), + .style('font-family', 'var(--museo)'), [] ) @@ -311,7 +303,9 @@ const Graph = ({ data, timeFrame, timezone }) => { return x(created.setTime(created.getTime() + offset)) }) .attr('cy', d => y(new BigNumber(d.fiat).toNumber())) - .attr('fill', d => (d.txClass === 'cashIn' ? java : neon)) + .attr('fill', d => + d.txClass === 'cashIn' ? 'var(--java)' : 'var(--neon)' + ) .attr('r', 3.5) }, [data, offset, x, y] diff --git a/new-lamassu-admin/src/pages/Dashboard/SystemPerformance/InfoWithLabel.jsx b/new-lamassu-admin/src/pages/Dashboard/SystemPerformance/InfoWithLabel.jsx index fef78ca2..367f9c7c 100644 --- a/new-lamassu-admin/src/pages/Dashboard/SystemPerformance/InfoWithLabel.jsx +++ b/new-lamassu-admin/src/pages/Dashboard/SystemPerformance/InfoWithLabel.jsx @@ -2,10 +2,10 @@ import React from 'react' import { Info1, Label1 } from 'src/components/typography/index' const InfoWithLabel = ({ info, label }) => { return ( - <> - {info} - {label} - +
    + {info} + {label} +
    ) } diff --git a/new-lamassu-admin/src/pages/Dashboard/SystemPerformance/Nav.jsx b/new-lamassu-admin/src/pages/Dashboard/SystemPerformance/Nav.jsx index e12ac98b..e81c28c3 100644 --- a/new-lamassu-admin/src/pages/Dashboard/SystemPerformance/Nav.jsx +++ b/new-lamassu-admin/src/pages/Dashboard/SystemPerformance/Nav.jsx @@ -1,16 +1,11 @@ -import { makeStyles } from '@mui/styles' import classnames from 'classnames' import * as R from 'ramda' import React, { useState } from 'react' import { H4 } from 'src/components/typography' -import styles from './SystemPerformance.styles' - -const useStyles = makeStyles(styles) const ranges = ['Month', 'Week', 'Day'] const Nav = ({ handleSetRange, showPicker }) => { - const classes = useStyles() const [clickedItem, setClickedItem] = useState('Day') const isSelected = R.equals(clickedItem) @@ -20,22 +15,20 @@ const Nav = ({ handleSetRange, showPicker }) => { } return ( -
    -
    -

    {'System performance'}

    -
    +
    +

    {'System performance'}

    {showPicker && ( -
    +
    {ranges.map((it, idx) => { return (
    handleClick(e.target.innerText)} - className={ - isSelected(it) - ? classnames(classes.newHighlightedLabel, classes.navButton) - : classnames(classes.label, classes.navButton) - }> + className={classnames({ + 'cursor-pointer text-comet': true, + 'font-bold text-zodiac border-b-zodiac border-b-2': + isSelected(it) + })}> {it}
    ) diff --git a/new-lamassu-admin/src/pages/Dashboard/SystemPerformance/SystemPerformance.jsx b/new-lamassu-admin/src/pages/Dashboard/SystemPerformance/SystemPerformance.jsx index cd3552b1..838ded7e 100644 --- a/new-lamassu-admin/src/pages/Dashboard/SystemPerformance/SystemPerformance.jsx +++ b/new-lamassu-admin/src/pages/Dashboard/SystemPerformance/SystemPerformance.jsx @@ -1,12 +1,10 @@ -import { useQuery, gql } from "@apollo/client"; -import Grid from '@mui/material/Grid' -import { makeStyles } from '@mui/styles' +import { useQuery, gql } from '@apollo/client' import BigNumber from 'bignumber.js' import classnames from 'classnames' import { isAfter } from 'date-fns/fp' import * as R from 'ramda' import React, { useState } from 'react' -import { Label1, Label2, P } from 'src/components/typography/index' +import { Info2, Label1, Label2, P } from 'src/components/typography/index' import PercentDownIcon from 'src/styling/icons/dashboard/down.svg?react' import PercentNeutralIcon from 'src/styling/icons/dashboard/equal.svg?react' import PercentUpIcon from 'src/styling/icons/dashboard/up.svg?react' @@ -23,12 +21,10 @@ import LineChart from './Graphs/RefLineChart' import Scatterplot from './Graphs/RefScatterplot' import InfoWithLabel from './InfoWithLabel' import Nav from './Nav' -import styles from './SystemPerformance.styles' BigNumber.config({ ROUNDING_MODE: BigNumber.ROUND_HALF_UP }) const getFiats = R.map(R.prop('fiat')) -const useStyles = makeStyles(styles) const GET_DATA = gql` query getData($excludeTestingCustomers: Boolean) { @@ -54,7 +50,6 @@ const GET_DATA = gql` ` const SystemPerformance = () => { - const classes = useStyles() const [selectedRange, setSelectedRange] = useState('Day') const { data, loading } = useQuery(GET_DATA, { variables: { excludeTestingCustomers: true } @@ -162,17 +157,17 @@ const SystemPerformance = () => { const percentChange = getPercentChange() const percentageClasses = { - [classes.percentDown]: percentChange < 0, - [classes.percentUp]: percentChange > 0, - [classes.percentNeutral]: percentChange === 0 + 'text-tomato': percentChange < 0, + 'text-spring4': percentChange > 0, + 'text-comet': percentChange === 0, + 'flex items-center justify-center gap-1': true } const getPercentageIcon = () => { - if (percentChange === 0) - return - if (percentChange > 0) - return - return + const className = 'w-4 h-4' + if (percentChange === 0) return + if (percentChange > 0) return + return } return ( @@ -182,74 +177,67 @@ const SystemPerformance = () => { handleSetRange={setSelectedRange} /> {!loading && R.isEmpty(data.transactions) && ( - + )} {!loading && !R.isEmpty(data.transactions) && ( - <> - - - - - - - - {/* todo new customers */} - - - -
    - Transactions -
    -

    - {timezones[timezone]?.short ?? timezones[timezone]?.long}{' '} - timezone -

    - -
    +
    +
    + + +
    +
    +
    + Transactions +
    +

    + {timezones[timezone]?.short ?? timezones[timezone]?.long}{' '} + timezone +

    + +
    +
    - In + + In +
    -
    +
    - Out + + Out +
    - - - - - - +
    + +
    +
    +
    + Profit from commissions -
    -
    +
    + {`${getProfit(transactionsToShow).toFormat(2)} ${ data?.config.locale_fiatCurrency }`} -
    -
    + + {getPercentageIcon()} {`${new BigNumber(percentChange).toFormat(2)}%`} -
    +
    { previousTimeData={transactionsLastTimePeriod} previousProfit={getProfit(transactionsLastTimePeriod)} /> - - - +
    +
    +
    Direction -
    -
    +
    +
    - In + + In +
    -
    +
    - Out + + Out +
    - - - - - - - +
    + +
    +
    +
    )} ) diff --git a/new-lamassu-admin/src/pages/Dashboard/SystemPerformance/SystemPerformance.styles.js b/new-lamassu-admin/src/pages/Dashboard/SystemPerformance/SystemPerformance.styles.js deleted file mode 100644 index 0a54b9a9..00000000 --- a/new-lamassu-admin/src/pages/Dashboard/SystemPerformance/SystemPerformance.styles.js +++ /dev/null @@ -1,154 +0,0 @@ -import { - offColor, - offDarkColor, - spacer, - primaryColor, - fontSize3, - fontSecondary, - fontColor, - spring4, - tomato, - comet -} from 'src/styling/variables' - -const styles = { - titleWrapper: { - display: 'flex', - justifyContent: 'space-between', - alignItems: 'center', - flexDirection: 'row' - }, - titleAndButtonsContainer: { - display: 'flex' - }, - error: { - marginLeft: 12 - }, - icon: { - marginRight: 6 - }, - h4: { - margin: 0, - marginRight: spacer * 8 - }, - label: { - cursor: 'pointer', - minHeight: 0, - minWidth: 0, - padding: 0, - color: offColor, - textTransform: 'none', - borderBottom: `2px solid transparent`, - display: 'inline-block', - lineHeight: 1.5, - '&:hover': { - backgroundColor: 'transparent' - } - }, - newHighlightedLabel: { - cursor: 'pointer', - color: primaryColor, - fontWeight: 700, - borderRadius: 0, - minHeight: 0, - minWidth: 0, - textTransform: 'none', - borderBottom: `2px solid ${primaryColor}`, - display: 'inline-block', - lineHeight: 1.5, - '&:hover': { - backgroundColor: 'transparent' - } - }, - navButton: { - marginLeft: 24 - }, - navContainer: { - display: 'flex' - }, - percentUp: { - fontSize: fontSize3, - fontFamily: fontSecondary, - fontWeight: 700, - color: spring4, - height: 10 - }, - percentDown: { - fontSize: fontSize3, - fontFamily: fontSecondary, - fontWeight: 700, - color: tomato, - height: 13 - }, - percentNeutral: { - fontSize: fontSize3, - fontFamily: fontSecondary, - fontWeight: 700, - color: comet - }, - profitContainer: { - display: 'flex', - justifyContent: 'space-between', - margin: '23px 26px -30px 16px', - position: 'relative' - }, - profitLabel: { - fontSize: fontSize3, - fontFamily: fontSecondary, - fontWeight: 700, - color: fontColor - }, - directionIcon: { - width: 16, - height: 16, - marginBottom: -2, - marginRight: 4 - }, - emptyTransactions: { - paddingTop: 40 - }, - commissionProfitTitle: { - marginBottom: 16 - }, - graphHeader: { - display: 'flex', - flexDirection: 'row', - alignItems: 'center', - justifyContent: 'space-between', - marginBottom: 16 - }, - labelWrapper: { - display: 'flex', - flexDirection: 'row', - alignItems: 'center', - '& > div': { - display: 'flex', - flexDirection: 'row', - alignItems: 'center', - marginLeft: 15, - '&:first-child': { - marginLeft: 0 - }, - '& > p': { - marginLeft: 8 - } - } - }, - txGraphContainer: { - height: 300, - marginTop: 30 - }, - commissionsGraphContainer: { - height: 250, - marginTop: 30 - }, - verticalLine: { - height: 15, - width: 1, - backgroundColor: offDarkColor, - marginLeft: 31, - marginRight: 16 - } -} - -export default styles diff --git a/new-lamassu-admin/src/pages/Dashboard/SystemStatus/MachinesTable.jsx b/new-lamassu-admin/src/pages/Dashboard/SystemStatus/MachinesTable.jsx index 94d1c68b..37362174 100644 --- a/new-lamassu-admin/src/pages/Dashboard/SystemStatus/MachinesTable.jsx +++ b/new-lamassu-admin/src/pages/Dashboard/SystemStatus/MachinesTable.jsx @@ -1,12 +1,11 @@ -import { useQuery, gql } from "@apollo/client"; -import { makeStyles, withStyles } from '@mui/styles' +import { useQuery, gql } from '@apollo/client' +import { styled } from '@mui/material/styles' import Table from '@mui/material/Table' import TableBody from '@mui/material/TableBody' import TableCell from '@mui/material/TableCell' import TableContainer from '@mui/material/TableContainer' import TableHead from '@mui/material/TableHead' import TableRow from '@mui/material/TableRow' -import classnames from 'classnames' import * as R from 'ramda' import React from 'react' import { useHistory } from 'react-router-dom' @@ -15,11 +14,8 @@ import { Label2, TL2 } from 'src/components/typography' import TxOutIcon from 'src/styling/icons/direction/cash-out.svg?react' import MachineLinkIcon from 'src/styling/icons/month arrows/right.svg?react' -// import TxInIcon from 'src/styling/icons/direction/cash-in.svg?react' import { fromNamespace } from 'src/utils/config' -import styles from './MachinesTable.styles' - // percentage threshold where below this number the text in the cash cassettes percentage turns red const PERCENTAGE_THRESHOLD = 20 @@ -29,27 +25,20 @@ const GET_CONFIG = gql` } ` -const useStyles = makeStyles(styles) +const StyledCell = styled(TableCell)({ + borderBottom: '4px solid white', + padding: 0, + paddingLeft: '15px' +}) -const StyledCell = withStyles({ - root: { - borderBottom: '4px solid white', - padding: 0, - paddingLeft: 15 - } -})(TableCell) - -const HeaderCell = withStyles({ - root: { - borderBottom: '4px solid white', - padding: 0, - paddingLeft: 15, - backgroundColor: 'white' - } -})(TableCell) +const HeaderCell = styled(TableCell)({ + borderBottom: '4px solid white', + padding: 0, + paddingLeft: '15px', + backgroundColor: 'white' +}) const MachinesTable = ({ machines = [], numToRender }) => { - const classes = useStyles() const history = useHistory() const { data } = useQuery(GET_CONFIG) @@ -69,7 +58,7 @@ const MachinesTable = ({ machines = [], numToRender }) => { R.defaultTo(PERCENTAGE_THRESHOLD) )(fillingPercentageSettings) return percent < percentageThreshold ? ( - {`${percent}%`} + {`${percent}%`} ) : ( {`${percent}%`} ) @@ -87,30 +76,32 @@ const MachinesTable = ({ machines = [], numToRender }) => { ) return ( - + -
    - Machines +
    + + Machines +
    -
    - Status +
    + + Status +
    - {/* -
    - -
    -
    */} {R.times(R.identity, maxNumberOfCassettes).map((it, idx) => ( -
    +
    - {it + 1} + + {' '} + {it + 1} +
    ))} @@ -122,20 +113,23 @@ const MachinesTable = ({ machines = [], numToRender }) => { return ( redirect(machine)} - className={classnames(classes.row)} + className="boder-b-0 bg-ghost" key={machine.deviceId + idx}> - -
    + +
    {machine.name} redirect(machine)} />
    - +
    diff --git a/new-lamassu-admin/src/pages/Dashboard/SystemStatus/MachinesTable.styles.js b/new-lamassu-admin/src/pages/Dashboard/SystemStatus/MachinesTable.styles.js index 7f466583..b8774833 100644 --- a/new-lamassu-admin/src/pages/Dashboard/SystemStatus/MachinesTable.styles.js +++ b/new-lamassu-admin/src/pages/Dashboard/SystemStatus/MachinesTable.styles.js @@ -6,10 +6,6 @@ import { } from 'src/styling/variables' const styles = { - container: { - display: 'flex', - justifyContent: 'space-between' - }, label: { margin: 0, color: offColor @@ -45,30 +41,12 @@ const styles = { bottom: 160, marginBottom: 0 }, - upperButtonLabel: { - textAlign: 'center', - marginBottom: 0, - marginTop: 0 - }, statusHeader: { marginLeft: 2 }, - table: { - maxHeight: 440, - '&::-webkit-scrollbar': { - width: 7 - }, - '&::-webkit-scrollbar-thumb': { - backgroundColor: offColor, - borderRadius: 5 - } - }, tableBody: { overflow: 'auto' }, - h4: { - marginTop: 0 - }, tl2: { display: 'inline' }, @@ -76,11 +54,9 @@ const styles = { display: 'inline' }, machinesTableContainer: { - marginTop: 10, height: 220 }, expandedMachinesTableContainer: { - marginTop: 10, height: 414 }, centerLabel: { diff --git a/new-lamassu-admin/src/pages/Dashboard/SystemStatus/SystemStatus.jsx b/new-lamassu-admin/src/pages/Dashboard/SystemStatus/SystemStatus.jsx index ff01f03d..7b043d1a 100644 --- a/new-lamassu-admin/src/pages/Dashboard/SystemStatus/SystemStatus.jsx +++ b/new-lamassu-admin/src/pages/Dashboard/SystemStatus/SystemStatus.jsx @@ -1,18 +1,12 @@ -import { useQuery, gql } from "@apollo/client"; +import { useQuery, gql } from '@apollo/client' import Button from '@mui/material/Button' -import Grid from '@mui/material/Grid' -import { makeStyles } from '@mui/styles' import classnames from 'classnames' import * as R from 'ramda' import React from 'react' import { cardState as cardState_ } from 'src/components/CollapsibleCard' -// import ActionButton from 'src/components/buttons/ActionButton' import { H4, TL2, Label1 } from 'src/components/typography' import MachinesTable from './MachinesTable' -import styles from './MachinesTable.styles' - -const useStyles = makeStyles(styles) // number of machines in the table to render on page load const NUM_TO_RENDER = 4 @@ -59,29 +53,28 @@ const GET_DATA = gql` } */ const SystemStatus = ({ onReset, onExpand, size }) => { - const classes = useStyles() const { data, loading } = useQuery(GET_DATA) const machines = R.path(['machines'])(data) ?? [] const showAllItems = size === cardState_.EXPANDED const machinesTableContainerClasses = { - [classes.machinesTableContainer]: !showAllItems, - [classes.expandedMachinesTableContainer]: showAllItems + 'h-55': !showAllItems, + 'h-103': showAllItems } // const uptime = data?.uptime ?? [{}] return ( <> -
    -

    System status

    {' '} +
    +

    System status

    {showAllItems && ( - + @@ -89,54 +82,29 @@ const SystemStatus = ({ onReset, onExpand, size }) => {
    {!loading && ( <> - - {/* - On hold until system uptime is implemented - - - {parseUptime(uptime[0].time)} - - System up time - */} - - {data?.serverVersion} - server version - - - {/* - On hold until system update features are implemented - console.log('Upgrade button clicked')}> - Update to v10.6.0 - */} - - - - - - - +
    + {data?.serverVersion} + server version +
    +
    + +
    {!showAllItems && machines.length > NUM_TO_RENDER && ( - - +
    + - +
    )} )} diff --git a/new-lamassu-admin/src/pages/Locales/Locales.jsx b/new-lamassu-admin/src/pages/Locales/Locales.jsx index fcb32433..06a526da 100644 --- a/new-lamassu-admin/src/pages/Locales/Locales.jsx +++ b/new-lamassu-admin/src/pages/Locales/Locales.jsx @@ -1,5 +1,4 @@ -import { useQuery, useMutation, gql } from "@apollo/client"; -import { makeStyles } from '@mui/styles' +import { useQuery, useMutation, gql } from '@apollo/client' import * as R from 'ramda' import React, { useState } from 'react' import Modal from 'src/components/Modal' @@ -15,7 +14,6 @@ import { Link, SupportLinkButton } from 'src/components/buttons' import { Table as EditableTable } from 'src/components/editableTable' import { fromNamespace, toNamespace, namespaces } from 'src/utils/config' -import { styles } from './Locales.styles' import { mainFields, overrides, @@ -25,8 +23,6 @@ import { overridesDefaults } from './helper' -const useStyles = makeStyles(styles) - const GET_DATA = gql` query getData { config @@ -75,8 +71,6 @@ const GET_MARKETS = gql` ` const FiatCurrencyChangeAlert = ({ open, close, save }) => { - const classes = useStyles() - return ( { Also, if you have cash-out enabled, you must define new dispenser bill counts for the new currency for cash-out on the new currency to work.

    -
    +
    Cancel - + Save
    diff --git a/new-lamassu-admin/src/pages/Locales/Locales.styles.js b/new-lamassu-admin/src/pages/Locales/Locales.styles.js deleted file mode 100644 index 7470d8f6..00000000 --- a/new-lamassu-admin/src/pages/Locales/Locales.styles.js +++ /dev/null @@ -1,12 +0,0 @@ -const styles = { - rightAligned: { - marginTop: '20px', - marginLeft: 'auto', - marginBottom: '20px' - }, - rightLink: { - marginLeft: '20px' - } -} - -export { styles } diff --git a/new-lamassu-admin/src/styling/global/global.css b/new-lamassu-admin/src/styling/global/global.css index 9186c0ca..906d56a0 100644 --- a/new-lamassu-admin/src/styling/global/global.css +++ b/new-lamassu-admin/src/styling/global/global.css @@ -22,6 +22,7 @@ --ghost: #fafbff; --zircon: #ebefff; + --zircon2: #dbdfed; --java: #16d6d3; --neon: #5a67ff; @@ -45,6 +46,8 @@ --color-tomato: var(--tomato); --color-ghost: var(--ghost); --color-zircon: var(--zircon); + --color-zircon2: var(--zircon2); + --color-java: var(--java); --color-neon: var(--neon); --color-malachite: var(--malachite); --color-orange-yellow: var(--orange-yellow); diff --git a/new-lamassu-admin/src/styling/theme.js b/new-lamassu-admin/src/styling/theme.js index f0bd2450..230160a3 100644 --- a/new-lamassu-admin/src/styling/theme.js +++ b/new-lamassu-admin/src/styling/theme.js @@ -151,6 +151,13 @@ theme = createTheme(theme, { } } }, + MuiPaper: { + styleOverrides: { + elevation1: { + boxShadow: '0 0 4px 0 rgba(0, 0, 0, 0.08)' + } + } + }, MuiChip: { styleOverrides: { root: { From b95dd5cbbf5f3c36f193c16852d87fcb05447c85 Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Tue, 6 May 2025 14:50:11 +0100 Subject: [PATCH 47/85] partial: Loyalty, Machines CSS rework --- .../LoyaltyPanel/IndividualDiscount.styles.js | 58 ---------- .../LoyaltyPanel/IndividualDiscountModal.jsx | 28 ++--- .../LoyaltyPanel/IndividualDiscounts.jsx | 14 +-- .../pages/LoyaltyPanel/LoyaltyDiscounts.jsx | 7 -- .../src/pages/LoyaltyPanel/PromoCodes.jsx | 6 - .../pages/LoyaltyPanel/PromoCodes.styles.js | 51 --------- .../pages/LoyaltyPanel/PromoCodesModal.jsx | 103 ++++++++---------- .../MachineComponents/Cassettes/Cassettes.jsx | 13 +-- .../Cassettes/Cassettes.styles.js | 35 ------ .../Machines/MachineComponents/Details.jsx | 21 ++-- .../Machines/MachineComponents/Overview.jsx | 48 +++----- .../src/pages/Machines/MachineSidebar.jsx | 6 +- .../src/pages/Machines/Machines.jsx | 90 +++++++-------- .../src/pages/Machines/Machines.styles.js | 66 ----------- .../src/pages/Maintenance/CashUnits.jsx | 1 - .../src/pages/Maintenance/CashUnits.styles.js | 26 ----- .../src/pages/Maintenance/helper.jsx | 20 +--- 17 files changed, 134 insertions(+), 459 deletions(-) delete mode 100644 new-lamassu-admin/src/pages/LoyaltyPanel/IndividualDiscount.styles.js delete mode 100644 new-lamassu-admin/src/pages/LoyaltyPanel/LoyaltyDiscounts.jsx delete mode 100644 new-lamassu-admin/src/pages/LoyaltyPanel/PromoCodes.styles.js delete mode 100644 new-lamassu-admin/src/pages/Machines/MachineComponents/Cassettes/Cassettes.styles.js delete mode 100644 new-lamassu-admin/src/pages/Machines/Machines.styles.js diff --git a/new-lamassu-admin/src/pages/LoyaltyPanel/IndividualDiscount.styles.js b/new-lamassu-admin/src/pages/LoyaltyPanel/IndividualDiscount.styles.js deleted file mode 100644 index 68951bfc..00000000 --- a/new-lamassu-admin/src/pages/LoyaltyPanel/IndividualDiscount.styles.js +++ /dev/null @@ -1,58 +0,0 @@ -import { spacer, errorColor } from 'src/styling/variables' - -const styles = { - identification: { - display: 'flex', - flexDirection: 'row', - alignItems: 'center', - '& > *:first-child': { - marginLeft: 0 - }, - '& > *': { - marginLeft: 6 - }, - '& > *:nth-child(3)': { - marginLeft: 15 - } - }, - form: { - display: 'flex', - flexDirection: 'column', - height: '100%', - '& > *:first-child': { - marginTop: 10 - }, - '& > *': { - marginBottom: 20 - } - }, - customerAutocomplete: { - width: 350 - }, - discountRateWrapper: { - display: 'flex', - flexDirection: 'row', - alignItems: 'center' - }, - discountInput: { - display: 'flex', - flexDirection: 'row', - alignItems: 'center' - }, - footer: { - display: 'flex', - flexDirection: 'row', - margin: [['auto', 0, spacer * 3, 0]] - }, - submit: { - margin: [['auto', 0, 0, 'auto']] - }, - error: { - color: errorColor - }, - disabled: { - cursor: 'wait' - } -} - -export default styles diff --git a/new-lamassu-admin/src/pages/LoyaltyPanel/IndividualDiscountModal.jsx b/new-lamassu-admin/src/pages/LoyaltyPanel/IndividualDiscountModal.jsx index 6868330d..840964ab 100644 --- a/new-lamassu-admin/src/pages/LoyaltyPanel/IndividualDiscountModal.jsx +++ b/new-lamassu-admin/src/pages/LoyaltyPanel/IndividualDiscountModal.jsx @@ -1,20 +1,15 @@ -import { makeStyles } from '@mui/styles' import { Form, Formik, Field } from 'formik' import * as R from 'ramda' import React from 'react' import ErrorMessage from 'src/components/ErrorMessage' import Modal from 'src/components/Modal' import { HelpTooltip } from 'src/components/Tooltip' -import { H3, TL1, P } from 'src/components/typography' +import { H1, H3, P } from 'src/components/typography' import * as Yup from 'yup' import { Button } from 'src/components/buttons' import { NumberInput, Autocomplete } from 'src/components/inputs/formik' -import styles from './IndividualDiscount.styles' - -const useStyles = makeStyles(styles) - const initialValues = { customer: '', discount: '' @@ -46,8 +41,6 @@ const IndividualDiscountModal = ({ addDiscount, customers }) => { - const classes = useStyles() - const handleAddDiscount = (customer, discount) => { addDiscount({ variables: { @@ -77,8 +70,10 @@ const IndividualDiscountModal = ({ handleAddDiscount(customer, discount) }}> {({ errors, touched }) => ( - -
    + +
    -
    +

    Define discount rate

    @@ -112,22 +107,19 @@ const IndividualDiscountModal = ({

    -
    +
    - - % - +

    %

    -
    +
    {getErrorMsg(errors, touched, creationError) && ( {getErrorMsg(errors, touched, creationError)} @@ -136,7 +128,7 @@ const IndividualDiscountModal = ({
    diff --git a/new-lamassu-admin/src/pages/LoyaltyPanel/IndividualDiscounts.jsx b/new-lamassu-admin/src/pages/LoyaltyPanel/IndividualDiscounts.jsx index d6940a65..7f1d63fc 100644 --- a/new-lamassu-admin/src/pages/LoyaltyPanel/IndividualDiscounts.jsx +++ b/new-lamassu-admin/src/pages/LoyaltyPanel/IndividualDiscounts.jsx @@ -1,21 +1,17 @@ import { useQuery, useMutation, gql } from '@apollo/client' -import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' + +import { Link, Button, IconButton } from 'src/components/buttons' import { DeleteDialog } from 'src/components/DeleteDialog' import DataTable from 'src/components/tables/DataTable' import { Label3, TL1 } from 'src/components/typography' import PhoneIdIcon from 'src/styling/icons/ID/phone/zodiac.svg?react' import DeleteIcon from 'src/styling/icons/action/delete/enabled.svg?react' -import { Link, Button, IconButton } from 'src/components/buttons' - -import styles from './IndividualDiscount.styles' import IndividualDiscountModal from './IndividualDiscountModal' import classnames from 'classnames' -const useStyles = makeStyles(styles) - const GET_INDIVIDUAL_DISCOUNTS = gql` query individualDiscounts { individualDiscounts { @@ -57,8 +53,6 @@ const GET_CUSTOMERS = gql` ` const IndividualDiscounts = () => { - const classes = useStyles() - const [deleteDialog, setDeleteDialog] = useState(false) const [toBeDeleted, setToBeDeleted] = useState() @@ -94,7 +88,7 @@ const IndividualDiscounts = () => { size: 'sm', view: t => { return ( -
    +
    {t.customer.phone}
    @@ -158,7 +152,7 @@ const IndividualDiscounts = () => { Add new code diff --git a/new-lamassu-admin/src/pages/LoyaltyPanel/LoyaltyDiscounts.jsx b/new-lamassu-admin/src/pages/LoyaltyPanel/LoyaltyDiscounts.jsx deleted file mode 100644 index cf4e9335..00000000 --- a/new-lamassu-admin/src/pages/LoyaltyPanel/LoyaltyDiscounts.jsx +++ /dev/null @@ -1,7 +0,0 @@ -import React from 'react' - -const LoyaltyDiscounts = () => { - return <> -} - -export default LoyaltyDiscounts diff --git a/new-lamassu-admin/src/pages/LoyaltyPanel/PromoCodes.jsx b/new-lamassu-admin/src/pages/LoyaltyPanel/PromoCodes.jsx index 6c3afcf0..6a239742 100644 --- a/new-lamassu-admin/src/pages/LoyaltyPanel/PromoCodes.jsx +++ b/new-lamassu-admin/src/pages/LoyaltyPanel/PromoCodes.jsx @@ -1,5 +1,4 @@ import { useQuery, useMutation, gql } from '@apollo/client' -import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' import { DeleteDialog } from 'src/components/DeleteDialog' @@ -9,11 +8,8 @@ import DeleteIcon from 'src/styling/icons/action/delete/enabled.svg?react' import { Link, Button, IconButton } from 'src/components/buttons' -import styles from './PromoCodes.styles' import PromoCodesModal from './PromoCodesModal' -const useStyles = makeStyles(styles) - const DUPLICATE_ERROR_MSG = 'There is already a promotion with that code!' const DEFAULT_ERROR_MSG = 'Failed to save' @@ -46,8 +42,6 @@ const CREATE_CODE = gql` ` const PromoCodes = () => { - const classes = useStyles() - const [deleteDialog, setDeleteDialog] = useState(false) const [toBeDeleted, setToBeDeleted] = useState() diff --git a/new-lamassu-admin/src/pages/LoyaltyPanel/PromoCodes.styles.js b/new-lamassu-admin/src/pages/LoyaltyPanel/PromoCodes.styles.js deleted file mode 100644 index 6332a4c3..00000000 --- a/new-lamassu-admin/src/pages/LoyaltyPanel/PromoCodes.styles.js +++ /dev/null @@ -1,51 +0,0 @@ -import { - spacer, - fontPrimary, - primaryColor, - errorColor -} from 'src/styling/variables' - -const styles = { - footer: { - display: 'flex', - flexDirection: 'row', - margin: [['auto', 0, spacer * 3, 0]] - }, - modalLabel1: { - marginTop: 20 - }, - modalLabel2Wrapper: { - marginTop: 40, - display: 'flex', - flexDirection: 'row', - justifyContent: 'flex-start' - }, - discountInput: { - display: 'flex', - flexDirection: 'row', - alignItems: 'flex-start' - }, - inputLabel: { - color: primaryColor, - fontFamily: fontPrimary, - fontSize: 24, - marginLeft: 8, - marginTop: 15 - }, - tableWidth: { - width: 620 - }, - error: { - color: errorColor - }, - form: { - display: 'flex', - flexDirection: 'column', - height: '100%' - }, - submit: { - margin: [['auto', 0, 0, 'auto']] - } -} - -export default styles diff --git a/new-lamassu-admin/src/pages/LoyaltyPanel/PromoCodesModal.jsx b/new-lamassu-admin/src/pages/LoyaltyPanel/PromoCodesModal.jsx index 25556f6e..15d064e5 100644 --- a/new-lamassu-admin/src/pages/LoyaltyPanel/PromoCodesModal.jsx +++ b/new-lamassu-admin/src/pages/LoyaltyPanel/PromoCodesModal.jsx @@ -1,33 +1,30 @@ -import { makeStyles } from '@mui/styles' import { Form, Formik, Field } from 'formik' import * as R from 'ramda' import React from 'react' import ErrorMessage from 'src/components/ErrorMessage' import Modal from 'src/components/Modal' import { HelpTooltip } from 'src/components/Tooltip' -import { H3, TL1, P } from 'src/components/typography' +import { H3, P, H1 } from 'src/components/typography' import * as Yup from 'yup' import { Button } from 'src/components/buttons' import { TextInput, NumberInput } from 'src/components/inputs/formik' -import styles from './PromoCodes.styles' - -const useStyles = makeStyles(styles) - const initialValues = { code: '', discount: '' } const validationSchema = Yup.object().shape({ - code: Yup.string().required().trim().max(25).matches(/^\S*$/, 'No whitespace allowed'), + code: Yup.string() + .required() + .trim() + .max(25) + .matches(/^\S*$/, 'No whitespace allowed'), discount: Yup.number().required().min(0).max(100) }) const PromoCodesModal = ({ showModal, onClose, errorMsg, addCode }) => { - const classes = useStyles() - const handleAddCode = (code, discount) => { addCode(R.toUpper(code), parseInt(discount)) } @@ -51,58 +48,52 @@ const PromoCodesModal = ({ showModal, onClose, errorMsg, addCode }) => { handleAddCode(code, discount) }}> {({ errors }) => ( - -

    Promo code name

    + +

    Promo code name

    -
    -

    Define discount rate

    - -

    - This is a percentage discount off of your existing - commission rates for a customer entering this code at the - machine. -

    -

    - For instance, if you charge 8% commissions, and this code is - set for 50%, then you'll instead be charging 4% on - transactions using the code. -

    -
    -
    -
    - - - % - -
    -
    - {(errorMsg || !R.isEmpty(errors)) && ( - - {errorMsg || R.head(R.values(errors))} - - )} - +
    +

    Define discount rate

    + +

    + This is a percentage discount off of your existing + commission rates for a customer entering this code at the + machine. +

    +

    + For instance, if you charge 8% commissions, and this code + is set for 50%, then you'll instead be charging 4% on + transactions using the code. +

    +
    +
    +
    + +

    %

    +
    +
    + {(errorMsg || !R.isEmpty(errors)) && ( + + {errorMsg || R.head(R.values(errors))} + + )} +
    )} diff --git a/new-lamassu-admin/src/pages/Machines/MachineComponents/Cassettes/Cassettes.jsx b/new-lamassu-admin/src/pages/Machines/MachineComponents/Cassettes/Cassettes.jsx index 04dfb6b6..0dd0b5a4 100644 --- a/new-lamassu-admin/src/pages/Machines/MachineComponents/Cassettes/Cassettes.jsx +++ b/new-lamassu-admin/src/pages/Machines/MachineComponents/Cassettes/Cassettes.jsx @@ -1,5 +1,4 @@ -import { useMutation, gql } from "@apollo/client"; -import { makeStyles } from '@mui/styles' +import { useMutation, gql } from '@apollo/client' import * as R from 'ramda' import React, { useState } from 'react' import DataTable from 'src/components/tables/DataTable' @@ -9,10 +8,6 @@ import helper from 'src/pages/Maintenance/helper' import { fromNamespace } from 'src/utils/config' -import styles from './Cassettes.styles' - -const useStyles = makeStyles(styles) - const SET_CASSETTE_BILLS = gql` mutation MachineAction( $deviceId: ID! @@ -46,8 +41,6 @@ const widths = { } const CashCassettes = ({ machine, config, refetchData, bills }) => { - const classes = useStyles() - const [wizard, setWizard] = useState(false) const cashout = config && fromNamespace('cashOut')(config) @@ -57,7 +50,7 @@ const CashCassettes = ({ machine, config, refetchData, bills }) => { const getCashoutSettings = deviceId => fromNamespace(deviceId)(cashout) const elements = R.filter(it => it.name !== 'name')( - helper.getElements(classes, config, bills, setWizard, widths) + helper.getElements(config, bills, setWizard, widths) ) const [setCassetteBills, { error }] = useMutation(SET_CASSETTE_BILLS, { @@ -92,7 +85,7 @@ const CashCassettes = ({ machine, config, refetchData, bills }) => { Details={InnerCashUnitDetails} emptyText="No machines so far" initialExpanded={0} - tableClassName={classes.dataTable} + tableClassName="min-h-72" /> {wizard && ( *': { - marginRight: 30 - }, - '& > *:last-child': { - marginRight: 0 - } - }, - units: { - display: 'flex', - flexDirection: 'row', - '& > *': { - marginRight: 10 - }, - '& > *:last-child': { - marginRight: 0 - } - }, - verticalLine: { - height: '100%', - width: 1, - backgroundColor: offDarkColor - }, - dataTable: { - minHeight: 290 - } -} - -export default styles diff --git a/new-lamassu-admin/src/pages/Machines/MachineComponents/Details.jsx b/new-lamassu-admin/src/pages/Machines/MachineComponents/Details.jsx index 7b9105da..7ca96a36 100644 --- a/new-lamassu-admin/src/pages/Machines/MachineComponents/Details.jsx +++ b/new-lamassu-admin/src/pages/Machines/MachineComponents/Details.jsx @@ -1,31 +1,26 @@ -import { makeStyles } from '@mui/styles' import React from 'react' -import { Label3, P } from 'src/components/typography' +import { Label1, P } from 'src/components/typography' import { modelPrettifier } from 'src/utils/machine' import { formatDate } from 'src/utils/timezones' -import styles from '../Machines.styles' -const useStyles = makeStyles(styles) - const Details = ({ data, timezone }) => { - const classes = useStyles() return ( -
    -
    - Paired at +
    +
    + Paired at

    {data.pairedAt ? formatDate(data.pairedAt, timezone, 'yyyy-MM-dd HH:mm:ss') : ''}

    -
    - Machine model +
    + Machine model

    {modelPrettifier[data.model]}

    -
    - Software version +
    + Software version

    {data.version}

    diff --git a/new-lamassu-admin/src/pages/Machines/MachineComponents/Overview.jsx b/new-lamassu-admin/src/pages/Machines/MachineComponents/Overview.jsx index a9f42060..db9730c6 100644 --- a/new-lamassu-admin/src/pages/Machines/MachineComponents/Overview.jsx +++ b/new-lamassu-admin/src/pages/Machines/MachineComponents/Overview.jsx @@ -1,4 +1,3 @@ -import { makeStyles } from '@mui/styles' import BigNumber from 'bignumber.js' import { formatDistance } from 'date-fns' import React from 'react' @@ -7,36 +6,25 @@ import MachineActions from 'src/components/machineActions/MachineActions' import { H3, Label1, P } from 'src/components/typography' import CopyToClipboard from 'src/pages/Transactions/CopyToClipboard' -import styles from '../Machines.styles' -const useStyles = makeStyles(styles) - const Overview = ({ data, onActionSuccess }) => { - const classes = useStyles() - return ( -
    -
    -
    -

    {data.name}

    -
    +
    +

    {data.name}

    +
    + Status + {data && data.statuses ? : null}
    -
    -
    - Status - {data && data.statuses ? : null} -
    -
    -
    -
    - Ping +
    +
    + Ping

    {data.responseTime ? new BigNumber(data.responseTime).toFixed(3).toString() + ' ms' : 'unavailable'}

    -
    - Last ping +
    + Last ping

    {data.lastPing ? formatDistance(new Date(data.lastPing), new Date(), { @@ -45,8 +33,8 @@ const Overview = ({ data, onActionSuccess }) => { : 'unknown'}

    -
    - Network speed +
    + Network speed

    {data.downloadSpeed ? new BigNumber(data.downloadSpeed) @@ -56,17 +44,15 @@ const Overview = ({ data, onActionSuccess }) => {

    -
    -
    - Device ID +
    +
    + Device ID

    - - {data.deviceId} - + {data.deviceId}

    -
    +
    diff --git a/new-lamassu-admin/src/pages/Machines/MachineSidebar.jsx b/new-lamassu-admin/src/pages/Machines/MachineSidebar.jsx index 1181d615..a9f1851b 100644 --- a/new-lamassu-admin/src/pages/Machines/MachineSidebar.jsx +++ b/new-lamassu-admin/src/pages/Machines/MachineSidebar.jsx @@ -1,15 +1,11 @@ import List from '@mui/material/List' import ListItem from '@mui/material/ListItem' import ListItemText from '@mui/material/ListItemText' -import { makeStyles } from '@mui/styles' import React from 'react' -import styles from './Machines.styles' -const useStyles = makeStyles(styles) const MachineSidebar = ({ data, getText, getKey, isSelected, selectItem }) => { - const classes = useStyles() return ( - + {data.map((item, idx) => { return ( { } const Machines = ({ data, refetch, reload }) => { - const classes = useStyles() - const timezone = R.path(['config', 'locale_timezone'], data) ?? {} const machine = R.path(['machine'])(data) ?? {} @@ -113,51 +106,44 @@ const Machines = ({ data, refetch, reload }) => { const machineID = R.path(['deviceId'])(machine) ?? null return ( - - - -
    - }> - - - Dashboard - - - - {machineName} - - - -
    -
    -
    - -
    -
    - {'Details'} -
    -
    -
    - {'Cash box & cassettes'} - -
    -
    - {'Latest transactions'} - -
    -
    - {'Commissions'} - -
    +
    +
    + }> + + + Dashboard + + + + {machineName} + + + +
    +
    +
    + Details +
    - - +
    + Cash box & cassettes + +
    +
    + Latest transactions + +
    +
    + Commissions + +
    +
    +
    ) } diff --git a/new-lamassu-admin/src/pages/Machines/Machines.styles.js b/new-lamassu-admin/src/pages/Machines/Machines.styles.js deleted file mode 100644 index 2a524939..00000000 --- a/new-lamassu-admin/src/pages/Machines/Machines.styles.js +++ /dev/null @@ -1,66 +0,0 @@ -import { spacer, comet } from 'src/styling/variables' - -const styles = { - grid: { - flex: 1, - height: '100%' - }, - content: { - display: 'flex', - flexDirection: 'column', - flex: 1, - marginLeft: spacer * 6, - maxWidth: 900 - }, - subtitle: { - display: 'flex', - justifyContent: 'space-between', - alignItems: 'center', - flexDirection: 'row', - color: comet - }, - label3: { - color: comet, - marginTop: 0, - fontSize: 12 - }, - row: { - display: 'flex', - flexDirection: 'row', - justifyContent: 'space-around' - }, - rowItem: { - flex: 1, - marginBottom: spacer * 2 - }, - detailItem: { - marginBottom: spacer * 4 - }, - actionButtonsContainer: { - display: 'flex', - flexDirection: 'row' - }, - breadcrumbsContainer: { - marginTop: 32 - }, - breadcrumbLink: { - textDecoration: 'none' - }, - detailsMargin: { - marginTop: 24 - }, - sidebarContainer: { - height: 400, - overflowY: 'auto' - }, - contentContainer: { - '& > *': { - marginTop: 26 - }, - '& > *:first-child': { - marginTop: 0 - } - } -} - -export default styles diff --git a/new-lamassu-admin/src/pages/Maintenance/CashUnits.jsx b/new-lamassu-admin/src/pages/Maintenance/CashUnits.jsx index 8f3fa94b..16aaad7c 100644 --- a/new-lamassu-admin/src/pages/Maintenance/CashUnits.jsx +++ b/new-lamassu-admin/src/pages/Maintenance/CashUnits.jsx @@ -188,7 +188,6 @@ const CashCassettes = () => { } const elements = helper.getElements( - classes, config, bills, setWizard, diff --git a/new-lamassu-admin/src/pages/Maintenance/CashUnits.styles.js b/new-lamassu-admin/src/pages/Maintenance/CashUnits.styles.js index 389968bc..2c46a149 100644 --- a/new-lamassu-admin/src/pages/Maintenance/CashUnits.styles.js +++ b/new-lamassu-admin/src/pages/Maintenance/CashUnits.styles.js @@ -27,32 +27,6 @@ export default { downloadLogsButton: { marginLeft: 13 }, - unitsRow: { - display: 'flex', - flexDirection: 'row', - margin: [[10, 0]], - '& > *': { - marginRight: 30 - }, - '& > *:last-child': { - marginRight: 0 - } - }, - units: { - display: 'flex', - flexDirection: 'row', - '& > *': { - marginRight: 10 - }, - '& > *:last-child': { - marginRight: 0 - } - }, - verticalLine: { - height: '100%', - width: 1, - backgroundColor: offDarkColor - }, dataTable: { marginBottom: 80 } diff --git a/new-lamassu-admin/src/pages/Maintenance/helper.jsx b/new-lamassu-admin/src/pages/Maintenance/helper.jsx index 19e21f60..e63e8ac4 100644 --- a/new-lamassu-admin/src/pages/Maintenance/helper.jsx +++ b/new-lamassu-admin/src/pages/Maintenance/helper.jsx @@ -7,14 +7,7 @@ import { IconButton } from 'src/components/buttons' import { fromNamespace } from 'src/utils/config' import { getCashUnitCapacity } from 'src/utils/machine' -const getElements = ( - classes, - config, - bills, - setWizard, - widths, - setMachineId -) => { +const getElements = (config, bills, setWizard, widths, setMachineId) => { const fillingPercentageSettings = fromNamespace('notifications', config) const locale = fromNamespace('locale')(config) const cashout = fromNamespace('cashOut')(config) @@ -42,7 +35,6 @@ const getElements = ( width={25} height={45} omitInnerPercentage - className={classes.padding} /> ), inputProps: { @@ -55,8 +47,8 @@ const getElements = ( width: widths.cassettes, view: m => { return ( -
    -
    +
    +
    {R.range(1, m.numberOfCassettes + 1).map((it, idx) => ( ))}
    -
    +
    {R.map(it => ( <> {it !== m.numberOfRecyclers / 2 && ( - + )} ))(R.range(1, m.numberOfRecyclers / 2 + 1))} @@ -136,7 +128,7 @@ const getElements = ( size="large"> - ); + ) } } ] From a90833726e9c45e1752eed3def1cd460f6fab03a Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Tue, 6 May 2025 18:14:49 +0100 Subject: [PATCH 48/85] partial: Maintenance css migration --- .../src/pages/Maintenance/CashUnitDetails.jsx | 123 +++---------- .../src/pages/Maintenance/CashUnits.jsx | 35 ++-- .../src/pages/Maintenance/CashUnits.styles.js | 33 ---- .../src/pages/Maintenance/CashUnitsFooter.jsx | 42 ++--- .../Maintenance/CashUnitsFooter.styles.js | 42 ----- .../src/pages/Maintenance/CashboxHistory.jsx | 137 +------------- .../pages/Maintenance/MachineDetailsCard.jsx | 172 +++++------------- .../Maintenance/MachineDetailsCard.styles.js | 47 ----- .../src/pages/Maintenance/MachineStatus.jsx | 28 +-- .../pages/Maintenance/Wizard/WizardSplash.jsx | 70 ++----- .../pages/Maintenance/Wizard/WizardStep.jsx | 150 +++------------ .../Maintenance/Wizard/WizardStep.module.css | 22 +++ 12 files changed, 176 insertions(+), 725 deletions(-) delete mode 100644 new-lamassu-admin/src/pages/Maintenance/CashUnits.styles.js delete mode 100644 new-lamassu-admin/src/pages/Maintenance/CashUnitsFooter.styles.js delete mode 100644 new-lamassu-admin/src/pages/Maintenance/MachineDetailsCard.styles.js create mode 100644 new-lamassu-admin/src/pages/Maintenance/Wizard/WizardStep.module.css diff --git a/new-lamassu-admin/src/pages/Maintenance/CashUnitDetails.jsx b/new-lamassu-admin/src/pages/Maintenance/CashUnitDetails.jsx index 290cd127..00b196ac 100644 --- a/new-lamassu-admin/src/pages/Maintenance/CashUnitDetails.jsx +++ b/new-lamassu-admin/src/pages/Maintenance/CashUnitDetails.jsx @@ -1,87 +1,12 @@ -import { makeStyles } from '@mui/styles' import Chip from '@mui/material/Chip' import * as R from 'ramda' import React from 'react' import { Label1, TL2 } from 'src/components/typography' import { CashOut } from 'src/components/inputs' -import { offDarkColor } from 'src/styling/variables' import { fromNamespace } from 'src/utils/config' import { getCashUnitCapacity, modelPrettifier } from 'src/utils/machine' -const styles = { - wrapper: { - display: 'flex', - flexDirection: 'row', - marginTop: 12, - marginBottom: 16, - '& > *': { - marginRight: 40 - }, - '& > *:last-child': { - marginRight: 0 - }, - minHeight: 120 - }, - row: { - display: 'flex', - flexDirection: 'row' - }, - col: { - display: 'flex', - flexDirection: 'column' - }, - machineData: { - display: 'flex', - flexDirection: 'column', - minWidth: 210 - }, - billList: ({ hideMachineData }) => ({ - display: 'flex', - flexDirection: 'column', - minWidth: hideMachineData ? 60 : 160, - '& > span': { - display: 'flex', - flexDirection: 'row', - alignItems: 'center', - '& > p': { - minWidth: 30 - } - } - }), - unitList: { - display: 'flex', - flexDirection: 'row', - '& > *': { - marginRight: 20 - }, - '& > *:last-child': { - marginRight: 0 - }, - marginTop: 10 - }, - verticalLine: { - height: '100%', - width: 1, - backgroundColor: offDarkColor - }, - label: { - marginBottom: 10 - }, - loadingBoxes: { - display: 'flex', - flexDirection: 'column', - '& > *': { - marginBottom: 20 - }, - '& > *:last-child': { - marginBottom: 0 - } - } -} - -const useStyles = makeStyles(styles) - const CashUnitDetails = ({ machine, bills, @@ -89,38 +14,40 @@ const CashUnitDetails = ({ config, hideMachineData = false }) => { - const classes = useStyles({ hideMachineData }) const billCount = R.countBy(it => it.fiat)(bills) const fillingPercentageSettings = fromNamespace('notifications', config) const cashout = fromNamespace('cashOut')(config) const getCashoutSettings = id => fromNamespace(id)(cashout) + const minWidth = hideMachineData ? 'min-w-15' : 'min-w-40' + const VerticalLine = () => + return ( -
    +
    {!hideMachineData && ( -
    +
    Machine Model {modelPrettifier[machine.model]}
    )} -
    +
    Cash box {R.isEmpty(billCount) && Empty} {R.keys(billCount).map((it, idx) => ( - - {billCount[it]} + + + {billCount[it]} + ))}
    -
    +
    {machine.numberOfRecyclers === 0 && R.map(it => ( <> -
    - {`Cassette ${it}`} +
    + {`Cassette ${it}`}
    - {it !== machine.numberOfCassettes && ( - - )} + {it !== machine.numberOfCassettes && } ))(R.range(1, machine.numberOfCassettes + 1))} {machine.numberOfRecyclers > 0 && ( <> -
    - {`Loading boxes`} -
    +
    + {`Loading boxes`} +
    {R.range(1, machine.numberOfCassettes + 1).map((it, idx) => (
    - + {R.map(it => ( <> -
    - +
    + {`Recycler ${ machine.model === 'aveiro' ? `${it} f/r` : `${it * 2 - 1} - ${it * 2}` }`} -
    +
    - {it !== machine.numberOfRecyclers / 2 && ( - - )} + {it !== machine.numberOfRecyclers / 2 && } ))(R.range(1, machine.numberOfRecyclers / 2 + 1))} diff --git a/new-lamassu-admin/src/pages/Maintenance/CashUnits.jsx b/new-lamassu-admin/src/pages/Maintenance/CashUnits.jsx index 16aaad7c..66635201 100644 --- a/new-lamassu-admin/src/pages/Maintenance/CashUnits.jsx +++ b/new-lamassu-admin/src/pages/Maintenance/CashUnits.jsx @@ -1,6 +1,5 @@ import { useQuery, useMutation, gql } from '@apollo/client' import DialogActions from '@mui/material/DialogActions' -import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' import LogsDowloaderPopover from 'src/components/LogsDownloaderPopper' @@ -21,14 +20,11 @@ import { MANUAL, AUTOMATIC } from 'src/utils/constants' import { onlyFirstToUpper } from 'src/utils/string' import CashUnitDetails from './CashUnitDetails' -import styles from './CashUnits.styles' import CashCassettesFooter from './CashUnitsFooter' import CashboxHistory from './CashboxHistory' import Wizard from './Wizard/Wizard' import helper from './helper' -const useStyles = makeStyles(styles) - const GET_MACHINES_AND_CONFIG = gql` query getData($billFilters: JSONObject) { machines { @@ -114,7 +110,6 @@ const widths = { } const CashCassettes = () => { - const classes = useStyles() const [showHistory, setShowHistory] = useState(false) const [editingSchema, setEditingSchema] = useState(null) const [selectedRadio, setSelectedRadio] = useState(null) @@ -219,7 +214,7 @@ const CashCassettes = () => { { component: showHistory ? ( { ) } ]} - iconClassName={classes.listViewButton} - className={classes.tableWidth} + className="flex items-center mr-[1px]" appendix={

    @@ -248,18 +242,17 @@ const CashCassettes = () => { }> {!showHistory && ( -

    - Cash box resets +
    + + Cash box resets +
    {cashboxReset && ( -

    +

    {onlyFirstToUpper(cashboxReset)}

    )} - setEditingSchema(true)} - className={classes.button} - size="large"> + setEditingSchema(true)} size="large">
    @@ -275,7 +268,7 @@ const CashCassettes = () => { Details={InnerCashUnitDetails} emptyText="No machines so far" expandable - tableClassName={classes.dataTable} + tableClassName="mb-20" /> {data && R.isEmpty(machines) && ( @@ -315,7 +308,7 @@ const CashCassettes = () => { width={478} handleClose={() => setEditingSchema(null)} open={true}> -

    +

    We can automatically assume you emptied a bill validator's cash box when the machine detects that it has been removed.

    @@ -324,9 +317,8 @@ const CashCassettes = () => { value={selectedRadio ?? cashboxReset} options={[radioButtonOptions[0]]} onChange={handleRadioButtons} - className={classes.radioButtons} /> -

    +

    Assume the cash box is emptied whenever it's removed, creating a new batch on the history screen and setting its current balance to zero. @@ -336,14 +328,13 @@ const CashCassettes = () => { value={selectedRadio ?? cashboxReset} options={[radioButtonOptions[1]]} onChange={handleRadioButtons} - className={classes.radioButtons} /> -

    +

    Cash boxes won't be assumed emptied when removed, nor their counts modified. Instead, to update the count and create a new batch, you'll click the 'Edit' button on this panel.

    - + diff --git a/new-lamassu-admin/src/pages/Maintenance/CashUnits.styles.js b/new-lamassu-admin/src/pages/Maintenance/CashUnits.styles.js deleted file mode 100644 index 2c46a149..00000000 --- a/new-lamassu-admin/src/pages/Maintenance/CashUnits.styles.js +++ /dev/null @@ -1,33 +0,0 @@ -import { offColor, offDarkColor } from 'src/styling/variables' - -export default { - cashbox: { - height: 36 - }, - tBody: { - maxHeight: 'calc(100vh - 350px)', - overflow: 'auto' - }, - tableWidth: { - display: 'flex', - alignItems: 'center', - marginRight: 1 - }, - descriptions: { - color: offColor, - marginTop: 0 - }, - cashboxReset: { - color: offColor, - margin: [[13, 0, -5, 20]] - }, - selection: { - marginRight: 12 - }, - downloadLogsButton: { - marginLeft: 13 - }, - dataTable: { - marginBottom: 80 - } -} diff --git a/new-lamassu-admin/src/pages/Maintenance/CashUnitsFooter.jsx b/new-lamassu-admin/src/pages/Maintenance/CashUnitsFooter.jsx index bbbab515..856828af 100644 --- a/new-lamassu-admin/src/pages/Maintenance/CashUnitsFooter.jsx +++ b/new-lamassu-admin/src/pages/Maintenance/CashUnitsFooter.jsx @@ -1,4 +1,3 @@ -import { makeStyles } from '@mui/styles' import BigNumber from 'bignumber.js' import * as R from 'ramda' import React from 'react' @@ -9,10 +8,6 @@ import TxOutIcon from 'src/styling/icons/direction/cash-out.svg?react' import { fromNamespace } from 'src/utils/config' import { numberToFiatAmount } from 'src/utils/number' -import styles from './CashUnitsFooter.styles' - -const useStyles = makeStyles(styles) - const CashCassettesFooter = ({ machines, config, @@ -20,7 +15,6 @@ const CashCassettesFooter = ({ bills, deviceIds }) => { - const classes = useStyles() const cashout = config && fromNamespace('cashOut')(config) const getCashoutSettings = id => fromNamespace(id)(cashout) const cashoutReducerFn = ( @@ -84,33 +78,33 @@ const CashCassettesFooter = ({ ).toFormat(0) return ( -
    -
    - Cash value in System -
    - - Cash-in: - +
    +
    + Cash value in System +
    + + Cash-in: + {numberToFiatAmount(totalInCashBox)} {currencyCode}
    -
    - - Cash-out: - +
    + + Cash-out: + {numberToFiatAmount(totalInCassettes)} {currencyCode}
    -
    - - Recycle: - +
    + + Recycle: + {numberToFiatAmount(totalInRecyclers)} {currencyCode}
    -
    - Total: - +
    + Total: + {numberToFiatAmount(total)} {currencyCode}
    diff --git a/new-lamassu-admin/src/pages/Maintenance/CashUnitsFooter.styles.js b/new-lamassu-admin/src/pages/Maintenance/CashUnitsFooter.styles.js deleted file mode 100644 index a0a2484b..00000000 --- a/new-lamassu-admin/src/pages/Maintenance/CashUnitsFooter.styles.js +++ /dev/null @@ -1,42 +0,0 @@ -import { comet } from 'src/styling/variables' - -export default { - footerLabel: { - color: comet, - alignSelf: 'center' - }, - footerContent: { - width: 1200, - maxHeight: 64, - display: 'flex', - justifyContent: 'space-around', - position: 'fixed' - }, - footerContainer: { - position: 'fixed', - height: 64, - left: 0, - bottom: 0, - width: '100vw', - backgroundColor: 'white', - display: 'flex', - justifyContent: 'space-around', - boxShadow: [[0, -1, 10, 0, 'rgba(50, 50, 50, 0.1)']] - }, - flex: { - display: 'flex' - }, - icon: { - alignSelf: 'center', - height: 20, - width: 20, - marginRight: 8 - }, - iconLabel: { - alignSelf: 'center', - marginRight: 8 - }, - valueDisplay: { - alignSelf: 'center' - } -} diff --git a/new-lamassu-admin/src/pages/Maintenance/CashboxHistory.jsx b/new-lamassu-admin/src/pages/Maintenance/CashboxHistory.jsx index 580fa0be..70b8f41e 100644 --- a/new-lamassu-admin/src/pages/Maintenance/CashboxHistory.jsx +++ b/new-lamassu-admin/src/pages/Maintenance/CashboxHistory.jsx @@ -1,17 +1,11 @@ -import { useQuery, gql } from "@apollo/client"; -import { makeStyles } from '@mui/styles' +import { useQuery, gql } from '@apollo/client' import * as R from 'ramda' import React from 'react' -// import * as Yup from 'yup' -// import { Link, IconButton } from 'src/components/buttons' -// import { TextInput } from 'src/components/inputs' import DataTable from 'src/components/tables/DataTable' import TxInIcon from 'src/styling/icons/direction/cash-in.svg?react' import TxOutIcon from 'src/styling/icons/direction/cash-out.svg?react' import { NumberInput } from 'src/components/inputs/formik' -// import EditIconDisabled from 'src/styling/icons/action/edit/disabled.svg?react' -// import EditIcon from 'src/styling/icons/action/edit/enabled.svg?react' import { formatDate } from 'src/utils/timezones' const GET_BATCHES = gql` @@ -29,55 +23,9 @@ const GET_BATCHES = gql` } ` -/* const EDIT_BATCH = gql` - mutation editBatch($id: ID, $performedBy: String) { - editBatch(id: $id, performedBy: $performedBy) { - id - } - } -` */ - -const styles = { - operationType: { - marginLeft: 8 - }, - operationTypeWrapper: { - display: 'flex', - flexDirection: 'row', - alignItems: 'center' - }, - saveAndCancel: { - display: 'flex', - flexDirection: 'row', - justifyContent: 'space-between' - }, - tableWrapper: { - display: 'flex', - flexDirection: 'column', - flex: 1, - marginBottom: 80 - } -} - -/* const schema = Yup.object().shape({ - performedBy: Yup.string().nullable() -}) */ - -const useStyles = makeStyles(styles) - const CashboxHistory = ({ machines, currency, timezone }) => { - const classes = useStyles() - - /* const [error, setError] = useState(false) - const [field, setField] = useState(null) - const [editing, setEditing] = useState(false) */ - const { data: batchesData, loading: batchesLoading } = useQuery(GET_BATCHES) - /* const [editBatch] = useMutation(EDIT_BATCH, { - refetchQueries: () => ['cashboxBatches'] - }) */ - const loading = batchesLoading const batches = R.path(['cashboxBatches'])(batchesData) @@ -89,18 +37,14 @@ const CashboxHistory = ({ machines, currency, timezone }) => { `cash-cassette-${i}-refill`, <> - - Cash cassette {i} refill - + Cash cassette {i} refill ), R.assoc( `cash-cassette-${i}-empty`, <> - - Cash cassette {i} emptied - + Cash cassette {i} emptied ) )(ret), @@ -108,35 +52,13 @@ const CashboxHistory = ({ machines, currency, timezone }) => { 'cash-box-empty': ( <> - Cash box emptied + Cash box emptied ) }, R.range(1, 5) ) - /* const save = row => { - const performedBy = field.performedBy === '' ? null : field.performedBy - - schema - .isValid(field) - .then(() => { - setError(false) - editBatch({ - variables: { id: row.id, performedBy: performedBy } - }) - }) - .catch(setError(true)) - return close() - } - - const close = () => { - setEditing(false) - setField(null) - } - - const notEditing = id => field?.id !== id */ - const elements = [ { name: 'operation', @@ -144,7 +66,7 @@ const CashboxHistory = ({ machines, currency, timezone }) => { width: 200, textAlign: 'left', view: it => ( -
    +
    {getOperationRender[it.operationType]}
    ) @@ -198,57 +120,10 @@ const CashboxHistory = ({ machines, currency, timezone }) => { textAlign: 'right', view: it => formatDate(it.created, timezone, 'HH:mm') } - /* { - name: 'performedBy', - header: 'Performed by', - width: 180, - textAlign: 'left', - view: it => { - if (notEditing(it.id)) - return R.isNil(it.performedBy) ? 'Unknown entity' : it.performedBy - return ( - setField({ ...field, performedBy: e.target.value })} - error={error} - width={190 * 0.85} - value={field?.performedBy} - /> - ) - } - }, - { - name: '', - header: 'Edit', - width: 80, - textAlign: 'right', - view: it => { - if (notEditing(it.id)) - return ( - { - setField({ id: it.id, performedBy: it.performedBy }) - setEditing(true) - }}> - {editing ? : } - - ) - return ( -
    - save(it)}> - Save - - - Cancel - -
    - ) - } - } */ ] return ( -
    +
    -// supportArtices.find(({ code: article }) => article === status) - -const useLStyles = makeStyles(labelStyles) - const Label = ({ children }) => { - const classes = useLStyles() - - return
    {children}
    + return {children} } -const useMDStyles = makeStyles(machineDetailsStyles) - -const Container = ({ children, ...props }) => ( - - {children} - -) - -const Item = ({ children, ...props }) => ( - - {children} - -) - const MachineDetailsRow = ({ it: machine, onActionSuccess, timezone }) => { - const classes = useMDStyles() - return ( - - {/* - - - -
      - {machine.statuses.map((status, index) => ( -
    • - -
    • - ))} -
    -
    - - -
      - {machine.statuses - .map(article) - .map(({ label, article }, index) => ( -
    • - - '{label}' - -
    • - ))} -
    -
    -
    -
    - */} - - - - - {modelPrettifier[machine.model]} - - - - - {timezone && - formatDate(machine.pairedAt, timezone, 'yyyy-MM-dd HH:mm:ss')} - - - - - - - - - {machine.downloadSpeed - ? new BigNumber(machine.downloadSpeed).toFixed(4).toString() + - ' MB/s' - : 'unavailable'} - - - - - - {machine.responseTime - ? new BigNumber(machine.responseTime).toFixed(3).toString() + - ' ms' - : 'unavailable'} - - - - - - {machine.packetLoss - ? new BigNumber(machine.packetLoss).toFixed(3).toString() + - ' %' - : 'unavailable'} - - - - -
    +
    +
    + + {modelPrettifier[machine.model]} +
    +
    + + + {timezone && + formatDate(machine.pairedAt, timezone, 'yyyy-MM-dd HH:mm:ss')} + +
    +
    + +
    +
    + + + {machine.downloadSpeed + ? new BigNumber(machine.downloadSpeed).toFixed(4).toString() + + ' MB/s' + : 'unavailable'} + +
    +
    + + + {machine.responseTime + ? new BigNumber(machine.responseTime).toFixed(3).toString() + ' ms' + : 'unavailable'} + +
    +
    + + + {machine.packetLoss + ? new BigNumber(machine.packetLoss).toFixed(3).toString() + ' %' + : 'unavailable'} + +
    +
    ) } diff --git a/new-lamassu-admin/src/pages/Maintenance/MachineDetailsCard.styles.js b/new-lamassu-admin/src/pages/Maintenance/MachineDetailsCard.styles.js deleted file mode 100644 index 7ac4426f..00000000 --- a/new-lamassu-admin/src/pages/Maintenance/MachineDetailsCard.styles.js +++ /dev/null @@ -1,47 +0,0 @@ -import { alpha } from '@mui/material/styles' - -import { - detailsRowStyles, - labelStyles -} from 'src/pages/Transactions/Transactions.styles' -import { spacer, comet, primaryColor, fontSize4 } from 'src/styling/variables' - -const machineDetailsStyles = { - ...detailsRowStyles, - wrapper: { - display: 'flex', - // marginTop: 24, - // marginBottom: 32, - marginTop: 12, - marginBottom: 16, - fontSize: fontSize4 - }, - row: { - display: 'flex', - flexDirection: 'row' - // marginBottom: 36 - }, - list: { - padding: 0, - margin: 0, - listStyle: 'none' - }, - item: { - height: spacer * 3, - marginBottom: spacer * 1.5 - }, - link: { - color: primaryColor, - textDecoration: 'none' - }, - separator: { - width: 1, - height: 170, - zIndex: 1, - marginRight: 60, - marginLeft: 'auto', - background: alpha(comet, 0.5) - } -} - -export { labelStyles, machineDetailsStyles } diff --git a/new-lamassu-admin/src/pages/Maintenance/MachineStatus.jsx b/new-lamassu-admin/src/pages/Maintenance/MachineStatus.jsx index 3b0abdc4..34eea6d3 100644 --- a/new-lamassu-admin/src/pages/Maintenance/MachineStatus.jsx +++ b/new-lamassu-admin/src/pages/Maintenance/MachineStatus.jsx @@ -1,5 +1,4 @@ -import { useQuery, gql } from "@apollo/client"; -import { makeStyles } from '@mui/styles' +import { useQuery, gql } from '@apollo/client' import { formatDistance } from 'date-fns' import * as R from 'ramda' import React from 'react' @@ -7,12 +6,11 @@ import { useHistory, useLocation } from 'react-router-dom' import { MainStatus } from 'src/components/Status' import Title from 'src/components/Title' import DataTable from 'src/components/tables/DataTable' +import { Label1 } from 'src/components/typography/index.jsx' import MachineRedirectIcon from 'src/styling/icons/month arrows/right.svg?react' import WarningIcon from 'src/styling/icons/status/pumpkin.svg?react' import ErrorIcon from 'src/styling/icons/status/tomato.svg?react' -import { mainStyles } from 'src/pages/Transactions/Transactions.styles' - import MachineDetailsRow from './MachineDetailsCard' const GET_MACHINES = gql` @@ -56,10 +54,7 @@ const GET_DATA = gql` } ` -const useStyles = makeStyles(mainStyles) - const MachineStatus = () => { - const classes = useStyles() const history = useHistory() const { state } = useLocation() const addedMachineId = state?.id @@ -78,10 +73,9 @@ const MachineStatus = () => { size: 'sm', textAlign: 'left', view: m => ( -
    +
    {m.name}
    { history.push(`/machines/${m.deviceId}`) }}> @@ -131,18 +125,16 @@ const MachineStatus = () => { return ( <> -
    -
    - Machine status -
    -
    -
    +
    + Machine status +
    +
    - Warning + Warning
    -
    +
    - Error + Error
    diff --git a/new-lamassu-admin/src/pages/Maintenance/Wizard/WizardSplash.jsx b/new-lamassu-admin/src/pages/Maintenance/Wizard/WizardSplash.jsx index 921e189b..3693cff4 100644 --- a/new-lamassu-admin/src/pages/Maintenance/Wizard/WizardSplash.jsx +++ b/new-lamassu-admin/src/pages/Maintenance/Wizard/WizardSplash.jsx @@ -1,77 +1,35 @@ -import { makeStyles } from '@mui/styles' import React from 'react' import { H1, P, Info2 } from 'src/components/typography' import WarningIcon from 'src/styling/icons/warning-icon/comet.svg?react' import { Button } from 'src/components/buttons' import filledCassettes from 'src/styling/icons/cassettes/both-filled.svg' -import { comet } from 'src/styling/variables' - -const styles = { - button: { - margin: [[35, 'auto', 0, 'auto']] - }, - modalContent: { - display: 'flex', - flexDirection: 'column', - alignItems: 'center', - flex: 1, - padding: [[0, 34]] - }, - splashTitle: { - marginTop: 15 - }, - warningInfo: { - display: 'flex', - flexDirection: 'row', - alignItems: 'center', - marginTop: 15 - }, - warningIcon: { - width: 25, - height: 25, - marginRight: 8, - display: 'block' - }, - warningText: { - flexBasis: '100%', - flexGrow: 1 - }, - machineName: { - margin: [[5, 0]], - color: comet - } -} - -const useStyles = makeStyles(styles) const WizardSplash = ({ name, onContinue }) => { - const classes = useStyles() - return ( -
    +
    cassette -

    - Update counts -

    - - {name} - -
    - -

    +

    +

    Update counts

    + + {name} + +
    +
    + +

    Before updating counts on Lamassu Admin, make sure you've done it before on the machines.

    -
    - -

    +

    + +

    For cash cassettes, please make sure you've removed the remaining bills before adding the new ones.

    -
    diff --git a/new-lamassu-admin/src/pages/Maintenance/Wizard/WizardStep.jsx b/new-lamassu-admin/src/pages/Maintenance/Wizard/WizardStep.jsx index 42186e38..51007534 100644 --- a/new-lamassu-admin/src/pages/Maintenance/Wizard/WizardStep.jsx +++ b/new-lamassu-admin/src/pages/Maintenance/Wizard/WizardStep.jsx @@ -1,4 +1,3 @@ -import { makeStyles } from '@mui/styles' import classnames from 'classnames' import { Formik, Form, Field } from 'formik' import * as R from 'ramda' @@ -22,89 +21,10 @@ import tejo4CassetteOne from 'src/styling/icons/cassettes/tejo/4-cassettes/4-cas import tejo4CassetteTwo from 'src/styling/icons/cassettes/tejo/4-cassettes/4-cassettes-open-2-left.svg' import tejo4CassetteThree from 'src/styling/icons/cassettes/tejo/4-cassettes/4-cassettes-open-3-left.svg' import tejo4CassetteFour from 'src/styling/icons/cassettes/tejo/4-cassettes/4-cassettes-open-4-left.svg' -import { comet, errorColor } from 'src/styling/variables' import { getCashUnitCapacity } from 'src/utils/machine' import { numberToFiatAmount } from 'src/utils/number' import { startCase } from 'src/utils/string' - -const styles = { - content: { - display: 'flex', - flexDirection: 'column', - justifyContent: 'space-between', - flex: 1, - paddingBottom: 32 - }, - titleDiv: { - marginBottom: 32 - }, - title: { - margin: [[0, 0, 12, 0]], - color: comet - }, - stepImage: { - width: 148, - height: 196 - }, - form: { - paddingBottom: 95 - }, - verticalAlign: { - display: 'flex', - flexDirection: 'column' - }, - horizontalAlign: { - display: 'flex', - flexDirection: 'row' - }, - centerAlignment: { - alignItems: 'center' - }, - lineAlignment: { - alignItems: 'baseline' - }, - fullWidth: { - margin: [[0, 'auto']], - flexBasis: 'auto' - }, - formWrapper: { - flexBasis: '100%', - display: 'flex', - justifyContent: 'center' - }, - submit: { - float: 'right' - }, - cashboxBills: { - marginRight: 5 - }, - cassetteCashbox: { - width: 40, - height: 35 - }, - cassetteFormTitle: { - marginTop: 18 - }, - cassetteFormTitleContent: { - marginLeft: 10, - marginRight: 25 - }, - smBottomMargin: { - marginBottom: 25 - }, - fiatTotal: { - color: comet - }, - errorMessage: { - color: errorColor - }, - stepErrorMessage: { - maxWidth: 275, - marginTop: 25 - } -} - -const useStyles = makeStyles(styles) +import classes from './WizardStep.module.css' const CASHBOX_STEP = 1 @@ -171,8 +91,6 @@ const WizardStep = ({ onContinue, initialValues }) => { - const classes = useStyles() - const label = lastStep ? 'Finish' : 'Confirm' const stepOneRadioOptions = [ @@ -197,9 +115,11 @@ const WizardStep = ({ ) return ( -
    -
    - {name} +
    +
    + + {name} +
    @@ -212,19 +132,14 @@ const WizardStep = ({ enableReinitialize validationSchema={steps[0].schema}> {({ errors }) => ( -
    -
    + +
    {cashUnitCategory}
    -
    +

    Did you empty the cash box?

    {errors.wasCashboxEmptied && ( -
    +
    {errors.wasCashboxEmptied}
    )}

    Since previous update

    @@ -253,9 +168,9 @@ const WizardStep = ({
    - + {machine?.cashUnits.cashbox}

    accepted bills

    @@ -263,7 +178,7 @@ const WizardStep = ({
    - @@ -280,9 +195,8 @@ const WizardStep = ({ enableReinitialize validationSchema={steps[step - 1].schema}> {({ values, errors }) => ( -
    -
    + +
    {cashUnitCategory}
    -
    +
    + className={classnames(classes.horizontalAlign, 'mb-6')}>
    + className={classnames(classes.horizontalAlign, 'mt-4')}> -

    +

    {startCase(cashUnitField)} ( {cashUnitCategory === 'cassette' ? `dispenser` @@ -321,7 +223,7 @@ const WizardStep = ({

    @@ -330,7 +232,7 @@ const WizardStep = ({

    {cashUnitDenomination} {fiatCurrency} bills loaded

    -

    +

    = {numberToFiatAmount(cassetteTotal(values))}{' '} {fiatCurrency}

    {!R.isEmpty(errors) && ( - + {R.head(R.values(errors))} )}
    - diff --git a/new-lamassu-admin/src/pages/Maintenance/Wizard/WizardStep.module.css b/new-lamassu-admin/src/pages/Maintenance/Wizard/WizardStep.module.css new file mode 100644 index 00000000..2d5a96de --- /dev/null +++ b/new-lamassu-admin/src/pages/Maintenance/Wizard/WizardStep.module.css @@ -0,0 +1,22 @@ +.stepImage { + width: 148px; + height: 196px; +} + +.formWrapper { + flex-basis: 100%; + display: flex; + justify-content: center; +} + +.verticalAlign { + display: flex; + flex-direction: column; + margin: 0 auto; + flex-basis: auto; +} + +.horizontalAlign { + display: flex; + flex-direction: row; +} From 6d6edf578ce3ca5d68deec9dc9e6efbcf2b9193b Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Wed, 7 May 2025 13:22:54 +0100 Subject: [PATCH 49/85] partial: notifications, op info, services --- .../inputs/cashbox/Cashbox.styles.js | 2 +- .../Notifications/Notifications.styles.js | 20 --- .../Notifications/components/EditHeader.jsx | 19 +-- .../components/EditHeader.styles.js | 29 ---- .../components/EditableNumber.jsx | 20 +-- .../components/EditableNumber.styles.js | 18 -- .../sections/CryptoBalanceAlerts.jsx | 14 +- .../sections/CryptoBalanceAlerts.styles.js | 20 --- .../sections/FiatBalanceAlerts.jsx | 73 +++----- .../sections/FiatBalanceAlerts.styles.js | 31 ---- .../pages/Notifications/sections/Setup.jsx | 10 +- .../src/pages/OperatorInfo/CoinATMRadar.jsx | 108 ++++-------- .../src/pages/OperatorInfo/ContactInfo.jsx | 159 +++++------------- .../src/pages/OperatorInfo/MachineScreens.jsx | 58 +++---- .../pages/OperatorInfo/OperatorInfo.styles.js | 118 ------------- .../pages/OperatorInfo/ReceiptPrinting.jsx | 124 ++++---------- .../pages/OperatorInfo/TermsConditions.jsx | 132 +++++---------- .../pages/OperatorInfo/components/Header.jsx | 20 +++ .../OperatorInfo/components/InfoMessage.jsx | 12 ++ .../OperatorInfo/components/SwitchRow.jsx | 21 +++ .../src/pages/Services/FormRenderer.jsx | 40 +---- .../src/pages/Services/Services.jsx | 37 ++-- 22 files changed, 290 insertions(+), 795 deletions(-) delete mode 100644 new-lamassu-admin/src/pages/Notifications/Notifications.styles.js delete mode 100644 new-lamassu-admin/src/pages/Notifications/components/EditHeader.styles.js delete mode 100644 new-lamassu-admin/src/pages/Notifications/components/EditableNumber.styles.js delete mode 100644 new-lamassu-admin/src/pages/Notifications/sections/CryptoBalanceAlerts.styles.js delete mode 100644 new-lamassu-admin/src/pages/Notifications/sections/FiatBalanceAlerts.styles.js delete mode 100644 new-lamassu-admin/src/pages/OperatorInfo/OperatorInfo.styles.js create mode 100644 new-lamassu-admin/src/pages/OperatorInfo/components/Header.jsx create mode 100644 new-lamassu-admin/src/pages/OperatorInfo/components/InfoMessage.jsx create mode 100644 new-lamassu-admin/src/pages/OperatorInfo/components/SwitchRow.jsx diff --git a/new-lamassu-admin/src/components/inputs/cashbox/Cashbox.styles.js b/new-lamassu-admin/src/components/inputs/cashbox/Cashbox.styles.js index cbb5c292..0c7c7ecc 100644 --- a/new-lamassu-admin/src/components/inputs/cashbox/Cashbox.styles.js +++ b/new-lamassu-admin/src/components/inputs/cashbox/Cashbox.styles.js @@ -35,7 +35,7 @@ const cashboxStyles = { border: '4px solid' }, emptyPart: { - backgroundColor: 'white', + backgroundColor: 'var(--ghost)', height: ({ percent }) => `${100 - percent}%`, position: 'relative', '& > p': { diff --git a/new-lamassu-admin/src/pages/Notifications/Notifications.styles.js b/new-lamassu-admin/src/pages/Notifications/Notifications.styles.js deleted file mode 100644 index effc5c32..00000000 --- a/new-lamassu-admin/src/pages/Notifications/Notifications.styles.js +++ /dev/null @@ -1,20 +0,0 @@ -export default { - cryptoBalanceAlerts: { - display: 'flex', - marginBottom: 36, - height: 135, - alignItems: 'center' - }, - cryptoBalanceAlertsForm: { - width: 222, - marginRight: 32 - }, - cryptoBalanceAlertsSecondForm: { - marginLeft: 50 - }, - vertSeparator: { - width: 1, - height: '100%', - borderRight: [[1, 'solid', 'black']] - } -} diff --git a/new-lamassu-admin/src/pages/Notifications/components/EditHeader.jsx b/new-lamassu-admin/src/pages/Notifications/components/EditHeader.jsx index 2fca1331..79931bc7 100644 --- a/new-lamassu-admin/src/pages/Notifications/components/EditHeader.jsx +++ b/new-lamassu-admin/src/pages/Notifications/components/EditHeader.jsx @@ -1,4 +1,3 @@ -import { makeStyles } from '@mui/styles' import React from 'react' import { H4 } from 'src/components/typography' import DisabledEditIcon from 'src/styling/icons/action/edit/disabled.svg?react' @@ -6,27 +5,23 @@ import EditIcon from 'src/styling/icons/action/edit/enabled.svg?react' import { Link, IconButton } from 'src/components/buttons' -import styles from './EditHeader.styles' - -const useStyles = makeStyles(styles) - const Header = ({ title, editing, disabled, setEditing }) => { - const classes = useStyles() - return ( -
    -

    {title}

    +
    +

    + {title} +

    {!editing && ( setEditing(true)} - className={classes.button} + className="border-0 bg-transparent shrink-0 cursor-pointer ml-2" disabled={disabled} size="large"> {disabled ? : } )} {editing && ( -
    +
    Save @@ -36,7 +31,7 @@ const Header = ({ title, editing, disabled, setEditing }) => {
    )}
    - ); + ) } export default Header diff --git a/new-lamassu-admin/src/pages/Notifications/components/EditHeader.styles.js b/new-lamassu-admin/src/pages/Notifications/components/EditHeader.styles.js deleted file mode 100644 index c15f5910..00000000 --- a/new-lamassu-admin/src/pages/Notifications/components/EditHeader.styles.js +++ /dev/null @@ -1,29 +0,0 @@ -export default { - header: { - display: 'flex', - alignItems: 'center', - marginBottom: 16, - height: 26, - margin: 0 - }, - title: { - flexShrink: 2, - margin: 0, - overflow: 'hidden', - whiteSpace: 'nowrap', - textOverflow: 'ellipsis' - }, - button: { - border: 'none', - backgroundColor: 'transparent', - cursor: 'pointer', - marginLeft: 8 - }, - editingButtons: { - display: 'flex', - flexShrink: 0, - marginLeft: 16, - justifyContent: 'space-between', - width: 110 - } -} diff --git a/new-lamassu-admin/src/pages/Notifications/components/EditableNumber.jsx b/new-lamassu-admin/src/pages/Notifications/components/EditableNumber.jsx index 05cf20f6..6abbcf4b 100644 --- a/new-lamassu-admin/src/pages/Notifications/components/EditableNumber.jsx +++ b/new-lamassu-admin/src/pages/Notifications/components/EditableNumber.jsx @@ -1,4 +1,3 @@ -import { makeStyles } from '@mui/styles' import classnames from 'classnames' import { useFormikContext, Field as FormikField } from 'formik' import React from 'react' @@ -6,10 +5,6 @@ import { Label1, Info1, TL2 } from 'src/components/typography' import { NumberInput } from 'src/components/inputs/formik' -import styles from './EditableNumber.styles' - -const useStyles = makeStyles(styles) - const EditableNumber = ({ label, name, @@ -20,20 +15,21 @@ const EditableNumber = ({ decimalPlaces = 0, width = 80 }) => { - const classes = useStyles({ width, editing }) const { values } = useFormikContext() const classNames = { - [classes.fieldWrapper]: true, + 'h-13': true, className } return (
    - {label && {label}} -
    + {label && {label}} +
    {!editing && ( - {displayValue(values[name])} + + {displayValue(values[name])} + )} {editing && ( )} - {decoration} + + {decoration} +
    ) diff --git a/new-lamassu-admin/src/pages/Notifications/components/EditableNumber.styles.js b/new-lamassu-admin/src/pages/Notifications/components/EditableNumber.styles.js deleted file mode 100644 index f42de9ee..00000000 --- a/new-lamassu-admin/src/pages/Notifications/components/EditableNumber.styles.js +++ /dev/null @@ -1,18 +0,0 @@ -export default { - text: { - margin: [[7, 0, 7, 1]] - }, - fieldWrapper: { - height: 53 - }, - valueWrapper: { - display: 'flex', - alignItems: 'baseline' - }, - label: { - margin: 0 - }, - decoration: { - margin: [[0, 0, 0, 7]] - } -} diff --git a/new-lamassu-admin/src/pages/Notifications/sections/CryptoBalanceAlerts.jsx b/new-lamassu-admin/src/pages/Notifications/sections/CryptoBalanceAlerts.jsx index 10c105ba..773640eb 100644 --- a/new-lamassu-admin/src/pages/Notifications/sections/CryptoBalanceAlerts.jsx +++ b/new-lamassu-admin/src/pages/Notifications/sections/CryptoBalanceAlerts.jsx @@ -1,31 +1,24 @@ -import { makeStyles } from '@mui/styles' import React, { useContext } from 'react' import NotificationsCtx from '../NotificationsContext' import SingleFieldEditableNumber from '../components/SingleFieldEditableNumber' -import styles from './CryptoBalanceAlerts.styles' - const LOW_BALANCE_KEY = 'cryptoLowBalance' const HIGH_BALANCE_KEY = 'cryptoHighBalance' -const useStyles = makeStyles(styles) - const CryptoBalanceAlerts = ({ section, fieldWidth }) => { - const classes = useStyles() - const { data, save, currency, setEditing, isEditing, isDisabled } = useContext(NotificationsCtx) return ( -
    +
    { width={fieldWidth} /> -
    +
    { section={section} save={save} decoration={currency} - className={classes.cryptoBalanceAlertsSecondForm} title="Default (High balance)" label="Alert me over" editing={isEditing(HIGH_BALANCE_KEY)} diff --git a/new-lamassu-admin/src/pages/Notifications/sections/CryptoBalanceAlerts.styles.js b/new-lamassu-admin/src/pages/Notifications/sections/CryptoBalanceAlerts.styles.js deleted file mode 100644 index effc5c32..00000000 --- a/new-lamassu-admin/src/pages/Notifications/sections/CryptoBalanceAlerts.styles.js +++ /dev/null @@ -1,20 +0,0 @@ -export default { - cryptoBalanceAlerts: { - display: 'flex', - marginBottom: 36, - height: 135, - alignItems: 'center' - }, - cryptoBalanceAlertsForm: { - width: 222, - marginRight: 32 - }, - cryptoBalanceAlertsSecondForm: { - marginLeft: 50 - }, - vertSeparator: { - width: 1, - height: '100%', - borderRight: [[1, 'solid', 'black']] - } -} diff --git a/new-lamassu-admin/src/pages/Notifications/sections/FiatBalanceAlerts.jsx b/new-lamassu-admin/src/pages/Notifications/sections/FiatBalanceAlerts.jsx index 86e40da4..d8238d37 100644 --- a/new-lamassu-admin/src/pages/Notifications/sections/FiatBalanceAlerts.jsx +++ b/new-lamassu-admin/src/pages/Notifications/sections/FiatBalanceAlerts.jsx @@ -1,4 +1,3 @@ -import { makeStyles } from '@mui/styles' import { Form, Formik } from 'formik' import * as R from 'ramda' import React, { useContext } from 'react' @@ -13,10 +12,6 @@ import NotificationsCtx from '../NotificationsContext' import Header from '../components/EditHeader' import EditableNumber from '../components/EditableNumber' -import styles from './FiatBalanceAlerts.styles' - -const useStyles = makeStyles(styles) - const CASH_IN_KEY = 'fiatBalanceAlertsCashIn' const CASH_OUT_KEY = 'fiatBalanceAlertsCashOut' const RECYCLER_STACKER_KEY = 'fiatBalanceAlertsRecyclerStacker' @@ -34,8 +29,6 @@ const FiatBalance = ({ section, min = 0, max = 100, fieldWidth = 80 }) => { save, machines = [] } = useContext(NotificationsCtx) - const classes = useStyles() - const maxNumberOfCassettes = Math.max( ...R.map(it => it.numberOfCassettes, machines), DEFAULT_NUMBER_OF_CASSETTES @@ -97,8 +90,8 @@ const FiatBalance = ({ section, min = 0, max = 100, fieldWidth = 80 }) => { setEditing(CASH_OUT_KEY, false) }}> {({ values }) => ( - <> -
    +
    +
    { disabled={isDisabled(CASH_IN_KEY)} setEditing={it => setEditing(CASH_IN_KEY, it)} /> -
    -
    -
    -
    - (x === '' ? '-' : x)} - decoration="notes" - width={fieldWidth} - /> -
    -
    -
    -
    + (x === '' ? '-' : x)} + decoration="notes" + width={fieldWidth} + /> -
    +
    { disabled={isDisabled(CASH_OUT_KEY)} setEditing={it => setEditing(CASH_OUT_KEY, it)} /> -
    +
    {R.map( it => ( <> -
    +
    { omitInnerPercentage cashOut /> -
    - Cassette {it + 1} +
    + Cassette {it + 1} { )}
    -
    +
    { disabled={isDisabled(RECYCLER_STACKER_KEY)} setEditing={it => setEditing(RECYCLER_STACKER_KEY, it)} /> -
    +
    {R.chain( it => [ <> -
    +
    { omitInnerPercentage cashOut /> -
    - - Recycler {(it + 1) * 2 - 1} - +
    + Recycler {(it + 1) * 2 - 1} {
    , <> -
    +
    { omitInnerPercentage cashOut /> -
    - - Recycler {(it + 1) * 2} - +
    + Recycler {(it + 1) * 2} { )}
    - +
    )} ) diff --git a/new-lamassu-admin/src/pages/Notifications/sections/FiatBalanceAlerts.styles.js b/new-lamassu-admin/src/pages/Notifications/sections/FiatBalanceAlerts.styles.js deleted file mode 100644 index ab4a4450..00000000 --- a/new-lamassu-admin/src/pages/Notifications/sections/FiatBalanceAlerts.styles.js +++ /dev/null @@ -1,31 +0,0 @@ -import { backgroundColor } from 'src/styling/variables' - -export default { - wrapper: { - display: 'flex' - }, - form: { - marginBottom: 36 - }, - title: { - marginTop: 0 - }, - row: { - width: 236, - display: 'grid', - gridTemplateColumns: 'repeat(2,1fr)', - gridTemplateRows: '1fr', - gridColumnGap: 18, - gridRowGap: 0 - }, - col2: { - width: 136 - }, - cashboxLabel: { - marginRight: 4, - fontSize: 20 - }, - cashboxEmptyPart: { - backgroundColor: `${backgroundColor}` - } -} diff --git a/new-lamassu-admin/src/pages/Notifications/sections/Setup.jsx b/new-lamassu-admin/src/pages/Notifications/sections/Setup.jsx index 130b7525..82fecb6e 100644 --- a/new-lamassu-admin/src/pages/Notifications/sections/Setup.jsx +++ b/new-lamassu-admin/src/pages/Notifications/sections/Setup.jsx @@ -1,4 +1,3 @@ -import { makeStyles } from '@mui/styles' import Switch from '@mui/material/Switch' import * as R from 'ramda' import React, { useContext } from 'react' @@ -74,12 +73,6 @@ const Row = ({ ) } -const useStyles = makeStyles({ - wizardTable: { - width: 930 - } -}) - const Setup = ({ wizard, forceDisable }) => { const { data: rawData, @@ -120,9 +113,8 @@ const Setup = ({ wizard, forceDisable }) => { ] const widthAdjust = wizard ? 20 : 0 - const classes = useStyles() return ( -
    +
    {Object.keys(sizes).map(it => ( diff --git a/new-lamassu-admin/src/pages/OperatorInfo/CoinATMRadar.jsx b/new-lamassu-admin/src/pages/OperatorInfo/CoinATMRadar.jsx index 91969087..f8064b34 100644 --- a/new-lamassu-admin/src/pages/OperatorInfo/CoinATMRadar.jsx +++ b/new-lamassu-admin/src/pages/OperatorInfo/CoinATMRadar.jsx @@ -1,18 +1,11 @@ -import { useQuery, useMutation, gql } from "@apollo/client"; -import { makeStyles } from '@mui/styles' -import Switch from '@mui/material/Switch' +import { useQuery, useMutation, gql } from '@apollo/client' import React, { memo } from 'react' -import { HelpTooltip } from 'src/components/Tooltip' -import { H4, P, Label2 } from 'src/components/typography' import { BooleanPropertiesTable } from 'src/components/booleanPropertiesTable' import { fromNamespace, toNamespace, namespaces } from 'src/utils/config' -import { SupportLinkButton } from '../../components/buttons' - -import { global } from './OperatorInfo.styles' - -const useStyles = makeStyles(global) +import SwitchRow from './components/SwitchRow.jsx' +import Header from './components/Header.jsx' const GET_CONFIG = gql` query getData { @@ -26,27 +19,7 @@ const SAVE_CONFIG = gql` } ` -const Row = memo(({ title, disabled = false, checked, save, label }) => { - const classes = useStyles() - - return ( -
    -

    {title}

    -
    - save && save(event.target.checked)} - /> - {label && {label}} -
    -
    - ) -}) - const CoinATMRadar = memo(({ wizard }) => { - const classes = useStyles() - const { data } = useQuery(GET_CONFIG) const [saveConfig] = useMutation(SAVE_CONFIG, { @@ -63,53 +36,34 @@ const CoinATMRadar = memo(({ wizard }) => { if (!coinAtmRadarConfig) return null return ( -
    -
    -
    -

    Coin ATM Radar share settings

    - -

    - For details on configuring this panel, please read the relevant - knowledgebase article{' '} - - here - - . -

    - -
    -
    - save({ active: value })} - label={coinAtmRadarConfig.active ? 'Yes' : 'No'} - /> - -
    -
    + <> +
    + save({ active: value })} + /> + + ) }) diff --git a/new-lamassu-admin/src/pages/OperatorInfo/ContactInfo.jsx b/new-lamassu-admin/src/pages/OperatorInfo/ContactInfo.jsx index 2b26b873..99ecc42e 100644 --- a/new-lamassu-admin/src/pages/OperatorInfo/ContactInfo.jsx +++ b/new-lamassu-admin/src/pages/OperatorInfo/ContactInfo.jsx @@ -1,70 +1,37 @@ -import { useQuery, useMutation, gql } from "@apollo/client"; -import { makeStyles } from '@mui/styles' -import Switch from '@mui/material/Switch' -import classnames from 'classnames' +import { useQuery, useMutation, gql } from '@apollo/client' import { Form, Formik, Field as FormikField } from 'formik' import * as R from 'ramda' import React, { useState } from 'react' import ErrorMessage from 'src/components/ErrorMessage' import PromptWhenDirty from 'src/components/PromptWhenDirty' -import { HelpTooltip } from 'src/components/Tooltip' -import { P, H4, Info3, Label1, Label2, Label3 } from 'src/components/typography' +import { H4, Info3, Label3 } from 'src/components/typography' import EditIcon from 'src/styling/icons/action/edit/enabled.svg?react' import WarningIcon from 'src/styling/icons/warning-icon/comet.svg?react' import * as Yup from 'yup' -import { Link, IconButton, SupportLinkButton } from 'src/components/buttons' +import { Link, IconButton } from 'src/components/buttons' import { TextInput } from 'src/components/inputs/formik' -import { fontSize5 } from 'src/styling/variables' import { fromNamespace, toNamespace, namespaces } from 'src/utils/config' -import { global } from './OperatorInfo.styles' +import SwitchRow from './components/SwitchRow.jsx' +import InfoMessage from './components/InfoMessage.jsx' +import Header from './components/Header.jsx' const FIELD_WIDTH = 280 -const fieldStyles = { - field: { - position: 'relative', - width: 280, - height: 48, - padding: [[0, 4, 4, 0]] - }, - notEditing: { - display: 'flex', - flexDirection: 'column', - '& > p:first-child': { - height: 16, - lineHeight: '16px', - fontSize: fontSize5, - transformOrigin: 'left', - paddingLeft: 0, - margin: [[3, 0, 3, 0]] - }, - '& > p:last-child': { - overflow: 'hidden', - whiteSpace: 'nowrap', - textOverflow: 'ellipsis', - margin: 0 - } - } -} - -const fieldUseStyles = makeStyles(fieldStyles) - const Field = ({ editing, field, displayValue, ...props }) => { - const classes = fieldUseStyles() - - const classNames = { - [classes.field]: true, - [classes.notEditing]: !editing - } - return ( -
    +
    {!editing && ( <> - {field.label} - {displayValue(field.value)} + + {field.label} + + + {displayValue(field.value)} + )} {editing && ( @@ -95,11 +62,7 @@ const SAVE_CONFIG = gql` } ` -const contactUseStyles = makeStyles(global) - const ContactInfo = ({ wizard }) => { - const classes = contactUseStyles() - const [editing, setEditing] = useState(wizard || false) const [error, setError] = useState(null) @@ -187,42 +150,17 @@ const ContactInfo = ({ wizard }) => { return ( <> -
    -

    Contact information

    - -

    - For details on configuring this panel, please read the relevant - knowledgebase article: -

    - -
    -
    -
    -

    Info card enabled?

    -
    - - save({ - active: event.target.checked - }) - } - /> - {info.active ? 'Yes' : 'No'} -
    -
    -
    -
    +
    + +
    +

    Info card

    {!editing && ( - setEditing(true)} - size="large"> + setEditing(true)} size="large"> )} @@ -239,9 +177,9 @@ const ContactInfo = ({ wizard }) => { setError(null) }}> {({ errors }) => ( -
    + -
    +
    { onFocus={() => setError(null)} />
    -
    +
    { onFocus={() => setError(null)} />
    -
    +
    { />
    {editing && !!getErrorMsg(errors) && ( - - {getErrorMsg(errors)} - + {getErrorMsg(errors)} + )} + {editing && ( +
    + + Save + + + Cancel + + {error && Failed to save changes} +
    )} -
    - {editing && ( - <> - - Save - - - Cancel - - {error && ( - Failed to save changes - )} - - )} -
    )}
    {!wizard && ( -
    - - + <> + Sharing your information with your customers through your machines allows them to contact you in case there's a problem with a machine in your network or a transaction. - -
    + + )} - ); + ) } export default ContactInfo diff --git a/new-lamassu-admin/src/pages/OperatorInfo/MachineScreens.jsx b/new-lamassu-admin/src/pages/OperatorInfo/MachineScreens.jsx index d66ed288..6a66f783 100644 --- a/new-lamassu-admin/src/pages/OperatorInfo/MachineScreens.jsx +++ b/new-lamassu-admin/src/pages/OperatorInfo/MachineScreens.jsx @@ -1,15 +1,11 @@ -import { useQuery, useMutation, gql } from "@apollo/client"; -import { makeStyles } from '@mui/styles' -import Switch from '@mui/material/Switch' +import { useQuery, useMutation, gql } from '@apollo/client' import * as R from 'ramda' import React, { memo } from 'react' -import { H4, P, Label2 } from 'src/components/typography' +import { H4 } from 'src/components/typography' import { fromNamespace, toNamespace, namespaces } from 'src/utils/config' -import { global } from './OperatorInfo.styles' - -const useStyles = makeStyles(global) +import SwitchRow from './components/SwitchRow.jsx' const GET_CONFIG = gql` query getData { @@ -24,14 +20,26 @@ const SAVE_CONFIG = gql` ` const MachineScreens = memo(({ wizard }) => { - const classes = useStyles() - const { data } = useQuery(GET_CONFIG) const [saveConfig] = useMutation(SAVE_CONFIG, { refetchQueries: () => ['getData'] }) + const save = it => { + const formatConfig = R.compose( + toNamespace(namespaces.MACHINE_SCREENS), + toNamespace('rates'), + R.mergeRight(ratesScreenConfig) + ) + + return saveConfig({ + variables: { + config: formatConfig({ active: it }) + } + }) + } + const machineScreensConfig = data?.config && fromNamespace(namespaces.MACHINE_SCREENS, data.config) @@ -46,32 +54,12 @@ const MachineScreens = memo(({ wizard }) => { return ( <> -
    -

    Rates screen

    -
    -
    -

    Enable rates screen

    -
    - - saveConfig({ - variables: { - config: R.compose( - toNamespace(namespaces.MACHINE_SCREENS), - toNamespace('rates') - )( - R.merge(ratesScreenConfig, { - active: event.target.checked - }) - ) - } - }) - } - /> - {ratesScreenConfig.active ? 'Yes' : 'No'} -
    -
    +

    Rates screen

    + ) }) diff --git a/new-lamassu-admin/src/pages/OperatorInfo/OperatorInfo.styles.js b/new-lamassu-admin/src/pages/OperatorInfo/OperatorInfo.styles.js deleted file mode 100644 index 9bdfe706..00000000 --- a/new-lamassu-admin/src/pages/OperatorInfo/OperatorInfo.styles.js +++ /dev/null @@ -1,118 +0,0 @@ -import { offColor } from 'src/styling/variables' - -const global = { - content: { - display: 'flex' - }, - header: { - display: 'flex', - alignItems: 'center', - position: 'relative', - flex: 'wrap' - }, - section: { - marginBottom: 52 - }, - row: { - display: 'flex', - alignItems: 'center', - justifyContent: 'space-between', - marginBottom: 28, - width: 600, - '&:last-child': { - marginBottom: 0 - } - }, - switchRow: { - display: 'flex', - alignItems: 'center', - position: 'relative', - flex: 'wrap', - justifyContent: 'space-between', - width: 396 - }, - switch: { - display: 'flex', - alignItems: 'center' - }, - submit: { - justifyContent: 'flex-start', - alignItems: 'center', - padding: [[0, 4, 4, 4]], - '& > button': { - marginRight: 40 - } - }, - transparentButton: { - '& > *': { - margin: 'auto 12px' - }, - '& button': { - border: 'none', - backgroundColor: 'transparent', - cursor: 'pointer' - } - }, - infoMessage: { - display: 'flex', - marginBottom: 52, - '& > p': { - width: 330, - color: offColor, - marginTop: 4, - marginLeft: 16 - } - }, - formErrorMsg: { - margin: [[0, 0, 20, 0]] - } -} - -const fieldStyles = { - field: { - position: 'relative', - width: 280, - padding: [[0, 4, 4, 0]] - }, - notEditing: { - display: 'flex', - flexDirection: 'column' - }, - notEditingSingleLine: { - '& > p:first-child': { - height: 16, - lineHeight: '16px', - transform: 'scale(0.75)', - transformOrigin: 'left', - paddingLeft: 0, - margin: [[1, 0, 6, 0]] - }, - '& > p:last-child': { - overflow: 'hidden', - whiteSpace: 'nowrap', - textOverflow: 'ellipsis', - height: 25, - margin: 0 - } - }, - notEditingMultiline: { - '& > p:first-child': { - height: 16, - lineHeight: '16px', - transform: 'scale(0.75)', - transformOrigin: 'left', - paddingLeft: 0, - margin: [[1, 0, 5, 0]] - }, - '& > p:last-child': { - width: 502, - height: 121, - overflowY: 'auto', - lineHeight: '19px', - wordWrap: 'anywhere', - margin: 0 - } - } -} - -export { global, fieldStyles } diff --git a/new-lamassu-admin/src/pages/OperatorInfo/ReceiptPrinting.jsx b/new-lamassu-admin/src/pages/OperatorInfo/ReceiptPrinting.jsx index 3d22330e..4f0209d9 100644 --- a/new-lamassu-admin/src/pages/OperatorInfo/ReceiptPrinting.jsx +++ b/new-lamassu-admin/src/pages/OperatorInfo/ReceiptPrinting.jsx @@ -1,19 +1,12 @@ -import { useQuery, useMutation, gql } from "@apollo/client"; -import { makeStyles } from '@mui/styles' -import Switch from '@mui/material/Switch' +import { useQuery, useMutation, gql } from '@apollo/client' import * as R from 'ramda' import React, { memo } from 'react' -import { HelpTooltip } from 'src/components/Tooltip' -import { H4, P, Label2 } from 'src/components/typography' import { BooleanPropertiesTable } from 'src/components/booleanPropertiesTable' import { fromNamespace, toNamespace, namespaces } from 'src/utils/config' -import { SupportLinkButton } from '../../components/buttons' - -import { global } from './OperatorInfo.styles' - -const useStyles = makeStyles(global) +import Header from './components/Header.jsx' +import SwitchRow from './components/SwitchRow.jsx' const GET_CONFIG = gql` query getData { @@ -28,14 +21,23 @@ const SAVE_CONFIG = gql` ` const ReceiptPrinting = memo(({ wizard }) => { - const classes = useStyles() - const { data } = useQuery(GET_CONFIG) const [saveConfig] = useMutation(SAVE_CONFIG, { refetchQueries: () => ['getData'] }) + const saveSwitch = object => { + return saveConfig({ + variables: { + config: toNamespace( + namespaces.RECEIPT, + R.mergeRight(receiptPrintingConfig, object) + ) + } + }) + } + const save = it => saveConfig({ variables: { config: toNamespace(namespaces.RECEIPT, it) } @@ -47,84 +49,26 @@ const ReceiptPrinting = memo(({ wizard }) => { return ( <> -
    -

    Receipt options

    - -

    - For details on configuring this panel, please read the relevant - knowledgebase article: -

    - -
    -
    -
    -

    Enable receipt printing

    -
    - - saveConfig({ - variables: { - config: toNamespace( - namespaces.RECEIPT, - R.merge(receiptPrintingConfig, { - active: event.target.checked - }) - ) - } - }) - } - /> - {receiptPrintingConfig.active ? 'Yes' : 'No'} -
    -
    -
    -

    Automatic receipt printing

    -
    - - saveConfig({ - variables: { - config: toNamespace( - namespaces.RECEIPT, - R.merge(receiptPrintingConfig, { - automaticPrint: event.target.checked - }) - ) - } - }) - } - /> - {receiptPrintingConfig.automaticPrint ? 'Yes' : 'No'} -
    -
    -
    -

    Offer SMS receipt

    -
    - - saveConfig({ - variables: { - config: toNamespace( - namespaces.RECEIPT, - R.merge(receiptPrintingConfig, { - sms: event.target.checked - }) - ) - } - }) - } - /> - {receiptPrintingConfig.sms ? 'Yes' : 'No'} -
    -
    +
    + saveSwitch({ active: it })} + /> + saveSwitch({ automaticPrint: it })} + /> + saveSwitch({ sms: it })} + /> { - const classes = useFieldStyles() - - const classNames = { - [classes.field]: true, - [classes.notEditing]: !editing, - [classes.notEditingSingleLine]: !editing && !multiline, - [classes.notEditingMultiline]: !editing && multiline + const info3ClassNames = { + 'overflow-hidden whitespace-nowrap text-ellipsis h-6': !multiline, + 'wrap-anywhere overflow-y-auto h-32 mt-4 leading-[23px]': multiline } return ( -
    +
    {!editing && ( <> - {label} - {value} + + {label} + + + {value} + )} {editing && ( @@ -81,8 +77,6 @@ const SAVE_CONFIG = gql` } ` -const useTermsConditionsStyles = makeStyles(global) - const TermsConditions = () => { const [error, setError] = useState(null) const [editing, setEditing] = useState(false) @@ -95,8 +89,6 @@ const TermsConditions = () => { onError: e => setError(e) }) - const classes = useTermsConditionsStyles() - const { data } = useQuery(GET_CONFIG) const termsAndConditions = @@ -169,72 +161,30 @@ const TermsConditions = () => { return ( <> -
    -

    Terms & Conditions

    - -

    - For details on configuring this panel, please read the relevant - knowledgebase article: -

    - -
    -
    -
    -

    Show on screen

    -
    - - save({ - active: event.target.checked - }) - } - /> - {showOnScreen ? 'Yes' : 'No'} -
    -
    -
    -

    - Capture customer photo on acceptance
    of Terms & Conditions - screen -

    -
    - - save({ - tcPhoto: event.target.checked - }) - } - /> - {tcPhoto ? 'Yes' : 'No'} -
    -
    -
    -

    Add 7 seconds delay on screen

    -
    - - save({ - delay: event.target.checked - }) - } - /> - {addDelayOnScreen ? 'Yes' : 'No'} -
    -
    -
    +
    + save({ active: it })} + /> + save({ tcPhoto: it })} + /> + save({ delay: it })} + /> +
    Info card {!editing && ( - setEditing(true)} - size="large"> + setEditing(true)} size="large"> )} @@ -251,10 +201,10 @@ const TermsConditions = () => { setError(null) }}> {({ errors }) => ( -
    + {fields.map((f, idx) => ( -
    +
    { />
    ))} -
    +
    {editing && ( <> @@ -288,7 +238,7 @@ const TermsConditions = () => { )} - ); + ) } export default TermsConditions diff --git a/new-lamassu-admin/src/pages/OperatorInfo/components/Header.jsx b/new-lamassu-admin/src/pages/OperatorInfo/components/Header.jsx new file mode 100644 index 00000000..d80b96b8 --- /dev/null +++ b/new-lamassu-admin/src/pages/OperatorInfo/components/Header.jsx @@ -0,0 +1,20 @@ +import React from 'react' +import { H4, P } from 'src/components/typography/index.jsx' +import { HelpTooltip } from 'src/components/Tooltip.jsx' +import { SupportLinkButton } from 'src/components/buttons/index.js' + +const Header = ({ title, tooltipText, articleUrl }) => ( +
    +

    {title}

    + +

    {tooltipText}

    + +
    +
    +) + +export default Header diff --git a/new-lamassu-admin/src/pages/OperatorInfo/components/InfoMessage.jsx b/new-lamassu-admin/src/pages/OperatorInfo/components/InfoMessage.jsx new file mode 100644 index 00000000..3f21549d --- /dev/null +++ b/new-lamassu-admin/src/pages/OperatorInfo/components/InfoMessage.jsx @@ -0,0 +1,12 @@ +import React from 'react' + +import { Label1 } from 'src/components/typography' + +const InfoMessage = ({ Icon, children }) => ( +
    + + {children} +
    +) + +export default InfoMessage diff --git a/new-lamassu-admin/src/pages/OperatorInfo/components/SwitchRow.jsx b/new-lamassu-admin/src/pages/OperatorInfo/components/SwitchRow.jsx new file mode 100644 index 00000000..317e1d36 --- /dev/null +++ b/new-lamassu-admin/src/pages/OperatorInfo/components/SwitchRow.jsx @@ -0,0 +1,21 @@ +import React, { memo } from 'react' +import { Label2, P } from 'src/components/typography/index.jsx' +import Switch from '@mui/material/Switch' + +const SwitchRow = memo(({ title, disabled = false, checked, save }) => { + return ( +
    +

    {title}

    +
    + save && save(event.target.checked)} + /> + {checked ? 'Yes' : 'No'} +
    +
    + ) +}) + +export default SwitchRow diff --git a/new-lamassu-admin/src/pages/Services/FormRenderer.jsx b/new-lamassu-admin/src/pages/Services/FormRenderer.jsx index 599eb8e5..ca4cbf3b 100644 --- a/new-lamassu-admin/src/pages/Services/FormRenderer.jsx +++ b/new-lamassu-admin/src/pages/Services/FormRenderer.jsx @@ -1,5 +1,3 @@ -import Grid from '@mui/material/Grid' -import { makeStyles } from '@mui/styles' import classnames from 'classnames' import { Formik, Form, FastField } from 'formik' import * as R from 'ramda' @@ -8,29 +6,7 @@ import ErrorMessage from 'src/components/ErrorMessage' import { Button } from 'src/components/buttons' import { SecretInput } from 'src/components/inputs/formik' -import { spacer } from 'src/styling/variables' -const styles = { - footer: { - display: 'flex', - flexDirection: 'row', - margin: [['auto', 0, spacer * 4, 0]] - }, - button: { - margin: [['auto', 0, 0, 'auto']] - }, - form: { - flex: 1, - display: 'flex', - flexDirection: 'column' - }, - grid: { - marginBottom: 24, - marginTop: 12 - } -} - -const useStyles = makeStyles(styles) const FormRenderer = ({ validationSchema, elements, @@ -40,8 +16,6 @@ const FormRenderer = ({ buttonClass, xs = 12 }) => { - const classes = useStyles() - const initialValues = R.compose( R.mergeAll, R.map(({ code }) => ({ [code]: (value && value[code]) ?? '' })) @@ -74,11 +48,11 @@ const FormRenderer = ({ validationSchema={validationSchema} onSubmit={saveNonEmptySecret}> {({ errors }) => ( - - + +
    {elements.map( ({ component, code, display, settings, inputProps }) => ( - +
    - +
    ) )} -
    -
    +
    +
    {!R.isEmpty(R.mergeRight(errors, saveError)) && ( {R.head(R.values(R.mergeRight(errors, saveError)))} )} diff --git a/new-lamassu-admin/src/pages/Services/Services.jsx b/new-lamassu-admin/src/pages/Services/Services.jsx index 22b44c92..c5e728f0 100644 --- a/new-lamassu-admin/src/pages/Services/Services.jsx +++ b/new-lamassu-admin/src/pages/Services/Services.jsx @@ -1,6 +1,4 @@ -import { useQuery, useMutation, gql } from "@apollo/client"; -import Grid from '@mui/material/Grid' -import { makeStyles } from '@mui/styles' +import { useQuery, useMutation, gql } from '@apollo/client' import * as R from 'ramda' import React, { useState } from 'react' import Modal from 'src/components/Modal' @@ -33,16 +31,6 @@ const SAVE_ACCOUNT = gql` } ` -const styles = { - wrapper: { - // widths + spacing is a little over 1200 on the design - // this adjusts the margin after a small reduction on card size - marginLeft: 1 - } -} - -const useStyles = makeStyles(styles) - const Services = () => { const [editingSchema, setEditingSchema] = useState(null) @@ -57,8 +45,6 @@ const Services = () => { const schemas = _schemas(markets) - const classes = useStyles() - const accounts = data?.accounts ?? {} const getItems = (code, elements) => { @@ -116,20 +102,19 @@ const Services = () => { return ( !loading && ( -
    +
    - +
    {R.values(schemas).map(schema => ( - - setEditingSchema(schema)} - items={getItems(schema.code, schema.elements)} - /> - + setEditingSchema(schema)} + items={getItems(schema.code, schema.elements)} + /> ))} - +
    {editingSchema && ( Date: Wed, 7 May 2025 18:55:21 +0100 Subject: [PATCH 50/85] partial: trigger and transactions --- .../CopyToClipboard.jsx | 31 +- .../src/pages/Analytics/Analytics.module.css | 0 .../src/pages/Blacklist/BlacklistTable.jsx | 2 +- .../Customers/components/PhotosCarousel.jsx | 2 +- .../Customers/components/TransactionsList.jsx | 2 +- new-lamassu-admin/src/pages/Funding.jsx | 4 +- .../Machines/MachineComponents/Overview.jsx | 2 +- .../Transactions/Transactions.jsx | 16 +- .../src/pages/Transactions/DetailsCard.jsx | 96 +++-- .../pages/Transactions/DetailsCard.styles.js | 146 -------- .../src/pages/Transactions/Transactions.jsx | 64 ++-- .../pages/Transactions/Transactions.styles.js | 147 -------- .../src/pages/Transactions/helper.js | 11 +- .../CustomInfoRequests/CustomInfoRequests.jsx | 236 ++++++------- .../CustomInfoRequests.styles.js | 19 - .../CustomInfoRequests/DetailsCard.jsx | 47 +-- .../Forms/TypeFields/ChoiceList.jsx | 21 +- .../Forms/TypeFields/NumericalEntry.jsx | 15 +- .../Forms/TypeFields/TextEntry.jsx | 19 +- .../Forms/TypeFields/formStyles.styles.js | 50 --- .../Triggers/CustomInfoRequests/Wizard.jsx | 33 +- .../CustomInfoRequests/WizardSplash.jsx | 38 +- .../src/pages/Triggers/TriggerView.jsx | 7 +- .../src/pages/Triggers/Triggers.jsx | 8 +- .../src/pages/Triggers/Triggers.styles.js | 16 - .../src/pages/Triggers/Wizard.jsx | 96 ++--- .../src/pages/Triggers/helper.jsx | 332 ++++-------------- .../UserManagement/modals/CreateUserModal.jsx | 2 +- .../UserManagement/modals/Reset2FAModal.jsx | 4 +- .../modals/ResetPasswordModal.jsx | 4 +- 30 files changed, 354 insertions(+), 1116 deletions(-) rename new-lamassu-admin/src/{pages/Transactions => components}/CopyToClipboard.jsx (69%) delete mode 100644 new-lamassu-admin/src/pages/Analytics/Analytics.module.css delete mode 100644 new-lamassu-admin/src/pages/Transactions/DetailsCard.styles.js delete mode 100644 new-lamassu-admin/src/pages/Transactions/Transactions.styles.js delete mode 100644 new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/CustomInfoRequests.styles.js delete mode 100644 new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/Forms/TypeFields/formStyles.styles.js delete mode 100644 new-lamassu-admin/src/pages/Triggers/Triggers.styles.js diff --git a/new-lamassu-admin/src/pages/Transactions/CopyToClipboard.jsx b/new-lamassu-admin/src/components/CopyToClipboard.jsx similarity index 69% rename from new-lamassu-admin/src/pages/Transactions/CopyToClipboard.jsx rename to new-lamassu-admin/src/components/CopyToClipboard.jsx index 021b6a65..b5edad0d 100644 --- a/new-lamassu-admin/src/pages/Transactions/CopyToClipboard.jsx +++ b/new-lamassu-admin/src/components/CopyToClipboard.jsx @@ -1,25 +1,20 @@ -import { makeStyles } from '@mui/styles' import classnames from 'classnames' import * as R from 'ramda' import React, { useState, useEffect } from 'react' import { CopyToClipboard as ReactCopyToClipboard } from 'react-copy-to-clipboard' -import Popover from 'src/components/Popper' +import Popover from 'src/components/Popper.jsx' import CopyIcon from 'src/styling/icons/action/copy/copy.svg?react' -import { comet } from 'src/styling/variables' +import { comet } from 'src/styling/variables.js' -import { cpcStyles } from './Transactions.styles' - -const useStyles = makeStyles(cpcStyles) +import { Label1, Mono } from './typography/index.jsx' const CopyToClipboard = ({ className, buttonClassname, children, - variant, wrapperClassname, - removeSpace = true, - ...props + removeSpace = true }) => { const [anchorEl, setAnchorEl] = useState(null) @@ -27,8 +22,6 @@ const CopyToClipboard = ({ if (anchorEl) setTimeout(() => setAnchorEl(null), 3000) }, [anchorEl]) - const classes = useStyles() - const handleClick = event => { setAnchorEl(anchorEl ? null : event.currentTarget) } @@ -41,16 +34,17 @@ const CopyToClipboard = ({ const id = open ? 'simple-popper' : undefined return ( -
    +
    {children && ( <> -
    + {children} -
    -
    + +
    -
    - )} - {showWizard && ( - { - setToBeEdited(null) - setHasError(false) - toggleWizard() - }} - toBeEdited={toBeEdited} - onSave={(...args) => handleSave(...args)} - existingRequirements={customRequests} - /> - )} - { - setDeleteDialog(false) - setHasError(false) - }} - item={`custom information request`} - extraMessage={detailedDeleteMsg} - onConfirmed={() => handleDelete(toBeDeleted)} - /> - )); + return ( + !configLoading && ( + <> + {customRequests.length > 0 && ( + it.customRequest.name + }, + { + header: 'Data entry type', + width: 300, + textAlign: 'left', + size: 'sm', + view: it => inputTypeDisplay[it.customRequest.input.type] + }, + { + header: 'Constraints', + width: 300, + textAlign: 'left', + size: 'sm', + view: it => + constraintTypeDisplay[it.customRequest.input.constraintType] + }, + { + header: 'Edit', + width: 100, + textAlign: 'center', + size: 'sm', + view: it => { + return ( + { + setToBeEdited(it) + return toggleWizard() + }} + size="large"> + + + ) + } + }, + { + header: 'Delete', + width: 100, + textAlign: 'center', + size: 'sm', + view: it => { + return ( + { + setToBeDeleted(it.id) + return setDeleteDialog(true) + }} + size="large"> + + + ) + } + } + ]} + data={customRequests} + Details={DetailsRow} + expandable + rowSize="sm" + /> + )} + {!customRequests.length && ( +
    + + It seems you haven't added any custom information requests yet. + + + Please read our{' '} + + Support Article + {' '} + on Compliance before adding new information requests. + + +
    + )} + {showWizard && ( + { + setToBeEdited(null) + setHasError(false) + toggleWizard() + }} + toBeEdited={toBeEdited} + onSave={(...args) => handleSave(...args)} + existingRequirements={customRequests} + /> + )} + { + setDeleteDialog(false) + setHasError(false) + }} + item={`custom information request`} + extraMessage={detailedDeleteMsg} + onConfirmed={() => handleDelete(toBeDeleted)} + /> + + ) + ) } export default CustomInfoRequests diff --git a/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/CustomInfoRequests.styles.js b/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/CustomInfoRequests.styles.js deleted file mode 100644 index 07a1bf87..00000000 --- a/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/CustomInfoRequests.styles.js +++ /dev/null @@ -1,19 +0,0 @@ -export default { - m0: { - margin: 0 - }, - mb10: { - marginBottom: 10 - }, - centerItems: { - display: 'flex', - flexDirection: 'column', - alignItems: 'center', - height: '50%', - justifyContent: 'center' - }, - alignWithTitleSection: { - marginTop: -47, - display: 'flex' - } -} diff --git a/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/DetailsCard.jsx b/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/DetailsCard.jsx index 2de4ac04..fd3d0d2e 100644 --- a/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/DetailsCard.jsx +++ b/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/DetailsCard.jsx @@ -1,32 +1,8 @@ -import { makeStyles } from '@mui/styles' -import classnames from 'classnames' import React from 'react' import { Label1, Info2 } from 'src/components/typography' -const styles = { - flex: { - display: 'flex' - }, - column: { - flexDirection: 'column' - }, - halfWidth: { - width: '50%', - marginBottom: 15, - marginRight: 50 - }, - marginTop: { - marginTop: 20 - }, - marginBottom: { - marginBottom: 20 - } -} -const useStyles = makeStyles(styles) const DetailsCard = ({ it }) => { const customRequest = it.customRequest - const classes = useStyles() - const getScreen2Data = () => { const label1Display = customRequest.input.constraintType === 'spaceSeparation' @@ -36,12 +12,12 @@ const DetailsCard = ({ it }) => { case 'text': return ( <> -
    +
    {label1Display} {customRequest.input.label1}
    {customRequest.input.constraintType === 'spaceSeparation' && ( -
    +
    Second word label {customRequest.input.label2}
    @@ -51,11 +27,11 @@ const DetailsCard = ({ it }) => { default: return ( <> -
    +
    Screen 2 input title {customRequest.screen2.title}
    -
    +
    Screen 2 input description {customRequest.screen2.text}
    @@ -87,22 +63,19 @@ const DetailsCard = ({ it }) => { return (
    -
    -
    +
    +
    Screen 1 title {customRequest.screen1.title}
    -
    - {getScreen2Data()} -
    +
    {getScreen2Data()}
    -
    -
    +
    +
    Screen 1 text {customRequest.screen1.text}
    -
    {getInputData()}
    +
    {getInputData()}
    ) diff --git a/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/Forms/TypeFields/ChoiceList.jsx b/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/Forms/TypeFields/ChoiceList.jsx index a171c1dd..e514d747 100644 --- a/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/Forms/TypeFields/ChoiceList.jsx +++ b/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/Forms/TypeFields/ChoiceList.jsx @@ -1,4 +1,3 @@ -import { makeStyles } from '@mui/styles' import classnames from 'classnames' import { Field, useFormikContext, FieldArray } from 'formik' import * as R from 'ramda' @@ -10,9 +9,6 @@ import { H4 } from 'src/components/typography' import AddIconInverse from 'src/styling/icons/button/add/white.svg?react' import AddIcon from 'src/styling/icons/button/add/zodiac.svg?react' -import styles from './formStyles.styles' -const useStyles = makeStyles(styles) - const nonEmptyStr = obj => obj.text && obj.text.length const options = [ @@ -21,15 +17,14 @@ const options = [ ] const ChoiceList = () => { - const classes = useStyles() const context = useFormikContext() const choiceListRef = useRef(null) const listChoices = R.path(['values', 'listChoices'])(context) ?? [] const choiceListError = R.path(['errors', 'listChoices'])(context) ?? false const showErrorColor = { - [classes.radioSubtitle]: true, - [classes.error]: + 'mb-0': true, + 'text-tomato': !R.path(['values', 'constraintType'])(context) && R.path(['errors', 'constraintType'])(context) } @@ -56,20 +51,20 @@ const ChoiceList = () => { {({ push }) => { return ( -
    -

    Choices

    -
    +
    +

    Choices

    +
    {listChoices.map((choice, idx) => { return (
    { Icon={AddIcon} color="primary" InverseIcon={AddIconInverse} - className={classes.button} + className="w-30 h-7 mt-7" onClick={e => { e.preventDefault() return push({ text: '' }) diff --git a/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/Forms/TypeFields/NumericalEntry.jsx b/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/Forms/TypeFields/NumericalEntry.jsx index 5c6c364d..938d587d 100644 --- a/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/Forms/TypeFields/NumericalEntry.jsx +++ b/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/Forms/TypeFields/NumericalEntry.jsx @@ -1,4 +1,3 @@ -import { makeStyles } from '@mui/styles' import classnames from 'classnames' import { Field, useFormikContext } from 'formik' import * as R from 'ramda' @@ -7,9 +6,6 @@ import NumberInput from 'src/components/inputs/formik/NumberInput' import RadioGroup from 'src/components/inputs/formik/RadioGroup' import { TL1, H4 } from 'src/components/typography' -import styles from './formStyles.styles' -const useStyles = makeStyles(styles) - const options = [ { display: 'None', code: 'none' }, { display: 'Date', code: 'date' }, @@ -17,7 +13,6 @@ const options = [ ] const NumericalEntry = () => { - const classes = useStyles() const context = useFormikContext() const isLength = @@ -25,8 +20,8 @@ const NumericalEntry = () => { 'length' const showErrorColor = { - [classes.radioSubtitle]: true, - [classes.error]: + 'mb-0': true, + 'text-tomat': !R.path(['values', 'constraintType'])(context) && R.path(['errors', 'constraintType'])(context) } @@ -37,13 +32,13 @@ const NumericalEntry = () => { Numerical entry constraints {isLength && ( -
    +
    { decimalPlaces={0} allowNegative={false} /> - digits + digits
    )} diff --git a/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/Forms/TypeFields/TextEntry.jsx b/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/Forms/TypeFields/TextEntry.jsx index 79f2674e..6b9ed614 100644 --- a/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/Forms/TypeFields/TextEntry.jsx +++ b/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/Forms/TypeFields/TextEntry.jsx @@ -1,4 +1,3 @@ -import { makeStyles } from '@mui/styles' import classnames from 'classnames' import { Field, useFormikContext } from 'formik' import * as R from 'ramda' @@ -7,9 +6,6 @@ import RadioGroup from 'src/components/inputs/formik/RadioGroup' import TextInput from 'src/components/inputs/formik/TextInput' import { H4 } from 'src/components/typography' -import styles from './formStyles.styles' -const useStyles = makeStyles(styles) - const options = [ { display: 'None', code: 'none' }, { display: 'Email', code: 'email' }, @@ -21,11 +17,10 @@ const options = [ ] const TextEntry = () => { - const classes = useStyles() const context = useFormikContext() const showErrorColor = { - [classes.radioSubtitle]: true, - [classes.error]: + 'mt-0': true, + 'text-tomato': !R.path(['values', 'constraintType'])(context) && R.path(['errors', 'constraintType'])(context) } @@ -34,15 +29,15 @@ const TextEntry = () => { switch (context.values.constraintType) { case 'spaceSeparation': return ( -
    +
    { default: return ( { <>

    Text entry constraints

    [ { @@ -153,7 +131,6 @@ const Wizard = ({ hasError, existingRequirements }) => { - const classes = useStyles() const isEditing = !R.isNil(toBeEdited) const [step, setStep] = useState(isEditing ? 1 : 0) @@ -206,7 +183,7 @@ const Wizard = ({ open={true}> {step > 0 && ( @@ -221,15 +198,17 @@ const Wizard = ({ initialValues={initialValues} validationSchema={stepOptions.validationSchema}> {({ errors }) => ( - + -
    +
    {(hasError || !R.isEmpty(errors)) && ( {R.head(R.values(errors)) ?? `Failed to save`} )} -
    diff --git a/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/WizardSplash.jsx b/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/WizardSplash.jsx index b3d9ffa0..421a0402 100644 --- a/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/WizardSplash.jsx +++ b/new-lamassu-admin/src/pages/Triggers/CustomInfoRequests/WizardSplash.jsx @@ -1,43 +1,15 @@ -import { makeStyles } from '@mui/styles' import React from 'react' import { H1, P } from 'src/components/typography' import CustomReqLogo from 'src/styling/icons/compliance/custom-requirement.svg?react' import { Button } from 'src/components/buttons' -const styles = { - logo: { - maxHeight: 150, - maxWidth: 200 - }, - title: { - margin: [[24, 0, 32, 0]] - }, - text: { - margin: 0 - }, - button: { - marginTop: 'auto', - marginBottom: 58 - }, - modalContent: { - display: 'flex', - flexDirection: 'column', - alignItems: 'center', - padding: [[0, 42]], - flex: 1 - } -} - -const useStyles = makeStyles(styles) - const WizardSplash = ({ onContinue }) => { - const classes = useStyles() return ( -
    - -

    Custom information request

    -

    +

    + +

    Custom information request

    +

    A custom information request allows you to have an extra option to ask specific information about your customers when adding a trigger that isn't an option on the default requirements list. @@ -47,7 +19,7 @@ const WizardSplash = ({ onContinue }) => { triggers. You will still need to add a trigger with the new requirement to get this information from your customers.

    -
    diff --git a/new-lamassu-admin/src/pages/Triggers/TriggerView.jsx b/new-lamassu-admin/src/pages/Triggers/TriggerView.jsx index e8e208c5..6bd1f76f 100644 --- a/new-lamassu-admin/src/pages/Triggers/TriggerView.jsx +++ b/new-lamassu-admin/src/pages/Triggers/TriggerView.jsx @@ -1,5 +1,4 @@ import { useMutation, gql } from '@apollo/client' -import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' import { H2 } from 'src/components/typography' @@ -9,12 +8,9 @@ import { Button } from 'src/components/buttons' import { Table as EditableTable } from 'src/components/editableTable' import { fromNamespace, namespaces } from 'src/utils/config' -import styles from './Triggers.styles' import Wizard from './Wizard' import { Schema, getElements, sortBy, toServer } from './helper' -const useStyles = makeStyles(styles) - const SAVE_CONFIG = gql` mutation Save($config: JSONObject) { saveConfig(config: $config) @@ -34,7 +30,6 @@ const TriggerView = ({ const currency = R.path(['fiatCurrency'])( fromNamespace(namespaces.LOCALE)(config) ) - const classes = useStyles() const [error, setError] = useState(null) const [saveConfig] = useMutation(SAVE_CONFIG, { @@ -69,7 +64,7 @@ const TriggerView = ({ error={error?.message} save={save} validationSchema={Schema} - elements={getElements(currency, classes, customInfoRequests)} + elements={getElements(currency, customInfoRequests)} /> {showWizard && ( { - const classes = useStyles() const [wizardType, setWizard] = useState(false) const { data, loading: configLoading, refetch } = useQuery(GET_CONFIG) const { data: customInfoReqData, loading: customInfoLoading } = @@ -109,7 +105,7 @@ const Triggers = () => { } const titleSectionWidth = { - [classes.tableWidth]: !subMenu === 'customInfoRequests' + 'w-230': !subMenu === 'customInfoRequests' } const setBlur = shouldBlur => { @@ -178,7 +174,7 @@ const Triggers = () => { }} value={rejectAddressReuse} /> - + {rejectAddressReuse ? 'On' : 'Off'} diff --git a/new-lamassu-admin/src/pages/Triggers/Triggers.styles.js b/new-lamassu-admin/src/pages/Triggers/Triggers.styles.js deleted file mode 100644 index ad2be31d..00000000 --- a/new-lamassu-admin/src/pages/Triggers/Triggers.styles.js +++ /dev/null @@ -1,16 +0,0 @@ -export default { - switchLabel: { - margin: 6, - width: 24 - }, - tableRadioGroup: { - flexDirection: 'row', - justifyContent: 'space-between' - }, - tableRadioLabel: { - marginRight: 0 - }, - tableWidth: { - width: 918 - } -} diff --git a/new-lamassu-admin/src/pages/Triggers/Wizard.jsx b/new-lamassu-admin/src/pages/Triggers/Wizard.jsx index abf8d94a..11f5f6c7 100644 --- a/new-lamassu-admin/src/pages/Triggers/Wizard.jsx +++ b/new-lamassu-admin/src/pages/Triggers/Wizard.jsx @@ -1,4 +1,3 @@ -import { makeStyles } from '@mui/styles' import { Form, Formik, useFormikContext } from 'formik' import * as R from 'ramda' import React, { useState, Fragment, useEffect } from 'react' @@ -8,46 +7,12 @@ import Stepper from 'src/components/Stepper' import { H5, Info3 } from 'src/components/typography' import { Button } from 'src/components/buttons' -import { comet } from 'src/styling/variables' import { singularOrPlural } from 'src/utils/string' import { type, requirements } from './helper' const LAST_STEP = 2 -const styles = { - stepper: { - margin: [[16, 0, 14, 0]] - }, - submit: { - display: 'flex', - flexDirection: 'row', - margin: [['auto', 0, 24]] - }, - button: { - marginLeft: 'auto' - }, - form: { - height: '100%', - display: 'flex', - flexDirection: 'column' - }, - infoTitle: { - margin: [[18, 0, 20, 0]] - }, - infoCurrentText: { - color: comet - }, - blankSpace: { - padding: [[0, 30]], - margin: [[0, 4, 0, 2]], - borderBottom: `1px solid ${comet}`, - display: 'inline-block' - } -} - -const useStyles = makeStyles(styles) - const getStep = ( { step, config }, currency, @@ -74,21 +39,23 @@ const getStep = ( } } -const getText = (step, config, currency, classes) => { +const getText = (step, config, currency) => { switch (step) { // case 1: // return `In ${getDirectionText(config)} transactions` case 1: - return <>If the user {getTypeText(config, currency, classes)} + return <>If the user {getTypeText(config, currency)} case 2: - return <>the user will be {getRequirementText(config, classes)}. + return <>the user will be {getRequirementText(config)}. default: return <> } } -const orUnderline = (value, classes) => { - const blankSpaceEl = +const orUnderline = value => { + const blankSpaceEl = ( + + ) return R.isEmpty(value) || R.isNil(value) ? blankSpaceEl : value } @@ -105,34 +72,34 @@ const orUnderline = (value, classes) => { // } // } -const getTypeText = (config, currency, classes) => { +const getTypeText = (config, currency) => { switch (config.triggerType) { case 'txAmount': return ( <> makes a single transaction over{' '} - {orUnderline(config.threshold.threshold, classes)} {currency} + {orUnderline(config.threshold.threshold)} {currency} ) case 'txVolume': return ( <> - makes more than {orUnderline(config.threshold.threshold, classes)}{' '} - {currency} worth of transactions within{' '} - {orUnderline(config.threshold.thresholdDays, classes)}{' '} + makes more than {orUnderline(config.threshold.threshold)} {currency}{' '} + worth of transactions within{' '} + {orUnderline(config.threshold.thresholdDays)}{' '} {singularOrPlural(config.threshold.thresholdDays, 'day', 'days')} ) case 'txVelocity': return ( <> - makes more than {orUnderline(config.threshold.threshold, classes)}{' '} + makes more than {orUnderline(config.threshold.threshold)}{' '} {singularOrPlural( config.threshold.threshold, 'transaction', 'transactions' )}{' '} - in {orUnderline(config.threshold.thresholdDays, classes)}{' '} + in {orUnderline(config.threshold.thresholdDays)}{' '} {singularOrPlural(config.threshold.thresholdDays, 'day', 'days')} ) @@ -140,7 +107,7 @@ const getTypeText = (config, currency, classes) => { return ( <> at least one transaction every day for{' '} - {orUnderline(config.threshold.thresholdDays, classes)}{' '} + {orUnderline(config.threshold.thresholdDays)}{' '} {singularOrPlural(config.threshold.thresholdDays, 'day', 'days')} ) @@ -149,7 +116,7 @@ const getTypeText = (config, currency, classes) => { } } -const getRequirementText = (config, classes) => { +const getRequirementText = config => { switch (config.requirement?.requirement) { case 'email': return <>asked to enter code provided through email verification @@ -170,8 +137,7 @@ const getRequirementText = (config, classes) => { case 'suspend': return ( <> - suspended for{' '} - {orUnderline(config.requirement.suspensionDays, classes)}{' '} + suspended for {orUnderline(config.requirement.suspensionDays)}{' '} {singularOrPlural(config.requirement.suspensionDays, 'day', 'days')} ) @@ -182,28 +148,24 @@ const getRequirementText = (config, classes) => { case 'external': return <>redirected to an external verification process default: - return orUnderline(null, classes) + return orUnderline(null) } } const InfoPanel = ({ step, config = {}, liveValues = {}, currency }) => { - const classes = useStyles() - const oldText = R.range(1, step).map((it, idx) => ( - - {getText(it, config, currency, classes)} - + {getText(it, config, currency)} )) - const newText = getText(step, liveValues, currency, classes) + const newText = getText(step, liveValues, currency) const isLastStep = step === LAST_STEP return ( <> -
    Trigger overview so far
    +
    Trigger overview so far
    {oldText} {step !== 1 && ', '} - {newText} + {newText} {!isLastStep && '...'} @@ -229,8 +191,6 @@ const Wizard = ({ emailAuth, triggers }) => { - const classes = useStyles() - const [liveValues, setLiveValues] = useState({}) const [{ step, config }, setState] = useState({ step: 1 @@ -321,11 +281,7 @@ const Wizard = ({ } infoPanelHeight={172} open={true}> - + {({ errors, touched, values }) => ( - + -
    +
    {error && Failed to save} {createErrorMessage(errors, touched, values) && ( {createErrorMessage(errors, touched, values)} )} -
    diff --git a/new-lamassu-admin/src/pages/Triggers/helper.jsx b/new-lamassu-admin/src/pages/Triggers/helper.jsx index cd8a18c8..b6d82200 100644 --- a/new-lamassu-admin/src/pages/Triggers/helper.jsx +++ b/new-lamassu-admin/src/pages/Triggers/helper.jsx @@ -1,4 +1,3 @@ -import { makeStyles } from '@mui/styles' import classnames from 'classnames' import { Field, useFormikContext } from 'formik' import * as R from 'ramda' @@ -7,95 +6,9 @@ import { H4, Label2, Label1, Info1, Info2 } from 'src/components/typography' import * as Yup from 'yup' import { NumberInput, RadioGroup, Dropdown } from 'src/components/inputs/formik' -import { errorColor } from 'src/styling/variables' import { transformNumber } from 'src/utils/number' import { onlyFirstToUpper } from 'src/utils/string' -// import TxInIcon from 'src/styling/icons/direction/cash-in.svg?react' -// import TxOutIcon from 'src/styling/icons/direction/cash-out.svg?react' - -const useStyles = makeStyles({ - radioLabel: { - height: 40, - padding: [[0, 10]] - }, - radio: { - padding: 4, - margin: 4 - }, - radioGroup: { - flexDirection: 'row' - }, - error: { - color: errorColor - }, - specialLabel: { - height: 40, - padding: 0 - }, - specialGrid: { - display: 'grid', - gridTemplateColumns: [[182, 162, 181]] - }, - directionIcon: { - marginRight: 2 - }, - directionName: { - marginLeft: 6 - }, - thresholdWrapper: { - display: 'flex', - flexDirection: 'column' - }, - thresholdTitle: { - marginTop: 50 - }, - thresholdContentWrapper: { - display: 'flex', - flexDirection: 'row' - }, - thresholdField: { - marginRight: 6, - width: 75 - }, - description: { - marginTop: 7 - }, - space: { - marginLeft: 6, - marginRight: 6 - }, - lastSpace: { - marginLeft: 6 - }, - suspensionDays: { - width: 34 - }, - input: { - marginTop: -2 - }, - limitedInput: { - width: 50 - }, - daysInput: { - width: 60 - }, - dropdownField: { - marginTop: 16, - minWidth: 155 - }, - externalFields: { - '& > *': { - marginRight: 15 - }, - '& > *:last-child': { - marginRight: 0 - } - } -}) - -// const direction = Yup.string().required() - const triggerType = Yup.string().required() const threshold = Yup.object().shape({ threshold: Yup.number() @@ -171,92 +84,6 @@ const Schema = Yup.object() }) }) -// Direction V2 only -// const directionSchema = Yup.object().shape({ direction }) - -// const directionOptions = [ -// { -// display: 'Both', -// code: 'both' -// }, -// { -// display: 'Only cash-in', -// code: 'cashIn' -// }, -// { -// display: 'Only cash-out', -// code: 'cashOut' -// } -// ] - -// const directionOptions2 = [ -// { -// display: ( -// <> -// in -// -// ), -// code: 'cashIn' -// }, -// { -// display: ( -// <> -// out -// -// ), -// code: 'cashOut' -// }, -// { -// display: ( -// <> -// -// -// -// -// -// -// -// -// -// ), -// code: 'both' -// } -// ] - -// const Direction = () => { -// const classes = useStyles() -// const { errors } = useFormikContext() - -// const titleClass = { -// [classes.error]: errors.direction -// } - -// return ( -// <> -// -//

    -// In which type of transactions will it trigger? -//

    -//
    -// -// -// ) -// } - -// const txDirection = { -// schema: directionSchema, -// options: directionOptions, -// Component: Direction, -// initialValues: { direction: '' } -// } - // TYPE const typeSchema = Yup.object() .shape({ @@ -314,18 +141,20 @@ const typeSchema = Yup.object() const typeOptions = [ { display: 'Transaction amount', code: 'txAmount' }, - { display: 'Transaction volume', code: 'txVolume' }, + { + display: 'Transaction volume', + code: 'txVolume' + }, { display: 'Transaction velocity', code: 'txVelocity' }, { display: 'Consecutive days', code: 'consecutiveDays' } ] const Type = ({ ...props }) => { - const classes = useStyles() const { errors, touched, values, setTouched, handleChange } = useFormikContext() const typeClass = { - [classes.error]: errors.triggerType && touched.triggerType + 'text-tomato': errors.triggerType && touched.triggerType } const containsType = R.contains(values?.triggerType) @@ -348,7 +177,7 @@ const Type = ({ ...props }) => { const triggerTypeError = !!(hasDaysError || hasAmountError) const thresholdClass = { - [classes.error]: triggerTypeError + 'text-tomato': triggerTypeError } const isRadioGroupActive = () => { @@ -369,9 +198,9 @@ const Type = ({ ...props }) => { component={RadioGroup} name="triggerType" options={typeOptions} - labelClassName={classes.radioLabel} - radioClassName={classes.radio} - className={classes.radioGroup} + labelClassName="h-10 py-0 px-3" + radioClassName="p-1 m-1" + className="flex-row" onChange={e => { handleChange(e) setTouched({ @@ -381,73 +210,58 @@ const Type = ({ ...props }) => { }} /> -
    +
    {isRadioGroupActive() && ( -

    - Threshold -

    +

    Threshold

    )} -
    +
    {isThresholdCurrencyEnabled && ( <> - - {props.currency} - + {props.currency} )} {isTransactionAmountEnabled && ( <> - - transactions - + transactions )} {isThresholdDaysEnabled && ( <> - - in - + in - days + days )} {isConsecutiveDaysEnabled && ( <> - - consecutive days - + consecutive days )}
    @@ -527,16 +341,27 @@ const requirementSchema = Yup.object() const requirementOptions = [ { display: 'SMS verification', code: 'sms' }, - { display: 'Email verification', code: 'email' }, + { + display: 'Email verification', + code: 'email' + }, { display: 'ID card image', code: 'idCardPhoto' }, - { display: 'ID data', code: 'idCardData' }, + { + display: 'ID data', + code: 'idCardData' + }, { display: 'Customer camera', code: 'facephoto' }, { display: 'Sanctions', code: 'sanctions' }, - { display: 'US SSN', code: 'usSsn' }, - // { display: 'Super user', code: 'superuser' }, + { + display: 'US SSN', + code: 'usSsn' + }, // { display: 'Super user', code: 'superuser' }, { display: 'Suspend', code: 'suspend' }, { display: 'Block', code: 'block' }, - { display: 'External verification', code: 'external' } + { + display: 'External verification', + code: 'external' + } ] const hasRequirementError = (errors, touched, values) => @@ -563,7 +388,6 @@ const Requirement = ({ complianceServices, customInfoRequests = [] }) => { - const classes = useStyles() const { touched, errors, values, handleChange, setTouched } = useFormikContext() @@ -587,7 +411,10 @@ const Requirement = ({ const availableCustomRequirements = R.filter( it => !R.includes( - { triggerType: config.triggerType, id: it.id }, + { + triggerType: config.triggerType, + id: it.id + }, customRequirementsInUse ), customInfoRequests @@ -613,7 +440,7 @@ const Requirement = ({ enableCustomRequirement && options.push(customInfoOption) const titleClass = { - [classes.error]: + 'text-tomato': (!!errors.requirement && !isSuspend && !isCustom && !isExternal) || (isSuspend && hasRequirementError(errors, touched, values)) || (isCustom && hasCustomRequirementError(errors, touched, values)) || @@ -629,9 +456,9 @@ const Requirement = ({ component={RadioGroup} name="requirement.requirement" options={options} - labelClassName={classes.specialLabel} - radioClassName={classes.radio} - className={classnames(classes.radioGroup, classes.specialGrid)} + labelClassName="h-10 p-0" + radioClassName="p-1 m-1" + className="flex-row grid grid-cols-[182px_162px_181px]" onChange={e => { handleChange(e) setTouched({ @@ -641,7 +468,7 @@ const Requirement = ({ /> {isSuspend && ( )} {isExternal && ( -
    +
    it => { return R.compose(R.prop(code), R.find(R.propEq(compare ?? 'code', it)))(data) } -// const DirectionDisplay = ({ code }) => { -// const classes = useStyles() -// const displayName = getView(directionOptions, 'display')(code) -// const showCashIn = code === 'cashIn' || code === 'both' -// const showCashOut = code === 'cashOut' || code === 'both' - -// return ( -//
    -// {showCashOut && } -// {showCashIn && } -// {displayName} -//
    -// ) -// } - const customReqIdMatches = customReqId => it => { return it.id === customReqId } const RequirementInput = ({ customInfoRequests = [] }) => { const { values } = useFormikContext() - const classes = useStyles() - const requirement = values?.requirement?.requirement const customRequestId = R.path(['requirement', 'customInfoRequestId'])(values) ?? '' @@ -753,7 +563,7 @@ const RequirementInput = ({ customInfoRequests = [] }) => { {isSuspend && ( { - const classes = useStyles() const display = requirement === 'custom' ? (R.path(['customRequest', 'name'])( @@ -785,7 +594,7 @@ const RequirementView = ({
    {`${display} ${isSuspend ? 'for' : ''}`} {isSuspend && ( - + {suspensionDays} )} @@ -795,12 +604,10 @@ const RequirementView = ({ } const DisplayThreshold = ({ config, currency, isEdit }) => { - const classes = useStyles() - const inputClasses = { - [classes.input]: true, - [classes.limitedInput]: config?.triggerType === 'txVelocity', - [classes.daysInput]: config?.triggerType === 'consecutiveDays' + '-mt-1': true, + 'w-13': config?.triggerType === 'txVelocity', + 'w-15': config?.triggerType === 'consecutiveDays' } const threshold = config?.threshold?.threshold @@ -834,7 +641,7 @@ const DisplayThreshold = ({ config, currency, isEdit }) => { return (
    {Threshold} - + {currency}
    @@ -843,14 +650,14 @@ const DisplayThreshold = ({ config, currency, isEdit }) => { return (
    {Threshold} - + {currency} - + in {ThresholdDays} - + days
    @@ -859,11 +666,11 @@ const DisplayThreshold = ({ config, currency, isEdit }) => { return (
    {Threshold} - + transactions in {ThresholdDays} - + days
    @@ -872,7 +679,7 @@ const DisplayThreshold = ({ config, currency, isEdit }) => { return (
    {ThresholdDays} - + days
    @@ -892,7 +699,7 @@ const ThresholdView = ({ config, currency }) => { return } -const getElements = (currency, classes, customInfoRequests) => [ +const getElements = (currency, customInfoRequests) => [ { name: 'triggerType', size: 'sm', @@ -926,18 +733,6 @@ const getElements = (currency, classes, customInfoRequests) => [ input: () => , view: (it, config) => } - // { - // name: 'direction', - // size: 'sm', - // width: 282, - // view: it => , - // input: RadioGroup, - // inputProps: { - // labelClassName: classes.tableRadioLabel, - // className: classes.tableRadioGroup, - // options: directionOptions2 - // } - // } ] const triggerOrder = R.map(R.prop('code'))(typeOptions) @@ -987,8 +782,7 @@ const toServer = triggers => export { Schema, - getElements, - // txDirection, + getElements, // txDirection, type, requirements, sortBy, diff --git a/new-lamassu-admin/src/pages/UserManagement/modals/CreateUserModal.jsx b/new-lamassu-admin/src/pages/UserManagement/modals/CreateUserModal.jsx index e6048622..8b4213d1 100644 --- a/new-lamassu-admin/src/pages/UserManagement/modals/CreateUserModal.jsx +++ b/new-lamassu-admin/src/pages/UserManagement/modals/CreateUserModal.jsx @@ -6,7 +6,7 @@ import React, { useState } from 'react' import ErrorMessage from 'src/components/ErrorMessage' import Modal from 'src/components/Modal' import { H1, H3, Info2, P, Mono } from 'src/components/typography' -import CopyToClipboard from 'src/pages/Transactions/CopyToClipboard' +import CopyToClipboard from 'src/components/CopyToClipboard.jsx' import * as Yup from 'yup' import { Button } from 'src/components/buttons' diff --git a/new-lamassu-admin/src/pages/UserManagement/modals/Reset2FAModal.jsx b/new-lamassu-admin/src/pages/UserManagement/modals/Reset2FAModal.jsx index ae1cfc49..b91f8f54 100644 --- a/new-lamassu-admin/src/pages/UserManagement/modals/Reset2FAModal.jsx +++ b/new-lamassu-admin/src/pages/UserManagement/modals/Reset2FAModal.jsx @@ -1,10 +1,10 @@ -import { useMutation, gql } from "@apollo/client"; +import { useMutation, gql } from '@apollo/client' import { makeStyles } from '@mui/styles' import React, { useEffect, useState } from 'react' import ErrorMessage from 'src/components/ErrorMessage' import Modal from 'src/components/Modal' import { Info2, P, Mono } from 'src/components/typography' -import CopyToClipboard from 'src/pages/Transactions/CopyToClipboard' +import CopyToClipboard from 'src/components/CopyToClipboard.jsx' import { urlResolver } from 'src/utils/urlResolver' diff --git a/new-lamassu-admin/src/pages/UserManagement/modals/ResetPasswordModal.jsx b/new-lamassu-admin/src/pages/UserManagement/modals/ResetPasswordModal.jsx index ca53e015..d6b36f7e 100644 --- a/new-lamassu-admin/src/pages/UserManagement/modals/ResetPasswordModal.jsx +++ b/new-lamassu-admin/src/pages/UserManagement/modals/ResetPasswordModal.jsx @@ -1,10 +1,10 @@ -import { useMutation, gql } from "@apollo/client"; +import { useMutation, gql } from '@apollo/client' import { makeStyles } from '@mui/styles' import React, { useEffect, useState } from 'react' import ErrorMessage from 'src/components/ErrorMessage' import Modal from 'src/components/Modal' import { Info2, P, Mono } from 'src/components/typography' -import CopyToClipboard from 'src/pages/Transactions/CopyToClipboard' +import CopyToClipboard from 'src/components/CopyToClipboard.jsx' import { urlResolver } from 'src/utils/urlResolver' From 8d7f507d6e1586d2a444a48b264426ce7c494c45 Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Thu, 8 May 2025 08:17:09 +0100 Subject: [PATCH 51/85] partial: User Management and Wallet css migration --- .../pages/Maintenance/Wizard/WizardSplash.jsx | 2 +- .../pages/UserManagement/UserManagement.jsx | 5 +- .../UserManagement/UserManagement.module.css | 134 ++++++++++++++++++ .../UserManagement/UserManagement.styles.js | 124 ---------------- .../UserManagement/modals/ChangeRoleModal.jsx | 10 +- .../UserManagement/modals/CreateUserModal.jsx | 7 +- .../UserManagement/modals/EnableUserModal.jsx | 10 +- .../pages/UserManagement/modals/FIDOModal.jsx | 9 +- .../UserManagement/modals/Input2FAModal.jsx | 9 +- .../UserManagement/modals/Reset2FAModal.jsx | 9 +- .../modals/ResetPasswordModal.jsx | 7 +- new-lamassu-admin/src/pages/Wallet/Wallet.jsx | 7 +- .../src/pages/Wallet/Wallet.styles.js | 7 - .../src/pages/Wallet/WizardSplash.jsx | 38 +---- .../src/pages/Wallet/WizardStep.jsx | 51 +++---- .../src/pages/Wallet/WizardStep.styles.js | 60 -------- new-lamassu-admin/src/pages/Wallet/helper.jsx | 14 +- .../src/styling/global/global.css | 2 + 18 files changed, 182 insertions(+), 323 deletions(-) create mode 100644 new-lamassu-admin/src/pages/UserManagement/UserManagement.module.css delete mode 100644 new-lamassu-admin/src/pages/UserManagement/UserManagement.styles.js delete mode 100644 new-lamassu-admin/src/pages/Wallet/Wallet.styles.js delete mode 100644 new-lamassu-admin/src/pages/Wallet/WizardStep.styles.js diff --git a/new-lamassu-admin/src/pages/Maintenance/Wizard/WizardSplash.jsx b/new-lamassu-admin/src/pages/Maintenance/Wizard/WizardSplash.jsx index 3693cff4..4e2cedca 100644 --- a/new-lamassu-admin/src/pages/Maintenance/Wizard/WizardSplash.jsx +++ b/new-lamassu-admin/src/pages/Maintenance/Wizard/WizardSplash.jsx @@ -29,7 +29,7 @@ const WizardSplash = ({ name, onContinue }) => { bills before adding the new ones.

    -
    diff --git a/new-lamassu-admin/src/pages/UserManagement/UserManagement.jsx b/new-lamassu-admin/src/pages/UserManagement/UserManagement.jsx index 488c420a..d7850b37 100644 --- a/new-lamassu-admin/src/pages/UserManagement/UserManagement.jsx +++ b/new-lamassu-admin/src/pages/UserManagement/UserManagement.jsx @@ -1,7 +1,6 @@ import { useQuery, useMutation, useLazyQuery, gql } from '@apollo/client' import Chip from '@mui/material/Chip' import Switch from '@mui/material/Switch' -import { makeStyles } from '@mui/styles' import { startAttestation } from '@simplewebauthn/browser' import * as R from 'ramda' import React, { useReducer, useState, useContext } from 'react' @@ -18,7 +17,6 @@ import AppContext from 'src/AppContext' import { ActionButton, Link } from 'src/components/buttons' import { IP_CHECK_REGEX } from 'src/utils/constants' -import styles from './UserManagement.styles' import ChangeRoleModal from './modals/ChangeRoleModal' import CreateUserModal from './modals/CreateUserModal' import EnableUserModal from './modals/EnableUserModal' @@ -26,7 +24,7 @@ import FIDOModal from './modals/FIDOModal' import Reset2FAModal from './modals/Reset2FAModal' import ResetPasswordModal from './modals/ResetPasswordModal' -const useStyles = makeStyles(styles) +import classes from './UserManagement.module.css' const GET_USERS = gql` query users { @@ -88,7 +86,6 @@ const roleMapper = { } const Users = () => { - const classes = useStyles() const { userData } = useContext(AppContext) const { data: userResponse } = useQuery(GET_USERS) diff --git a/new-lamassu-admin/src/pages/UserManagement/UserManagement.module.css b/new-lamassu-admin/src/pages/UserManagement/UserManagement.module.css new file mode 100644 index 00000000..604f6aa0 --- /dev/null +++ b/new-lamassu-admin/src/pages/UserManagement/UserManagement.module.css @@ -0,0 +1,134 @@ +.footer { + display: flex; + flex-direction: row; + margin: auto 0 24px 0; +} + +.modalTitle { + margin-top: -5px; + color: var(--zodiac); + font-family: var(--mont); +} + +.modalLabel1 { + margin-top: 20px; +} + +.modalLabel2 { + margin-top: 40px; +} + +.inputLabel { + color: var(--zodiac); + font-family: var(--mont); + font-size: 24px; + margin-left: 8px; + margin-top: 15px; +} + +.tableWidth { + width: 1132px; +} + +.radioGroup { + flex-direction: row; + width: 500px; +} + +.radioLabel { + width: 150px; + height: 48px; +} + +.copyToClipboard { + margin-left: auto; + padding-top: 7px; + margin-right: -5px; +} + +.chip { + background-color: var(--zircon); + font-family: var(--mont); + margin-left: 10px; +} + +.info { + font-family: var(--museo); + text-align: justify; +} + +.addressWrapper { + background-color: var(--zircon); + margin-top: 8px; + height: 35px; +} + +.address { + margin: 0px 16px 0px 16px; + padding-right: -15px; +} + +.errorMessage { + font-family: var(--museo); + color: var(--tomato); +} + +.codeContainer { + margin-top: 15px; + margin-bottom: 15px; +} + +.form { + display: flex; + flex-direction: column; + height: 100%; +} + +.submit { + margin: auto 0 0 auto; +} + +.error { + color: var(--tomato); +} + +.link { + position: absolute; + top: 10px; + left: 0; + bottom: -20px; + right: -20px; + white-space: nowrap; + overflow-x: auto; + width: 92.5%; +} + +.linkWrapper { + width: 100%; + height: 100%; + overflow: hidden; + position: relative; +} + +.loginWrapper { + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; +} + +.username { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + width: 100%; +} + +.roleSwitch { + margin-left: 15px; +} + +.actionButtonWrapper { + display: flex; + gap: 12px; +} diff --git a/new-lamassu-admin/src/pages/UserManagement/UserManagement.styles.js b/new-lamassu-admin/src/pages/UserManagement/UserManagement.styles.js deleted file mode 100644 index 6859dd97..00000000 --- a/new-lamassu-admin/src/pages/UserManagement/UserManagement.styles.js +++ /dev/null @@ -1,124 +0,0 @@ -import { - spacer, - fontPrimary, - fontSecondary, - primaryColor, - subheaderColor, - errorColor -} from 'src/styling/variables' - -const styles = { - footer: { - display: 'flex', - flexDirection: 'row', - margin: [['auto', 0, spacer * 3, 0]] - }, - modalTitle: { - marginTop: -5, - color: primaryColor, - fontFamily: fontPrimary - }, - modalLabel1: { - marginTop: 20 - }, - modalLabel2: { - marginTop: 40 - }, - inputLabel: { - color: primaryColor, - fontFamily: fontPrimary, - fontSize: 24, - marginLeft: 8, - marginTop: 15 - }, - tableWidth: { - width: 1132 - }, - radioGroup: { - flexDirection: 'row', - width: 500 - }, - radioLabel: { - width: 150, - height: 48 - }, - copyToClipboard: { - marginLeft: 'auto', - paddingTop: 7, - marginRight: -5 - }, - chip: { - backgroundColor: subheaderColor, - fontFamily: fontPrimary, - marginLeft: 10 - }, - info: { - fontFamily: fontSecondary, - textAlign: 'justify' - }, - addressWrapper: { - backgroundColor: subheaderColor, - marginTop: 8, - height: 35 - }, - address: { - margin: `0px ${spacer * 2}px 0px ${spacer * 2}px`, - paddingRight: -15 - }, - errorMessage: { - fontFamily: fontSecondary, - color: errorColor - }, - codeContainer: { - marginTop: 15, - marginBottom: 15 - }, - form: { - display: 'flex', - flexDirection: 'column', - height: '100%' - }, - submit: { - margin: [['auto', 0, 0, 'auto']] - }, - error: { - color: errorColor - }, - link: { - position: 'absolute', - top: 10, - left: 0, - bottom: '-20px', - right: '-20px', - whiteSpace: 'nowrap', - overflowX: 'auto', - width: '92.5%' - }, - linkWrapper: { - width: '100%', - height: '100%', - overflow: 'hidden', - position: 'relative' - }, - loginWrapper: { - display: 'flex', - flexDirection: 'row', - alignItems: 'center', - justifyContent: 'space-between' - }, - username: { - overflow: 'hidden', - whiteSpace: 'nowrap', - textOverflow: 'ellipsis', - width: '100%' - }, - roleSwitch: { - marginLeft: 15 - }, - actionButtonWrapper: { - display: 'flex', - gap: 12 - } -} - -export default styles diff --git a/new-lamassu-admin/src/pages/UserManagement/modals/ChangeRoleModal.jsx b/new-lamassu-admin/src/pages/UserManagement/modals/ChangeRoleModal.jsx index eb7b7cbe..e048d02c 100644 --- a/new-lamassu-admin/src/pages/UserManagement/modals/ChangeRoleModal.jsx +++ b/new-lamassu-admin/src/pages/UserManagement/modals/ChangeRoleModal.jsx @@ -1,5 +1,4 @@ -import { useMutation, gql } from "@apollo/client"; -import { makeStyles } from '@mui/styles' +import { useMutation, gql } from '@apollo/client' import React, { useState } from 'react' import ErrorMessage from 'src/components/ErrorMessage' import Modal from 'src/components/Modal' @@ -7,9 +6,8 @@ import { Info2, P } from 'src/components/typography' import { Button } from 'src/components/buttons' -import styles from '../UserManagement.styles' - import Input2FAModal from './Input2FAModal' +import classes from '../UserManagement.module.css' const CHANGE_USER_ROLE = gql` mutation changeUserRole( @@ -27,11 +25,7 @@ const CHANGE_USER_ROLE = gql` } ` -const useStyles = makeStyles(styles) - const ChangeRoleModal = ({ state, dispatch, user, requiresConfirmation }) => { - const classes = useStyles() - const [changeUserRole, { error }] = useMutation(CHANGE_USER_ROLE, { onCompleted: () => handleClose(), refetchQueries: () => ['users'] diff --git a/new-lamassu-admin/src/pages/UserManagement/modals/CreateUserModal.jsx b/new-lamassu-admin/src/pages/UserManagement/modals/CreateUserModal.jsx index 8b4213d1..a962c8ed 100644 --- a/new-lamassu-admin/src/pages/UserManagement/modals/CreateUserModal.jsx +++ b/new-lamassu-admin/src/pages/UserManagement/modals/CreateUserModal.jsx @@ -1,5 +1,4 @@ import { useMutation, gql } from '@apollo/client' -import { makeStyles } from '@mui/styles' import classnames from 'classnames' import { Field, Form, Formik } from 'formik' import React, { useState } from 'react' @@ -13,9 +12,7 @@ import { Button } from 'src/components/buttons' import { TextInput, RadioGroup } from 'src/components/inputs/formik' import { urlResolver } from 'src/utils/urlResolver' -import styles from '../UserManagement.styles' - -const useStyles = makeStyles(styles) +import classes from '../UserManagement.module.css' const CREATE_USER = gql` mutation createRegisterToken($username: String!, $role: String!) { @@ -58,8 +55,6 @@ const getErrorMsg = (formikErrors, formikTouched, mutationError) => { } const CreateUserModal = ({ state, dispatch }) => { - const classes = useStyles() - const [usernameField, setUsernameField] = useState('') const [createUserURL, setCreateUserURL] = useState(null) diff --git a/new-lamassu-admin/src/pages/UserManagement/modals/EnableUserModal.jsx b/new-lamassu-admin/src/pages/UserManagement/modals/EnableUserModal.jsx index 0066e184..dcb23287 100644 --- a/new-lamassu-admin/src/pages/UserManagement/modals/EnableUserModal.jsx +++ b/new-lamassu-admin/src/pages/UserManagement/modals/EnableUserModal.jsx @@ -1,5 +1,4 @@ -import { useMutation, gql } from "@apollo/client"; -import { makeStyles } from '@mui/styles' +import { useMutation, gql } from '@apollo/client' import React, { useState } from 'react' import ErrorMessage from 'src/components/ErrorMessage' import Modal from 'src/components/Modal' @@ -7,9 +6,8 @@ import { Info2, P } from 'src/components/typography' import { Button } from 'src/components/buttons' -import styles from '../UserManagement.styles' - import Input2FAModal from './Input2FAModal' +import classes from '../UserManagement.module.css' const ENABLE_USER = gql` mutation enableUser($confirmationCode: String, $id: ID!) { @@ -27,11 +25,7 @@ const DISABLE_USER = gql` } ` -const useStyles = makeStyles(styles) - const EnableUserModal = ({ state, dispatch, user, requiresConfirmation }) => { - const classes = useStyles() - const [enableUser, { error: enableError }] = useMutation(ENABLE_USER, { onCompleted: () => handleClose(), refetchQueries: () => ['users'] diff --git a/new-lamassu-admin/src/pages/UserManagement/modals/FIDOModal.jsx b/new-lamassu-admin/src/pages/UserManagement/modals/FIDOModal.jsx index 8762a783..172e93a0 100644 --- a/new-lamassu-admin/src/pages/UserManagement/modals/FIDOModal.jsx +++ b/new-lamassu-admin/src/pages/UserManagement/modals/FIDOModal.jsx @@ -1,17 +1,12 @@ -import { makeStyles } from '@mui/styles' import React from 'react' + import Modal from 'src/components/Modal' import { Info2, P } from 'src/components/typography' - import { Button } from 'src/components/buttons' -import styles from '../UserManagement.styles' - -const useStyles = makeStyles(styles) +import classes from '../UserManagement.module.css' const ChangeRoleModal = ({ state, dispatch }) => { - const classes = useStyles() - const handleClose = () => { dispatch({ type: 'close', diff --git a/new-lamassu-admin/src/pages/UserManagement/modals/Input2FAModal.jsx b/new-lamassu-admin/src/pages/UserManagement/modals/Input2FAModal.jsx index a6639358..450d3d5f 100644 --- a/new-lamassu-admin/src/pages/UserManagement/modals/Input2FAModal.jsx +++ b/new-lamassu-admin/src/pages/UserManagement/modals/Input2FAModal.jsx @@ -1,16 +1,13 @@ import { useLazyQuery, gql } from '@apollo/client' -import { makeStyles } from '@mui/styles' import { Form, Formik } from 'formik' import React, { useState } from 'react' + import Modal from 'src/components/Modal' import { Info2, P } from 'src/components/typography' - import { Button } from 'src/components/buttons' import { CodeInput } from 'src/components/inputs/base' -import styles from '../UserManagement.styles' - -const useStyles = makeStyles(styles) +import classes from '../UserManagement.module.css' const CONFIRM_2FA = gql` query confirm2FA($code: String!) { @@ -19,8 +16,6 @@ const CONFIRM_2FA = gql` ` const Input2FAModal = ({ showModal, handleClose, setConfirmation }) => { - const classes = useStyles() - const [twoFACode, setTwoFACode] = useState('') const [invalidCode, setInvalidCode] = useState(false) diff --git a/new-lamassu-admin/src/pages/UserManagement/modals/Reset2FAModal.jsx b/new-lamassu-admin/src/pages/UserManagement/modals/Reset2FAModal.jsx index b91f8f54..ccf0e043 100644 --- a/new-lamassu-admin/src/pages/UserManagement/modals/Reset2FAModal.jsx +++ b/new-lamassu-admin/src/pages/UserManagement/modals/Reset2FAModal.jsx @@ -1,16 +1,14 @@ import { useMutation, gql } from '@apollo/client' -import { makeStyles } from '@mui/styles' import React, { useEffect, useState } from 'react' + import ErrorMessage from 'src/components/ErrorMessage' import Modal from 'src/components/Modal' import { Info2, P, Mono } from 'src/components/typography' import CopyToClipboard from 'src/components/CopyToClipboard.jsx' - import { urlResolver } from 'src/utils/urlResolver' -import styles from '../UserManagement.styles' - import Input2FAModal from './Input2FAModal' +import classes from '../UserManagement.module.css' const CREATE_RESET_2FA_TOKEN = gql` mutation createReset2FAToken($confirmationCode: String, $userID: ID!) { @@ -22,10 +20,7 @@ const CREATE_RESET_2FA_TOKEN = gql` } ` -const useStyles = makeStyles(styles) - const Reset2FAModal = ({ state, dispatch, user, requiresConfirmation }) => { - const classes = useStyles() const [reset2FAUrl, setReset2FAUrl] = useState('') const [createReset2FAToken, { loading, error }] = useMutation( diff --git a/new-lamassu-admin/src/pages/UserManagement/modals/ResetPasswordModal.jsx b/new-lamassu-admin/src/pages/UserManagement/modals/ResetPasswordModal.jsx index d6b36f7e..1ebdfa70 100644 --- a/new-lamassu-admin/src/pages/UserManagement/modals/ResetPasswordModal.jsx +++ b/new-lamassu-admin/src/pages/UserManagement/modals/ResetPasswordModal.jsx @@ -1,5 +1,4 @@ import { useMutation, gql } from '@apollo/client' -import { makeStyles } from '@mui/styles' import React, { useEffect, useState } from 'react' import ErrorMessage from 'src/components/ErrorMessage' import Modal from 'src/components/Modal' @@ -8,9 +7,8 @@ import CopyToClipboard from 'src/components/CopyToClipboard.jsx' import { urlResolver } from 'src/utils/urlResolver' -import styles from '../UserManagement.styles' - import Input2FAModal from './Input2FAModal' +import classes from '../UserManagement.module.css' const CREATE_RESET_PASSWORD_TOKEN = gql` mutation createResetPasswordToken($confirmationCode: String, $userID: ID!) { @@ -25,15 +23,12 @@ const CREATE_RESET_PASSWORD_TOKEN = gql` } ` -const useStyles = makeStyles(styles) - const ResetPasswordModal = ({ state, dispatch, user, requiresConfirmation }) => { - const classes = useStyles() const [resetPasswordUrl, setResetPasswordUrl] = useState('') const [createResetPasswordToken, { loading, error }] = useMutation( diff --git a/new-lamassu-admin/src/pages/Wallet/Wallet.jsx b/new-lamassu-admin/src/pages/Wallet/Wallet.jsx index 32915acc..8e61444e 100644 --- a/new-lamassu-admin/src/pages/Wallet/Wallet.jsx +++ b/new-lamassu-admin/src/pages/Wallet/Wallet.jsx @@ -1,5 +1,4 @@ import { useQuery, useMutation, gql } from "@apollo/client"; -import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' import Modal from 'src/components/Modal' @@ -17,7 +16,6 @@ import { fromNamespace, toNamespace } from 'src/utils/config' import { P } from '../../components/typography' import AdvancedWallet from './AdvancedWallet' -import styles from './Wallet.styles' import Wizard from './Wizard' import { WalletSchema, getElements } from './helper' @@ -61,10 +59,7 @@ const GET_MARKETS = gql` const LOCALE = 'locale' -const useStyles = makeStyles(styles) - const Wallet = ({ name: SCREEN_KEY }) => { - const classes = useStyles() const [editingSchema, setEditingSchema] = useState(null) const [onChangeFunction, setOnChangeFunction] = useState(null) const [wizard, setWizard] = useState(false) @@ -128,7 +123,7 @@ const Wallet = ({ name: SCREEN_KEY }) => { return ( <> -
    +
    { switch (code) { case 'BTC': @@ -71,19 +44,18 @@ const getLogo = code => { } const WizardSplash = ({ code, name, onContinue }) => { - const classes = useStyles() const Logo = getLogo(code) return ( -
    - -

    Enable {name}

    -

    +

    + +

    Enable {name}

    +

    You are about to enable {name} on your system. This will allow you to use this cryptocurrency on your machines. To be able to do that, you’ll have to set up all the necessary 3rd party services.

    -
    diff --git a/new-lamassu-admin/src/pages/Wallet/WizardStep.jsx b/new-lamassu-admin/src/pages/Wallet/WizardStep.jsx index 0443665a..0b1fcb30 100644 --- a/new-lamassu-admin/src/pages/Wallet/WizardStep.jsx +++ b/new-lamassu-admin/src/pages/Wallet/WizardStep.jsx @@ -1,4 +1,3 @@ -import { makeStyles } from '@mui/styles' import classnames from 'classnames' import { Formik, Form, Field } from 'formik' import * as R from 'ramda' @@ -13,10 +12,6 @@ import { RadioGroup, Autocomplete } from 'src/components/inputs' import { NumberInput } from 'src/components/inputs/formik' import { startCase } from 'src/utils/string' -import styles from './WizardStep.styles' - -const useStyles = makeStyles(styles) - const initialState = { form: null, selected: null, @@ -69,7 +64,6 @@ const WizardStep = ({ unfilled, getValue }) => { - const classes = useStyles() const [{ innerError, selected, form, isNew }, dispatch] = useReducer( reducer, initialState @@ -88,15 +82,16 @@ const WizardStep = ({ const label = isLastStep ? 'Finish' : 'Next' const displayName = name ?? type - const subtitleClass = { - [classes.subtitle]: true, - [classes.error]: innerError - } + const subtitleClass = classnames('mt-8 mb-5 mx-0', { + 'text-tomato': innerError + }) return ( <> - {startCase(displayName)} + + {startCase(displayName)} + -

    +

    {step < maxSteps - 1 ? `Select a ${displayName} or set up a new one` : `Select ${displayName} for ${coin}`} @@ -105,12 +100,12 @@ const WizardStep = ({ { dispatch({ type: 'select', selected: it }) }} - labelClassName={classes.radioLabel} - radioClassName={classes.radio} + labelClassName="w-37 h-12" + radioClassName="p-1 m-1" /> )} {type === 'zeroConfLimit' && ( @@ -122,11 +117,7 @@ const WizardStep = ({ validationSchema={stepSchema}> {({ values, setFieldValue }) => ( -
    +
    {fiatCurrency}
    @@ -148,15 +139,15 @@ const WizardStep = ({ )} )} -
    +
    {!R.isEmpty(unfilled) && !R.isNil(unfilled) && ( { dispatch({ type: 'new' }) }} - labelClassName={classes.radioLabel} - radioClassName={classes.radio} + labelClassName="w-[150px] h-12" + radioClassName="p-1 m-1" options={[{ display: 'Set up new', code: true }]} /> )} @@ -164,7 +155,7 @@ const WizardStep = ({ innerContinue({ [type]: form.code }, { [form.code]: it })} elements={schemas[form.code].elements} - validationSchema={schemas[form.code].getValidationSchema(accounts[form.code])} + validationSchema={schemas[form.code].getValidationSchema( + accounts[form.code] + )} value={getValue(form.code)} buttonLabel={label} /> )} {!form && ( -
    +
    {error && Failed to save}
    )} - ); + ) } export default WizardStep diff --git a/new-lamassu-admin/src/pages/Wallet/WizardStep.styles.js b/new-lamassu-admin/src/pages/Wallet/WizardStep.styles.js deleted file mode 100644 index 5ff78ac9..00000000 --- a/new-lamassu-admin/src/pages/Wallet/WizardStep.styles.js +++ /dev/null @@ -1,60 +0,0 @@ -import { errorColor, fontSize1, fontPrimary } from 'src/styling/variables' - -const LABEL_WIDTH = 150 - -export default { - title: { - margin: [[0, 0, 12, 0]] - }, - subtitle: { - margin: [[32, 0, 21, 0]] - }, - error: { - color: errorColor - }, - button: { - marginLeft: 'auto' - }, - submit: { - display: 'flex', - flexDirection: 'row', - margin: [['auto', 0, 24]] - }, - radioGroup: { - flexDirection: 'row' - }, - radioLabel: { - width: LABEL_WIDTH, - height: 48 - }, - radio: { - padding: 4, - margin: 4 - }, - setupNew: { - display: 'flex', - alignItems: 'center', - height: 48 - }, - picker: { - width: LABEL_WIDTH - }, - horizontalAlign: { - display: 'flex', - flexDirection: 'row' - }, - centerAlignment: { - alignItems: 'center' - }, - zeroConfLimit: { - marginRight: 5, - '& > div': { - fontSize: fontSize1, - fontFamily: fontPrimary, - fontWeight: 300, - '& > input': { - padding: [[6, 0, 2]] - } - } - } -} diff --git a/new-lamassu-admin/src/pages/Wallet/helper.jsx b/new-lamassu-admin/src/pages/Wallet/helper.jsx index bd6d90a6..482c7d1c 100644 --- a/new-lamassu-admin/src/pages/Wallet/helper.jsx +++ b/new-lamassu-admin/src/pages/Wallet/helper.jsx @@ -8,15 +8,9 @@ import { Checkbox, NumberInput } from 'src/components/inputs/formik' -import { disabledColor } from 'src/styling/variables' import { CURRENCY_MAX } from 'src/utils/constants' import { defaultToZero } from 'src/utils/number' -const classes = { - editDisabled: { - color: disabledColor - } -} const filterClass = type => R.filter(it => it.class === type) const filterCoins = ({ id }) => R.filter(it => R.contains(id)(it.cryptos)) @@ -172,7 +166,7 @@ const getAdvancedWalletElementsOverrides = ( width: 250, view: (_, ite) => { if (ite.cryptoCurrency !== 'BTC') - return {`No`} + return {`No`} return ite.allowTransactionBatching ? 'Yes' : 'No' }, input: Checkbox, @@ -186,7 +180,7 @@ const getAdvancedWalletElementsOverrides = ( width: 250, view: (_, ite) => { if (ite.cryptoCurrency !== 'BTC') - return {`Default`} + return {`Default`} return viewFeeMultiplier(ite.feeMultiplier) }, input: Autocomplete, @@ -289,7 +283,7 @@ const getElements = (cryptoCurrencies, accounts, onChange, wizard = false) => { return has0Conf(row) ? ( displayName ) : ( - {displayName} + {displayName} ) }, input: Autocomplete, @@ -309,7 +303,7 @@ const getElements = (cryptoCurrencies, accounts, onChange, wizard = false) => { size: 'sm', stripe: true, view: (it, row) => - has0Conf(row) ? it : {it}, + has0Conf(row) ? it : {it}, input: NumberInput, width: 145 - widthAdjust, inputProps: { diff --git a/new-lamassu-admin/src/styling/global/global.css b/new-lamassu-admin/src/styling/global/global.css index 906d56a0..30dcc720 100644 --- a/new-lamassu-admin/src/styling/global/global.css +++ b/new-lamassu-admin/src/styling/global/global.css @@ -20,6 +20,7 @@ --tomato: #ff584a; + --dust: #dddddd; --ghost: #fafbff; --zircon: #ebefff; --zircon2: #dbdfed; @@ -44,6 +45,7 @@ --color-comet2: var(--comet2); --color-comet3: var(--comet3); --color-tomato: var(--tomato); + --color--dust: var(--dust); --color-ghost: var(--ghost); --color-zircon: var(--zircon); --color-zircon2: var(--zircon2); From c425195ade80b5ebf6fd521e8b1ac67d8cfd31fb Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Thu, 8 May 2025 08:41:10 +0100 Subject: [PATCH 52/85] partial: Funding and Logs pages --- new-lamassu-admin/src/pages/Funding.jsx | 9 +- .../src/pages/Funding.module.css | 107 ++++++++++++++++++ new-lamassu-admin/src/pages/Funding.styles.js | 100 ---------------- new-lamassu-admin/src/pages/Logs.module.css | 74 ++++++++++++ new-lamassu-admin/src/pages/Logs.styles.js | 65 ----------- new-lamassu-admin/src/pages/MachineLogs.jsx | 7 +- .../Transactions/Transactions.styles.js | 90 --------------- new-lamassu-admin/src/pages/ServerLogs.jsx | 65 ++++------- .../src/pages/ServerLogs.module.css | 20 ++++ 9 files changed, 226 insertions(+), 311 deletions(-) create mode 100644 new-lamassu-admin/src/pages/Funding.module.css delete mode 100644 new-lamassu-admin/src/pages/Funding.styles.js create mode 100644 new-lamassu-admin/src/pages/Logs.module.css delete mode 100644 new-lamassu-admin/src/pages/Logs.styles.js delete mode 100644 new-lamassu-admin/src/pages/Machines/MachineComponents/Transactions/Transactions.styles.js create mode 100644 new-lamassu-admin/src/pages/ServerLogs.module.css diff --git a/new-lamassu-admin/src/pages/Funding.jsx b/new-lamassu-admin/src/pages/Funding.jsx index 7caa0907..1d75af6c 100644 --- a/new-lamassu-admin/src/pages/Funding.jsx +++ b/new-lamassu-admin/src/pages/Funding.jsx @@ -1,6 +1,5 @@ import { useQuery, gql } from '@apollo/client' import { formatCryptoAddress } from '@lamassu/coins/lightUtils' -import { makeStyles } from '@mui/styles' import BigNumber from 'bignumber.js' import classnames from 'classnames' import { format } from 'date-fns/fp' @@ -23,12 +22,11 @@ import CopyToClipboard from 'src/components/CopyToClipboard.jsx' import { primaryColor } from 'src/styling/variables' -import styles from './Funding.styles' +import classes from './Funding.module.css' const NODE_NOT_CONNECTED_ERR = "Couldn't establish connection with the node. Make sure it is installed and try again" -const useStyles = makeStyles(styles) const sizes = { big: 165, time: 140, @@ -79,7 +77,6 @@ const getPendingTotal = list => { const Funding = () => { const [selected, setSelected] = useState(null) const [viewHistory] = useState(false) - const classes = useStyles() const fundingHistory = [ { cryptoAmount: 2.0, @@ -194,7 +191,7 @@ const Funding = () => { {`${selected.confirmedBalance} ${selected.cryptoCode}`} - + {`(${signIfPositive(selected.pending)} ${ selected.pending } pending)`} @@ -207,7 +204,7 @@ const Funding = () => { selected.fiatCode }`} - + {`(${signIfPositive(selected.fiatPending)} ${formatNumber( selected.fiatPending )} pending)`} diff --git a/new-lamassu-admin/src/pages/Funding.module.css b/new-lamassu-admin/src/pages/Funding.module.css new file mode 100644 index 00000000..85eff346 --- /dev/null +++ b/new-lamassu-admin/src/pages/Funding.module.css @@ -0,0 +1,107 @@ +.wrapper { + display: flex; + flex: 1; + flex-direction: row; + height: 100%; +} + +.main { + display: flex; + flex: 1; +} + +.firstSide { + margin: 0 64px 0 48px; +} + +.secondSide { + margin-top: -29px; +} + +.error { + color: var(--tomato); +} + +.coinTotal { + margin: 12px 0; +} + +.topSpacer { + margin-top: 40px; +} + +.addressWrapper { + display: flex; + flex-direction: column; + flex: 1; + background-color: var(--zircon); +} + +.address { + width: 375px; + margin: 12px 24px; +} + +.itemWrapper { + text-align: end; +} + +.item { + font-family: var(--museo); + font-size: 14px; + font-weight: 500; + margin: 2px; +} + +.inactiveItem { + color: var(--comet); +} + +.firstItem { + font-weight: 700; + margin: 2px; +} + +.total { + margin-top: auto; + text-align: right; + margin-right: 24px; +} + +.totalPending { + margin-top: 2px; +} + +.totalTitle { + color: var(--comet); + margin-bottom: 2px; +} + +.table { + margin-top: 8px; + margin-left: 48px; +} + +.tableLabel { + justify-content: end; + margin-top: -38px; +} + +.pending { + background-color: var(--zircon); +} + +.copyToClipboard { + margin-left: auto; + padding-top: 6px; + padding-left: 15px; + margin-right: -11px; +} + +.mono { + font-family: var(--bpmono); + font-size: 14px; + font-weight: 400; + width: 375px; + margin: 12px 24px; +} \ No newline at end of file diff --git a/new-lamassu-admin/src/pages/Funding.styles.js b/new-lamassu-admin/src/pages/Funding.styles.js deleted file mode 100644 index e54457e0..00000000 --- a/new-lamassu-admin/src/pages/Funding.styles.js +++ /dev/null @@ -1,100 +0,0 @@ -import typographyStyles from 'src/components/typography/styles' -import { - disabledColor2, - spacer, - subheaderColor, - errorColor, - placeholderColor, - comet -} from 'src/styling/variables' - -const { label1, mono } = typographyStyles - -export default { - wrapper: { - display: 'flex', - flex: 1, - flexDirection: 'row', - height: '100%' - }, - main: { - display: 'flex', - flex: 1 - }, - firstSide: { - margin: `0 ${spacer * 8}px 0 ${spacer * 6}px` - }, - secondSide: { - marginTop: -29 - }, - error: { - color: errorColor - }, - coinTotal: { - margin: `${spacer * 1.5}px 0` - }, - leftSpacer: { - marginLeft: spacer - }, - topSpacer: { - marginTop: spacer * 5 - }, - addressWrapper: { - display: 'flex', - flexDirection: 'column', - flex: 1, - backgroundColor: subheaderColor - }, - address: { - width: 375, - margin: `${spacer * 1.5}px ${spacer * 3}px` - }, - itemWrapper: { - textAlign: 'end' - }, - item: { - extend: label1, - margin: 2 - }, - inactiveItem: { - color: comet - }, - firstItem: { - fontWeight: 700, - margin: 2 - }, - total: { - marginTop: 'auto', - textAlign: 'right', - marginRight: 24 - }, - totalPending: { - marginTop: 2 - }, - totalTitle: { - color: placeholderColor, - marginBottom: 2 - }, - table: { - marginTop: spacer, - marginLeft: spacer * 6 - }, - tableLabel: { - justifyContent: 'end', - marginTop: -38 - }, - pending: { - backgroundColor: disabledColor2 - }, - copyToClipboard: { - marginLeft: 'auto', - paddingTop: 6, - paddingLeft: 15, - marginRight: -11 - }, - mono: { - extend: mono, - width: 375, - margin: `${spacer * 1.5}px ${spacer * 3}px` - } -} diff --git a/new-lamassu-admin/src/pages/Logs.module.css b/new-lamassu-admin/src/pages/Logs.module.css new file mode 100644 index 00000000..cf3dde45 --- /dev/null +++ b/new-lamassu-admin/src/pages/Logs.module.css @@ -0,0 +1,74 @@ +.titleWrapper { + display: flex; + justify-content: space-between; + align-items: center; + flex-direction: row; +} + +.wrapper { + flex: 1; + display: flex; + flex-direction: row; + height: 100%; +} + +.tableWrapper { + flex: 1; + margin-left: 40px; + display: block; + overflow-x: auto; + width: 100%; + max-width: 78%; + max-height: 70vh; +} + +.table { + white-space: nowrap; + display: block; +} + +.table th { + position: sticky; + top: 0; +} + +.dateColumn { + min-width: 160px; +} + +.levelColumn { + min-width: 100px; +} + +.fillColumn { + width: 100%; +} + +.shareButton { + margin: 8px; + display: flex; + align-items: center; + font-size: 13px; + padding: 0 12px; +} + +.shareIcon { + margin-right: 6px; +} + +.button { + margin: 8px; +} + +.titleAndButtonsContainer { + display: flex; +} + +.buttonsWrapper { + display: flex; + margin-left: 16px; +} + +.buttonsWrapper > * { + margin: auto 6px; +} \ No newline at end of file diff --git a/new-lamassu-admin/src/pages/Logs.styles.js b/new-lamassu-admin/src/pages/Logs.styles.js deleted file mode 100644 index 15fc8679..00000000 --- a/new-lamassu-admin/src/pages/Logs.styles.js +++ /dev/null @@ -1,65 +0,0 @@ -import { fontSize5 } from 'src/styling/variables' - -export default { - titleWrapper: { - display: 'flex', - justifyContent: 'space-between', - alignItems: 'center', - flexDirection: 'row' - }, - wrapper: { - flex: 1, - display: 'flex', - flexDirection: 'row', - height: '100%' - }, - tableWrapper: { - flex: 1, - marginLeft: 40, - display: 'block', - overflowX: 'auto', - width: '100%', - maxWidth: '78%', - maxHeight: '70vh' - }, - table: { - whiteSpace: 'nowrap', - display: 'block', - '& th': { - position: 'sticky', - top: 0 - } - }, - dateColumn: { - minWidth: 160 - }, - levelColumn: { - minWidth: 100 - }, - fillColumn: { - width: '100%' - }, - shareButton: { - margin: 8, - display: 'flex', - alignItems: 'center', - fontSize: fontSize5, - padding: [[0, 12]] - }, - shareIcon: { - marginRight: 6 - }, - button: { - margin: 8 - }, - titleAndButtonsContainer: { - display: 'flex' - }, - buttonsWrapper: { - display: 'flex', - marginLeft: 16, - '& > *': { - margin: 'auto 6px' - } - } -} diff --git a/new-lamassu-admin/src/pages/MachineLogs.jsx b/new-lamassu-admin/src/pages/MachineLogs.jsx index 5e33fdae..2d70f647 100644 --- a/new-lamassu-admin/src/pages/MachineLogs.jsx +++ b/new-lamassu-admin/src/pages/MachineLogs.jsx @@ -1,5 +1,4 @@ import { useQuery, gql } from "@apollo/client"; -import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' import LogsDowloaderPopover from 'src/components/LogsDownloaderPopper' @@ -17,9 +16,7 @@ import { } from 'src/components/table' import { formatDate } from 'src/utils/timezones' -import styles from './Logs.styles' - -const useStyles = makeStyles(styles) +import classes from './Logs.module.css' const GET_MACHINES = gql` { @@ -73,8 +70,6 @@ const GET_DATA = gql` ` const Logs = () => { - const classes = useStyles() - const [selected, setSelected] = useState(null) const [saveMessage, setSaveMessage] = useState(null) diff --git a/new-lamassu-admin/src/pages/Machines/MachineComponents/Transactions/Transactions.styles.js b/new-lamassu-admin/src/pages/Machines/MachineComponents/Transactions/Transactions.styles.js deleted file mode 100644 index 7bbd00ce..00000000 --- a/new-lamassu-admin/src/pages/Machines/MachineComponents/Transactions/Transactions.styles.js +++ /dev/null @@ -1,90 +0,0 @@ -import typographyStyles from 'src/components/typography/styles' -import baseStyles from 'src/pages/Logs.styles' -import { offColor, white } from 'src/styling/variables' - -const { label1, mono, p } = typographyStyles -const { titleWrapper, titleAndButtonsContainer, buttonsWrapper } = baseStyles - -const cpcStyles = { - wrapper: { - extend: mono, - display: 'flex', - alignItems: 'center', - height: 32 - }, - address: { - lineBreak: 'anywhere' - }, - buttonWrapper: { - '& button': { - border: 'none', - backgroundColor: 'transparent', - cursor: 'pointer' - } - }, - popoverContent: { - extend: label1, - display: 'flex', - justifyContent: 'center', - alignItems: 'center', - color: white, - borderRadius: 4, - padding: [[5, 9]] - } -} - -const detailsRowStyles = { - idCardDataCard: { - extend: p, - display: 'flex', - padding: [[11, 8]], - '& > div': { - display: 'flex', - flexDirection: 'column', - '& > div': { - width: 144, - height: 37, - marginBottom: 15, - '&:last-child': { - marginBottom: 0 - } - } - } - } -} - -const labelStyles = { - label: { - extend: label1, - color: offColor, - marginBottom: 4 - } -} - -const mainStyles = { - titleWrapper, - titleAndButtonsContainer, - buttonsWrapper, - headerLabels: { - display: 'flex', - flexDirection: 'row', - '& div': { - display: 'flex', - alignItems: 'center' - }, - '& > div:first-child': { - marginRight: 24 - }, - '& span': { - extend: label1, - marginLeft: 6 - } - }, - overflowTd: { - overflow: 'hidden', - whiteSpace: 'nowrap', - textOverflow: 'ellipsis' - } -} - -export { cpcStyles, detailsRowStyles, labelStyles, mainStyles } diff --git a/new-lamassu-admin/src/pages/ServerLogs.jsx b/new-lamassu-admin/src/pages/ServerLogs.jsx index 136784b6..d4ff6ac0 100644 --- a/new-lamassu-admin/src/pages/ServerLogs.jsx +++ b/new-lamassu-admin/src/pages/ServerLogs.jsx @@ -1,5 +1,4 @@ -import { useQuery, gql } from "@apollo/client"; -import { makeStyles } from '@mui/styles' +import { useQuery, gql } from '@apollo/client' import * as R from 'ramda' import React, { useState, useRef } from 'react' import LogsDowloaderPopover from 'src/components/LogsDownloaderPopper' @@ -16,47 +15,23 @@ import { TableBody, TableCell } from 'src/components/table' -import typographyStyles from 'src/components/typography/styles' -import { offColor } from 'src/styling/variables' import { startCase } from 'src/utils/string' import { formatDate } from 'src/utils/timezones' -import logsStyles from './Logs.styles' - -const { p } = typographyStyles -const { tableWrapper } = logsStyles - -const localStyles = { - serverTableWrapper: { - extend: tableWrapper, - maxWidth: '100%', - marginLeft: 0 - }, - serverVersion: { - extend: p, - color: offColor, - margin: 'auto 0 auto 0' - }, - headerLine2: { - display: 'flex', - justifyContent: 'space-between', - marginBottom: 24 - }, - uptimeContainer: { - margin: 'auto 0 auto 0' - } -} - -const styles = R.merge(logsStyles, localStyles) - -const useStyles = makeStyles(styles) +import logsClasses from './Logs.module.css' +import classes from './ServerLogs.module.css' const SHOW_ALL = { code: 'SHOW_ALL', display: 'Show all' } const NUM_LOG_RESULTS = 500 const GET_CSV = gql` - query ServerData($limit: Int, $from: DateTimeISO, $until: DateTimeISO, $timezone: String) { + query ServerData( + $limit: Int + $from: DateTimeISO + $until: DateTimeISO + $timezone: String + ) { serverLogsCsv( limit: $limit from: $from @@ -90,8 +65,6 @@ const GET_DATA = gql` ` const Logs = () => { - const classes = useStyles() - const tableEl = useRef() const [saveMessage, setSaveMessage] = useState(null) @@ -135,11 +108,11 @@ const Logs = () => { return ( <> -
    -
    +
    +
    Server {data && ( -
    +
    { ))}
    -
    +
    -

    Channel
    +
    - Date - Level - + + Date + + + Level + + diff --git a/new-lamassu-admin/src/pages/ServerLogs.module.css b/new-lamassu-admin/src/pages/ServerLogs.module.css new file mode 100644 index 00000000..78e77779 --- /dev/null +++ b/new-lamassu-admin/src/pages/ServerLogs.module.css @@ -0,0 +1,20 @@ +.serverTableWrapper { + composes: tableWrapper from './Logs.module.css'; + max-width: 100%; + margin-left: 0; +} + +.serverVersion { + color: var(--comet); + margin: auto 0 auto 0; +} + +.headerLine2 { + display: flex; + justify-content: space-between; + margin-bottom: 24px; +} + +.uptimeContainer { + margin: auto 0 auto 0; +} \ No newline at end of file From 2136e26de528f898d99794a708e23b84e2a75a06 Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Thu, 8 May 2025 09:10:52 +0100 Subject: [PATCH 53/85] partial: Wizard css migration --- new-lamassu-admin/src/components/Modal.jsx | 2 +- .../src/pages/Wizard/Radio.module.css | 43 +++++++++++++++ .../src/pages/Wizard/Radio.styles.js | 33 ----------- new-lamassu-admin/src/pages/Wizard/Wizard.jsx | 33 ++--------- .../pages/Wizard/components/Commissions.jsx | 17 +----- .../src/pages/Wizard/components/Footer.jsx | 55 ++++--------------- .../src/pages/Wizard/components/Locales.jsx | 11 +--- .../src/pages/Wizard/components/Mailgun.jsx | 20 +------ .../pages/Wizard/components/Notifications.jsx | 23 +------- .../pages/Wizard/components/OperatorInfo.jsx | 9 +-- .../src/pages/Wizard/components/Twilio.jsx | 42 ++++---------- .../pages/Wizard/components/Twilio.module.css | 24 ++++++++ .../pages/Wizard/components/Wallet/AllSet.jsx | 7 +-- .../Wizard/components/Wallet/Blockcypher.jsx | 14 +---- .../Wizard/components/Wallet/ChooseCoin.jsx | 6 +- .../components/Wallet/ChooseExchange.jsx | 6 +- .../Wizard/components/Wallet/ChooseTicker.jsx | 6 +- .../Wizard/components/Wallet/ChooseWallet.jsx | 6 +- .../components/Wallet/Shared.module.css | 45 +++++++++++++++ .../Wizard/components/Wallet/Shared.styles.js | 42 -------------- .../pages/Wizard/components/Wallet/Wallet.jsx | 14 ++--- .../src/pages/Wizard/components/Welcome.jsx | 29 +--------- new-lamassu-admin/src/pages/Wizard/helper.jsx | 2 - 23 files changed, 166 insertions(+), 323 deletions(-) create mode 100644 new-lamassu-admin/src/pages/Wizard/Radio.module.css delete mode 100644 new-lamassu-admin/src/pages/Wizard/Radio.styles.js create mode 100644 new-lamassu-admin/src/pages/Wizard/components/Twilio.module.css create mode 100644 new-lamassu-admin/src/pages/Wizard/components/Wallet/Shared.module.css delete mode 100644 new-lamassu-admin/src/pages/Wizard/components/Wallet/Shared.styles.js diff --git a/new-lamassu-admin/src/components/Modal.jsx b/new-lamassu-admin/src/components/Modal.jsx index 147a144b..ad750571 100644 --- a/new-lamassu-admin/src/components/Modal.jsx +++ b/new-lamassu-admin/src/components/Modal.jsx @@ -53,7 +53,7 @@ const styles = { padding: xl ? [[0, 60 + 28]] : small ? [[0, 16]] : [[0, 32]] }), button: ({ small, xl }) => ({ - padding: [[0, 0, xl ? 26 : 0, 0]], + padding: [[0, 0, 0, 0]], margin: xl ? [[0, 0, 'auto', 'auto']] : small diff --git a/new-lamassu-admin/src/pages/Wizard/Radio.module.css b/new-lamassu-admin/src/pages/Wizard/Radio.module.css new file mode 100644 index 00000000..c8f40da2 --- /dev/null +++ b/new-lamassu-admin/src/pages/Wizard/Radio.module.css @@ -0,0 +1,43 @@ +.radioGroup { + flex-direction: row; + width: 600px; +} + +.radioLabel { + width: 150px; + height: 48px; +} + +.mailgunRadioGroup { + flex-direction: row; + width: 768px; +} + +.mailgunRadioLabel { + width: 300px; + height: 48px; +} + +.mdForm { + width: 385px; +} + +.infoMessage { + display: flex; + margin-bottom: 20px; +} + +.infoMessage > p { + width: 330px; + margin-top: 4px; + margin-left: 16px; +} + +.actionButton { + margin-bottom: 32px; +} + +.actionButtonLink { + text-decoration: none; + color: var(--zodiac); +} diff --git a/new-lamassu-admin/src/pages/Wizard/Radio.styles.js b/new-lamassu-admin/src/pages/Wizard/Radio.styles.js deleted file mode 100644 index 85975f70..00000000 --- a/new-lamassu-admin/src/pages/Wizard/Radio.styles.js +++ /dev/null @@ -1,33 +0,0 @@ -import { spacer, primaryColor } from 'src/styling/variables' - -const LABEL_WIDTH = 150 - -export default { - radioGroup: { - flexDirection: 'row', - width: 600 - }, - radioLabel: { - width: LABEL_WIDTH, - height: 48 - }, - mdForm: { - width: 385 - }, - infoMessage: { - display: 'flex', - marginBottom: 20, - '& > p': { - width: 330, - marginTop: 4, - marginLeft: 16 - } - }, - actionButton: { - marginBottom: spacer * 4 - }, - actionButtonLink: { - textDecoration: 'none', - color: primaryColor - } -} diff --git a/new-lamassu-admin/src/pages/Wizard/Wizard.jsx b/new-lamassu-admin/src/pages/Wizard/Wizard.jsx index e5b31f88..729ccbbf 100644 --- a/new-lamassu-admin/src/pages/Wizard/Wizard.jsx +++ b/new-lamassu-admin/src/pages/Wizard/Wizard.jsx @@ -1,36 +1,15 @@ import { useQuery, gql } from '@apollo/client' import Dialog from '@mui/material/Dialog' import DialogContent from '@mui/material/DialogContent' -import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React, { useState, useContext } from 'react' import { useHistory } from 'react-router-dom' import { getWizardStep, STEPS } from 'src/pages/Wizard/helper' import AppContext from 'src/AppContext' -import { backgroundColor } from 'src/styling/variables' import Footer from './components/Footer' -const useStyles = makeStyles({ - wrapper: { - display: 'flex', - padding: [[16, 0]], - flexDirection: 'column', - justifyContent: 'space-between', - backgroundColor: backgroundColor - }, - welcomeBackground: { - background: 'url(/wizard-background.svg) no-repeat center center fixed', - backgroundColor: backgroundColor, - backgroundSize: 'cover' - }, - blurred: { - filter: 'blur(4px)', - pointerEvents: 'none' - } -}) - const GET_DATA = gql` query getData { config @@ -43,7 +22,6 @@ const GET_DATA = gql` ` const Wizard = ({ fromAuthRegister }) => { - const classes = useStyles() const { data, loading } = useQuery(GET_DATA) const history = useHistory() const { setWizardTested } = useContext(AppContext) @@ -68,11 +46,6 @@ const Wizard = ({ fromAuthRegister }) => { } const isWelcome = step === 0 - const classNames = { - [classes.blurred]: footerExp, - [classes.wrapper]: true, - [classes.welcomeBackground]: isWelcome - } const start = () => { setFooterExp(false) @@ -91,6 +64,12 @@ const Wizard = ({ fromAuthRegister }) => { } const current = STEPS[step] + const classNames = { + 'flex flex-col justify-between py-4 px-0 bg-white': true, + 'bg-[url(/wizard-background.svg)] bg-no-repeat bg-center bg-fixed bg-cover': + isWelcome, + 'blur-sm pointer-events-none': footerExp + } return ( diff --git a/new-lamassu-admin/src/pages/Wizard/components/Commissions.jsx b/new-lamassu-admin/src/pages/Wizard/components/Commissions.jsx index f82c4ed4..b4f6f95b 100644 --- a/new-lamassu-admin/src/pages/Wizard/components/Commissions.jsx +++ b/new-lamassu-admin/src/pages/Wizard/components/Commissions.jsx @@ -1,5 +1,4 @@ -import { useQuery, useMutation, gql } from "@apollo/client"; -import { makeStyles } from '@mui/styles' +import { useQuery, useMutation, gql } from '@apollo/client' import * as R from 'ramda' import React from 'react' import Section from 'src/components/layout/Section' @@ -7,16 +6,8 @@ import TitleSection from 'src/components/layout/TitleSection' import { mainFields, defaults, getSchema } from 'src/pages/Commissions/helper' import { Table as EditableTable } from 'src/components/editableTable' -import styles from 'src/pages/AddMachine/styles' import { fromNamespace, toNamespace, namespaces } from 'src/utils/config' -const useStyles = makeStyles(styles) -const useCommissionStyles = makeStyles({ - autoComplete: { - width: '100%' - } -}) - const GET_DATA = gql` query getData { config @@ -29,8 +20,6 @@ const SAVE_CONFIG = gql` ` function Commissions({ isActive, doContinue }) { - const classes = useStyles() - const commissionClasses = useCommissionStyles() const { data } = useQuery(GET_DATA) const [saveConfig] = useMutation(SAVE_CONFIG, { @@ -49,7 +38,7 @@ function Commissions({ isActive, doContinue }) { const locale = fromNamespace(namespaces.LOCALE)(data?.config) return ( -
    +
    diff --git a/new-lamassu-admin/src/pages/Wizard/components/Footer.jsx b/new-lamassu-admin/src/pages/Wizard/components/Footer.jsx index 6a0c005c..42fce5c4 100644 --- a/new-lamassu-admin/src/pages/Wizard/components/Footer.jsx +++ b/new-lamassu-admin/src/pages/Wizard/components/Footer.jsx @@ -1,60 +1,27 @@ import Drawer from '@mui/material/Drawer' import Grid from '@mui/material/Grid' -import { makeStyles } from '@mui/styles' -import classnames from 'classnames' import React, { useState } from 'react' import Modal from 'src/components/Modal' import Stepper from 'src/components/Stepper' import { P, H2, Info2 } from 'src/components/typography' import { Button, Link } from 'src/components/buttons' -import { spacer } from 'src/styling/variables' - -const useStyles = makeStyles(() => ({ - drawer: { - borderTop: 'none', - boxShadow: '0 0 4px 0 rgba(0, 0, 0, 0.08)' - }, - wrapper: { - padding: '32px 0', - flexGrow: 1, - height: 264 - }, - smallWrapper: { - height: 84 - }, - title: { - margin: [[0, spacer * 4, 0, 0]] - }, - subtitle: { - marginTop: spacer, - marginBottom: 6, - lineHeight: 1.25, - display: 'inline' - }, - modal: { - background: 'none', - boxShadow: 'none' - } -})) function Footer({ currentStep, steps, subtitle, text, exImage, open, start }) { - const classes = useStyles() const [fullExample, setFullExample] = useState(false) - const wrapperClassNames = { - [classes.wrapper]: true, - [classes.smallWrapper]: !open - } - return ( -
    - + classes={{ paperAnchorDockedBottom: 'border-t-0 shadow-sm' }}> +
    + -

    Setup Lamassu Admin

    - {subtitle} +

    Setup Lamassu Admin

    + {subtitle} {open &&

    {text}

    }
    { @@ -131,7 +98,7 @@ function Footer({ currentStep, steps, subtitle, text, exImage, open, start }) { - ); + ) } export default Footer diff --git a/new-lamassu-admin/src/pages/Wizard/components/Locales.jsx b/new-lamassu-admin/src/pages/Wizard/components/Locales.jsx index e35b83f4..8ed67674 100644 --- a/new-lamassu-admin/src/pages/Wizard/components/Locales.jsx +++ b/new-lamassu-admin/src/pages/Wizard/components/Locales.jsx @@ -1,12 +1,10 @@ -import { useQuery, useMutation, gql } from "@apollo/client"; -import { makeStyles } from '@mui/styles' +import { useQuery, useMutation, gql } from '@apollo/client' import * as R from 'ramda' import React from 'react' import Section from 'src/components/layout/Section' import TitleSection from 'src/components/layout/TitleSection' import { Table as EditableTable } from 'src/components/editableTable' -import styles from 'src/pages/AddMachine/styles' import { mainFields, localeDefaults as defaults, @@ -16,8 +14,6 @@ import { toNamespace } from 'src/utils/config' import { getConfiguredCoins } from '../helper' -const useStyles = makeStyles(styles) - const GET_DATA = gql` query getData { config @@ -52,7 +48,6 @@ const SAVE_CONFIG = gql` ` function Locales({ isActive, doContinue }) { - const classes = useStyles() const { data } = useQuery(GET_DATA) const [saveConfig] = useMutation(SAVE_CONFIG, { @@ -72,7 +67,7 @@ function Locales({ isActive, doContinue }) { const onChangeCoin = (prev, curr, setValue) => setValue(curr) return ( -
    +
    diff --git a/new-lamassu-admin/src/pages/Wizard/components/Mailgun.jsx b/new-lamassu-admin/src/pages/Wizard/components/Mailgun.jsx index fc07996d..b467a12b 100644 --- a/new-lamassu-admin/src/pages/Wizard/components/Mailgun.jsx +++ b/new-lamassu-admin/src/pages/Wizard/components/Mailgun.jsx @@ -1,5 +1,4 @@ import { useMutation, useQuery, gql } from "@apollo/client"; -import { makeStyles } from '@mui/styles' import React, { useState, useEffect } from 'react' import { H4, Info3 } from 'src/components/typography' import FormRenderer from 'src/pages/Services/FormRenderer' @@ -10,21 +9,9 @@ import WarningIcon from 'src/styling/icons/warning-icon/comet.svg?react' import { ActionButton } from 'src/components/buttons' import { RadioGroup } from 'src/components/inputs' import mailgunSchema from 'src/pages/Services/schemas/mailgun' -import styles from 'src/pages/Wizard/Radio.styles' +import classes from 'src/pages/Wizard/Radio.module.css' import { fromNamespace, toNamespace, namespaces } from 'src/utils/config' -const useStyles = makeStyles({ - ...styles, - radioGroup: { - ...styles.radioGroup, - width: 768 - }, - radioLabel: { - ...styles.radioLabel, - width: 300 - } -}) - const GET_CONFIG = gql` { config @@ -55,7 +42,6 @@ const options = [ ] const Mailgun = () => { - const classes = useStyles() const { data } = useQuery(GET_CONFIG) const [saveConfig] = useMutation(SAVE_CONFIG) const [saveAccounts] = useMutation(SAVE_ACCOUNTS) @@ -90,8 +76,8 @@ const Mailgun = () => {

    Do you want to get notifications via email?

    handleRadio(event.target.value)} diff --git a/new-lamassu-admin/src/pages/Wizard/components/Notifications.jsx b/new-lamassu-admin/src/pages/Wizard/components/Notifications.jsx index 6506312c..b547f0ca 100644 --- a/new-lamassu-admin/src/pages/Wizard/components/Notifications.jsx +++ b/new-lamassu-admin/src/pages/Wizard/components/Notifications.jsx @@ -1,29 +1,13 @@ -import { makeStyles } from '@mui/styles' import Grid from '@mui/material/Grid' import React, { useState } from 'react' import Sidebar from 'src/components/layout/Sidebar' import TitleSection from 'src/components/layout/TitleSection' import Notifications from 'src/pages/Notifications/Notifications' -import addMachineStyles from 'src/pages/AddMachine/styles' import { namespaces } from 'src/utils/config' import Mailgun from './Mailgun' -const styles = { - ...addMachineStyles, - grid: { - flex: 1, - height: '100%' - }, - content: { - marginLeft: 48, - paddingTop: 15 - } -} - -const useStyles = makeStyles(styles) - const EMAIL = 'Email' const SETUP_CHANNELS = 'Setup channels' const TRANSACTION_ALERTS = 'Transaction alerts' @@ -40,21 +24,20 @@ const pages = [ const N = () => { const [selected, setSelected] = useState(EMAIL) - const classes = useStyles() const isSelected = it => selected === it return ( -
    +
    - + it} onClick={it => setSelected(it)} /> -
    +
    {isSelected(EMAIL) && } {isSelected(SETUP_CHANNELS) && ( +
    {/* */}
    ) diff --git a/new-lamassu-admin/src/pages/Wizard/components/Twilio.jsx b/new-lamassu-admin/src/pages/Wizard/components/Twilio.jsx index 58526ab5..0b00f2b4 100644 --- a/new-lamassu-admin/src/pages/Wizard/components/Twilio.jsx +++ b/new-lamassu-admin/src/pages/Wizard/components/Twilio.jsx @@ -1,5 +1,4 @@ import { useMutation, useQuery, gql } from '@apollo/client' -import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React, { useState } from 'react' import { HelpTooltip } from 'src/components/Tooltip' @@ -11,7 +10,8 @@ import { Button, SupportLinkButton } from 'src/components/buttons' import { RadioGroup } from 'src/components/inputs' import twilio from 'src/pages/Services/schemas/twilio' -import styles from './Wallet/Shared.styles' +import sharedClasses from './Wallet/Shared.module.css' +import classes from './Twilio.module.css' const GET_CONFIG = gql` { @@ -26,30 +26,6 @@ const SAVE_ACCOUNTS = gql` } ` -const useStyles = makeStyles({ - ...styles, - content: { - width: 820 - }, - radioLabel: { - ...styles.radioLabel, - width: 280 - }, - wrapper: { - width: 1200, - height: 100, - margin: [[0, 'auto']] - }, - title: { - marginLeft: 8, - marginBottom: 5 - }, - info: { - marginTop: 20, - marginBottom: 20 - } -}) - const options = [ { code: 'enable', @@ -62,7 +38,6 @@ const options = [ ] function Twilio({ doContinue }) { - const classes = useStyles() const [selected, setSelected] = useState(null) const [error, setError] = useState(false) @@ -89,8 +64,8 @@ function Twilio({ doContinue }) { } const titleClasses = { - [classes.title]: true, - [classes.error]: error + 'ml-2 mb-2': true, + [sharedClasses.error]: error } return ( @@ -115,7 +90,7 @@ function Twilio({ doContinue }) { )} {selected !== 'enable' && ( - )} diff --git a/new-lamassu-admin/src/pages/Wizard/components/Twilio.module.css b/new-lamassu-admin/src/pages/Wizard/components/Twilio.module.css new file mode 100644 index 00000000..30bd9e37 --- /dev/null +++ b/new-lamassu-admin/src/pages/Wizard/components/Twilio.module.css @@ -0,0 +1,24 @@ +.content { + width: 820px; +} + +.radioLabel { + width: 280px; + height: 48px; +} + +.wrapper { + width: 1200px; + height: 100px; + margin: 0 auto; +} + +.title { + margin-left: 8px; + margin-bottom: 5px; +} + +.info { + margin-top: 20px; + margin-bottom: 20px; +} \ No newline at end of file diff --git a/new-lamassu-admin/src/pages/Wizard/components/Wallet/AllSet.jsx b/new-lamassu-admin/src/pages/Wizard/components/Wallet/AllSet.jsx index fd5ca065..f2c59217 100644 --- a/new-lamassu-admin/src/pages/Wizard/components/Wallet/AllSet.jsx +++ b/new-lamassu-admin/src/pages/Wizard/components/Wallet/AllSet.jsx @@ -1,5 +1,4 @@ import { useQuery, useMutation, gql } from "@apollo/client"; -import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' import { P, H4 } from 'src/components/typography' @@ -9,9 +8,7 @@ import { Button } from 'src/components/buttons' import { NamespacedTable as EditableTable } from 'src/components/editableTable' import { toNamespace, namespaces } from 'src/utils/config' -import styles from './Shared.styles' - -const useStyles = makeStyles(styles) +import classes from './Shared.module.css' const GET_INFO = gql` query getData { config @@ -37,8 +34,6 @@ const SAVE_CONFIG = gql` ` const AllSet = ({ data: currentData, doContinue }) => { - const classes = useStyles() - const { data } = useQuery(GET_INFO) const [saveConfig] = useMutation(SAVE_CONFIG, { onCompleted: doContinue diff --git a/new-lamassu-admin/src/pages/Wizard/components/Wallet/Blockcypher.jsx b/new-lamassu-admin/src/pages/Wizard/components/Wallet/Blockcypher.jsx index a5d2605f..3cf99128 100644 --- a/new-lamassu-admin/src/pages/Wizard/components/Wallet/Blockcypher.jsx +++ b/new-lamassu-admin/src/pages/Wizard/components/Wallet/Blockcypher.jsx @@ -1,5 +1,4 @@ import { useMutation, useQuery, gql } from "@apollo/client"; -import { makeStyles } from '@mui/styles' import React, { useState } from 'react' import { P, H4 } from 'src/components/typography' import FormRenderer from 'src/pages/Services/FormRenderer' @@ -8,16 +7,7 @@ import { SupportLinkButton, Button } from 'src/components/buttons' import { RadioGroup } from 'src/components/inputs' import blockcypherSchema from 'src/pages/Services/schemas/blockcypher' -import styles from './Shared.styles' - -const useStyles = makeStyles({ - ...styles, - radioGroup: styles.radioGroup, - radioLabel: { - ...styles.radioLabel, - width: 200 - } -}) +import classes from './Shared.module.css' const GET_CONFIG = gql` { @@ -42,8 +32,6 @@ const options = [ ] const Blockcypher = ({ addData }) => { - const classes = useStyles() - const { data } = useQuery(GET_CONFIG) const [saveConfig] = useMutation(SAVE_ACCOUNTS, { onCompleted: () => addData({ zeroConf: 'blockcypher' }) diff --git a/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseCoin.jsx b/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseCoin.jsx index 0216bed3..adeb32b4 100644 --- a/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseCoin.jsx +++ b/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseCoin.jsx @@ -1,5 +1,4 @@ import { useQuery, gql } from "@apollo/client"; -import { makeStyles } from '@mui/styles' import { Formik, Form, Field } from 'formik' import React, { useState } from 'react' import PromptWhenDirty from 'src/components/PromptWhenDirty' @@ -9,9 +8,7 @@ import * as Yup from 'yup' import { Button } from 'src/components/buttons' import { RadioGroup } from 'src/components/inputs/formik' -import styles from './Shared.styles' - -const useStyles = makeStyles(styles) +import classes from './Shared.module.css' const GET_CONFIG = gql` { @@ -27,7 +24,6 @@ const schema = Yup.object().shape({ }) const ChooseCoin = ({ addData }) => { - const classes = useStyles() const [error, setError] = useState(false) const { data } = useQuery(GET_CONFIG) diff --git a/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseExchange.jsx b/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseExchange.jsx index cb117b79..4a5df8d9 100644 --- a/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseExchange.jsx +++ b/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseExchange.jsx @@ -1,6 +1,5 @@ import { useQuery, useMutation, gql } from "@apollo/client"; import { getEquivalentCode } from '@lamassu/coins/lightUtils' -import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' import { H4, Info3 } from 'src/components/typography' @@ -11,11 +10,9 @@ import { Button, SupportLinkButton } from 'src/components/buttons' import { RadioGroup } from 'src/components/inputs' import _schema from 'src/pages/Services/schemas' -import styles from './Shared.styles' +import classes from './Shared.module.css' import { getItems } from './getItems' -const useStyles = makeStyles(styles) - const GET_CONFIG = gql` { accounts @@ -42,7 +39,6 @@ const isConfigurable = it => !R.isNil(it) && !R.contains(it)(['mock-exchange', 'no-exchange']) const ChooseExchange = ({ data: currentData, addData }) => { - const classes = useStyles() const { data } = useQuery(GET_CONFIG) const [saveAccounts] = useMutation(SAVE_ACCOUNTS, { onCompleted: () => submit() diff --git a/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseTicker.jsx b/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseTicker.jsx index 89e9d646..23c73a23 100644 --- a/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseTicker.jsx +++ b/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseTicker.jsx @@ -1,6 +1,5 @@ import { useQuery, gql } from "@apollo/client"; import { getEquivalentCode } from '@lamassu/coins/lightUtils' -import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' import { H4 } from 'src/components/typography' @@ -8,11 +7,9 @@ import { H4 } from 'src/components/typography' import { Button } from 'src/components/buttons' import { RadioGroup } from 'src/components/inputs' -import styles from './Shared.styles' +import classes from './Shared.module.css' import { getItems } from './getItems' -const useStyles = makeStyles(styles) - const GET_CONFIG = gql` { accountsConfig { @@ -25,7 +22,6 @@ const GET_CONFIG = gql` ` const ChooseTicker = ({ data: currentData, addData }) => { - const classes = useStyles() const { data } = useQuery(GET_CONFIG) const [selected, setSelected] = useState(null) diff --git a/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseWallet.jsx b/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseWallet.jsx index 64c6d0d7..e898d4d4 100644 --- a/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseWallet.jsx +++ b/new-lamassu-admin/src/pages/Wizard/components/Wallet/ChooseWallet.jsx @@ -1,5 +1,4 @@ import { useQuery, useMutation, gql } from "@apollo/client"; -import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' import { H4, Info3 } from 'src/components/typography' @@ -11,11 +10,9 @@ import { RadioGroup } from 'src/components/inputs' import _schema from 'src/pages/Services/schemas' import bitgo from 'src/pages/Services/schemas/singlebitgo' -import styles from './Shared.styles' +import classes from './Shared.module.css' import { getItems } from './getItems' -const useStyles = makeStyles(styles) - const GET_CONFIG = gql` { accounts @@ -52,7 +49,6 @@ const isLocalHosted = it => ]) const ChooseWallet = ({ data: currentData, addData }) => { - const classes = useStyles() // no need to fetch exchange config here const schema = _schema() const { data } = useQuery(GET_CONFIG) diff --git a/new-lamassu-admin/src/pages/Wizard/components/Wallet/Shared.module.css b/new-lamassu-admin/src/pages/Wizard/components/Wallet/Shared.module.css new file mode 100644 index 00000000..c52d200d --- /dev/null +++ b/new-lamassu-admin/src/pages/Wizard/components/Wallet/Shared.module.css @@ -0,0 +1,45 @@ +.radioGroup { + flex-direction: row; + width: 600px; +} + +.radioLabel { + width: 150px; + height: 48px; +} + +.mdForm { + width: 385px; +} + +.infoMessage { + display: flex; + margin-bottom: 20px; +} + +.infoMessage > p { + width: 330px; + margin-top: 4px; + margin-left: 16px; +} + +.actionButton { + margin-bottom: 32px; +} + +.actionButtonLink { + text-decoration: none; + color: var(--zodiac); +} + +.error { + color: var(--tomato); +} + +.button { + margin-top: 40px; +} + +.formButton { + margin: 24px 0 0; +} \ No newline at end of file diff --git a/new-lamassu-admin/src/pages/Wizard/components/Wallet/Shared.styles.js b/new-lamassu-admin/src/pages/Wizard/components/Wallet/Shared.styles.js deleted file mode 100644 index 4af8b17a..00000000 --- a/new-lamassu-admin/src/pages/Wizard/components/Wallet/Shared.styles.js +++ /dev/null @@ -1,42 +0,0 @@ -import { errorColor, spacer, primaryColor } from 'src/styling/variables' - -const LABEL_WIDTH = 150 - -export default { - radioGroup: { - flexDirection: 'row', - width: 600 - }, - radioLabel: { - width: LABEL_WIDTH, - height: 48 - }, - mdForm: { - width: 385 - }, - infoMessage: { - display: 'flex', - marginBottom: 20, - '& > p': { - width: 330, - marginTop: 4, - marginLeft: 16 - } - }, - actionButton: { - marginBottom: spacer * 4 - }, - actionButtonLink: { - textDecoration: 'none', - color: primaryColor - }, - error: { - color: errorColor - }, - button: { - marginTop: spacer * 5 - }, - formButton: { - margin: [[spacer * 3, 0, 0]] - } -} diff --git a/new-lamassu-admin/src/pages/Wizard/components/Wallet/Wallet.jsx b/new-lamassu-admin/src/pages/Wizard/components/Wallet/Wallet.jsx index 337bb4e7..0580b673 100644 --- a/new-lamassu-admin/src/pages/Wizard/components/Wallet/Wallet.jsx +++ b/new-lamassu-admin/src/pages/Wizard/components/Wallet/Wallet.jsx @@ -1,11 +1,8 @@ -import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState } from 'react' import Sidebar, { Stepper } from 'src/components/layout/Sidebar' import TitleSection from 'src/components/layout/TitleSection' -import styles from 'src/pages/AddMachine/styles' - import AllSet from './AllSet' import Blockcypher from './Blockcypher' import ChooseCoin from './ChooseCoin' @@ -13,8 +10,6 @@ import ChooseExchange from './ChooseExchange' import ChooseTicker from './ChooseTicker' import ChooseWallet from './ChooseWallet' -const useStyles = makeStyles(styles) - const steps = [ { label: 'Choose cryptocurrency', @@ -46,7 +41,6 @@ const Wallet = ({ doContinue }) => { const [step, setStep] = useState(0) const [data, setData] = useState({}) - const classes = useStyles() const mySteps = data?.coin === 'BTC' ? steps : R.remove(4, 1, steps) const Component = mySteps[step].component @@ -57,17 +51,17 @@ const Wallet = ({ doContinue }) => { } return ( -
    -
    +
    +
    -
    +
    {mySteps.map((it, idx) => ( ))} -
    +
    diff --git a/new-lamassu-admin/src/pages/Wizard/components/Welcome.jsx b/new-lamassu-admin/src/pages/Wizard/components/Welcome.jsx index 221fe2a9..a970b212 100644 --- a/new-lamassu-admin/src/pages/Wizard/components/Welcome.jsx +++ b/new-lamassu-admin/src/pages/Wizard/components/Welcome.jsx @@ -1,36 +1,13 @@ -import { makeStyles } from '@mui/styles' import React from 'react' import { H1, P } from 'src/components/typography' import { Button } from 'src/components/buttons' -import { comet } from 'src/styling/variables' - -const styles = { - welcome: { - textAlign: 'center', - paddingTop: 256 - }, - title: { - lineHeight: 1, - fontSize: 48 - }, - getStarted: { - fontSize: 24, - fontWeight: 500, - marginBottom: 54, - color: comet - } -} - -const useStyles = makeStyles(styles) function Welcome({ doContinue }) { - const classes = useStyles() - return ( -
    -

    Welcome to the Lamassu Admin

    -

    +

    +

    Welcome to the Lamassu Admin

    +

    To get you started, we’ve put together a wizard that will
    help set up what you need before pairing your machines. diff --git a/new-lamassu-admin/src/pages/Wizard/helper.jsx b/new-lamassu-admin/src/pages/Wizard/helper.jsx index 193caf12..47035521 100644 --- a/new-lamassu-admin/src/pages/Wizard/helper.jsx +++ b/new-lamassu-admin/src/pages/Wizard/helper.jsx @@ -8,8 +8,6 @@ import { fromNamespace, namespaces } from 'src/utils/config' import Commissions from './components/Commissions' import Locale from './components/Locales' -// import Notifications from './components/Notifications' -// import WizardOperatorInfo from './components/OperatorInfo' import Twilio from './components/Twilio' import Wallet from './components/Wallet/Wallet' import Welcome from './components/Welcome' From 636cf0fc027dfc581ba7289f76dfc95cc272ac5a Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Thu, 8 May 2025 09:27:07 +0100 Subject: [PATCH 54/85] partial: few missing pages migrations --- .../src/components/tables/DataTable.jsx | 9 +- .../components/tooltips/GraphTooltip.jsx | 1 - .../src/pages/Dashboard/Footer/Footer.jsx | 1 - .../Machines/MachineComponents/Overview.jsx | 2 +- .../Transactions/DataTable.jsx | 187 ------------------ .../Transactions/Transactions.jsx | 4 +- .../OperatorInfo/SMSNotices/SMSNotices.jsx | 24 +-- .../SMSNotices/SMSNotices.styles.js | 95 --------- .../SMSNotices/SMSNoticesModal.jsx | 21 +- .../src/pages/Transactions/DetailsCard.jsx | 2 +- 10 files changed, 28 insertions(+), 318 deletions(-) delete mode 100644 new-lamassu-admin/src/pages/Machines/MachineComponents/Transactions/DataTable.jsx delete mode 100644 new-lamassu-admin/src/pages/OperatorInfo/SMSNotices/SMSNotices.styles.js diff --git a/new-lamassu-admin/src/components/tables/DataTable.jsx b/new-lamassu-admin/src/components/tables/DataTable.jsx index 7027fec0..b1764cbd 100644 --- a/new-lamassu-admin/src/components/tables/DataTable.jsx +++ b/new-lamassu-admin/src/components/tables/DataTable.jsx @@ -105,6 +105,7 @@ const DataTable = ({ initialExpanded, onClick, loading, + maxWidth = 1200, emptyText, rowSize, ...props @@ -114,7 +115,7 @@ const DataTable = ({ useEffect(() => setExpanded(initialExpanded), [initialExpanded]) const coreWidth = R.compose(R.sum, R.map(R.prop('width')))(elements) - const expWidth = 1200 - coreWidth + const expWidth = maxWidth - coreWidth const width = coreWidth + (expandable ? expWidth : 0) const classes = useStyles({ width }) @@ -170,7 +171,11 @@ const DataTable = ({ } return ( -

    +
    {elements.map(({ width, className, textAlign, header }, idx) => ( diff --git a/new-lamassu-admin/src/pages/Analytics/components/tooltips/GraphTooltip.jsx b/new-lamassu-admin/src/pages/Analytics/components/tooltips/GraphTooltip.jsx index 67afc8c3..9c11e46e 100644 --- a/new-lamassu-admin/src/pages/Analytics/components/tooltips/GraphTooltip.jsx +++ b/new-lamassu-admin/src/pages/Analytics/components/tooltips/GraphTooltip.jsx @@ -1,5 +1,4 @@ import Paper from '@mui/material/Paper' -import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { memo } from 'react' import { Info2, Label3, P } from 'src/components/typography' diff --git a/new-lamassu-admin/src/pages/Dashboard/Footer/Footer.jsx b/new-lamassu-admin/src/pages/Dashboard/Footer/Footer.jsx index 0e22d82c..6b751407 100644 --- a/new-lamassu-admin/src/pages/Dashboard/Footer/Footer.jsx +++ b/new-lamassu-admin/src/pages/Dashboard/Footer/Footer.jsx @@ -1,5 +1,4 @@ import { useQuery, gql } from '@apollo/client' -import { makeStyles } from '@mui/styles' import BigNumber from 'bignumber.js' import * as R from 'ramda' import React from 'react' diff --git a/new-lamassu-admin/src/pages/Machines/MachineComponents/Overview.jsx b/new-lamassu-admin/src/pages/Machines/MachineComponents/Overview.jsx index afbecce2..da3f939a 100644 --- a/new-lamassu-admin/src/pages/Machines/MachineComponents/Overview.jsx +++ b/new-lamassu-admin/src/pages/Machines/MachineComponents/Overview.jsx @@ -47,7 +47,7 @@ const Overview = ({ data, onActionSuccess }) => {
    Device ID -

    +

    {data.deviceId}

    diff --git a/new-lamassu-admin/src/pages/Machines/MachineComponents/Transactions/DataTable.jsx b/new-lamassu-admin/src/pages/Machines/MachineComponents/Transactions/DataTable.jsx deleted file mode 100644 index 488df09e..00000000 --- a/new-lamassu-admin/src/pages/Machines/MachineComponents/Transactions/DataTable.jsx +++ /dev/null @@ -1,187 +0,0 @@ -import { makeStyles } from '@mui/styles' -import classnames from 'classnames' -import * as R from 'ramda' -import React, { useState, useEffect } from 'react' -import { - AutoSizer, - List, - CellMeasurer, - CellMeasurerCache -} from 'react-virtualized' -import { - Table, - TBody, - THead, - Tr, - Td, - Th -} from 'src/components/fake-table/Table' -import { H4 } from 'src/components/typography' -import ExpandClosedIcon from 'src/styling/icons/action/expand/closed.svg?react' -import ExpandOpenIcon from 'src/styling/icons/action/expand/open.svg?react' - -import styles from 'src/components/tables/DataTable.styles' - -const useStyles = makeStyles(styles) - -const Row = ({ - id, - elements, - data, - width, - Details, - expanded, - expandRow, - expWidth, - expandable, - onClick -}) => { - const classes = useStyles() - - const hasPointer = onClick || expandable - const trClasses = { - [classes.pointer]: hasPointer, - [classes.row]: true, - [classes.expanded]: expanded - } - - return ( -
    -
    -
    { - expandable && expandRow(id) - onClick && onClick(data) - }} - error={data.error} - errorMessage={data.errorMessage}> - {elements.map(({ view = it => it?.toString(), ...props }, idx) => ( - - ))} - {expandable && ( - - )} - - - {expandable && expanded && ( -
    -
    - - - - )} - - ) -} - -const DataTable = ({ - elements = [], - data = [], - Details, - className, - expandable, - initialExpanded, - onClick, - loading, - emptyText, - extraHeight, - ...props -}) => { - const [expanded, setExpanded] = useState(initialExpanded) - - useEffect(() => setExpanded(initialExpanded), [initialExpanded]) - - const coreWidth = R.compose(R.sum, R.map(R.prop('width')))(elements) - const expWidth = 850 - coreWidth - const width = coreWidth + (expandable ? expWidth : 0) - - const classes = useStyles({ width }) - - const expandRow = id => { - setExpanded(id === expanded ? null : id) - } - - const cache = new CellMeasurerCache({ - defaultHeight: 62, - fixedWidth: true - }) - - function rowRenderer({ index, key, parent, style }) { - return ( - -
    - -
    -
    - ) - } - - return ( -
    -
    - {view(data)} - - -
    -
    -
    - - {elements.map(({ width, className, textAlign, header }, idx) => ( - - ))} - {expandable && } - - - {loading &&

    Loading...

    } - {!loading && R.isEmpty(data) &&

    {emptyText}

    } - - {() => ( - - )} - - -
    - {header} -
    -
    - ) -} - -export default DataTable diff --git a/new-lamassu-admin/src/pages/Machines/MachineComponents/Transactions/Transactions.jsx b/new-lamassu-admin/src/pages/Machines/MachineComponents/Transactions/Transactions.jsx index b44e2787..aac44707 100644 --- a/new-lamassu-admin/src/pages/Machines/MachineComponents/Transactions/Transactions.jsx +++ b/new-lamassu-admin/src/pages/Machines/MachineComponents/Transactions/Transactions.jsx @@ -11,7 +11,7 @@ import { getStatus } from 'src/pages/Transactions/helper' import * as Customer from 'src/utils/customer' import { formatDate } from 'src/utils/timezones' -import DataTable from './DataTable' +import DataTable from 'src/components/tables/DataTable' const NUM_LOG_RESULTS = 5 @@ -164,6 +164,8 @@ const Transactions = ({ id }) => { { - const classes = useStyles(coords) - const matches = { '#code': 123, '#timestamp': formatDate(new Date(), timezone, 'HH:mm') } return ( -
    -
    -
    +
    +
    +
    - +

    {R.isEmpty(sms?.message) ? ( No content available @@ -117,8 +113,6 @@ const SMSPreview = ({ sms, coords, timezone }) => { } const SMSNotices = () => { - const classes = useStyles() - const [showModal, setShowModal] = useState(false) const [selectedSMS, setSelectedSMS] = useState(null) const [previewOpen, setPreviewOpen] = useState(false) @@ -160,7 +154,7 @@ const SMSNotices = () => { textAlign: 'left', view: it => !R.isEmpty(TOOLTIPS[it.event]) ? ( -

    +
    {R.prop('messageName', it)}

    {TOOLTIPS[it.event]}

    @@ -237,7 +231,7 @@ const SMSNotices = () => { return ( <> -
    +

    SMS notices

    diff --git a/new-lamassu-admin/src/pages/OperatorInfo/SMSNotices/SMSNotices.styles.js b/new-lamassu-admin/src/pages/OperatorInfo/SMSNotices/SMSNotices.styles.js deleted file mode 100644 index 65e39737..00000000 --- a/new-lamassu-admin/src/pages/OperatorInfo/SMSNotices/SMSNotices.styles.js +++ /dev/null @@ -1,95 +0,0 @@ -import { - spacer, - fontMonospaced, - fontSize5, - fontColor -} from 'src/styling/variables' - -const styles = { - header: { - display: 'flex', - position: 'relative', - alignItems: 'center', - justifyContent: 'space-between', - width: 800 - }, - form: { - '& > *': { - marginTop: 20 - }, - display: 'flex', - flexDirection: 'column', - height: '100%' - }, - footer: { - display: 'flex', - flexDirection: 'row', - margin: [['auto', 0, spacer * 3, 0]] - }, - submit: { - margin: [['auto', 0, 0, 'auto']] - }, - smsPreview: { - position: 'absolute', - left: ({ x }) => x, - bottom: ({ y }) => y, - width: 350, - overflow: 'visible' - }, - smsPreviewContainer: { - display: 'flex', - flexDirection: 'row', - alignItems: 'flex-end', - '& > *': { - marginRight: 10 - } - }, - smsPreviewIcon: { - display: 'flex', - width: 36, - height: 36, - borderRadius: 18, - backgroundColor: '#16D6D3', - alignItems: 'center', - justifyContent: 'center' - }, - smsPreviewContent: { - width: 225, - padding: 15, - borderRadius: '15px 15px 15px 0px' - }, - chipButtons: { - width: 480, - display: 'flex', - flexDirection: 'column', - alignItems: 'space-between', - '& > div': { - marginTop: 15 - }, - '& > div:first-child': { - marginTop: 0 - }, - '& > div > div': { - margin: [[0, 5, 0, 5]] - }, - '& > div > div > span': { - lineHeight: '120%', - color: fontColor, - fontSize: fontSize5, - fontFamily: fontMonospaced, - fontWeight: 500 - }, - marginLeft: 'auto', - marginRight: 'auto' - }, - resetToDefault: { - width: 145 - }, - messageWithTooltip: { - display: 'flex', - flexDirection: 'row', - alignItems: 'center' - } -} - -export default styles diff --git a/new-lamassu-admin/src/pages/OperatorInfo/SMSNotices/SMSNoticesModal.jsx b/new-lamassu-admin/src/pages/OperatorInfo/SMSNotices/SMSNoticesModal.jsx index 745891b7..4939df23 100644 --- a/new-lamassu-admin/src/pages/OperatorInfo/SMSNotices/SMSNoticesModal.jsx +++ b/new-lamassu-admin/src/pages/OperatorInfo/SMSNotices/SMSNoticesModal.jsx @@ -1,5 +1,4 @@ import Chip from '@mui/material/Chip' -import { makeStyles } from '@mui/styles' import { Form, Formik, Field } from 'formik' import * as R from 'ramda' import React from 'react' @@ -14,10 +13,6 @@ import { ActionButton, Button } from 'src/components/buttons' import { TextInput } from 'src/components/inputs/formik' import { zircon } from 'src/styling/variables' -import styles from './SMSNotices.styles' - -const useStyles = makeStyles(styles) - const getErrorMsg = (formikErrors, formikTouched, mutationError) => { if (!formikErrors || !formikTouched) return null if (mutationError) return 'Internal server error' @@ -77,8 +72,6 @@ const SMSNoticesModal = ({ creationError, submit }) => { - const classes = useStyles() - const initialValues = { event: !R.isNil(sms) ? sms.event : '', message: !R.isNil(sms) ? sms.message : '' @@ -128,12 +121,12 @@ const SMSNoticesModal = ({ handleSubmit(values, errors, touched) }> {({ values, errors, touched, setFieldValue }) => ( - + setFieldValue('message', DEFAULT_MESSAGES[sms?.event]) @@ -151,9 +144,9 @@ const SMSNoticesModal = ({ {R.length(CHIPS[sms?.event]) > 0 && ( Values to attach )} -

    +
    {R.splitEvery(3, CHIPS[sms?.event]).map((it, idx) => ( -
    +
    {it.map((ite, idx2) => ( { setFieldValue( 'message', @@ -176,7 +169,7 @@ const SMSNoticesModal = ({
    ))}
    -
    +
    {getErrorMsg(errors, touched, creationError) && ( {getErrorMsg(errors, touched, creationError)} @@ -185,7 +178,7 @@ const SMSNoticesModal = ({
    diff --git a/new-lamassu-admin/src/pages/Transactions/DetailsCard.jsx b/new-lamassu-admin/src/pages/Transactions/DetailsCard.jsx index 1f3cd6e4..e07ec7ab 100644 --- a/new-lamassu-admin/src/pages/Transactions/DetailsCard.jsx +++ b/new-lamassu-admin/src/pages/Transactions/DetailsCard.jsx @@ -384,7 +384,7 @@ const DetailsRow = ({ it: tx, timezone }) => { {tx.id}
    -
    +
    {errorElements} {((tx.txClass === 'cashOut' && getStatus(tx) === 'Pending') || From 8cd7374ee887ba2d145848ecc93e249e71054b15 Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Thu, 8 May 2025 14:46:32 +0100 Subject: [PATCH 55/85] partial: dangling components css migration --- new-lamassu-admin/src/components/Carousel.jsx | 22 +-- .../src/components/ConfirmDialog.jsx | 43 ++---- .../src/components/CopyToClipboard.jsx | 1 - .../src/components/DeleteDialog.jsx | 41 +---- .../src/components/ErrorMessage.jsx | 34 +---- .../src/components/ImagePopper.jsx | 28 ++-- .../src/components/ImagePopper.styles.js | 25 --- .../src/components/InformativeDialog.jsx | 36 +---- .../src/components/LogsDownloaderPopper.jsx | 143 ++++-------------- new-lamassu-admin/src/components/Modal.jsx | 126 ++++++--------- new-lamassu-admin/src/components/Popper.jsx | 128 ++-------------- .../src/components/Popper.module.css | 33 ++++ .../src/components/SearchBox.jsx | 33 ++-- .../src/components/SearchBox.styles.js | 78 ---------- .../src/components/SearchFilter.jsx | 23 +-- .../src/components/SearchFilter.styles.js | 62 -------- new-lamassu-admin/src/components/Status.jsx | 53 +------ new-lamassu-admin/src/components/Stepper.jsx | 73 ++------- .../src/components/Stepper.module.css | 12 ++ new-lamassu-admin/src/components/Subtitle.jsx | 19 +-- .../src/components/TableLabel.jsx | 35 ----- new-lamassu-admin/src/components/Title.jsx | 13 +- new-lamassu-admin/src/components/Tooltip.jsx | 27 ++-- new-lamassu-admin/src/components/Uptime.jsx | 93 ------------ .../src/components/buttons/IDButton.jsx | 1 - .../Customers/components/EditableCard.jsx | 3 +- .../src/pages/{ => Funding}/Funding.jsx | 18 ++- .../pages/{ => Funding}/Funding.module.css | 0 .../src/pages/Funding/TableLabel.jsx | 20 +++ .../src/pages/{ => Logs}/Logs.module.css | 0 .../src/pages/{ => Logs}/MachineLogs.jsx | 21 ++- .../src/pages/{ => Logs}/ServerLogs.jsx | 16 +- .../pages/{ => Logs}/ServerLogs.module.css | 2 +- new-lamassu-admin/src/pages/Logs/Uptime.jsx | 33 ++++ .../src/routing/lamassu.routes.jsx | 6 +- .../src/styling/global/global.css | 4 +- new-lamassu-admin/src/styling/theme.js | 32 +++- 37 files changed, 343 insertions(+), 994 deletions(-) delete mode 100644 new-lamassu-admin/src/components/ImagePopper.styles.js create mode 100644 new-lamassu-admin/src/components/Popper.module.css delete mode 100644 new-lamassu-admin/src/components/SearchBox.styles.js delete mode 100644 new-lamassu-admin/src/components/SearchFilter.styles.js create mode 100644 new-lamassu-admin/src/components/Stepper.module.css delete mode 100644 new-lamassu-admin/src/components/TableLabel.jsx delete mode 100644 new-lamassu-admin/src/components/Uptime.jsx rename new-lamassu-admin/src/pages/{ => Funding}/Funding.jsx (96%) rename new-lamassu-admin/src/pages/{ => Funding}/Funding.module.css (100%) create mode 100644 new-lamassu-admin/src/pages/Funding/TableLabel.jsx rename new-lamassu-admin/src/pages/{ => Logs}/Logs.module.css (100%) rename new-lamassu-admin/src/pages/{ => Logs}/MachineLogs.jsx (90%) rename new-lamassu-admin/src/pages/{ => Logs}/ServerLogs.jsx (93%) rename new-lamassu-admin/src/pages/{ => Logs}/ServerLogs.module.css (83%) create mode 100644 new-lamassu-admin/src/pages/Logs/Uptime.jsx diff --git a/new-lamassu-admin/src/components/Carousel.jsx b/new-lamassu-admin/src/components/Carousel.jsx index 6b610a6c..6fa2ece5 100644 --- a/new-lamassu-admin/src/components/Carousel.jsx +++ b/new-lamassu-admin/src/components/Carousel.jsx @@ -1,27 +1,9 @@ -import { makeStyles } from '@mui/styles' import React, { memo } from 'react' import ReactCarousel from 'react-material-ui-carousel' import LeftArrow from 'src/styling/icons/arrow/carousel-left-arrow.svg?react' import RightArrow from 'src/styling/icons/arrow/carousel-right-arrow.svg?react' -const useStyles = makeStyles({ - imgWrapper: { - alignItems: 'center', - justifyContent: 'center', - display: 'flex' - }, - imgInner: { - objectFit: 'contain', - objectPosition: 'center', - width: 500, - height: 400, - marginBottom: 40 - } -}) - export const Carousel = memo(({ photosData, slidePhoto }) => { - const classes = useStyles() - return ( <> { prev={activeIndex => slidePhoto(activeIndex)}> {photosData.map((item, i) => (
    -
    +
    diff --git a/new-lamassu-admin/src/components/ConfirmDialog.jsx b/new-lamassu-admin/src/components/ConfirmDialog.jsx index 487b2798..099c3656 100644 --- a/new-lamassu-admin/src/components/ConfirmDialog.jsx +++ b/new-lamassu-admin/src/components/ConfirmDialog.jsx @@ -2,49 +2,25 @@ import Dialog from '@mui/material/Dialog' import DialogActions from '@mui/material/DialogActions' import DialogContent from '@mui/material/DialogContent' import InputLabel from '@mui/material/InputLabel' -import { makeStyles } from '@mui/styles' import React, { memo, useState } from 'react' import { H4, P } from 'src/components/typography' import CloseIcon from 'src/styling/icons/action/close/zodiac.svg?react' import { Button, IconButton } from 'src/components/buttons' import { TextInput } from 'src/components/inputs' -import { spacer } from 'src/styling/variables' import ErrorMessage from './ErrorMessage' -const useStyles = makeStyles({ - dialogContent: { - width: 434, - padding: spacer * 2, - paddingRight: spacer * 3.5 - }, - dialogTitle: { - padding: spacer * 2, - paddingRight: spacer * 1.5, - display: 'flex', - 'justify-content': 'space-between', - '& > h4': { - margin: 0 - }, - '& > button': { - padding: 0, - marginTop: -(spacer / 2) - } - }, - dialogActions: { - padding: spacer * 4, - paddingTop: spacer * 2 - } -}) - export const DialogTitle = ({ children, onClose }) => { - const classes = useStyles() return ( -
    +
    {children} {onClose && ( - + )} @@ -67,7 +43,6 @@ export const ConfirmDialog = memo( disabled = false, ...props }) => { - const classes = useStyles() const [value, setValue] = useState(initialValue) const [error, setError] = useState(false) const handleChange = event => setValue(event.target.value) @@ -84,7 +59,7 @@ export const ConfirmDialog = memo( return ( -

    {title}

    +

    {title}

    {errorMessage && ( @@ -98,7 +73,7 @@ export const ConfirmDialog = memo( )} - + {message &&

    {message}

    } {confirmationMessage}
    - +
    diff --git a/new-lamassu-admin/src/components/ErrorMessage.jsx b/new-lamassu-admin/src/components/ErrorMessage.jsx index e5ff4efc..d60e9cb5 100644 --- a/new-lamassu-admin/src/components/ErrorMessage.jsx +++ b/new-lamassu-admin/src/components/ErrorMessage.jsx @@ -1,38 +1,16 @@ -import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React from 'react' import ErrorIcon from 'src/styling/icons/warning-icon/tomato.svg?react' -import { errorColor } from 'src/styling/variables' - import { Info3 } from './typography' -const styles = { - wrapper: { - display: 'flex', - alignItems: 'center', - '& > svg': { - marginRight: 10 - } - }, - message: { - display: 'flex', - alignItems: 'center', - color: errorColor, - margin: 0, - whiteSpace: 'break-spaces' - } -} - -const useStyles = makeStyles(styles) - -const ErrorMessage = ({ className, children, ...props }) => { - const classes = useStyles() - +const ErrorMessage = ({ className, children }) => { return ( -
    - - {children} +
    + + + {children} +
    ) } diff --git a/new-lamassu-admin/src/components/ImagePopper.jsx b/new-lamassu-admin/src/components/ImagePopper.jsx index 8053819e..500ac5c8 100644 --- a/new-lamassu-admin/src/components/ImagePopper.jsx +++ b/new-lamassu-admin/src/components/ImagePopper.jsx @@ -1,5 +1,4 @@ import ClickAwayListener from '@mui/material/ClickAwayListener' -import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React, { memo, useState } from 'react' import Popper from 'src/components/Popper' @@ -8,18 +7,8 @@ import ZoomIcon from 'src/styling/icons/circle buttons/search/zodiac.svg?react' import { FeatureButton } from 'src/components/buttons' -import imagePopperStyles from './ImagePopper.styles' - -const useStyles = makeStyles(imagePopperStyles) - const ImagePopper = memo( ({ className, width, height, popupWidth, popupHeight, src }) => { - const classes = useStyles({ - width, - height, - popupWidth, - popupHeight - }) const [popperAnchorEl, setPopperAnchorEl] = useState(null) const handleOpenPopper = event => { @@ -38,17 +27,24 @@ const ImagePopper = memo( return ( -
    - +
    + -
    - +
    +
    diff --git a/new-lamassu-admin/src/components/ImagePopper.styles.js b/new-lamassu-admin/src/components/ImagePopper.styles.js deleted file mode 100644 index f30c8f3e..00000000 --- a/new-lamassu-admin/src/components/ImagePopper.styles.js +++ /dev/null @@ -1,25 +0,0 @@ -export default { - row: { - display: 'flex', - flexDirection: 'row' - }, - image: ({ width, height }) => ({ - objectFit: 'cover', - borderRadius: '8px 0px 0px 8px', - width, - height - }), - popupImage: ({ popupWidth, popupHeight }) => ({ - objectFit: 'cover', - width: popupWidth, - height: popupHeight - }), - button: ({ height }) => ({ - borderRadius: '0px 8px 8px 0px', - height - }), - popoverContent: { - display: 'block', - padding: [[10, 15]] - } -} diff --git a/new-lamassu-admin/src/components/InformativeDialog.jsx b/new-lamassu-admin/src/components/InformativeDialog.jsx index a4c0a8f8..86e94dd0 100644 --- a/new-lamassu-admin/src/components/InformativeDialog.jsx +++ b/new-lamassu-admin/src/components/InformativeDialog.jsx @@ -1,43 +1,13 @@ import Dialog from '@mui/material/Dialog' import DialogContent from '@mui/material/DialogContent' -import { makeStyles } from '@mui/styles' import React, { memo } from 'react' import { H1 } from 'src/components/typography' import CloseIcon from 'src/styling/icons/action/close/zodiac.svg?react' import { IconButton } from 'src/components/buttons' -import { spacer } from 'src/styling/variables' - -const useStyles = makeStyles({ - closeButton: { - display: 'flex', - padding: [[spacer * 2, spacer * 2, 0, spacer * 2]], - paddingRight: spacer * 1.5, - justifyContent: 'end' - }, - title: { - margin: [[0, spacer * 2, spacer, spacer * 2 + 4]] - } -}) - -export const DialogTitle = ({ children, onClose }) => { - const classes = useStyles() - return ( -
    - {children} - {onClose && ( - - - - )} -
    - ) -} export const InformativeDialog = memo( ({ title = '', open, onDissmised, disabled = false, data, ...props }) => { - const classes = useStyles() - const innerOnClose = () => { onDissmised() } @@ -53,13 +23,13 @@ export const InformativeDialog = memo( open={open} aria-labelledby="form-dialog-title" {...props}> -
    +
    -

    {title}

    - {data} +

    {title}

    + {data}
    ) } diff --git a/new-lamassu-admin/src/components/LogsDownloaderPopper.jsx b/new-lamassu-admin/src/components/LogsDownloaderPopper.jsx index ff877809..67ec9087 100644 --- a/new-lamassu-admin/src/components/LogsDownloaderPopper.jsx +++ b/new-lamassu-admin/src/components/LogsDownloaderPopper.jsx @@ -1,6 +1,5 @@ -import { useLazyQuery } from "@apollo/client"; +import { useLazyQuery } from '@apollo/client' import ClickAwayListener from '@mui/material/ClickAwayListener' -import { makeStyles } from '@mui/styles' import classnames from 'classnames' import { format, set } from 'date-fns/fp' import FileSaver from 'file-saver' @@ -11,68 +10,32 @@ import DownloadInverseIcon from 'src/styling/icons/button/download/white.svg?rea import Download from 'src/styling/icons/button/download/zodiac.svg?react' import { FeatureButton, Link } from 'src/components/buttons' -import { primaryColor, offColor, zircon } from 'src/styling/variables' import { formatDate } from 'src/utils/timezones' import Popper from './Popper' import DateRangePicker from './date-range-picker/DateRangePicker' import { RadioGroup } from './inputs' import typographyStyles from './typography/styles' +import { H4, Info1, Label1, Label2 } from './typography/index.jsx' -const { info1, label1, label2, h4 } = typographyStyles - -const dateContainerStyles = { - wrapper: { - height: 46, - width: 99 - }, - container: { - display: 'flex' - }, - monthWeekDayContainer: { - display: 'flex', - flexDirection: 'column' - }, - label: { - extend: label1, - lineHeight: 1.33, - color: primaryColor - }, - bigNumber: { - extend: info1, - lineHeight: 1, - marginRight: 7 - }, - monthYear: { - extend: label2, - lineHeight: 1.17, - color: primaryColor - }, - weekDay: { - extend: label1, - lineHeight: 1.33, - color: offColor - } -} - -const dateContainerUseStyles = makeStyles(dateContainerStyles) - -const DateContainer = ({ date, children, ...props }) => { - const classes = dateContainerUseStyles() - +const DateContainer = ({ date, children }) => { return ( -
    -
    {children}
    +
    + {children} {date && ( <> -
    -
    {format('d', date)}
    -
    - {`${format( +
    + + {format('d', date)} + +
    + {`${format( 'MMM', date - )} ${format('yyyy', date)}`} - {format('EEEE', date)} + )} ${format('yyyy', date)}`} + + {format('EEEE', date)} +
    @@ -81,54 +44,6 @@ const DateContainer = ({ date, children, ...props }) => { ) } -const styles = { - popoverContent: { - width: 280 - }, - popoverHeader: { - extend: h4, - padding: [[15, 15, 0, 15]] - }, - radioButtonsContainer: { - padding: [[5, 15, 5, 15]] - }, - radioButtons: { - display: 'flex', - justifyContent: 'space-between', - flexDirection: 'row', - color: primaryColor - }, - dateRangePickerShowing: { - display: 'block', - height: '100%' - }, - dateRangePickerHidden: { - display: 'none', - height: 0 - }, - download: { - padding: [[10, 15]] - }, - dateContainerWrapper: { - display: 'flex', - justifyContent: 'space-between', - alignItems: 'center', - position: 'relative', - backgroundColor: zircon, - padding: [[0, 15]], - minHeight: 70 - }, - arrowContainer: { - position: 'absolute', - left: 125, - top: 26 - }, - arrow: { - margin: 'auto' - } -} - -const useStyles = makeStyles(styles) const ALL = 'all' const RANGE = 'range' const ADVANCED = 'advanced' @@ -153,11 +68,9 @@ const LogsDownloaderPopover = ({ onCompleted: data => createLogsFile(getLogs(data), range) }) - const classes = useStyles() - const dateRangePickerClasses = { - [classes.dateRangePickerShowing]: selectedRadio === RANGE, - [classes.dateRangePickerHidden]: selectedRadio === ALL + 'block h-full': selectedRadio === RANGE, + hidden: selectedRadio === ALL } const handleRadioButtons = evt => { @@ -255,26 +168,28 @@ const LogsDownloaderPopover = ({ variant="contained" /> -
    -
    {title}
    -
    +
    +

    + {title} +

    +
    {selectedRadio === RANGE && (
    -
    +
    {range && ( <> From -
    - +
    +
    To @@ -295,18 +210,18 @@ const LogsDownloaderPopover = ({
    )} {simplified && ( -
    +
    )} -
    +
    downloadLogs(range, args)}> Download diff --git a/new-lamassu-admin/src/components/Modal.jsx b/new-lamassu-admin/src/components/Modal.jsx index ad750571..c9c866c2 100644 --- a/new-lamassu-admin/src/components/Modal.jsx +++ b/new-lamassu-admin/src/components/Modal.jsx @@ -1,6 +1,5 @@ import MaterialModal from '@mui/material/Modal' import Paper from '@mui/material/Paper' -import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React from 'react' import { H1, H4 } from 'src/components/typography' @@ -8,68 +7,6 @@ import CloseIcon from 'src/styling/icons/action/close/zodiac.svg?react' import { IconButton } from 'src/components/buttons' -const styles = { - modal: { - display: 'flex', - justifyContent: 'center', - flexDirection: 'column', - alignItems: 'center' - }, - wrapper: ({ width, height }) => ({ - width, - height, - display: 'flex', - flexDirection: 'column', - minHeight: height ?? 400, - maxHeight: '90vh', - overflowY: 'auto', - borderRadius: 8, - outline: 0 - }), - infoPanelWrapper: ({ width, infoPanelHeight }) => ({ - width, - height: infoPanelHeight, - marginTop: 16, - display: 'flex', - flexDirection: 'column', - minHeight: infoPanelHeight ?? 200, - maxHeight: '90vh', - overflowY: 'auto', - borderRadius: 8, - outline: 0 - }), - panelContent: { - width: '100%', - display: 'flex', - flexDirection: 'column', - flex: 1, - padding: [[0, 24]] - }, - content: ({ small, xl }) => ({ - width: '100%', - display: 'flex', - flexDirection: 'column', - flex: 1, - padding: xl ? [[0, 60 + 28]] : small ? [[0, 16]] : [[0, 32]] - }), - button: ({ small, xl }) => ({ - padding: [[0, 0, 0, 0]], - margin: xl - ? [[0, 0, 'auto', 'auto']] - : small - ? [[12, 12, 'auto', 'auto']] - : [[16, 16, 'auto', 'auto']] - }), - header: { - display: 'flex' - }, - title: ({ small }) => ({ - margin: small ? [[20, 0, 8, 16]] : [[28, 0, 8, 32]] - }) -} - -const useStyles = makeStyles(styles) - const Modal = ({ width, height, @@ -86,7 +23,6 @@ const Modal = ({ closeOnBackdropClick, ...props }) => { - const classes = useStyles({ width, height, small, infoPanelHeight, xl }) const TitleCase = small ? H4 : H1 const closeSize = xl ? 28 : small ? 16 : 20 @@ -96,24 +32,60 @@ const Modal = ({ handleClose() } + const marginBySize = xl ? 0 : small ? 12 : 16 + const paddingBySize = xl ? 88 : small ? 16 : 32 return ( - + <> - -
    - {title && {title}} - handleClose()}> - - + +
    + {title && ( + + {title} + + )} +
    + handleClose()}> + + +
    +
    +
    + {children}
    -
    {children}
    {infoPanel && ( - -
    {infoPanel}
    + +
    + {infoPanel} +
    )} diff --git a/new-lamassu-admin/src/components/Popper.jsx b/new-lamassu-admin/src/components/Popper.jsx index 75159a0a..d440b987 100644 --- a/new-lamassu-admin/src/components/Popper.jsx +++ b/new-lamassu-admin/src/components/Popper.jsx @@ -1,120 +1,15 @@ import MaterialPopper from '@mui/material/Popper' import Paper from '@mui/material/Paper' -import { makeStyles } from '@mui/styles' import classnames from 'classnames' import * as R from 'ramda' import React, { useState } from 'react' import { white } from 'src/styling/variables' +import classes from './Popper.module.css' -const Popover = ({ - children, - bgColor = white, - arrowSize = 6, - className, - ...props -}) => { +const Popover = ({ children, bgColor = white, className, ...props }) => { const [arrowRef, setArrowRef] = useState(null) - const styles = { - popover: { - zIndex: 3000, - backgroundColor: bgColor, - borderRadius: 4 - }, - arrow: { - position: 'absolute', - fontSize: arrowSize, - width: '3em', - height: '3em' - }, - arrowBottom: { - top: 0, - width: 0, - height: 0, - borderLeft: [['2em', 'solid', 'transparent']], - borderRight: [['2em', 'solid', 'transparent']], - borderBottom: [['2em', 'solid', bgColor]], - marginTop: '-1.9em', - '&:after': { - zIndex: -10, - content: '""', - position: 'absolute', - width: arrowSize * 3, - height: arrowSize * 3, - marginLeft: 0, - bottom: 0, - top: 'calc(50% - 0px)', - left: 0, - border: '5px solid #fff', - borderColor: 'transparent transparent #fff #fff', - transformOrigin: '0 0', - transform: 'rotate(45deg)', - boxShadow: - '0px 2px 1px -1px rgba(0,0,0,0.2),0px 1px 1px 0px rgba(0,0,0,0.14),0px 1px 3px 0px rgba(0,0,0,0.12)' - } - }, - arrowTop: { - bottom: 0, - width: 0, - height: 0, - borderLeft: [['2em', 'solid', 'transparent']], - borderRight: [['2em', 'solid', 'transparent']], - borderTop: [['2em', 'solid', bgColor]], - marginBottom: '-1.9em', - '&:after': { - zIndex: -10, - content: '""', - position: 'absolute', - width: arrowSize * 3, - height: arrowSize * 3, - marginLeft: 0, - bottom: 0, - top: -(arrowSize * 4 + 2), - left: 0, - border: '5px solid #fff', - borderColor: 'transparent transparent #fff #fff', - transformOrigin: '0 0', - transform: 'rotate(45deg)', - boxShadow: - '0px 2px 1px -1px rgba(0,0,0,0.2),0px 1px 1px 0px rgba(0,0,0,0.14),0px 1px 3px 0px rgba(0,0,0,0.12)' - } - }, - arrowRight: { - left: 0, - width: 0, - height: 0, - borderTop: [['2em', 'solid', 'transparent']], - borderBottom: [['2em', 'solid', 'transparent']], - borderRight: [['2em', 'solid', bgColor]], - marginLeft: '-1.9em' - }, - arrowLeft: { - right: 0, - width: 0, - height: 0, - borderTop: [['2em', 'solid', 'transparent']], - borderBottom: [['2em', 'solid', 'transparent']], - borderLeft: [['2em', 'solid', bgColor]], - marginRight: '-1.9em' - }, - root: { - backgroundColor: bgColor - } - } - - const useStyles = makeStyles(styles) - - const classes = useStyles() - - const getArrowClasses = placement => ({ - [classes.arrow]: true, - [classes.arrowBottom]: placement === 'bottom', - [classes.arrowTop]: placement === 'top', - [classes.arrowRight]: placement === 'right', - [classes.arrowLeft]: placement === 'left' - }) - const flipPlacements = { top: ['bottom'], bottom: ['top'], @@ -164,17 +59,16 @@ const Popover = ({ - {({ placement }) => ( - - - {children} - - )} + + + {children} + ) diff --git a/new-lamassu-admin/src/components/Popper.module.css b/new-lamassu-admin/src/components/Popper.module.css new file mode 100644 index 00000000..66826b91 --- /dev/null +++ b/new-lamassu-admin/src/components/Popper.module.css @@ -0,0 +1,33 @@ +.newArrow, +.newArrow::before { + position: absolute; + width: 8px; + height: 8px; + background: inherit; +} + +.newArrow { + visibility: hidden; +} + +.newArrow::before { + visibility: visible; + content: ''; + transform: rotate(45deg); +} + +.tooltip[data-popper-placement^='top'] > div > span { + bottom: -4px; +} + +.tooltip[data-popper-placement^='bottom'] > div > span { + top: -4px; +} + +.tooltip[data-popper-placement^='left'] > div > span { + right: -4px; +} + +.tooltip[data-popper-placement^='right'] > div > span { + left: -4px; +} \ No newline at end of file diff --git a/new-lamassu-admin/src/components/SearchBox.jsx b/new-lamassu-admin/src/components/SearchBox.jsx index 0ef4d95e..4445e569 100644 --- a/new-lamassu-admin/src/components/SearchBox.jsx +++ b/new-lamassu-admin/src/components/SearchBox.jsx @@ -1,16 +1,11 @@ import InputBase from '@mui/material/InputBase' import Paper from '@mui/material/Paper' -import { makeStyles } from '@mui/styles' import MAutocomplete from '@mui/material/Autocomplete' import classnames from 'classnames' import React, { memo, useState } from 'react' import { P } from 'src/components/typography' import SearchIcon from 'src/styling/icons/circle buttons/search/zodiac.svg?react' -import styles from './SearchBox.styles' - -const useStyles = makeStyles(styles) - const SearchBox = memo( ({ loading = false, @@ -21,13 +16,11 @@ const SearchBox = memo( onChange, ...props }) => { - const classes = useStyles({ size }) - const [popupOpen, setPopupOpen] = useState(false) const inputClasses = { - [classes.input]: true, - [classes.inputWithPopup]: popupOpen + 'flex flex-1 h-8 px-2 py-2 font-md items-center rounded-2xl bg-zircon text-comet': true, + 'rounded-b-none': popupOpen } const innerOnChange = filters => onChange(filters) @@ -35,15 +28,16 @@ const SearchBox = memo( return ( it.label || it.value} renderOption={(props, it) => (
  • -
    -

    {it.label || it.value}

    -

    {it.type}

    +
    +

    + {it.label || it.value} +

    +

    {it.type}

  • )} @@ -54,8 +48,10 @@ const SearchBox = memo( filterSelectedOptions isOptionEqualToValue={(option, value) => option.type === value.type} PaperComponent={({ children }) => ( - -
    + +
    {children} )} @@ -65,13 +61,10 @@ const SearchBox = memo( ref={params.InputProps.ref} {...params} className={classnames(inputClasses)} - startAdornment={} + startAdornment={} placeholder={inputPlaceholder} inputProps={{ - className: classes.bold, - classes: { - root: classes.size - }, + className: 'font-bold', ...params.inputProps }} /> diff --git a/new-lamassu-admin/src/components/SearchBox.styles.js b/new-lamassu-admin/src/components/SearchBox.styles.js deleted file mode 100644 index 336f3ff7..00000000 --- a/new-lamassu-admin/src/components/SearchBox.styles.js +++ /dev/null @@ -1,78 +0,0 @@ -import baseButtonStyles from 'src/components/buttons/BaseButton.styles' -import { bySize, bold } from 'src/styling/helpers' -import { zircon, comet, primaryColor } from 'src/styling/variables' - -const { baseButton } = baseButtonStyles - -const searchBoxBorderRadius = baseButton.height / 2 -const searchBoxHeight = 32 -const popupBorderRadiusFocus = baseButton.height / 4 - -const hoverColor = 'rgba(0, 0, 0, 0.08)' -const boxShadow = `0 4px 4px 0 ${hoverColor}` - -const styles = { - size: ({ size }) => ({ - marginTop: size === 'lg' ? 0 : 2, - ...bySize(size) - }), - bold, - autocomplete: { - '&[data-focus="true"]': { - backgroundColor: hoverColor - } - }, - popup: { - display: 'flex', - flexDirection: 'column', - borderRadius: [[0, 0, popupBorderRadiusFocus, popupBorderRadiusFocus]], - backgroundColor: zircon, - boxShadow - }, - separator: { - width: '88%', - height: 1, - margin: '0 auto', - border: 'solid 0.5px', - borderColor: comet - }, - item: { - display: 'flex', - flexDirection: 'row', - width: '100%', - height: 36, - alignItems: 'center' - }, - itemLabel: { - margin: [0], - whiteSpace: 'nowrap', - overflow: 'hidden', - textOverflow: 'ellipsis' - }, - itemType: { - marginLeft: 'auto', - fontSize: 12, - color: comet, - margin: [0] - }, - input: { - display: 'flex', - flex: 1, - width: 273, - padding: [[8, 12]], - alignItems: 'center', - height: searchBoxHeight, - borderRadius: searchBoxBorderRadius, - backgroundColor: zircon, - color: primaryColor - }, - inputWithPopup: { - borderRadius: [[popupBorderRadiusFocus, popupBorderRadiusFocus, 0, 0]], - boxShadow - }, - iconButton: { - marginRight: 12 - } -} - -export default styles diff --git a/new-lamassu-admin/src/components/SearchFilter.jsx b/new-lamassu-admin/src/components/SearchFilter.jsx index d16891e4..bff5cb95 100644 --- a/new-lamassu-admin/src/components/SearchFilter.jsx +++ b/new-lamassu-admin/src/components/SearchFilter.jsx @@ -1,4 +1,3 @@ -import { makeStyles } from '@mui/styles' import Chip from '@mui/material/Chip' import React from 'react' import { P, Label3 } from 'src/components/typography' @@ -9,38 +8,29 @@ import ReverseFilterIcon from 'src/styling/icons/button/filter/zodiac.svg?react' import { ActionButton } from 'src/components/buttons' import { onlyFirstToUpper, singularOrPlural } from 'src/utils/string' -import { chipStyles, styles } from './SearchFilter.styles' - -const useChipStyles = makeStyles(chipStyles) -const useStyles = makeStyles(styles) - const SearchFilter = ({ filters, onFilterDelete, deleteAllFilters, entries = 0 }) => { - const chipClasses = useChipStyles() - const classes = useStyles() - return ( <> -

    {'Filters:'}

    -
    -
    +

    {'Filters:'}

    +
    +
    {filters.map((f, idx) => ( onFilterDelete(f)} - deleteIcon={} + deleteIcon={} /> ))}
    -
    +
    { - {`${entries} ${singularOrPlural( + {`${entries} ${singularOrPlural( entries, `entry`, `entries` @@ -50,7 +40,6 @@ const SearchFilter = ({ color="secondary" Icon={ReverseFilterIcon} InverseIcon={FilterIcon} - className={classes.deleteButton} onClick={deleteAllFilters}> Delete filters diff --git a/new-lamassu-admin/src/components/SearchFilter.styles.js b/new-lamassu-admin/src/components/SearchFilter.styles.js deleted file mode 100644 index fd2f8ccb..00000000 --- a/new-lamassu-admin/src/components/SearchFilter.styles.js +++ /dev/null @@ -1,62 +0,0 @@ -import { - primaryColor, - zircon, - smallestFontSize, - inputFontFamily, - inputFontWeight, - spacer, - offColor -} from 'src/styling/variables' - -const chipStyles = { - root: { - marginLeft: 0, - height: 20, - backgroundColor: zircon, - '&:hover, &:focus, &:active': { - backgroundColor: zircon - }, - marginBottom: 'auto' - }, - label: { - fontSize: smallestFontSize, - fontWeight: inputFontWeight, - fontFamily: inputFontFamily, - paddingRight: 0, - paddingLeft: spacer, - color: primaryColor - } -} - -const styles = { - button: { - width: 8, - height: 8, - marginLeft: 8, - marginRight: 8 - }, - text: { - marginTop: 0, - marginBottom: 0 - }, - filters: { - display: 'flex', - marginBottom: 16 - }, - deleteWrapper: { - display: 'flex', - marginLeft: 'auto', - justifyContent: 'flex-end', - flexDirection: 'row' - }, - entries: { - color: offColor, - margin: 'auto', - marginRight: 12 - }, - chips: { - marginTop: 'auto' - } -} - -export { chipStyles, styles } diff --git a/new-lamassu-admin/src/components/Status.jsx b/new-lamassu-admin/src/components/Status.jsx index 38c02988..710cffdd 100644 --- a/new-lamassu-admin/src/components/Status.jsx +++ b/new-lamassu-admin/src/components/Status.jsx @@ -1,59 +1,8 @@ import Chip from '@mui/material/Chip' -import { makeStyles } from '@mui/styles' import React from 'react' -import { - tomato, - mistyRose, - pumpkin, - secondaryColorDarker as spring4, - inputFontWeight, - spring3, - zircon, - primaryColor, - smallestFontSize, - inputFontFamily, - spacer, - linen -} from '../styling/variables' - -const colors = { - error: tomato, - warning: pumpkin, - success: spring4, - neutral: primaryColor -} - -const backgroundColors = { - error: mistyRose, - warning: linen, - success: spring3, - neutral: zircon -} - -const useStyles = makeStyles({ - root: { - borderRadius: spacer / 2, - marginTop: spacer / 2, - marginRight: spacer / 4, - marginBottom: spacer / 2, - marginLeft: spacer / 4, - height: spacer * 3, - backgroundColor: ({ type }) => backgroundColors[type] - }, - label: { - fontSize: smallestFontSize, - fontWeight: inputFontWeight, - fontFamily: inputFontFamily, - paddingRight: spacer / 2, - paddingLeft: spacer / 2, - color: ({ type }) => colors[type] - } -}) - const Status = ({ status }) => { - const classes = useStyles({ type: status.type }) - return + return } const MainStatus = ({ statuses }) => { diff --git a/new-lamassu-admin/src/components/Stepper.jsx b/new-lamassu-admin/src/components/Stepper.jsx index c8590173..66a829ab 100644 --- a/new-lamassu-admin/src/components/Stepper.jsx +++ b/new-lamassu-admin/src/components/Stepper.jsx @@ -1,4 +1,3 @@ -import { makeStyles } from '@mui/styles' import classnames from 'classnames' import * as R from 'ramda' import React, { memo } from 'react' @@ -9,79 +8,29 @@ import CompleteStageIconZodiac from 'src/styling/icons/stage/zodiac/complete.svg import CurrentStageIconZodiac from 'src/styling/icons/stage/zodiac/current.svg?react' import EmptyStageIconZodiac from 'src/styling/icons/stage/zodiac/empty.svg?react' -import { - primaryColor, - secondaryColor, - offColor, - disabledColor -} from 'src/styling/variables' - -const styles = { - stages: { - display: 'flex', - alignItems: 'center' - }, - wrapper: { - display: 'flex', - alignItems: 'center', - margin: 0 - }, - stage: { - display: 'flex', - height: 28, - width: 28, - zIndex: 2, - '& > svg': { - height: '100%', - width: '100%', - overflow: 'visible' - } - }, - separator: { - width: 28, - height: 2, - border: [[2, 'solid']], - zIndex: 1 - }, - separatorSpring: { - borderColor: secondaryColor - }, - separatorZodiac: { - borderColor: primaryColor - }, - separatorSpringEmpty: { - borderColor: disabledColor - }, - separatorZodiacEmpty: { - borderColor: offColor - } -} - -const useStyles = makeStyles(styles) +import classes from './Stepper.module.css' const Stepper = memo(({ steps, currentStep, color = 'spring', className }) => { if (currentStep < 1 || currentStep > steps) throw Error('Value of currentStage is invalid') if (steps < 1) throw Error('Value of stages is invalid') - const classes = useStyles() - const separatorClasses = { - [classes.separator]: true, - [classes.separatorSpring]: color === 'spring', - [classes.separatorZodiac]: color === 'zodiac' + 'w-7 h-[2px] border-2 z-1': true, + 'border-spring': color === 'spring', + 'border-zodiac': color === 'zodiac' } const separatorEmptyClasses = { - [classes.separator]: true, - [classes.separatorSpringEmpty]: color === 'spring', - [classes.separatorZodiacEmpty]: color === 'zodiac' + 'w-7 h-[2px] border-2 z-1': true, + 'border-dust': color === 'spring', + 'border-comet': color === 'zodiac' } return ( -
    +
    {R.range(1, currentStep).map(idx => ( -
    +
    {idx > 1 &&
    }
    {color === 'spring' && } @@ -89,7 +38,7 @@ const Stepper = memo(({ steps, currentStep, color = 'spring', className }) => {
    ))} -
    +
    {currentStep > 1 &&
    }
    {color === 'spring' && } @@ -97,7 +46,7 @@ const Stepper = memo(({ steps, currentStep, color = 'spring', className }) => {
    {R.range(currentStep + 1, steps + 1).map(idx => ( -
    +
    {color === 'spring' && } diff --git a/new-lamassu-admin/src/components/Stepper.module.css b/new-lamassu-admin/src/components/Stepper.module.css new file mode 100644 index 00000000..34c7b5f7 --- /dev/null +++ b/new-lamassu-admin/src/components/Stepper.module.css @@ -0,0 +1,12 @@ +.stage { + display: flex; + height: 28px; + width: 28px; + z-index: 2; +} + +.stage > svg { + height: 100%; + width: 100%; + overflow: visible; +} \ No newline at end of file diff --git a/new-lamassu-admin/src/components/Subtitle.jsx b/new-lamassu-admin/src/components/Subtitle.jsx index b22f56a0..1efb6f3a 100644 --- a/new-lamassu-admin/src/components/Subtitle.jsx +++ b/new-lamassu-admin/src/components/Subtitle.jsx @@ -1,27 +1,12 @@ -import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React, { memo } from 'react' -import { spacer, offColor } from 'src/styling/variables' - import { TL1 } from './typography' -const useStyles = makeStyles({ - subtitle: { - color: offColor, - marginTop: spacer * 2, - marginBottom: spacer * 2 - }, - extraMarginTop: { - marginTop: spacer * 9 - } -}) - const Subtitle = memo(({ children, className, extraMarginTop }) => { - const classes = useStyles() const classNames = { - [classes.subtitle]: true, - [classes.extraMarginTop]: extraMarginTop + 'text-comet my-4': true, + 'mt-18': extraMarginTop } return {children} diff --git a/new-lamassu-admin/src/components/TableLabel.jsx b/new-lamassu-admin/src/components/TableLabel.jsx deleted file mode 100644 index efddfa62..00000000 --- a/new-lamassu-admin/src/components/TableLabel.jsx +++ /dev/null @@ -1,35 +0,0 @@ -import { makeStyles } from '@mui/styles' -import classnames from 'classnames' -import React from 'react' - -import { Label1 } from './typography' - -const useStyles = makeStyles({ - wrapper: { - display: 'flex', - alignItems: 'center' - }, - colorIndicator: { - borderRadius: 3, - height: 12, - width: 12, - marginRight: 8 - } -}) - -const TableLabel = ({ className, label, color, ...props }) => { - const classes = useStyles() - return ( -
    - {color && ( -
    - )} - {label} -
    - ) -} - -export default TableLabel diff --git a/new-lamassu-admin/src/components/Title.jsx b/new-lamassu-admin/src/components/Title.jsx index 13bf4e5f..25c68b20 100644 --- a/new-lamassu-admin/src/components/Title.jsx +++ b/new-lamassu-admin/src/components/Title.jsx @@ -1,20 +1,9 @@ -import { makeStyles } from '@mui/styles' import React, { memo } from 'react' -import { spacer } from 'src/styling/variables' - import { H1 } from './typography' -const useStyles = makeStyles({ - title: { - marginTop: spacer * 3, - marginBottom: spacer * 3 - } -}) - const Title = memo(({ children }) => { - const classes = useStyles() - return

    {children}

    + return

    {children}

    }) export default Title diff --git a/new-lamassu-admin/src/components/Tooltip.jsx b/new-lamassu-admin/src/components/Tooltip.jsx index 863dc417..1d825f77 100644 --- a/new-lamassu-admin/src/components/Tooltip.jsx +++ b/new-lamassu-admin/src/components/Tooltip.jsx @@ -1,11 +1,10 @@ import ClickAwayListener from '@mui/material/ClickAwayListener' -import { makeStyles } from '@mui/styles' import * as R from 'ramda' import React, { useState, memo } from 'react' import Popper from 'src/components/Popper' import HelpIcon from 'src/styling/icons/action/help/zodiac.svg?react' -const useStyles = makeStyles({ +const useStyles = { transparentButton: { border: 'none', backgroundColor: 'transparent', @@ -27,10 +26,9 @@ const useStyles = makeStyles({ width, padding: [[10, 15]] }) -}) +} -const usePopperHandler = width => { - const classes = useStyles({ width }) +const usePopperHandler = () => { const [helpPopperAnchorEl, setHelpPopperAnchorEl] = useState(null) const handleOpenHelpPopper = event => { @@ -48,7 +46,6 @@ const usePopperHandler = width => { const helpPopperOpen = Boolean(helpPopperAnchorEl) return { - classes, helpPopperAnchorEl, helpPopperOpen, handleOpenHelpPopper, @@ -62,15 +59,13 @@ const HelpTooltip = memo(({ children, width }) => { return ( -
    +
    {handler.helpPopperOpen && ( -
    +
    )} @@ -79,7 +74,9 @@ const HelpTooltip = memo(({ children, width }) => { anchorEl={handler.helpPopperAnchorEl} arrowEnabled={true} placement="bottom"> -
    {children}
    +
    + {children} +
    @@ -104,7 +101,7 @@ const HoverableTooltip = memo(({ parentElements, children, width }) => { type="button" onMouseEnter={handler.handleOpenHelpPopper} onMouseLeave={handler.handleCloseHelpPopper} - className={handler.classes.transparentButton}> + className="border-0 bg-transparent outline-0 cursor-pointer mt-1"> )} @@ -112,7 +109,9 @@ const HoverableTooltip = memo(({ parentElements, children, width }) => { open={handler.helpPopperOpen} anchorEl={handler.helpPopperAnchorEl} placement="bottom"> -
    {children}
    +
    + {children} +
    diff --git a/new-lamassu-admin/src/components/Uptime.jsx b/new-lamassu-admin/src/components/Uptime.jsx deleted file mode 100644 index ed1d4a2e..00000000 --- a/new-lamassu-admin/src/components/Uptime.jsx +++ /dev/null @@ -1,93 +0,0 @@ -import { makeStyles } from '@mui/styles' -import Chip from '@mui/material/Chip' -import * as R from 'ramda' -import React from 'react' - -import { - secondaryColorLighter, - secondaryColorDarker, - offErrorColor, - errorColor, - offColor, - inputFontWeight, - smallestFontSize, - inputFontFamily, - spacer -} from 'src/styling/variables' -import { onlyFirstToUpper } from 'src/utils/string' - -import typographyStyles from './typography/styles' -const { label1 } = typographyStyles - -const colors = { - running: secondaryColorDarker, - notRunning: offErrorColor -} - -const backgroundColors = { - running: secondaryColorLighter, - notRunning: errorColor -} - -const styles = { - uptimeContainer: { - display: 'inline-block', - minWidth: 104, - margin: [[0, 20]] - }, - name: { - extend: label1, - paddingLeft: 4, - color: offColor - } -} - -const useStyles = makeStyles(styles) - -const useChipStyles = makeStyles({ - root: { - borderRadius: spacer / 2, - marginTop: spacer / 2, - marginRight: spacer / 4, - marginBottom: spacer / 2, - marginLeft: spacer / 4, - height: spacer * 3, - backgroundColor: ({ type }) => backgroundColors[type] - }, - label: { - fontSize: smallestFontSize, - fontWeight: inputFontWeight, - fontFamily: inputFontFamily, - padding: [[spacer / 2, spacer]], - color: ({ type }) => colors[type] - } -}) - -const Uptime = ({ process, ...props }) => { - const classes = useStyles() - - const uptime = time => { - if (time < 60) return `${time}s` - if (time < 3600) return `${Math.floor(time / 60)}m` - if (time < 86400) return `${Math.floor(time / 60 / 60)}h` - return `${Math.floor(time / 60 / 60 / 24)}d` - } - - return ( -
    -
    {R.toLower(process.name)}
    - -
    - ) -} - -export default Uptime diff --git a/new-lamassu-admin/src/components/buttons/IDButton.jsx b/new-lamassu-admin/src/components/buttons/IDButton.jsx index 122c8975..6856b34e 100644 --- a/new-lamassu-admin/src/components/buttons/IDButton.jsx +++ b/new-lamassu-admin/src/components/buttons/IDButton.jsx @@ -127,7 +127,6 @@ const IDButton = memo( open={open} anchorEl={anchorEl} onClose={handleClose} - arrowSize={3} placement="top" flip>
    diff --git a/new-lamassu-admin/src/pages/Customers/components/EditableCard.jsx b/new-lamassu-admin/src/pages/Customers/components/EditableCard.jsx index 56e04f9d..e3df3bac 100644 --- a/new-lamassu-admin/src/pages/Customers/components/EditableCard.jsx +++ b/new-lamassu-admin/src/pages/Customers/components/EditableCard.jsx @@ -1,6 +1,5 @@ import CardContent from '@mui/material/CardContent' import Card from '@mui/material/Card' -import classnames from 'classnames' import { Form, Formik, Field as FormikField } from 'formik' import * as R from 'ramda' import { useState, React, useRef } from 'react' @@ -90,7 +89,7 @@ const EditableCard = ({ const authorized = state === OVERRIDE_PENDING - ? { label: 'Pending', type: 'neutral' } + ? { label: 'Pending', type: 'default' } : state === OVERRIDE_REJECTED ? { label: 'Rejected', type: 'error' } : { label: 'Accepted', type: 'success' } diff --git a/new-lamassu-admin/src/pages/Funding.jsx b/new-lamassu-admin/src/pages/Funding/Funding.jsx similarity index 96% rename from new-lamassu-admin/src/pages/Funding.jsx rename to new-lamassu-admin/src/pages/Funding/Funding.jsx index 1d75af6c..9c0c589d 100644 --- a/new-lamassu-admin/src/pages/Funding.jsx +++ b/new-lamassu-admin/src/pages/Funding/Funding.jsx @@ -6,10 +6,16 @@ import { format } from 'date-fns/fp' import { QRCodeSVG as QRCode } from 'qrcode.react' import * as R from 'ramda' import React, { useState } from 'react' -import TableLabel from 'src/components/TableLabel' -import Title from 'src/components/Title' -import { Tr, Td, THead, TBody, Table } from 'src/components/fake-table/Table' -import Sidebar from 'src/components/layout/Sidebar' +import TableLabel from 'src/pages/Funding/TableLabel.jsx' +import Title from 'src/components/Title.jsx' +import { + Tr, + Td, + THead, + TBody, + Table +} from 'src/components/fake-table/Table.jsx' +import Sidebar from 'src/components/layout/Sidebar.jsx' import { H3, Info1, @@ -17,10 +23,10 @@ import { Info3, Label1, Label3 -} from 'src/components/typography' +} from 'src/components/typography/index.jsx' import CopyToClipboard from 'src/components/CopyToClipboard.jsx' -import { primaryColor } from 'src/styling/variables' +import { primaryColor } from 'src/styling/variables.js' import classes from './Funding.module.css' diff --git a/new-lamassu-admin/src/pages/Funding.module.css b/new-lamassu-admin/src/pages/Funding/Funding.module.css similarity index 100% rename from new-lamassu-admin/src/pages/Funding.module.css rename to new-lamassu-admin/src/pages/Funding/Funding.module.css diff --git a/new-lamassu-admin/src/pages/Funding/TableLabel.jsx b/new-lamassu-admin/src/pages/Funding/TableLabel.jsx new file mode 100644 index 00000000..787fce97 --- /dev/null +++ b/new-lamassu-admin/src/pages/Funding/TableLabel.jsx @@ -0,0 +1,20 @@ +import classnames from 'classnames' +import React from 'react' + +import { Label1 } from '../../components/typography/index.jsx' + +const TableLabel = ({ className, label, color, ...props }) => { + return ( +
    + {color && ( +
    + )} + {label} +
    + ) +} + +export default TableLabel diff --git a/new-lamassu-admin/src/pages/Logs.module.css b/new-lamassu-admin/src/pages/Logs/Logs.module.css similarity index 100% rename from new-lamassu-admin/src/pages/Logs.module.css rename to new-lamassu-admin/src/pages/Logs/Logs.module.css diff --git a/new-lamassu-admin/src/pages/MachineLogs.jsx b/new-lamassu-admin/src/pages/Logs/MachineLogs.jsx similarity index 90% rename from new-lamassu-admin/src/pages/MachineLogs.jsx rename to new-lamassu-admin/src/pages/Logs/MachineLogs.jsx index 2d70f647..0046ae3c 100644 --- a/new-lamassu-admin/src/pages/MachineLogs.jsx +++ b/new-lamassu-admin/src/pages/Logs/MachineLogs.jsx @@ -1,10 +1,10 @@ -import { useQuery, gql } from "@apollo/client"; +import { useQuery, gql } from '@apollo/client' import * as R from 'ramda' import React, { useState } from 'react' -import LogsDowloaderPopover from 'src/components/LogsDownloaderPopper' -import Title from 'src/components/Title' -import Sidebar from 'src/components/layout/Sidebar' -import { Info3, H4 } from 'src/components/typography' +import LogsDowloaderPopover from 'src/components/LogsDownloaderPopper.jsx' +import Title from 'src/components/Title.jsx' +import Sidebar from 'src/components/layout/Sidebar.jsx' +import { Info3, H4 } from 'src/components/typography/index.jsx' import { Table, @@ -13,8 +13,8 @@ import { TableHeader, TableBody, TableCell -} from 'src/components/table' -import { formatDate } from 'src/utils/timezones' +} from 'src/components/table/index.js' +import { formatDate } from 'src/utils/timezones.js' import classes from './Logs.module.css' @@ -48,7 +48,12 @@ const GET_MACHINE_LOGS_CSV = gql` ` const GET_MACHINE_LOGS = gql` - query MachineLogs($deviceId: ID!, $limit: Int, $from: DateTimeISO, $until: DateTimeISO) { + query MachineLogs( + $deviceId: ID! + $limit: Int + $from: DateTimeISO + $until: DateTimeISO + ) { machineLogs( deviceId: $deviceId limit: $limit diff --git a/new-lamassu-admin/src/pages/ServerLogs.jsx b/new-lamassu-admin/src/pages/Logs/ServerLogs.jsx similarity index 93% rename from new-lamassu-admin/src/pages/ServerLogs.jsx rename to new-lamassu-admin/src/pages/Logs/ServerLogs.jsx index d4ff6ac0..ac2d1926 100644 --- a/new-lamassu-admin/src/pages/ServerLogs.jsx +++ b/new-lamassu-admin/src/pages/Logs/ServerLogs.jsx @@ -1,12 +1,12 @@ import { useQuery, gql } from '@apollo/client' import * as R from 'ramda' import React, { useState, useRef } from 'react' -import LogsDowloaderPopover from 'src/components/LogsDownloaderPopper' -import Title from 'src/components/Title' -import Uptime from 'src/components/Uptime' -import { Info3, H4 } from 'src/components/typography' +import LogsDowloaderPopover from 'src/components/LogsDownloaderPopper.jsx' +import Title from 'src/components/Title.jsx' +import Uptime from 'src/pages/Logs/Uptime.jsx' +import { Info3, H4 } from 'src/components/typography/index.jsx' -import { Select } from 'src/components/inputs' +import { Select } from 'src/components/inputs/index.js' import { Table, TableHead, @@ -14,9 +14,9 @@ import { TableHeader, TableBody, TableCell -} from 'src/components/table' -import { startCase } from 'src/utils/string' -import { formatDate } from 'src/utils/timezones' +} from 'src/components/table/index.js' +import { startCase } from 'src/utils/string.js' +import { formatDate } from 'src/utils/timezones.js' import logsClasses from './Logs.module.css' import classes from './ServerLogs.module.css' diff --git a/new-lamassu-admin/src/pages/ServerLogs.module.css b/new-lamassu-admin/src/pages/Logs/ServerLogs.module.css similarity index 83% rename from new-lamassu-admin/src/pages/ServerLogs.module.css rename to new-lamassu-admin/src/pages/Logs/ServerLogs.module.css index 78e77779..ddea352c 100644 --- a/new-lamassu-admin/src/pages/ServerLogs.module.css +++ b/new-lamassu-admin/src/pages/Logs/ServerLogs.module.css @@ -1,5 +1,5 @@ .serverTableWrapper { - composes: tableWrapper from './Logs.module.css'; + composes: tableWrapper from 'Logs.module.css'; max-width: 100%; margin-left: 0; } diff --git a/new-lamassu-admin/src/pages/Logs/Uptime.jsx b/new-lamassu-admin/src/pages/Logs/Uptime.jsx new file mode 100644 index 00000000..adbe1217 --- /dev/null +++ b/new-lamassu-admin/src/pages/Logs/Uptime.jsx @@ -0,0 +1,33 @@ +import Chip from '@mui/material/Chip' +import * as R from 'ramda' +import React from 'react' + +import { onlyFirstToUpper } from 'src/utils/string.js' +import { Label1 } from 'src/components/typography/index.jsx' + +const Uptime = ({ process }) => { + const uptime = time => { + if (time < 60) return `${time}s` + if (time < 3600) return `${Math.floor(time / 60)}m` + if (time < 86400) return `${Math.floor(time / 60 / 60)}h` + return `${Math.floor(time / 60 / 60 / 24)}d` + } + + return ( +
    + + {R.toLower(process.name)} + + +
    + ) +} + +export default Uptime diff --git a/new-lamassu-admin/src/routing/lamassu.routes.jsx b/new-lamassu-admin/src/routing/lamassu.routes.jsx index aed875c0..81781d0b 100644 --- a/new-lamassu-admin/src/routing/lamassu.routes.jsx +++ b/new-lamassu-admin/src/routing/lamassu.routes.jsx @@ -1,9 +1,9 @@ import React from 'react' import { Redirect } from 'react-router-dom' -import Funding from 'src/pages/Funding' +import Funding from 'src/pages/Funding/Funding.jsx' import IndividualDiscounts from 'src/pages/LoyaltyPanel/IndividualDiscounts' import PromoCodes from 'src/pages/LoyaltyPanel/PromoCodes' -import MachineLogs from 'src/pages/MachineLogs' +import MachineLogs from 'src/pages/Logs/MachineLogs.jsx' import CashUnits from 'src/pages/Maintenance/CashUnits' import MachineStatus from 'src/pages/Maintenance/MachineStatus' import Notifications from 'src/pages/Notifications/Notifications' @@ -13,7 +13,7 @@ import MachineScreens from 'src/pages/OperatorInfo/MachineScreens' import ReceiptPrinting from 'src/pages/OperatorInfo/ReceiptPrinting' import SMSNotices from 'src/pages/OperatorInfo/SMSNotices/SMSNotices' import TermsConditions from 'src/pages/OperatorInfo/TermsConditions' -import ServerLogs from 'src/pages/ServerLogs' +import ServerLogs from 'src/pages/Logs/ServerLogs.jsx' import Services from 'src/pages/Services/Services' import SessionManagement from 'src/pages/SessionManagement/SessionManagement' import Transactions from 'src/pages/Transactions/Transactions' diff --git a/new-lamassu-admin/src/styling/global/global.css b/new-lamassu-admin/src/styling/global/global.css index 30dcc720..3660d78a 100644 --- a/new-lamassu-admin/src/styling/global/global.css +++ b/new-lamassu-admin/src/styling/global/global.css @@ -19,6 +19,7 @@ --comet3: #525772; --tomato: #ff584a; + --misty-rose: #ffeceb; --dust: #dddddd; --ghost: #fafbff; @@ -45,7 +46,8 @@ --color-comet2: var(--comet2); --color-comet3: var(--comet3); --color-tomato: var(--tomato); - --color--dust: var(--dust); + --color-misty-rose: var(--misty-rose); + --color-dust: var(--dust); --color-ghost: var(--ghost); --color-zircon: var(--zircon); --color-zircon2: var(--zircon2); diff --git a/new-lamassu-admin/src/styling/theme.js b/new-lamassu-admin/src/styling/theme.js index 230160a3..1e8ce8e7 100644 --- a/new-lamassu-admin/src/styling/theme.js +++ b/new-lamassu-admin/src/styling/theme.js @@ -16,7 +16,13 @@ import { disabledColor2, disabledColor, smallestFontSize, - inputFontWeight + inputFontWeight, + spring3, + spring4, + tomato, + mistyRose, + linen, + pumpkin } from './variables' const { p } = typographyStyles @@ -173,6 +179,30 @@ theme = createTheme(theme, { fontFamily: inputFontFamily, paddingRight: 4, paddingLeft: 4 + }, + colorDefault: { + backgroundColor: zircon, + '& .MuiChip-label': { + color: primaryColor + } + }, + colorWarning: { + backgroundColor: linen, + '& .MuiChip-label': { + color: pumpkin + } + }, + colorError: { + backgroundColor: mistyRose, + '& .MuiChip-label': { + color: tomato + } + }, + colorSuccess: { + backgroundColor: spring3, + '& .MuiChip-label': { + color: spring4 + } } } }, From 9f4bf1de7b278225dfe8c3ef1a9a46d3a93546d3 Mon Sep 17 00:00:00 2001 From: Rafael Taranto Date: Thu, 8 May 2025 16:22:10 +0100 Subject: [PATCH 56/85] partial: second batch of components --- .../NotificationCenter/NotificationCenter.jsx | 16 +- .../NotificationCenter.module.css | 145 ++++++++++++++ .../NotificationCenter.styles.js | 144 -------------- .../NotificationCenter/NotificationRow.jsx | 6 +- .../src/components/inputs/base/Checkbox.jsx | 48 +---- .../src/components/inputs/base/CodeInput.jsx | 23 +-- .../inputs/base/CodeInput.module.css | 14 ++ .../inputs/base/CodeInput.styles.js | 27 --- .../src/components/inputs/base/RadioGroup.jsx | 34 +--- .../inputs/formik/CashCassetteInput.jsx | 15 +- .../inputs/formik/TextInput.styles.js | 36 ---- .../src/components/layout/Header.jsx | 60 +++--- .../src/components/layout/Header.module.css | 175 +++++++++++++++++ .../src/components/layout/Header.styles.js | 182 ------------------ .../src/components/layout/Section.jsx | 12 +- .../src/components/layout/Section.styles.js | 12 -- .../src/components/layout/Sidebar.jsx | 32 ++- .../src/components/layout/Sidebar.module.css | 106 ++++++++++ .../src/components/layout/Sidebar.styles.js | 107 ---------- .../src/components/layout/TitleSection.jsx | 28 ++- .../components/layout/TitleSection.styles.js | 31 --- .../machineActions/DiagnosticsModal.jsx | 28 ++- .../machineActions/MachineActions.jsx | 19 +- .../machineActions/MachineActions.styles.js | 61 ------ .../single-row-table/SingleRowTable.jsx | 42 ++-- .../single-row-table/SingleRowTable.styles.js | 41 ---- .../src/components/table/EmptyTable.jsx | 21 +- .../src/components/table/Table.jsx | 18 +- .../src/components/table/TableCell.jsx | 17 +- .../src/components/table/TableHeader.jsx | 4 +- .../src/components/table/TableRow.jsx | 48 +---- .../src/components/tables/DataTable.jsx | 37 ++-- .../src/components/tables/DataTable.styles.js | 50 ----- .../src/components/tables/Stripes.jsx | 11 -- new-lamassu-admin/src/styling/theme.js | 10 + 35 files changed, 616 insertions(+), 1044 deletions(-) create mode 100644 new-lamassu-admin/src/components/NotificationCenter/NotificationCenter.module.css delete mode 100644 new-lamassu-admin/src/components/NotificationCenter/NotificationCenter.styles.js create mode 100644 new-lamassu-admin/src/components/inputs/base/CodeInput.module.css delete mode 100644 new-lamassu-admin/src/components/inputs/base/CodeInput.styles.js delete mode 100644 new-lamassu-admin/src/components/inputs/formik/TextInput.styles.js create mode 100644 new-lamassu-admin/src/components/layout/Header.module.css delete mode 100644 new-lamassu-admin/src/components/layout/Header.styles.js delete mode 100644 new-lamassu-admin/src/components/layout/Section.styles.js create mode 100644 new-lamassu-admin/src/components/layout/Sidebar.module.css delete mode 100644 new-lamassu-admin/src/components/layout/Sidebar.styles.js delete mode 100644 new-lamassu-admin/src/components/layout/TitleSection.styles.js delete mode 100644 new-lamassu-admin/src/components/machineActions/MachineActions.styles.js delete mode 100644 new-lamassu-admin/src/components/single-row-table/SingleRowTable.styles.js delete mode 100644 new-lamassu-admin/src/components/tables/DataTable.styles.js delete mode 100644 new-lamassu-admin/src/components/tables/Stripes.jsx diff --git a/new-lamassu-admin/src/components/NotificationCenter/NotificationCenter.jsx b/new-lamassu-admin/src/components/NotificationCenter/NotificationCenter.jsx index f0eef5d5..6e971d55 100644 --- a/new-lamassu-admin/src/components/NotificationCenter/NotificationCenter.jsx +++ b/new-lamassu-admin/src/components/NotificationCenter/NotificationCenter.jsx @@ -1,5 +1,4 @@ -import { useQuery, useMutation, gql } from "@apollo/client"; -import { makeStyles } from '@mui/styles' +import { useQuery, useMutation, gql } from '@apollo/client' import * as R from 'ramda' import React, { useState, useEffect } from 'react' import ActionButton from 'src/components/buttons/ActionButton' @@ -9,10 +8,8 @@ import ClearAllIconInverse from 'src/styling/icons/stage/spring/empty.svg?react' import ClearAllIcon from 'src/styling/icons/stage/zodiac/empty.svg?react' import ShowUnreadIcon from 'src/styling/icons/stage/zodiac/full.svg?react' -import styles from './NotificationCenter.styles' import NotificationRow from './NotificationRow' - -const useStyles = makeStyles(styles) +import classes from './NotificationCenter.module.css' const GET_NOTIFICATIONS = gql` query getNotifications { @@ -63,7 +60,6 @@ const NotificationCenter = ({ const [xOffset, setXoffset] = useState(300) const [showingUnread, setShowingUnread] = useState(false) - const classes = useStyles({ buttonCoords, xOffset }) const machines = R.compose( R.map(R.prop('name')), R.indexBy(R.prop('deviceId')) @@ -120,7 +116,13 @@ const NotificationCenter = ({
    Notifications
    - diff --git a/new-lamassu-admin/src/components/NotificationCenter/NotificationCenter.module.css b/new-lamassu-admin/src/components/NotificationCenter/NotificationCenter.module.css new file mode 100644 index 00000000..dd30252b --- /dev/null +++ b/new-lamassu-admin/src/components/NotificationCenter/NotificationCenter.module.css @@ -0,0 +1,145 @@ +.container { + width: 40vw; + height: 110vh; + right: 0; + background-color: white; + box-shadow: 0 0 14px 0 rgba(0, 0, 0, 0.24); +} + +.container @media only screen and (max-width: 1920px) { + width: 30vw; +} + +.header { + display: flex; + justify-content: space-between; +} + +.headerText { + margin-top: 20px; + margin-left: 12px; +} + +.actionButtons { + display: flex; + margin-left: 16px; + height: 0; +} + +.notificationIcon { + position: absolute; + cursor: pointer; + background: transparent; + box-shadow: 0 0 0 transparent; + border: 0 solid transparent; + text-shadow: 0 0 0 transparent; + outline: none; +} + +.clearAllButton { + margin-top: -16px; + margin-left: 8px; + background-color: var(--zircon); +} + +.notificationsList { + height: 90vh; + max-height: 100vh; + margin-top: 24px; + margin-left: 0; + overflow-y: auto; + overflow-x: hidden; + background-color: white; + z-index: 10; +} + +.notificationRow { + display: flex; + flex-direction: row; + justify-content: flex-start; + position: relative; + margin-bottom: 16px; + padding-top: 12px; + gap: 10px; +} + +.notificationRow > *:first-child { + margin-right: 24px; +} + +.notificationContent { + display: flex; + flex-direction: column; + justify-content: center; + width: 300px; +} + +.unread { + background-color: var(--spring3) +} + +.notificationRowIcon { + align-self: center; +} + +.notificationRowIcon > * { + margin-left: 24px +} + +.readIconWrapper { + flex-grow: 1 +} + +.unreadIcon { + margin-top: 5px; + margin-left: 8px; + width: 12px; + height: 12px; + background-color: var(--spring); + border-radius: 50%; + cursor: pointer; + z-index: 1; +} + +.readIcon { + margin-left: 8px; + margin-top: 5px; + width: 12px; + height: 12px; + border: 1px solid var(--comet); + border-radius: 50%; + cursor: pointer; + z-index: 1; +} + +.notificationTitle { + margin: 0; + color: var(--comet); +} + +.notificationBody { + margin: 0 +} + +.notificationSubtitle { + margin: 0; + margin-bottom: 8px; + color: var(--comet); +} + +.stripes { + position: absolute; + height: 100%; + top: 0; + opacity: 60%; +} + +.hasUnread { + position: absolute; + top: 0; + left: 16px; + width: 9px; + height: 9px; + background-color: var(--spring); + border-radius: 50%; +} \ No newline at end of file diff --git a/new-lamassu-admin/src/components/NotificationCenter/NotificationCenter.styles.js b/new-lamassu-admin/src/components/NotificationCenter/NotificationCenter.styles.js deleted file mode 100644 index 28d588b5..00000000 --- a/new-lamassu-admin/src/components/NotificationCenter/NotificationCenter.styles.js +++ /dev/null @@ -1,144 +0,0 @@ -import { - spacer, - white, - zircon, - secondaryColor, - spring3, - comet -} from 'src/styling/variables' - -const styles = { - container: { - '@media only screen and (max-width: 1920px)': { - width: '30vw' - }, - width: '40vw', - height: '110vh', - right: 0, - backgroundColor: white, - boxShadow: '0 0 14px 0 rgba(0, 0, 0, 0.24)' - }, - header: { - display: 'flex', - justifyContent: 'space-between' - }, - headerText: { - marginTop: spacer * 2.5, - marginLeft: spacer * 3 - }, - actionButtons: { - display: 'flex', - marginLeft: spacer * 2, - height: 0 - }, - notificationIcon: ({ buttonCoords, xOffset }) => ({ - position: 'absolute', - top: buttonCoords ? buttonCoords.y : 0, - left: buttonCoords ? buttonCoords.x - xOffset : 0, - cursor: 'pointer', - background: 'transparent', - boxShadow: '0px 0px 0px transparent', - border: '0px solid transparent', - textShadow: '0px 0px 0px transparent', - outline: 'none' - }), - clearAllButton: { - marginTop: -spacer * 2, - marginLeft: spacer, - backgroundColor: zircon - }, - notificationsList: { - height: '90vh', - maxHeight: '100vh', - marginTop: spacer * 3, - marginLeft: 0, - overflowY: 'auto', - overflowX: 'hidden', - backgroundColor: white, - zIndex: 10 - }, - notificationRow: { - display: 'flex', - flexDirection: 'row', - justifyContent: 'flex-start', - position: 'relative', - marginBottom: spacer / 2, - paddingTop: spacer * 1.5, - '& > *:first-child': { - marginRight: 24 - }, - '& > *': { - marginRight: 10 - }, - '& > *:last-child': { - marginRight: 0 - } - }, - notificationContent: { - display: 'flex', - flexDirection: 'column', - justifyContent: 'center', - width: 300 - }, - unread: { - backgroundColor: spring3 - }, - notificationRowIcon: { - alignSelf: 'center', - '& > *': { - marginLeft: spacer * 3 - } - }, - readIconWrapper: { - flexGrow: 1 - }, - unreadIcon: { - marginTop: 5, - marginLeft: spacer, - width: '12px', - height: '12px', - backgroundColor: secondaryColor, - borderRadius: '50%', - cursor: 'pointer', - zIndex: 1 - }, - readIcon: { - marginLeft: spacer, - marginTop: 5, - width: '12px', - height: '12px', - border: [[1, 'solid', comet]], - borderRadius: '50%', - cursor: 'pointer', - zIndex: 1 - }, - notificationTitle: { - margin: 0, - color: comet - }, - notificationBody: { - margin: 0 - }, - notificationSubtitle: { - margin: 0, - marginBottom: spacer, - color: comet - }, - stripes: { - position: 'absolute', - height: '100%', - top: '0px', - opacity: '60%' - }, - hasUnread: { - position: 'absolute', - top: 0, - left: 16, - width: '9px', - height: '9px', - backgroundColor: secondaryColor, - borderRadius: '50%' - } -} - -export default styles diff --git a/new-lamassu-admin/src/components/NotificationCenter/NotificationRow.jsx b/new-lamassu-admin/src/components/NotificationCenter/NotificationRow.jsx index 5b5de598..37f4bfa1 100644 --- a/new-lamassu-admin/src/components/NotificationCenter/NotificationRow.jsx +++ b/new-lamassu-admin/src/components/NotificationCenter/NotificationRow.jsx @@ -1,4 +1,3 @@ -import { makeStyles } from '@mui/styles' import classnames from 'classnames' import prettyMs from 'pretty-ms' import * as R from 'ramda' @@ -8,8 +7,7 @@ import Wrench from 'src/styling/icons/action/wrench/zodiac.svg?react' import Transaction from 'src/styling/icons/arrow/transaction.svg?react' import WarningIcon from 'src/styling/icons/warning-icon/tomato.svg?react' -import styles from './NotificationCenter.styles' -const useStyles = makeStyles(styles) +import classes from './NotificationCenter.module.css' const types = { transaction: { @@ -46,8 +44,6 @@ const NotificationRow = ({ valid, toggleClear }) => { - const classes = useStyles() - const typeDisplay = R.path([type, 'display'])(types) ?? null const icon = R.path([type, 'icon'])(types) ?? ( diff --git a/new-lamassu-admin/src/components/inputs/base/Checkbox.jsx b/new-lamassu-admin/src/components/inputs/base/Checkbox.jsx index cd097e1f..597c2157 100644 --- a/new-lamassu-admin/src/components/inputs/base/Checkbox.jsx +++ b/new-lamassu-admin/src/components/inputs/base/Checkbox.jsx @@ -1,60 +1,22 @@ import Checkbox from '@mui/material/Checkbox' -import { makeStyles } from '@mui/styles' import CheckBoxIcon from '@mui/icons-material/CheckBox' import CheckBoxOutlineBlankIcon from '@mui/icons-material/CheckBoxOutlineBlank' import React from 'react' import { Label2, Info3 } from 'src/components/typography' import WarningIcon from 'src/styling/icons/warning-icon/comet.svg?react' -import { - fontSize2, - fontSize3, - secondaryColor, - offColor -} from 'src/styling/variables' - -const useStyles = makeStyles({ - root: { - color: secondaryColor, - '&.Mui-checked': { - color: secondaryColor - } - }, - checked: {}, - checkBoxLabel: { - display: 'flex' - }, - wrapper: { - display: 'flex', - alignItems: 'center', - '& > svg': { - marginRight: 10 - } - }, - message: { - display: 'flex', - alignItems: 'center', - color: offColor, - margin: 0, - whiteSpace: 'break-spaces' - } -}) +import { fontSize2, fontSize3 } from 'src/styling/variables' const CheckboxInput = ({ name, onChange, value, settings, ...props }) => { const { enabled, label, disabledMessage, rightSideLabel } = settings - const classes = useStyles() return ( <> {enabled ? ( -
    +
    {!rightSideLabel && {label}} { {rightSideLabel && {label}}
    ) : ( -
    +
    - {disabledMessage} + + {disabledMessage} +
    )} diff --git a/new-lamassu-admin/src/components/inputs/base/CodeInput.jsx b/new-lamassu-admin/src/components/inputs/base/CodeInput.jsx index dd238952..c4439f9e 100644 --- a/new-lamassu-admin/src/components/inputs/base/CodeInput.jsx +++ b/new-lamassu-admin/src/components/inputs/base/CodeInput.jsx @@ -1,14 +1,8 @@ -import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React from 'react' import OtpInput from 'react-otp-input' -import typographyStyles from 'src/components/typography/styles' - -import styles from './CodeInput.styles' - -const useStyles = makeStyles(styles) -const useTypographyStyles = makeStyles(typographyStyles) +import classes from './CodeInput.module.css' const CodeInput = ({ name, @@ -19,9 +13,6 @@ const CodeInput = ({ inputStyle, containerStyle }) => { - const classes = useStyles() - const typographyClasses = useTypographyStyles() - return ( } shouldAutoFocus - containerStyle={classnames(containerStyle, classes.container)} + containerStyle={classnames(containerStyle, 'justify-evenly')} inputStyle={classnames( inputStyle, classes.input, - typographyClasses.confirmationCode, - error && classes.error + 'font-museo font-black text-4xl', + error && 'border-tomato' )} inputType={'tel'} - renderInput={(props) => ( - - )} + renderInput={props => } /> ) } diff --git a/new-lamassu-admin/src/components/inputs/base/CodeInput.module.css b/new-lamassu-admin/src/components/inputs/base/CodeInput.module.css new file mode 100644 index 00000000..5d76df7b --- /dev/null +++ b/new-lamassu-admin/src/components/inputs/base/CodeInput.module.css @@ -0,0 +1,14 @@ +.input { + width: 3.5rem !important; + height: 5rem; + border: 2px solid; + border-color: var(--zircon); + border-radius: 4px; +} + +.input:focus { + border: 2px solid; + border-color: var(--zodiac); + border-radius: 4px; + outline: none; +} diff --git a/new-lamassu-admin/src/components/inputs/base/CodeInput.styles.js b/new-lamassu-admin/src/components/inputs/base/CodeInput.styles.js deleted file mode 100644 index dcea511c..00000000 --- a/new-lamassu-admin/src/components/inputs/base/CodeInput.styles.js +++ /dev/null @@ -1,27 +0,0 @@ -import { primaryColor, zircon, errorColor } from 'src/styling/variables' - -const styles = { - input: { - width: '3.5rem !important', - height: '5rem', - border: '2px solid', - borderColor: zircon, - borderRadius: '4px', - '&:focus': { - border: '2px solid', - borderColor: primaryColor, - borderRadius: '4px', - '&:focus': { - outline: 'none' - } - }, - }, - error: { - borderColor: errorColor - }, - container: { - justifyContent: 'space-evenly' - } -} - -export default styles diff --git a/new-lamassu-admin/src/components/inputs/base/RadioGroup.jsx b/new-lamassu-admin/src/components/inputs/base/RadioGroup.jsx index 11f1bfdd..97b52d17 100644 --- a/new-lamassu-admin/src/components/inputs/base/RadioGroup.jsx +++ b/new-lamassu-admin/src/components/inputs/base/RadioGroup.jsx @@ -1,31 +1,10 @@ import Radio from '@mui/material/Radio' import MRadioGroup from '@mui/material/RadioGroup' import FormControlLabel from '@mui/material/FormControlLabel' -import { makeStyles } from '@mui/styles' import classnames from 'classnames' import React from 'react' import { Label1 } from 'src/components/typography' -import { offColor, secondaryColor } from 'src/styling/variables' -const styles = { - label: { - height: 16, - lineHeight: '16px', - margin: [[0, 0, 4, 0]], - paddingLeft: 3 - }, - subtitle: { - marginTop: -8, - marginLeft: 32, - color: offColor - }, - radio: { - color: secondaryColor - } -} - -const useStyles = makeStyles(styles) - const RadioGroup = ({ name, label, @@ -36,10 +15,11 @@ const RadioGroup = ({ labelClassName, radioClassName }) => { - const classes = useStyles() return ( <> - {label && {label}} + {label && ( + {label} + )} } + control={ + + } label={option.display} className={classnames(labelClassName)} /> {option.subtitle && ( - {option.subtitle} + {option.subtitle} )}
    diff --git a/new-lamassu-admin/src/components/inputs/formik/CashCassetteInput.jsx b/new-lamassu-admin/src/components/inputs/formik/CashCassetteInput.jsx index 14f4141a..11744265 100644 --- a/new-lamassu-admin/src/components/inputs/formik/CashCassetteInput.jsx +++ b/new-lamassu-admin/src/components/inputs/formik/CashCassetteInput.jsx @@ -1,30 +1,19 @@ -import { makeStyles } from '@mui/styles' import classNames from 'classnames' import React, { memo, useState } from 'react' import { CashOut } from 'src/components/inputs/cashbox/Cashbox' import { NumberInput } from '../base' -const useStyles = makeStyles({ - flex: { - display: 'flex' - }, - cashCassette: { - height: 36, - marginRight: 14 - } -}) const CashCassetteInput = memo( ({ decimalPlaces, width, threshold, inputClassName, ...props }) => { - const classes = useStyles() const { name, onChange, onBlur, value } = props.field const { touched, errors } = props.form const [notes, setNotes] = useState(value) const error = !!(touched[name] && errors[name]) return ( -
    +
    { +const Subheader = ({ item, user }) => { const [prev, setPrev] = useState(null) return ( -
    -
    +
    +