personal web client for Bluesky
typescript solidjs bluesky atcute

chore: upgrade dependencies

mary.my.id 10ab0586 a559bd99

verified
+333 -369
+5 -5
package.json
··· 40 "@mary/solid-query": "npm:@externdefs/solid-query@^0.1.5", 41 "comlink": "^4.4.2", 42 "hls.js": "^1.6.15", 43 - "mediabunny": "^1.28.0", 44 "nanoid": "^5.1.6", 45 "solid-floating-ui": "~0.2.1", 46 "solid-js": "^1.9.10" 47 }, 48 "devDependencies": { 49 "@badrap/valita": "^0.4.6", 50 - "@cloudflare/vite-plugin": "^1.20.3", 51 "@trivago/prettier-plugin-sort-imports": "^5.2.2", 52 "@types/dom-close-watcher": "^1.0.0", 53 "@types/dom-webcodecs": "^0.1.18", 54 - "@types/node": "^24.10.8", 55 "autoprefixer": "^10.4.23", 56 "babel-plugin-transform-typescript-const-enums": "^0.1.0", 57 "prettier": "^3.8.0", 58 "prettier-plugin-tailwindcss": "^0.7.2", 59 "tailwindcss": "^3.4.19", 60 - "terser": "^5.44.1", 61 "typescript": "~5.9.3", 62 "vite": "^7.3.1", 63 "vite-plugin-pwa": "1.1.0", 64 "vite-plugin-solid": "^2.11.10", 65 - "wrangler": "^4.59.1" 66 }, 67 "pnpm": { 68 "patchedDependencies": {
··· 40 "@mary/solid-query": "npm:@externdefs/solid-query@^0.1.5", 41 "comlink": "^4.4.2", 42 "hls.js": "^1.6.15", 43 + "mediabunny": "^1.29.0", 44 "nanoid": "^5.1.6", 45 "solid-floating-ui": "~0.2.1", 46 "solid-js": "^1.9.10" 47 }, 48 "devDependencies": { 49 "@badrap/valita": "^0.4.6", 50 + "@cloudflare/vite-plugin": "^1.21.0", 51 "@trivago/prettier-plugin-sort-imports": "^5.2.2", 52 "@types/dom-close-watcher": "^1.0.0", 53 "@types/dom-webcodecs": "^0.1.18", 54 + "@types/node": "^24.10.9", 55 "autoprefixer": "^10.4.23", 56 "babel-plugin-transform-typescript-const-enums": "^0.1.0", 57 "prettier": "^3.8.0", 58 "prettier-plugin-tailwindcss": "^0.7.2", 59 "tailwindcss": "^3.4.19", 60 + "terser": "^5.46.0", 61 "typescript": "~5.9.3", 62 "vite": "^7.3.1", 63 "vite-plugin-pwa": "1.1.0", 64 "vite-plugin-solid": "^2.11.10", 65 + "wrangler": "^4.59.2" 66 }, 67 "pnpm": { 68 "patchedDependencies": {
+216 -279
pnpm-lock.yaml
··· 127 specifier: ^1.6.15 128 version: 1.6.15 129 mediabunny: 130 - specifier: ^1.28.0 131 - version: 1.28.0 132 nanoid: 133 specifier: ^5.1.6 134 version: 5.1.6 ··· 143 specifier: ^0.4.6 144 version: 0.4.6 145 '@cloudflare/vite-plugin': 146 - specifier: ^1.20.3 147 - version: 1.20.3(vite@7.3.1(@types/node@24.10.8)(jiti@1.21.7)(terser@5.44.1))(workerd@1.20260111.0)(wrangler@4.59.1) 148 '@trivago/prettier-plugin-sort-imports': 149 specifier: ^5.2.2 150 version: 5.2.2(prettier@3.8.0) ··· 155 specifier: ^0.1.18 156 version: 0.1.18 157 '@types/node': 158 - specifier: ^24.10.8 159 - version: 24.10.8 160 autoprefixer: 161 specifier: ^10.4.23 162 version: 10.4.23(postcss@8.5.6) ··· 173 specifier: ^3.4.19 174 version: 3.4.19 175 terser: 176 - specifier: ^5.44.1 177 - version: 5.44.1 178 typescript: 179 specifier: ~5.9.3 180 version: 5.9.3 181 vite: 182 specifier: ^7.3.1 183 - version: 7.3.1(@types/node@24.10.8)(jiti@1.21.7)(terser@5.44.1) 184 vite-plugin-pwa: 185 specifier: 1.1.0 186 - version: 1.1.0(patch_hash=003379ded749ad87080f87b428b17f04c4c88b6b64544df4d928aab76fbf6325)(@types/babel__core@7.20.5)(vite@7.3.1(@types/node@24.10.8)(jiti@1.21.7)(terser@5.44.1)) 187 vite-plugin-solid: 188 specifier: ^2.11.10 189 - version: 2.11.10(solid-js@1.9.10(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7))(vite@7.3.1(@types/node@24.10.8)(jiti@1.21.7)(terser@5.44.1)) 190 wrangler: 191 - specifier: ^4.59.1 192 - version: 4.59.1 193 194 packages: 195 ··· 253 '@atcute/tid@1.1.1': 254 resolution: {integrity: sha512-djJ8UGhLkTU5V51yCnBEruMg35qETjWzWy5sJG/2gEOl2Gd7rQWHSaf+yrO6vMS5EFA38U2xOWE3EDUPzvc2ZQ==} 255 256 - '@atcute/time-ms@1.0.0': 257 - resolution: {integrity: sha512-iWEOlMBcO3ktB+zQPC2kXka9H/798we+IWq2sjhb+hQJNNfcJrwejzvNi/68Q3jKo/hdfwZjRU9iF8U6D32/2Q==} 258 259 '@atcute/uint8array@1.0.6': 260 resolution: {integrity: sha512-ucfRBQc7BFT8n9eCyGOzDHEMKF/nZwhS2pPao4Xtab1ML3HdFYcX2DM1tadCzas85QTGxHe5urnUAAcNKGRi9A==} ··· 783 resolution: {integrity: sha512-4kdqcjyxo/8RQ8ayjms47HCWZIF5981oE5nIenbfThKDxWXtEHKipAOWlflpPJzZx9y/JWYQkp18Awr7VuepFg==} 784 engines: {node: '>= 18'} 785 786 - '@cloudflare/kv-asset-handler@0.4.1': 787 - resolution: {integrity: sha512-Nu8ahitGFFJztxUml9oD/DLb7Z28C8cd8F46IVQ7y5Btz575pvMY8AqZsXkX7Gds29eCKdMgIHjIvzskHgPSFg==} 788 engines: {node: '>=18.0.0'} 789 790 - '@cloudflare/unenv-preset@2.9.0': 791 - resolution: {integrity: sha512-99nEvuOTCGGGRNaIat8UVVXJ27aZK+U09SYDp0kVjQLwC9wyxcrQ28IqLwrQq2DjWLmBI1+UalGJzdPqYgPlRw==} 792 peerDependencies: 793 unenv: 2.0.0-rc.24 794 - workerd: ^1.20251202.0 795 peerDependenciesMeta: 796 workerd: 797 optional: true 798 799 - '@cloudflare/vite-plugin@1.20.3': 800 - resolution: {integrity: sha512-o6ePNfGpu2AKCi7bs32fOl121qFvdyi2fSblF6xID7aHFosqEfZAgCUaJ86LvXJWcPeUl+B0sFII67N5st1rBg==} 801 peerDependencies: 802 vite: ^6.1.0 || ^7.0.0 803 - wrangler: ^4.59.1 804 805 - '@cloudflare/workerd-darwin-64@1.20260111.0': 806 - resolution: {integrity: sha512-UGAjrGLev2/CMLZy7b+v1NIXA4Hupc/QJBFlJwMqldywMcJ/iEqvuUYYuVI2wZXuXeWkgmgFP87oFDQsg78YTQ==} 807 engines: {node: '>=16'} 808 cpu: [x64] 809 os: [darwin] 810 811 - '@cloudflare/workerd-darwin-arm64@1.20260111.0': 812 - resolution: {integrity: sha512-YFAZwidLCQVa6rKCCaiWrhA+eh87a7MUhyd9lat3KSbLBAGpYM+ORpyTXpi2Gjm3j6Mp1e/wtzcFTSeMIy2UqA==} 813 engines: {node: '>=16'} 814 cpu: [arm64] 815 os: [darwin] 816 817 - '@cloudflare/workerd-linux-64@1.20260111.0': 818 - resolution: {integrity: sha512-zx1GW6FwfOBjCV7QUCRzGRkViUtn3Is/zaaVPmm57xyy9sjtInx6/SdeBr2Y45tx9AnOP1CnaOFFdmH1P7VIEg==} 819 engines: {node: '>=16'} 820 cpu: [x64] 821 os: [linux] 822 823 - '@cloudflare/workerd-linux-arm64@1.20260111.0': 824 - resolution: {integrity: sha512-wFVKxNvCyjRaAcgiSnJNJAmIos3p3Vv6Uhf4pFUZ9JIxr69GNlLWlm9SdCPvtwNFAjzSoDaKzDwjj5xqpuCS6Q==} 825 engines: {node: '>=16'} 826 cpu: [arm64] 827 os: [linux] 828 829 - '@cloudflare/workerd-windows-64@1.20260111.0': 830 - resolution: {integrity: sha512-zWgd77L7OI1BxgBbG+2gybDahIMgPX5iNo6e3LqcEz1Xm3KfiqgnDyMBcxeQ7xDrj7fHUGAlc//QnKvDchuUoQ==} 831 engines: {node: '>=16'} 832 cpu: [x64] 833 os: [win32] ··· 1401 '@poppinss/exception@1.2.3': 1402 resolution: {integrity: sha512-dCED+QRChTVatE9ibtoaxc+WkdzOSjYTKi/+uacHWIsfodVfpsueo3+DKpgU5Px8qXjgmXkSvhXvSCz3fnP9lw==} 1403 1404 - '@remix-run/node-fetch-server@0.8.1': 1405 - resolution: {integrity: sha512-J1dev372wtJqmqn9U/qbpbZxbJSQrogNN2+Qv1lKlpATpe/WQ9aCZfl/xSb9d2Rgh1IyLSvNxZAXPZxruO6Xig==} 1406 - 1407 '@rollup/plugin-babel@5.3.1': 1408 resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} 1409 engines: {node: '>= 10.0.0'} ··· 1453 rollup: 1454 optional: true 1455 1456 - '@rollup/rollup-android-arm-eabi@4.55.1': 1457 - resolution: {integrity: sha512-9R0DM/ykwfGIlNu6+2U09ga0WXeZ9MRC2Ter8jnz8415VbuIykVuc6bhdrbORFZANDmTDvq26mJrEVTl8TdnDg==} 1458 cpu: [arm] 1459 os: [android] 1460 1461 - '@rollup/rollup-android-arm64@4.55.1': 1462 - resolution: {integrity: sha512-eFZCb1YUqhTysgW3sj/55du5cG57S7UTNtdMjCW7LwVcj3dTTcowCsC8p7uBdzKsZYa8J7IDE8lhMI+HX1vQvg==} 1463 cpu: [arm64] 1464 os: [android] 1465 1466 - '@rollup/rollup-darwin-arm64@4.55.1': 1467 - resolution: {integrity: sha512-p3grE2PHcQm2e8PSGZdzIhCKbMCw/xi9XvMPErPhwO17vxtvCN5FEA2mSLgmKlCjHGMQTP6phuQTYWUnKewwGg==} 1468 cpu: [arm64] 1469 os: [darwin] 1470 1471 - '@rollup/rollup-darwin-x64@4.55.1': 1472 - resolution: {integrity: sha512-rDUjG25C9qoTm+e02Esi+aqTKSBYwVTaoS1wxcN47/Luqef57Vgp96xNANwt5npq9GDxsH7kXxNkJVEsWEOEaQ==} 1473 cpu: [x64] 1474 os: [darwin] 1475 1476 - '@rollup/rollup-freebsd-arm64@4.55.1': 1477 - resolution: {integrity: sha512-+JiU7Jbp5cdxekIgdte0jfcu5oqw4GCKr6i3PJTlXTCU5H5Fvtkpbs4XJHRmWNXF+hKmn4v7ogI5OQPaupJgOg==} 1478 cpu: [arm64] 1479 os: [freebsd] 1480 1481 - '@rollup/rollup-freebsd-x64@4.55.1': 1482 - resolution: {integrity: sha512-V5xC1tOVWtLLmr3YUk2f6EJK4qksksOYiz/TCsFHu/R+woubcLWdC9nZQmwjOAbmExBIVKsm1/wKmEy4z4u4Bw==} 1483 cpu: [x64] 1484 os: [freebsd] 1485 1486 - '@rollup/rollup-linux-arm-gnueabihf@4.55.1': 1487 - resolution: {integrity: sha512-Rn3n+FUk2J5VWx+ywrG/HGPTD9jXNbicRtTM11e/uorplArnXZYsVifnPPqNNP5BsO3roI4n8332ukpY/zN7rQ==} 1488 cpu: [arm] 1489 os: [linux] 1490 1491 - '@rollup/rollup-linux-arm-musleabihf@4.55.1': 1492 - resolution: {integrity: sha512-grPNWydeKtc1aEdrJDWk4opD7nFtQbMmV7769hiAaYyUKCT1faPRm2av8CX1YJsZ4TLAZcg9gTR1KvEzoLjXkg==} 1493 cpu: [arm] 1494 os: [linux] 1495 1496 - '@rollup/rollup-linux-arm64-gnu@4.55.1': 1497 - resolution: {integrity: sha512-a59mwd1k6x8tXKcUxSyISiquLwB5pX+fJW9TkWU46lCqD/GRDe9uDN31jrMmVP3feI3mhAdvcCClhV8V5MhJFQ==} 1498 cpu: [arm64] 1499 os: [linux] 1500 1501 - '@rollup/rollup-linux-arm64-musl@4.55.1': 1502 - resolution: {integrity: sha512-puS1MEgWX5GsHSoiAsF0TYrpomdvkaXm0CofIMG5uVkP6IBV+ZO9xhC5YEN49nsgYo1DuuMquF9+7EDBVYu4uA==} 1503 cpu: [arm64] 1504 os: [linux] 1505 1506 - '@rollup/rollup-linux-loong64-gnu@4.55.1': 1507 - resolution: {integrity: sha512-r3Wv40in+lTsULSb6nnoudVbARdOwb2u5fpeoOAZjFLznp6tDU8kd+GTHmJoqZ9lt6/Sys33KdIHUaQihFcu7g==} 1508 cpu: [loong64] 1509 os: [linux] 1510 1511 - '@rollup/rollup-linux-loong64-musl@4.55.1': 1512 - resolution: {integrity: sha512-MR8c0+UxAlB22Fq4R+aQSPBayvYa3+9DrwG/i1TKQXFYEaoW3B5b/rkSRIypcZDdWjWnpcvxbNaAJDcSbJU3Lw==} 1513 cpu: [loong64] 1514 os: [linux] 1515 1516 - '@rollup/rollup-linux-ppc64-gnu@4.55.1': 1517 - resolution: {integrity: sha512-3KhoECe1BRlSYpMTeVrD4sh2Pw2xgt4jzNSZIIPLFEsnQn9gAnZagW9+VqDqAHgm1Xc77LzJOo2LdigS5qZ+gw==} 1518 cpu: [ppc64] 1519 os: [linux] 1520 1521 - '@rollup/rollup-linux-ppc64-musl@4.55.1': 1522 - resolution: {integrity: sha512-ziR1OuZx0vdYZZ30vueNZTg73alF59DicYrPViG0NEgDVN8/Jl87zkAPu4u6VjZST2llgEUjaiNl9JM6HH1Vdw==} 1523 cpu: [ppc64] 1524 os: [linux] 1525 1526 - '@rollup/rollup-linux-riscv64-gnu@4.55.1': 1527 - resolution: {integrity: sha512-uW0Y12ih2XJRERZ4jAfKamTyIHVMPQnTZcQjme2HMVDAHY4amf5u414OqNYC+x+LzRdRcnIG1YodLrrtA8xsxw==} 1528 cpu: [riscv64] 1529 os: [linux] 1530 1531 - '@rollup/rollup-linux-riscv64-musl@4.55.1': 1532 - resolution: {integrity: sha512-u9yZ0jUkOED1BFrqu3BwMQoixvGHGZ+JhJNkNKY/hyoEgOwlqKb62qu+7UjbPSHYjiVy8kKJHvXKv5coH4wDeg==} 1533 cpu: [riscv64] 1534 os: [linux] 1535 1536 - '@rollup/rollup-linux-s390x-gnu@4.55.1': 1537 - resolution: {integrity: sha512-/0PenBCmqM4ZUd0190j7J0UsQ/1nsi735iPRakO8iPciE7BQ495Y6msPzaOmvx0/pn+eJVVlZrNrSh4WSYLxNg==} 1538 cpu: [s390x] 1539 os: [linux] 1540 1541 - '@rollup/rollup-linux-x64-gnu@4.55.1': 1542 - resolution: {integrity: sha512-a8G4wiQxQG2BAvo+gU6XrReRRqj+pLS2NGXKm8io19goR+K8lw269eTrPkSdDTALwMmJp4th2Uh0D8J9bEV1vg==} 1543 cpu: [x64] 1544 os: [linux] 1545 1546 - '@rollup/rollup-linux-x64-musl@4.55.1': 1547 - resolution: {integrity: sha512-bD+zjpFrMpP/hqkfEcnjXWHMw5BIghGisOKPj+2NaNDuVT+8Ds4mPf3XcPHuat1tz89WRL+1wbcxKY3WSbiT7w==} 1548 cpu: [x64] 1549 os: [linux] 1550 1551 - '@rollup/rollup-openbsd-x64@4.55.1': 1552 - resolution: {integrity: sha512-eLXw0dOiqE4QmvikfQ6yjgkg/xDM+MdU9YJuP4ySTibXU0oAvnEWXt7UDJmD4UkYialMfOGFPJnIHSe/kdzPxg==} 1553 cpu: [x64] 1554 os: [openbsd] 1555 1556 - '@rollup/rollup-openharmony-arm64@4.55.1': 1557 - resolution: {integrity: sha512-xzm44KgEP11te3S2HCSyYf5zIzWmx3n8HDCc7EE59+lTcswEWNpvMLfd9uJvVX8LCg9QWG67Xt75AuHn4vgsXw==} 1558 cpu: [arm64] 1559 os: [openharmony] 1560 1561 - '@rollup/rollup-win32-arm64-msvc@4.55.1': 1562 - resolution: {integrity: sha512-yR6Bl3tMC/gBok5cz/Qi0xYnVbIxGx5Fcf/ca0eB6/6JwOY+SRUcJfI0OpeTpPls7f194as62thCt/2BjxYN8g==} 1563 cpu: [arm64] 1564 os: [win32] 1565 1566 - '@rollup/rollup-win32-ia32-msvc@4.55.1': 1567 - resolution: {integrity: sha512-3fZBidchE0eY0oFZBnekYCfg+5wAB0mbpCBuofh5mZuzIU/4jIVkbESmd2dOsFNS78b53CYv3OAtwqkZZmU5nA==} 1568 cpu: [ia32] 1569 os: [win32] 1570 1571 - '@rollup/rollup-win32-x64-gnu@4.55.1': 1572 - resolution: {integrity: sha512-xGGY5pXj69IxKb4yv/POoocPy/qmEGhimy/FoTpTSVju3FYXUQQMFCaZZXJVidsmGxRioZAwpThl/4zX41gRKg==} 1573 cpu: [x64] 1574 os: [win32] 1575 1576 - '@rollup/rollup-win32-x64-msvc@4.55.1': 1577 - resolution: {integrity: sha512-SPEpaL6DX4rmcXtnhdrQYgzQ5W2uW3SCJch88lB2zImhJRhIIK44fkUrgIV/Q8yUNfw5oyZ5vkeQsZLhCb06lw==} 1578 cpu: [x64] 1579 os: [win32] 1580 ··· 1622 '@types/babel__traverse@7.28.0': 1623 resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==} 1624 1625 '@types/dom-close-watcher@1.0.0': 1626 resolution: {integrity: sha512-7pL0By56sVVGMSJ3HdSY+u08Id0ljStCaf1VnGFxwfpuNdA0HMz0sl2J24eSi9M6ptl9ySkVK35jF75Fn8trUg==} 1627 ··· 1640 '@types/estree@1.0.8': 1641 resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} 1642 1643 - '@types/node@22.19.6': 1644 - resolution: {integrity: sha512-qm+G8HuG6hOHQigsi7VGuLjUVu6TtBo/F05zvX04Mw2uCg9Dv0Qxy3Qw7j41SidlTcl5D/5yg0SEZqOB+EqZnQ==} 1645 - 1646 - '@types/node@24.10.8': 1647 - resolution: {integrity: sha512-r0bBaXu5Swb05doFYO2kTWHMovJnNVbCsII0fhesM8bNRlLhXIuckley4a2DaD+vOdmm5G+zGkQZAPZsF80+YQ==} 1648 1649 '@types/resolve@1.20.2': 1650 resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} ··· 1652 '@types/trusted-types@2.0.7': 1653 resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} 1654 1655 - acorn-walk@8.3.2: 1656 - resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} 1657 - engines: {node: '>=0.4.0'} 1658 - 1659 - acorn@8.14.0: 1660 - resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} 1661 - engines: {node: '>=0.4.0'} 1662 - hasBin: true 1663 - 1664 acorn@8.15.0: 1665 resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} 1666 engines: {node: '>=0.4.0'} ··· 1746 balanced-match@1.0.2: 1747 resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 1748 1749 - baseline-browser-mapping@2.9.14: 1750 - resolution: {integrity: sha512-B0xUquLkiGLgHhpPBqvl7GWegWBUNuujQ6kXd/r1U38ElPT6Ok8KZ8e+FpUGEc2ZoRQUzq/aUnaKFc/svWUGSg==} 1751 hasBin: true 1752 1753 binary-extensions@2.3.0: ··· 1775 buffer-from@1.1.2: 1776 resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} 1777 1778 camelcase-css@2.0.1: 1779 resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} 1780 engines: {node: '>= 6'} 1781 1782 - caniuse-lite@1.0.30001764: 1783 - resolution: {integrity: sha512-9JGuzl2M+vPL+pz70gtMF9sHdMFbY9FJaQBi186cHKH3pSzDvzoUJUPV6fqiKIMyXbud9ZLg4F3Yza1vJ1+93g==} 1784 1785 chokidar@3.6.0: 1786 resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} ··· 1845 deepmerge@4.3.1: 1846 resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} 1847 engines: {node: '>=0.10.0'} 1848 - 1849 - defu@6.1.4: 1850 - resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} 1851 1852 detect-libc@2.1.2: 1853 resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} ··· 1910 resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 1911 engines: {node: '>=0.10.0'} 1912 1913 - exit-hook@2.2.1: 1914 - resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==} 1915 - engines: {node: '>=6'} 1916 - 1917 fast-deep-equal@3.1.3: 1918 resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 1919 ··· 1969 get-own-enumerable-property-symbols@3.0.2: 1970 resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} 1971 1972 - get-port@7.1.0: 1973 - resolution: {integrity: sha512-QB9NKEeDg3xxVwCCwJQ9+xycaz6pBB6iQ76wiWMl1927n0Kir6alPiP+yuiICLLU4jpMe08dXfpebuQppFA2zw==} 1974 - engines: {node: '>=16'} 1975 - 1976 glob-parent@5.1.2: 1977 resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1978 engines: {node: '>= 6'} ··· 1980 glob-parent@6.0.2: 1981 resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 1982 engines: {node: '>=10.13.0'} 1983 - 1984 - glob-to-regexp@0.4.1: 1985 - resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} 1986 1987 glob@11.1.0: 1988 resolution: {integrity: sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw==} ··· 2119 magic-string@0.25.9: 2120 resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} 2121 2122 - mediabunny@1.28.0: 2123 - resolution: {integrity: sha512-D63nzvBRIBSUsRgaIfFugWCy2iOV5T/C6nHn2fW0aWqyRuSGzWsVMXzlNi3iCKieoA/WECYJg8oVGtUukpy3XQ==} 2124 2125 merge-anything@5.1.7: 2126 resolution: {integrity: sha512-eRtbOb1N5iyH0tkQDAoQ4Ipsp/5qSR79Dzrz8hEPxRX10RWWR/iQXdoKmBSRCThY1Fh5EhISDtpSc93fpxUniQ==} ··· 2134 resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} 2135 engines: {node: '>=8.6'} 2136 2137 - mime@3.0.0: 2138 - resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} 2139 - engines: {node: '>=10.0.0'} 2140 - hasBin: true 2141 - 2142 - miniflare@4.20260111.0: 2143 - resolution: {integrity: sha512-pUsbDlumPaTzliA+J9HMAM74nLR8wqpCQNOESximab51jAfvL7ZaP5Npzh4PWNV0Jfq28tlqazakuJcw6w5qlA==} 2144 engines: {node: '>=18.0.0'} 2145 hasBin: true 2146 ··· 2404 engines: {node: '>=10.0.0'} 2405 hasBin: true 2406 2407 - rollup@4.55.1: 2408 - resolution: {integrity: sha512-wDv/Ht1BNHB4upNbK74s9usvl7hObDnvVzknxqY/E/O3X6rW1U1rV1aENEfJ54eFZDTNo7zv1f5N4edCluH7+A==} 2409 engines: {node: '>=18.0.0', npm: '>=8.0.0'} 2410 hasBin: true 2411 ··· 2488 resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} 2489 deprecated: Please use @jridgewell/sourcemap-codec instead 2490 2491 - stoppable@1.1.0: 2492 - resolution: {integrity: sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==} 2493 - engines: {node: '>=4', npm: '>=6'} 2494 - 2495 string-width@4.2.3: 2496 resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 2497 engines: {node: '>=8'} ··· 2542 resolution: {integrity: sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==} 2543 engines: {node: '>=10'} 2544 2545 - terser@5.44.1: 2546 - resolution: {integrity: sha512-t/R3R/n0MSwnnazuPpPNVO60LX0SKL45pyl9YlvxIdkH0Of7D5qM2EVe+yASRIlY5pZ73nclYJfNANGWPwFDZw==} 2547 engines: {node: '>=10'} 2548 hasBin: true 2549 ··· 2579 resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} 2580 engines: {node: '>=14.17'} 2581 hasBin: true 2582 - 2583 - undici-types@6.21.0: 2584 - resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} 2585 2586 undici-types@7.16.0: 2587 resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} ··· 2761 workbox-window@7.4.0: 2762 resolution: {integrity: sha512-/bIYdBLAVsNR3v7gYGaV4pQW3M3kEPx5E8vDxGvxo6khTrGtSSCS7QiFKv9ogzBgZiy0OXLP9zO28U/1nF1mfw==} 2763 2764 - workerd@1.20260111.0: 2765 - resolution: {integrity: sha512-ov6Pt4k6d/ALfJja/EIHohT9IrY/f6GAa0arWEPat2qekp78xHbVM7jSxNWAMbaE7ZmnQQIFEGD1ZhAWZmQKIg==} 2766 engines: {node: '>=16'} 2767 hasBin: true 2768 2769 - wrangler@4.59.1: 2770 - resolution: {integrity: sha512-5DddGSNxHd6dOjREWTDQdovQlZ1Lh80NNRXZFQ4/CrK3fNyVIBj9tqCs9pmXMNrKQ/AnKNeYzEs/l1kr8rHhOg==} 2771 engines: {node: '>=20.0.0'} 2772 hasBin: true 2773 peerDependencies: 2774 - '@cloudflare/workers-types': ^4.20260111.0 2775 peerDependenciesMeta: 2776 '@cloudflare/workers-types': 2777 optional: true ··· 2898 2899 '@atcute/tid@1.1.1': 2900 dependencies: 2901 - '@atcute/time-ms': 1.0.0 2902 2903 - '@atcute/time-ms@1.0.0': 2904 dependencies: 2905 - '@types/node': 22.19.6 2906 node-gyp-build: 4.8.4 2907 2908 '@atcute/uint8array@1.0.6': {} ··· 3603 3604 '@badrap/valita@0.4.6': {} 3605 3606 - '@cloudflare/kv-asset-handler@0.4.1': 3607 - dependencies: 3608 - mime: 3.0.0 3609 3610 - '@cloudflare/unenv-preset@2.9.0(unenv@2.0.0-rc.24)(workerd@1.20260111.0)': 3611 dependencies: 3612 unenv: 2.0.0-rc.24 3613 optionalDependencies: 3614 - workerd: 1.20260111.0 3615 3616 - '@cloudflare/vite-plugin@1.20.3(vite@7.3.1(@types/node@24.10.8)(jiti@1.21.7)(terser@5.44.1))(workerd@1.20260111.0)(wrangler@4.59.1)': 3617 dependencies: 3618 - '@cloudflare/unenv-preset': 2.9.0(unenv@2.0.0-rc.24)(workerd@1.20260111.0) 3619 - '@remix-run/node-fetch-server': 0.8.1 3620 - defu: 6.1.4 3621 - get-port: 7.1.0 3622 - miniflare: 4.20260111.0 3623 - picocolors: 1.1.1 3624 - tinyglobby: 0.2.15 3625 unenv: 2.0.0-rc.24 3626 - vite: 7.3.1(@types/node@24.10.8)(jiti@1.21.7)(terser@5.44.1) 3627 - wrangler: 4.59.1 3628 ws: 8.18.0 3629 transitivePeerDependencies: 3630 - bufferutil 3631 - utf-8-validate 3632 - workerd 3633 3634 - '@cloudflare/workerd-darwin-64@1.20260111.0': 3635 optional: true 3636 3637 - '@cloudflare/workerd-darwin-arm64@1.20260111.0': 3638 optional: true 3639 3640 - '@cloudflare/workerd-linux-64@1.20260111.0': 3641 optional: true 3642 3643 - '@cloudflare/workerd-linux-arm64@1.20260111.0': 3644 optional: true 3645 3646 - '@cloudflare/workerd-windows-64@1.20260111.0': 3647 optional: true 3648 3649 '@cspotcode/source-map-support@0.8.1': ··· 4023 4024 '@poppinss/exception@1.2.3': {} 4025 4026 - '@remix-run/node-fetch-server@0.8.1': {} 4027 - 4028 '@rollup/plugin-babel@5.3.1(@babel/core@7.28.6)(@types/babel__core@7.20.5)(rollup@2.79.2)': 4029 dependencies: 4030 '@babel/core': 7.28.6 ··· 4056 dependencies: 4057 serialize-javascript: 6.0.2 4058 smob: 1.5.0 4059 - terser: 5.44.1 4060 optionalDependencies: 4061 rollup: 2.79.2 4062 ··· 4075 optionalDependencies: 4076 rollup: 2.79.2 4077 4078 - '@rollup/rollup-android-arm-eabi@4.55.1': 4079 optional: true 4080 4081 - '@rollup/rollup-android-arm64@4.55.1': 4082 optional: true 4083 4084 - '@rollup/rollup-darwin-arm64@4.55.1': 4085 optional: true 4086 4087 - '@rollup/rollup-darwin-x64@4.55.1': 4088 optional: true 4089 4090 - '@rollup/rollup-freebsd-arm64@4.55.1': 4091 optional: true 4092 4093 - '@rollup/rollup-freebsd-x64@4.55.1': 4094 optional: true 4095 4096 - '@rollup/rollup-linux-arm-gnueabihf@4.55.1': 4097 optional: true 4098 4099 - '@rollup/rollup-linux-arm-musleabihf@4.55.1': 4100 optional: true 4101 4102 - '@rollup/rollup-linux-arm64-gnu@4.55.1': 4103 optional: true 4104 4105 - '@rollup/rollup-linux-arm64-musl@4.55.1': 4106 optional: true 4107 4108 - '@rollup/rollup-linux-loong64-gnu@4.55.1': 4109 optional: true 4110 4111 - '@rollup/rollup-linux-loong64-musl@4.55.1': 4112 optional: true 4113 4114 - '@rollup/rollup-linux-ppc64-gnu@4.55.1': 4115 optional: true 4116 4117 - '@rollup/rollup-linux-ppc64-musl@4.55.1': 4118 optional: true 4119 4120 - '@rollup/rollup-linux-riscv64-gnu@4.55.1': 4121 optional: true 4122 4123 - '@rollup/rollup-linux-riscv64-musl@4.55.1': 4124 optional: true 4125 4126 - '@rollup/rollup-linux-s390x-gnu@4.55.1': 4127 optional: true 4128 4129 - '@rollup/rollup-linux-x64-gnu@4.55.1': 4130 optional: true 4131 4132 - '@rollup/rollup-linux-x64-musl@4.55.1': 4133 optional: true 4134 4135 - '@rollup/rollup-openbsd-x64@4.55.1': 4136 optional: true 4137 4138 - '@rollup/rollup-openharmony-arm64@4.55.1': 4139 optional: true 4140 4141 - '@rollup/rollup-win32-arm64-msvc@4.55.1': 4142 optional: true 4143 4144 - '@rollup/rollup-win32-ia32-msvc@4.55.1': 4145 optional: true 4146 4147 - '@rollup/rollup-win32-x64-gnu@4.55.1': 4148 optional: true 4149 4150 - '@rollup/rollup-win32-x64-msvc@4.55.1': 4151 optional: true 4152 4153 '@sindresorhus/is@7.2.0': {} ··· 4198 dependencies: 4199 '@babel/types': 7.28.6 4200 4201 '@types/dom-close-watcher@1.0.0': {} 4202 4203 '@types/dom-mediacapture-transform@0.1.11': ··· 4212 4213 '@types/estree@1.0.8': {} 4214 4215 - '@types/node@22.19.6': 4216 - dependencies: 4217 - undici-types: 6.21.0 4218 - 4219 - '@types/node@24.10.8': 4220 dependencies: 4221 undici-types: 7.16.0 4222 ··· 4224 4225 '@types/trusted-types@2.0.7': {} 4226 4227 - acorn-walk@8.3.2: {} 4228 - 4229 - acorn@8.14.0: {} 4230 - 4231 acorn@8.15.0: {} 4232 4233 ajv@8.17.1: ··· 4263 autoprefixer@10.4.23(postcss@8.5.6): 4264 dependencies: 4265 browserslist: 4.28.1 4266 - caniuse-lite: 1.0.30001764 4267 fraction.js: 5.3.4 4268 picocolors: 1.1.1 4269 postcss: 8.5.6 ··· 4317 4318 balanced-match@1.0.2: {} 4319 4320 - baseline-browser-mapping@2.9.14: {} 4321 4322 binary-extensions@2.3.0: {} 4323 ··· 4335 4336 browserslist@4.28.1: 4337 dependencies: 4338 - baseline-browser-mapping: 2.9.14 4339 - caniuse-lite: 1.0.30001764 4340 electron-to-chromium: 1.5.267 4341 node-releases: 2.0.27 4342 update-browserslist-db: 1.2.3(browserslist@4.28.1) 4343 4344 buffer-from@1.1.2: {} 4345 4346 camelcase-css@2.0.1: {} 4347 4348 - caniuse-lite@1.0.30001764: {} 4349 4350 chokidar@3.6.0: 4351 dependencies: ··· 4399 4400 deepmerge@4.3.1: {} 4401 4402 - defu@6.1.4: {} 4403 - 4404 detect-libc@2.1.2: {} 4405 4406 didyoumean@1.2.2: {} ··· 4491 4492 esutils@2.0.3: {} 4493 4494 - exit-hook@2.2.1: {} 4495 - 4496 fast-deep-equal@3.1.3: {} 4497 4498 fast-glob@3.3.3: ··· 4544 4545 get-own-enumerable-property-symbols@3.0.2: {} 4546 4547 - get-port@7.1.0: {} 4548 - 4549 glob-parent@5.1.2: 4550 dependencies: 4551 is-glob: 4.0.3 ··· 4553 glob-parent@6.0.2: 4554 dependencies: 4555 is-glob: 4.0.3 4556 - 4557 - glob-to-regexp@0.4.1: {} 4558 4559 glob@11.1.0: 4560 dependencies: ··· 4655 dependencies: 4656 sourcemap-codec: 1.4.8 4657 4658 - mediabunny@1.28.0: 4659 dependencies: 4660 '@types/dom-mediacapture-transform': 0.1.11 4661 '@types/dom-webcodecs': 0.1.13 ··· 4671 braces: 3.0.3 4672 picomatch: 2.3.1 4673 4674 - mime@3.0.0: {} 4675 - 4676 - miniflare@4.20260111.0: 4677 dependencies: 4678 '@cspotcode/source-map-support': 0.8.1 4679 - acorn: 8.14.0 4680 - acorn-walk: 8.3.2 4681 - exit-hook: 2.2.1 4682 - glob-to-regexp: 0.4.1 4683 sharp: 0.34.5 4684 - stoppable: 1.1.0 4685 undici: 7.14.0 4686 - workerd: 1.20260111.0 4687 ws: 8.18.0 4688 youch: 4.1.0-beta.10 4689 zod: 3.25.76 ··· 4854 optionalDependencies: 4855 fsevents: 2.3.3 4856 4857 - rollup@4.55.1: 4858 dependencies: 4859 '@types/estree': 1.0.8 4860 optionalDependencies: 4861 - '@rollup/rollup-android-arm-eabi': 4.55.1 4862 - '@rollup/rollup-android-arm64': 4.55.1 4863 - '@rollup/rollup-darwin-arm64': 4.55.1 4864 - '@rollup/rollup-darwin-x64': 4.55.1 4865 - '@rollup/rollup-freebsd-arm64': 4.55.1 4866 - '@rollup/rollup-freebsd-x64': 4.55.1 4867 - '@rollup/rollup-linux-arm-gnueabihf': 4.55.1 4868 - '@rollup/rollup-linux-arm-musleabihf': 4.55.1 4869 - '@rollup/rollup-linux-arm64-gnu': 4.55.1 4870 - '@rollup/rollup-linux-arm64-musl': 4.55.1 4871 - '@rollup/rollup-linux-loong64-gnu': 4.55.1 4872 - '@rollup/rollup-linux-loong64-musl': 4.55.1 4873 - '@rollup/rollup-linux-ppc64-gnu': 4.55.1 4874 - '@rollup/rollup-linux-ppc64-musl': 4.55.1 4875 - '@rollup/rollup-linux-riscv64-gnu': 4.55.1 4876 - '@rollup/rollup-linux-riscv64-musl': 4.55.1 4877 - '@rollup/rollup-linux-s390x-gnu': 4.55.1 4878 - '@rollup/rollup-linux-x64-gnu': 4.55.1 4879 - '@rollup/rollup-linux-x64-musl': 4.55.1 4880 - '@rollup/rollup-openbsd-x64': 4.55.1 4881 - '@rollup/rollup-openharmony-arm64': 4.55.1 4882 - '@rollup/rollup-win32-arm64-msvc': 4.55.1 4883 - '@rollup/rollup-win32-ia32-msvc': 4.55.1 4884 - '@rollup/rollup-win32-x64-gnu': 4.55.1 4885 - '@rollup/rollup-win32-x64-msvc': 4.55.1 4886 fsevents: 2.3.3 4887 4888 run-parallel@1.2.0: ··· 4979 4980 sourcemap-codec@1.4.8: {} 4981 4982 - stoppable@1.1.0: {} 4983 - 4984 string-width@4.2.3: 4985 dependencies: 4986 emoji-regex: 8.0.0 ··· 5060 type-fest: 0.16.0 5061 unique-string: 2.0.0 5062 5063 - terser@5.44.1: 5064 dependencies: 5065 '@jridgewell/source-map': 0.3.11 5066 acorn: 8.15.0 ··· 5097 5098 typescript@5.9.3: {} 5099 5100 - undici-types@6.21.0: {} 5101 - 5102 undici-types@7.16.0: {} 5103 5104 undici@7.14.0: {} ··· 5136 5137 util-deprecate@1.0.2: {} 5138 5139 - vite-plugin-pwa@1.1.0(patch_hash=003379ded749ad87080f87b428b17f04c4c88b6b64544df4d928aab76fbf6325)(@types/babel__core@7.20.5)(vite@7.3.1(@types/node@24.10.8)(jiti@1.21.7)(terser@5.44.1)): 5140 dependencies: 5141 debug: 4.4.3 5142 pretty-bytes: 6.1.1 5143 tinyglobby: 0.2.15 5144 - vite: 7.3.1(@types/node@24.10.8)(jiti@1.21.7)(terser@5.44.1) 5145 workbox-build: 7.4.0(@types/babel__core@7.20.5) 5146 workbox-window: 7.4.0 5147 transitivePeerDependencies: 5148 - '@types/babel__core' 5149 - supports-color 5150 5151 - vite-plugin-solid@2.11.10(solid-js@1.9.10(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7))(vite@7.3.1(@types/node@24.10.8)(jiti@1.21.7)(terser@5.44.1)): 5152 dependencies: 5153 '@babel/core': 7.28.6 5154 '@types/babel__core': 7.20.5 ··· 5156 merge-anything: 5.1.7 5157 solid-js: 1.9.10(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7) 5158 solid-refresh: 0.6.3(solid-js@1.9.10(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7)) 5159 - vite: 7.3.1(@types/node@24.10.8)(jiti@1.21.7)(terser@5.44.1) 5160 - vitefu: 1.1.1(vite@7.3.1(@types/node@24.10.8)(jiti@1.21.7)(terser@5.44.1)) 5161 transitivePeerDependencies: 5162 - supports-color 5163 5164 - vite@7.3.1(@types/node@24.10.8)(jiti@1.21.7)(terser@5.44.1): 5165 dependencies: 5166 esbuild: 0.27.2 5167 fdir: 6.5.0(picomatch@4.0.3) 5168 picomatch: 4.0.3 5169 postcss: 8.5.6 5170 - rollup: 4.55.1 5171 tinyglobby: 0.2.15 5172 optionalDependencies: 5173 - '@types/node': 24.10.8 5174 fsevents: 2.3.3 5175 jiti: 1.21.7 5176 - terser: 5.44.1 5177 5178 - vitefu@1.1.1(vite@7.3.1(@types/node@24.10.8)(jiti@1.21.7)(terser@5.44.1)): 5179 optionalDependencies: 5180 - vite: 7.3.1(@types/node@24.10.8)(jiti@1.21.7)(terser@5.44.1) 5181 5182 webidl-conversions@4.0.2: {} 5183 ··· 5304 '@types/trusted-types': 2.0.7 5305 workbox-core: 7.4.0 5306 5307 - workerd@1.20260111.0: 5308 optionalDependencies: 5309 - '@cloudflare/workerd-darwin-64': 1.20260111.0 5310 - '@cloudflare/workerd-darwin-arm64': 1.20260111.0 5311 - '@cloudflare/workerd-linux-64': 1.20260111.0 5312 - '@cloudflare/workerd-linux-arm64': 1.20260111.0 5313 - '@cloudflare/workerd-windows-64': 1.20260111.0 5314 5315 - wrangler@4.59.1: 5316 dependencies: 5317 - '@cloudflare/kv-asset-handler': 0.4.1 5318 - '@cloudflare/unenv-preset': 2.9.0(unenv@2.0.0-rc.24)(workerd@1.20260111.0) 5319 blake3-wasm: 2.1.5 5320 esbuild: 0.27.0 5321 - miniflare: 4.20260111.0 5322 path-to-regexp: 6.3.0 5323 unenv: 2.0.0-rc.24 5324 - workerd: 1.20260111.0 5325 optionalDependencies: 5326 fsevents: 2.3.3 5327 transitivePeerDependencies:
··· 127 specifier: ^1.6.15 128 version: 1.6.15 129 mediabunny: 130 + specifier: ^1.29.0 131 + version: 1.29.0 132 nanoid: 133 specifier: ^5.1.6 134 version: 5.1.6 ··· 143 specifier: ^0.4.6 144 version: 0.4.6 145 '@cloudflare/vite-plugin': 146 + specifier: ^1.21.0 147 + version: 1.21.0(vite@7.3.1(@types/node@24.10.9)(jiti@1.21.7)(terser@5.46.0))(workerd@1.20260114.0)(wrangler@4.59.2) 148 '@trivago/prettier-plugin-sort-imports': 149 specifier: ^5.2.2 150 version: 5.2.2(prettier@3.8.0) ··· 155 specifier: ^0.1.18 156 version: 0.1.18 157 '@types/node': 158 + specifier: ^24.10.9 159 + version: 24.10.9 160 autoprefixer: 161 specifier: ^10.4.23 162 version: 10.4.23(postcss@8.5.6) ··· 173 specifier: ^3.4.19 174 version: 3.4.19 175 terser: 176 + specifier: ^5.46.0 177 + version: 5.46.0 178 typescript: 179 specifier: ~5.9.3 180 version: 5.9.3 181 vite: 182 specifier: ^7.3.1 183 + version: 7.3.1(@types/node@24.10.9)(jiti@1.21.7)(terser@5.46.0) 184 vite-plugin-pwa: 185 specifier: 1.1.0 186 + version: 1.1.0(patch_hash=003379ded749ad87080f87b428b17f04c4c88b6b64544df4d928aab76fbf6325)(@types/babel__core@7.20.5)(vite@7.3.1(@types/node@24.10.9)(jiti@1.21.7)(terser@5.46.0)) 187 vite-plugin-solid: 188 specifier: ^2.11.10 189 + version: 2.11.10(solid-js@1.9.10(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7))(vite@7.3.1(@types/node@24.10.9)(jiti@1.21.7)(terser@5.46.0)) 190 wrangler: 191 + specifier: ^4.59.2 192 + version: 4.59.2 193 194 packages: 195 ··· 253 '@atcute/tid@1.1.1': 254 resolution: {integrity: sha512-djJ8UGhLkTU5V51yCnBEruMg35qETjWzWy5sJG/2gEOl2Gd7rQWHSaf+yrO6vMS5EFA38U2xOWE3EDUPzvc2ZQ==} 255 256 + '@atcute/time-ms@1.2.0': 257 + resolution: {integrity: sha512-dtNKebVIbr1+yu3a6vgtL4sfkNgxkL3aA+ohHsjtW83WWMjjGvX8GVTVmYCJ2dYSxIoxK0q1yWs11PmlqzmQ/A==} 258 259 '@atcute/uint8array@1.0.6': 260 resolution: {integrity: sha512-ucfRBQc7BFT8n9eCyGOzDHEMKF/nZwhS2pPao4Xtab1ML3HdFYcX2DM1tadCzas85QTGxHe5urnUAAcNKGRi9A==} ··· 783 resolution: {integrity: sha512-4kdqcjyxo/8RQ8ayjms47HCWZIF5981oE5nIenbfThKDxWXtEHKipAOWlflpPJzZx9y/JWYQkp18Awr7VuepFg==} 784 engines: {node: '>= 18'} 785 786 + '@cloudflare/kv-asset-handler@0.4.2': 787 + resolution: {integrity: sha512-SIOD2DxrRRwQ+jgzlXCqoEFiKOFqaPjhnNTGKXSRLvp1HiOvapLaFG2kEr9dYQTYe8rKrd9uvDUzmAITeNyaHQ==} 788 engines: {node: '>=18.0.0'} 789 790 + '@cloudflare/unenv-preset@2.10.0': 791 + resolution: {integrity: sha512-/uII4vLQXhzCAZzEVeYAjFLBNg2nqTJ1JGzd2lRF6ItYe6U2zVoYGfeKpGx/EkBF6euiU+cyBXgMdtJih+nQ6g==} 792 peerDependencies: 793 unenv: 2.0.0-rc.24 794 + workerd: ^1.20251221.0 795 peerDependenciesMeta: 796 workerd: 797 optional: true 798 799 + '@cloudflare/vite-plugin@1.21.0': 800 + resolution: {integrity: sha512-3VXtkfjOQL+k3Plj+t0BHRyw8iIIRBQ8RJU6KJHJQKdYHA6rJE/WlSa/lRd0A8MMhvP8e8QiMLuDqveEN8gCZg==} 801 peerDependencies: 802 vite: ^6.1.0 || ^7.0.0 803 + wrangler: ^4.59.2 804 805 + '@cloudflare/workerd-darwin-64@1.20260114.0': 806 + resolution: {integrity: sha512-HNlsRkfNgardCig2P/5bp/dqDECsZ4+NU5XewqArWxMseqt3C5daSuptI620s4pn7Wr0ZKg7jVLH0PDEBkA+aA==} 807 engines: {node: '>=16'} 808 cpu: [x64] 809 os: [darwin] 810 811 + '@cloudflare/workerd-darwin-arm64@1.20260114.0': 812 + resolution: {integrity: sha512-qyE1UdFnAlxzb+uCfN/d9c8icch7XRiH49/DjoqEa+bCDihTuRS7GL1RmhVIqHJhb3pX3DzxmKgQZBDBL83Inw==} 813 engines: {node: '>=16'} 814 cpu: [arm64] 815 os: [darwin] 816 817 + '@cloudflare/workerd-linux-64@1.20260114.0': 818 + resolution: {integrity: sha512-Z0BLvAj/JPOabzads2ddDEfgExWTlD22pnwsuNbPwZAGTSZeQa3Y47eGUWyHk+rSGngknk++S7zHTGbKuG7RRg==} 819 engines: {node: '>=16'} 820 cpu: [x64] 821 os: [linux] 822 823 + '@cloudflare/workerd-linux-arm64@1.20260114.0': 824 + resolution: {integrity: sha512-kPUmEtUxUWlr9PQ64kuhdK0qyo8idPe5IIXUgi7xCD7mDd6EOe5J7ugDpbfvfbYKEjx4DpLvN2t45izyI/Sodw==} 825 engines: {node: '>=16'} 826 cpu: [arm64] 827 os: [linux] 828 829 + '@cloudflare/workerd-windows-64@1.20260114.0': 830 + resolution: {integrity: sha512-MJnKgm6i1jZGyt2ZHQYCnRlpFTEZcK2rv9y7asS3KdVEXaDgGF8kOns5u6YL6/+eMogfZuHRjfDS+UqRTUYIFA==} 831 engines: {node: '>=16'} 832 cpu: [x64] 833 os: [win32] ··· 1401 '@poppinss/exception@1.2.3': 1402 resolution: {integrity: sha512-dCED+QRChTVatE9ibtoaxc+WkdzOSjYTKi/+uacHWIsfodVfpsueo3+DKpgU5Px8qXjgmXkSvhXvSCz3fnP9lw==} 1403 1404 '@rollup/plugin-babel@5.3.1': 1405 resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} 1406 engines: {node: '>= 10.0.0'} ··· 1450 rollup: 1451 optional: true 1452 1453 + '@rollup/rollup-android-arm-eabi@4.55.2': 1454 + resolution: {integrity: sha512-21J6xzayjy3O6NdnlO6aXi/urvSRjm6nCI6+nF6ra2YofKruGixN9kfT+dt55HVNwfDmpDHJcaS3JuP/boNnlA==} 1455 cpu: [arm] 1456 os: [android] 1457 1458 + '@rollup/rollup-android-arm64@4.55.2': 1459 + resolution: {integrity: sha512-eXBg7ibkNUZ+sTwbFiDKou0BAckeV6kIigK7y5Ko4mB/5A1KLhuzEKovsmfvsL8mQorkoincMFGnQuIT92SKqA==} 1460 cpu: [arm64] 1461 os: [android] 1462 1463 + '@rollup/rollup-darwin-arm64@4.55.2': 1464 + resolution: {integrity: sha512-UCbaTklREjrc5U47ypLulAgg4njaqfOVLU18VrCrI+6E5MQjuG0lSWaqLlAJwsD7NpFV249XgB0Bi37Zh5Sz4g==} 1465 cpu: [arm64] 1466 os: [darwin] 1467 1468 + '@rollup/rollup-darwin-x64@4.55.2': 1469 + resolution: {integrity: sha512-dP67MA0cCMHFT2g5XyjtpVOtp7y4UyUxN3dhLdt11at5cPKnSm4lY+EhwNvDXIMzAMIo2KU+mc9wxaAQJTn7sQ==} 1470 cpu: [x64] 1471 os: [darwin] 1472 1473 + '@rollup/rollup-freebsd-arm64@4.55.2': 1474 + resolution: {integrity: sha512-WDUPLUwfYV9G1yxNRJdXcvISW15mpvod1Wv3ok+Ws93w1HjIVmCIFxsG2DquO+3usMNCpJQ0wqO+3GhFdl6Fow==} 1475 cpu: [arm64] 1476 os: [freebsd] 1477 1478 + '@rollup/rollup-freebsd-x64@4.55.2': 1479 + resolution: {integrity: sha512-Ng95wtHVEulRwn7R0tMrlUuiLVL/HXA8Lt/MYVpy88+s5ikpntzZba1qEulTuPnPIZuOPcW9wNEiqvZxZmgmqQ==} 1480 cpu: [x64] 1481 os: [freebsd] 1482 1483 + '@rollup/rollup-linux-arm-gnueabihf@4.55.2': 1484 + resolution: {integrity: sha512-AEXMESUDWWGqD6LwO/HkqCZgUE1VCJ1OhbvYGsfqX2Y6w5quSXuyoy/Fg3nRqiwro+cJYFxiw5v4kB2ZDLhxrw==} 1485 cpu: [arm] 1486 os: [linux] 1487 1488 + '@rollup/rollup-linux-arm-musleabihf@4.55.2': 1489 + resolution: {integrity: sha512-ZV7EljjBDwBBBSv570VWj0hiNTdHt9uGznDtznBB4Caj3ch5rgD4I2K1GQrtbvJ/QiB+663lLgOdcADMNVC29Q==} 1490 cpu: [arm] 1491 os: [linux] 1492 1493 + '@rollup/rollup-linux-arm64-gnu@4.55.2': 1494 + resolution: {integrity: sha512-uvjwc8NtQVPAJtq4Tt7Q49FOodjfbf6NpqXyW/rjXoV+iZ3EJAHLNAnKT5UJBc6ffQVgmXTUL2ifYiLABlGFqA==} 1495 cpu: [arm64] 1496 os: [linux] 1497 1498 + '@rollup/rollup-linux-arm64-musl@4.55.2': 1499 + resolution: {integrity: sha512-s3KoWVNnye9mm/2WpOZ3JeUiediUVw6AvY/H7jNA6qgKA2V2aM25lMkVarTDfiicn/DLq3O0a81jncXszoyCFA==} 1500 cpu: [arm64] 1501 os: [linux] 1502 1503 + '@rollup/rollup-linux-loong64-gnu@4.55.2': 1504 + resolution: {integrity: sha512-gi21faacK+J8aVSyAUptML9VQN26JRxe484IbF+h3hpG+sNVoMXPduhREz2CcYr5my0NE3MjVvQ5bMKX71pfVA==} 1505 cpu: [loong64] 1506 os: [linux] 1507 1508 + '@rollup/rollup-linux-loong64-musl@4.55.2': 1509 + resolution: {integrity: sha512-qSlWiXnVaS/ceqXNfnoFZh4IiCA0EwvCivivTGbEu1qv2o+WTHpn1zNmCTAoOG5QaVr2/yhCoLScQtc/7RxshA==} 1510 cpu: [loong64] 1511 os: [linux] 1512 1513 + '@rollup/rollup-linux-ppc64-gnu@4.55.2': 1514 + resolution: {integrity: sha512-rPyuLFNoF1B0+wolH277E780NUKf+KoEDb3OyoLbAO18BbeKi++YN6gC/zuJoPPDlQRL3fIxHxCxVEWiem2yXw==} 1515 cpu: [ppc64] 1516 os: [linux] 1517 1518 + '@rollup/rollup-linux-ppc64-musl@4.55.2': 1519 + resolution: {integrity: sha512-g+0ZLMook31iWV4PvqKU0i9E78gaZgYpSrYPed/4Bu+nGTgfOPtfs1h11tSSRPXSjC5EzLTjV/1A7L2Vr8pJoQ==} 1520 cpu: [ppc64] 1521 os: [linux] 1522 1523 + '@rollup/rollup-linux-riscv64-gnu@4.55.2': 1524 + resolution: {integrity: sha512-i+sGeRGsjKZcQRh3BRfpLsM3LX3bi4AoEVqmGDyc50L6KfYsN45wVCSz70iQMwPWr3E5opSiLOwsC9WB4/1pqg==} 1525 cpu: [riscv64] 1526 os: [linux] 1527 1528 + '@rollup/rollup-linux-riscv64-musl@4.55.2': 1529 + resolution: {integrity: sha512-C1vLcKc4MfFV6I0aWsC7B2Y9QcsiEcvKkfxprwkPfLaN8hQf0/fKHwSF2lcYzA9g4imqnhic729VB9Fo70HO3Q==} 1530 cpu: [riscv64] 1531 os: [linux] 1532 1533 + '@rollup/rollup-linux-s390x-gnu@4.55.2': 1534 + resolution: {integrity: sha512-68gHUK/howpQjh7g7hlD9DvTTt4sNLp1Bb+Yzw2Ki0xvscm2cOdCLZNJNhd2jW8lsTPrHAHuF751BygifW4bkQ==} 1535 cpu: [s390x] 1536 os: [linux] 1537 1538 + '@rollup/rollup-linux-x64-gnu@4.55.2': 1539 + resolution: {integrity: sha512-1e30XAuaBP1MAizaOBApsgeGZge2/Byd6wV4a8oa6jPdHELbRHBiw7wvo4dp7Ie2PE8TZT4pj9RLGZv9N4qwlw==} 1540 cpu: [x64] 1541 os: [linux] 1542 1543 + '@rollup/rollup-linux-x64-musl@4.55.2': 1544 + resolution: {integrity: sha512-4BJucJBGbuGnH6q7kpPqGJGzZnYrpAzRd60HQSt3OpX/6/YVgSsJnNzR8Ot74io50SeVT4CtCWe/RYIAymFPwA==} 1545 cpu: [x64] 1546 os: [linux] 1547 1548 + '@rollup/rollup-openbsd-x64@4.55.2': 1549 + resolution: {integrity: sha512-cT2MmXySMo58ENv8p6/O6wI/h/gLnD3D6JoajwXFZH6X9jz4hARqUhWpGuQhOgLNXscfZYRQMJvZDtWNzMAIDw==} 1550 cpu: [x64] 1551 os: [openbsd] 1552 1553 + '@rollup/rollup-openharmony-arm64@4.55.2': 1554 + resolution: {integrity: sha512-sZnyUgGkuzIXaK3jNMPmUIyJrxu/PjmATQrocpGA1WbCPX8H5tfGgRSuYtqBYAvLuIGp8SPRb1O4d1Fkb5fXaQ==} 1555 cpu: [arm64] 1556 os: [openharmony] 1557 1558 + '@rollup/rollup-win32-arm64-msvc@4.55.2': 1559 + resolution: {integrity: sha512-sDpFbenhmWjNcEbBcoTV0PWvW5rPJFvu+P7XoTY0YLGRupgLbFY0XPfwIbJOObzO7QgkRDANh65RjhPmgSaAjQ==} 1560 cpu: [arm64] 1561 os: [win32] 1562 1563 + '@rollup/rollup-win32-ia32-msvc@4.55.2': 1564 + resolution: {integrity: sha512-GvJ03TqqaweWCigtKQVBErw2bEhu1tyfNQbarwr94wCGnczA9HF8wqEe3U/Lfu6EdeNP0p6R+APeHVwEqVxpUQ==} 1565 cpu: [ia32] 1566 os: [win32] 1567 1568 + '@rollup/rollup-win32-x64-gnu@4.55.2': 1569 + resolution: {integrity: sha512-KvXsBvp13oZz9JGe5NYS7FNizLe99Ny+W8ETsuCyjXiKdiGrcz2/J/N8qxZ/RSwivqjQguug07NLHqrIHrqfYw==} 1570 cpu: [x64] 1571 os: [win32] 1572 1573 + '@rollup/rollup-win32-x64-msvc@4.55.2': 1574 + resolution: {integrity: sha512-xNO+fksQhsAckRtDSPWaMeT1uIM+JrDRXlerpnWNXhn1TdB3YZ6uKBMBTKP0eX9XtYEP978hHk1f8332i2AW8Q==} 1575 cpu: [x64] 1576 os: [win32] 1577 ··· 1619 '@types/babel__traverse@7.28.0': 1620 resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==} 1621 1622 + '@types/bun@1.3.6': 1623 + resolution: {integrity: sha512-uWCv6FO/8LcpREhenN1d1b6fcspAB+cefwD7uti8C8VffIv0Um08TKMn98FynpTiU38+y2dUO55T11NgDt8VAA==} 1624 + 1625 '@types/dom-close-watcher@1.0.0': 1626 resolution: {integrity: sha512-7pL0By56sVVGMSJ3HdSY+u08Id0ljStCaf1VnGFxwfpuNdA0HMz0sl2J24eSi9M6ptl9ySkVK35jF75Fn8trUg==} 1627 ··· 1640 '@types/estree@1.0.8': 1641 resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} 1642 1643 + '@types/node@24.10.9': 1644 + resolution: {integrity: sha512-ne4A0IpG3+2ETuREInjPNhUGis1SFjv1d5asp8MzEAGtOZeTeHVDOYqOgqfhvseqg/iXty2hjBf1zAOb7RNiNw==} 1645 1646 '@types/resolve@1.20.2': 1647 resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} ··· 1649 '@types/trusted-types@2.0.7': 1650 resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} 1651 1652 acorn@8.15.0: 1653 resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} 1654 engines: {node: '>=0.4.0'} ··· 1734 balanced-match@1.0.2: 1735 resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 1736 1737 + baseline-browser-mapping@2.9.16: 1738 + resolution: {integrity: sha512-KeUZdBuxngy825i8xvzaK1Ncnkx0tBmb3k8DkEuqjKRkmtvNTjey2ZsNeh8Dw4lfKvbCOu9oeNx2TKm2vHqcRw==} 1739 hasBin: true 1740 1741 binary-extensions@2.3.0: ··· 1763 buffer-from@1.1.2: 1764 resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} 1765 1766 + bun-types@1.3.6: 1767 + resolution: {integrity: sha512-OlFwHcnNV99r//9v5IIOgQ9Uk37gZqrNMCcqEaExdkVq3Avwqok1bJFmvGMCkCE0FqzdY8VMOZpfpR3lwI+CsQ==} 1768 + 1769 camelcase-css@2.0.1: 1770 resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} 1771 engines: {node: '>= 6'} 1772 1773 + caniuse-lite@1.0.30001765: 1774 + resolution: {integrity: sha512-LWcNtSyZrakjECqmpP4qdg0MMGdN368D7X8XvvAqOcqMv0RxnlqVKZl2V6/mBR68oYMxOZPLw/gO7DuisMHUvQ==} 1775 1776 chokidar@3.6.0: 1777 resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} ··· 1836 deepmerge@4.3.1: 1837 resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} 1838 engines: {node: '>=0.10.0'} 1839 1840 detect-libc@2.1.2: 1841 resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} ··· 1898 resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 1899 engines: {node: '>=0.10.0'} 1900 1901 fast-deep-equal@3.1.3: 1902 resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 1903 ··· 1953 get-own-enumerable-property-symbols@3.0.2: 1954 resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} 1955 1956 glob-parent@5.1.2: 1957 resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1958 engines: {node: '>= 6'} ··· 1960 glob-parent@6.0.2: 1961 resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 1962 engines: {node: '>=10.13.0'} 1963 1964 glob@11.1.0: 1965 resolution: {integrity: sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw==} ··· 2096 magic-string@0.25.9: 2097 resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} 2098 2099 + mediabunny@1.29.0: 2100 + resolution: {integrity: sha512-18B8w/rhO/ph/AFsIXvzZg8RaSQZ+ZYfJ99MZlTjDmlgCT58jV3azrnWQ/OSquYDi8q0xmn64mnfTEHgww3+zw==} 2101 2102 merge-anything@5.1.7: 2103 resolution: {integrity: sha512-eRtbOb1N5iyH0tkQDAoQ4Ipsp/5qSR79Dzrz8hEPxRX10RWWR/iQXdoKmBSRCThY1Fh5EhISDtpSc93fpxUniQ==} ··· 2111 resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} 2112 engines: {node: '>=8.6'} 2113 2114 + miniflare@4.20260114.0: 2115 + resolution: {integrity: sha512-QwHT7S6XqGdQxIvql1uirH/7/i3zDEt0B/YBXTYzMfJtVCR4+ue3KPkU+Bl0zMxvpgkvjh9+eCHhJbKEqya70A==} 2116 engines: {node: '>=18.0.0'} 2117 hasBin: true 2118 ··· 2376 engines: {node: '>=10.0.0'} 2377 hasBin: true 2378 2379 + rollup@4.55.2: 2380 + resolution: {integrity: sha512-PggGy4dhwx5qaW+CKBilA/98Ql9keyfnb7lh4SR6shQ91QQQi1ORJ1v4UinkdP2i87OBs9AQFooQylcrrRfIcg==} 2381 engines: {node: '>=18.0.0', npm: '>=8.0.0'} 2382 hasBin: true 2383 ··· 2460 resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} 2461 deprecated: Please use @jridgewell/sourcemap-codec instead 2462 2463 string-width@4.2.3: 2464 resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 2465 engines: {node: '>=8'} ··· 2510 resolution: {integrity: sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==} 2511 engines: {node: '>=10'} 2512 2513 + terser@5.46.0: 2514 + resolution: {integrity: sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg==} 2515 engines: {node: '>=10'} 2516 hasBin: true 2517 ··· 2547 resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} 2548 engines: {node: '>=14.17'} 2549 hasBin: true 2550 2551 undici-types@7.16.0: 2552 resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} ··· 2726 workbox-window@7.4.0: 2727 resolution: {integrity: sha512-/bIYdBLAVsNR3v7gYGaV4pQW3M3kEPx5E8vDxGvxo6khTrGtSSCS7QiFKv9ogzBgZiy0OXLP9zO28U/1nF1mfw==} 2728 2729 + workerd@1.20260114.0: 2730 + resolution: {integrity: sha512-kTJ+jNdIllOzWuVA3NRQRvywP0T135zdCjAE2dAUY1BFbxM6fmMZV8BbskEoQ4hAODVQUfZQmyGctcwvVCKxFA==} 2731 engines: {node: '>=16'} 2732 hasBin: true 2733 2734 + wrangler@4.59.2: 2735 + resolution: {integrity: sha512-Z4xn6jFZTaugcOKz42xvRAYKgkVUERHVbuCJ5+f+gK+R6k12L02unakPGOA0L0ejhUl16dqDjKe4tmL9sedHcw==} 2736 engines: {node: '>=20.0.0'} 2737 hasBin: true 2738 peerDependencies: 2739 + '@cloudflare/workers-types': ^4.20260114.0 2740 peerDependenciesMeta: 2741 '@cloudflare/workers-types': 2742 optional: true ··· 2863 2864 '@atcute/tid@1.1.1': 2865 dependencies: 2866 + '@atcute/time-ms': 1.2.0 2867 2868 + '@atcute/time-ms@1.2.0': 2869 dependencies: 2870 + '@types/bun': 1.3.6 2871 node-gyp-build: 4.8.4 2872 2873 '@atcute/uint8array@1.0.6': {} ··· 3568 3569 '@badrap/valita@0.4.6': {} 3570 3571 + '@cloudflare/kv-asset-handler@0.4.2': {} 3572 3573 + '@cloudflare/unenv-preset@2.10.0(unenv@2.0.0-rc.24)(workerd@1.20260114.0)': 3574 dependencies: 3575 unenv: 2.0.0-rc.24 3576 optionalDependencies: 3577 + workerd: 1.20260114.0 3578 3579 + '@cloudflare/vite-plugin@1.21.0(vite@7.3.1(@types/node@24.10.9)(jiti@1.21.7)(terser@5.46.0))(workerd@1.20260114.0)(wrangler@4.59.2)': 3580 dependencies: 3581 + '@cloudflare/unenv-preset': 2.10.0(unenv@2.0.0-rc.24)(workerd@1.20260114.0) 3582 + miniflare: 4.20260114.0 3583 unenv: 2.0.0-rc.24 3584 + vite: 7.3.1(@types/node@24.10.9)(jiti@1.21.7)(terser@5.46.0) 3585 + wrangler: 4.59.2 3586 ws: 8.18.0 3587 transitivePeerDependencies: 3588 - bufferutil 3589 - utf-8-validate 3590 - workerd 3591 3592 + '@cloudflare/workerd-darwin-64@1.20260114.0': 3593 optional: true 3594 3595 + '@cloudflare/workerd-darwin-arm64@1.20260114.0': 3596 optional: true 3597 3598 + '@cloudflare/workerd-linux-64@1.20260114.0': 3599 optional: true 3600 3601 + '@cloudflare/workerd-linux-arm64@1.20260114.0': 3602 optional: true 3603 3604 + '@cloudflare/workerd-windows-64@1.20260114.0': 3605 optional: true 3606 3607 '@cspotcode/source-map-support@0.8.1': ··· 3981 3982 '@poppinss/exception@1.2.3': {} 3983 3984 '@rollup/plugin-babel@5.3.1(@babel/core@7.28.6)(@types/babel__core@7.20.5)(rollup@2.79.2)': 3985 dependencies: 3986 '@babel/core': 7.28.6 ··· 4012 dependencies: 4013 serialize-javascript: 6.0.2 4014 smob: 1.5.0 4015 + terser: 5.46.0 4016 optionalDependencies: 4017 rollup: 2.79.2 4018 ··· 4031 optionalDependencies: 4032 rollup: 2.79.2 4033 4034 + '@rollup/rollup-android-arm-eabi@4.55.2': 4035 optional: true 4036 4037 + '@rollup/rollup-android-arm64@4.55.2': 4038 optional: true 4039 4040 + '@rollup/rollup-darwin-arm64@4.55.2': 4041 optional: true 4042 4043 + '@rollup/rollup-darwin-x64@4.55.2': 4044 optional: true 4045 4046 + '@rollup/rollup-freebsd-arm64@4.55.2': 4047 optional: true 4048 4049 + '@rollup/rollup-freebsd-x64@4.55.2': 4050 optional: true 4051 4052 + '@rollup/rollup-linux-arm-gnueabihf@4.55.2': 4053 optional: true 4054 4055 + '@rollup/rollup-linux-arm-musleabihf@4.55.2': 4056 optional: true 4057 4058 + '@rollup/rollup-linux-arm64-gnu@4.55.2': 4059 optional: true 4060 4061 + '@rollup/rollup-linux-arm64-musl@4.55.2': 4062 optional: true 4063 4064 + '@rollup/rollup-linux-loong64-gnu@4.55.2': 4065 optional: true 4066 4067 + '@rollup/rollup-linux-loong64-musl@4.55.2': 4068 optional: true 4069 4070 + '@rollup/rollup-linux-ppc64-gnu@4.55.2': 4071 optional: true 4072 4073 + '@rollup/rollup-linux-ppc64-musl@4.55.2': 4074 optional: true 4075 4076 + '@rollup/rollup-linux-riscv64-gnu@4.55.2': 4077 optional: true 4078 4079 + '@rollup/rollup-linux-riscv64-musl@4.55.2': 4080 optional: true 4081 4082 + '@rollup/rollup-linux-s390x-gnu@4.55.2': 4083 optional: true 4084 4085 + '@rollup/rollup-linux-x64-gnu@4.55.2': 4086 optional: true 4087 4088 + '@rollup/rollup-linux-x64-musl@4.55.2': 4089 optional: true 4090 4091 + '@rollup/rollup-openbsd-x64@4.55.2': 4092 optional: true 4093 4094 + '@rollup/rollup-openharmony-arm64@4.55.2': 4095 optional: true 4096 4097 + '@rollup/rollup-win32-arm64-msvc@4.55.2': 4098 optional: true 4099 4100 + '@rollup/rollup-win32-ia32-msvc@4.55.2': 4101 optional: true 4102 4103 + '@rollup/rollup-win32-x64-gnu@4.55.2': 4104 optional: true 4105 4106 + '@rollup/rollup-win32-x64-msvc@4.55.2': 4107 optional: true 4108 4109 '@sindresorhus/is@7.2.0': {} ··· 4154 dependencies: 4155 '@babel/types': 7.28.6 4156 4157 + '@types/bun@1.3.6': 4158 + dependencies: 4159 + bun-types: 1.3.6 4160 + 4161 '@types/dom-close-watcher@1.0.0': {} 4162 4163 '@types/dom-mediacapture-transform@0.1.11': ··· 4172 4173 '@types/estree@1.0.8': {} 4174 4175 + '@types/node@24.10.9': 4176 dependencies: 4177 undici-types: 7.16.0 4178 ··· 4180 4181 '@types/trusted-types@2.0.7': {} 4182 4183 acorn@8.15.0: {} 4184 4185 ajv@8.17.1: ··· 4215 autoprefixer@10.4.23(postcss@8.5.6): 4216 dependencies: 4217 browserslist: 4.28.1 4218 + caniuse-lite: 1.0.30001765 4219 fraction.js: 5.3.4 4220 picocolors: 1.1.1 4221 postcss: 8.5.6 ··· 4269 4270 balanced-match@1.0.2: {} 4271 4272 + baseline-browser-mapping@2.9.16: {} 4273 4274 binary-extensions@2.3.0: {} 4275 ··· 4287 4288 browserslist@4.28.1: 4289 dependencies: 4290 + baseline-browser-mapping: 2.9.16 4291 + caniuse-lite: 1.0.30001765 4292 electron-to-chromium: 1.5.267 4293 node-releases: 2.0.27 4294 update-browserslist-db: 1.2.3(browserslist@4.28.1) 4295 4296 buffer-from@1.1.2: {} 4297 4298 + bun-types@1.3.6: 4299 + dependencies: 4300 + '@types/node': 24.10.9 4301 + 4302 camelcase-css@2.0.1: {} 4303 4304 + caniuse-lite@1.0.30001765: {} 4305 4306 chokidar@3.6.0: 4307 dependencies: ··· 4355 4356 deepmerge@4.3.1: {} 4357 4358 detect-libc@2.1.2: {} 4359 4360 didyoumean@1.2.2: {} ··· 4445 4446 esutils@2.0.3: {} 4447 4448 fast-deep-equal@3.1.3: {} 4449 4450 fast-glob@3.3.3: ··· 4496 4497 get-own-enumerable-property-symbols@3.0.2: {} 4498 4499 glob-parent@5.1.2: 4500 dependencies: 4501 is-glob: 4.0.3 ··· 4503 glob-parent@6.0.2: 4504 dependencies: 4505 is-glob: 4.0.3 4506 4507 glob@11.1.0: 4508 dependencies: ··· 4603 dependencies: 4604 sourcemap-codec: 1.4.8 4605 4606 + mediabunny@1.29.0: 4607 dependencies: 4608 '@types/dom-mediacapture-transform': 0.1.11 4609 '@types/dom-webcodecs': 0.1.13 ··· 4619 braces: 3.0.3 4620 picomatch: 2.3.1 4621 4622 + miniflare@4.20260114.0: 4623 dependencies: 4624 '@cspotcode/source-map-support': 0.8.1 4625 sharp: 0.34.5 4626 undici: 7.14.0 4627 + workerd: 1.20260114.0 4628 ws: 8.18.0 4629 youch: 4.1.0-beta.10 4630 zod: 3.25.76 ··· 4795 optionalDependencies: 4796 fsevents: 2.3.3 4797 4798 + rollup@4.55.2: 4799 dependencies: 4800 '@types/estree': 1.0.8 4801 optionalDependencies: 4802 + '@rollup/rollup-android-arm-eabi': 4.55.2 4803 + '@rollup/rollup-android-arm64': 4.55.2 4804 + '@rollup/rollup-darwin-arm64': 4.55.2 4805 + '@rollup/rollup-darwin-x64': 4.55.2 4806 + '@rollup/rollup-freebsd-arm64': 4.55.2 4807 + '@rollup/rollup-freebsd-x64': 4.55.2 4808 + '@rollup/rollup-linux-arm-gnueabihf': 4.55.2 4809 + '@rollup/rollup-linux-arm-musleabihf': 4.55.2 4810 + '@rollup/rollup-linux-arm64-gnu': 4.55.2 4811 + '@rollup/rollup-linux-arm64-musl': 4.55.2 4812 + '@rollup/rollup-linux-loong64-gnu': 4.55.2 4813 + '@rollup/rollup-linux-loong64-musl': 4.55.2 4814 + '@rollup/rollup-linux-ppc64-gnu': 4.55.2 4815 + '@rollup/rollup-linux-ppc64-musl': 4.55.2 4816 + '@rollup/rollup-linux-riscv64-gnu': 4.55.2 4817 + '@rollup/rollup-linux-riscv64-musl': 4.55.2 4818 + '@rollup/rollup-linux-s390x-gnu': 4.55.2 4819 + '@rollup/rollup-linux-x64-gnu': 4.55.2 4820 + '@rollup/rollup-linux-x64-musl': 4.55.2 4821 + '@rollup/rollup-openbsd-x64': 4.55.2 4822 + '@rollup/rollup-openharmony-arm64': 4.55.2 4823 + '@rollup/rollup-win32-arm64-msvc': 4.55.2 4824 + '@rollup/rollup-win32-ia32-msvc': 4.55.2 4825 + '@rollup/rollup-win32-x64-gnu': 4.55.2 4826 + '@rollup/rollup-win32-x64-msvc': 4.55.2 4827 fsevents: 2.3.3 4828 4829 run-parallel@1.2.0: ··· 4920 4921 sourcemap-codec@1.4.8: {} 4922 4923 string-width@4.2.3: 4924 dependencies: 4925 emoji-regex: 8.0.0 ··· 4999 type-fest: 0.16.0 5000 unique-string: 2.0.0 5001 5002 + terser@5.46.0: 5003 dependencies: 5004 '@jridgewell/source-map': 0.3.11 5005 acorn: 8.15.0 ··· 5036 5037 typescript@5.9.3: {} 5038 5039 undici-types@7.16.0: {} 5040 5041 undici@7.14.0: {} ··· 5073 5074 util-deprecate@1.0.2: {} 5075 5076 + vite-plugin-pwa@1.1.0(patch_hash=003379ded749ad87080f87b428b17f04c4c88b6b64544df4d928aab76fbf6325)(@types/babel__core@7.20.5)(vite@7.3.1(@types/node@24.10.9)(jiti@1.21.7)(terser@5.46.0)): 5077 dependencies: 5078 debug: 4.4.3 5079 pretty-bytes: 6.1.1 5080 tinyglobby: 0.2.15 5081 + vite: 7.3.1(@types/node@24.10.9)(jiti@1.21.7)(terser@5.46.0) 5082 workbox-build: 7.4.0(@types/babel__core@7.20.5) 5083 workbox-window: 7.4.0 5084 transitivePeerDependencies: 5085 - '@types/babel__core' 5086 - supports-color 5087 5088 + vite-plugin-solid@2.11.10(solid-js@1.9.10(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7))(vite@7.3.1(@types/node@24.10.9)(jiti@1.21.7)(terser@5.46.0)): 5089 dependencies: 5090 '@babel/core': 7.28.6 5091 '@types/babel__core': 7.20.5 ··· 5093 merge-anything: 5.1.7 5094 solid-js: 1.9.10(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7) 5095 solid-refresh: 0.6.3(solid-js@1.9.10(patch_hash=9cf3f9930aa2f8d4e60502a75153adf9468eb53b42f69e86cac05dfaea3f82e7)) 5096 + vite: 7.3.1(@types/node@24.10.9)(jiti@1.21.7)(terser@5.46.0) 5097 + vitefu: 1.1.1(vite@7.3.1(@types/node@24.10.9)(jiti@1.21.7)(terser@5.46.0)) 5098 transitivePeerDependencies: 5099 - supports-color 5100 5101 + vite@7.3.1(@types/node@24.10.9)(jiti@1.21.7)(terser@5.46.0): 5102 dependencies: 5103 esbuild: 0.27.2 5104 fdir: 6.5.0(picomatch@4.0.3) 5105 picomatch: 4.0.3 5106 postcss: 8.5.6 5107 + rollup: 4.55.2 5108 tinyglobby: 0.2.15 5109 optionalDependencies: 5110 + '@types/node': 24.10.9 5111 fsevents: 2.3.3 5112 jiti: 1.21.7 5113 + terser: 5.46.0 5114 5115 + vitefu@1.1.1(vite@7.3.1(@types/node@24.10.9)(jiti@1.21.7)(terser@5.46.0)): 5116 optionalDependencies: 5117 + vite: 7.3.1(@types/node@24.10.9)(jiti@1.21.7)(terser@5.46.0) 5118 5119 webidl-conversions@4.0.2: {} 5120 ··· 5241 '@types/trusted-types': 2.0.7 5242 workbox-core: 7.4.0 5243 5244 + workerd@1.20260114.0: 5245 optionalDependencies: 5246 + '@cloudflare/workerd-darwin-64': 1.20260114.0 5247 + '@cloudflare/workerd-darwin-arm64': 1.20260114.0 5248 + '@cloudflare/workerd-linux-64': 1.20260114.0 5249 + '@cloudflare/workerd-linux-arm64': 1.20260114.0 5250 + '@cloudflare/workerd-windows-64': 1.20260114.0 5251 5252 + wrangler@4.59.2: 5253 dependencies: 5254 + '@cloudflare/kv-asset-handler': 0.4.2 5255 + '@cloudflare/unenv-preset': 2.10.0(unenv@2.0.0-rc.24)(workerd@1.20260114.0) 5256 blake3-wasm: 2.1.5 5257 esbuild: 0.27.0 5258 + miniflare: 4.20260114.0 5259 path-to-regexp: 6.3.0 5260 unenv: 2.0.0-rc.24 5261 + workerd: 1.20260114.0 5262 optionalDependencies: 5263 fsevents: 2.3.3 5264 transitivePeerDependencies:
+103
src/components/drawer.tsx
···
··· 1 + import { type JSX, onMount } from 'solid-js'; 2 + 3 + import { useModalContext } from '~/globals/modals'; 4 + 5 + import { createEventListener } from '~/lib/hooks/event-listener'; 6 + import { useModalClose } from '~/lib/hooks/modal-close'; 7 + 8 + export interface DrawerContainerProps { 9 + maxWidth?: string; 10 + maxHeight?: string; 11 + children: JSX.Element; 12 + } 13 + 14 + /** 15 + * mobile drawer container with scroll snap, slide animations, and drag handle 16 + */ 17 + const DrawerContainer = (props: DrawerContainerProps) => { 18 + const { close, isActive } = useModalContext(); 19 + 20 + const hasReducedMotion = false && matchMedia('(prefers-reduced-motion)').matches; 21 + const hasScrollSnapEvent = 'onscrollsnapchange' in window; 22 + 23 + const maxWidth = () => props.maxWidth ?? '540px'; 24 + const maxHeight = () => props.maxHeight ?? '60svh'; 25 + 26 + return ( 27 + <div 28 + ref={(node) => { 29 + if (hasScrollSnapEvent) { 30 + createEventListener(node, 'scrollsnapchange', () => { 31 + if (node.scrollTop < 0) { 32 + close(); 33 + } 34 + }); 35 + } else { 36 + onMount(() => { 37 + const content = node.firstElementChild!; 38 + 39 + createEventListener(node, 'scroll', () => { 40 + if (-node.scrollTop > content.clientHeight - 2) { 41 + close(); 42 + } 43 + }); 44 + }); 45 + } 46 + }} 47 + class="flex grow snap-y snap-mandatory flex-col-reverse items-center self-stretch overflow-y-auto overscroll-none bg-contrast-overlay/75 scrollbar-hide" 48 + > 49 + <div 50 + class="relative shrink-0 grow" 51 + style={{ 'max-height': maxHeight(), width: maxWidth(), 'max-width': '100%' }} 52 + > 53 + <div class="pointer-events-none absolute inset-0 z-10 flex flex-col justify-between"> 54 + <div class="h-12 w-full -translate-y-full snap-end"></div> 55 + <div class="h-12 w-full snap-end"></div> 56 + </div> 57 + 58 + <div 59 + ref={(node) => { 60 + if (!hasReducedMotion) { 61 + let closing = false; 62 + 63 + onMount(() => { 64 + const easing = 'cubic-bezier(0.32, 0.72, 0, 1)'; 65 + const duration = 350; 66 + 67 + const handleClose = () => { 68 + if (closing) { 69 + return; 70 + } 71 + 72 + const anim = node.animate([{ translate: '0 0' }, { translate: '0 100%' }], { 73 + easing, 74 + duration, 75 + }); 76 + 77 + closing = true; 78 + anim.finished.then(close); 79 + }; 80 + 81 + node.animate([{ translate: '0 100%' }, { translate: '0 0' }], { easing, duration }); 82 + 83 + useModalClose(node, handleClose, isActive); 84 + }); 85 + } else { 86 + useModalClose(node, close, isActive); 87 + } 88 + }} 89 + class="flex h-full w-full flex-col overflow-clip rounded-t-lg bg-background pt-6 shadow-lg" 90 + > 91 + <div class="absolute inset-x-0 top-0 grid h-6 place-items-center"> 92 + <div class="h-1 w-12 rounded-full bg-contrast/20"></div> 93 + </div> 94 + 95 + <div class="flex min-h-0 grow flex-col overflow-y-auto">{props.children}</div> 96 + </div> 97 + </div> 98 + <div class="h-svh w-full shrink-0 grow"></div> 99 + </div> 100 + ); 101 + }; 102 + 103 + export { DrawerContainer as Container };
+5 -75
src/components/menu.tsx
··· 1 import { flip, shift, size } from '@floating-ui/dom'; 2 import { type Placement, getSide } from '@floating-ui/utils'; 3 import { useFloating } from 'solid-floating-ui'; 4 - import { type Component, type JSX, createSignal, onMount } from 'solid-js'; 5 6 import { useModalContext } from '~/globals/modals'; 7 8 - import { createEventListener } from '~/lib/hooks/event-listener'; 9 import { useMediaQuery } from '~/lib/hooks/media-query'; 10 import { useModalClose } from '~/lib/hooks/modal-close'; 11 import { on } from '~/lib/utils/misc'; 12 13 import Divider from './divider'; 14 import CheckOutlinedIcon from './icons-central/check-outline'; 15 16 export interface MenuContainerProps { ··· 89 </div> 90 ); 91 } else { 92 - const hasReducedMotion = false && matchMedia('(prefers-reduced-motion)').matches; 93 - const hasScrollSnapEvent = 'onscrollsnapchange' in window; 94 - 95 return ( 96 - <div 97 - ref={(node) => { 98 - if (hasScrollSnapEvent) { 99 - createEventListener(node, 'scrollsnapchange', () => { 100 - if (node.scrollTop < 0) { 101 - close(); 102 - } 103 - }); 104 - } else { 105 - onMount(() => { 106 - const content = node.firstElementChild!; 107 - 108 - createEventListener(node, 'scroll', () => { 109 - if (-node.scrollTop > content.clientHeight - 2) { 110 - close(); 111 - } 112 - }); 113 - }); 114 - } 115 - }} 116 - class="flex grow snap-y snap-mandatory flex-col-reverse items-center self-stretch overflow-y-auto overscroll-none bg-contrast-overlay/75 scrollbar-hide" 117 - > 118 - <div class="relative max-h-[60svh] w-[540px] max-w-full shrink-0 grow"> 119 - <div class="pointer-events-none absolute inset-0 z-10 flex flex-col justify-between"> 120 - <div class="h-12 w-full -translate-y-full snap-end"></div> 121 - <div class="h-12 w-full snap-end"></div> 122 - </div> 123 - 124 - <div 125 - ref={(node) => { 126 - if (!hasReducedMotion) { 127 - let closing = false; 128 - 129 - onMount(() => { 130 - const easing = 'cubic-bezier(0.32, 0.72, 0, 1)'; 131 - const duration = 350; 132 - 133 - const handleClose = () => { 134 - if (closing) { 135 - return; 136 - } 137 - 138 - const anim = node.animate([{ translate: '0 0' }, { translate: '0 100%' }], { 139 - easing, 140 - duration, 141 - }); 142 - 143 - closing = true; 144 - anim.finished.then(close); 145 - }; 146 - 147 - node.animate([{ translate: '0 100%' }, { translate: '0 0' }], { easing, duration }); 148 - 149 - useModalClose(node, handleClose, isActive); 150 - }); 151 - } else { 152 - useModalClose(node, close, isActive); 153 - } 154 - }} 155 - class="flex h-full w-full flex-col overflow-clip rounded-t-lg bg-background pt-6 shadow-lg" 156 - > 157 - <div class="absolute inset-x-0 top-0 grid h-6 place-items-center"> 158 - <div class="h-1 w-12 rounded-full bg-contrast/20"></div> 159 - </div> 160 - 161 - <div class="flex flex-col overflow-y-auto pb-3 text-sm">{props.children}</div> 162 - </div> 163 - </div> 164 - <div class="h-svh w-full shrink-0 grow"></div> 165 - </div> 166 ); 167 } 168 }) as unknown as JSX.Element;
··· 1 import { flip, shift, size } from '@floating-ui/dom'; 2 import { type Placement, getSide } from '@floating-ui/utils'; 3 import { useFloating } from 'solid-floating-ui'; 4 + import { type Component, type JSX, createSignal } from 'solid-js'; 5 6 import { useModalContext } from '~/globals/modals'; 7 8 import { useMediaQuery } from '~/lib/hooks/media-query'; 9 import { useModalClose } from '~/lib/hooks/modal-close'; 10 import { on } from '~/lib/utils/misc'; 11 12 import Divider from './divider'; 13 + import * as Drawer from './drawer'; 14 import CheckOutlinedIcon from './icons-central/check-outline'; 15 16 export interface MenuContainerProps { ··· 89 </div> 90 ); 91 } else { 92 return ( 93 + <Drawer.Container> 94 + <div class="flex flex-col overflow-y-auto pb-3 text-sm">{props.children}</div> 95 + </Drawer.Container> 96 ); 97 } 98 }) as unknown as JSX.Element;
+4 -10
src/components/prompt.tsx
··· 8 9 import Button, { type ButtonProps } from './button'; 10 import { Backdrop } from './dialog'; 11 import { Fieldset } from './fieldset'; 12 13 export interface PromptContainerProps { ··· 43 } else { 44 return ( 45 <Fieldset standalone disabled={isDisabled()}> 46 - <div class="flex grow flex-col items-center self-stretch overflow-y-auto bg-contrast-overlay/75"> 47 - <div class="h-[40dvh] shrink-0"></div> 48 - <div 49 - ref={containerRef} 50 - role="menu" 51 - class="mt-auto flex w-full max-w-120 flex-col rounded-t-xl bg-background p-4" 52 - > 53 - {props.children} 54 - </div> 55 - </div> 56 </Fieldset> 57 ); 58 }
··· 8 9 import Button, { type ButtonProps } from './button'; 10 import { Backdrop } from './dialog'; 11 + import * as Drawer from './drawer'; 12 import { Fieldset } from './fieldset'; 13 14 export interface PromptContainerProps { ··· 44 } else { 45 return ( 46 <Fieldset standalone disabled={isDisabled()}> 47 + <Drawer.Container maxWidth="480px" maxHeight="70svh"> 48 + <div class="flex flex-col p-4">{props.children}</div> 49 + </Drawer.Container> 50 </Fieldset> 51 ); 52 }