From 1c835ea6b09f7acea89af095ff7c5d5439a93ae1 Mon Sep 17 00:00:00 2001 From: ikusteu Date: Wed, 20 Mar 2024 06:34:06 +0100 Subject: [PATCH 1/9] Update autoinstallers --- .../autoinstallers/lint-staged/pnpm-lock.yaml | 573 ++++++++++-------- 1 file changed, 307 insertions(+), 266 deletions(-) diff --git a/common/autoinstallers/lint-staged/pnpm-lock.yaml b/common/autoinstallers/lint-staged/pnpm-lock.yaml index 5ff5cd588..f64d40efa 100644 --- a/common/autoinstallers/lint-staged/pnpm-lock.yaml +++ b/common/autoinstallers/lint-staged/pnpm-lock.yaml @@ -16,16 +16,16 @@ specifiers: typescript: ~5.0.4 dependencies: - '@typescript-eslint/eslint-plugin': 5.59.11_15db5b0353da39dbffe8aa8538bdc191 - '@typescript-eslint/parser': 5.59.11_eslint@8.56.0+typescript@5.0.4 - eslint: 8.56.0 - eslint-config-google: 0.14.0_eslint@8.56.0 - eslint-import-resolver-typescript: 3.5.5_04f761f5210e6fcaa607caa6df343dfc - eslint-plugin-import: 2.27.5_eslint@8.56.0 - eslint-plugin-promise: 6.1.1_eslint@8.56.0 - eslint-plugin-react: 7.32.2_eslint@8.56.0 - eslint-plugin-react-hooks: 4.6.0_eslint@8.56.0 - eslint-plugin-unused-imports: 2.0.0_bfa254f02d2e75c28def279c13e71ac1 + '@typescript-eslint/eslint-plugin': 5.59.11_7a9c4e41be03b83f728daa3082a99d4c + '@typescript-eslint/parser': 5.59.11_eslint@8.57.0+typescript@5.0.4 + eslint: 8.57.0 + eslint-config-google: 0.14.0_eslint@8.57.0 + eslint-import-resolver-typescript: 3.5.5_ab65a17a2325ab2aeacfa78c93b59998 + eslint-plugin-import: 2.27.5_eslint@8.57.0 + eslint-plugin-promise: 6.1.1_eslint@8.57.0 + eslint-plugin-react: 7.32.2_eslint@8.57.0 + eslint-plugin-react-hooks: 4.6.0_eslint@8.57.0 + eslint-plugin-unused-imports: 2.0.0_ba2dd0b309d42ed8e02ef61f29d25c60 lint-staged: 12.5.0 prettier: 2.8.8 typescript: 5.0.4 @@ -37,13 +37,13 @@ packages: engines: {node: '>=0.10.0'} dev: false - /@eslint-community/eslint-utils/4.4.0_eslint@8.56.0: + /@eslint-community/eslint-utils/4.4.0_eslint@8.57.0: resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.56.0 + eslint: 8.57.0 eslint-visitor-keys: 3.4.3 dev: false @@ -60,7 +60,7 @@ packages: debug: 4.3.4 espree: 9.6.1 globals: 13.24.0 - ignore: 5.3.0 + ignore: 5.3.1 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -69,8 +69,8 @@ packages: - supports-color dev: false - /@eslint/js/8.56.0: - resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==} + /@eslint/js/8.57.0: + resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: false @@ -112,7 +112,7 @@ packages: engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.16.0 + fastq: 1.17.1 dev: false /@pkgr/core/0.1.1: @@ -128,11 +128,11 @@ packages: resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} dev: false - /@types/semver/7.5.6: - resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==} + /@types/semver/7.5.8: + resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} dev: false - /@typescript-eslint/eslint-plugin/5.59.11_15db5b0353da39dbffe8aa8538bdc191: + /@typescript-eslint/eslint-plugin/5.59.11_7a9c4e41be03b83f728daa3082a99d4c: resolution: {integrity: sha512-XxuOfTkCUiOSyBWIvHlUraLw/JT/6Io1365RO6ZuI88STKMavJZPNMU0lFcUTeQXEhHiv64CbxYxBNoDVSmghg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -144,23 +144,23 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 5.59.11_eslint@8.56.0+typescript@5.0.4 + '@typescript-eslint/parser': 5.59.11_eslint@8.57.0+typescript@5.0.4 '@typescript-eslint/scope-manager': 5.59.11 - '@typescript-eslint/type-utils': 5.59.11_eslint@8.56.0+typescript@5.0.4 - '@typescript-eslint/utils': 5.59.11_eslint@8.56.0+typescript@5.0.4 + '@typescript-eslint/type-utils': 5.59.11_eslint@8.57.0+typescript@5.0.4 + '@typescript-eslint/utils': 5.59.11_eslint@8.57.0+typescript@5.0.4 debug: 4.3.4 - eslint: 8.56.0 + eslint: 8.57.0 grapheme-splitter: 1.0.4 - ignore: 5.3.0 + ignore: 5.3.1 natural-compare-lite: 1.4.0 - semver: 7.5.4 + semver: 7.6.0 tsutils: 3.21.0_typescript@5.0.4 typescript: 5.0.4 transitivePeerDependencies: - supports-color dev: false - /@typescript-eslint/parser/5.59.11_eslint@8.56.0+typescript@5.0.4: + /@typescript-eslint/parser/5.59.11_eslint@8.57.0+typescript@5.0.4: resolution: {integrity: sha512-s9ZF3M+Nym6CAZEkJJeO2TFHHDsKAM3ecNkLuH4i4s8/RCPnF5JRip2GyviYkeEAcwGMJxkqG9h2dAsnA1nZpA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -174,7 +174,7 @@ packages: '@typescript-eslint/types': 5.59.11 '@typescript-eslint/typescript-estree': 5.59.11_typescript@5.0.4 debug: 4.3.4 - eslint: 8.56.0 + eslint: 8.57.0 typescript: 5.0.4 transitivePeerDependencies: - supports-color @@ -188,7 +188,7 @@ packages: '@typescript-eslint/visitor-keys': 5.59.11 dev: false - /@typescript-eslint/type-utils/5.59.11_eslint@8.56.0+typescript@5.0.4: + /@typescript-eslint/type-utils/5.59.11_eslint@8.57.0+typescript@5.0.4: resolution: {integrity: sha512-LZqVY8hMiVRF2a7/swmkStMYSoXMFlzL6sXV6U/2gL5cwnLWQgLEG8tjWPpaE4rMIdZ6VKWwcffPlo1jPfk43g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -199,9 +199,9 @@ packages: optional: true dependencies: '@typescript-eslint/typescript-estree': 5.59.11_typescript@5.0.4 - '@typescript-eslint/utils': 5.59.11_eslint@8.56.0+typescript@5.0.4 + '@typescript-eslint/utils': 5.59.11_eslint@8.57.0+typescript@5.0.4 debug: 4.3.4 - eslint: 8.56.0 + eslint: 8.57.0 tsutils: 3.21.0_typescript@5.0.4 typescript: 5.0.4 transitivePeerDependencies: @@ -227,28 +227,28 @@ packages: debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 - semver: 7.5.4 + semver: 7.6.0 tsutils: 3.21.0_typescript@5.0.4 typescript: 5.0.4 transitivePeerDependencies: - supports-color dev: false - /@typescript-eslint/utils/5.59.11_eslint@8.56.0+typescript@5.0.4: + /@typescript-eslint/utils/5.59.11_eslint@8.57.0+typescript@5.0.4: resolution: {integrity: sha512-didu2rHSOMUdJThLk4aZ1Or8IcO3HzCw/ZvEjTTIfjIrcdd5cvSIwwDy2AOlE7htSNp7QIZ10fLMyRCveesMLg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0_eslint@8.56.0 + '@eslint-community/eslint-utils': 4.4.0_eslint@8.57.0 '@types/json-schema': 7.0.15 - '@types/semver': 7.5.6 + '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 5.59.11 '@typescript-eslint/types': 5.59.11 '@typescript-eslint/typescript-estree': 5.59.11_typescript@5.0.4 - eslint: 8.56.0 + eslint: 8.57.0 eslint-scope: 5.1.1 - semver: 7.5.4 + semver: 7.6.0 transitivePeerDependencies: - supports-color - typescript @@ -330,21 +330,22 @@ packages: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} dev: false - /array-buffer-byte-length/1.0.0: - resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} + /array-buffer-byte-length/1.0.1: + resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - is-array-buffer: 3.0.2 + call-bind: 1.0.7 + is-array-buffer: 3.0.4 dev: false /array-includes/3.1.7: resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 - get-intrinsic: 1.2.2 + es-abstract: 1.22.5 + get-intrinsic: 1.2.4 is-string: 1.0.7 dev: false @@ -357,9 +358,9 @@ packages: resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.5 es-shim-unscopables: 1.0.2 dev: false @@ -367,33 +368,34 @@ packages: resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.5 es-shim-unscopables: 1.0.2 dev: false - /array.prototype.tosorted/1.1.2: - resolution: {integrity: sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==} + /array.prototype.tosorted/1.1.3: + resolution: {integrity: sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.5 + es-errors: 1.3.0 es-shim-unscopables: 1.0.2 - get-intrinsic: 1.2.2 dev: false - /arraybuffer.prototype.slice/1.0.2: - resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} + /arraybuffer.prototype.slice/1.0.3: + resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} engines: {node: '>= 0.4'} dependencies: - array-buffer-byte-length: 1.0.0 - call-bind: 1.0.5 + array-buffer-byte-length: 1.0.1 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 - get-intrinsic: 1.2.2 - is-array-buffer: 3.0.2 - is-shared-array-buffer: 1.0.2 + es-abstract: 1.22.5 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + is-array-buffer: 3.0.4 + is-shared-array-buffer: 1.0.3 dev: false /astral-regex/2.0.0: @@ -401,9 +403,11 @@ packages: engines: {node: '>=8'} dev: false - /available-typed-arrays/1.0.5: - resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} + /available-typed-arrays/1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} + dependencies: + possible-typed-array-names: 1.0.0 dev: false /balanced-match/1.0.2: @@ -424,12 +428,15 @@ packages: fill-range: 7.0.1 dev: false - /call-bind/1.0.5: - resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} + /call-bind/1.0.7: + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + engines: {node: '>= 0.4'} dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 function-bind: 1.1.2 - get-intrinsic: 1.2.2 - set-function-length: 1.2.0 + get-intrinsic: 1.2.4 + set-function-length: 1.2.2 dev: false /callsites/3.1.0: @@ -541,21 +548,21 @@ packages: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: false - /define-data-property/1.1.1: - resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} + /define-data-property/1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.2.2 + es-define-property: 1.0.0 + es-errors: 1.3.0 gopd: 1.0.1 - has-property-descriptors: 1.0.1 dev: false /define-properties/1.2.1: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} dependencies: - define-data-property: 1.1.1 - has-property-descriptors: 1.0.1 + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 object-keys: 1.1.1 dev: false @@ -592,72 +599,86 @@ packages: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} dev: false - /enhanced-resolve/5.15.0: - resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==} + /enhanced-resolve/5.16.0: + resolution: {integrity: sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==} engines: {node: '>=10.13.0'} dependencies: graceful-fs: 4.2.11 tapable: 2.2.1 dev: false - /es-abstract/1.22.3: - resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==} + /es-abstract/1.22.5: + resolution: {integrity: sha512-oW69R+4q2wG+Hc3KZePPZxOiisRIqfKBVo/HLx94QcJeWGU/8sZhCvc829rd1kS366vlJbzBfXf9yWwf0+Ko7w==} engines: {node: '>= 0.4'} dependencies: - array-buffer-byte-length: 1.0.0 - arraybuffer.prototype.slice: 1.0.2 - available-typed-arrays: 1.0.5 - call-bind: 1.0.5 - es-set-tostringtag: 2.0.2 + array-buffer-byte-length: 1.0.1 + arraybuffer.prototype.slice: 1.0.3 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + es-define-property: 1.0.0 + es-errors: 1.3.0 + es-set-tostringtag: 2.0.3 es-to-primitive: 1.2.1 function.prototype.name: 1.1.6 - get-intrinsic: 1.2.2 - get-symbol-description: 1.0.0 + get-intrinsic: 1.2.4 + get-symbol-description: 1.0.2 globalthis: 1.0.3 gopd: 1.0.1 - has-property-descriptors: 1.0.1 - has-proto: 1.0.1 + has-property-descriptors: 1.0.2 + has-proto: 1.0.3 has-symbols: 1.0.3 - hasown: 2.0.0 - internal-slot: 1.0.6 - is-array-buffer: 3.0.2 + hasown: 2.0.2 + internal-slot: 1.0.7 + is-array-buffer: 3.0.4 is-callable: 1.2.7 - is-negative-zero: 2.0.2 + is-negative-zero: 2.0.3 is-regex: 1.1.4 - is-shared-array-buffer: 1.0.2 + is-shared-array-buffer: 1.0.3 is-string: 1.0.7 - is-typed-array: 1.1.12 + is-typed-array: 1.1.13 is-weakref: 1.0.2 object-inspect: 1.13.1 object-keys: 1.1.1 object.assign: 4.1.5 - regexp.prototype.flags: 1.5.1 - safe-array-concat: 1.1.0 - safe-regex-test: 1.0.2 + regexp.prototype.flags: 1.5.2 + safe-array-concat: 1.1.2 + safe-regex-test: 1.0.3 string.prototype.trim: 1.2.8 string.prototype.trimend: 1.0.7 string.prototype.trimstart: 1.0.7 - typed-array-buffer: 1.0.0 - typed-array-byte-length: 1.0.0 - typed-array-byte-offset: 1.0.0 - typed-array-length: 1.0.4 + typed-array-buffer: 1.0.2 + typed-array-byte-length: 1.0.1 + typed-array-byte-offset: 1.0.2 + typed-array-length: 1.0.5 unbox-primitive: 1.0.2 - which-typed-array: 1.1.13 + which-typed-array: 1.1.15 dev: false - /es-set-tostringtag/2.0.2: - resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==} + /es-define-property/1.0.0: + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.2.2 - has-tostringtag: 1.0.0 - hasown: 2.0.0 + get-intrinsic: 1.2.4 + dev: false + + /es-errors/1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + dev: false + + /es-set-tostringtag/2.0.3: + resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.4 + has-tostringtag: 1.0.2 + hasown: 2.0.2 dev: false /es-shim-unscopables/1.0.2: resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} dependencies: - hasown: 2.0.0 + hasown: 2.0.2 dev: false /es-to-primitive/1.2.1: @@ -674,13 +695,13 @@ packages: engines: {node: '>=10'} dev: false - /eslint-config-google/0.14.0_eslint@8.56.0: + /eslint-config-google/0.14.0_eslint@8.57.0: resolution: {integrity: sha512-WsbX4WbjuMvTdeVL6+J3rK1RGhCTqjsFjX7UMSMgZiyxxaNLkoJENbrGExzERFeoTpGw3F3FypTiWAP9ZXzkEw==} engines: {node: '>=0.10.0'} peerDependencies: eslint: '>=5.16.0' dependencies: - eslint: 8.56.0 + eslint: 8.57.0 dev: false /eslint-import-resolver-node/0.3.9: @@ -691,7 +712,7 @@ packages: resolve: 1.22.8 dev: false - /eslint-import-resolver-typescript/3.5.5_04f761f5210e6fcaa607caa6df343dfc: + /eslint-import-resolver-typescript/3.5.5_ab65a17a2325ab2aeacfa78c93b59998: resolution: {integrity: sha512-TdJqPHs2lW5J9Zpe17DZNQuDnox4xo2o+0tE7Pggain9Rbc19ik8kFtXdxZ250FVx2kF4vlt2RSf4qlUpG7bhw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -699,11 +720,11 @@ packages: eslint-plugin-import: '*' dependencies: debug: 4.3.4 - enhanced-resolve: 5.15.0 - eslint: 8.56.0 - eslint-module-utils: 2.8.0_eslint@8.56.0 - eslint-plugin-import: 2.27.5_eslint@8.56.0 - get-tsconfig: 4.7.2 + enhanced-resolve: 5.16.0 + eslint: 8.57.0 + eslint-module-utils: 2.8.1_eslint@8.57.0 + eslint-plugin-import: 2.27.5_eslint@8.57.0 + get-tsconfig: 4.7.3 globby: 13.2.2 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -712,8 +733,8 @@ packages: - supports-color dev: false - /eslint-module-utils/2.8.0_eslint@8.56.0: - resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} + /eslint-module-utils/2.8.1_eslint@8.57.0: + resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==} engines: {node: '>=4'} peerDependencies: eslint: '*' @@ -722,10 +743,10 @@ packages: optional: true dependencies: debug: 3.2.7 - eslint: 8.56.0 + eslint: 8.57.0 dev: false - /eslint-plugin-import/2.27.5_eslint@8.56.0: + /eslint-plugin-import/2.27.5_eslint@8.57.0: resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==} engines: {node: '>=4'} peerDependencies: @@ -736,9 +757,9 @@ packages: array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.56.0 + eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0_eslint@8.56.0 + eslint-module-utils: 2.8.1_eslint@8.57.0 has: 1.0.4 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -749,25 +770,25 @@ packages: tsconfig-paths: 3.15.0 dev: false - /eslint-plugin-promise/6.1.1_eslint@8.56.0: + /eslint-plugin-promise/6.1.1_eslint@8.57.0: resolution: {integrity: sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: - eslint: 8.56.0 + eslint: 8.57.0 dev: false - /eslint-plugin-react-hooks/4.6.0_eslint@8.56.0: + /eslint-plugin-react-hooks/4.6.0_eslint@8.57.0: resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: - eslint: 8.56.0 + eslint: 8.57.0 dev: false - /eslint-plugin-react/7.32.2_eslint@8.56.0: + /eslint-plugin-react/7.32.2_eslint@8.57.0: resolution: {integrity: sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==} engines: {node: '>=4'} peerDependencies: @@ -775,9 +796,9 @@ packages: dependencies: array-includes: 3.1.7 array.prototype.flatmap: 1.3.2 - array.prototype.tosorted: 1.1.2 + array.prototype.tosorted: 1.1.3 doctrine: 2.1.0 - eslint: 8.56.0 + eslint: 8.57.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.5 minimatch: 3.1.2 @@ -791,7 +812,7 @@ packages: string.prototype.matchall: 4.0.10 dev: false - /eslint-plugin-unused-imports/2.0.0_bfa254f02d2e75c28def279c13e71ac1: + /eslint-plugin-unused-imports/2.0.0_ba2dd0b309d42ed8e02ef61f29d25c60: resolution: {integrity: sha512-3APeS/tQlTrFa167ThtP0Zm0vctjr4M44HMpeg1P4bK6wItarumq0Ma82xorMKdFsWpphQBlRPzw/pxiVELX1A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -801,8 +822,8 @@ packages: '@typescript-eslint/eslint-plugin': optional: true dependencies: - '@typescript-eslint/eslint-plugin': 5.59.11_15db5b0353da39dbffe8aa8538bdc191 - eslint: 8.56.0 + '@typescript-eslint/eslint-plugin': 5.59.11_7a9c4e41be03b83f728daa3082a99d4c + eslint: 8.57.0 eslint-rule-composer: 0.3.0 dev: false @@ -832,15 +853,15 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: false - /eslint/8.56.0: - resolution: {integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==} + /eslint/8.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0_eslint@8.56.0 + '@eslint-community/eslint-utils': 4.4.0_eslint@8.57.0 '@eslint-community/regexpp': 4.10.0 '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.56.0 + '@eslint/js': 8.57.0 '@humanwhocodes/config-array': 0.11.14 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 @@ -862,7 +883,7 @@ packages: glob-parent: 6.0.2 globals: 13.24.0 graphemer: 1.4.0 - ignore: 5.3.0 + ignore: 5.3.1 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 @@ -955,8 +976,8 @@ packages: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} dev: false - /fastq/1.16.0: - resolution: {integrity: sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==} + /fastq/1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} dependencies: reusify: 1.0.4 dev: false @@ -987,13 +1008,13 @@ packages: resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: - flatted: 3.2.9 + flatted: 3.3.1 keyv: 4.5.4 rimraf: 3.0.2 dev: false - /flatted/3.2.9: - resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} + /flatted/3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} dev: false /for-each/0.3.3: @@ -1014,9 +1035,9 @@ packages: resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.5 functions-have-names: 1.2.3 dev: false @@ -1024,13 +1045,15 @@ packages: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} dev: false - /get-intrinsic/1.2.2: - resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} + /get-intrinsic/1.2.4: + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} dependencies: + es-errors: 1.3.0 function-bind: 1.1.2 - has-proto: 1.0.1 + has-proto: 1.0.3 has-symbols: 1.0.3 - hasown: 2.0.0 + hasown: 2.0.2 dev: false /get-stream/6.0.1: @@ -1038,16 +1061,17 @@ packages: engines: {node: '>=10'} dev: false - /get-symbol-description/1.0.0: - resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} + /get-symbol-description/1.0.2: + resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 dev: false - /get-tsconfig/4.7.2: - resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} + /get-tsconfig/4.7.3: + resolution: {integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==} dependencies: resolve-pkg-maps: 1.0.0 dev: false @@ -1098,7 +1122,7 @@ packages: array-union: 2.1.0 dir-glob: 3.0.1 fast-glob: 3.3.2 - ignore: 5.3.0 + ignore: 5.3.1 merge2: 1.4.1 slash: 3.0.0 dev: false @@ -1109,7 +1133,7 @@ packages: dependencies: dir-glob: 3.0.1 fast-glob: 3.3.2 - ignore: 5.3.0 + ignore: 5.3.1 merge2: 1.4.1 slash: 4.0.0 dev: false @@ -1117,7 +1141,7 @@ packages: /gopd/1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: - get-intrinsic: 1.2.2 + get-intrinsic: 1.2.4 dev: false /graceful-fs/4.2.11: @@ -1141,14 +1165,14 @@ packages: engines: {node: '>=8'} dev: false - /has-property-descriptors/1.0.1: - resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==} + /has-property-descriptors/1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} dependencies: - get-intrinsic: 1.2.2 + es-define-property: 1.0.0 dev: false - /has-proto/1.0.1: - resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + /has-proto/1.0.3: + resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} engines: {node: '>= 0.4'} dev: false @@ -1157,8 +1181,8 @@ packages: engines: {node: '>= 0.4'} dev: false - /has-tostringtag/1.0.0: - resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} + /has-tostringtag/1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.3 @@ -1169,8 +1193,8 @@ packages: engines: {node: '>= 0.4.0'} dev: false - /hasown/2.0.0: - resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} + /hasown/2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} dependencies: function-bind: 1.1.2 @@ -1181,8 +1205,8 @@ packages: engines: {node: '>=10.17.0'} dev: false - /ignore/5.3.0: - resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==} + /ignore/5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} engines: {node: '>= 4'} dev: false @@ -1215,21 +1239,21 @@ packages: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} dev: false - /internal-slot/1.0.6: - resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} + /internal-slot/1.0.7: + resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.2.2 - hasown: 2.0.0 - side-channel: 1.0.4 + es-errors: 1.3.0 + hasown: 2.0.2 + side-channel: 1.0.6 dev: false - /is-array-buffer/3.0.2: - resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + /is-array-buffer/3.0.4: + resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 - is-typed-array: 1.1.12 + call-bind: 1.0.7 + get-intrinsic: 1.2.4 dev: false /is-bigint/1.0.4: @@ -1242,8 +1266,8 @@ packages: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - has-tostringtag: 1.0.0 + call-bind: 1.0.7 + has-tostringtag: 1.0.2 dev: false /is-callable/1.2.7: @@ -1254,14 +1278,14 @@ packages: /is-core-module/2.13.1: resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} dependencies: - hasown: 2.0.0 + hasown: 2.0.2 dev: false /is-date-object/1.0.5: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} engines: {node: '>= 0.4'} dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 dev: false /is-extglob/2.1.1: @@ -1286,8 +1310,8 @@ packages: is-extglob: 2.1.1 dev: false - /is-negative-zero/2.0.2: - resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} + /is-negative-zero/2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} engines: {node: '>= 0.4'} dev: false @@ -1295,7 +1319,7 @@ packages: resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} engines: {node: '>= 0.4'} dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 dev: false /is-number/7.0.0: @@ -1312,14 +1336,15 @@ packages: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - has-tostringtag: 1.0.0 + call-bind: 1.0.7 + has-tostringtag: 1.0.2 dev: false - /is-shared-array-buffer/1.0.2: - resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + /is-shared-array-buffer/1.0.3: + resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 dev: false /is-stream/2.0.1: @@ -1331,7 +1356,7 @@ packages: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} engines: {node: '>= 0.4'} dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 dev: false /is-symbol/1.0.4: @@ -1341,17 +1366,17 @@ packages: has-symbols: 1.0.3 dev: false - /is-typed-array/1.1.12: - resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} + /is-typed-array/1.1.13: + resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} engines: {node: '>= 0.4'} dependencies: - which-typed-array: 1.1.13 + which-typed-array: 1.1.15 dev: false /is-weakref/1.0.2: resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 dev: false /isarray/2.0.5: @@ -1576,7 +1601,7 @@ packages: resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 has-symbols: 1.0.3 object-keys: 1.1.1 @@ -1586,34 +1611,34 @@ packages: resolution: {integrity: sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.5 dev: false /object.fromentries/2.0.7: resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.5 dev: false /object.hasown/1.1.3: resolution: {integrity: sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==} dependencies: define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.5 dev: false /object.values/1.1.7: resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.5 dev: false /once/1.4.0: @@ -1704,6 +1729,11 @@ packages: hasBin: true dev: false + /possible-typed-array-names/1.0.0: + resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} + engines: {node: '>= 0.4'} + dev: false + /prelude-ls/1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -1736,13 +1766,14 @@ packages: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} dev: false - /regexp.prototype.flags/1.5.1: - resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} + /regexp.prototype.flags/1.5.2: + resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - set-function-name: 2.0.1 + es-errors: 1.3.0 + set-function-name: 2.0.2 dev: false /resolve-from/4.0.0: @@ -1808,22 +1839,22 @@ packages: tslib: 2.6.2 dev: false - /safe-array-concat/1.1.0: - resolution: {integrity: sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==} + /safe-array-concat/1.1.2: + resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} engines: {node: '>=0.4'} dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 + call-bind: 1.0.7 + get-intrinsic: 1.2.4 has-symbols: 1.0.3 isarray: 2.0.5 dev: false - /safe-regex-test/1.0.2: - resolution: {integrity: sha512-83S9w6eFq12BBIJYvjMux6/dkirb8+4zJRA9cxNBVb7Wq5fJBW+Xze48WqR8pxua7bDuAaaAxtVVd4Idjp1dBQ==} + /safe-regex-test/1.0.3: + resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 + call-bind: 1.0.7 + es-errors: 1.3.0 is-regex: 1.1.4 dev: false @@ -1832,32 +1863,34 @@ packages: hasBin: true dev: false - /semver/7.5.4: - resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + /semver/7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} engines: {node: '>=10'} hasBin: true dependencies: lru-cache: 6.0.0 dev: false - /set-function-length/1.2.0: - resolution: {integrity: sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w==} + /set-function-length/1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} dependencies: - define-data-property: 1.1.1 + define-data-property: 1.1.4 + es-errors: 1.3.0 function-bind: 1.1.2 - get-intrinsic: 1.2.2 + get-intrinsic: 1.2.4 gopd: 1.0.1 - has-property-descriptors: 1.0.1 + has-property-descriptors: 1.0.2 dev: false - /set-function-name/2.0.1: - resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} + /set-function-name/2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} engines: {node: '>= 0.4'} dependencies: - define-data-property: 1.1.1 + define-data-property: 1.1.4 + es-errors: 1.3.0 functions-have-names: 1.2.3 - has-property-descriptors: 1.0.1 + has-property-descriptors: 1.0.2 dev: false /shebang-command/2.0.0: @@ -1872,11 +1905,13 @@ packages: engines: {node: '>=8'} dev: false - /side-channel/1.0.4: - resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + /side-channel/1.0.6: + resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 object-inspect: 1.13.1 dev: false @@ -1946,40 +1981,40 @@ packages: /string.prototype.matchall/4.0.10: resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 - get-intrinsic: 1.2.2 + es-abstract: 1.22.5 + get-intrinsic: 1.2.4 has-symbols: 1.0.3 - internal-slot: 1.0.6 - regexp.prototype.flags: 1.5.1 - set-function-name: 2.0.1 - side-channel: 1.0.4 + internal-slot: 1.0.7 + regexp.prototype.flags: 1.5.2 + set-function-name: 2.0.2 + side-channel: 1.0.6 dev: false /string.prototype.trim/1.2.8: resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.5 dev: false /string.prototype.trimend/1.0.7: resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.5 dev: false /string.prototype.trimstart/1.0.7: resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.5 dev: false /strip-ansi/6.0.1: @@ -2100,42 +2135,48 @@ packages: engines: {node: '>=10'} dev: false - /typed-array-buffer/1.0.0: - resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} + /typed-array-buffer/1.0.2: + resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 - is-typed-array: 1.1.12 + call-bind: 1.0.7 + es-errors: 1.3.0 + is-typed-array: 1.1.13 dev: false - /typed-array-byte-length/1.0.0: - resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} + /typed-array-byte-length/1.0.1: + resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 for-each: 0.3.3 - has-proto: 1.0.1 - is-typed-array: 1.1.12 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 dev: false - /typed-array-byte-offset/1.0.0: - resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} + /typed-array-byte-offset/1.0.2: + resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} engines: {node: '>= 0.4'} dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.5 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 for-each: 0.3.3 - has-proto: 1.0.1 - is-typed-array: 1.1.12 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 dev: false - /typed-array-length/1.0.4: - resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + /typed-array-length/1.0.5: + resolution: {integrity: sha512-yMi0PlwuznKHxKmcpoOdeLwxBoVPkqZxd7q2FgMkmD3bNwvF5VW0+UlUQ1k1vmktTu4Yu13Q0RIxEP8+B+wloA==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 for-each: 0.3.3 - is-typed-array: 1.1.12 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + possible-typed-array-names: 1.0.0 dev: false /typescript/5.0.4: @@ -2147,7 +2188,7 @@ packages: /unbox-primitive/1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 has-bigints: 1.0.2 has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 @@ -2169,15 +2210,15 @@ packages: is-symbol: 1.0.4 dev: false - /which-typed-array/1.1.13: - resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==} + /which-typed-array/1.1.15: + resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} engines: {node: '>= 0.4'} dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.5 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 for-each: 0.3.3 gopd: 1.0.1 - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 dev: false /which/2.0.2: From 763a6ad405fa4b2a074ac5dfb9928dfc67a0b3c4 Mon Sep 17 00:00:00 2001 From: ikusteu Date: Wed, 20 Mar 2024 06:36:16 +0100 Subject: [PATCH 2/9] bookings countdown: update countdown logic: * extend 'CalendarNav' and 'DateNavigation' to cater to new component used to set the system (debug) date * create 'DateDebug' component - to be used to set 'systemDate' for debug purposes * update 'useCountdown' to accept 'systemDate' (instead of using DateTime.now()) * accept 'systemDate' as prop in BookingsCountdown component --- .../BookingsCountdown/BookingsCountdown.tsx | 4 +- .../ui/src/BookingsCountdown/useCountdown.ts | 28 +++++--- .../src/CalendarNav/CalendarNav.stories.tsx | 14 ++++ packages/ui/src/CalendarNav/CalendarNav.tsx | 6 +- packages/ui/src/CalendarNav/DateDebug.tsx | 72 +++++++++++++++++++ .../ui/src/CalendarNav/DateNavigation.tsx | 16 +++-- packages/ui/src/CalendarNav/index.ts | 2 + 7 files changed, 124 insertions(+), 18 deletions(-) create mode 100644 packages/ui/src/CalendarNav/DateDebug.tsx diff --git a/packages/ui/src/BookingsCountdown/BookingsCountdown.tsx b/packages/ui/src/BookingsCountdown/BookingsCountdown.tsx index 31911f765..935c24368 100644 --- a/packages/ui/src/BookingsCountdown/BookingsCountdown.tsx +++ b/packages/ui/src/BookingsCountdown/BookingsCountdown.tsx @@ -30,6 +30,7 @@ export interface CountdownProps { * first/second deadline, or bookings locked message */ variant: BookingsCountdownVariant; + systemDate?: DateTime; } type BookingsCountdownProps = React.HTMLAttributes & @@ -52,9 +53,10 @@ const BookingsCountdown: React.FC = ({ month, onFinalize, as = "div", + systemDate = DateTime.now(), ...props }) => { - const countdown = useCountdown(deadline, "hour"); + const countdown = useCountdown(deadline, systemDate, "hour"); const message = variantMessageLookup[variant]; const countdownMessage = i18n.t(message, { diff --git a/packages/ui/src/BookingsCountdown/useCountdown.ts b/packages/ui/src/BookingsCountdown/useCountdown.ts index 379cf9db0..80beef016 100644 --- a/packages/ui/src/BookingsCountdown/useCountdown.ts +++ b/packages/ui/src/BookingsCountdown/useCountdown.ts @@ -11,11 +11,18 @@ type CountdownStruct = { type TickLength = "hour" | "minute" | "second"; interface HookInterface { - (countdownDate: DateTime | null, tick?: TickLength): CountdownStruct | null; + ( + countdownDate: DateTime | null, + systemDate: DateTime, + tick?: TickLength + ): CountdownStruct | null; } interface CountdownHelper { - (countdownDate: DateTime | null): CountdownStruct | null; + ( + countdownDate: DateTime | null, + systemDate: DateTime + ): CountdownStruct | null; } /** @@ -25,9 +32,13 @@ interface CountdownHelper { * @returns an object of values (number) until the deadline {days, hours, minutes, seconds} * or `null` if no `countdownDate` provided */ -const useCountdown: HookInterface = (countdownDate, tick = "second") => { +const useCountdown: HookInterface = ( + countdownDate, + systemDate, + tick = "second" +) => { const [countdown, setCountdown] = useState( - getCountdownValues(countdownDate) + getCountdownValues(countdownDate, systemDate) ); // store timeout in a ref to be accessible from multiple functions @@ -45,7 +56,7 @@ const useCountdown: HookInterface = (countdownDate, tick = "second") => { useEffect(() => { const tickLength = getTickLength(tick); timeout.current = setTimeout(() => { - setCountdown(getCountdownValues(countdownDate)); + setCountdown(getCountdownValues(countdownDate, systemDate)); }, tickLength); return resetTimeout; @@ -55,7 +66,7 @@ const useCountdown: HookInterface = (countdownDate, tick = "second") => { // reseting timeout in the process useEffect(() => { resetTimeout(); - setCountdown(getCountdownValues(countdownDate)); + setCountdown(getCountdownValues(countdownDate, systemDate)); }, [countdownDate]); return countdown; @@ -65,16 +76,15 @@ const useCountdown: HookInterface = (countdownDate, tick = "second") => { * Calculates the time difference between `DateTime.now()` and * provided `countdownDate`, returns result in `CountdownStruct` */ -const getCountdownValues: CountdownHelper = (countdownDate) => { +const getCountdownValues: CountdownHelper = (countdownDate, systemDate) => { if (!countdownDate) return null; - const now = DateTime.fromMillis(Date.now()); const { seconds: secondsFloat, days, hours, minutes, - } = countdownDate.diff(now, ["days", "hours", "minutes", "seconds"]); + } = countdownDate.diff(systemDate, ["days", "hours", "minutes", "seconds"]); return { days, diff --git a/packages/ui/src/CalendarNav/CalendarNav.stories.tsx b/packages/ui/src/CalendarNav/CalendarNav.stories.tsx index 072deab3c..8242ba2e9 100644 --- a/packages/ui/src/CalendarNav/CalendarNav.stories.tsx +++ b/packages/ui/src/CalendarNav/CalendarNav.stories.tsx @@ -4,6 +4,7 @@ import { DateTime } from "luxon"; import CalendarNav from "./CalendarNav"; import EmptySpace from "../EmptySpace"; +import DateDebug from "./DateDebug"; export default { title: "Calendar Nav", @@ -55,3 +56,16 @@ export const WithCountdown = (): JSX.Element => ( additionalContent={countdown} /> ); + +const DateDebugWrapper: React.FC = () => { + const [date, setDate] = React.useState(DateTime.now()); + + return ; +}; +export const WithDateDebug = (): JSX.Element => ( + } + /> +); diff --git a/packages/ui/src/CalendarNav/CalendarNav.tsx b/packages/ui/src/CalendarNav/CalendarNav.tsx index 55e63c9f3..753197ac9 100644 --- a/packages/ui/src/CalendarNav/CalendarNav.tsx +++ b/packages/ui/src/CalendarNav/CalendarNav.tsx @@ -55,10 +55,12 @@ const CalendarNav: React.FC = ({
+ > + {createDateTitle(date, jump)} + + {additionalContent && (
{additionalContent}
)} diff --git a/packages/ui/src/CalendarNav/DateDebug.tsx b/packages/ui/src/CalendarNav/DateDebug.tsx new file mode 100644 index 000000000..f7ea26b37 --- /dev/null +++ b/packages/ui/src/CalendarNav/DateDebug.tsx @@ -0,0 +1,72 @@ +import React from "react"; +import { DateTime } from "luxon"; + +import { Close } from "@eisbuk/svg"; + +import DateNavigation from "./DateNavigation"; + +const DateDebug: React.FC<{ + value: DateTime; + onChange: (date: DateTime) => void; +}> = ({ value, onChange }) => { + const [editing, setEditing] = React.useState(false); + + const navigate = (days: -1 | 1) => () => onChange(value.plus({ days })); + + const [isoDate, setIsoDate] = React.useState(value.toISODate()); + React.useEffect(() => { + setIsoDate(value.toISODate()); + }, [value]); + + const handleChange = (e: React.ChangeEvent) => { + const _date = e.target.value; + if (isIsoDate(_date)) { + // If date is a valid ISO string, update the DateTime value + // Local value is updated as side effect + onChange(DateTime.fromISO(_date)); + } + // Update the local value + setIsoDate(_date); + }; + + return ( +
+ System date: + {!editing ? ( + <> + {value.toISODate()} + + + ) : ( + <> + + + + + + )} +
+ ); +}; + +export default DateDebug; + +const isIsoDate = (date: string): boolean => /^\d{4}-\d{2}-\d{2}$/.test(date); diff --git a/packages/ui/src/CalendarNav/DateNavigation.tsx b/packages/ui/src/CalendarNav/DateNavigation.tsx index 70dad3eca..d11d2bb2e 100644 --- a/packages/ui/src/CalendarNav/DateNavigation.tsx +++ b/packages/ui/src/CalendarNav/DateNavigation.tsx @@ -4,7 +4,6 @@ import { ChevronRight, ChevronLeft } from "@eisbuk/svg"; import { AdminAria, useTranslation } from "@eisbuk/translations"; interface DateNavigationProps extends React.HTMLAttributes { - content: string; onPrev?: () => void; onNext?: () => void; } @@ -15,13 +14,14 @@ interface DateNavigationProps extends React.HTMLAttributes { */ const DateNavigation: React.FC = ({ className, - content, onPrev, onNext, + children = null, }) => { const buttonClasses = "w-8 h-full p-1 text-gray-500"; const { t } = useTranslation(); + return (
-
- - {content} - +
+ {typeof children === "string" ? ( + + {children} + + ) : ( + children + )}
+ ); + return ( { // additionalContent={} jump="month" additionalContent={ - isAdmin ? ( - dispatch(setSystemDate(date))} - /> - ) : undefined + isAdmin && view === "BookView" ? debugButton : undefined } /> )} + {debugOn && ( +
+ +
+ )} +
diff --git a/packages/ui/src/BookingDateDebugDialog/BookingDateDebugDialog.stories.tsx b/packages/ui/src/BookingDateDebugDialog/BookingDateDebugDialog.stories.tsx new file mode 100644 index 000000000..db54908cf --- /dev/null +++ b/packages/ui/src/BookingDateDebugDialog/BookingDateDebugDialog.stories.tsx @@ -0,0 +1,43 @@ +import React from "react"; +import { ComponentMeta } from "@storybook/react"; +import { DateTime } from "luxon"; + +import BookingDateDebugDialog from "./BookingDateDebugDialog"; + +export default { + title: "Booking Date Debug Dialog", + component: BookingDateDebugDialog, +} as ComponentMeta; + +export const Interactive = (): JSX.Element => { + const [_systemDate, setSystemDate] = React.useState( + DateTime.now().toISODate() + ); + const systemDate = { + value: _systemDate, + onChange: setSystemDate, + navigate: (delta: -1 | 1) => () => + setSystemDate( + DateTime.fromISO(_systemDate).plus({ days: delta }).toISODate() + ), + }; + + const [_extendedDate, setExtendedDate] = React.useState( + DateTime.now().toISODate() + ); + const extendedDate = { + value: _extendedDate, + onChange: setExtendedDate, + navigate: (delta: -1 | 1) => () => + setExtendedDate( + DateTime.fromISO(_extendedDate).plus({ days: delta }).toISODate() + ), + }; + + return ( + + ); +}; diff --git a/packages/ui/src/BookingDateDebugDialog/BookingDateDebugDialog.tsx b/packages/ui/src/BookingDateDebugDialog/BookingDateDebugDialog.tsx new file mode 100644 index 000000000..40f592704 --- /dev/null +++ b/packages/ui/src/BookingDateDebugDialog/BookingDateDebugDialog.tsx @@ -0,0 +1,50 @@ +import React from "react"; + +import { DateNavigation } from "../CalendarNav"; + +type DateFieldProps = { + value: string; + navigate: (days: -1 | 1) => () => void; + onChange: (date: string) => void; + onDestroy?: () => void; +}; + +type Props = { + systemDate: DateFieldProps; + extendedDate: DateFieldProps; +}; + +const DateDebug: React.FC = ({ systemDate, extendedDate }) => ( +
+
+ System date: + + systemDate.onChange(e.target.value)} + /> + +
+ +
+ Extended booking date: + + extendedDate.onChange(e.target.value)} + /> + +
+
+); +export default DateDebug; diff --git a/packages/ui/src/BookingDateDebugDialog/index.ts b/packages/ui/src/BookingDateDebugDialog/index.ts new file mode 100644 index 000000000..8be14fe08 --- /dev/null +++ b/packages/ui/src/BookingDateDebugDialog/index.ts @@ -0,0 +1 @@ +export { default } from "./BookingDateDebugDialog"; diff --git a/packages/ui/src/CalendarNav/CalendarNav.stories.tsx b/packages/ui/src/CalendarNav/CalendarNav.stories.tsx index 8242ba2e9..072deab3c 100644 --- a/packages/ui/src/CalendarNav/CalendarNav.stories.tsx +++ b/packages/ui/src/CalendarNav/CalendarNav.stories.tsx @@ -4,7 +4,6 @@ import { DateTime } from "luxon"; import CalendarNav from "./CalendarNav"; import EmptySpace from "../EmptySpace"; -import DateDebug from "./DateDebug"; export default { title: "Calendar Nav", @@ -56,16 +55,3 @@ export const WithCountdown = (): JSX.Element => ( additionalContent={countdown} /> ); - -const DateDebugWrapper: React.FC = () => { - const [date, setDate] = React.useState(DateTime.now()); - - return ; -}; -export const WithDateDebug = (): JSX.Element => ( - } - /> -); diff --git a/packages/ui/src/CalendarNav/DateDebug.tsx b/packages/ui/src/CalendarNav/DateDebug.tsx deleted file mode 100644 index f7ea26b37..000000000 --- a/packages/ui/src/CalendarNav/DateDebug.tsx +++ /dev/null @@ -1,72 +0,0 @@ -import React from "react"; -import { DateTime } from "luxon"; - -import { Close } from "@eisbuk/svg"; - -import DateNavigation from "./DateNavigation"; - -const DateDebug: React.FC<{ - value: DateTime; - onChange: (date: DateTime) => void; -}> = ({ value, onChange }) => { - const [editing, setEditing] = React.useState(false); - - const navigate = (days: -1 | 1) => () => onChange(value.plus({ days })); - - const [isoDate, setIsoDate] = React.useState(value.toISODate()); - React.useEffect(() => { - setIsoDate(value.toISODate()); - }, [value]); - - const handleChange = (e: React.ChangeEvent) => { - const _date = e.target.value; - if (isIsoDate(_date)) { - // If date is a valid ISO string, update the DateTime value - // Local value is updated as side effect - onChange(DateTime.fromISO(_date)); - } - // Update the local value - setIsoDate(_date); - }; - - return ( -
- System date: - {!editing ? ( - <> - {value.toISODate()} - - - ) : ( - <> - - - - - - )} -
- ); -}; - -export default DateDebug; - -const isIsoDate = (date: string): boolean => /^\d{4}-\d{2}-\d{2}$/.test(date); diff --git a/packages/ui/src/CalendarNav/index.ts b/packages/ui/src/CalendarNav/index.ts index 8efcdf9d2..96bf4698e 100644 --- a/packages/ui/src/CalendarNav/index.ts +++ b/packages/ui/src/CalendarNav/index.ts @@ -2,6 +2,6 @@ import CalendarNav, { CalendarNavProps } from "./CalendarNav"; export type { CalendarNavProps }; -export { default as DateDebug } from "./DateDebug"; +export { default as DateNavigation } from "./DateNavigation"; export default CalendarNav; diff --git a/packages/ui/src/index.ts b/packages/ui/src/index.ts index d53a63b10..8de7ed2ed 100644 --- a/packages/ui/src/index.ts +++ b/packages/ui/src/index.ts @@ -29,6 +29,7 @@ export { CountryCodesDropdownFormik, } from "./CountryCodesDropdown"; export { default as PrivacyPolicyToast } from "./PrivacyPolicyToast"; +export { default as BookingDateDebugDialog } from "./BookingDateDebugDialog"; export * from "./UserAvatar"; export * from "./NotificationToast"; From b34c8972fe560e122826dbb99c96b605c9a3ddb6 Mon Sep 17 00:00:00 2001 From: ikusteu Date: Thu, 21 Mar 2024 20:37:56 +0100 Subject: [PATCH 8/9] bookings countdown: internalionalise date debug elements --- packages/translations/src/dict/en.json | 6 ++ packages/translations/src/dict/it.json | 6 ++ packages/translations/src/translations.ts | 6 ++ .../BookingDateDebugDialog.tsx | 77 +++++++++++-------- 4 files changed, 64 insertions(+), 31 deletions(-) diff --git a/packages/translations/src/dict/en.json b/packages/translations/src/dict/en.json index 70d619a98..829968592 100644 --- a/packages/translations/src/dict/en.json +++ b/packages/translations/src/dict/en.json @@ -434,5 +434,11 @@ "Forms": { "ShowPassword": "show password", "HidePassword": "hide password" + }, + + "Debug": { + "SystemDate": "System date", + "ExtendedBookingDate": "Extended booking date", + "DebugOnlyMessage": "This area is for debug only. The changes made here will not be saved." } } diff --git a/packages/translations/src/dict/it.json b/packages/translations/src/dict/it.json index a16717df9..a961d9834 100644 --- a/packages/translations/src/dict/it.json +++ b/packages/translations/src/dict/it.json @@ -437,5 +437,11 @@ "Forms": { "ShowPassword": "Mostra password", "HidePassword": "Nascondi password" + }, + + "Debug": { + "SystemDate": "System date", + "ExtendedBookingDate": "Extended booking date", + "DebugOnlyMessage": "This area is for debug only. The changes made here will not be saved." } } diff --git a/packages/translations/src/translations.ts b/packages/translations/src/translations.ts index d39e30953..51c63f198 100644 --- a/packages/translations/src/translations.ts +++ b/packages/translations/src/translations.ts @@ -471,3 +471,9 @@ export enum Forms { HidePassword = "Forms.HidePassword", } // #endregion forms + +export enum Debug { + SystemDate = "Debug.SystemDate", + ExtendedBookingDate = "Debug.ExtendedBookingDate", + DebugOnlyMessage = "Debug.DebugOnlyMessage", +} diff --git a/packages/ui/src/BookingDateDebugDialog/BookingDateDebugDialog.tsx b/packages/ui/src/BookingDateDebugDialog/BookingDateDebugDialog.tsx index 40f592704..cc1053105 100644 --- a/packages/ui/src/BookingDateDebugDialog/BookingDateDebugDialog.tsx +++ b/packages/ui/src/BookingDateDebugDialog/BookingDateDebugDialog.tsx @@ -1,5 +1,7 @@ import React from "react"; +import { Debug, useTranslation } from "@eisbuk/translations"; + import { DateNavigation } from "../CalendarNav"; type DateFieldProps = { @@ -14,37 +16,50 @@ type Props = { extendedDate: DateFieldProps; }; -const DateDebug: React.FC = ({ systemDate, extendedDate }) => ( -
-
- System date: - - systemDate.onChange(e.target.value)} - /> - -
+const DateDebug: React.FC = ({ systemDate, extendedDate }) => { + const { t } = useTranslation(); -
- Extended booking date: - - extendedDate.onChange(e.target.value)} - /> - + return ( +
+
+
+ + {t(Debug.SystemDate)}: + + + systemDate.onChange(e.target.value)} + /> + +
+ +
+ + {t(Debug.ExtendedBookingDate)}: + + + extendedDate.onChange(e.target.value)} + /> + +
+
+

+ {t(Debug.DebugOnlyMessage)} +

-
-); + ); +}; export default DateDebug; From add41bf765f0e2fcc94629c733e896045302a700 Mon Sep 17 00:00:00 2001 From: Silvio Tomatis Date: Sat, 23 Mar 2024 11:12:25 +0100 Subject: [PATCH 9/9] Update labels --- packages/client/src/pages/customer_area/index.tsx | 8 ++++++-- packages/translations/src/dict/en.json | 7 ++++--- packages/translations/src/dict/it.json | 7 ++++--- packages/translations/src/translations.ts | 1 + 4 files changed, 15 insertions(+), 8 deletions(-) diff --git a/packages/client/src/pages/customer_area/index.tsx b/packages/client/src/pages/customer_area/index.tsx index 39d726e52..3e9138a12 100644 --- a/packages/client/src/pages/customer_area/index.tsx +++ b/packages/client/src/pages/customer_area/index.tsx @@ -1,7 +1,11 @@ import React, { useState } from "react"; import { useSelector } from "react-redux"; import { Redirect } from "react-router-dom"; -import { CustomerNavigationLabel, useTranslation } from "@eisbuk/translations"; +import { + CustomerNavigationLabel, + Debug, + useTranslation, +} from "@eisbuk/translations"; import { Button, @@ -154,7 +158,7 @@ const CustomerArea: React.FC = () => { } // aria-label={t(SlotsAria.EnableEdit)} > - Debug + {t(Debug.DebugButtonLabel)} ); diff --git a/packages/translations/src/dict/en.json b/packages/translations/src/dict/en.json index 829968592..d843caef6 100644 --- a/packages/translations/src/dict/en.json +++ b/packages/translations/src/dict/en.json @@ -437,8 +437,9 @@ }, "Debug": { - "SystemDate": "System date", - "ExtendedBookingDate": "Extended booking date", - "DebugOnlyMessage": "This area is for debug only. The changes made here will not be saved." + "DebugButtonLabel": "Simulation", + "SystemDate": "Simulated today's date", + "ExtendedBookingDate": "Simulated extended booking date", + "DebugOnlyMessage": "These values are simulated, so that you can try things out. The changes made here will not be saved." } } diff --git a/packages/translations/src/dict/it.json b/packages/translations/src/dict/it.json index a961d9834..3c0e32cf4 100644 --- a/packages/translations/src/dict/it.json +++ b/packages/translations/src/dict/it.json @@ -440,8 +440,9 @@ }, "Debug": { - "SystemDate": "System date", - "ExtendedBookingDate": "Extended booking date", - "DebugOnlyMessage": "This area is for debug only. The changes made here will not be saved." + "DebugButtonLabel": "Simulazione", + "SystemDate": "Data di oggi simulata", + "ExtendedBookingDate": "Data simulata di scadenza delle prenotazioni", + "DebugOnlyMessage": "Questi valori vengono usati per la simulazione, per fare delle prove. Non vengono registrati da nessuna parte." } } diff --git a/packages/translations/src/translations.ts b/packages/translations/src/translations.ts index 51c63f198..8abbd9d2a 100644 --- a/packages/translations/src/translations.ts +++ b/packages/translations/src/translations.ts @@ -476,4 +476,5 @@ export enum Debug { SystemDate = "Debug.SystemDate", ExtendedBookingDate = "Debug.ExtendedBookingDate", DebugOnlyMessage = "Debug.DebugOnlyMessage", + DebugButtonLabel = "Debug.DebugButtonLabel", }