@fuzdev/fuz_ui 0.169.0 → 0.171.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -17
- package/dist/GithubLink.svelte +3 -3
- package/dist/GithubLink.svelte.d.ts +3 -3
- package/dist/ProjectLinks.svelte +4 -4
- package/dist/constants.js +1 -1
- package/dist/csp.d.ts +1 -1
- package/dist/csp.js +1 -1
- package/dist/logos.d.ts +1 -1
- package/dist/logos.d.ts.map +1 -1
- package/dist/logos.js +2 -2
- package/package.json +12 -13
- package/src/lib/constants.ts +1 -1
- package/src/lib/context_helpers.ts +1 -1
- package/src/lib/contextmenu_state.svelte.ts +1 -1
- package/src/lib/csp.ts +1 -1
- package/src/lib/library_gen.ts +1 -1
- package/src/lib/logos.ts +2 -2
package/README.md
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
# Fuz
|
|
2
2
|
|
|
3
|
-
[<img src="static/logo.svg" alt="a friendly brown spider facing you" align="right" width="192" height="192">](https://
|
|
3
|
+
[<img src="static/logo.svg" alt="a friendly brown spider facing you" align="right" width="192" height="192">](https://ui.fuz.dev/)
|
|
4
4
|
|
|
5
|
-
> friendly user zystem 🧶 [fuz.dev](https://
|
|
5
|
+
> friendly user zystem 🧶 [fuz.dev](https://ui.fuz.dev/)
|
|
6
6
|
|
|
7
|
-
Fuz is a [Svelte](https://svelte.dev/) UI library
|
|
7
|
+
Fuz UI is a [Svelte](https://svelte.dev/) UI library
|
|
8
8
|
with components and helpers for making modern websites.
|
|
9
9
|
It's in early alpha and it will go through many breaking changes.
|
|
10
10
|
|
|
11
|
-
Fuz is being made to support
|
|
11
|
+
Fuz UI is being made to support
|
|
12
12
|
[my other projects](https://www.ryanatkn.com/)
|
|
13
13
|
that focus on end-users.
|
|
14
14
|
Fuz emphasizes capability and efficiency and tries to be simple for those goals.
|
|
15
15
|
Compared to most UI libraries, Fuz has fewer conventional features and more opinions.
|
|
16
16
|
|
|
17
|
-
To learn more see [the docs](https://
|
|
17
|
+
To learn more see [the docs](https://ui.fuz.dev/docs) and [contributing.md](contributing.md).
|
|
18
18
|
Feel free to take the ideas and code for your own purposes.
|
|
19
19
|
|
|
20
20
|
The Svelte components and helpers:
|
|
21
21
|
|
|
22
|
-
- builds on my CSS framework [
|
|
22
|
+
- builds on my CSS framework [Fuz CSS](https://github.com/fuzdev/fuz_css)
|
|
23
23
|
- plain CSS and minimal abstraction
|
|
24
|
-
- near-zero dependencies except for Svelte, SvelteKit,
|
|
24
|
+
- near-zero dependencies except for Svelte, SvelteKit, Fuz CSS,
|
|
25
25
|
and my utility library [`@fuzdev/fuz_util`](https://github.com/fuzdev/fuz_util)
|
|
26
26
|
(not all components require SvelteKit but some do import its modules, needs more consideration)
|
|
27
27
|
- not a fully-featured enterprise-ready set of components,
|
|
@@ -36,36 +36,36 @@ The Svelte components and helpers:
|
|
|
36
36
|
> thank you see [contributing.md](contributing.md), your input is appreciated.
|
|
37
37
|
>
|
|
38
38
|
> If you feel comfortable looking at the source code,
|
|
39
|
-
> Fuz is ready to use in your own projects,
|
|
39
|
+
> Fuz UI is ready to use in your own projects,
|
|
40
40
|
> with the major caveat that there will be a lot of breaking changes ahead.
|
|
41
41
|
> The code is significantly incomplete but I think it's stable enough to use
|
|
42
42
|
> if you're willing to keep up with the relatively fast-moving changelog.
|
|
43
43
|
|
|
44
44
|
```bash
|
|
45
|
-
npm i -D @
|
|
45
|
+
npm i -D @fuzdev/fuz_ui
|
|
46
46
|
```
|
|
47
47
|
|
|
48
|
-
Fuz uses my style framework [
|
|
48
|
+
Fuz uses my style framework [Fuz CSS](https://github.com/fuzdev/fuz_css).
|
|
49
49
|
Import modules at their full paths:
|
|
50
50
|
|
|
51
51
|
```ts
|
|
52
|
-
//
|
|
52
|
+
// Fuz CSS has one main plain CSS stylesheet:
|
|
53
53
|
import '@fuzdev/fuz_css/style.css';
|
|
54
54
|
|
|
55
|
-
// and import a
|
|
55
|
+
// and import a Fuz CSS theme:
|
|
56
56
|
import '@fuzdev/fuz_css/theme.css'; // or bring your own
|
|
57
57
|
|
|
58
|
-
// using Gro generates
|
|
59
|
-
import '$routes/
|
|
58
|
+
// using Gro generates Fuz CSS' utility classes stylesheet by default:
|
|
59
|
+
import '$routes/fuz.css';
|
|
60
60
|
|
|
61
61
|
// then import Fuz Svelte components:
|
|
62
|
-
import Themed from '@
|
|
62
|
+
import Themed from '@fuzdev/fuz_ui/Themed.svelte';
|
|
63
63
|
|
|
64
64
|
// and Fuz TypeScript modules:
|
|
65
|
-
import {type Theme, themer_context} from '@
|
|
65
|
+
import {type Theme, themer_context} from '@fuzdev/fuz_ui/themer.svelte.js';
|
|
66
66
|
```
|
|
67
67
|
|
|
68
|
-
See [the library](https://
|
|
68
|
+
See [the library](https://ui.fuz.dev/docs) for more.
|
|
69
69
|
|
|
70
70
|
## Contributing
|
|
71
71
|
|
package/dist/GithubLink.svelte
CHANGED
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
}: SvelteHTMLElements['a'] & {
|
|
16
16
|
/**
|
|
17
17
|
* GitHub path - can be a full URL or a relative path like `owner/repo` or `owner/repo/blob/main/file.ts`
|
|
18
|
-
* @example
|
|
19
|
-
* @example
|
|
20
|
-
* @example https://github.com/
|
|
18
|
+
* @example fuzdev/fuz_ui
|
|
19
|
+
* @example fuzdev/fuz_ui/blob/main/src/lib/Card.svelte
|
|
20
|
+
* @example https://github.com/fuzdev/fuz_ui/issues/123
|
|
21
21
|
*/
|
|
22
22
|
path?: string;
|
|
23
23
|
} = $props();
|
|
@@ -2,9 +2,9 @@ import type { SvelteHTMLElements } from 'svelte/elements';
|
|
|
2
2
|
type $$ComponentProps = SvelteHTMLElements['a'] & {
|
|
3
3
|
/**
|
|
4
4
|
* GitHub path - can be a full URL or a relative path like `owner/repo` or `owner/repo/blob/main/file.ts`
|
|
5
|
-
* @example
|
|
6
|
-
* @example
|
|
7
|
-
* @example https://github.com/
|
|
5
|
+
* @example fuzdev/fuz_ui
|
|
6
|
+
* @example fuzdev/fuz_ui/blob/main/src/lib/Card.svelte
|
|
7
|
+
* @example https://github.com/fuzdev/fuz_ui/issues/123
|
|
8
8
|
*/
|
|
9
9
|
path?: string;
|
|
10
10
|
};
|
package/dist/ProjectLinks.svelte
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import Svg from './Svg.svelte';
|
|
3
|
-
import {gro_logo, fuz_logo,
|
|
3
|
+
import {gro_logo, fuz_logo, fuz_css_logo, fuz_template_logo} from './logos.js';
|
|
4
4
|
|
|
5
5
|
const size = 'var(--icon_size_lg)';
|
|
6
6
|
</script>
|
|
@@ -16,10 +16,10 @@
|
|
|
16
16
|
title="Gro - task runner and toolkit extending SvelteKit"
|
|
17
17
|
href="https://gro.ryanatkn.com/"><Svg data={gro_logo} {size} /><span class="name">Gro</span></a
|
|
18
18
|
>
|
|
19
|
-
<a class="project_link" title="
|
|
20
|
-
><Svg data={
|
|
19
|
+
<a class="project_link" title="Fuz CSS - CSS framework" href="https://css.fuz.dev/"
|
|
20
|
+
><Svg data={fuz_css_logo} {size} /><span class="name">Fuz CSS</span></a
|
|
21
21
|
>
|
|
22
|
-
<a class="project_link" title="Fuz - Svelte UI library" href="https://
|
|
22
|
+
<a class="project_link" title="Fuz - Svelte UI library" href="https://ui.fuz.dev/"
|
|
23
23
|
><Svg data={fuz_logo} {size} /><span class="name">Fuz</span></a
|
|
24
24
|
>
|
|
25
25
|
<a
|
package/dist/constants.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// TODO the 60px is a hack, need `--docs_primary_nav_height` exported or :root values from Fuz -- the --space_lg also needs to be kept in sync
|
|
2
|
-
// see also the same issue in
|
|
2
|
+
// see also the same issue in Fuz CSS
|
|
3
3
|
export const MAIN_HEADER_MARGIN_TOP = 'calc(60px + var(--space_lg))';
|
package/dist/csp.d.ts
CHANGED
|
@@ -106,7 +106,7 @@ export declare const csp_directive_value_defaults: Record<CspDirective, CspDirec
|
|
|
106
106
|
* If null, no trusted sources are added to the directive automatically.
|
|
107
107
|
* Directives that don't support sources or default to `['none']` are null.
|
|
108
108
|
*
|
|
109
|
-
* Feedback is welcome, please see the issues - https://github.com/
|
|
109
|
+
* Feedback is welcome, please see the issues - https://github.com/fuzdev/fuz_ui/issues
|
|
110
110
|
*/
|
|
111
111
|
export declare const csp_directive_required_trust_defaults: Record<CspDirective, CspTrustLevel | null>;
|
|
112
112
|
/**
|
package/dist/csp.js
CHANGED
|
@@ -177,7 +177,7 @@ export const csp_directive_value_defaults = {
|
|
|
177
177
|
* If null, no trusted sources are added to the directive automatically.
|
|
178
178
|
* Directives that don't support sources or default to `['none']` are null.
|
|
179
179
|
*
|
|
180
|
-
* Feedback is welcome, please see the issues - https://github.com/
|
|
180
|
+
* Feedback is welcome, please see the issues - https://github.com/fuzdev/fuz_ui/issues
|
|
181
181
|
*/
|
|
182
182
|
export const csp_directive_required_trust_defaults = {
|
|
183
183
|
'default-src': null,
|
package/dist/logos.d.ts
CHANGED
package/dist/logos.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logos.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/logos.ts"],"names":[],"mappings":"AAqBA,eAAO,MAAM,QAAQ;;;;;;CAcF,CAAC;AAEpB,eAAO,MAAM,QAAQ;;;;;;CAgCF,CAAC;AAEpB,eAAO,MAAM,QAAQ;;;;;;CAQF,CAAC;AAEpB,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"logos.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/logos.ts"],"names":[],"mappings":"AAqBA,eAAO,MAAM,QAAQ;;;;;;CAcF,CAAC;AAEpB,eAAO,MAAM,QAAQ;;;;;;CAgCF,CAAC;AAEpB,eAAO,MAAM,QAAQ;;;;;;CAQF,CAAC;AAEpB,eAAO,MAAM,YAAY;;;;;;;;;CAKN,CAAC;AAEpB,eAAO,MAAM,SAAS;;;;;;CAwBH,CAAC;AAEpB,eAAO,MAAM,aAAa;;;;;;CAIP,CAAC;AAEpB,eAAO,MAAM,aAAa;;;;;;CAIP,CAAC;AAEpB,eAAO,MAAM,iBAAiB;;;;;;CAIX,CAAC;AAEpB,eAAO,MAAM,eAAe;;;;;;CAIT,CAAC;AAEpB,eAAO,MAAM,iBAAiB;;;;;;CAQX,CAAC;AAEpB,eAAO,MAAM,iBAAiB;;;;;;CAcX,CAAC;AAEpB,eAAO,MAAM,cAAc;;;;;;CAQR,CAAC;AAEpB,eAAO,MAAM,gBAAgB;;;;;;;CA4DV,CAAC;AAEpB,eAAO,MAAM,WAAW;;;;;;;;;CAWL,CAAC;AAEpB,eAAO,MAAM,QAAQ;;;;;;CAQF,CAAC;AAEpB,eAAO,MAAM,YAAY;;;;;CAON,CAAC;AAEpB,eAAO,MAAM,WAAW;;;;;;CAQL,CAAC;AAEpB,eAAO,MAAM,WAAW;;;;;;;CAuBL,CAAC"}
|
package/dist/logos.js
CHANGED
|
@@ -9,7 +9,7 @@ Logo colors are the midpoint between the light and dark versions of color varian
|
|
|
9
9
|
--color_c: #d93636;
|
|
10
10
|
--color_d: #8866cc;
|
|
11
11
|
--color_e: #d8bc31;
|
|
12
|
-
--color_f: #84522a; // TODO this one isn't the midpoint bc
|
|
12
|
+
--color_f: #84522a; // TODO this one isn't the midpoint bc Fuz CSS's color needs tweaking, too light in dark mode
|
|
13
13
|
--color_g: #e55d95;
|
|
14
14
|
--color_h: #f4672f;
|
|
15
15
|
--color_i: #36e2e2;
|
|
@@ -72,7 +72,7 @@ export const fuz_logo = {
|
|
|
72
72
|
},
|
|
73
73
|
],
|
|
74
74
|
};
|
|
75
|
-
export const
|
|
75
|
+
export const fuz_css_logo = {
|
|
76
76
|
label: 'a fuzzy tuft of green moss',
|
|
77
77
|
fill: '#3db33d',
|
|
78
78
|
paths: fuz_logo.paths,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fuzdev/fuz_ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.171.0",
|
|
4
4
|
"description": "Svelte UI library",
|
|
5
5
|
"motto": "friendly user zystem",
|
|
6
6
|
"glyph": "🧶",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"logo_alt": "a friendly brown spider facing you",
|
|
9
9
|
"public": true,
|
|
10
10
|
"license": "MIT",
|
|
11
|
-
"homepage": "https://
|
|
11
|
+
"homepage": "https://ui.fuz.dev/",
|
|
12
12
|
"author": {
|
|
13
13
|
"name": "Ryan Atkinson",
|
|
14
14
|
"email": "mail@ryanatkn.com",
|
|
@@ -16,9 +16,9 @@
|
|
|
16
16
|
},
|
|
17
17
|
"repository": {
|
|
18
18
|
"type": "git",
|
|
19
|
-
"url": "git+https://github.com/
|
|
19
|
+
"url": "git+https://github.com/fuzdev/fuz_ui.git"
|
|
20
20
|
},
|
|
21
|
-
"bugs": "https://github.com/
|
|
21
|
+
"bugs": "https://github.com/fuzdev/fuz_ui/issues",
|
|
22
22
|
"funding": "https://www.ryanatkn.com/funding",
|
|
23
23
|
"scripts": {
|
|
24
24
|
"start": "gro dev",
|
|
@@ -57,30 +57,29 @@
|
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
59
59
|
"@changesets/changelog-git": "^0.2.1",
|
|
60
|
-
"@fuzdev/fuz_code": "^0.
|
|
61
|
-
"@fuzdev/fuz_css": "^0.
|
|
60
|
+
"@fuzdev/fuz_code": "^0.38.0",
|
|
61
|
+
"@fuzdev/fuz_css": "^0.42.0",
|
|
62
62
|
"@fuzdev/fuz_util": "^0.42.0",
|
|
63
|
-
"@ryanatkn/belt": "^0.41.1",
|
|
64
63
|
"@ryanatkn/eslint-config": "^0.9.0",
|
|
65
|
-
"@ryanatkn/gro": "^0.
|
|
64
|
+
"@ryanatkn/gro": "^0.181.0",
|
|
66
65
|
"@sveltejs/adapter-static": "^3.0.10",
|
|
67
|
-
"@sveltejs/kit": "^2.49.
|
|
66
|
+
"@sveltejs/kit": "^2.49.1",
|
|
68
67
|
"@sveltejs/package": "^2.5.7",
|
|
69
68
|
"@sveltejs/vite-plugin-svelte": "^6.2.1",
|
|
70
69
|
"@types/node": "^24.10.1",
|
|
71
70
|
"eslint": "^9.39.1",
|
|
72
|
-
"eslint-plugin-svelte": "^3.13.
|
|
71
|
+
"eslint-plugin-svelte": "^3.13.1",
|
|
73
72
|
"esm-env": "^1.2.2",
|
|
74
73
|
"jsdom": "^27.2.0",
|
|
75
74
|
"prettier": "^3.6.2",
|
|
76
75
|
"prettier-plugin-svelte": "^3.4.0",
|
|
77
|
-
"svelte": "^5.45.
|
|
76
|
+
"svelte": "^5.45.6",
|
|
78
77
|
"svelte-check": "^4.3.4",
|
|
79
78
|
"svelte2tsx": "^0.7.45",
|
|
80
79
|
"tslib": "^2.8.1",
|
|
81
80
|
"typescript": "^5.9.3",
|
|
82
|
-
"typescript-eslint": "^8.48.
|
|
83
|
-
"vitest": "^4.0.
|
|
81
|
+
"typescript-eslint": "^8.48.1",
|
|
82
|
+
"vitest": "^4.0.15",
|
|
84
83
|
"zod": "^4.1.13"
|
|
85
84
|
},
|
|
86
85
|
"prettier": {
|
package/src/lib/constants.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// TODO the 60px is a hack, need `--docs_primary_nav_height` exported or :root values from Fuz -- the --space_lg also needs to be kept in sync
|
|
2
|
-
// see also the same issue in
|
|
2
|
+
// see also the same issue in Fuz CSS
|
|
3
3
|
export const MAIN_HEADER_MARGIN_TOP = 'calc(60px + var(--space_lg))';
|
|
@@ -4,7 +4,7 @@ import {getContext, setContext} from 'svelte';
|
|
|
4
4
|
// It could be implemented internally with a class like `SvelteContext`
|
|
5
5
|
// but this is less code and seems a bit simpler.
|
|
6
6
|
// The memory gains of a class appear minimal given the expected usage patterns.
|
|
7
|
-
// See https://github.com/
|
|
7
|
+
// See https://github.com/fuzdev/fuz_ui/pull/56 for more.
|
|
8
8
|
|
|
9
9
|
// TODO maybe remove `error_message`?
|
|
10
10
|
|
|
@@ -19,7 +19,7 @@ export type ContextmenuParams =
|
|
|
19
19
|
|
|
20
20
|
export type ContextmenuActivateResult =
|
|
21
21
|
| void
|
|
22
|
-
| undefined
|
|
22
|
+
| undefined
|
|
23
23
|
| Result<{close?: boolean}, {message?: string}>;
|
|
24
24
|
|
|
25
25
|
export type ItemState = SubmenuState | EntryState;
|
package/src/lib/csp.ts
CHANGED
|
@@ -302,7 +302,7 @@ export const csp_directive_value_defaults: Record<
|
|
|
302
302
|
* If null, no trusted sources are added to the directive automatically.
|
|
303
303
|
* Directives that don't support sources or default to `['none']` are null.
|
|
304
304
|
*
|
|
305
|
-
* Feedback is welcome, please see the issues - https://github.com/
|
|
305
|
+
* Feedback is welcome, please see the issues - https://github.com/fuzdev/fuz_ui/issues
|
|
306
306
|
*/
|
|
307
307
|
export const csp_directive_required_trust_defaults: Record<CspDirective, CspTrustLevel | null> = {
|
|
308
308
|
'default-src': null,
|
package/src/lib/library_gen.ts
CHANGED
|
@@ -42,7 +42,7 @@ export interface LibraryGenOptions {
|
|
|
42
42
|
*
|
|
43
43
|
* Usage in a `.gen.ts` file:
|
|
44
44
|
* ```ts
|
|
45
|
-
* import {library_gen} from '@
|
|
45
|
+
* import {library_gen} from '@fuzdev/fuz_ui/library_gen.js';
|
|
46
46
|
* export const gen = library_gen();
|
|
47
47
|
* ```
|
|
48
48
|
*/
|
package/src/lib/logos.ts
CHANGED
|
@@ -12,7 +12,7 @@ Logo colors are the midpoint between the light and dark versions of color varian
|
|
|
12
12
|
--color_c: #d93636;
|
|
13
13
|
--color_d: #8866cc;
|
|
14
14
|
--color_e: #d8bc31;
|
|
15
|
-
--color_f: #84522a; // TODO this one isn't the midpoint bc
|
|
15
|
+
--color_f: #84522a; // TODO this one isn't the midpoint bc Fuz CSS's color needs tweaking, too light in dark mode
|
|
16
16
|
--color_g: #e55d95;
|
|
17
17
|
--color_h: #f4672f;
|
|
18
18
|
--color_i: #36e2e2;
|
|
@@ -79,7 +79,7 @@ export const fuz_logo = {
|
|
|
79
79
|
],
|
|
80
80
|
} satisfies SvgData;
|
|
81
81
|
|
|
82
|
-
export const
|
|
82
|
+
export const fuz_css_logo = {
|
|
83
83
|
label: 'a fuzzy tuft of green moss',
|
|
84
84
|
fill: '#3db33d',
|
|
85
85
|
paths: fuz_logo.paths,
|