diff --git a/.gitignore b/.gitignore index bdef460..5117c8d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,14 +1,15 @@ # Deps -node_modules +node_modules/ # Output -/.svelte-kit -/build -/dist -/dist_* -/target -/.gro -/.zzz +.svelte-kit/ +build/ +dist/ +dist_*/ +target/ +.gro/ +.fuz/ +.zzz/ # Env .env* diff --git a/package-lock.json b/package-lock.json index 1589fa2..cedd7b7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,14 +8,15 @@ "name": "fuz.dev", "version": "0.0.1", "devDependencies": { - "@fuzdev/fuz_css": "^0.43.0", - "@fuzdev/fuz_ui": "^0.177.0", - "@fuzdev/fuz_util": "^0.45.1", + "@fuzdev/fuz_css": "^0.44.1", + "@fuzdev/fuz_ui": "^0.179.0", + "@fuzdev/fuz_util": "^0.45.3", "@ryanatkn/eslint-config": "^0.9.0", - "@ryanatkn/gro": "^0.184.0", + "@ryanatkn/gro": "^0.186.0", "@sveltejs/adapter-static": "^3.0.10", "@sveltejs/kit": "^2.49.1", "@sveltejs/vite-plugin-svelte": "^6.2.1", + "@webref/css": "^8.2.0", "eslint": "^9.39.1", "eslint-plugin-svelte": "^3.13.1", "prettier": "^3.7.4", @@ -32,9 +33,9 @@ } }, "node_modules/@emnapi/core": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.7.1.tgz", - "integrity": "sha512-o1uhUASyo921r2XtHYOHy7gdkGLge8ghBEQHMWmyJFoXlpU58kIrhhN3w26lpQb6dspetweapMn2CSNwQ8I4wg==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.8.1.tgz", + "integrity": "sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==", "dev": true, "license": "MIT", "optional": true, @@ -44,9 +45,9 @@ } }, "node_modules/@emnapi/runtime": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.7.1.tgz", - "integrity": "sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.8.1.tgz", + "integrity": "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==", "dev": true, "license": "MIT", "optional": true, @@ -691,9 +692,9 @@ } }, "node_modules/@fuzdev/fuz_css": { - "version": "0.43.0", - "resolved": "https://registry.npmjs.org/@fuzdev/fuz_css/-/fuz_css-0.43.0.tgz", - "integrity": "sha512-wEQzeuniCq0t4db4qIuoQftfQ7KHeWEBGlkRo4Kk6N+dAT7ke3e2Q6Ji4t1ofgeb12kHLwZP0wTOuGVCBfF2tA==", + "version": "0.44.1", + "resolved": "https://registry.npmjs.org/@fuzdev/fuz_css/-/fuz_css-0.44.1.tgz", + "integrity": "sha512-WZ+Tws9/QeRx1FH+oSY6ZIZJ8PAnvfMMuzXXG27+YY+/Yj06mGdQRX8ct4ANp9l2Ll1sJJkA6NnVvQsIfbL9dw==", "dev": true, "license": "MIT", "engines": { @@ -703,18 +704,34 @@ "url": "https://www.ryanatkn.com/funding" }, "peerDependencies": { - "@fuzdev/fuz_util": ">=0.42.0" + "@fuzdev/fuz_util": ">=0.45.3", + "@sveltejs/acorn-typescript": "^1", + "@webref/css": "^8", + "acorn-jsx": "^5", + "zimmerframe": "^1" }, "peerDependenciesMeta": { "@fuzdev/fuz_util": { "optional": true + }, + "@sveltejs/acorn-typescript": { + "optional": true + }, + "@webref/css": { + "optional": true + }, + "acorn-jsx": { + "optional": true + }, + "zimmerframe": { + "optional": true } } }, "node_modules/@fuzdev/fuz_ui": { - "version": "0.177.0", - "resolved": "https://registry.npmjs.org/@fuzdev/fuz_ui/-/fuz_ui-0.177.0.tgz", - "integrity": "sha512-b9LEzjL78NHtEI0yDOCTz/XyUjm/sdrCDSQ4jNHOtpANOF8cRijemldXWcfs9UEoexnIK8wDg8WV4OnpD5Hvqw==", + "version": "0.179.0", + "resolved": "https://registry.npmjs.org/@fuzdev/fuz_ui/-/fuz_ui-0.179.0.tgz", + "integrity": "sha512-ByvnywCtiVsQ0xEOvMqGx5Ndby16wSuaf0N0/QAY0nb2Kmlcg5OmzqkQF4exjWAScmyr6z2uwB6HuN45MLrr+A==", "dev": true, "license": "MIT", "engines": { @@ -724,11 +741,11 @@ "url": "https://www.ryanatkn.com/funding" }, "peerDependencies": { - "@fuzdev/fuz_code": ">=0.37.0", - "@fuzdev/fuz_css": ">=0.40.0", - "@fuzdev/fuz_util": ">=0.42.0", + "@fuzdev/fuz_code": ">=0.40.0", + "@fuzdev/fuz_css": ">=0.44.1", + "@fuzdev/fuz_util": ">=0.45.3", "@jridgewell/trace-mapping": "^0.3", - "@ryanatkn/gro": ">=0.183.0", + "@ryanatkn/gro": ">=0.186.0", "@sveltejs/kit": "^2.47.3", "esm-env": "^1", "svelte": "^5", @@ -751,9 +768,9 @@ } }, "node_modules/@fuzdev/fuz_util": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@fuzdev/fuz_util/-/fuz_util-0.45.1.tgz", - "integrity": "sha512-szJ6FPXkeuNzoqxXwiC1q9xMiWZM37wiCyGdFLVVBq8FxwIpG1MAup/ZFyQC22QLg8sdybCbPadWiaYYUhhtUA==", + "version": "0.45.3", + "resolved": "https://registry.npmjs.org/@fuzdev/fuz_util/-/fuz_util-0.45.3.tgz", + "integrity": "sha512-N0xaUwFxGG1FuEkcVqB4t8Gqs2ReCVmmQf1kI7gErGuyKV9mRycHSFWFyT7/hQ9K4/0epsZj4cejj5fYIjkG/Q==", "dev": true, "license": "MIT", "engines": { @@ -882,9 +899,9 @@ } }, "node_modules/@napi-rs/wasm-runtime": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.0.tgz", - "integrity": "sha512-Fq6DJW+Bb5jaWE69/qOE0D1TUN9+6uWhCeZpdnSBk14pjLcCWR7Q8n49PTSPHazM37JqrsdpEthXy2xn6jWWiA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.1.tgz", + "integrity": "sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==", "dev": true, "license": "MIT", "optional": true, @@ -892,6 +909,10 @@ "@emnapi/core": "^1.7.1", "@emnapi/runtime": "^1.7.1", "@tybys/wasm-util": "^0.10.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" } }, "node_modules/@oxc-parser/binding-android-arm64": { @@ -1496,9 +1517,9 @@ } }, "node_modules/@ryanatkn/gro": { - "version": "0.184.0", - "resolved": "https://registry.npmjs.org/@ryanatkn/gro/-/gro-0.184.0.tgz", - "integrity": "sha512-J8Us3xspyjVBCuOG36+4X9qZiH5ydrjRRSN9Pfwk+xNgJsH5v11GXTl9PLkKvHJVHJ8qb4KFX/XA1k8bAmIM5g==", + "version": "0.186.0", + "resolved": "https://registry.npmjs.org/@ryanatkn/gro/-/gro-0.186.0.tgz", + "integrity": "sha512-Yq/KtVKUpcYarJ9Xuh7OGJoDf9OYCZtRAeVSgIfv54gt2O13J+TMDp9ESnXc5Ohfs4t2QvyCeEmLEL0mW6PSpQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1507,8 +1528,8 @@ "esm-env": "^1.2.2", "mri": "^1.2.0", "oxc-parser": "^0.99.0", - "prettier": "^3.6.2", - "prettier-plugin-svelte": "^3.4.0", + "prettier": "^3.7.4", + "prettier-plugin-svelte": "^3.4.1", "ts-blank-space": "^0.6.2", "tslib": "^2.8.1", "zod": "^4.1.13" @@ -1526,7 +1547,7 @@ "vitest": "^3 || ^4" }, "peerDependencies": { - "@fuzdev/fuz_util": ">=0.42.0", + "@fuzdev/fuz_util": ">=0.45.3", "@sveltejs/kit": "^2", "esbuild": "^0.27.0", "svelte": "^5", @@ -2065,6 +2086,16 @@ "url": "https://opencollective.com/vitest" } }, + "node_modules/@webref/css": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@webref/css/-/css-8.2.0.tgz", + "integrity": "sha512-BSTwlyJwR2LotmT6GTmO5WIPPORr+4lU39vDBWNVEFnLo9w3XYCuHU4lmmd8OY5Zj9ykadg6pfJ/1cFHxzyr3w==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "css-tree": "^3.1.0" + } + }, "node_modules/acorn": { "version": "8.15.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", @@ -2291,6 +2322,21 @@ "node": ">= 8" } }, + "node_modules/css-tree": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz", + "integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "mdn-data": "2.12.2", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, "node_modules/cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", @@ -3005,6 +3051,14 @@ "@jridgewell/sourcemap-codec": "^1.5.5" } }, + "node_modules/mdn-data": { + "version": "2.12.2", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz", + "integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==", + "dev": true, + "license": "CC0-1.0", + "peer": true + }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", diff --git a/package.json b/package.json index 40cacd5..12d4ca8 100644 --- a/package.json +++ b/package.json @@ -22,14 +22,15 @@ "node": ">=22.15" }, "devDependencies": { - "@fuzdev/fuz_css": "^0.43.0", - "@fuzdev/fuz_ui": "^0.177.0", - "@fuzdev/fuz_util": "^0.45.1", + "@fuzdev/fuz_css": "^0.44.1", + "@fuzdev/fuz_ui": "^0.179.0", + "@fuzdev/fuz_util": "^0.45.3", "@ryanatkn/eslint-config": "^0.9.0", - "@ryanatkn/gro": "^0.184.0", + "@ryanatkn/gro": "^0.186.0", "@sveltejs/adapter-static": "^3.0.10", "@sveltejs/kit": "^2.49.1", "@sveltejs/vite-plugin-svelte": "^6.2.1", + "@webref/css": "^8.2.0", "eslint": "^9.39.1", "eslint-plugin-svelte": "^3.13.1", "prettier": "^3.7.4", diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 0971cb3..1235df9 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -10,14 +10,14 @@ const library = library_context.get(); -
-
+
+

fuz

friendly user zystem 🦋
-
+

Fuz is a zippy stack for autonomy. Today Fuz has a collection of libraries for making modern websites with TypeScript, CSS, Svelte, and SvelteKit, and soon they'll be joined diff --git a/src/routes/about/+page.svelte b/src/routes/about/+page.svelte index c066a92..4089cd7 100644 --- a/src/routes/about/+page.svelte +++ b/src/routes/about/+page.svelte @@ -13,15 +13,15 @@ // TODO standardize -

+

fuz.dev

-
-
+
+
diff --git a/src/routes/fuz.css b/src/routes/fuz.css index 8d9203c..1f8369c 100644 --- a/src/routes/fuz.css +++ b/src/routes/fuz.css @@ -6,24 +6,12 @@ align-items: center; justify-content: center; } - /* can be used to override the direction of a `.box` */ .row { display: flex; flex-direction: row; align-items: center; } - -.width_upto_sm { - width: 100%; - max-width: var(--distance_sm); -} - -.width_upto_md { - width: 100%; - max-width: var(--distance_md); -} - .selectable { --button_fill: color-mix(in hsl, var(--fill) 8%, transparent); --button_fill_hover: color-mix(in hsl, var(--fill) 16%, transparent); @@ -49,26 +37,21 @@ .selectable.selected.deselectable:not(:disabled) { cursor: pointer; } - -/* A pane is a box floating over the page, like for dialogs. - By default it's opaque, resetting the background to the initial depth. */ +/* A pane is a box floating over the page, like for dialogs. By default it's opaque, resetting the background to the initial depth. */ .pane { background-color: var(--pane_bg, var(--bg)); box-shadow: var( --pane_shadow, - /* TODO this is terrible, maybe add all the variables? should be culled anyway? */ var(--shadow_bottom_md) color-mix(in hsl, var(--shadow_color) var(--shadow_alpha_3), transparent) ); border-radius: var(--border_radius_xs); } - /* A panel is a box embedded into the page, useful for visually isolating content. */ .panel { border-radius: var(--border_radius_xs); background-color: var(--panel_bg, var(--fg_1)); } - /* TODO maybe this belongs with the reset, like `selected`? or does `selected` belong here? */ .plain:not(:hover) { --border_color: transparent; @@ -79,7 +62,6 @@ .plain:active { --border_color: transparent; } - .menu_item { --border_radius: 0; --border_color: var(--border_color_3); @@ -137,7 +119,6 @@ text-overflow: ellipsis; line-height: var(--line_height_lg); /* prevents the bottom of g's and others from being cut off */ } - .chip { font-weight: 500; padding-left: var(--space_xs); @@ -148,25 +129,6 @@ a.chip { font-weight: 600; } - -.position_relative { - position: relative; -} -.display_inline_block { - display: inline-block; -} -.display_flex { - display: flex; -} -.display_inline_flex { - display: inline-flex; -} -.flex_1 { - flex: 1; -} -.align_items_center { - align-items: center; -} .font_size_md { font-size: var(--font_size_md); --font_size: var(--font_size_md); @@ -228,11 +190,13 @@ a.chip { box-shadow: var(--shadow_inset_xs) color-mix(in hsl, var(--shadow_color) var(--shadow_alpha, var(--shadow_alpha_1)), transparent); } -.width_100 { +.width_atmost_sm { width: 100%; + max-width: var(--distance_sm); } -.height_100 { - height: 100%; +.width_atmost_md { + width: 100%; + max-width: var(--distance_md); } .p_xs2 { padding: var(--space_xs2); @@ -289,9 +253,26 @@ a.chip { .mb_xl9 { margin-bottom: var(--space_xl9); } -.font_weight_500 { +.align-items\:center { + align-items: center; +} +.display\:flex { + display: flex; +} +.display\:inline-flex { + display: inline-flex; +} +.flex\:1 { + flex: 1; +} +.font-weight\:500 { font-weight: 500; - --font_weight: 500; +} +.height\:100\% { + height: 100%; +} +.width\:100\% { + width: 100%; } /* generated by src/routes/fuz.gen.css.ts */ diff --git a/src/routes/library.json b/src/routes/library.json index 07fa567..8a9387a 100644 --- a/src/routes/library.json +++ b/src/routes/library.json @@ -33,14 +33,15 @@ "node": ">=22.15" }, "devDependencies": { - "@fuzdev/fuz_css": "^0.43.0", - "@fuzdev/fuz_ui": "^0.177.0", - "@fuzdev/fuz_util": "^0.45.1", + "@fuzdev/fuz_css": "^0.44.1", + "@fuzdev/fuz_ui": "^0.179.0", + "@fuzdev/fuz_util": "^0.45.3", "@ryanatkn/eslint-config": "^0.9.0", - "@ryanatkn/gro": "^0.184.0", + "@ryanatkn/gro": "^0.186.0", "@sveltejs/adapter-static": "^3.0.10", "@sveltejs/kit": "^2.49.1", "@sveltejs/vite-plugin-svelte": "^6.2.1", + "@webref/css": "^8.2.0", "eslint": "^9.39.1", "eslint-plugin-svelte": "^3.13.1", "prettier": "^3.7.4",