From d2218c888ba5771beafca25ae7cb69d78d0cce25 Mon Sep 17 00:00:00 2001 From: Alessandro Casazza Date: Thu, 22 Aug 2024 20:57:10 +0200 Subject: [PATCH] Show braintree 3ds error messages. Resolve #573. --- packages/react-components/package.json | 22 +- .../payment_source/BraintreePayment.tsx | 43 ++-- pnpm-lock.yaml | 238 +++++++++++++----- 3 files changed, 203 insertions(+), 100 deletions(-) diff --git a/packages/react-components/package.json b/packages/react-components/package.json index 2a37aea8..46794704 100644 --- a/packages/react-components/package.json +++ b/packages/react-components/package.json @@ -180,13 +180,13 @@ "dependencies": { "@adyen/adyen-web": "^5.66.1", "@commercelayer/organization-config": "^1.4.8", - "@commercelayer/sdk": "6.11.0", - "@stripe/react-stripe-js": "^2.7.3", - "@stripe/stripe-js": "^4.2.0", + "@commercelayer/sdk": "6.13.0", + "@stripe/react-stripe-js": "^2.8.0", + "@stripe/stripe-js": "^4.3.0", "@tanstack/react-table": "^8.17.3", "@types/iframe-resizer": "^3.5.13", "axios": "^1.7.3", - "braintree-web": "^3.105.0", + "braintree-web": "^3.106.0", "frames-react": "^1.1.2", "iframe-resizer": "^4.4.5", "jwt-decode": "^4.0.0", @@ -196,19 +196,19 @@ "devDependencies": { "@commercelayer/js-auth": "^6.3.1", "@faker-js/faker": "^8.4.0", - "@playwright/test": "^1.45.3", + "@playwright/test": "^1.46.1", "@testing-library/dom": "^10.4.0", "@testing-library/react": "^16.0.0", "@types/braintree-web": "^3.96.12", "@types/lodash": "^4.17.7", - "@types/node": "^22.1.0", + "@types/node": "^22.5.0", "@types/prop-types": "^15.7.12", - "@types/react": "^18.3.3", + "@types/react": "^18.3.4", "@types/react-test-renderer": "^18.0.7", "@types/react-window": "^1.8.8", "@vitejs/plugin-react": "^4.3.1", "@vitest/coverage-v8": "^2.0.5", - "eslint": "~9.8.0", + "eslint": "~8.57.0", "jsdom": "^24.1.1", "minimize-js": "^1.4.0", "msw": "^2.3.5", @@ -218,11 +218,11 @@ "tsc-alias": "^1.8.8", "tslib": "^2.6.3", "typescript": "^5.5.4", - "vite": "^5.3.5", - "vite-tsconfig-paths": "^4.3.2", + "vite": "^5.4.2", + "vite-tsconfig-paths": "^5.0.1", "vitest": "^2.0.5" }, "peerDependencies": { "react": ">=18.0.0" } -} +} \ No newline at end of file diff --git a/packages/react-components/src/components/payment_source/BraintreePayment.tsx b/packages/react-components/src/components/payment_source/BraintreePayment.tsx index 0819eb78..bfe052c8 100644 --- a/packages/react-components/src/components/payment_source/BraintreePayment.tsx +++ b/packages/react-components/src/components/payment_source/BraintreePayment.tsx @@ -168,30 +168,33 @@ export function BraintreePayment({ const response = (await threeDSInstance.verifyCard( verifyCardOptions )) as any - if ( - response.threeDSecureInfo.status === 'authenticate_successful' && - paymentSource - ) { - paymentSource && - (await setPaymentSource({ - paymentSourceId: paymentSource.id, - paymentResource: 'braintree_payments', - attributes: { - payment_method_nonce: response.nonce, - options: { - id: response.nonce, - card: { - last4: response.details.lastFour, - exp_year: response.details.expirationYear, - exp_month: response.details.expirationMonth, - brand: response.details.cardType.toLowerCase() - } + const validStatus = + response?.liabilityShiftPossible === true && + response?.liabilityShifted === true + console.log('validStatus', validStatus) + if (validStatus && paymentSource != null) { + await setPaymentSource({ + paymentSourceId: paymentSource.id, + paymentResource: 'braintree_payments', + attributes: { + payment_method_nonce: response.nonce, + options: { + id: response.nonce, + card: { + last4: response.details.lastFour, + exp_year: response.details.expirationYear, + exp_month: response.details.expirationMonth, + brand: response.details.cardType.toLowerCase() } } - })) + } + }) return true + } else { + throw new Error( + `3D Secure authentication failed - ${response?.threeDSecureInfo?.status}` + ) } - return false } catch (error: any) { console.error(error) setPaymentMethodErrors([ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b089bb7a..178b5f6d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -319,8 +319,12 @@ packages: resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.25.2': - resolution: {integrity: sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ==} + '@babel/compat-data@7.25.4': + resolution: {integrity: sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.25.2': + resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==} engines: {node: '>=6.9.0'} '@babel/core@7.25.2': @@ -331,6 +335,10 @@ packages: resolution: {integrity: sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==} engines: {node: '>=6.9.0'} + '@babel/generator@7.25.4': + resolution: {integrity: sha512-NFtZmZsyzDPJnk9Zg3BbTfKKc9UlHYzD0E//p2Z3B9nCwwtJW9T0gVbCz8+fBngnn4zf1Dr3IK8PHQQHq0lDQw==} + engines: {node: '>=6.9.0'} + '@babel/helper-annotate-as-pure@7.22.5': resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} @@ -436,6 +444,10 @@ packages: resolution: {integrity: sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==} engines: {node: '>=6.9.0'} + '@babel/helpers@7.25.0': + resolution: {integrity: sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==} + engines: {node: '>=6.9.0'} + '@babel/highlight@7.24.5': resolution: {integrity: sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==} engines: {node: '>=6.9.0'} @@ -974,6 +986,10 @@ packages: resolution: {integrity: sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ==} engines: {node: '>=6.9.0'} + '@babel/traverse@7.25.4': + resolution: {integrity: sha512-VJ4XsrD+nOvlXyLzmLzUs/0qjFS4sK30te5yEFlvbbUNEgKaVb2BHZUpAL+ttLPQAHNrsI3zZisbfha5Cvr8vg==} + engines: {node: '>=6.9.0'} + '@babel/types@7.24.7': resolution: {integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==} engines: {node: '>=6.9.0'} @@ -982,6 +998,10 @@ packages: resolution: {integrity: sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==} engines: {node: '>=6.9.0'} + '@babel/types@7.25.4': + resolution: {integrity: sha512-zQ1ijeeCXVEh+aNL0RlmkPkG8HUiDcU2pzQQFjtbntgAczRASFzj4H+6+bV+dy1ntKR14I/DypeuRG1uma98iQ==} + engines: {node: '>=6.9.0'} + '@base2/pretty-print-object@1.0.1': resolution: {integrity: sha512-4iri8i1AqYHJE2DstZYkyEprg6Pq6sKx3xn5FpySk9sNhH7qN2LLlHJCfDTZRILNwQNPD7mATWM0TBui7uC1pA==} @@ -1339,14 +1359,6 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/regexpp@4.10.0': - resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - - '@eslint-community/regexpp@4.10.1': - resolution: {integrity: sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint-community/regexpp@4.11.0': resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} @@ -2185,9 +2197,6 @@ packages: '@types/escodegen@0.0.6': resolution: {integrity: sha512-AjwI4MvWx3HAOaZqYsjKWyEObT9lcVV0Y0V8nXo6cXzN8ZiMxVhf6F3d/UNvXVGKrEzL/Dluc5p+y9GkzlTWig==} - '@types/eslint-scope@3.7.7': - resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} - '@types/eslint@9.6.0': resolution: {integrity: sha512-gi6WQJ7cHRgZxtkQEoyHMppPjq9Kxo5Tjn2prSKDSmZrCz8TZ3jSRCeTJm+WoM+oB0WG37bRqLzaaU3q7JypGg==} @@ -2911,6 +2920,9 @@ packages: caniuse-lite@1.0.30001651: resolution: {integrity: sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==} + caniuse-lite@1.0.30001651: + resolution: {integrity: sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==} + card-validator@10.0.0: resolution: {integrity: sha512-2fLyCBOxO7/b56sxoYav8FeJqv9bWpZSyKq8sXKxnpxTGXHnM/0c8WEKG+ZJ+OXFcabnl98pD0EKBtTn+Tql0g==} @@ -3232,15 +3244,6 @@ packages: supports-color: optional: true - debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - debug@4.3.5: resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} engines: {node: '>=6.0'} @@ -3406,6 +3409,9 @@ packages: electron-to-chromium@1.5.13: resolution: {integrity: sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==} + electron-to-chromium@1.5.13: + resolution: {integrity: sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==} + emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -5208,6 +5214,9 @@ packages: node-releases@2.0.18: resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} + node-releases@2.0.18: + resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} + nopt@7.2.1: resolution: {integrity: sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -6419,8 +6428,8 @@ packages: through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - tiny-invariant@1.3.1: - resolution: {integrity: sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==} + tiny-invariant@1.3.3: + resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} tiny-invariant@1.3.3: resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} @@ -6500,8 +6509,8 @@ packages: resolution: {integrity: sha512-Ibv4KAWfFkFdKJxnWfVtdOmB0Zi1RJVxcbPGiCDsFpCQSsmpWyuzHG3rQyI5YkobWwxFPEyQfu1hdo4qLG2zPw==} hasBin: true - tsconfck@3.0.3: - resolution: {integrity: sha512-4t0noZX9t6GcPTfBAbIbbIU4pfpCwh0ueq3S4O/5qXI1VwK1outmxhe9dOiEWqMz3MW2LKgDTpqWV+37IWuVbA==} + tsconfck@3.1.1: + resolution: {integrity: sha512-00eoI6WY57SvZEVjm13stEVE90VkEdJAFGgpFLTsZbJyW/LwFQ7uQxJHWpZ2hzSWgCPKc9AnBnNP+0X7o3hAmQ==} engines: {node: ^18 || >=20} hasBin: true peerDependencies: @@ -6577,6 +6586,10 @@ packages: resolution: {integrity: sha512-bRkIGlXsnGBRBQRAY56UXBm//9qH4bmJfFvq83gSz41N282df+fjy8ofcEgc1sM8geNt5cl6mC2g9Fht1cs8Aw==} engines: {node: '>=16'} + type-fest@4.25.0: + resolution: {integrity: sha512-bRkIGlXsnGBRBQRAY56UXBm//9qH4bmJfFvq83gSz41N282df+fjy8ofcEgc1sM8geNt5cl6mC2g9Fht1cs8Aw==} + engines: {node: '>=16'} + type-is@1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} @@ -6718,6 +6731,12 @@ packages: peerDependencies: browserslist: '>= 4.21.0' + update-browserslist-db@1.1.0: + resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} @@ -7047,7 +7066,27 @@ snapshots: '@babel/highlight': 7.24.7 picocolors: 1.0.1 - '@babel/compat-data@7.25.2': {} + '@babel/compat-data@7.25.4': {} + + '@babel/core@7.25.2': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.25.0 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helpers': 7.25.0 + '@babel/parser': 7.25.3 + '@babel/template': 7.25.0 + '@babel/traverse': 7.25.3 + '@babel/types': 7.25.2 + convert-source-map: 2.0.0 + debug: 4.3.6 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color '@babel/core@7.25.2': dependencies: @@ -7076,9 +7115,16 @@ snapshots: '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 + '@babel/generator@7.25.4': + dependencies: + '@babel/types': 7.25.4 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + '@babel/helper-annotate-as-pure@7.22.5': dependencies: - '@babel/types': 7.25.2 + '@babel/types': 7.25.4 '@babel/helper-annotate-as-pure@7.24.7': dependencies: @@ -7163,7 +7209,17 @@ snapshots: '@babel/helper-optimise-call-expression@7.24.7': dependencies: - '@babel/types': 7.25.2 + '@babel/core': 7.25.2 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-simple-access': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 + '@babel/traverse': 7.25.3 + transitivePeerDependencies: + - supports-color + + '@babel/helper-optimise-call-expression@7.24.7': + dependencies: + '@babel/types': 7.25.4 '@babel/helper-plugin-utils@7.24.8': {} @@ -7220,6 +7276,11 @@ snapshots: '@babel/template': 7.25.0 '@babel/types': 7.25.2 + '@babel/helpers@7.25.0': + dependencies: + '@babel/template': 7.25.0 + '@babel/types': 7.25.2 + '@babel/highlight@7.24.5': dependencies: '@babel/helper-validator-identifier': 7.24.7 @@ -7898,6 +7959,18 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/traverse@7.25.4': + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.25.4 + '@babel/parser': 7.25.4 + '@babel/template': 7.25.0 + '@babel/types': 7.25.4 + debug: 4.3.6 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + '@babel/types@7.24.7': dependencies: '@babel/helper-string-parser': 7.24.7 @@ -7910,6 +7983,12 @@ snapshots: '@babel/helper-validator-identifier': 7.24.7 to-fast-properties: 2.0.0 + '@babel/types@7.25.4': + dependencies: + '@babel/helper-string-parser': 7.24.8 + '@babel/helper-validator-identifier': 7.24.7 + to-fast-properties: 2.0.0 + '@base2/pretty-print-object@1.0.1': {} '@bcoe/v8-coverage@0.2.3': {} @@ -8138,10 +8217,6 @@ snapshots: eslint: 9.9.0 eslint-visitor-keys: 3.4.3 - '@eslint-community/regexpp@4.10.0': {} - - '@eslint-community/regexpp@4.10.1': {} - '@eslint-community/regexpp@4.11.0': {} '@eslint/config-array@0.17.1': @@ -8158,7 +8233,7 @@ snapshots: debug: 4.3.6 espree: 10.1.0 globals: 14.0.0 - ignore: 5.3.1 + ignore: 5.3.2 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -8530,7 +8605,7 @@ snapshots: '@nrwl/devkit': 19.0.3(nx@19.0.3) ejs: 3.1.10 enquirer: 2.3.6 - ignore: 5.3.1 + ignore: 5.3.2 minimatch: 9.0.3 nx: 19.0.3 semver: 7.6.2 @@ -8946,7 +9021,7 @@ snapshots: '@storybook/global': 5.0.0 qs: 6.11.2 telejson: 7.2.0 - tiny-invariant: 1.3.1 + tiny-invariant: 1.3.3 '@storybook/client-api@7.6.17': dependencies: @@ -9054,6 +9129,26 @@ snapshots: - react - react-dom + '@storybook/manager-api@7.6.20(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@storybook/channels': 7.6.17 + '@storybook/client-logger': 7.6.17 + '@storybook/core-events': 7.6.17 + '@storybook/csf': 0.1.11 + '@storybook/global': 5.0.0 + '@storybook/router': 7.6.20 + '@storybook/theming': 7.6.20(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@storybook/types': 7.6.20 + dequal: 2.0.3 + lodash: 4.17.21 + memoizerific: 1.11.3 + store2: 2.14.3 + telejson: 7.2.0 + ts-dedent: 2.2.0 + transitivePeerDependencies: + - react + - react-dom + '@storybook/manager-api@8.2.9(storybook@8.2.9(@babel/preset-env@7.25.3(@babel/core@7.25.2)))': dependencies: storybook: 8.2.9(@babel/preset-env@7.25.3(@babel/core@7.25.2)) @@ -9121,7 +9216,7 @@ snapshots: '@storybook/theming': 8.2.9(storybook@8.2.9(@babel/preset-env@7.25.3(@babel/core@7.25.2))) '@types/escodegen': 0.0.6 '@types/estree': 0.0.51 - '@types/node': 18.19.37 + '@types/node': 18.19.45 acorn: 7.4.1 acorn-jsx: 5.3.2(acorn@7.4.1) acorn-walk: 7.2.0 @@ -9232,7 +9327,7 @@ snapshots: '@testing-library/dom@9.3.4': dependencies: '@babel/code-frame': 7.24.2 - '@babel/runtime': 7.24.5 + '@babel/runtime': 7.25.4 '@types/aria-query': 5.0.4 aria-query: 5.1.3 chalk: 4.1.2 @@ -9333,15 +9428,11 @@ snapshots: '@types/escodegen@0.0.6': {} - '@types/eslint-scope@3.7.7': - dependencies: - '@types/eslint': 9.6.0 - '@types/estree': 1.0.5 - '@types/eslint@9.6.0': dependencies: '@types/estree': 1.0.5 '@types/json-schema': 7.0.15 + optional: true '@types/estree@0.0.51': {} @@ -9408,13 +9499,13 @@ snapshots: dependencies: '@types/node': 20.16.1 - '@types/node@18.19.37': + '@types/node@18.19.45': dependencies: undici-types: 5.26.5 '@types/node@18.19.45': dependencies: - undici-types: 5.26.5 + undici-types: 6.19.8 '@types/node@20.16.1': dependencies: @@ -9479,16 +9570,16 @@ snapshots: '@typescript-eslint/eslint-plugin@7.5.0(@typescript-eslint/parser@7.5.0(eslint@9.9.0)(typescript@5.5.4))(eslint@9.9.0)(typescript@5.5.4)': dependencies: - '@eslint-community/regexpp': 4.10.0 + '@eslint-community/regexpp': 4.11.0 '@typescript-eslint/parser': 7.5.0(eslint@9.9.0)(typescript@5.5.4) '@typescript-eslint/scope-manager': 7.5.0 '@typescript-eslint/type-utils': 7.5.0(eslint@9.9.0)(typescript@5.5.4) '@typescript-eslint/utils': 7.5.0(eslint@9.9.0)(typescript@5.5.4) '@typescript-eslint/visitor-keys': 7.5.0 - debug: 4.3.4 + debug: 4.3.6 eslint: 9.9.0 graphemer: 1.4.0 - ignore: 5.3.1 + ignore: 5.3.2 natural-compare: 1.4.0 semver: 7.6.0 ts-api-utils: 1.3.0(typescript@5.5.4) @@ -9516,7 +9607,7 @@ snapshots: '@typescript-eslint/types': 7.5.0 '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.5.4) '@typescript-eslint/visitor-keys': 7.5.0 - debug: 4.3.4 + debug: 4.3.6 eslint: 9.9.0 optionalDependencies: typescript: 5.5.4 @@ -9542,7 +9633,7 @@ snapshots: dependencies: '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.5.4) '@typescript-eslint/utils': 7.5.0(eslint@9.9.0)(typescript@5.5.4) - debug: 4.3.5 + debug: 4.3.6 eslint: 9.9.0 ts-api-utils: 1.3.0(typescript@5.5.4) optionalDependencies: @@ -9589,7 +9680,7 @@ snapshots: dependencies: '@typescript-eslint/types': 7.5.0 '@typescript-eslint/visitor-keys': 7.5.0 - debug: 4.3.5 + debug: 4.3.6 globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.3 @@ -9860,7 +9951,7 @@ snapshots: agent-base@7.1.1: dependencies: - debug: 4.3.5 + debug: 4.3.6 transitivePeerDependencies: - supports-color @@ -10201,11 +10292,11 @@ snapshots: builtins@5.0.1: dependencies: - semver: 7.5.4 + semver: 7.6.3 builtins@5.1.0: dependencies: - semver: 7.6.2 + semver: 7.6.3 byte-size@8.1.1: {} @@ -10274,6 +10365,8 @@ snapshots: caniuse-lite@1.0.30001651: {} + caniuse-lite@1.0.30001651: {} + card-validator@10.0.0: dependencies: credit-card-type: 9.1.0 @@ -10590,10 +10683,6 @@ snapshots: dependencies: ms: 2.1.3 - debug@4.3.4: - dependencies: - ms: 2.1.2 - debug@4.3.5: dependencies: ms: 2.1.2 @@ -10735,6 +10824,8 @@ snapshots: electron-to-chromium@1.5.13: {} + electron-to-chromium@1.5.13: {} + emoji-regex@8.0.0: {} emoji-regex@9.2.2: {} @@ -11187,7 +11278,7 @@ snapshots: eslint-plugin-es-x@7.5.0(eslint@9.9.0): dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0) - '@eslint-community/regexpp': 4.10.1 + '@eslint-community/regexpp': 4.11.0 eslint: 9.9.0 eslint-compat-utils: 0.1.2(eslint@9.9.0) @@ -11226,7 +11317,7 @@ snapshots: eslint-plugin-es-x: 7.5.0(eslint@9.9.0) get-tsconfig: 4.7.2 globals: 13.24.0 - ignore: 5.3.1 + ignore: 5.3.2 is-builtin-module: 3.2.1 is-core-module: 2.13.1 minimatch: 3.1.2 @@ -11318,7 +11409,7 @@ snapshots: file-entry-cache: 8.0.0 find-up: 5.0.0 glob-parent: 6.0.2 - ignore: 5.3.1 + ignore: 5.3.2 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 @@ -11757,7 +11848,7 @@ snapshots: dependencies: foreground-child: 3.1.1 jackspeak: 3.4.3 - minimatch: 9.0.4 + minimatch: 9.0.5 minipass: 7.1.2 package-json-from-dist: 1.0.0 path-scurry: 1.11.1 @@ -11960,7 +12051,7 @@ snapshots: ignore-walk@6.0.5: dependencies: - minimatch: 9.0.4 + minimatch: 9.0.5 ignore@5.3.1: {} @@ -13207,6 +13298,8 @@ snapshots: node-releases@2.0.18: {} + node-releases@2.0.18: {} + nopt@7.2.1: dependencies: abbrev: 2.0.0 @@ -13301,7 +13394,7 @@ snapshots: figures: 3.2.0 flat: 5.0.2 fs-extra: 11.2.0 - ignore: 5.3.1 + ignore: 5.3.2 jest-diff: 29.7.0 js-yaml: 4.1.0 jsonc-parser: 3.2.0 @@ -13689,7 +13782,7 @@ snapshots: polished@4.3.1: dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.25.4 possible-typed-array-names@1.0.0: {} @@ -14644,7 +14737,7 @@ snapshots: through@2.3.8: {} - tiny-invariant@1.3.1: {} + tiny-invariant@1.3.3: {} tiny-invariant@1.3.3: {} @@ -14706,7 +14799,7 @@ snapshots: normalize-path: 3.0.0 plimit-lit: 1.6.1 - tsconfck@3.0.3(typescript@5.5.4): + tsconfck@3.1.1(typescript@5.5.4): optionalDependencies: typescript: 5.5.4 @@ -14764,6 +14857,8 @@ snapshots: type-fest@4.25.0: {} + type-fest@4.25.0: {} + type-is@1.6.18: dependencies: media-typer: 0.3.0 @@ -14921,6 +15016,12 @@ snapshots: upath@2.0.1: {} + update-browserslist-db@1.1.0(browserslist@4.23.3): + dependencies: + browserslist: 4.23.3 + escalade: 3.1.2 + picocolors: 1.0.1 + update-browserslist-db@1.1.0(browserslist@4.23.3): dependencies: browserslist: 4.23.3 @@ -14998,7 +15099,7 @@ snapshots: dependencies: debug: 4.3.6 globrex: 0.1.2 - tsconfck: 3.0.3(typescript@5.5.4) + tsconfck: 3.1.1(typescript@5.5.4) optionalDependencies: vite: 5.4.2(@types/node@22.5.0)(terser@5.31.6) transitivePeerDependencies: @@ -15074,7 +15175,6 @@ snapshots: webpack@5.93.0(esbuild@0.21.5): dependencies: - '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.5 '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/wasm-edit': 1.12.1