From 24c6fa5d255aac1de7a51e0b21e321b9f673d81a Mon Sep 17 00:00:00 2001 From: Ryan Atkinson Date: Mon, 15 Jan 2024 11:37:30 -0700 Subject: [PATCH 01/29] wip --- package-lock.json | 211 +++++++++++++++--------------------------- package.json | 12 +-- src/routes/package.ts | 12 +-- 3 files changed, 87 insertions(+), 148 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1f16eed01..7e67b95af 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,23 +14,23 @@ "@fuz.dev/fuz_code": "^0.5.0", "@fuz.dev/fuz_dialog": "^0.6.0", "@fuz.dev/fuz_library": "^0.23.0", - "@grogarden/gro": "^0.108.0", + "@grogarden/gro": "^0.110.2", "@ryanatkn/orc": "^0.17.0", "@sveltejs/adapter-static": "^3.0.1", - "@sveltejs/kit": "^2.0.6", + "@sveltejs/kit": "^2.3.2", "@sveltejs/package": "^2.2.5", "@sveltejs/vite-plugin-svelte": "^3.0.1", "@types/prismjs": "^1.26.3", - "@typescript-eslint/eslint-plugin": "^6.16.0", - "@typescript-eslint/parser": "^6.16.0", + "@typescript-eslint/eslint-plugin": "^6.19.0", + "@typescript-eslint/parser": "^6.19.0", "eslint": "^8.56.0", "eslint-plugin-svelte": "^2.35.1", - "prettier": "^3.1.1", + "prettier": "^3.2.2", "prettier-plugin-svelte": "^3.1.2", "prism-svelte": "^0.5.0", "prismjs": "^1.29.0", "svelte": "^4.2.8", - "svelte-check": "^3.6.2", + "svelte-check": "^3.6.3", "tslib": "^2.6.2", "typescript": "^5.3.3", "uvu": "^0.5.6" @@ -64,18 +64,6 @@ "node": ">=6.0.0" } }, - "node_modules/@apidevtools/json-schema-ref-parser": { - "version": "9.0.9", - "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-9.0.9.tgz", - "integrity": "sha512-GBD2Le9w2+lVFoc4vswGI/TjkNIZSVp7+9xPf+X3uidBfWnAeUWmquteSyt0+VCrhNMWj/FTABISQrD3Z/YA+w==", - "dev": true, - "dependencies": { - "@jsdevtools/ono": "^7.1.3", - "@types/json-schema": "^7.0.6", - "call-me-maybe": "^1.0.1", - "js-yaml": "^4.1.0" - } - }, "node_modules/@changesets/changelog-git": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/@changesets/changelog-git/-/changelog-git-0.2.0.tgz", @@ -596,13 +584,12 @@ } }, "node_modules/@grogarden/gro": { - "version": "0.108.0", - "resolved": "https://registry.npmjs.org/@grogarden/gro/-/gro-0.108.0.tgz", - "integrity": "sha512-SQNwvOTAmufyLCUNaMIDnb/ANe4iE0NrOpplEcbMNxzdob16LL5KHzUvW7rOC7Ia0En0bouIkwSZ/jLVgEBYKw==", + "version": "0.110.2", + "resolved": "https://registry.npmjs.org/@grogarden/gro/-/gro-0.110.2.tgz", + "integrity": "sha512-Yz9/4Wmp7W3my9iqEHJ0rS6alFBAdOumfIqyQrgKwMwkOfZ/qEcZvPmmoduJqBKDIPEa3PL5rdC/qjwdDyZXXA==", "dev": true, "dependencies": { - "@grogarden/util": "^0.18.3", - "@ryanatkn/json-schema-to-typescript": "^11.1.5", + "@grogarden/util": "^0.19.0", "chokidar": "^3.5.3", "dotenv": "^16.3.1", "es-module-lexer": "^1.4.1", @@ -627,9 +614,9 @@ } }, "node_modules/@grogarden/util": { - "version": "0.18.3", - "resolved": "https://registry.npmjs.org/@grogarden/util/-/util-0.18.3.tgz", - "integrity": "sha512-SjWgm3xAv7/J2Xjy61Yn34QrhMilMJJXwW4ywhNy3JS3If18abc8ewThlLVfTUSxdzdSxoAmRVAY+TyylkENgA==", + "version": "0.19.3", + "resolved": "https://registry.npmjs.org/@grogarden/util/-/util-0.19.3.tgz", + "integrity": "sha512-5rrCjgd/5qLas0tcNkfkcEmMNJDtRaHCly+0XHjITL/+0dGnO1hnwsrCSbdxOZ8qvD0knPaT5iJ5pIv3vqNg2A==", "dev": true, "engines": { "node": ">=20.10" @@ -719,12 +706,6 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@jsdevtools/ono": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@jsdevtools/ono/-/ono-7.1.3.tgz", - "integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==", - "dev": true - }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -948,22 +929,6 @@ ], "peer": true }, - "node_modules/@ryanatkn/json-schema-to-typescript": { - "version": "11.1.5", - "resolved": "https://registry.npmjs.org/@ryanatkn/json-schema-to-typescript/-/json-schema-to-typescript-11.1.5.tgz", - "integrity": "sha512-meUWQJW+duixeAGizv/dcQ7Xp/RUvCUJQ68ChLqMp8kS+yshpDtr9OhSu+LVnnCz7C57WoU5kuJK0qEtYGqtXg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.6", - "@types/lodash": "^4.14.168", - "json-schema-ref-parser": "^9.0.6", - "json-stringify-safe": "^5.0.1", - "lodash": "^4.17.20" - }, - "engines": { - "node": ">=10.0.0" - } - }, "node_modules/@ryanatkn/orc": { "version": "0.17.0", "resolved": "https://registry.npmjs.org/@ryanatkn/orc/-/orc-0.17.0.tgz", @@ -988,9 +953,9 @@ } }, "node_modules/@sveltejs/kit": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.0.6.tgz", - "integrity": "sha512-dnHtyjBLGXx+hrZQ9GuqLlSfTBixewJaByUVWai7LmB4dgV3FwkK155OltEgONDQW6KW64hLNS/uojdx3uC2/g==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.3.2.tgz", + "integrity": "sha512-AzGWV1TyUSkBuciy06E5NegXndIEgTthDtllv80qynEJFh8bZD62ZxLajiQLOsKGqRDilEQyshDARQxjIqiaqg==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -998,6 +963,7 @@ "cookie": "^0.6.0", "devalue": "^4.3.2", "esm-env": "^1.0.0", + "import-meta-resolve": "^4.0.0", "kleur": "^4.1.5", "magic-string": "^0.30.5", "mrmime": "^2.0.0", @@ -1148,12 +1114,6 @@ "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", "dev": true }, - "node_modules/@types/lodash": { - "version": "4.14.202", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.202.tgz", - "integrity": "sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==", - "dev": true - }, "node_modules/@types/prismjs": { "version": "1.26.3", "resolved": "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.3.tgz", @@ -1173,16 +1133,16 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.16.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.16.0.tgz", - "integrity": "sha512-O5f7Kv5o4dLWQtPX4ywPPa+v9G+1q1x8mz0Kr0pXUtKsevo+gIJHLkGc8RxaZWtP8RrhwhSNIWThnW42K9/0rQ==", + "version": "6.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.19.0.tgz", + "integrity": "sha512-DUCUkQNklCQYnrBSSikjVChdc84/vMPDQSgJTHBZ64G9bA9w0Crc0rd2diujKbTdp6w2J47qkeHQLoi0rpLCdg==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.16.0", - "@typescript-eslint/type-utils": "6.16.0", - "@typescript-eslint/utils": "6.16.0", - "@typescript-eslint/visitor-keys": "6.16.0", + "@typescript-eslint/scope-manager": "6.19.0", + "@typescript-eslint/type-utils": "6.19.0", + "@typescript-eslint/utils": "6.19.0", + "@typescript-eslint/visitor-keys": "6.19.0", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", @@ -1208,15 +1168,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "6.16.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.16.0.tgz", - "integrity": "sha512-H2GM3eUo12HpKZU9njig3DF5zJ58ja6ahj1GoHEHOgQvYxzoFJJEvC1MQ7T2l9Ha+69ZSOn7RTxOdpC/y3ikMw==", + "version": "6.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.19.0.tgz", + "integrity": "sha512-1DyBLG5SH7PYCd00QlroiW60YJ4rWMuUGa/JBV0iZuqi4l4IK3twKPq5ZkEebmGqRjXWVgsUzfd3+nZveewgow==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "6.16.0", - "@typescript-eslint/types": "6.16.0", - "@typescript-eslint/typescript-estree": "6.16.0", - "@typescript-eslint/visitor-keys": "6.16.0", + "@typescript-eslint/scope-manager": "6.19.0", + "@typescript-eslint/types": "6.19.0", + "@typescript-eslint/typescript-estree": "6.19.0", + "@typescript-eslint/visitor-keys": "6.19.0", "debug": "^4.3.4" }, "engines": { @@ -1236,13 +1196,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "6.16.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.16.0.tgz", - "integrity": "sha512-0N7Y9DSPdaBQ3sqSCwlrm9zJwkpOuc6HYm7LpzLAPqBL7dmzAUimr4M29dMkOP/tEwvOCC/Cxo//yOfJD3HUiw==", + "version": "6.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.19.0.tgz", + "integrity": "sha512-dO1XMhV2ehBI6QN8Ufi7I10wmUovmLU0Oru3n5LVlM2JuzB4M+dVphCPLkVpKvGij2j/pHBWuJ9piuXx+BhzxQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.16.0", - "@typescript-eslint/visitor-keys": "6.16.0" + "@typescript-eslint/types": "6.19.0", + "@typescript-eslint/visitor-keys": "6.19.0" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -1253,13 +1213,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "6.16.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.16.0.tgz", - "integrity": "sha512-ThmrEOcARmOnoyQfYkHw/DX2SEYBalVECmoldVuH6qagKROp/jMnfXpAU/pAIWub9c4YTxga+XwgAkoA0pxfmg==", + "version": "6.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.19.0.tgz", + "integrity": "sha512-mcvS6WSWbjiSxKCwBcXtOM5pRkPQ6kcDds/juxcy/727IQr3xMEcwr/YLHW2A2+Fp5ql6khjbKBzOyjuPqGi/w==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "6.16.0", - "@typescript-eslint/utils": "6.16.0", + "@typescript-eslint/typescript-estree": "6.19.0", + "@typescript-eslint/utils": "6.19.0", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" }, @@ -1280,9 +1240,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "6.16.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.16.0.tgz", - "integrity": "sha512-hvDFpLEvTJoHutVl87+MG/c5C8I6LOgEx05zExTSJDEVU7hhR3jhV8M5zuggbdFCw98+HhZWPHZeKS97kS3JoQ==", + "version": "6.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.19.0.tgz", + "integrity": "sha512-lFviGV/vYhOy3m8BJ/nAKoAyNhInTdXpftonhWle66XHAtT1ouBlkjL496b5H5hb8dWXHwtypTqgtb/DEa+j5A==", "dev": true, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -1293,13 +1253,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.16.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.16.0.tgz", - "integrity": "sha512-VTWZuixh/vr7nih6CfrdpmFNLEnoVBF1skfjdyGnNwXOH1SLeHItGdZDHhhAIzd3ACazyY2Fg76zuzOVTaknGA==", + "version": "6.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.19.0.tgz", + "integrity": "sha512-o/zefXIbbLBZ8YJ51NlkSAt2BamrK6XOmuxSR3hynMIzzyMY33KuJ9vuMdFSXW+H0tVvdF9qBPTHA91HDb4BIQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.16.0", - "@typescript-eslint/visitor-keys": "6.16.0", + "@typescript-eslint/types": "6.19.0", + "@typescript-eslint/visitor-keys": "6.19.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -1345,17 +1305,17 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "6.16.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.16.0.tgz", - "integrity": "sha512-T83QPKrBm6n//q9mv7oiSvy/Xq/7Hyw9SzSEhMHJwznEmQayfBM87+oAlkNAMEO7/MjIwKyOHgBJbxB0s7gx2A==", + "version": "6.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.19.0.tgz", + "integrity": "sha512-QR41YXySiuN++/dC9UArYOg4X86OAYP83OWTewpVx5ct1IZhjjgTLocj7QNxGhWoTqknsgpl7L+hGygCO+sdYw==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.16.0", - "@typescript-eslint/types": "6.16.0", - "@typescript-eslint/typescript-estree": "6.16.0", + "@typescript-eslint/scope-manager": "6.19.0", + "@typescript-eslint/types": "6.19.0", + "@typescript-eslint/typescript-estree": "6.19.0", "semver": "^7.5.4" }, "engines": { @@ -1370,12 +1330,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.16.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.16.0.tgz", - "integrity": "sha512-QSFQLruk7fhs91a/Ep/LqRdbJCZ1Rq03rqBdKT5Ky17Sz8zRLUksqIe9DW0pKtg/Z35/ztbLQ6qpOCN6rOC11A==", + "version": "6.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.19.0.tgz", + "integrity": "sha512-hZaUCORLgubBvtGpp1JEFEazcuEdfxta9j4iUwdSAr7mEsYYAp3EAUyCZk3VEEqGj6W+AV4uWyrDGtrlawAsgQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.16.0", + "@typescript-eslint/types": "6.19.0", "eslint-visitor-keys": "^3.4.1" }, "engines": { @@ -1545,12 +1505,6 @@ "node": "*" } }, - "node_modules/call-me-maybe": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.2.tgz", - "integrity": "sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==", - "dev": true - }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -2328,6 +2282,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/import-meta-resolve": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.0.0.tgz", + "integrity": "sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -2437,19 +2401,6 @@ "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", "dev": true }, - "node_modules/json-schema-ref-parser": { - "version": "9.0.9", - "resolved": "https://registry.npmjs.org/json-schema-ref-parser/-/json-schema-ref-parser-9.0.9.tgz", - "integrity": "sha512-qcP2lmGy+JUoQJ4DOQeLaZDqH9qSkeGCK3suKWxJXS82dg728Mn3j97azDMaOUmJAN4uCq91LdPx4K7E8F1a7Q==", - "deprecated": "Please switch to @apidevtools/json-schema-ref-parser", - "dev": true, - "dependencies": { - "@apidevtools/json-schema-ref-parser": "9.0.9" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -2462,12 +2413,6 @@ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", - "dev": true - }, "node_modules/keyv": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", @@ -2535,12 +2480,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", @@ -2988,9 +2927,9 @@ } }, "node_modules/prettier": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.1.tgz", - "integrity": "sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.2.tgz", + "integrity": "sha512-HTByuKZzw7utPiDO523Tt2pLtEyK7OibUD9suEJQrPUCYQqrHr74GGX6VidMrovbf/I50mPqr8j/II6oBAuc5A==", "dev": true, "bin": { "prettier": "bin/prettier.cjs" @@ -3353,9 +3292,9 @@ } }, "node_modules/svelte-check": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-3.6.2.tgz", - "integrity": "sha512-E6iFh4aUCGJLRz6QZXH3gcN/VFfkzwtruWSRmlKrLWQTiO6VzLsivR6q02WYLGNAGecV3EocqZuCDrC2uttZ0g==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-3.6.3.tgz", + "integrity": "sha512-Q2nGnoysxUnB9KjnjpQLZwdjK62DHyW6nuH/gm2qteFnDk0lCehe/6z8TsIvYeKjC6luKaWxiNGyOcWiLLPSwA==", "dev": true, "dependencies": { "@jridgewell/trace-mapping": "^0.3.17", diff --git a/package.json b/package.json index 5a6c97c7c..580aa50b7 100644 --- a/package.json +++ b/package.json @@ -42,23 +42,23 @@ "@fuz.dev/fuz_code": "^0.5.0", "@fuz.dev/fuz_dialog": "^0.6.0", "@fuz.dev/fuz_library": "^0.23.0", - "@grogarden/gro": "^0.108.0", + "@grogarden/gro": "^0.110.2", "@ryanatkn/orc": "^0.17.0", "@sveltejs/adapter-static": "^3.0.1", - "@sveltejs/kit": "^2.0.6", + "@sveltejs/kit": "^2.3.2", "@sveltejs/package": "^2.2.5", "@sveltejs/vite-plugin-svelte": "^3.0.1", "@types/prismjs": "^1.26.3", - "@typescript-eslint/eslint-plugin": "^6.16.0", - "@typescript-eslint/parser": "^6.16.0", + "@typescript-eslint/eslint-plugin": "^6.19.0", + "@typescript-eslint/parser": "^6.19.0", "eslint": "^8.56.0", "eslint-plugin-svelte": "^2.35.1", - "prettier": "^3.1.1", + "prettier": "^3.2.2", "prettier-plugin-svelte": "^3.1.2", "prism-svelte": "^0.5.0", "prismjs": "^1.29.0", "svelte": "^4.2.8", - "svelte-check": "^3.6.2", + "svelte-check": "^3.6.3", "tslib": "^2.6.2", "typescript": "^5.3.3", "uvu": "^0.5.6" diff --git a/src/routes/package.ts b/src/routes/package.ts index 27452726e..52504fbf3 100644 --- a/src/routes/package.ts +++ b/src/routes/package.ts @@ -31,23 +31,23 @@ export const package_json = { '@fuz.dev/fuz_code': '^0.5.0', '@fuz.dev/fuz_dialog': '^0.6.0', '@fuz.dev/fuz_library': '^0.23.0', - '@grogarden/gro': '^0.108.0', + '@grogarden/gro': '^0.110.2', '@ryanatkn/orc': '^0.17.0', '@sveltejs/adapter-static': '^3.0.1', - '@sveltejs/kit': '^2.0.6', + '@sveltejs/kit': '^2.3.2', '@sveltejs/package': '^2.2.5', '@sveltejs/vite-plugin-svelte': '^3.0.1', '@types/prismjs': '^1.26.3', - '@typescript-eslint/eslint-plugin': '^6.16.0', - '@typescript-eslint/parser': '^6.16.0', + '@typescript-eslint/eslint-plugin': '^6.19.0', + '@typescript-eslint/parser': '^6.19.0', eslint: '^8.56.0', 'eslint-plugin-svelte': '^2.35.1', - prettier: '^3.1.1', + prettier: '^3.2.2', 'prettier-plugin-svelte': '^3.1.2', 'prism-svelte': '^0.5.0', prismjs: '^1.29.0', svelte: '^4.2.8', - 'svelte-check': '^3.6.2', + 'svelte-check': '^3.6.3', tslib: '^2.6.2', typescript: '^5.3.3', uvu: '^0.5.6', From 4298ff33cf3b9d058706ee5a186b064afaa93dca Mon Sep 17 00:00:00 2001 From: Ryan Atkinson Date: Mon, 15 Jan 2024 11:53:47 -0700 Subject: [PATCH 02/29] wip --- src/lib/style.css | 29 ++++++++++++++++++++++++ src/routes/library/elements/+page.svelte | 4 ++-- src/routes/library/forms/+page.svelte | 12 ++++++++++ 3 files changed, 43 insertions(+), 2 deletions(-) diff --git a/src/lib/style.css b/src/lib/style.css index 29bfe5040..a6181e1a5 100644 --- a/src/lib/style.css +++ b/src/lib/style.css @@ -469,6 +469,35 @@ label.disabled:active { background: var(--button_bg_disabled); } +button.color_1 { + background-color: var(--color_1); + color: var(--lighten_7); +} +button.color_2 { + background-color: var(--color_2); + color: var(--lighten_7); +} +button.color_3 { + background-color: var(--color_3); + color: var(--lighten_7); +} +button.color_4 { + background-color: var(--color_4); + color: var(--lighten_7); +} +button.color_5 { + background-color: var(--color_5); + color: var(--lighten_7); +} +button.color_6 { + background-color: var(--color_6); + color: var(--lighten_7); +} +button.color_7 { + background-color: var(--color_7); + color: var(--lighten_7); +} + /* TODO could improve this with the coming `:has` selector for disabled colors without needing a wrapper .disabled class */ label { diff --git a/src/routes/library/elements/+page.svelte b/src/routes/library/elements/+page.svelte index 180c86b1a..e9d11cc45 100644 --- a/src/routes/library/elements/+page.svelte +++ b/src/routes/library/elements/+page.svelte @@ -12,8 +12,8 @@
-
- styles for + styles for miscellaneous HTML elements
diff --git a/src/routes/library/forms/+page.svelte b/src/routes/library/forms/+page.svelte index 181b608a5..cf8c78da6 100644 --- a/src/routes/library/forms/+page.svelte +++ b/src/routes/library/forms/+page.svelte @@ -266,6 +266,18 @@
+
+

colorful buttons

+
+
+ {#each {length: 7} as _, i} + `} /> + +
+ {/each} + +
+

.plain and .icon_button

From ba85092e6ad23caa9fefdc548dc16828a5fe2d8e Mon Sep 17 00:00:00 2001 From: Ryan Atkinson Date: Mon, 15 Jan 2024 11:57:41 -0700 Subject: [PATCH 03/29] wip --- src/lib/style.css | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/lib/style.css b/src/lib/style.css index a6181e1a5..58ea9edd5 100644 --- a/src/lib/style.css +++ b/src/lib/style.css @@ -469,6 +469,18 @@ label.disabled:active { background: var(--button_bg_disabled); } +/* TODO how do we want to do the generic declarations? +repeat in each? or maybe: +button.color_1, button.color_1, button.color_1 button.color_1 { + color: var(--lighten_7); +} + +or require a second class to the buttons? +button.color { + color: var(--lighten_7); +} +*/ + button.color_1 { background-color: var(--color_1); color: var(--lighten_7); From 5b156a1aeb77cc8feb595a1d6b9398f43629a10f Mon Sep 17 00:00:00 2001 From: Ryan Atkinson Date: Mon, 15 Jan 2024 12:10:51 -0700 Subject: [PATCH 04/29] wip --- src/routes/library/buttons/+page.svelte | 230 ++++++++++++++++++++++++ src/routes/library/forms/+page.svelte | 220 +---------------------- src/routes/library/tomes.ts | 21 ++- 3 files changed, 246 insertions(+), 225 deletions(-) create mode 100644 src/routes/library/buttons/+page.svelte diff --git a/src/routes/library/buttons/+page.svelte b/src/routes/library/buttons/+page.svelte new file mode 100644 index 000000000..1f84e3662 --- /dev/null +++ b/src/routes/library/buttons/+page.svelte @@ -0,0 +1,230 @@ + + + +
+

colorful buttons

+
+
+ {#each {length: 7} as _, i} + `} /> + +
+ {/each} + +
+ +
+

disabled button

+ \n\t:|\n`} /> + + \n\ta bigger disabled button\n`} /> + +
+ +
+ +
+
+

+ button with CSS class .selected +

+
+
+ +
+
+
+ ...`} /> + +
+
+

+ .selected buttons with the .deselectable class continue to be clickable + when selected: +

+ \n\t...\n`} /> +
+
+ + +
+
+
+ +
+ +
+

.plain and .icon_button

+
+
+
+ + + +`} + /> + +
+ + + +`} + /> + +
+ + + +`} + /> + +
+
+

disabled variants

+
+
+ + + +`} + /> + +
+ + + +`} + /> + +
+ + + +`} + /> + +
+
+

.selected variants

+
+
+ + + +`} + /> + +
+ + + +`} + /> + +
+ + + +`} + /> + +
+
+

.selected and .deselectable variants

+
+
+ + + +`} + /> + +
+ + + +`} + /> + +
+ + + +`} + /> + +
+
+ +
+ +
+
+

+ .buttonlike CSS class +

+

+ the .buttonlike class is useful when you want interactive builtin elements to be + wrapped in a larger clickable area: +

+
+
+ \n\t...\n`} /> + +
+
+ ...`} /> + +
+
+ ...
`} /> +
+ .buttonlike with .selected +
+ +
+ ...
`} /> +
+ .buttonlike with .selected and .deselectable +
+ +
TODO: add more deselectable signifiers?
+ +
diff --git a/src/routes/library/forms/+page.svelte b/src/routes/library/forms/+page.svelte index cf8c78da6..e4a93d1d5 100644 --- a/src/routes/library/forms/+page.svelte +++ b/src/routes/library/forms/+page.svelte @@ -15,8 +15,6 @@ const ANIMATION_DURATION_FAST = 91; // ms let created_account = false; - let selected_button = 1; - let selected_deselectable_button = true; const faces = ['๐Ÿ˜Š', '๐Ÿ˜‘', '๐Ÿค”', '๐Ÿ˜‰']; @@ -177,7 +175,7 @@

- form with radio buttons + form with radio inputs

@@ -205,220 +203,4 @@
- -
- -
-

disabled button

- \n\t:|\n`} /> - - \n\ta bigger disabled button\n`} /> - -
- -
- -
-
-

- button with CSS class .selected -

-
-
- -
-
-
- ...`} /> - -
-
-

- .selected buttons with the .deselectable class continue to be clickable - when selected: -

- \n\t...\n`} /> -
-
- - -
-
-
- -
- -
-

colorful buttons

-
-
- {#each {length: 7} as _, i} - `} /> - -
- {/each} - -
- -
-

.plain and .icon_button

-
-
-
- - + -`} - /> - -
- - + -`} - /> - -
- - + -`} - /> - -
-
-

disabled variants

-
-
- - + -`} - /> - -
- - + -`} - /> - -
- - + -`} - /> - -
-
-

.selected variants

-
-
- - + -`} - /> - -
- - + -`} - /> - -
- - + -`} - /> - -
-
-

.selected and .deselectable variants

-
-
- - + -`} - /> - -
- - + -`} - /> - -
- - + -`} - /> - -
-
- -
- -
-
-

- .buttonlike CSS class -

-

- the .buttonlike class is useful when you want interactive builtin elements to be - wrapped in a larger clickable area: -

-
-
- \n\t...\n`} /> - -
-
- ...`} /> - -
-
- ...
`} /> -
- .buttonlike with .selected -
- -
- ...`} /> -
- .buttonlike with .selected and .deselectable -
-
-
TODO: add more deselectable signifiers?
- diff --git a/src/routes/library/tomes.ts b/src/routes/library/tomes.ts index 8bca152bf..ad664d444 100644 --- a/src/routes/library/tomes.ts +++ b/src/routes/library/tomes.ts @@ -1,7 +1,8 @@ import {init_tome, type Tome} from '@fuz.dev/fuz_library/tome.js'; -import elements from '$routes/library/elements/+page.svelte'; +import buttons from '$routes/library/buttons/+page.svelte'; import forms from '$routes/library/forms/+page.svelte'; +import elements from '$routes/library/elements/+page.svelte'; import typography from '$routes/library/typography/+page.svelte'; import theme from '$routes/library/theme/+page.svelte'; import variables from '$routes/library/variables/+page.svelte'; @@ -18,12 +19,12 @@ export const tomes: Tome[] = [ related: ['icon sizes', 'typography', 'variables'], }, { - name: 'elements', - slug: 'elements', + name: 'buttons', + slug: 'buttons', pathname: '', category: 'styles', - component: elements, - related: ['forms', 'prose'], + component: buttons, + related: ['forms', 'elements', 'prose'], }, { name: 'forms', @@ -31,7 +32,15 @@ export const tomes: Tome[] = [ pathname: '', category: 'styles', component: forms, - related: ['elements', 'prose'], + related: ['buttons', 'elements', 'prose'], + }, + { + name: 'elements', + slug: 'elements', + pathname: '', + category: 'styles', + component: elements, + related: ['buttons', 'forms', 'prose'], }, { name: 'icon sizes', From cd7c1adb888b82ca84a5f164af03c101b2edcbb2 Mon Sep 17 00:00:00 2001 From: Ryan Atkinson Date: Mon, 15 Jan 2024 12:20:43 -0700 Subject: [PATCH 05/29] wip --- src/lib/style.css | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/src/lib/style.css b/src/lib/style.css index 58ea9edd5..99210f3a8 100644 --- a/src/lib/style.css +++ b/src/lib/style.css @@ -469,45 +469,29 @@ label.disabled:active { background: var(--button_bg_disabled); } -/* TODO how do we want to do the generic declarations? -repeat in each? or maybe: -button.color_1, button.color_1, button.color_1 button.color_1 { +button:is(.color_1, .color_2, .color_3, .color_4, .color_5, .color_6, .color_7) { color: var(--lighten_7); } - -or require a second class to the buttons? -button.color { - color: var(--lighten_7); -} -*/ - button.color_1 { background-color: var(--color_1); - color: var(--lighten_7); } button.color_2 { background-color: var(--color_2); - color: var(--lighten_7); } button.color_3 { background-color: var(--color_3); - color: var(--lighten_7); } button.color_4 { background-color: var(--color_4); - color: var(--lighten_7); } button.color_5 { background-color: var(--color_5); - color: var(--lighten_7); } button.color_6 { background-color: var(--color_6); - color: var(--lighten_7); } button.color_7 { background-color: var(--color_7); - color: var(--lighten_7); } /* TODO could improve this with the coming `:has` selector From ca361b550224c750eb6a8e7e00ebf17dd9e57dea Mon Sep 17 00:00:00 2001 From: Ryan Atkinson Date: Thu, 15 Feb 2024 22:32:41 -0700 Subject: [PATCH 06/29] wip --- package-lock.json | 542 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 542 insertions(+) diff --git a/package-lock.json b/package-lock.json index a3c8a0262..cf0f5d416 100644 --- a/package-lock.json +++ b/package-lock.json @@ -79,6 +79,278 @@ "integrity": "sha512-b1UkfNulgKoWfqyHtzKS5fOZYSJO+77adgL7DLRDr+/7jhChN+QcHnbjiQVOz/U+Ts3PGNySq7diAItzDgugfQ==", "dev": true }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", + "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz", + "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz", + "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz", + "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz", + "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz", + "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz", + "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz", + "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz", + "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz", + "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz", + "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz", + "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz", + "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz", + "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz", + "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz", + "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, "node_modules/@esbuild/linux-x64": { "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz", @@ -96,6 +368,108 @@ "node": ">=12" } }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz", + "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz", + "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz", + "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz", + "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz", + "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz", + "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", @@ -318,6 +692,118 @@ "integrity": "sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==", "dev": true }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.11.0.tgz", + "integrity": "sha512-BV+u2QSfK3i1o6FucqJh5IK9cjAU6icjFFhvknzFgu472jzl0bBojfDAkJLBEsHFMo+YZg6rthBvBBt8z12IBQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "peer": true + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.11.0.tgz", + "integrity": "sha512-0ij3iw7sT5jbcdXofWO2NqDNjSVVsf6itcAkV2I6Xsq4+6wjW1A8rViVB67TfBEan7PV2kbLzT8rhOVWLI2YXw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "peer": true + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.11.0.tgz", + "integrity": "sha512-yPLs6RbbBMupArf6qv1UDk6dzZvlH66z6NLYEwqTU0VHtss1wkI4UYeeMS7TVj5QRVvaNAWYKP0TD/MOeZ76Zg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "peer": true + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.11.0.tgz", + "integrity": "sha512-OvqIgwaGAwnASzXaZEeoJY3RltOFg+WUbdkdfoluh2iqatd090UeOG3A/h0wNZmE93dDew9tAtXgm3/+U/B6bw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "peer": true + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.11.0.tgz", + "integrity": "sha512-X17s4hZK3QbRmdAuLd2EE+qwwxL8JxyVupEqAkxKPa/IgX49ZO+vf0ka69gIKsaYeo6c1CuwY3k8trfDtZ9dFg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.11.0.tgz", + "integrity": "sha512-673Lu9EJwxVB9NfYeA4AdNu0FOHz7g9t6N1DmT7bZPn1u6bTF+oZjj+fuxUcrfxWXE0r2jxl5QYMa9cUOj9NFg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.11.0.tgz", + "integrity": "sha512-yFW2msTAQNpPJaMmh2NpRalr1KXI7ZUjlN6dY/FhWlOclMrZezm5GIhy3cP4Ts2rIAC+IPLAjNibjp1BsxCVGg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.11.0.tgz", + "integrity": "sha512-kKT9XIuhbvYgiA3cPAGntvrBgzhWkGpBMzuk1V12Xuoqg7CI41chye4HU0vLJnGf9MiZzfNh4I7StPeOzOWJfA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, "node_modules/@rollup/rollup-linux-x64-gnu": { "version": "4.11.0", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.11.0.tgz", @@ -346,6 +832,48 @@ ], "peer": true }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.11.0.tgz", + "integrity": "sha512-LVXo9dDTGPr0nezMdqa1hK4JeoMZ02nstUxGYY/sMIDtTYlli1ZxTXBYAz3vzuuvKO4X6NBETciIh7N9+abT1g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "peer": true + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.11.0.tgz", + "integrity": "sha512-xZVt6K70Gr3I7nUhug2dN6VRR1ibot3rXqXS3wo+8JP64t7djc3lBFyqO4GiVrhNaAIhUCJtwQ/20dr0h0thmQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "peer": true + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.11.0.tgz", + "integrity": "sha512-f3I7h9oTg79UitEco9/2bzwdciYkWr8pITs3meSDSlr1TdvQ7IxkQaaYN2YqZXX5uZhiYL+VuYDmHwNzhx+HOg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "peer": true + }, "node_modules/@ryanatkn/belt": { "version": "0.20.3", "resolved": "https://registry.npmjs.org/@ryanatkn/belt/-/belt-0.20.3.tgz", @@ -1598,6 +2126,20 @@ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", From e35eaf607bba4898f5566d48302ce393d4c7f028 Mon Sep 17 00:00:00 2001 From: Ryan Atkinson Date: Sat, 17 Feb 2024 18:14:06 -0700 Subject: [PATCH 07/29] wip --- src/routes/library/buttons/+page.svelte | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/routes/library/buttons/+page.svelte b/src/routes/library/buttons/+page.svelte index 1f84e3662..9950cb176 100644 --- a/src/routes/library/buttons/+page.svelte +++ b/src/routes/library/buttons/+page.svelte @@ -1,9 +1,8 @@ @@ -20,16 +22,14 @@ {#each {length: 7} as _, i} `} /> -
- {/each} - -
-

.outlined variants

-
- - {#each {length: 7} as _, i} - `} /> - + + + + +
{/each} From 929cc727e142a1af1c95908e90e48ba64851bd9f Mon Sep 17 00:00:00 2001 From: Ryan Atkinson Date: Mon, 19 Feb 2024 09:45:12 -0700 Subject: [PATCH 18/29] wip --- src/lib/style.css | 1 - 1 file changed, 1 deletion(-) diff --git a/src/lib/style.css b/src/lib/style.css index eeb798a80..ce6df5518 100644 --- a/src/lib/style.css +++ b/src/lib/style.css @@ -506,7 +506,6 @@ button.color_7:not(.selected) { button.selected.color_1 { color: var(--color_1); border-color: var(--color_1); - border-width: var(--border_width_2); } button.selected.color_2 { color: var(--color_2); From 442d31f67960226023b9369d651b1f2f93fa9f4c Mon Sep 17 00:00:00 2001 From: Ryan Atkinson Date: Mon, 19 Feb 2024 09:49:35 -0700 Subject: [PATCH 19/29] wip --- src/lib/style.css | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/lib/style.css b/src/lib/style.css index ce6df5518..428169d29 100644 --- a/src/lib/style.css +++ b/src/lib/style.css @@ -737,6 +737,9 @@ https://developer.mozilla.org/en-US/docs/Web/HTML/Content_categories background-color: var(--button_bg_hover); border-color: var(--border_2); } +/* TODO some inconsistencies here where `.selectable` isn't used in each selector to catch buttons, +maybe combine these styles with the buttons or scope just to `.selectable`? +or remove the `.selectable`. from `.selectable.selected`? */ .selectable.selected, .selectable:active { background-color: var(--button_bg_active); From d4328a30bf18e38f2d96c990d9bf938132d03ccf Mon Sep 17 00:00:00 2001 From: Ryan Atkinson Date: Mon, 19 Feb 2024 09:51:43 -0700 Subject: [PATCH 20/29] wip --- src/lib/theme.css | 2 +- src/lib/variables.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/theme.css b/src/lib/theme.css index ab9c3167b..67879a3fd 100644 --- a/src/lib/theme.css +++ b/src/lib/theme.css @@ -175,7 +175,7 @@ --faded_4: 24%; --faded_5: 15%; --faded_6: 9%; - --disabled_opacity: var(--faded_1); + --disabled_opacity: var(--faded_2); --border_radius: var(--border_radius_md); --border_radius_md: calc(var(--input_height) / 2); --border_radius_sm: calc(var(--border_radius_md) / 1.618); diff --git a/src/lib/variables.ts b/src/lib/variables.ts index 81acd3e66..2c2beb75a 100644 --- a/src/lib/variables.ts +++ b/src/lib/variables.ts @@ -331,7 +331,7 @@ export const default_variables: Theme_Variable[] = [ {name: 'faded_4', light: '24%'}, {name: 'faded_5', light: '15%'}, {name: 'faded_6', light: '9%'}, - {name: 'disabled_opacity', light: 'var(--faded_1)'}, + {name: 'disabled_opacity', light: 'var(--faded_2)'}, /* border radii */ {name: 'border_radius', light: 'var(--border_radius_md)'}, From 2d3dfd359a869328862fd075f7ee8caf592dc72f Mon Sep 17 00:00:00 2001 From: Ryan Atkinson Date: Mon, 19 Feb 2024 14:06:06 -0700 Subject: [PATCH 21/29] wip --- README.md | 17 ++++- src/lib/Library_Panel.svelte | 2 +- src/routes/library/+layout.svelte | 4 +- src/routes/library/Breadcrumb/+page.svelte | 12 +--- src/routes/library/Card/+page.svelte | 12 +--- src/routes/library/Contextmenu/+page.svelte | 1 - src/routes/library/Dialog/+page.svelte | 2 +- .../library/Pending_Animation/+page.svelte | 9 +-- .../library/Pending_Button/+page.svelte | 4 +- src/routes/library/Redirect/+page.svelte | 12 +--- src/routes/library/Style_Examples.svelte | 4 +- src/routes/library/elements/+page.svelte | 62 ++++++++----------- src/routes/library/prose/+page.svelte | 22 ++++--- src/routes/library/theme/+page.svelte | 8 +-- src/routes/library/variables/+page.svelte | 2 +- svelte.config.js | 4 +- 16 files changed, 76 insertions(+), 101 deletions(-) diff --git a/README.md b/README.md index 5ced682b5..96f223c2c 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,13 @@ Fuz is a Svelte UI library and CSS design system. +The CSS design system: + - plain CSS -- designed around CSS variables +- designed around CSS variables (includes optional utility and semantic classes, + but the base abstraction is implemented with + [CSS custom properties](https://developer.mozilla.org/en-US/docs/Web/CSS/--*) not classes) +- is the only required part of the library, everything else can be used a la carte - supports [`color-scheme` and custom themes](https://www.fuz.dev/library/theme) (including dark mode) - no dependencies except for `svelte` @@ -15,6 +20,16 @@ Fuz is a Svelte UI library and CSS design syst currently includes a single global importable `style.css`, see [this issue about optimization](https://github.com/ryanatkn/fuz/issues/277) +The Svelte components and helpers: + +- pending migration to Svelte 5 +- builds on the CSS design system +- plain CSS +- not a fully-featured +- minimal abstraction +- should be easy to copy/paste into your projects when you need full control like + [shadcn-svelte](https://github.com/huntabyte/shadcn-svelte) + ## usage ```bash diff --git a/src/lib/Library_Panel.svelte b/src/lib/Library_Panel.svelte index 95075e4b4..f48ef9a7e 100644 --- a/src/lib/Library_Panel.svelte +++ b/src/lib/Library_Panel.svelte @@ -7,7 +7,7 @@ overflow: hidden; width: 100%; display: flex; - align-items: center; + align-items: flex-start; justify-content: center; flex-direction: column; padding: var(--library_panel_padding, var(--spacing_lg)); diff --git a/src/routes/library/+layout.svelte b/src/routes/library/+layout.svelte index 1045ed797..52d8ced92 100644 --- a/src/routes/library/+layout.svelte +++ b/src/routes/library/+layout.svelte @@ -35,7 +35,9 @@ - +
+ +
diff --git a/src/routes/library/Breadcrumb/+page.svelte b/src/routes/library/Breadcrumb/+page.svelte index a4d2f6747..07952ccfc 100644 --- a/src/routes/library/Breadcrumb/+page.svelte +++ b/src/routes/library/Breadcrumb/+page.svelte @@ -11,7 +11,7 @@ -
+
@@ -30,13 +30,3 @@
- - diff --git a/src/routes/library/Card/+page.svelte b/src/routes/library/Card/+page.svelte index 245a2b6c4..02b202fc1 100644 --- a/src/routes/library/Card/+page.svelte +++ b/src/routes/library/Card/+page.svelte @@ -13,7 +13,7 @@ -
+
@@ -116,13 +116,3 @@
- - diff --git a/src/routes/library/Contextmenu/+page.svelte b/src/routes/library/Contextmenu/+page.svelte index 998ce347c..53267b09e 100644 --- a/src/routes/library/Contextmenu/+page.svelte +++ b/src/routes/library/Contextmenu/+page.svelte @@ -143,7 +143,6 @@

{tome.name}

{tome.name}

-
+
(opened = true)}> open a dialog diff --git a/src/routes/library/Pending_Animation/+page.svelte b/src/routes/library/Pending_Animation/+page.svelte index 67862c9e2..f5cbf4156 100644 --- a/src/routes/library/Pending_Animation/+page.svelte +++ b/src/routes/library/Pending_Animation/+page.svelte @@ -17,7 +17,7 @@ -
+
-
-
+
+

Preserves a button's normal width while animating.