diff --git a/.eslintignore b/.eslintignore index 1a258241..785e27df 100644 --- a/.eslintignore +++ b/.eslintignore @@ -8,8 +8,10 @@ node_modules .env.* !.env.example /coverage +**/pagefind # Ignore files for PNPM, NPM and YARN pnpm-lock.yaml package-lock.json yarn.lock + diff --git a/.gitignore b/.gitignore index aa375a81..011c15c9 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ node_modules vite.config.js.timestamp-* vite.config.ts.timestamp-* /coverage +**/pagefind \ No newline at end of file diff --git a/.prettierignore b/.prettierignore index 68c83f36..cd362878 100644 --- a/.prettierignore +++ b/.prettierignore @@ -5,3 +5,4 @@ yarn.lock /coverage **/*.mdx **/*.md +**/pagefind diff --git a/package.json b/package.json index b95a3157..00e66fdc 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "dev": "vite dev", "preview": "vite preview", "build": "pnpm build:docs && pnpm build:package", - "build:docs": "svelte-kit sync && vite build", + "build:docs": "svelte-kit sync && vite build && pagefind", "build:package": "svelte-kit sync && svelte-package && publint", "ci:publish": "pnpm build:package && changeset publish", "test": "vitest run --coverage", @@ -39,7 +39,7 @@ "@sveltejs/adapter-static": "^3.0.1", "@sveltejs/kit": "^2.0.0", "@sveltejs/package": "^2.0.0", - "@sveltejs/vite-plugin-svelte": "4.0.0-next.1", + "@sveltejs/vite-plugin-svelte": "4.0.0-next.2", "@testing-library/jest-dom": "^6.4.2", "@testing-library/svelte": "^5.1.0", "@types/eslint": "^8.56.0", @@ -51,8 +51,10 @@ "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-svelte": "^2.36.0-next.4", + "focus-trap": "^7.5.4", "jsdom": "^24.0.0", "lucide-svelte": "^0.373.0", + "pagefind": "^1.1.0", "postcss": "^8.4.32", "postcss-load-config": "^5.0.2", "prettier": "^3.1.1", @@ -65,6 +67,7 @@ "tslib": "^2.4.1", "typescript": "^5.0.0", "vite": "^5.0.11", + "vite-plugin-pagefind": "^0.2.8", "vitest": "^1.2.0" }, "svelte": "./dist/index.js", diff --git a/pagefind.json b/pagefind.json new file mode 100644 index 00000000..f23d5cc9 --- /dev/null +++ b/pagefind.json @@ -0,0 +1,9 @@ +{ + "site": "build", + "exclude_selectors": [".expressive-code"], + "vite_plugin_pagefind": { + "assets_dir": "static", + "build_command": "pnpm build:docs", + "dev_strategy": "lazy" + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5359f0f2..b8d6ba00 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -17,19 +17,19 @@ importers: devDependencies: '@changesets/cli': specifier: ^2.27.1 - version: 2.27.1 + version: 2.27.2 '@sveltejs/adapter-static': specifier: ^3.0.1 - version: 3.0.1(@sveltejs/kit@2.5.7(@sveltejs/vite-plugin-svelte@4.0.0-next.1(svelte@5.0.0-next.125)(vite@5.2.11))(svelte@5.0.0-next.125)(vite@5.2.11)) + version: 3.0.1(@sveltejs/kit@2.5.9(@sveltejs/vite-plugin-svelte@4.0.0-next.2(svelte@5.0.0-next.125)(vite@5.2.11))(svelte@5.0.0-next.125)(vite@5.2.11)) '@sveltejs/kit': specifier: ^2.0.0 - version: 2.5.7(@sveltejs/vite-plugin-svelte@4.0.0-next.1(svelte@5.0.0-next.125)(vite@5.2.11))(svelte@5.0.0-next.125)(vite@5.2.11) + version: 2.5.9(@sveltejs/vite-plugin-svelte@4.0.0-next.2(svelte@5.0.0-next.125)(vite@5.2.11))(svelte@5.0.0-next.125)(vite@5.2.11) '@sveltejs/package': specifier: ^2.0.0 version: 2.3.1(svelte@5.0.0-next.125)(typescript@5.4.5) '@sveltejs/vite-plugin-svelte': - specifier: 4.0.0-next.1 - version: 4.0.0-next.1(svelte@5.0.0-next.125)(vite@5.2.11) + specifier: 4.0.0-next.2 + version: 4.0.0-next.2(svelte@5.0.0-next.125)(vite@5.2.11) '@testing-library/jest-dom': specifier: ^6.4.2 version: 6.4.5(vitest@1.6.0(jsdom@24.0.0)) @@ -41,10 +41,10 @@ importers: version: 8.56.10 '@typescript-eslint/eslint-plugin': specifier: ^7.0.0 - version: 7.8.0(@typescript-eslint/parser@7.8.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5) + version: 7.9.0(@typescript-eslint/parser@7.9.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5) '@typescript-eslint/parser': specifier: ^7.0.0 - version: 7.8.0(eslint@8.57.0)(typescript@5.4.5) + version: 7.9.0(eslint@8.57.0)(typescript@5.4.5) '@vitest/coverage-v8': specifier: ^1.5.2 version: 1.6.0(vitest@1.6.0(jsdom@24.0.0)) @@ -62,13 +62,19 @@ importers: version: 9.1.0(eslint@8.57.0) eslint-plugin-svelte: specifier: ^2.36.0-next.4 - version: 2.38.0(eslint@8.57.0)(svelte@5.0.0-next.125) + version: 2.39.0(eslint@8.57.0)(svelte@5.0.0-next.125) + focus-trap: + specifier: ^7.5.4 + version: 7.5.4 jsdom: specifier: ^24.0.0 version: 24.0.0 lucide-svelte: specifier: ^0.373.0 version: 0.373.0(svelte@5.0.0-next.125) + pagefind: + specifier: ^1.1.0 + version: 1.1.0 postcss: specifier: ^8.4.32 version: 8.4.38 @@ -86,7 +92,7 @@ importers: version: 0.1.16 shiki: specifier: ^1.3.0 - version: 1.4.0 + version: 1.5.2 svelte: specifier: 5.0.0-next.125 version: 5.0.0-next.125 @@ -105,6 +111,9 @@ importers: vite: specifier: ^5.0.11 version: 5.2.11 + vite-plugin-pagefind: + specifier: ^0.2.8 + version: 0.2.8 vitest: specifier: ^1.2.0 version: 1.6.0(jsdom@24.0.0) @@ -154,8 +163,8 @@ packages: '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - '@changesets/apply-release-plan@7.0.0': - resolution: {integrity: sha512-vfi69JR416qC9hWmFGSxj7N6wA5J222XNBmezSVATPWDVPIF7gkd4d8CpbEbXmRWbVrkoli3oerGS6dcL/BGsQ==} + '@changesets/apply-release-plan@7.0.1': + resolution: {integrity: sha512-aPdSq/R++HOyfEeBGjEe6LNG8gs0KMSyRETD/J2092OkNq8mOioAxyKjMbvVUdzgr/HTawzMOz7lfw339KnsCA==} '@changesets/assemble-release-plan@6.0.0': resolution: {integrity: sha512-4QG7NuisAjisbW4hkLCmGW2lRYdPrKzro+fCtZaILX+3zdUELSvYjpL4GTv0E4aM9Mef3PuIQp89VmHJ4y2bfw==} @@ -163,8 +172,8 @@ packages: '@changesets/changelog-git@0.2.0': resolution: {integrity: sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ==} - '@changesets/cli@2.27.1': - resolution: {integrity: sha512-iJ91xlvRnnrJnELTp4eJJEOPjgpF3NOh4qeQehM6Ugiz9gJPRZ2t+TsXun6E3AMN4hScZKjqVXl0TX+C7AB3ZQ==} + '@changesets/cli@2.27.2': + resolution: {integrity: sha512-6/kADjKMOrlLwNr/Y5HAq7T9oGOA2Lq5A59AGtwQCCiXuSGp4EgszzdJFeBiF8pdz7Wn1HaLzSUBhAaNToEJqg==} hasBin: true '@changesets/config@3.0.0': @@ -203,8 +212,8 @@ packages: '@changesets/types@6.0.0': resolution: {integrity: sha512-b1UkfNulgKoWfqyHtzKS5fOZYSJO+77adgL7DLRDr+/7jhChN+QcHnbjiQVOz/U+Ts3PGNySq7diAItzDgugfQ==} - '@changesets/write@0.3.0': - resolution: {integrity: sha512-slGLb21fxZVUYbyea+94uFiD6ntQW0M2hIKNznFizDhZPDgn2c/fv1UzzlW43RVzh1BEDuIqW6hzlJ1OflNmcw==} + '@changesets/write@0.3.1': + resolution: {integrity: sha512-SyGtMXzH3qFqlHKcvFY2eX+6b0NGiFcNav8AFsYwy5l8hejOeoeTDemu5Yjmke2V5jpzY+pBvM0vCCQ3gdZpfw==} '@esbuild/aix-ppc64@0.20.2': resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} @@ -362,8 +371,8 @@ packages: resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@floating-ui/core@1.6.1': - resolution: {integrity: sha512-42UH54oPZHPdRHdw6BgoBD6cg/eVTmVrFcgeRDM3jbO7uxSoipVcmcIGFcA5jmOHO5apcyvBhkSKES3fQJnu7A==} + '@floating-ui/core@1.6.2': + resolution: {integrity: sha512-+2XpQV9LLZeanU4ZevzRnGFg2neDeKHgFLjP6YLW+tly0IvrhqT4u8enLGjLH3qeh85g19xY5rsAusfwTdn5lg==} '@floating-ui/dom@1.6.5': resolution: {integrity: sha512-Nsdud2X65Dz+1RHjAIP0t8z5e2ff/IRbei6BqFrl1urT8sDVzM1HMQ+R0XcU5ceRfyO3I6ayeqIfh+6Wb8LGTw==} @@ -430,6 +439,31 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} + '@pagefind/darwin-arm64@1.1.0': + resolution: {integrity: sha512-SLsXNLtSilGZjvqis8sX42fBWsWAVkcDh1oerxwqbac84HbiwxpxOC2jm8hRwcR0Z55HPZPWO77XeRix/8GwTg==} + cpu: [arm64] + os: [darwin] + + '@pagefind/darwin-x64@1.1.0': + resolution: {integrity: sha512-QjQSE/L5oS1C8N8GdljGaWtjCBMgMtfrPAoiCmINTu9Y9dp0ggAyXvF8K7Qg3VyIMYJ6v8vg2PN7Z3b+AaAqUA==} + cpu: [x64] + os: [darwin] + + '@pagefind/linux-arm64@1.1.0': + resolution: {integrity: sha512-8zjYCa2BtNEL7KnXtysPtBELCyv5DSQ4yHeK/nsEq6w4ToAMTBl0K06khqxdSGgjMSwwrxvLzq3so0LC5Q14dA==} + cpu: [arm64] + os: [linux] + + '@pagefind/linux-x64@1.1.0': + resolution: {integrity: sha512-4lsg6VB7A6PWTwaP8oSmXV4O9H0IHX7AlwTDcfyT+YJo/sPXOVjqycD5cdBgqNLfUk8B9bkWcTDCRmJbHrKeCw==} + cpu: [x64] + os: [linux] + + '@pagefind/windows-x64@1.1.0': + resolution: {integrity: sha512-OboCM76BcMKT9IoSfZuFhiqMRgTde8x4qDDvKulFmycgiJrlL5WnIqBHJLQxZq+o2KyZpoHF97iwsGAm8c32sQ==} + cpu: [x64] + os: [win32] + '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} @@ -517,8 +551,8 @@ packages: cpu: [x64] os: [win32] - '@shikijs/core@1.4.0': - resolution: {integrity: sha512-CxpKLntAi64h3j+TwWqVIQObPTED0FyXLHTTh3MKXtqiQNn2JGcMQQ362LftDbc9kYbDtrksNMNoVmVXzKFYUQ==} + '@shikijs/core@1.5.2': + resolution: {integrity: sha512-wSAOgaz48GmhILFElMCeQypSZmj6Ru6DttOOtl3KNkdJ17ApQuGNCfzpk4cClasVrnIu45++2DBwG4LNMQAfaA==} '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} @@ -528,8 +562,8 @@ packages: peerDependencies: '@sveltejs/kit': ^2.0.0 - '@sveltejs/kit@2.5.7': - resolution: {integrity: sha512-6uedTzrb7nQrw6HALxnPrPaXdIN2jJJTzTIl96Z3P5NiG+OAfpdPbrWrvkJ3GN4CfWqrmU4dJqwMMRMTD/C7ow==} + '@sveltejs/kit@2.5.9': + resolution: {integrity: sha512-x8biUVHPQq075/ESH/UO+fwENtAcw0kg9+bloqqEnbLUNWcrWpmcL3vKrKJc4vaVh/CYKFXn47N98Sbt/Y3vKQ==} engines: {node: '>=18.13'} hasBin: true peerDependencies: @@ -544,16 +578,16 @@ packages: peerDependencies: svelte: ^3.44.0 || ^4.0.0 || ^5.0.0-next.1 - '@sveltejs/vite-plugin-svelte-inspector@3.0.0-next.1': - resolution: {integrity: sha512-slACwpEW8e/+I9MGjrdss4qJMobYtLrdu07m5BJ29rubm0lYXL3KKTqORYA5WTvRtpZfbYjsw1WfMOj9XasnJw==} + '@sveltejs/vite-plugin-svelte-inspector@3.0.0-next.2': + resolution: {integrity: sha512-Yl9BWvEj+1j+8mICIAA04/Sx0wEHNL0n9pSIZFM8n4NWgLFmR3v41qX2k54J/r4LWE2YHTeNNH2WJqEUb3geEA==} engines: {node: ^18.0.0 || ^20.0.0 || >=22} peerDependencies: - '@sveltejs/vite-plugin-svelte': ^4.0.0-next.1 + '@sveltejs/vite-plugin-svelte': ^4.0.0-next.0||^4.0.0 svelte: ^5.0.0-next.96 || ^5.0.0 vite: ^5.0.0 - '@sveltejs/vite-plugin-svelte@4.0.0-next.1': - resolution: {integrity: sha512-FJBcgRhzWnEvNy8eqHlHKl2oea3+2rA9WAMnZdXJjEMJBpl/6IkhgcCMd7qRw0Qbb1BA66qsSD36UcSngUwqgA==} + '@sveltejs/vite-plugin-svelte@4.0.0-next.2': + resolution: {integrity: sha512-COzonmnC6tyb/nuWWllVe9y4r9wxIVon42W76AIVn4aPxEZkUdNlw0s3L8DPqm1ssvZO1XUCfoepxQXLmICZLg==} engines: {node: ^18.0.0 || ^20.0.0 || >=22} peerDependencies: svelte: ^5.0.0-next.96 || ^5.0.0 @@ -627,8 +661,8 @@ packages: '@types/semver@7.5.8': resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} - '@typescript-eslint/eslint-plugin@7.8.0': - resolution: {integrity: sha512-gFTT+ezJmkwutUPmB0skOj3GZJtlEGnlssems4AjkVweUPGj7jRwwqg0Hhg7++kPGJqKtTYx+R05Ftww372aIg==} + '@typescript-eslint/eslint-plugin@7.9.0': + resolution: {integrity: sha512-6e+X0X3sFe/G/54aC3jt0txuMTURqLyekmEHViqyA2VnxhLMpvA6nqmcjIy+Cr9tLDHPssA74BP5Mx9HQIxBEA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: '@typescript-eslint/parser': ^7.0.0 @@ -638,8 +672,8 @@ packages: typescript: optional: true - '@typescript-eslint/parser@7.8.0': - resolution: {integrity: sha512-KgKQly1pv0l4ltcftP59uQZCi4HUYswCLbTqVZEJu7uLX8CTLyswqMLqLN+2QFz4jCptqWVV4SB7vdxcH2+0kQ==} + '@typescript-eslint/parser@7.9.0': + resolution: {integrity: sha512-qHMJfkL5qvgQB2aLvhUSXxbK7OLnDkwPzFalg458pxQgfxKDfT1ZDbHQM/I6mDIf/svlMkj21kzKuQ2ixJlatQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -648,12 +682,12 @@ packages: typescript: optional: true - '@typescript-eslint/scope-manager@7.8.0': - resolution: {integrity: sha512-viEmZ1LmwsGcnr85gIq+FCYI7nO90DVbE37/ll51hjv9aG+YZMb4WDE2fyWpUR4O/UrhGRpYXK/XajcGTk2B8g==} + '@typescript-eslint/scope-manager@7.9.0': + resolution: {integrity: sha512-ZwPK4DeCDxr3GJltRz5iZejPFAAr4Wk3+2WIBaj1L5PYK5RgxExu/Y68FFVclN0y6GGwH8q+KgKRCvaTmFBbgQ==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/type-utils@7.8.0': - resolution: {integrity: sha512-H70R3AefQDQpz9mGv13Uhi121FNMh+WEaRqcXTX09YEDky21km4dV1ZXJIp8QjXc4ZaVkXVdohvWDzbnbHDS+A==} + '@typescript-eslint/type-utils@7.9.0': + resolution: {integrity: sha512-6Qy8dfut0PFrFRAZsGzuLoM4hre4gjzWJB6sUvdunCYZsYemTkzZNwF1rnGea326PHPT3zn5Lmg32M/xfJfByA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -662,12 +696,12 @@ packages: typescript: optional: true - '@typescript-eslint/types@7.8.0': - resolution: {integrity: sha512-wf0peJ+ZGlcH+2ZS23aJbOv+ztjeeP8uQ9GgwMJGVLx/Nj9CJt17GWgWWoSmoRVKAX2X+7fzEnAjxdvK2gqCLw==} + '@typescript-eslint/types@7.9.0': + resolution: {integrity: sha512-oZQD9HEWQanl9UfsbGVcZ2cGaR0YT5476xfWE0oE5kQa2sNK2frxOlkeacLOTh9po4AlUT5rtkGyYM5kew0z5w==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/typescript-estree@7.8.0': - resolution: {integrity: sha512-5pfUCOwK5yjPaJQNy44prjCwtr981dO8Qo9J9PwYXZ0MosgAbfEMB008dJ5sNo3+/BN6ytBPuSvXUg9SAqB0dg==} + '@typescript-eslint/typescript-estree@7.9.0': + resolution: {integrity: sha512-zBCMCkrb2YjpKV3LA0ZJubtKCDxLttxfdGmwZvTqqWevUPN0FZvSI26FalGFFUZU/9YQK/A4xcQF9o/VVaCKAg==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: typescript: '*' @@ -675,14 +709,14 @@ packages: typescript: optional: true - '@typescript-eslint/utils@7.8.0': - resolution: {integrity: sha512-L0yFqOCflVqXxiZyXrDr80lnahQfSOfc9ELAAZ75sqicqp2i36kEZZGuUymHNFoYOqxRT05up760b4iGsl02nQ==} + '@typescript-eslint/utils@7.9.0': + resolution: {integrity: sha512-5KVRQCzZajmT4Ep+NEgjXCvjuypVvYHUW7RHlXzNPuak2oWpVoD1jf5xCP0dPAuNIchjC7uQyvbdaSTFaLqSdA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 - '@typescript-eslint/visitor-keys@7.8.0': - resolution: {integrity: sha512-q4/gibTNBQNA0lGyYQCmWRS5D15n8rXh4QjK3KV+MBPlTYHpfBUT3D3PaPR/HeNiI9W6R7FvlkcGhNyAoP+caA==} + '@typescript-eslint/visitor-keys@7.9.0': + resolution: {integrity: sha512-iESPx2TNLDNGQLyjKhUvIKprlP49XNEK+MvIf9nIO7ZZaZdbnfWKHnXAgufpxqfA0YryH8XToi4+CjBgVnFTSQ==} engines: {node: ^18.18.0 || >=20.0.0} '@ungap/structured-clone@1.2.0': @@ -880,8 +914,8 @@ packages: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} engines: {node: '>=6'} - caniuse-lite@1.0.30001616: - resolution: {integrity: sha512-RHVYKov7IcdNjVHJFNY/78RdG4oGVjbayxv8u5IO74Wv7Hlq4PnJE6mo/OjFijjVFNy5ijnCt6H3IIo4t+wfEw==} + caniuse-lite@1.0.30001620: + resolution: {integrity: sha512-WJvYsOjd1/BYUY6SNGUosK9DUidBPDTnOARHp3fSmFO1ekdxaY6nKRttEVrfMmYi80ctS0kz1wiWmm14fVc3ew==} chai@4.4.1: resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} @@ -937,6 +971,9 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} @@ -1097,8 +1134,8 @@ packages: eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - electron-to-chromium@1.4.757: - resolution: {integrity: sha512-jftDaCknYSSt/+KKeXzH3LX5E2CvRLm75P3Hj+J/dv3CL0qUYcOt13d5FN1NiL5IJbbhzHrb3BomeG2tkSlZmw==} + electron-to-chromium@1.4.774: + resolution: {integrity: sha512-132O1XCd7zcTkzS3FgkAzKmnBuNJjK8WjcTtNuoylj7MYbqw5eXehjQ5OK91g0zm7OTKIPeaAG4CPoRfD9M1Mg==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -1179,8 +1216,8 @@ packages: peerDependencies: eslint: '>=7.0.0' - eslint-plugin-svelte@2.38.0: - resolution: {integrity: sha512-IwwxhHzitx3dr0/xo0z4jjDlb2AAHBPKt+juMyKKGTLlKi1rZfA4qixMwnveU20/JTHyipM6keX4Vr7LZFYc9g==} + eslint-plugin-svelte@2.39.0: + resolution: {integrity: sha512-FXktBLXsrxbA+6ZvJK2z/sQOrUKyzSg3fNWK5h0reSCjr2fjAsc9ai/s/JvSl4Hgvz3nYVtTIMwarZH5RcB7BA==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0-0 || ^9.0.0-0 @@ -1289,6 +1326,9 @@ packages: flatted@3.3.1: resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + focus-trap@7.5.4: + resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==} + for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} @@ -1356,9 +1396,9 @@ packages: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} - glob@10.3.12: - resolution: {integrity: sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==} - engines: {node: '>=16 || 14 >=14.17'} + glob@10.3.15: + resolution: {integrity: sha512-0c6RlJt1TICLyvJYIApxb8GsXoai0KUP7AxKKAtsYXdgJR1mGEUa7DgwShbdk1nly0PYoZj01xd4hzbq3fsjpw==} + engines: {node: '>=16 || 14 >=14.18'} hasBin: true glob@7.2.3: @@ -1703,8 +1743,8 @@ packages: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} - known-css-properties@0.30.0: - resolution: {integrity: sha512-VSWXYUnsPu9+WYKkfmJyLKtIvaRJi1kXUqVmBACORXZQxT5oZDsoZ2vQP+bQFDnWtpI/4eq3MLoRMjI2fnLzTQ==} + known-css-properties@0.31.0: + resolution: {integrity: sha512-sBPIUGTNF0czz0mwGGUoKKJC8Q7On1GPbCSFPfyEsfHb2DyBG0Y4QtV+EVWpINSaiGKZblDNuF5AezxSgOhesQ==} levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} @@ -1762,10 +1802,6 @@ packages: lru-cache@4.1.5: resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} - lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} - lucide-svelte@0.373.0: resolution: {integrity: sha512-p727laQi1KayKzB9ldnzrfdhrOv3mXkBr7fVWfNHG5rjSOn7FIHu6dOzuHBp5/cmYyG5WI9n/nCS+EG2ThJJ2Q==} peerDependencies: @@ -1842,8 +1878,8 @@ packages: minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - minipass@7.1.0: - resolution: {integrity: sha512-oGZRv2OT1lO2UF1zUcwdTb3wqUwI0kBGTgt/T7OdSj6M6N5m3o5uPf0AIW6lVxGGoiWUR7e2AwTE+xiwK8WQig==} + minipass@7.1.1: + resolution: {integrity: sha512-UZ7eQ+h8ywIRAW1hIEl2AqdwzJucU/Kp59+8kkZeSvafXhZjul247BvIJjEVFVeON6d7lM46XX1HXCduKAS8VA==} engines: {node: '>=16 || 14 >=14.17'} mixme@0.5.10: @@ -1913,8 +1949,8 @@ packages: resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - nwsapi@2.2.9: - resolution: {integrity: sha512-2f3F0SEEer8bBu0dsNCFF50N0cTThV1nWFYcEYFZttdW0lDAoybv9cQoK7X7/68Z89S7FoRrVjP1LPX4XRf9vg==} + nwsapi@2.2.10: + resolution: {integrity: sha512-QK0sRs7MKv0tKe1+5uZIQk/C8XGza4DAnztJG8iD+TpJIORARrCxczA738awHrZoHeTjSSoHqao2teO0dC/gFQ==} object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} @@ -1989,6 +2025,10 @@ packages: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} + pagefind@1.1.0: + resolution: {integrity: sha512-1nmj0/vfYcMxNEQj0YDRp6bTVv9hI7HLdPhK/vBBYlrnwjATndQvHyicj5Y7pUHrpCFZpFnLVQXIF829tpFmaw==} + hasBin: true + parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} @@ -2022,9 +2062,9 @@ packages: path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - path-scurry@1.10.2: - resolution: {integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==} - engines: {node: '>=16 || 14 >=14.17'} + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} @@ -2036,8 +2076,8 @@ packages: pathval@1.1.1: resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} - picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + picocolors@1.0.1: + resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} @@ -2059,8 +2099,8 @@ packages: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} engines: {node: '>=8'} - pkg-types@1.1.0: - resolution: {integrity: sha512-/RpmvKdxKf8uILTtoOhAgf30wYbP2Qw+L9p3Rvshx1JZVX+XQNZQFjlbmGHEGIm4CkVPlSn+NXmIM8+9oWQaSA==} + pkg-types@1.1.1: + resolution: {integrity: sha512-ko14TjmDuQJ14zsotODv7dBlwxKhUKQEhuhmbqo1uCi9BB0Z2alo/wAXg6q1dTR5TyuqYyWhjtfe/Tsh+X28jQ==} possible-typed-array-names@1.0.0: resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} @@ -2310,8 +2350,8 @@ packages: resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true - semver@7.6.0: - resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + semver@7.6.2: + resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} engines: {node: '>=10'} hasBin: true @@ -2345,8 +2385,8 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - shiki@1.4.0: - resolution: {integrity: sha512-5WIn0OL8PWm7JhnTwRWXniy6eEDY234mRrERVlFa646V2ErQqwIFd2UML7e0Pq9eqSKLoMa3Ke+xbsF+DAuy+Q==} + shiki@1.5.2: + resolution: {integrity: sha512-fpPbuSaatinmdGijE7VYUD3hxLozR3ZZ+iAx8Iy2X6REmJGyF5hQl94SgmiUNTospq346nXUVZx0035dyGvIVw==} side-channel@1.0.6: resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} @@ -2483,11 +2523,11 @@ packages: peerDependencies: svelte: ^3.55.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0 - svelte-eslint-parser@0.35.0: - resolution: {integrity: sha512-CtbPseajW0gjwEvHiuzYJkPDjAcHz2FaHt540j6RVYrZgnE6xWkzUBodQ4I3nV+G5AS0Svt8K6aIA/CIU9xT2Q==} + svelte-eslint-parser@0.36.0: + resolution: {integrity: sha512-/6YmUSr0FAVxW8dXNdIMydBnddPMHzaHirAZ7RrT21XYdgGGZMh0LQG6CZsvAFS4r2Y4ItUuCQc8TQ3urB30mQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: - svelte: ^3.37.0 || ^4.0.0 || ^5.0.0-next.112 + svelte: ^3.37.0 || ^4.0.0 || ^5.0.0-next.115 peerDependenciesMeta: svelte: optional: true @@ -2542,6 +2582,9 @@ packages: symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + tabbable@6.2.0: + resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} + tailwindcss@3.4.3: resolution: {integrity: sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==} engines: {node: '>=14.0.0'} @@ -2683,8 +2726,8 @@ packages: resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} engines: {node: '>= 4.0.0'} - update-browserslist-db@1.0.15: - resolution: {integrity: sha512-K9HWH62x3/EalU1U6sjSZiylm9C8tgq2mSvshZpqc7QE69RaA2qjhkW2HlNA0tFpEbtyFz7HTqbSdN4MSwUodA==} + update-browserslist-db@1.0.16: + resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -2698,6 +2741,9 @@ packages: util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + valibot@0.31.0-rc.4: + resolution: {integrity: sha512-2wKEnWVey4+JBVCrSF8nlITg2gMDqAuBoIplMpc5bIpQaeDR9wnrI/fudBooKlIW1EZpIMlWy8Ku2gtF/1uK9g==} + validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} @@ -2706,6 +2752,9 @@ packages: engines: {node: ^18.0.0 || >=20.0.0} hasBin: true + vite-plugin-pagefind@0.2.8: + resolution: {integrity: sha512-lTfbfeYWd5mjeji4bQPxjyt/BWI2CnkpcCtlyJu3GHTr7uWkauvcyS/98Ys/CHV95CLCis2po8J9i1+H4VIqZg==} + vite@5.2.11: resolution: {integrity: sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ==} engines: {node: ^18.0.0 || >=20.0.0} @@ -2870,9 +2919,6 @@ packages: yallist@2.1.2: resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} - yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - yaml@1.10.2: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} engines: {node: '>= 6'} @@ -2923,7 +2969,7 @@ snapshots: '@babel/code-frame@7.24.2': dependencies: '@babel/highlight': 7.24.5 - picocolors: 1.0.0 + picocolors: 1.0.1 '@babel/helper-string-parser@7.24.1': {} @@ -2934,7 +2980,7 @@ snapshots: '@babel/helper-validator-identifier': 7.24.5 chalk: 2.4.2 js-tokens: 4.0.0 - picocolors: 1.0.0 + picocolors: 1.0.1 '@babel/parser@7.24.5': dependencies: @@ -2952,7 +2998,7 @@ snapshots: '@bcoe/v8-coverage@0.2.3': {} - '@changesets/apply-release-plan@7.0.0': + '@changesets/apply-release-plan@7.0.1': dependencies: '@babel/runtime': 7.24.5 '@changesets/config': 3.0.0 @@ -2966,7 +3012,7 @@ snapshots: outdent: 0.5.0 prettier: 2.8.8 resolve-from: 5.0.0 - semver: 7.6.0 + semver: 7.6.2 '@changesets/assemble-release-plan@6.0.0': dependencies: @@ -2975,16 +3021,16 @@ snapshots: '@changesets/get-dependents-graph': 2.0.0 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 - semver: 7.6.0 + semver: 7.6.2 '@changesets/changelog-git@0.2.0': dependencies: '@changesets/types': 6.0.0 - '@changesets/cli@2.27.1': + '@changesets/cli@2.27.2': dependencies: '@babel/runtime': 7.24.5 - '@changesets/apply-release-plan': 7.0.0 + '@changesets/apply-release-plan': 7.0.1 '@changesets/assemble-release-plan': 6.0.0 '@changesets/changelog-git': 0.2.0 '@changesets/config': 3.0.0 @@ -2996,7 +3042,7 @@ snapshots: '@changesets/pre': 2.0.0 '@changesets/read': 0.6.0 '@changesets/types': 6.0.0 - '@changesets/write': 0.3.0 + '@changesets/write': 0.3.1 '@manypkg/get-packages': 1.1.3 '@types/semver': 7.5.8 ansi-colors: 4.1.3 @@ -3011,7 +3057,7 @@ snapshots: p-limit: 2.3.0 preferred-pm: 3.1.3 resolve-from: 5.0.0 - semver: 7.6.0 + semver: 7.6.2 spawndamnit: 2.0.0 term-size: 2.2.1 tty-table: 4.2.3 @@ -3036,7 +3082,7 @@ snapshots: '@manypkg/get-packages': 1.1.3 chalk: 2.4.2 fs-extra: 7.0.1 - semver: 7.6.0 + semver: 7.6.2 '@changesets/get-release-plan@4.0.0': dependencies: @@ -3092,7 +3138,7 @@ snapshots: '@changesets/types@6.0.0': {} - '@changesets/write@0.3.0': + '@changesets/write@0.3.1': dependencies: '@babel/runtime': 7.24.5 '@changesets/types': 6.0.0 @@ -3192,13 +3238,13 @@ snapshots: '@eslint/js@8.57.0': {} - '@floating-ui/core@1.6.1': + '@floating-ui/core@1.6.2': dependencies: '@floating-ui/utils': 0.2.2 '@floating-ui/dom@1.6.5': dependencies: - '@floating-ui/core': 1.6.1 + '@floating-ui/core': 1.6.2 '@floating-ui/utils': 0.2.2 '@floating-ui/utils@0.2.2': {} @@ -3275,6 +3321,21 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 + '@pagefind/darwin-arm64@1.1.0': + optional: true + + '@pagefind/darwin-x64@1.1.0': + optional: true + + '@pagefind/linux-arm64@1.1.0': + optional: true + + '@pagefind/linux-x64@1.1.0': + optional: true + + '@pagefind/windows-x64@1.1.0': + optional: true + '@pkgjs/parseargs@0.11.0': optional: true @@ -3328,17 +3389,17 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.17.2': optional: true - '@shikijs/core@1.4.0': {} + '@shikijs/core@1.5.2': {} '@sinclair/typebox@0.27.8': {} - '@sveltejs/adapter-static@3.0.1(@sveltejs/kit@2.5.7(@sveltejs/vite-plugin-svelte@4.0.0-next.1(svelte@5.0.0-next.125)(vite@5.2.11))(svelte@5.0.0-next.125)(vite@5.2.11))': + '@sveltejs/adapter-static@3.0.1(@sveltejs/kit@2.5.9(@sveltejs/vite-plugin-svelte@4.0.0-next.2(svelte@5.0.0-next.125)(vite@5.2.11))(svelte@5.0.0-next.125)(vite@5.2.11))': dependencies: - '@sveltejs/kit': 2.5.7(@sveltejs/vite-plugin-svelte@4.0.0-next.1(svelte@5.0.0-next.125)(vite@5.2.11))(svelte@5.0.0-next.125)(vite@5.2.11) + '@sveltejs/kit': 2.5.9(@sveltejs/vite-plugin-svelte@4.0.0-next.2(svelte@5.0.0-next.125)(vite@5.2.11))(svelte@5.0.0-next.125)(vite@5.2.11) - '@sveltejs/kit@2.5.7(@sveltejs/vite-plugin-svelte@4.0.0-next.1(svelte@5.0.0-next.125)(vite@5.2.11))(svelte@5.0.0-next.125)(vite@5.2.11)': + '@sveltejs/kit@2.5.9(@sveltejs/vite-plugin-svelte@4.0.0-next.2(svelte@5.0.0-next.125)(vite@5.2.11))(svelte@5.0.0-next.125)(vite@5.2.11)': dependencies: - '@sveltejs/vite-plugin-svelte': 4.0.0-next.1(svelte@5.0.0-next.125)(vite@5.2.11) + '@sveltejs/vite-plugin-svelte': 4.0.0-next.2(svelte@5.0.0-next.125)(vite@5.2.11) '@types/cookie': 0.6.0 cookie: 0.6.0 devalue: 5.0.0 @@ -3359,24 +3420,24 @@ snapshots: chokidar: 3.6.0 kleur: 4.1.5 sade: 1.8.1 - semver: 7.6.0 + semver: 7.6.2 svelte: 5.0.0-next.125 svelte2tsx: 0.7.8(svelte@5.0.0-next.125)(typescript@5.4.5) transitivePeerDependencies: - typescript - '@sveltejs/vite-plugin-svelte-inspector@3.0.0-next.1(@sveltejs/vite-plugin-svelte@4.0.0-next.1(svelte@5.0.0-next.125)(vite@5.2.11))(svelte@5.0.0-next.125)(vite@5.2.11)': + '@sveltejs/vite-plugin-svelte-inspector@3.0.0-next.2(@sveltejs/vite-plugin-svelte@4.0.0-next.2(svelte@5.0.0-next.125)(vite@5.2.11))(svelte@5.0.0-next.125)(vite@5.2.11)': dependencies: - '@sveltejs/vite-plugin-svelte': 4.0.0-next.1(svelte@5.0.0-next.125)(vite@5.2.11) + '@sveltejs/vite-plugin-svelte': 4.0.0-next.2(svelte@5.0.0-next.125)(vite@5.2.11) debug: 4.3.4 svelte: 5.0.0-next.125 vite: 5.2.11 transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@4.0.0-next.1(svelte@5.0.0-next.125)(vite@5.2.11)': + '@sveltejs/vite-plugin-svelte@4.0.0-next.2(svelte@5.0.0-next.125)(vite@5.2.11)': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 3.0.0-next.1(@sveltejs/vite-plugin-svelte@4.0.0-next.1(svelte@5.0.0-next.125)(vite@5.2.11))(svelte@5.0.0-next.125)(vite@5.2.11) + '@sveltejs/vite-plugin-svelte-inspector': 3.0.0-next.2(@sveltejs/vite-plugin-svelte@4.0.0-next.2(svelte@5.0.0-next.125)(vite@5.2.11))(svelte@5.0.0-next.125)(vite@5.2.11) debug: 4.3.4 deepmerge: 4.3.1 kleur: 4.1.5 @@ -3442,32 +3503,30 @@ snapshots: '@types/semver@7.5.8': {} - '@typescript-eslint/eslint-plugin@7.8.0(@typescript-eslint/parser@7.8.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)': + '@typescript-eslint/eslint-plugin@7.9.0(@typescript-eslint/parser@7.9.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)': dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 7.8.0(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/scope-manager': 7.8.0 - '@typescript-eslint/type-utils': 7.8.0(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/utils': 7.8.0(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/visitor-keys': 7.8.0 - debug: 4.3.4 + '@typescript-eslint/parser': 7.9.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/scope-manager': 7.9.0 + '@typescript-eslint/type-utils': 7.9.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/utils': 7.9.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 7.9.0 eslint: 8.57.0 graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 - semver: 7.6.0 ts-api-utils: 1.3.0(typescript@5.4.5) optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.8.0(eslint@8.57.0)(typescript@5.4.5)': + '@typescript-eslint/parser@7.9.0(eslint@8.57.0)(typescript@5.4.5)': dependencies: - '@typescript-eslint/scope-manager': 7.8.0 - '@typescript-eslint/types': 7.8.0 - '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5) - '@typescript-eslint/visitor-keys': 7.8.0 + '@typescript-eslint/scope-manager': 7.9.0 + '@typescript-eslint/types': 7.9.0 + '@typescript-eslint/typescript-estree': 7.9.0(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 7.9.0 debug: 4.3.4 eslint: 8.57.0 optionalDependencies: @@ -3475,15 +3534,15 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@7.8.0': + '@typescript-eslint/scope-manager@7.9.0': dependencies: - '@typescript-eslint/types': 7.8.0 - '@typescript-eslint/visitor-keys': 7.8.0 + '@typescript-eslint/types': 7.9.0 + '@typescript-eslint/visitor-keys': 7.9.0 - '@typescript-eslint/type-utils@7.8.0(eslint@8.57.0)(typescript@5.4.5)': + '@typescript-eslint/type-utils@7.9.0(eslint@8.57.0)(typescript@5.4.5)': dependencies: - '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5) - '@typescript-eslint/utils': 7.8.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/typescript-estree': 7.9.0(typescript@5.4.5) + '@typescript-eslint/utils': 7.9.0(eslint@8.57.0)(typescript@5.4.5) debug: 4.3.4 eslint: 8.57.0 ts-api-utils: 1.3.0(typescript@5.4.5) @@ -3492,40 +3551,37 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/types@7.8.0': {} + '@typescript-eslint/types@7.9.0': {} - '@typescript-eslint/typescript-estree@7.8.0(typescript@5.4.5)': + '@typescript-eslint/typescript-estree@7.9.0(typescript@5.4.5)': dependencies: - '@typescript-eslint/types': 7.8.0 - '@typescript-eslint/visitor-keys': 7.8.0 + '@typescript-eslint/types': 7.9.0 + '@typescript-eslint/visitor-keys': 7.9.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.4 - semver: 7.6.0 + semver: 7.6.2 ts-api-utils: 1.3.0(typescript@5.4.5) optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@7.8.0(eslint@8.57.0)(typescript@5.4.5)': + '@typescript-eslint/utils@7.9.0(eslint@8.57.0)(typescript@5.4.5)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@types/json-schema': 7.0.15 - '@types/semver': 7.5.8 - '@typescript-eslint/scope-manager': 7.8.0 - '@typescript-eslint/types': 7.8.0 - '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5) + '@typescript-eslint/scope-manager': 7.9.0 + '@typescript-eslint/types': 7.9.0 + '@typescript-eslint/typescript-estree': 7.9.0(typescript@5.4.5) eslint: 8.57.0 - semver: 7.6.0 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/visitor-keys@7.8.0': + '@typescript-eslint/visitor-keys@7.9.0': dependencies: - '@typescript-eslint/types': 7.8.0 + '@typescript-eslint/types': 7.9.0 eslint-visitor-keys: 3.4.3 '@ungap/structured-clone@1.2.0': {} @@ -3541,7 +3597,7 @@ snapshots: istanbul-reports: 3.1.7 magic-string: 0.30.10 magicast: 0.3.4 - picocolors: 1.0.0 + picocolors: 1.0.1 std-env: 3.7.0 strip-literal: 2.1.0 test-exclude: 6.0.0 @@ -3678,10 +3734,10 @@ snapshots: autoprefixer@10.4.19(postcss@8.4.38): dependencies: browserslist: 4.23.0 - caniuse-lite: 1.0.30001616 + caniuse-lite: 1.0.30001620 fraction.js: 4.3.7 normalize-range: 0.1.2 - picocolors: 1.0.0 + picocolors: 1.0.1 postcss: 8.4.38 postcss-value-parser: 4.2.0 @@ -3720,10 +3776,10 @@ snapshots: browserslist@4.23.0: dependencies: - caniuse-lite: 1.0.30001616 - electron-to-chromium: 1.4.757 + caniuse-lite: 1.0.30001620 + electron-to-chromium: 1.4.774 node-releases: 2.0.14 - update-browserslist-db: 1.0.15(browserslist@4.23.0) + update-browserslist-db: 1.0.16(browserslist@4.23.0) buffer-crc32@0.2.13: {} @@ -3749,7 +3805,7 @@ snapshots: camelcase@5.3.1: {} - caniuse-lite@1.0.30001616: {} + caniuse-lite@1.0.30001620: {} chai@4.4.1: dependencies: @@ -3823,6 +3879,8 @@ snapshots: color-name@1.1.4: {} + colorette@2.0.20: {} + combined-stream@1.0.8: dependencies: delayed-stream: 1.0.0 @@ -3981,7 +4039,7 @@ snapshots: eastasianwidth@0.2.0: {} - electron-to-chromium@1.4.757: {} + electron-to-chromium@1.4.774: {} emoji-regex@8.0.0: {} @@ -4122,13 +4180,13 @@ snapshots: eslint-compat-utils@0.5.0(eslint@8.57.0): dependencies: eslint: 8.57.0 - semver: 7.6.0 + semver: 7.6.2 eslint-config-prettier@9.1.0(eslint@8.57.0): dependencies: eslint: 8.57.0 - eslint-plugin-svelte@2.38.0(eslint@8.57.0)(svelte@5.0.0-next.125): + eslint-plugin-svelte@2.39.0(eslint@8.57.0)(svelte@5.0.0-next.125): dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@jridgewell/sourcemap-codec': 1.4.15 @@ -4136,13 +4194,13 @@ snapshots: eslint: 8.57.0 eslint-compat-utils: 0.5.0(eslint@8.57.0) esutils: 2.0.3 - known-css-properties: 0.30.0 + known-css-properties: 0.31.0 postcss: 8.4.38 postcss-load-config: 3.1.4(postcss@8.4.38) postcss-safe-parser: 6.0.0(postcss@8.4.38) postcss-selector-parser: 6.0.16 - semver: 7.6.0 - svelte-eslint-parser: 0.35.0(svelte@5.0.0-next.125) + semver: 7.6.2 + svelte-eslint-parser: 0.36.0(svelte@5.0.0-next.125) optionalDependencies: svelte: 5.0.0-next.125 transitivePeerDependencies: @@ -4299,6 +4357,10 @@ snapshots: flatted@3.3.1: {} + focus-trap@7.5.4: + dependencies: + tabbable: 6.2.0 + for-each@0.3.3: dependencies: is-callable: 1.2.7 @@ -4372,13 +4434,13 @@ snapshots: dependencies: is-glob: 4.0.3 - glob@10.3.12: + glob@10.3.15: dependencies: foreground-child: 3.1.1 jackspeak: 2.3.6 minimatch: 9.0.4 - minipass: 7.1.0 - path-scurry: 1.10.2 + minipass: 7.1.1 + path-scurry: 1.11.1 glob@7.2.3: dependencies: @@ -4682,7 +4744,7 @@ snapshots: http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.4 is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.9 + nwsapi: 2.2.10 parse5: 7.1.2 rrweb-cssom: 0.6.0 saxes: 6.0.0 @@ -4720,7 +4782,7 @@ snapshots: kleur@4.1.5: {} - known-css-properties@0.30.0: {} + known-css-properties@0.31.0: {} levn@0.4.1: dependencies: @@ -4743,7 +4805,7 @@ snapshots: local-pkg@0.5.0: dependencies: mlly: 1.7.0 - pkg-types: 1.1.0 + pkg-types: 1.1.1 locate-character@3.0.0: {} @@ -4776,10 +4838,6 @@ snapshots: pseudomap: 1.0.2 yallist: 2.1.2 - lru-cache@6.0.0: - dependencies: - yallist: 4.0.0 - lucide-svelte@0.373.0(svelte@5.0.0-next.125): dependencies: svelte: 5.0.0-next.125 @@ -4798,7 +4856,7 @@ snapshots: make-dir@4.0.0: dependencies: - semver: 7.6.0 + semver: 7.6.2 map-obj@1.0.1: {} @@ -4857,7 +4915,7 @@ snapshots: minimist@1.2.8: {} - minipass@7.1.0: {} + minipass@7.1.1: {} mixme@0.5.10: {} @@ -4869,7 +4927,7 @@ snapshots: dependencies: acorn: 8.11.3 pathe: 1.1.2 - pkg-types: 1.1.0 + pkg-types: 1.1.1 ufo: 1.5.3 mri@1.2.0: {} @@ -4923,7 +4981,7 @@ snapshots: dependencies: path-key: 4.0.0 - nwsapi@2.2.9: {} + nwsapi@2.2.10: {} object-assign@4.1.1: {} @@ -4994,6 +5052,14 @@ snapshots: p-try@2.2.0: {} + pagefind@1.1.0: + optionalDependencies: + '@pagefind/darwin-arm64': 1.1.0 + '@pagefind/darwin-x64': 1.1.0 + '@pagefind/linux-arm64': 1.1.0 + '@pagefind/linux-x64': 1.1.0 + '@pagefind/windows-x64': 1.1.0 + parent-module@1.0.1: dependencies: callsites: 3.1.0 @@ -5024,10 +5090,10 @@ snapshots: path-parse@1.0.7: {} - path-scurry@1.10.2: + path-scurry@1.11.1: dependencies: lru-cache: 10.2.2 - minipass: 7.1.0 + minipass: 7.1.1 path-type@4.0.0: {} @@ -5035,7 +5101,7 @@ snapshots: pathval@1.1.1: {} - picocolors@1.0.0: {} + picocolors@1.0.1: {} picomatch@2.3.1: {} @@ -5049,7 +5115,7 @@ snapshots: dependencies: find-up: 4.1.0 - pkg-types@1.1.0: + pkg-types@1.1.1: dependencies: confbox: 0.1.7 mlly: 1.7.0 @@ -5114,7 +5180,7 @@ snapshots: postcss@8.4.38: dependencies: nanoid: 3.3.7 - picocolors: 1.0.0 + picocolors: 1.0.1 source-map-js: 1.2.0 preferred-pm@3.1.3: @@ -5154,7 +5220,7 @@ snapshots: publint@0.1.16: dependencies: npm-packlist: 5.1.3 - picocolors: 1.0.0 + picocolors: 1.0.1 sade: 1.8.1 punycode@2.3.1: {} @@ -5297,9 +5363,7 @@ snapshots: semver@5.7.2: {} - semver@7.6.0: - dependencies: - lru-cache: 6.0.0 + semver@7.6.2: {} set-blocking@2.0.0: {} @@ -5333,9 +5397,9 @@ snapshots: shebang-regex@3.0.0: {} - shiki@1.4.0: + shiki@1.5.2: dependencies: - '@shikijs/core': 1.4.0 + '@shikijs/core': 1.5.2 side-channel@1.0.6: dependencies: @@ -5466,7 +5530,7 @@ snapshots: dependencies: '@jridgewell/gen-mapping': 0.3.5 commander: 4.1.1 - glob: 10.3.12 + glob: 10.3.15 lines-and-columns: 1.2.4 mz: 2.7.0 pirates: 4.0.6 @@ -5488,7 +5552,7 @@ snapshots: chokidar: 3.6.0 fast-glob: 3.3.2 import-fresh: 3.3.0 - picocolors: 1.0.0 + picocolors: 1.0.1 sade: 1.8.1 svelte: 5.0.0-next.125 svelte-preprocess: 5.1.4(postcss-load-config@5.1.0(jiti@1.21.0)(postcss@8.4.38))(postcss@8.4.38)(svelte@5.0.0-next.125)(typescript@5.4.5) @@ -5504,7 +5568,7 @@ snapshots: - stylus - sugarss - svelte-eslint-parser@0.35.0(svelte@5.0.0-next.125): + svelte-eslint-parser@0.36.0(svelte@5.0.0-next.125): dependencies: eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 @@ -5552,6 +5616,8 @@ snapshots: symbol-tree@3.2.4: {} + tabbable@6.2.0: {} + tailwindcss@3.4.3: dependencies: '@alloc/quick-lru': 5.2.0 @@ -5567,7 +5633,7 @@ snapshots: micromatch: 4.0.5 normalize-path: 3.0.0 object-hash: 3.0.0 - picocolors: 1.0.0 + picocolors: 1.0.1 postcss: 8.4.38 postcss-import: 15.1.0(postcss@8.4.38) postcss-js: 4.0.1(postcss@8.4.38) @@ -5712,11 +5778,11 @@ snapshots: universalify@0.2.0: {} - update-browserslist-db@1.0.15(browserslist@4.23.0): + update-browserslist-db@1.0.16(browserslist@4.23.0): dependencies: browserslist: 4.23.0 escalade: 3.1.2 - picocolors: 1.0.0 + picocolors: 1.0.1 uri-js@4.4.1: dependencies: @@ -5729,6 +5795,8 @@ snapshots: util-deprecate@1.0.2: {} + valibot@0.31.0-rc.4: {} + validate-npm-package-license@3.0.4: dependencies: spdx-correct: 3.2.0 @@ -5739,7 +5807,7 @@ snapshots: cac: 6.7.14 debug: 4.3.4 pathe: 1.1.2 - picocolors: 1.0.0 + picocolors: 1.0.1 vite: 5.2.11 transitivePeerDependencies: - '@types/node' @@ -5751,6 +5819,11 @@ snapshots: - supports-color - terser + vite-plugin-pagefind@0.2.8: + dependencies: + colorette: 2.0.20 + valibot: 0.31.0-rc.4 + vite@5.2.11: dependencies: esbuild: 0.20.2 @@ -5777,7 +5850,7 @@ snapshots: local-pkg: 0.5.0 magic-string: 0.30.10 pathe: 1.1.2 - picocolors: 1.0.0 + picocolors: 1.0.1 std-env: 3.7.0 strip-literal: 2.1.0 tinybench: 2.8.0 @@ -5894,8 +5967,6 @@ snapshots: yallist@2.1.2: {} - yallist@4.0.0: {} - yaml@1.10.2: {} yaml@2.4.2: {} diff --git a/src/app.d.ts b/src/app.d.ts index 9f8152d6..8b5f5c86 100644 --- a/src/app.d.ts +++ b/src/app.d.ts @@ -6,6 +6,7 @@ declare global { // interface Locals {} interface PageData { highlighter: import('shiki').Highlighter; + pagefind: import('vite-plugin-pagefind/types').Pagefind; } // interface PageState {} // interface Platform {} diff --git a/src/docs/components/Dialog/Dialog.svelte b/src/docs/components/Dialog/Dialog.svelte new file mode 100644 index 00000000..585aaf71 --- /dev/null +++ b/src/docs/components/Dialog/Dialog.svelte @@ -0,0 +1,78 @@ + + + + {#if open} +
+ + {/if} +
diff --git a/src/docs/components/Dialog/SearchDialog.svelte b/src/docs/components/Dialog/SearchDialog.svelte new file mode 100644 index 00000000..78722602 --- /dev/null +++ b/src/docs/components/Dialog/SearchDialog.svelte @@ -0,0 +1,100 @@ + + + + + +
+
+ + +
+
+ {#if query === ''} +

What can we help you find?

+ {:else} + {#await searchPromise} +

+ +

+ {:then results} + {#if results.length > 0} + + {:else if query !== ''} +

No results found for "{query}"

+ {/if} + {/await} + {/if} +
+
+
+ + diff --git a/src/docs/components/Navigation/Navigation.svelte b/src/docs/components/Navigation/Navigation.svelte index 271de1b5..a25c49d3 100644 --- a/src/docs/components/Navigation/Navigation.svelte +++ b/src/docs/components/Navigation/Navigation.svelte @@ -1,6 +1,6 @@
drawer.close()} + onclick={() => (drawer.open = false)} > {link.label} diff --git a/src/docs/components/Overlay/Overlay.svelte b/src/docs/components/Overlay/Overlay.svelte new file mode 100644 index 00000000..b5441ea0 --- /dev/null +++ b/src/docs/components/Overlay/Overlay.svelte @@ -0,0 +1,15 @@ + + +
+ +
+ {@render children()} +
diff --git a/src/docs/components/PageHeader/PageHeader.svelte b/src/docs/components/PageHeader/PageHeader.svelte index c28507b3..e53122bd 100644 --- a/src/docs/components/PageHeader/PageHeader.svelte +++ b/src/docs/components/PageHeader/PageHeader.svelte @@ -1,9 +1,12 @@
- Floating UI Svelte
+
+ import type { Snippet } from 'svelte'; + + interface Props { + children: Snippet; + } + + let { children }: Props = $props(); + + let element: HTMLElement | null = $state(null); + + $effect.pre(() => { + const target = document.querySelector('[data-portal-target]'); + if (element === null || target === null) { + return; + } + + target.appendChild(element); + + return () => { + if (element === null) { + return; + } + element.remove(); + }; + }); + + +
+ {@render children()} +
diff --git a/src/docs/stores.svelte.ts b/src/docs/stores.svelte.ts index a74170d0..fa4e43ca 100644 --- a/src/docs/stores.svelte.ts +++ b/src/docs/stores.svelte.ts @@ -1,16 +1,11 @@ +import { getContext, setContext } from 'svelte'; + // Reusable State Stores // Navigation Drawer --- +type Drawer = { open: boolean }; -function createDrawer() { - let value = $state(false); - return { - get value() { - return value; - }, - toggle: () => (value = !value), - close: () => (value = false), - }; -} +const drawerKey = Symbol('drawer'); -export const drawer = createDrawer(); +export const getDrawer = () => getContext(drawerKey); +export const setDrawer = (drawer: Drawer) => setContext(drawerKey, drawer); diff --git a/src/routes/(inner)/+layout.svelte b/src/routes/(inner)/+layout.svelte index 1fa9ae5d..7121e5a8 100644 --- a/src/routes/(inner)/+layout.svelte +++ b/src/routes/(inner)/+layout.svelte @@ -1,7 +1,4 @@ - - - - -{#if drawer.value === true} - - -{/if} -
@@ -45,7 +17,11 @@ -
+
{@render children()}
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index bceae6ed..490cae0d 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -2,6 +2,10 @@ // Stylesheets import '../app.pcss'; import { page } from '$app/stores'; + import Overlay from '$docs/components/Overlay/Overlay.svelte'; + import { setDrawer } from '$docs/stores.svelte.js'; + import Navigation from '$docs/components/Navigation/Navigation.svelte'; + import Dialog from '$docs/components/Dialog/Dialog.svelte'; // Props let { children } = $props(); @@ -13,10 +17,31 @@ const titleRaw = pathname === '/' ? 'Home' : pathname.split('/').pop() ?? 'Floating UI Svelte'; return titleRaw.replace('-', ' ').replace(/\b\w/g, (c) => c.toUpperCase()); }); + + const drawer = setDrawer( + (() => { + let open = $state(false); + return { + get open() { + return open; + }, + set open(value) { + open = value; + }, + }; + })(), + ); {title} | Floating UI Svelte -{@render children()} + + + + + + + {@render children()} + diff --git a/src/routes/+layout.ts b/src/routes/+layout.ts index 71978e95..7e52635f 100644 --- a/src/routes/+layout.ts +++ b/src/routes/+layout.ts @@ -1,5 +1,7 @@ import { getHighlighter } from 'shiki'; import MoonlightDark from '$docs/themes/moonlight-dark.json'; +import { browser } from '$app/environment'; +import type { Pagefind } from 'vite-plugin-pagefind/types'; export async function load() { const highlighter = await getHighlighter({ @@ -8,6 +10,16 @@ export async function load() { themes: [MoonlightDark], }); + if (browser) { + // @ts-expect-error - Dynamic import + const pagefind: Pagefind = await import('/pagefind/pagefind.js'); + await pagefind.init(); + return { + highlighter, + pagefind, + }; + } + return { highlighter, }; diff --git a/svelte.config.js b/svelte.config.js index 6284f19a..40122d03 100644 --- a/svelte.config.js +++ b/svelte.config.js @@ -6,7 +6,10 @@ import { readFileSync } from 'node:fs'; const config = { preprocess: [vitePreprocess()], kit: { - adapter: adapter(), + adapter: adapter({ + pages: 'build', + assets: 'build', + }), alias: { $docs: './src/docs', '@skeletonlabs/floating-ui-svelte': './src/lib/index.js', diff --git a/vercel.json b/vercel.json new file mode 100644 index 00000000..03578cfe --- /dev/null +++ b/vercel.json @@ -0,0 +1,3 @@ +{ + "outputDirectory": "build" +} diff --git a/vite.config.ts b/vite.config.ts index b6e3c4c5..4fcb096a 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,13 +1,14 @@ import { defineConfig } from 'vitest/config'; import { sveltekit } from '@sveltejs/kit/vite'; import { svelteTesting } from '@testing-library/svelte/vite'; +import pagefind from 'vite-plugin-pagefind'; export default defineConfig({ - plugins: [sveltekit(), svelteTesting()], - experimental: { - // Remove when https://github.com/sveltejs/vite-plugin-svelte/issues/909 is fixed - hmrPartialAccept: false, - }, + plugins: [sveltekit(), svelteTesting(), pagefind()], + // experimental: { + // // Remove when https://github.com/sveltejs/vite-plugin-svelte/issues/909 is fixed + // hmrPartialAccept: false, + // }, test: { include: ['./src/lib/**/*.{test,test.svelte}.{js,ts}'], setupFiles: ['./src/vitest.setup.ts'],