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

402.diff (24382B)


      1 diff --git a/package-lock.json b/package-lock.json
      2 index 9f8e6a0..5cf75bc 100644
      3 --- a/package-lock.json
      4 +++ b/package-lock.json
      5 @@ -41,7 +41,7 @@
      6          "eslint-plugin-unicorn": "^45.0.2",
      7          "jsdom": "^21.1.0",
      8          "postcss": "^8.4.21",
      9 -        "tailwindcss": "^3.2.4",
     10 +        "tailwindcss": "^3.3.0",
     11          "typescript": "^4.9.4",
     12          "vite": "^4.0.4",
     13          "vite-plugin-ejs": "^1.6.4",
     14 @@ -1629,38 +1629,6 @@
     15          "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
     16        }
     17      },
     18 -    "node_modules/acorn-node": {
     19 -      "version": "1.8.2",
     20 -      "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz",
     21 -      "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==",
     22 -      "dev": true,
     23 -      "dependencies": {
     24 -        "acorn": "^7.0.0",
     25 -        "acorn-walk": "^7.0.0",
     26 -        "xtend": "^4.0.2"
     27 -      }
     28 -    },
     29 -    "node_modules/acorn-node/node_modules/acorn": {
     30 -      "version": "7.4.1",
     31 -      "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
     32 -      "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
     33 -      "dev": true,
     34 -      "bin": {
     35 -        "acorn": "bin/acorn"
     36 -      },
     37 -      "engines": {
     38 -        "node": ">=0.4.0"
     39 -      }
     40 -    },
     41 -    "node_modules/acorn-walk": {
     42 -      "version": "7.2.0",
     43 -      "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
     44 -      "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
     45 -      "dev": true,
     46 -      "engines": {
     47 -        "node": ">=0.4.0"
     48 -      }
     49 -    },
     50      "node_modules/agent-base": {
     51        "version": "6.0.2",
     52        "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
     53 @@ -1743,6 +1711,12 @@
     54          "url": "https://github.com/chalk/ansi-styles?sponsor=1"
     55        }
     56      },
     57 +    "node_modules/any-promise": {
     58 +      "version": "1.3.0",
     59 +      "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
     60 +      "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==",
     61 +      "dev": true
     62 +    },
     63      "node_modules/anymatch": {
     64        "version": "3.1.3",
     65        "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
     66 @@ -2277,6 +2251,15 @@
     67          "node": ">= 0.8"
     68        }
     69      },
     70 +    "node_modules/commander": {
     71 +      "version": "4.1.1",
     72 +      "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
     73 +      "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
     74 +      "dev": true,
     75 +      "engines": {
     76 +        "node": ">= 6"
     77 +      }
     78 +    },
     79      "node_modules/concat-map": {
     80        "version": "0.0.1",
     81        "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
     82 @@ -2530,15 +2513,6 @@
     83          "url": "https://github.com/sponsors/ljharb"
     84        }
     85      },
     86 -    "node_modules/defined": {
     87 -      "version": "1.0.1",
     88 -      "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz",
     89 -      "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==",
     90 -      "dev": true,
     91 -      "funding": {
     92 -        "url": "https://github.com/sponsors/ljharb"
     93 -      }
     94 -    },
     95      "node_modules/delayed-stream": {
     96        "version": "1.0.0",
     97        "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
     98 @@ -2548,23 +2522,6 @@
     99          "node": ">=0.4.0"
    100        }
    101      },
    102 -    "node_modules/detective": {
    103 -      "version": "5.2.1",
    104 -      "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz",
    105 -      "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==",
    106 -      "dev": true,
    107 -      "dependencies": {
    108 -        "acorn-node": "^1.8.2",
    109 -        "defined": "^1.0.0",
    110 -        "minimist": "^1.2.6"
    111 -      },
    112 -      "bin": {
    113 -        "detective": "bin/detective.js"
    114 -      },
    115 -      "engines": {
    116 -        "node": ">=0.8.0"
    117 -      }
    118 -    },
    119      "node_modules/didyoumean": {
    120        "version": "1.2.2",
    121        "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
    122 @@ -4347,6 +4304,15 @@
    123          "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
    124        }
    125      },
    126 +    "node_modules/jiti": {
    127 +      "version": "1.18.2",
    128 +      "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz",
    129 +      "integrity": "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==",
    130 +      "dev": true,
    131 +      "bin": {
    132 +        "jiti": "bin/jiti.js"
    133 +      }
    134 +    },
    135      "node_modules/js-sdsl": {
    136        "version": "4.2.0",
    137        "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz",
    138 @@ -4742,15 +4708,6 @@
    139          "node": "*"
    140        }
    141      },
    142 -    "node_modules/minimist": {
    143 -      "version": "1.2.7",
    144 -      "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz",
    145 -      "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==",
    146 -      "dev": true,
    147 -      "funding": {
    148 -        "url": "https://github.com/sponsors/ljharb"
    149 -      }
    150 -    },
    151      "node_modules/mlly": {
    152        "version": "1.1.0",
    153        "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.1.0.tgz",
    154 @@ -4788,6 +4745,17 @@
    155        "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
    156        "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA=="
    157      },
    158 +    "node_modules/mz": {
    159 +      "version": "2.7.0",
    160 +      "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
    161 +      "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
    162 +      "dev": true,
    163 +      "dependencies": {
    164 +        "any-promise": "^1.0.0",
    165 +        "object-assign": "^4.0.1",
    166 +        "thenify-all": "^1.0.0"
    167 +      }
    168 +    },
    169      "node_modules/nanoid": {
    170        "version": "3.3.4",
    171        "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
    172 @@ -4882,6 +4850,15 @@
    173        "integrity": "sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==",
    174        "dev": true
    175      },
    176 +    "node_modules/object-assign": {
    177 +      "version": "4.1.1",
    178 +      "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
    179 +      "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
    180 +      "dev": true,
    181 +      "engines": {
    182 +        "node": ">=0.10.0"
    183 +      }
    184 +    },
    185      "node_modules/object-hash": {
    186        "version": "3.0.0",
    187        "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
    188 @@ -5224,6 +5201,15 @@
    189          "node": ">=0.10.0"
    190        }
    191      },
    192 +    "node_modules/pirates": {
    193 +      "version": "4.0.5",
    194 +      "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz",
    195 +      "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==",
    196 +      "dev": true,
    197 +      "engines": {
    198 +        "node": ">= 6"
    199 +      }
    200 +    },
    201      "node_modules/pkg-types": {
    202        "version": "1.0.1",
    203        "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.1.tgz",
    204 @@ -6338,6 +6324,47 @@
    205          "node": ">=4"
    206        }
    207      },
    208 +    "node_modules/sucrase": {
    209 +      "version": "3.31.0",
    210 +      "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.31.0.tgz",
    211 +      "integrity": "sha512-6QsHnkqyVEzYcaiHsOKkzOtOgdJcb8i54x6AV2hDwyZcY9ZyykGZVw6L/YN98xC0evwTP6utsWWrKRaa8QlfEQ==",
    212 +      "dev": true,
    213 +      "dependencies": {
    214 +        "commander": "^4.0.0",
    215 +        "glob": "7.1.6",
    216 +        "lines-and-columns": "^1.1.6",
    217 +        "mz": "^2.7.0",
    218 +        "pirates": "^4.0.1",
    219 +        "ts-interface-checker": "^0.1.9"
    220 +      },
    221 +      "bin": {
    222 +        "sucrase": "bin/sucrase",
    223 +        "sucrase-node": "bin/sucrase-node"
    224 +      },
    225 +      "engines": {
    226 +        "node": ">=8"
    227 +      }
    228 +    },
    229 +    "node_modules/sucrase/node_modules/glob": {
    230 +      "version": "7.1.6",
    231 +      "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
    232 +      "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
    233 +      "dev": true,
    234 +      "dependencies": {
    235 +        "fs.realpath": "^1.0.0",
    236 +        "inflight": "^1.0.4",
    237 +        "inherits": "2",
    238 +        "minimatch": "^3.0.4",
    239 +        "once": "^1.3.0",
    240 +        "path-is-absolute": "^1.0.0"
    241 +      },
    242 +      "engines": {
    243 +        "node": "*"
    244 +      },
    245 +      "funding": {
    246 +        "url": "https://github.com/sponsors/isaacs"
    247 +      }
    248 +    },
    249      "node_modules/supports-color": {
    250        "version": "7.2.0",
    251        "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
    252 @@ -6369,34 +6396,35 @@
    253        "dev": true
    254      },
    255      "node_modules/tailwindcss": {
    256 -      "version": "3.2.4",
    257 -      "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.4.tgz",
    258 -      "integrity": "sha512-AhwtHCKMtR71JgeYDaswmZXhPcW9iuI9Sp2LvZPo9upDZ7231ZJ7eA9RaURbhpXGVlrjX4cFNlB4ieTetEb7hQ==",
    259 +      "version": "3.3.0",
    260 +      "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.0.tgz",
    261 +      "integrity": "sha512-hOXlFx+YcklJ8kXiCAfk/FMyr4Pm9ck477G0m/us2344Vuj355IpoEDB5UmGAsSpTBmr+4ZhjzW04JuFXkb/fw==",
    262        "dev": true,
    263        "dependencies": {
    264          "arg": "^5.0.2",
    265          "chokidar": "^3.5.3",
    266          "color-name": "^1.1.4",
    267 -        "detective": "^5.2.1",
    268          "didyoumean": "^1.2.2",
    269          "dlv": "^1.1.3",
    270          "fast-glob": "^3.2.12",
    271          "glob-parent": "^6.0.2",
    272          "is-glob": "^4.0.3",
    273 +        "jiti": "^1.17.2",
    274          "lilconfig": "^2.0.6",
    275          "micromatch": "^4.0.5",
    276          "normalize-path": "^3.0.0",
    277          "object-hash": "^3.0.0",
    278          "picocolors": "^1.0.0",
    279 -        "postcss": "^8.4.18",
    280 +        "postcss": "^8.0.9",
    281          "postcss-import": "^14.1.0",
    282          "postcss-js": "^4.0.0",
    283          "postcss-load-config": "^3.1.4",
    284          "postcss-nested": "6.0.0",
    285 -        "postcss-selector-parser": "^6.0.10",
    286 +        "postcss-selector-parser": "^6.0.11",
    287          "postcss-value-parser": "^4.2.0",
    288          "quick-lru": "^5.1.1",
    289 -        "resolve": "^1.22.1"
    290 +        "resolve": "^1.22.1",
    291 +        "sucrase": "^3.29.0"
    292        },
    293        "bin": {
    294          "tailwind": "lib/cli.js",
    295 @@ -6415,6 +6443,27 @@
    296        "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
    297        "dev": true
    298      },
    299 +    "node_modules/thenify": {
    300 +      "version": "3.3.1",
    301 +      "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
    302 +      "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
    303 +      "dev": true,
    304 +      "dependencies": {
    305 +        "any-promise": "^1.0.0"
    306 +      }
    307 +    },
    308 +    "node_modules/thenify-all": {
    309 +      "version": "1.6.0",
    310 +      "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
    311 +      "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==",
    312 +      "dev": true,
    313 +      "dependencies": {
    314 +        "thenify": ">= 3.1.0 < 4"
    315 +      },
    316 +      "engines": {
    317 +        "node": ">=0.8"
    318 +      }
    319 +    },
    320      "node_modules/through": {
    321        "version": "2.3.8",
    322        "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
    323 @@ -6504,6 +6553,12 @@
    324        "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
    325        "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
    326      },
    327 +    "node_modules/ts-interface-checker": {
    328 +      "version": "0.1.13",
    329 +      "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz",
    330 +      "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==",
    331 +      "dev": true
    332 +    },
    333      "node_modules/tslib": {
    334        "version": "2.4.1",
    335        "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz",
    336 @@ -7076,15 +7131,6 @@
    337        "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
    338        "dev": true
    339      },
    340 -    "node_modules/xtend": {
    341 -      "version": "4.0.2",
    342 -      "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
    343 -      "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
    344 -      "dev": true,
    345 -      "engines": {
    346 -        "node": ">=0.4"
    347 -      }
    348 -    },
    349      "node_modules/yallist": {
    350        "version": "4.0.0",
    351        "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
    352 @@ -8140,31 +8186,6 @@
    353        "dev": true,
    354        "requires": {}
    355      },
    356 -    "acorn-node": {
    357 -      "version": "1.8.2",
    358 -      "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz",
    359 -      "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==",
    360 -      "dev": true,
    361 -      "requires": {
    362 -        "acorn": "^7.0.0",
    363 -        "acorn-walk": "^7.0.0",
    364 -        "xtend": "^4.0.2"
    365 -      },
    366 -      "dependencies": {
    367 -        "acorn": {
    368 -          "version": "7.4.1",
    369 -          "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
    370 -          "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
    371 -          "dev": true
    372 -        }
    373 -      }
    374 -    },
    375 -    "acorn-walk": {
    376 -      "version": "7.2.0",
    377 -      "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
    378 -      "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
    379 -      "dev": true
    380 -    },
    381      "agent-base": {
    382        "version": "6.0.2",
    383        "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
    384 @@ -8221,6 +8242,12 @@
    385          "color-convert": "^2.0.1"
    386        }
    387      },
    388 +    "any-promise": {
    389 +      "version": "1.3.0",
    390 +      "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
    391 +      "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==",
    392 +      "dev": true
    393 +    },
    394      "anymatch": {
    395        "version": "3.1.3",
    396        "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
    397 @@ -8576,6 +8603,12 @@
    398          "delayed-stream": "~1.0.0"
    399        }
    400      },
    401 +    "commander": {
    402 +      "version": "4.1.1",
    403 +      "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
    404 +      "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
    405 +      "dev": true
    406 +    },
    407      "concat-map": {
    408        "version": "0.0.1",
    409        "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
    410 @@ -8775,29 +8808,12 @@
    411          "object-keys": "^1.1.1"
    412        }
    413      },
    414 -    "defined": {
    415 -      "version": "1.0.1",
    416 -      "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz",
    417 -      "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==",
    418 -      "dev": true
    419 -    },
    420      "delayed-stream": {
    421        "version": "1.0.0",
    422        "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
    423        "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
    424        "dev": true
    425      },
    426 -    "detective": {
    427 -      "version": "5.2.1",
    428 -      "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz",
    429 -      "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==",
    430 -      "dev": true,
    431 -      "requires": {
    432 -        "acorn-node": "^1.8.2",
    433 -        "defined": "^1.0.0",
    434 -        "minimist": "^1.2.6"
    435 -      }
    436 -    },
    437      "didyoumean": {
    438        "version": "1.2.2",
    439        "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
    440 @@ -10110,6 +10126,12 @@
    441          "picomatch": "^2.2.3"
    442        }
    443      },
    444 +    "jiti": {
    445 +      "version": "1.18.2",
    446 +      "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz",
    447 +      "integrity": "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==",
    448 +      "dev": true
    449 +    },
    450      "js-sdsl": {
    451        "version": "4.2.0",
    452        "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz",
    453 @@ -10406,12 +10428,6 @@
    454          "brace-expansion": "^1.1.7"
    455        }
    456      },
    457 -    "minimist": {
    458 -      "version": "1.2.7",
    459 -      "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz",
    460 -      "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==",
    461 -      "dev": true
    462 -    },
    463      "mlly": {
    464        "version": "1.1.0",
    465        "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.1.0.tgz",
    466 @@ -10448,6 +10464,17 @@
    467        "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
    468        "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA=="
    469      },
    470 +    "mz": {
    471 +      "version": "2.7.0",
    472 +      "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
    473 +      "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
    474 +      "dev": true,
    475 +      "requires": {
    476 +        "any-promise": "^1.0.0",
    477 +        "object-assign": "^4.0.1",
    478 +        "thenify-all": "^1.0.0"
    479 +      }
    480 +    },
    481      "nanoid": {
    482        "version": "3.3.4",
    483        "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
    484 @@ -10518,6 +10545,12 @@
    485        "integrity": "sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==",
    486        "dev": true
    487      },
    488 +    "object-assign": {
    489 +      "version": "4.1.1",
    490 +      "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
    491 +      "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
    492 +      "dev": true
    493 +    },
    494      "object-hash": {
    495        "version": "3.0.0",
    496        "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
    497 @@ -10751,6 +10784,12 @@
    498        "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
    499        "dev": true
    500      },
    501 +    "pirates": {
    502 +      "version": "4.0.5",
    503 +      "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz",
    504 +      "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==",
    505 +      "dev": true
    506 +    },
    507      "pkg-types": {
    508        "version": "1.0.1",
    509        "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.1.tgz",
    510 @@ -11523,6 +11562,36 @@
    511          }
    512        }
    513      },
    514 +    "sucrase": {
    515 +      "version": "3.31.0",
    516 +      "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.31.0.tgz",
    517 +      "integrity": "sha512-6QsHnkqyVEzYcaiHsOKkzOtOgdJcb8i54x6AV2hDwyZcY9ZyykGZVw6L/YN98xC0evwTP6utsWWrKRaa8QlfEQ==",
    518 +      "dev": true,
    519 +      "requires": {
    520 +        "commander": "^4.0.0",
    521 +        "glob": "7.1.6",
    522 +        "lines-and-columns": "^1.1.6",
    523 +        "mz": "^2.7.0",
    524 +        "pirates": "^4.0.1",
    525 +        "ts-interface-checker": "^0.1.9"
    526 +      },
    527 +      "dependencies": {
    528 +        "glob": {
    529 +          "version": "7.1.6",
    530 +          "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
    531 +          "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
    532 +          "dev": true,
    533 +          "requires": {
    534 +            "fs.realpath": "^1.0.0",
    535 +            "inflight": "^1.0.4",
    536 +            "inherits": "2",
    537 +            "minimatch": "^3.0.4",
    538 +            "once": "^1.3.0",
    539 +            "path-is-absolute": "^1.0.0"
    540 +          }
    541 +        }
    542 +      }
    543 +    },
    544      "supports-color": {
    545        "version": "7.2.0",
    546        "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
    547 @@ -11545,34 +11614,35 @@
    548        "dev": true
    549      },
    550      "tailwindcss": {
    551 -      "version": "3.2.4",
    552 -      "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.4.tgz",
    553 -      "integrity": "sha512-AhwtHCKMtR71JgeYDaswmZXhPcW9iuI9Sp2LvZPo9upDZ7231ZJ7eA9RaURbhpXGVlrjX4cFNlB4ieTetEb7hQ==",
    554 +      "version": "3.3.0",
    555 +      "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.0.tgz",
    556 +      "integrity": "sha512-hOXlFx+YcklJ8kXiCAfk/FMyr4Pm9ck477G0m/us2344Vuj355IpoEDB5UmGAsSpTBmr+4ZhjzW04JuFXkb/fw==",
    557        "dev": true,
    558        "requires": {
    559          "arg": "^5.0.2",
    560          "chokidar": "^3.5.3",
    561          "color-name": "^1.1.4",
    562 -        "detective": "^5.2.1",
    563          "didyoumean": "^1.2.2",
    564          "dlv": "^1.1.3",
    565          "fast-glob": "^3.2.12",
    566          "glob-parent": "^6.0.2",
    567          "is-glob": "^4.0.3",
    568 +        "jiti": "^1.17.2",
    569          "lilconfig": "^2.0.6",
    570          "micromatch": "^4.0.5",
    571          "normalize-path": "^3.0.0",
    572          "object-hash": "^3.0.0",
    573          "picocolors": "^1.0.0",
    574 -        "postcss": "^8.4.18",
    575 +        "postcss": "^8.0.9",
    576          "postcss-import": "^14.1.0",
    577          "postcss-js": "^4.0.0",
    578          "postcss-load-config": "^3.1.4",
    579          "postcss-nested": "6.0.0",
    580 -        "postcss-selector-parser": "^6.0.10",
    581 +        "postcss-selector-parser": "^6.0.11",
    582          "postcss-value-parser": "^4.2.0",
    583          "quick-lru": "^5.1.1",
    584 -        "resolve": "^1.22.1"
    585 +        "resolve": "^1.22.1",
    586 +        "sucrase": "^3.29.0"
    587        }
    588      },
    589      "text-table": {
    590 @@ -11581,6 +11651,24 @@
    591        "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
    592        "dev": true
    593      },
    594 +    "thenify": {
    595 +      "version": "3.3.1",
    596 +      "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
    597 +      "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
    598 +      "dev": true,
    599 +      "requires": {
    600 +        "any-promise": "^1.0.0"
    601 +      }
    602 +    },
    603 +    "thenify-all": {
    604 +      "version": "1.6.0",
    605 +      "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
    606 +      "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==",
    607 +      "dev": true,
    608 +      "requires": {
    609 +        "thenify": ">= 3.1.0 < 4"
    610 +      }
    611 +    },
    612      "through": {
    613        "version": "2.3.8",
    614        "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
    615 @@ -11649,6 +11737,12 @@
    616        "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
    617        "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
    618      },
    619 +    "ts-interface-checker": {
    620 +      "version": "0.1.13",
    621 +      "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz",
    622 +      "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==",
    623 +      "dev": true
    624 +    },
    625      "tslib": {
    626        "version": "2.4.1",
    627        "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz",
    628 @@ -12018,12 +12112,6 @@
    629        "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
    630        "dev": true
    631      },
    632 -    "xtend": {
    633 -      "version": "4.0.2",
    634 -      "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
    635 -      "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
    636 -      "dev": true
    637 -    },
    638      "yallist": {
    639        "version": "4.0.0",
    640        "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
    641 diff --git a/package.json b/package.json
    642 index da65691..cd2b030 100644
    643 --- a/package.json
    644 +++ b/package.json
    645 @@ -46,7 +46,7 @@
    646      "eslint-plugin-unicorn": "^45.0.2",
    647      "jsdom": "^21.1.0",
    648      "postcss": "^8.4.21",
    649 -    "tailwindcss": "^3.2.4",
    650 +    "tailwindcss": "^3.3.0",
    651      "typescript": "^4.9.4",
    652      "vite": "^4.0.4",
    653      "vite-plugin-ejs": "^1.6.4",