@fuzdev/fuz_ui 0.202.0 → 0.203.1
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/dist/ApiIndex.svelte +6 -3
- package/dist/ApiIndex.svelte.d.ts +1 -1
- package/dist/ApiIndex.svelte.d.ts.map +1 -1
- package/dist/ApiModule.svelte +72 -21
- package/dist/ApiModule.svelte.d.ts +1 -1
- package/dist/ApiModule.svelte.d.ts.map +1 -1
- package/dist/ContextmenuEntry.svelte +15 -16
- package/dist/ContextmenuEntry.svelte.d.ts +3 -2
- package/dist/ContextmenuEntry.svelte.d.ts.map +1 -1
- package/dist/ContextmenuIcon.svelte +30 -0
- package/dist/ContextmenuIcon.svelte.d.ts +9 -0
- package/dist/ContextmenuIcon.svelte.d.ts.map +1 -0
- package/dist/ContextmenuLinkEntry.svelte +23 -12
- package/dist/ContextmenuLinkEntry.svelte.d.ts +2 -1
- package/dist/ContextmenuLinkEntry.svelte.d.ts.map +1 -1
- package/dist/ContextmenuMenu.svelte +207 -0
- package/dist/ContextmenuMenu.svelte.d.ts +41 -0
- package/dist/ContextmenuMenu.svelte.d.ts.map +1 -0
- package/dist/ContextmenuRoot.svelte +58 -260
- package/dist/ContextmenuRoot.svelte.d.ts +2 -60
- package/dist/ContextmenuRoot.svelte.d.ts.map +1 -1
- package/dist/ContextmenuRootForSafariCompatibility.svelte +72 -283
- package/dist/ContextmenuRootForSafariCompatibility.svelte.d.ts +2 -58
- package/dist/ContextmenuRootForSafariCompatibility.svelte.d.ts.map +1 -1
- package/dist/ContextmenuSeparator.svelte +2 -1
- package/dist/ContextmenuSeparator.svelte.d.ts.map +1 -1
- package/dist/ContextmenuSubmenu.svelte +31 -25
- package/dist/ContextmenuSubmenu.svelte.d.ts +3 -2
- package/dist/ContextmenuSubmenu.svelte.d.ts.map +1 -1
- package/dist/ContextmenuTextEntry.svelte +6 -4
- package/dist/ContextmenuTextEntry.svelte.d.ts +3 -1
- package/dist/ContextmenuTextEntry.svelte.d.ts.map +1 -1
- package/dist/DeclarationLink.svelte +15 -2
- package/dist/DeclarationLink.svelte.d.ts +7 -0
- package/dist/DeclarationLink.svelte.d.ts.map +1 -1
- package/dist/DocsLink.svelte +3 -1
- package/dist/DocsLink.svelte.d.ts.map +1 -1
- package/dist/DocsTertiaryNav.svelte +2 -1
- package/dist/DocsTertiaryNav.svelte.d.ts.map +1 -1
- package/dist/LibraryDetail.svelte +9 -3
- package/dist/LibraryDetail.svelte.d.ts +1 -1
- package/dist/LibraryDetail.svelte.d.ts.map +1 -1
- package/dist/ModuleLink.svelte +2 -1
- package/dist/ModuleLink.svelte.d.ts.map +1 -1
- package/dist/TypeLink.svelte +2 -1
- package/dist/TypeLink.svelte.d.ts.map +1 -1
- package/dist/contextmenu_helpers.d.ts +324 -1
- package/dist/contextmenu_helpers.d.ts.map +1 -1
- package/dist/contextmenu_helpers.js +403 -2
- package/dist/contextmenu_state.svelte.d.ts +61 -15
- package/dist/contextmenu_state.svelte.d.ts.map +1 -1
- package/dist/contextmenu_state.svelte.js +206 -119
- package/dist/declaration.svelte.d.ts +1 -0
- package/dist/declaration.svelte.d.ts.map +1 -1
- package/dist/declaration.svelte.js +2 -1
- package/dist/icons.d.ts +15 -3
- package/dist/icons.d.ts.map +1 -1
- package/dist/icons.js +17 -3
- package/dist/library.svelte.d.ts +30 -3
- package/dist/library.svelte.d.ts.map +1 -1
- package/dist/library.svelte.js +38 -0
- package/dist/module.svelte.d.ts +62 -1
- package/dist/module.svelte.d.ts.map +1 -1
- package/dist/module.svelte.js +71 -1
- package/package.json +2 -2
- package/src/lib/contextmenu_helpers.ts +546 -3
- package/src/lib/contextmenu_state.svelte.ts +219 -119
- package/src/lib/declaration.svelte.ts +2 -1
- package/src/lib/icons.ts +19 -3
- package/src/lib/library.svelte.ts +43 -1
- package/src/lib/module.svelte.ts +97 -2
package/src/lib/module.svelte.ts
CHANGED
|
@@ -1,9 +1,34 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type {
|
|
2
|
+
ModuleJsonInput,
|
|
3
|
+
ReExportJsonInput,
|
|
4
|
+
ExternalReExportJsonInput,
|
|
5
|
+
} from 'svelte-docinfo/types.js';
|
|
2
6
|
|
|
3
7
|
import {Declaration} from './declaration.svelte.js';
|
|
4
8
|
import type {Library} from './library.svelte.js';
|
|
5
9
|
import {url_github_file} from '@fuzdev/fuz_util/package_helpers.js';
|
|
6
10
|
|
|
11
|
+
/**
|
|
12
|
+
* Groups entries by a string key, with groups sorted by key. Entries within
|
|
13
|
+
* each group keep their input order.
|
|
14
|
+
*/
|
|
15
|
+
const group_sorted = <T>(
|
|
16
|
+
entries: Array<T>,
|
|
17
|
+
get_key: (entry: T) => string,
|
|
18
|
+
): Map<string, Array<T>> => {
|
|
19
|
+
const by_key: Map<string, Array<T>> = new Map();
|
|
20
|
+
for (const entry of entries) {
|
|
21
|
+
const key = get_key(entry);
|
|
22
|
+
let group = by_key.get(key);
|
|
23
|
+
if (!group) {
|
|
24
|
+
group = [];
|
|
25
|
+
by_key.set(key, group);
|
|
26
|
+
}
|
|
27
|
+
group.push(entry);
|
|
28
|
+
}
|
|
29
|
+
return new Map([...by_key].sort(([a], [b]) => a.localeCompare(b)));
|
|
30
|
+
};
|
|
31
|
+
|
|
7
32
|
/**
|
|
8
33
|
* Rich runtime representation of a module with computed properties.
|
|
9
34
|
*
|
|
@@ -76,7 +101,11 @@ export class Module {
|
|
|
76
101
|
: undefined,
|
|
77
102
|
);
|
|
78
103
|
|
|
79
|
-
|
|
104
|
+
/**
|
|
105
|
+
* Whether the module has renderable declarations (after the default-export
|
|
106
|
+
* filter in `declarations`).
|
|
107
|
+
*/
|
|
108
|
+
has_declarations: boolean = $derived(this.declarations.length > 0);
|
|
80
109
|
|
|
81
110
|
has_module_comment: boolean = $derived(!!this.module_comment);
|
|
82
111
|
|
|
@@ -94,6 +123,72 @@ export class Module {
|
|
|
94
123
|
|
|
95
124
|
has_dependents: boolean = $derived(this.dependents.length > 0);
|
|
96
125
|
|
|
126
|
+
/**
|
|
127
|
+
* Same-name re-export edges in this module's source (`ModuleJson.reExports`)
|
|
128
|
+
* — the forward view of declarations' `alsoExportedFrom`, sorted by name
|
|
129
|
+
* then module. Renamed re-exports appear as declarations with `aliasOf`
|
|
130
|
+
* instead, and star exports in `star_exports`.
|
|
131
|
+
*/
|
|
132
|
+
re_exports = $derived(this.module_json.reExports ?? []);
|
|
133
|
+
|
|
134
|
+
has_re_exports: boolean = $derived(this.re_exports.length > 0);
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Modules fully re-exported via `export * from './module'`
|
|
138
|
+
* (`ModuleJson.starExports`), in source order. Star-projected symbols are
|
|
139
|
+
* not materialized as declarations or `re_exports` edges — this is their
|
|
140
|
+
* sole encoding.
|
|
141
|
+
*/
|
|
142
|
+
star_exports = $derived(this.module_json.starExports ?? []);
|
|
143
|
+
|
|
144
|
+
has_star_exports: boolean = $derived(this.star_exports.length > 0);
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* Re-export edges grouped by canonical module path, groups sorted by path.
|
|
148
|
+
* Entries within each group keep their name-sorted serialized order.
|
|
149
|
+
*/
|
|
150
|
+
re_exports_by_module: Map<string, Array<ReExportJsonInput>> = $derived(
|
|
151
|
+
group_sorted(this.re_exports, (entry) => entry.module),
|
|
152
|
+
);
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* Re-exports whose immediate target is an external package
|
|
156
|
+
* (`ModuleJson.externalReExports`) — `export {x} from 'pkg'` and
|
|
157
|
+
* `export * as ns from 'pkg'` forms, sorted by name then specifier.
|
|
158
|
+
*/
|
|
159
|
+
external_re_exports = $derived(this.module_json.externalReExports ?? []);
|
|
160
|
+
|
|
161
|
+
has_external_re_exports: boolean = $derived(this.external_re_exports.length > 0);
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* External re-exports grouped by package specifier, groups sorted by
|
|
165
|
+
* specifier. Entries within each group keep their name-sorted serialized
|
|
166
|
+
* order.
|
|
167
|
+
*/
|
|
168
|
+
external_re_exports_by_specifier: Map<string, Array<ExternalReExportJsonInput>> = $derived(
|
|
169
|
+
group_sorted(this.external_re_exports, (entry) => entry.specifier),
|
|
170
|
+
);
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* External packages fully re-exported via `export * from 'pkg'`
|
|
174
|
+
* (`ModuleJson.externalStarExports`), in source order. The projected
|
|
175
|
+
* names are unknown — the package isn't analyzed.
|
|
176
|
+
*/
|
|
177
|
+
external_star_exports = $derived(this.module_json.externalStarExports ?? []);
|
|
178
|
+
|
|
179
|
+
has_external_star_exports: boolean = $derived(this.external_star_exports.length > 0);
|
|
180
|
+
|
|
181
|
+
/**
|
|
182
|
+
* Whether the module re-exports anything in any form — same-name edges,
|
|
183
|
+
* star exports, or the external variants of both.
|
|
184
|
+
*/
|
|
185
|
+
has_any_re_exports: boolean = $derived(
|
|
186
|
+
this.has_re_exports ||
|
|
187
|
+
this.has_star_exports ||
|
|
188
|
+
this.has_external_re_exports ||
|
|
189
|
+
this.has_external_star_exports,
|
|
190
|
+
);
|
|
191
|
+
|
|
97
192
|
constructor(library: Library, module_json: ModuleJsonInput) {
|
|
98
193
|
this.library = library;
|
|
99
194
|
this.module_json = module_json;
|