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

460.diff (27303B)


      1 diff --git a/package-lock.json b/package-lock.json
      2 index 1dede94..1b932fa 100644
      3 --- a/package-lock.json
      4 +++ b/package-lock.json
      5 @@ -38,7 +38,7 @@
      6          "autoprefixer": "^10.4.13",
      7          "eslint": "^8.32.0",
      8          "eslint-plugin-tailwindcss": "^3.8.0",
      9 -        "eslint-plugin-unicorn": "^45.0.2",
     10 +        "eslint-plugin-unicorn": "^47.0.0",
     11          "jsdom": "^21.1.0",
     12          "postcss": "^8.4.21",
     13          "tailwindcss": "^3.2.4",
     14 @@ -698,9 +698,9 @@
     15        }
     16      },
     17      "node_modules/@eslint-community/eslint-utils": {
     18 -      "version": "4.1.2",
     19 -      "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.1.2.tgz",
     20 -      "integrity": "sha512-7qELuQWWjVDdVsFQ5+beUl+KPczrEDA7S3zM4QUd/bJl7oXgsmpXaEVqrRTnOBqenOV4rWf2kVZk2Ot085zPWA==",
     21 +      "version": "4.4.0",
     22 +      "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
     23 +      "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
     24        "dev": true,
     25        "dependencies": {
     26          "eslint-visitor-keys": "^3.3.0"
     27 @@ -709,18 +709,27 @@
     28          "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
     29        },
     30        "peerDependencies": {
     31 -        "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
     32 +        "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
     33 +      }
     34 +    },
     35 +    "node_modules/@eslint-community/regexpp": {
     36 +      "version": "4.5.1",
     37 +      "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz",
     38 +      "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==",
     39 +      "dev": true,
     40 +      "engines": {
     41 +        "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
     42        }
     43      },
     44      "node_modules/@eslint/eslintrc": {
     45 -      "version": "1.4.1",
     46 -      "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz",
     47 -      "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==",
     48 +      "version": "2.0.3",
     49 +      "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz",
     50 +      "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==",
     51        "dev": true,
     52        "dependencies": {
     53          "ajv": "^6.12.4",
     54          "debug": "^4.3.2",
     55 -        "espree": "^9.4.0",
     56 +        "espree": "^9.5.2",
     57          "globals": "^13.19.0",
     58          "ignore": "^5.2.0",
     59          "import-fresh": "^3.2.1",
     60 @@ -735,10 +744,19 @@
     61          "url": "https://opencollective.com/eslint"
     62        }
     63      },
     64 +    "node_modules/@eslint/js": {
     65 +      "version": "8.42.0",
     66 +      "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.42.0.tgz",
     67 +      "integrity": "sha512-6SWlXpWU5AvId8Ac7zjzmIOqMOba/JWY8XZ4A7q7Gn1Vlfg/SFFIlrtHXt9nPn4op9ZPAkl91Jao+QQv3r/ukw==",
     68 +      "dev": true,
     69 +      "engines": {
     70 +        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
     71 +      }
     72 +    },
     73      "node_modules/@humanwhocodes/config-array": {
     74 -      "version": "0.11.8",
     75 -      "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz",
     76 -      "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==",
     77 +      "version": "0.11.10",
     78 +      "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz",
     79 +      "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==",
     80        "dev": true,
     81        "dependencies": {
     82          "@humanwhocodes/object-schema": "^1.2.1",
     83 @@ -2171,9 +2189,9 @@
     84        }
     85      },
     86      "node_modules/ci-info": {
     87 -      "version": "3.7.1",
     88 -      "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.7.1.tgz",
     89 -      "integrity": "sha512-4jYS4MOAaCIStSRwiuxc4B8MYhIe676yO1sYGzARnjXkWpmzZMMYxY6zu8WYWDhSuth5zhrQ1rhNSibyyvv4/w==",
     90 +      "version": "3.8.0",
     91 +      "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz",
     92 +      "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==",
     93        "dev": true,
     94        "funding": [
     95          {
     96 @@ -2849,13 +2867,16 @@
     97        }
     98      },
     99      "node_modules/eslint": {
    100 -      "version": "8.32.0",
    101 -      "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.32.0.tgz",
    102 -      "integrity": "sha512-nETVXpnthqKPFyuY2FNjz/bEd6nbosRgKbkgS/y1C7LJop96gYHWpiguLecMHQ2XCPxn77DS0P+68WzG6vkZSQ==",
    103 +      "version": "8.42.0",
    104 +      "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.42.0.tgz",
    105 +      "integrity": "sha512-ulg9Ms6E1WPf67PHaEY4/6E2tEn5/f7FXGzr3t9cBMugOmf1INYvuUwwh1aXQN4MfJ6a5K2iNwP3w4AColvI9A==",
    106        "dev": true,
    107        "dependencies": {
    108 -        "@eslint/eslintrc": "^1.4.1",
    109 -        "@humanwhocodes/config-array": "^0.11.8",
    110 +        "@eslint-community/eslint-utils": "^4.2.0",
    111 +        "@eslint-community/regexpp": "^4.4.0",
    112 +        "@eslint/eslintrc": "^2.0.3",
    113 +        "@eslint/js": "8.42.0",
    114 +        "@humanwhocodes/config-array": "^0.11.10",
    115          "@humanwhocodes/module-importer": "^1.0.1",
    116          "@nodelib/fs.walk": "^1.2.8",
    117          "ajv": "^6.10.0",
    118 @@ -2864,24 +2885,22 @@
    119          "debug": "^4.3.2",
    120          "doctrine": "^3.0.0",
    121          "escape-string-regexp": "^4.0.0",
    122 -        "eslint-scope": "^7.1.1",
    123 -        "eslint-utils": "^3.0.0",
    124 -        "eslint-visitor-keys": "^3.3.0",
    125 -        "espree": "^9.4.0",
    126 -        "esquery": "^1.4.0",
    127 +        "eslint-scope": "^7.2.0",
    128 +        "eslint-visitor-keys": "^3.4.1",
    129 +        "espree": "^9.5.2",
    130 +        "esquery": "^1.4.2",
    131          "esutils": "^2.0.2",
    132          "fast-deep-equal": "^3.1.3",
    133          "file-entry-cache": "^6.0.1",
    134          "find-up": "^5.0.0",
    135          "glob-parent": "^6.0.2",
    136          "globals": "^13.19.0",
    137 -        "grapheme-splitter": "^1.0.4",
    138 +        "graphemer": "^1.4.0",
    139          "ignore": "^5.2.0",
    140          "import-fresh": "^3.0.0",
    141          "imurmurhash": "^0.1.4",
    142          "is-glob": "^4.0.0",
    143          "is-path-inside": "^3.0.3",
    144 -        "js-sdsl": "^4.1.4",
    145          "js-yaml": "^4.1.0",
    146          "json-stable-stringify-without-jsonify": "^1.0.1",
    147          "levn": "^0.4.1",
    148 @@ -2889,7 +2908,6 @@
    149          "minimatch": "^3.1.2",
    150          "natural-compare": "^1.4.0",
    151          "optionator": "^0.9.1",
    152 -        "regexpp": "^3.2.0",
    153          "strip-ansi": "^6.0.1",
    154          "strip-json-comments": "^3.1.0",
    155          "text-table": "^0.2.0"
    156 @@ -2919,36 +2937,36 @@
    157        }
    158      },
    159      "node_modules/eslint-plugin-unicorn": {
    160 -      "version": "45.0.2",
    161 -      "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-45.0.2.tgz",
    162 -      "integrity": "sha512-Y0WUDXRyGDMcKLiwgL3zSMpHrXI00xmdyixEGIg90gHnj0PcHY4moNv3Ppje/kDivdAy5vUeUr7z211ImPv2gw==",
    163 +      "version": "47.0.0",
    164 +      "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-47.0.0.tgz",
    165 +      "integrity": "sha512-ivB3bKk7fDIeWOUmmMm9o3Ax9zbMz1Bsza/R2qm46ufw4T6VBFBaJIR1uN3pCKSmSXm8/9Nri8V+iUut1NhQGA==",
    166        "dev": true,
    167        "dependencies": {
    168          "@babel/helper-validator-identifier": "^7.19.1",
    169 -        "@eslint-community/eslint-utils": "^4.1.2",
    170 -        "ci-info": "^3.6.1",
    171 +        "@eslint-community/eslint-utils": "^4.4.0",
    172 +        "ci-info": "^3.8.0",
    173          "clean-regexp": "^1.0.0",
    174 -        "esquery": "^1.4.0",
    175 +        "esquery": "^1.5.0",
    176          "indent-string": "^4.0.0",
    177 -        "is-builtin-module": "^3.2.0",
    178 +        "is-builtin-module": "^3.2.1",
    179          "jsesc": "^3.0.2",
    180          "lodash": "^4.17.21",
    181          "pluralize": "^8.0.0",
    182          "read-pkg-up": "^7.0.1",
    183          "regexp-tree": "^0.1.24",
    184 -        "regjsparser": "^0.9.1",
    185 +        "regjsparser": "^0.10.0",
    186          "safe-regex": "^2.1.1",
    187          "semver": "^7.3.8",
    188          "strip-indent": "^3.0.0"
    189        },
    190        "engines": {
    191 -        "node": ">=14.18"
    192 +        "node": ">=16"
    193        },
    194        "funding": {
    195          "url": "https://github.com/sindresorhus/eslint-plugin-unicorn?sponsor=1"
    196        },
    197        "peerDependencies": {
    198 -        "eslint": ">=8.28.0"
    199 +        "eslint": ">=8.38.0"
    200        }
    201      },
    202      "node_modules/eslint-scope": {
    203 @@ -2992,18 +3010,21 @@
    204        }
    205      },
    206      "node_modules/eslint-visitor-keys": {
    207 -      "version": "3.3.0",
    208 -      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
    209 -      "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
    210 +      "version": "3.4.1",
    211 +      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz",
    212 +      "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==",
    213        "dev": true,
    214        "engines": {
    215          "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
    216 +      },
    217 +      "funding": {
    218 +        "url": "https://opencollective.com/eslint"
    219        }
    220      },
    221      "node_modules/eslint/node_modules/eslint-scope": {
    222 -      "version": "7.1.1",
    223 -      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
    224 -      "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
    225 +      "version": "7.2.0",
    226 +      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz",
    227 +      "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==",
    228        "dev": true,
    229        "dependencies": {
    230          "esrecurse": "^4.3.0",
    231 @@ -3011,6 +3032,9 @@
    232        },
    233        "engines": {
    234          "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
    235 +      },
    236 +      "funding": {
    237 +        "url": "https://opencollective.com/eslint"
    238        }
    239      },
    240      "node_modules/eslint/node_modules/estraverse": {
    241 @@ -3023,14 +3047,14 @@
    242        }
    243      },
    244      "node_modules/espree": {
    245 -      "version": "9.4.1",
    246 -      "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz",
    247 -      "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==",
    248 +      "version": "9.5.2",
    249 +      "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz",
    250 +      "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==",
    251        "dev": true,
    252        "dependencies": {
    253          "acorn": "^8.8.0",
    254          "acorn-jsx": "^5.3.2",
    255 -        "eslint-visitor-keys": "^3.3.0"
    256 +        "eslint-visitor-keys": "^3.4.1"
    257        },
    258        "engines": {
    259          "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
    260 @@ -3053,9 +3077,9 @@
    261        }
    262      },
    263      "node_modules/esquery": {
    264 -      "version": "1.4.0",
    265 -      "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
    266 -      "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
    267 +      "version": "1.5.0",
    268 +      "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
    269 +      "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
    270        "dev": true,
    271        "dependencies": {
    272          "estraverse": "^5.1.0"
    273 @@ -3444,9 +3468,9 @@
    274        }
    275      },
    276      "node_modules/globals": {
    277 -      "version": "13.19.0",
    278 -      "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz",
    279 -      "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==",
    280 +      "version": "13.20.0",
    281 +      "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz",
    282 +      "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==",
    283        "dev": true,
    284        "dependencies": {
    285          "type-fest": "^0.20.2"
    286 @@ -3496,10 +3520,10 @@
    287        "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
    288        "dev": true
    289      },
    290 -    "node_modules/grapheme-splitter": {
    291 -      "version": "1.0.4",
    292 -      "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
    293 -      "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==",
    294 +    "node_modules/graphemer": {
    295 +      "version": "1.4.0",
    296 +      "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
    297 +      "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
    298        "dev": true
    299      },
    300      "node_modules/happy-dom": {
    301 @@ -3923,9 +3947,9 @@
    302        }
    303      },
    304      "node_modules/is-builtin-module": {
    305 -      "version": "3.2.0",
    306 -      "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.0.tgz",
    307 -      "integrity": "sha512-phDA4oSGt7vl1n5tJvTWooWWAsXLY+2xCnxNqvKhGEzujg+A43wPlPOyDg3C8XQHN+6k/JTQWJ/j0dQh/qr+Hw==",
    308 +      "version": "3.2.1",
    309 +      "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz",
    310 +      "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==",
    311        "dev": true,
    312        "dependencies": {
    313          "builtin-modules": "^3.3.0"
    314 @@ -4347,16 +4371,6 @@
    315          "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
    316        }
    317      },
    318 -    "node_modules/js-sdsl": {
    319 -      "version": "4.2.0",
    320 -      "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz",
    321 -      "integrity": "sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==",
    322 -      "dev": true,
    323 -      "funding": {
    324 -        "type": "opencollective",
    325 -        "url": "https://opencollective.com/js-sdsl"
    326 -      }
    327 -    },
    328      "node_modules/js-tokens": {
    329        "version": "4.0.0",
    330        "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
    331 @@ -5795,9 +5809,9 @@
    332        }
    333      },
    334      "node_modules/regjsparser": {
    335 -      "version": "0.9.1",
    336 -      "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz",
    337 -      "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==",
    338 +      "version": "0.10.0",
    339 +      "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.10.0.tgz",
    340 +      "integrity": "sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==",
    341        "dev": true,
    342        "dependencies": {
    343          "jsesc": "~0.5.0"
    344 @@ -7497,23 +7511,29 @@
    345        "optional": true
    346      },
    347      "@eslint-community/eslint-utils": {
    348 -      "version": "4.1.2",
    349 -      "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.1.2.tgz",
    350 -      "integrity": "sha512-7qELuQWWjVDdVsFQ5+beUl+KPczrEDA7S3zM4QUd/bJl7oXgsmpXaEVqrRTnOBqenOV4rWf2kVZk2Ot085zPWA==",
    351 +      "version": "4.4.0",
    352 +      "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
    353 +      "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
    354        "dev": true,
    355        "requires": {
    356          "eslint-visitor-keys": "^3.3.0"
    357        }
    358      },
    359 +    "@eslint-community/regexpp": {
    360 +      "version": "4.5.1",
    361 +      "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz",
    362 +      "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==",
    363 +      "dev": true
    364 +    },
    365      "@eslint/eslintrc": {
    366 -      "version": "1.4.1",
    367 -      "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz",
    368 -      "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==",
    369 +      "version": "2.0.3",
    370 +      "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz",
    371 +      "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==",
    372        "dev": true,
    373        "requires": {
    374          "ajv": "^6.12.4",
    375          "debug": "^4.3.2",
    376 -        "espree": "^9.4.0",
    377 +        "espree": "^9.5.2",
    378          "globals": "^13.19.0",
    379          "ignore": "^5.2.0",
    380          "import-fresh": "^3.2.1",
    381 @@ -7522,10 +7542,16 @@
    382          "strip-json-comments": "^3.1.1"
    383        }
    384      },
    385 +    "@eslint/js": {
    386 +      "version": "8.42.0",
    387 +      "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.42.0.tgz",
    388 +      "integrity": "sha512-6SWlXpWU5AvId8Ac7zjzmIOqMOba/JWY8XZ4A7q7Gn1Vlfg/SFFIlrtHXt9nPn4op9ZPAkl91Jao+QQv3r/ukw==",
    389 +      "dev": true
    390 +    },
    391      "@humanwhocodes/config-array": {
    392 -      "version": "0.11.8",
    393 -      "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz",
    394 -      "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==",
    395 +      "version": "0.11.10",
    396 +      "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz",
    397 +      "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==",
    398        "dev": true,
    399        "requires": {
    400          "@humanwhocodes/object-schema": "^1.2.1",
    401 @@ -8507,9 +8533,9 @@
    402        }
    403      },
    404      "ci-info": {
    405 -      "version": "3.7.1",
    406 -      "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.7.1.tgz",
    407 -      "integrity": "sha512-4jYS4MOAaCIStSRwiuxc4B8MYhIe676yO1sYGzARnjXkWpmzZMMYxY6zu8WYWDhSuth5zhrQ1rhNSibyyvv4/w==",
    408 +      "version": "3.8.0",
    409 +      "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz",
    410 +      "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==",
    411        "dev": true
    412      },
    413      "clean-regexp": {
    414 @@ -9016,13 +9042,16 @@
    415        }
    416      },
    417      "eslint": {
    418 -      "version": "8.32.0",
    419 -      "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.32.0.tgz",
    420 -      "integrity": "sha512-nETVXpnthqKPFyuY2FNjz/bEd6nbosRgKbkgS/y1C7LJop96gYHWpiguLecMHQ2XCPxn77DS0P+68WzG6vkZSQ==",
    421 +      "version": "8.42.0",
    422 +      "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.42.0.tgz",
    423 +      "integrity": "sha512-ulg9Ms6E1WPf67PHaEY4/6E2tEn5/f7FXGzr3t9cBMugOmf1INYvuUwwh1aXQN4MfJ6a5K2iNwP3w4AColvI9A==",
    424        "dev": true,
    425        "requires": {
    426 -        "@eslint/eslintrc": "^1.4.1",
    427 -        "@humanwhocodes/config-array": "^0.11.8",
    428 +        "@eslint-community/eslint-utils": "^4.2.0",
    429 +        "@eslint-community/regexpp": "^4.4.0",
    430 +        "@eslint/eslintrc": "^2.0.3",
    431 +        "@eslint/js": "8.42.0",
    432 +        "@humanwhocodes/config-array": "^0.11.10",
    433          "@humanwhocodes/module-importer": "^1.0.1",
    434          "@nodelib/fs.walk": "^1.2.8",
    435          "ajv": "^6.10.0",
    436 @@ -9031,24 +9060,22 @@
    437          "debug": "^4.3.2",
    438          "doctrine": "^3.0.0",
    439          "escape-string-regexp": "^4.0.0",
    440 -        "eslint-scope": "^7.1.1",
    441 -        "eslint-utils": "^3.0.0",
    442 -        "eslint-visitor-keys": "^3.3.0",
    443 -        "espree": "^9.4.0",
    444 -        "esquery": "^1.4.0",
    445 +        "eslint-scope": "^7.2.0",
    446 +        "eslint-visitor-keys": "^3.4.1",
    447 +        "espree": "^9.5.2",
    448 +        "esquery": "^1.4.2",
    449          "esutils": "^2.0.2",
    450          "fast-deep-equal": "^3.1.3",
    451          "file-entry-cache": "^6.0.1",
    452          "find-up": "^5.0.0",
    453          "glob-parent": "^6.0.2",
    454          "globals": "^13.19.0",
    455 -        "grapheme-splitter": "^1.0.4",
    456 +        "graphemer": "^1.4.0",
    457          "ignore": "^5.2.0",
    458          "import-fresh": "^3.0.0",
    459          "imurmurhash": "^0.1.4",
    460          "is-glob": "^4.0.0",
    461          "is-path-inside": "^3.0.3",
    462 -        "js-sdsl": "^4.1.4",
    463          "js-yaml": "^4.1.0",
    464          "json-stable-stringify-without-jsonify": "^1.0.1",
    465          "levn": "^0.4.1",
    466 @@ -9056,16 +9083,15 @@
    467          "minimatch": "^3.1.2",
    468          "natural-compare": "^1.4.0",
    469          "optionator": "^0.9.1",
    470 -        "regexpp": "^3.2.0",
    471          "strip-ansi": "^6.0.1",
    472          "strip-json-comments": "^3.1.0",
    473          "text-table": "^0.2.0"
    474        },
    475        "dependencies": {
    476          "eslint-scope": {
    477 -          "version": "7.1.1",
    478 -          "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
    479 -          "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
    480 +          "version": "7.2.0",
    481 +          "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz",
    482 +          "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==",
    483            "dev": true,
    484            "requires": {
    485              "esrecurse": "^4.3.0",
    486 @@ -9092,24 +9118,24 @@
    487        }
    488      },
    489      "eslint-plugin-unicorn": {
    490 -      "version": "45.0.2",
    491 -      "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-45.0.2.tgz",
    492 -      "integrity": "sha512-Y0WUDXRyGDMcKLiwgL3zSMpHrXI00xmdyixEGIg90gHnj0PcHY4moNv3Ppje/kDivdAy5vUeUr7z211ImPv2gw==",
    493 +      "version": "47.0.0",
    494 +      "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-47.0.0.tgz",
    495 +      "integrity": "sha512-ivB3bKk7fDIeWOUmmMm9o3Ax9zbMz1Bsza/R2qm46ufw4T6VBFBaJIR1uN3pCKSmSXm8/9Nri8V+iUut1NhQGA==",
    496        "dev": true,
    497        "requires": {
    498          "@babel/helper-validator-identifier": "^7.19.1",
    499 -        "@eslint-community/eslint-utils": "^4.1.2",
    500 -        "ci-info": "^3.6.1",
    501 +        "@eslint-community/eslint-utils": "^4.4.0",
    502 +        "ci-info": "^3.8.0",
    503          "clean-regexp": "^1.0.0",
    504 -        "esquery": "^1.4.0",
    505 +        "esquery": "^1.5.0",
    506          "indent-string": "^4.0.0",
    507 -        "is-builtin-module": "^3.2.0",
    508 +        "is-builtin-module": "^3.2.1",
    509          "jsesc": "^3.0.2",
    510          "lodash": "^4.17.21",
    511          "pluralize": "^8.0.0",
    512          "read-pkg-up": "^7.0.1",
    513          "regexp-tree": "^0.1.24",
    514 -        "regjsparser": "^0.9.1",
    515 +        "regjsparser": "^0.10.0",
    516          "safe-regex": "^2.1.1",
    517          "semver": "^7.3.8",
    518          "strip-indent": "^3.0.0"
    519 @@ -9143,20 +9169,20 @@
    520        }
    521      },
    522      "eslint-visitor-keys": {
    523 -      "version": "3.3.0",
    524 -      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
    525 -      "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
    526 +      "version": "3.4.1",
    527 +      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz",
    528 +      "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==",
    529        "dev": true
    530      },
    531      "espree": {
    532 -      "version": "9.4.1",
    533 -      "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz",
    534 -      "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==",
    535 +      "version": "9.5.2",
    536 +      "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz",
    537 +      "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==",
    538        "dev": true,
    539        "requires": {
    540          "acorn": "^8.8.0",
    541          "acorn-jsx": "^5.3.2",
    542 -        "eslint-visitor-keys": "^3.3.0"
    543 +        "eslint-visitor-keys": "^3.4.1"
    544        }
    545      },
    546      "esprima": {
    547 @@ -9166,9 +9192,9 @@
    548        "dev": true
    549      },
    550      "esquery": {
    551 -      "version": "1.4.0",
    552 -      "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
    553 -      "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
    554 +      "version": "1.5.0",
    555 +      "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
    556 +      "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
    557        "dev": true,
    558        "requires": {
    559          "estraverse": "^5.1.0"
    560 @@ -9469,9 +9495,9 @@
    561        }
    562      },
    563      "globals": {
    564 -      "version": "13.19.0",
    565 -      "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz",
    566 -      "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==",
    567 +      "version": "13.20.0",
    568 +      "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz",
    569 +      "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==",
    570        "dev": true,
    571        "requires": {
    572          "type-fest": "^0.20.2"
    573 @@ -9506,10 +9532,10 @@
    574        "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
    575        "dev": true
    576      },
    577 -    "grapheme-splitter": {
    578 -      "version": "1.0.4",
    579 -      "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
    580 -      "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==",
    581 +    "graphemer": {
    582 +      "version": "1.4.0",
    583 +      "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
    584 +      "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
    585        "dev": true
    586      },
    587      "happy-dom": {
    588 @@ -9815,9 +9841,9 @@
    589        }
    590      },
    591      "is-builtin-module": {
    592 -      "version": "3.2.0",
    593 -      "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.0.tgz",
    594 -      "integrity": "sha512-phDA4oSGt7vl1n5tJvTWooWWAsXLY+2xCnxNqvKhGEzujg+A43wPlPOyDg3C8XQHN+6k/JTQWJ/j0dQh/qr+Hw==",
    595 +      "version": "3.2.1",
    596 +      "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz",
    597 +      "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==",
    598        "dev": true,
    599        "requires": {
    600          "builtin-modules": "^3.3.0"
    601 @@ -10110,12 +10136,6 @@
    602          "picomatch": "^2.2.3"
    603        }
    604      },
    605 -    "js-sdsl": {
    606 -      "version": "4.2.0",
    607 -      "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz",
    608 -      "integrity": "sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==",
    609 -      "dev": true
    610 -    },
    611      "js-tokens": {
    612        "version": "4.0.0",
    613        "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
    614 @@ -11135,9 +11155,9 @@
    615        "dev": true
    616      },
    617      "regjsparser": {
    618 -      "version": "0.9.1",
    619 -      "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz",
    620 -      "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==",
    621 +      "version": "0.10.0",
    622 +      "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.10.0.tgz",
    623 +      "integrity": "sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==",
    624        "dev": true,
    625        "requires": {
    626          "jsesc": "~0.5.0"
    627 diff --git a/package.json b/package.json
    628 index 85022c5..4196d9f 100644
    629 --- a/package.json
    630 +++ b/package.json
    631 @@ -43,7 +43,7 @@
    632      "autoprefixer": "^10.4.13",
    633      "eslint": "^8.32.0",
    634      "eslint-plugin-tailwindcss": "^3.8.0",
    635 -    "eslint-plugin-unicorn": "^45.0.2",
    636 +    "eslint-plugin-unicorn": "^47.0.0",
    637      "jsdom": "^21.1.0",
    638      "postcss": "^8.4.21",
    639      "tailwindcss": "^3.2.4",