matrix-art.meta

Issues/PRs archive for MTRNord/matrix-art
git clone git://archive.git.mtrnord.blog/MTRNord/matrix-art.meta.git
Log | Files | Refs

590.diff (24889B)


      1 diff --git a/package-lock.json b/package-lock.json
      2 index 1dede94..5513375 100644
      3 --- a/package-lock.json
      4 +++ b/package-lock.json
      5 @@ -36,7 +36,7 @@
      6          "@vitejs/plugin-react-swc": "^3.0.1",
      7          "@vitest/ui": "^0.27.3",
      8          "autoprefixer": "^10.4.13",
      9 -        "eslint": "^8.32.0",
     10 +        "eslint": "^8.48.0",
     11          "eslint-plugin-tailwindcss": "^3.8.0",
     12          "eslint-plugin-unicorn": "^45.0.2",
     13          "jsdom": "^21.1.0",
     14 @@ -48,6 +48,15 @@
     15          "vitest": "^0.27.3"
     16        }
     17      },
     18 +    "node_modules/@aashutoshrathi/word-wrap": {
     19 +      "version": "1.2.6",
     20 +      "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz",
     21 +      "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==",
     22 +      "dev": true,
     23 +      "engines": {
     24 +        "node": ">=0.10.0"
     25 +      }
     26 +    },
     27      "node_modules/@adobe/css-tools": {
     28        "version": "4.0.1",
     29        "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.0.1.tgz",
     30 @@ -698,9 +707,9 @@
     31        }
     32      },
     33      "node_modules/@eslint-community/eslint-utils": {
     34 -      "version": "4.1.2",
     35 -      "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.1.2.tgz",
     36 -      "integrity": "sha512-7qELuQWWjVDdVsFQ5+beUl+KPczrEDA7S3zM4QUd/bJl7oXgsmpXaEVqrRTnOBqenOV4rWf2kVZk2Ot085zPWA==",
     37 +      "version": "4.4.0",
     38 +      "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
     39 +      "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
     40        "dev": true,
     41        "dependencies": {
     42          "eslint-visitor-keys": "^3.3.0"
     43 @@ -709,18 +718,27 @@
     44          "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
     45        },
     46        "peerDependencies": {
     47 -        "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
     48 +        "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
     49 +      }
     50 +    },
     51 +    "node_modules/@eslint-community/regexpp": {
     52 +      "version": "4.8.0",
     53 +      "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.8.0.tgz",
     54 +      "integrity": "sha512-JylOEEzDiOryeUnFbQz+oViCXS0KsvR1mvHkoMiu5+UiBvy+RYX7tzlIIIEstF/gVa2tj9AQXk3dgnxv6KxhFg==",
     55 +      "dev": true,
     56 +      "engines": {
     57 +        "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
     58        }
     59      },
     60      "node_modules/@eslint/eslintrc": {
     61 -      "version": "1.4.1",
     62 -      "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz",
     63 -      "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==",
     64 +      "version": "2.1.2",
     65 +      "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz",
     66 +      "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==",
     67        "dev": true,
     68        "dependencies": {
     69          "ajv": "^6.12.4",
     70          "debug": "^4.3.2",
     71 -        "espree": "^9.4.0",
     72 +        "espree": "^9.6.0",
     73          "globals": "^13.19.0",
     74          "ignore": "^5.2.0",
     75          "import-fresh": "^3.2.1",
     76 @@ -735,10 +753,19 @@
     77          "url": "https://opencollective.com/eslint"
     78        }
     79      },
     80 +    "node_modules/@eslint/js": {
     81 +      "version": "8.48.0",
     82 +      "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.48.0.tgz",
     83 +      "integrity": "sha512-ZSjtmelB7IJfWD2Fvb7+Z+ChTIKWq6kjda95fLcQKNS5aheVHn4IkfgRQE3sIIzTcSLwLcLZUD9UBt+V7+h+Pw==",
     84 +      "dev": true,
     85 +      "engines": {
     86 +        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
     87 +      }
     88 +    },
     89      "node_modules/@humanwhocodes/config-array": {
     90 -      "version": "0.11.8",
     91 -      "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz",
     92 -      "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==",
     93 +      "version": "0.11.10",
     94 +      "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz",
     95 +      "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==",
     96        "dev": true,
     97        "dependencies": {
     98          "@humanwhocodes/object-schema": "^1.2.1",
     99 @@ -1590,9 +1617,9 @@
    100        "dev": true
    101      },
    102      "node_modules/acorn": {
    103 -      "version": "8.8.1",
    104 -      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz",
    105 -      "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==",
    106 +      "version": "8.10.0",
    107 +      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz",
    108 +      "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==",
    109        "dev": true,
    110        "bin": {
    111          "acorn": "bin/acorn"
    112 @@ -2849,49 +2876,47 @@
    113        }
    114      },
    115      "node_modules/eslint": {
    116 -      "version": "8.32.0",
    117 -      "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.32.0.tgz",
    118 -      "integrity": "sha512-nETVXpnthqKPFyuY2FNjz/bEd6nbosRgKbkgS/y1C7LJop96gYHWpiguLecMHQ2XCPxn77DS0P+68WzG6vkZSQ==",
    119 +      "version": "8.48.0",
    120 +      "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.48.0.tgz",
    121 +      "integrity": "sha512-sb6DLeIuRXxeM1YljSe1KEx9/YYeZFQWcV8Rq9HfigmdDEugjLEVEa1ozDjL6YDjBpQHPJxJzze+alxi4T3OLg==",
    122        "dev": true,
    123        "dependencies": {
    124 -        "@eslint/eslintrc": "^1.4.1",
    125 -        "@humanwhocodes/config-array": "^0.11.8",
    126 +        "@eslint-community/eslint-utils": "^4.2.0",
    127 +        "@eslint-community/regexpp": "^4.6.1",
    128 +        "@eslint/eslintrc": "^2.1.2",
    129 +        "@eslint/js": "8.48.0",
    130 +        "@humanwhocodes/config-array": "^0.11.10",
    131          "@humanwhocodes/module-importer": "^1.0.1",
    132          "@nodelib/fs.walk": "^1.2.8",
    133 -        "ajv": "^6.10.0",
    134 +        "ajv": "^6.12.4",
    135          "chalk": "^4.0.0",
    136          "cross-spawn": "^7.0.2",
    137          "debug": "^4.3.2",
    138          "doctrine": "^3.0.0",
    139          "escape-string-regexp": "^4.0.0",
    140 -        "eslint-scope": "^7.1.1",
    141 -        "eslint-utils": "^3.0.0",
    142 -        "eslint-visitor-keys": "^3.3.0",
    143 -        "espree": "^9.4.0",
    144 -        "esquery": "^1.4.0",
    145 +        "eslint-scope": "^7.2.2",
    146 +        "eslint-visitor-keys": "^3.4.3",
    147 +        "espree": "^9.6.1",
    148 +        "esquery": "^1.4.2",
    149          "esutils": "^2.0.2",
    150          "fast-deep-equal": "^3.1.3",
    151          "file-entry-cache": "^6.0.1",
    152          "find-up": "^5.0.0",
    153          "glob-parent": "^6.0.2",
    154          "globals": "^13.19.0",
    155 -        "grapheme-splitter": "^1.0.4",
    156 +        "graphemer": "^1.4.0",
    157          "ignore": "^5.2.0",
    158 -        "import-fresh": "^3.0.0",
    159          "imurmurhash": "^0.1.4",
    160          "is-glob": "^4.0.0",
    161          "is-path-inside": "^3.0.3",
    162 -        "js-sdsl": "^4.1.4",
    163          "js-yaml": "^4.1.0",
    164          "json-stable-stringify-without-jsonify": "^1.0.1",
    165          "levn": "^0.4.1",
    166          "lodash.merge": "^4.6.2",
    167          "minimatch": "^3.1.2",
    168          "natural-compare": "^1.4.0",
    169 -        "optionator": "^0.9.1",
    170 -        "regexpp": "^3.2.0",
    171 +        "optionator": "^0.9.3",
    172          "strip-ansi": "^6.0.1",
    173 -        "strip-json-comments": "^3.1.0",
    174          "text-table": "^0.2.0"
    175        },
    176        "bin": {
    177 @@ -2992,18 +3017,21 @@
    178        }
    179      },
    180      "node_modules/eslint-visitor-keys": {
    181 -      "version": "3.3.0",
    182 -      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
    183 -      "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
    184 +      "version": "3.4.3",
    185 +      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
    186 +      "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
    187        "dev": true,
    188        "engines": {
    189          "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
    190 +      },
    191 +      "funding": {
    192 +        "url": "https://opencollective.com/eslint"
    193        }
    194      },
    195      "node_modules/eslint/node_modules/eslint-scope": {
    196 -      "version": "7.1.1",
    197 -      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
    198 -      "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
    199 +      "version": "7.2.2",
    200 +      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz",
    201 +      "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
    202        "dev": true,
    203        "dependencies": {
    204          "esrecurse": "^4.3.0",
    205 @@ -3011,6 +3039,9 @@
    206        },
    207        "engines": {
    208          "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
    209 +      },
    210 +      "funding": {
    211 +        "url": "https://opencollective.com/eslint"
    212        }
    213      },
    214      "node_modules/eslint/node_modules/estraverse": {
    215 @@ -3023,14 +3054,14 @@
    216        }
    217      },
    218      "node_modules/espree": {
    219 -      "version": "9.4.1",
    220 -      "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz",
    221 -      "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==",
    222 +      "version": "9.6.1",
    223 +      "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
    224 +      "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==",
    225        "dev": true,
    226        "dependencies": {
    227 -        "acorn": "^8.8.0",
    228 +        "acorn": "^8.9.0",
    229          "acorn-jsx": "^5.3.2",
    230 -        "eslint-visitor-keys": "^3.3.0"
    231 +        "eslint-visitor-keys": "^3.4.1"
    232        },
    233        "engines": {
    234          "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
    235 @@ -3053,9 +3084,9 @@
    236        }
    237      },
    238      "node_modules/esquery": {
    239 -      "version": "1.4.0",
    240 -      "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
    241 -      "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
    242 +      "version": "1.5.0",
    243 +      "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
    244 +      "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
    245        "dev": true,
    246        "dependencies": {
    247          "estraverse": "^5.1.0"
    248 @@ -3444,9 +3475,9 @@
    249        }
    250      },
    251      "node_modules/globals": {
    252 -      "version": "13.19.0",
    253 -      "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz",
    254 -      "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==",
    255 +      "version": "13.21.0",
    256 +      "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz",
    257 +      "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==",
    258        "dev": true,
    259        "dependencies": {
    260          "type-fest": "^0.20.2"
    261 @@ -3496,10 +3527,10 @@
    262        "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
    263        "dev": true
    264      },
    265 -    "node_modules/grapheme-splitter": {
    266 -      "version": "1.0.4",
    267 -      "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
    268 -      "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==",
    269 +    "node_modules/graphemer": {
    270 +      "version": "1.4.0",
    271 +      "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
    272 +      "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
    273        "dev": true
    274      },
    275      "node_modules/happy-dom": {
    276 @@ -4347,16 +4378,6 @@
    277          "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
    278        }
    279      },
    280 -    "node_modules/js-sdsl": {
    281 -      "version": "4.2.0",
    282 -      "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz",
    283 -      "integrity": "sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==",
    284 -      "dev": true,
    285 -      "funding": {
    286 -        "type": "opencollective",
    287 -        "url": "https://opencollective.com/js-sdsl"
    288 -      }
    289 -    },
    290      "node_modules/js-tokens": {
    291        "version": "4.0.0",
    292        "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
    293 @@ -4966,17 +4987,17 @@
    294        }
    295      },
    296      "node_modules/optionator": {
    297 -      "version": "0.9.1",
    298 -      "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
    299 -      "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
    300 +      "version": "0.9.3",
    301 +      "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz",
    302 +      "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==",
    303        "dev": true,
    304        "dependencies": {
    305 +        "@aashutoshrathi/word-wrap": "^1.2.3",
    306          "deep-is": "^0.1.3",
    307          "fast-levenshtein": "^2.0.6",
    308          "levn": "^0.4.1",
    309          "prelude-ls": "^1.2.1",
    310 -        "type-check": "^0.4.0",
    311 -        "word-wrap": "^1.2.3"
    312 +        "type-check": "^0.4.0"
    313        },
    314        "engines": {
    315          "node": ">= 0.8.0"
    316 @@ -7114,6 +7135,12 @@
    317      }
    318    },
    319    "dependencies": {
    320 +    "@aashutoshrathi/word-wrap": {
    321 +      "version": "1.2.6",
    322 +      "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz",
    323 +      "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==",
    324 +      "dev": true
    325 +    },
    326      "@adobe/css-tools": {
    327        "version": "4.0.1",
    328        "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.0.1.tgz",
    329 @@ -7497,23 +7524,29 @@
    330        "optional": true
    331      },
    332      "@eslint-community/eslint-utils": {
    333 -      "version": "4.1.2",
    334 -      "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.1.2.tgz",
    335 -      "integrity": "sha512-7qELuQWWjVDdVsFQ5+beUl+KPczrEDA7S3zM4QUd/bJl7oXgsmpXaEVqrRTnOBqenOV4rWf2kVZk2Ot085zPWA==",
    336 +      "version": "4.4.0",
    337 +      "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
    338 +      "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
    339        "dev": true,
    340        "requires": {
    341          "eslint-visitor-keys": "^3.3.0"
    342        }
    343      },
    344 +    "@eslint-community/regexpp": {
    345 +      "version": "4.8.0",
    346 +      "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.8.0.tgz",
    347 +      "integrity": "sha512-JylOEEzDiOryeUnFbQz+oViCXS0KsvR1mvHkoMiu5+UiBvy+RYX7tzlIIIEstF/gVa2tj9AQXk3dgnxv6KxhFg==",
    348 +      "dev": true
    349 +    },
    350      "@eslint/eslintrc": {
    351 -      "version": "1.4.1",
    352 -      "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz",
    353 -      "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==",
    354 +      "version": "2.1.2",
    355 +      "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz",
    356 +      "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==",
    357        "dev": true,
    358        "requires": {
    359          "ajv": "^6.12.4",
    360          "debug": "^4.3.2",
    361 -        "espree": "^9.4.0",
    362 +        "espree": "^9.6.0",
    363          "globals": "^13.19.0",
    364          "ignore": "^5.2.0",
    365          "import-fresh": "^3.2.1",
    366 @@ -7522,10 +7555,16 @@
    367          "strip-json-comments": "^3.1.1"
    368        }
    369      },
    370 +    "@eslint/js": {
    371 +      "version": "8.48.0",
    372 +      "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.48.0.tgz",
    373 +      "integrity": "sha512-ZSjtmelB7IJfWD2Fvb7+Z+ChTIKWq6kjda95fLcQKNS5aheVHn4IkfgRQE3sIIzTcSLwLcLZUD9UBt+V7+h+Pw==",
    374 +      "dev": true
    375 +    },
    376      "@humanwhocodes/config-array": {
    377 -      "version": "0.11.8",
    378 -      "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz",
    379 -      "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==",
    380 +      "version": "0.11.10",
    381 +      "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz",
    382 +      "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==",
    383        "dev": true,
    384        "requires": {
    385          "@humanwhocodes/object-schema": "^1.2.1",
    386 @@ -8110,9 +8149,9 @@
    387        "dev": true
    388      },
    389      "acorn": {
    390 -      "version": "8.8.1",
    391 -      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz",
    392 -      "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==",
    393 +      "version": "8.10.0",
    394 +      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz",
    395 +      "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==",
    396        "dev": true
    397      },
    398      "acorn-globals": {
    399 @@ -9016,56 +9055,54 @@
    400        }
    401      },
    402      "eslint": {
    403 -      "version": "8.32.0",
    404 -      "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.32.0.tgz",
    405 -      "integrity": "sha512-nETVXpnthqKPFyuY2FNjz/bEd6nbosRgKbkgS/y1C7LJop96gYHWpiguLecMHQ2XCPxn77DS0P+68WzG6vkZSQ==",
    406 +      "version": "8.48.0",
    407 +      "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.48.0.tgz",
    408 +      "integrity": "sha512-sb6DLeIuRXxeM1YljSe1KEx9/YYeZFQWcV8Rq9HfigmdDEugjLEVEa1ozDjL6YDjBpQHPJxJzze+alxi4T3OLg==",
    409        "dev": true,
    410        "requires": {
    411 -        "@eslint/eslintrc": "^1.4.1",
    412 -        "@humanwhocodes/config-array": "^0.11.8",
    413 +        "@eslint-community/eslint-utils": "^4.2.0",
    414 +        "@eslint-community/regexpp": "^4.6.1",
    415 +        "@eslint/eslintrc": "^2.1.2",
    416 +        "@eslint/js": "8.48.0",
    417 +        "@humanwhocodes/config-array": "^0.11.10",
    418          "@humanwhocodes/module-importer": "^1.0.1",
    419          "@nodelib/fs.walk": "^1.2.8",
    420 -        "ajv": "^6.10.0",
    421 +        "ajv": "^6.12.4",
    422          "chalk": "^4.0.0",
    423          "cross-spawn": "^7.0.2",
    424          "debug": "^4.3.2",
    425          "doctrine": "^3.0.0",
    426          "escape-string-regexp": "^4.0.0",
    427 -        "eslint-scope": "^7.1.1",
    428 -        "eslint-utils": "^3.0.0",
    429 -        "eslint-visitor-keys": "^3.3.0",
    430 -        "espree": "^9.4.0",
    431 -        "esquery": "^1.4.0",
    432 +        "eslint-scope": "^7.2.2",
    433 +        "eslint-visitor-keys": "^3.4.3",
    434 +        "espree": "^9.6.1",
    435 +        "esquery": "^1.4.2",
    436          "esutils": "^2.0.2",
    437          "fast-deep-equal": "^3.1.3",
    438          "file-entry-cache": "^6.0.1",
    439          "find-up": "^5.0.0",
    440          "glob-parent": "^6.0.2",
    441          "globals": "^13.19.0",
    442 -        "grapheme-splitter": "^1.0.4",
    443 +        "graphemer": "^1.4.0",
    444          "ignore": "^5.2.0",
    445 -        "import-fresh": "^3.0.0",
    446          "imurmurhash": "^0.1.4",
    447          "is-glob": "^4.0.0",
    448          "is-path-inside": "^3.0.3",
    449 -        "js-sdsl": "^4.1.4",
    450          "js-yaml": "^4.1.0",
    451          "json-stable-stringify-without-jsonify": "^1.0.1",
    452          "levn": "^0.4.1",
    453          "lodash.merge": "^4.6.2",
    454          "minimatch": "^3.1.2",
    455          "natural-compare": "^1.4.0",
    456 -        "optionator": "^0.9.1",
    457 -        "regexpp": "^3.2.0",
    458 +        "optionator": "^0.9.3",
    459          "strip-ansi": "^6.0.1",
    460 -        "strip-json-comments": "^3.1.0",
    461          "text-table": "^0.2.0"
    462        },
    463        "dependencies": {
    464          "eslint-scope": {
    465 -          "version": "7.1.1",
    466 -          "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
    467 -          "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
    468 +          "version": "7.2.2",
    469 +          "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz",
    470 +          "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
    471            "dev": true,
    472            "requires": {
    473              "esrecurse": "^4.3.0",
    474 @@ -9143,20 +9180,20 @@
    475        }
    476      },
    477      "eslint-visitor-keys": {
    478 -      "version": "3.3.0",
    479 -      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
    480 -      "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
    481 +      "version": "3.4.3",
    482 +      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
    483 +      "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
    484        "dev": true
    485      },
    486      "espree": {
    487 -      "version": "9.4.1",
    488 -      "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz",
    489 -      "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==",
    490 +      "version": "9.6.1",
    491 +      "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
    492 +      "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==",
    493        "dev": true,
    494        "requires": {
    495 -        "acorn": "^8.8.0",
    496 +        "acorn": "^8.9.0",
    497          "acorn-jsx": "^5.3.2",
    498 -        "eslint-visitor-keys": "^3.3.0"
    499 +        "eslint-visitor-keys": "^3.4.1"
    500        }
    501      },
    502      "esprima": {
    503 @@ -9166,9 +9203,9 @@
    504        "dev": true
    505      },
    506      "esquery": {
    507 -      "version": "1.4.0",
    508 -      "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
    509 -      "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
    510 +      "version": "1.5.0",
    511 +      "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
    512 +      "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
    513        "dev": true,
    514        "requires": {
    515          "estraverse": "^5.1.0"
    516 @@ -9469,9 +9506,9 @@
    517        }
    518      },
    519      "globals": {
    520 -      "version": "13.19.0",
    521 -      "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz",
    522 -      "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==",
    523 +      "version": "13.21.0",
    524 +      "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz",
    525 +      "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==",
    526        "dev": true,
    527        "requires": {
    528          "type-fest": "^0.20.2"
    529 @@ -9506,10 +9543,10 @@
    530        "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
    531        "dev": true
    532      },
    533 -    "grapheme-splitter": {
    534 -      "version": "1.0.4",
    535 -      "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
    536 -      "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==",
    537 +    "graphemer": {
    538 +      "version": "1.4.0",
    539 +      "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
    540 +      "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
    541        "dev": true
    542      },
    543      "happy-dom": {
    544 @@ -10110,12 +10147,6 @@
    545          "picomatch": "^2.2.3"
    546        }
    547      },
    548 -    "js-sdsl": {
    549 -      "version": "4.2.0",
    550 -      "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz",
    551 -      "integrity": "sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==",
    552 -      "dev": true
    553 -    },
    554      "js-tokens": {
    555        "version": "4.0.0",
    556        "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
    557 @@ -10575,17 +10606,17 @@
    558        }
    559      },
    560      "optionator": {
    561 -      "version": "0.9.1",
    562 -      "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
    563 -      "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
    564 +      "version": "0.9.3",
    565 +      "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz",
    566 +      "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==",
    567        "dev": true,
    568        "requires": {
    569 +        "@aashutoshrathi/word-wrap": "^1.2.3",
    570          "deep-is": "^0.1.3",
    571          "fast-levenshtein": "^2.0.6",
    572          "levn": "^0.4.1",
    573          "prelude-ls": "^1.2.1",
    574 -        "type-check": "^0.4.0",
    575 -        "word-wrap": "^1.2.3"
    576 +        "type-check": "^0.4.0"
    577        }
    578      },
    579      "ora": {
    580 diff --git a/package.json b/package.json
    581 index 85022c5..84583bb 100644
    582 --- a/package.json
    583 +++ b/package.json
    584 @@ -41,7 +41,7 @@
    585      "@vitejs/plugin-react-swc": "^3.0.1",
    586      "@vitest/ui": "^0.27.3",
    587      "autoprefixer": "^10.4.13",
    588 -    "eslint": "^8.32.0",
    589 +    "eslint": "^8.48.0",
    590      "eslint-plugin-tailwindcss": "^3.8.0",
    591      "eslint-plugin-unicorn": "^45.0.2",
    592      "jsdom": "^21.1.0",