@fuzdev/fuz_ui 0.169.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/LICENSE +21 -0
- package/README.md +93 -0
- package/dist/Alert.svelte +108 -0
- package/dist/Alert.svelte.d.ts +16 -0
- package/dist/Alert.svelte.d.ts.map +1 -0
- package/dist/ApiDeclarationList.svelte +35 -0
- package/dist/ApiDeclarationList.svelte.d.ts +9 -0
- package/dist/ApiDeclarationList.svelte.d.ts.map +1 -0
- package/dist/ApiIndex.svelte +65 -0
- package/dist/ApiIndex.svelte.d.ts +23 -0
- package/dist/ApiIndex.svelte.d.ts.map +1 -0
- package/dist/ApiModule.svelte +124 -0
- package/dist/ApiModule.svelte.d.ts +22 -0
- package/dist/ApiModule.svelte.d.ts.map +1 -0
- package/dist/Breadcrumb.svelte +83 -0
- package/dist/Breadcrumb.svelte.d.ts +23 -0
- package/dist/Breadcrumb.svelte.d.ts.map +1 -0
- package/dist/Card.svelte +157 -0
- package/dist/Card.svelte.d.ts +13 -0
- package/dist/Card.svelte.d.ts.map +1 -0
- package/dist/ColorSchemeInput.svelte +65 -0
- package/dist/ColorSchemeInput.svelte.d.ts +11 -0
- package/dist/ColorSchemeInput.svelte.d.ts.map +1 -0
- package/dist/Contextmenu.svelte +30 -0
- package/dist/Contextmenu.svelte.d.ts +32 -0
- package/dist/Contextmenu.svelte.d.ts.map +1 -0
- package/dist/ContextmenuEntry.svelte +74 -0
- package/dist/ContextmenuEntry.svelte.d.ts +12 -0
- package/dist/ContextmenuEntry.svelte.d.ts.map +1 -0
- package/dist/ContextmenuLinkEntry.svelte +112 -0
- package/dist/ContextmenuLinkEntry.svelte.d.ts +12 -0
- package/dist/ContextmenuLinkEntry.svelte.d.ts.map +1 -0
- package/dist/ContextmenuRoot.svelte +372 -0
- package/dist/ContextmenuRoot.svelte.d.ts +71 -0
- package/dist/ContextmenuRoot.svelte.d.ts.map +1 -0
- package/dist/ContextmenuRootForSafariCompatibility.svelte +541 -0
- package/dist/ContextmenuRootForSafariCompatibility.svelte.d.ts +79 -0
- package/dist/ContextmenuRootForSafariCompatibility.svelte.d.ts.map +1 -0
- package/dist/ContextmenuSeparator.svelte +16 -0
- package/dist/ContextmenuSeparator.svelte.d.ts +4 -0
- package/dist/ContextmenuSeparator.svelte.d.ts.map +1 -0
- package/dist/ContextmenuSubmenu.svelte +116 -0
- package/dist/ContextmenuSubmenu.svelte.d.ts +10 -0
- package/dist/ContextmenuSubmenu.svelte.d.ts.map +1 -0
- package/dist/ContextmenuTextEntry.svelte +21 -0
- package/dist/ContextmenuTextEntry.svelte.d.ts +10 -0
- package/dist/ContextmenuTextEntry.svelte.d.ts.map +1 -0
- package/dist/CopyToClipboard.svelte +81 -0
- package/dist/CopyToClipboard.svelte.d.ts +18 -0
- package/dist/CopyToClipboard.svelte.d.ts.map +1 -0
- package/dist/DeclarationDetail.svelte +340 -0
- package/dist/DeclarationDetail.svelte.d.ts +8 -0
- package/dist/DeclarationDetail.svelte.d.ts.map +1 -0
- package/dist/DeclarationLink.svelte +50 -0
- package/dist/DeclarationLink.svelte.d.ts +8 -0
- package/dist/DeclarationLink.svelte.d.ts.map +1 -0
- package/dist/Details.svelte +51 -0
- package/dist/Details.svelte.d.ts +20 -0
- package/dist/Details.svelte.d.ts.map +1 -0
- package/dist/Dialog.svelte +217 -0
- package/dist/Dialog.svelte.d.ts +30 -0
- package/dist/Dialog.svelte.d.ts.map +1 -0
- package/dist/Dialogs.svelte +28 -0
- package/dist/Dialogs.svelte.d.ts +11 -0
- package/dist/Dialogs.svelte.d.ts.map +1 -0
- package/dist/Docs.svelte +179 -0
- package/dist/Docs.svelte.d.ts +13 -0
- package/dist/Docs.svelte.d.ts.map +1 -0
- package/dist/DocsContent.svelte +40 -0
- package/dist/DocsContent.svelte.d.ts +14 -0
- package/dist/DocsContent.svelte.d.ts.map +1 -0
- package/dist/DocsFooter.svelte +64 -0
- package/dist/DocsFooter.svelte.d.ts +15 -0
- package/dist/DocsFooter.svelte.d.ts.map +1 -0
- package/dist/DocsLink.svelte +41 -0
- package/dist/DocsLink.svelte.d.ts +12 -0
- package/dist/DocsLink.svelte.d.ts.map +1 -0
- package/dist/DocsList.svelte +44 -0
- package/dist/DocsList.svelte.d.ts +11 -0
- package/dist/DocsList.svelte.d.ts.map +1 -0
- package/dist/DocsMenu.svelte +55 -0
- package/dist/DocsMenu.svelte.d.ts +11 -0
- package/dist/DocsMenu.svelte.d.ts.map +1 -0
- package/dist/DocsMenuHeader.svelte +15 -0
- package/dist/DocsMenuHeader.svelte.d.ts +9 -0
- package/dist/DocsMenuHeader.svelte.d.ts.map +1 -0
- package/dist/DocsModulesList.svelte +32 -0
- package/dist/DocsModulesList.svelte.d.ts +7 -0
- package/dist/DocsModulesList.svelte.d.ts.map +1 -0
- package/dist/DocsPageLinks.svelte +61 -0
- package/dist/DocsPageLinks.svelte.d.ts +8 -0
- package/dist/DocsPageLinks.svelte.d.ts.map +1 -0
- package/dist/DocsPrimaryNav.svelte +93 -0
- package/dist/DocsPrimaryNav.svelte.d.ts +11 -0
- package/dist/DocsPrimaryNav.svelte.d.ts.map +1 -0
- package/dist/DocsSearch.svelte +48 -0
- package/dist/DocsSearch.svelte.d.ts +11 -0
- package/dist/DocsSearch.svelte.d.ts.map +1 -0
- package/dist/DocsSecondaryNav.svelte +63 -0
- package/dist/DocsSecondaryNav.svelte.d.ts +9 -0
- package/dist/DocsSecondaryNav.svelte.d.ts.map +1 -0
- package/dist/DocsTertiaryNav.svelte +118 -0
- package/dist/DocsTertiaryNav.svelte.d.ts +10 -0
- package/dist/DocsTertiaryNav.svelte.d.ts.map +1 -0
- package/dist/EcosystemLinks.svelte +53 -0
- package/dist/EcosystemLinks.svelte.d.ts +7 -0
- package/dist/EcosystemLinks.svelte.d.ts.map +1 -0
- package/dist/EcosystemLinksPanel.svelte +22 -0
- package/dist/EcosystemLinksPanel.svelte.d.ts +8 -0
- package/dist/EcosystemLinksPanel.svelte.d.ts.map +1 -0
- package/dist/GithubLink.svelte +75 -0
- package/dist/GithubLink.svelte.d.ts +14 -0
- package/dist/GithubLink.svelte.d.ts.map +1 -0
- package/dist/Glyph.svelte +28 -0
- package/dist/Glyph.svelte.d.ts +9 -0
- package/dist/Glyph.svelte.d.ts.map +1 -0
- package/dist/Hashlink.svelte +41 -0
- package/dist/Hashlink.svelte.d.ts +8 -0
- package/dist/Hashlink.svelte.d.ts.map +1 -0
- package/dist/HiddenPersonalLinks.svelte +6 -0
- package/dist/HiddenPersonalLinks.svelte.d.ts +27 -0
- package/dist/HiddenPersonalLinks.svelte.d.ts.map +1 -0
- package/dist/HueInput.svelte +127 -0
- package/dist/HueInput.svelte.d.ts +11 -0
- package/dist/HueInput.svelte.d.ts.map +1 -0
- package/dist/ImgOrSvg.svelte +58 -0
- package/dist/ImgOrSvg.svelte.d.ts +25 -0
- package/dist/ImgOrSvg.svelte.d.ts.map +1 -0
- package/dist/LibraryDetail.svelte +297 -0
- package/dist/LibraryDetail.svelte.d.ts +15 -0
- package/dist/LibraryDetail.svelte.d.ts.map +1 -0
- package/dist/LibrarySummary.svelte +151 -0
- package/dist/LibrarySummary.svelte.d.ts +16 -0
- package/dist/LibrarySummary.svelte.d.ts.map +1 -0
- package/dist/MdnLink.svelte +40 -0
- package/dist/MdnLink.svelte.d.ts +8 -0
- package/dist/MdnLink.svelte.d.ts.map +1 -0
- package/dist/Mdz.svelte +30 -0
- package/dist/Mdz.svelte.d.ts +10 -0
- package/dist/Mdz.svelte.d.ts.map +1 -0
- package/dist/MdzNodeView.svelte +93 -0
- package/dist/MdzNodeView.svelte.d.ts +9 -0
- package/dist/MdzNodeView.svelte.d.ts.map +1 -0
- package/dist/ModuleLink.svelte +48 -0
- package/dist/ModuleLink.svelte.d.ts +8 -0
- package/dist/ModuleLink.svelte.d.ts.map +1 -0
- package/dist/PasteFromClipboard.svelte +35 -0
- package/dist/PasteFromClipboard.svelte.d.ts +9 -0
- package/dist/PasteFromClipboard.svelte.d.ts.map +1 -0
- package/dist/PendingAnimation.svelte +62 -0
- package/dist/PendingAnimation.svelte.d.ts +13 -0
- package/dist/PendingAnimation.svelte.d.ts.map +1 -0
- package/dist/PendingButton.svelte +75 -0
- package/dist/PendingButton.svelte.d.ts +17 -0
- package/dist/PendingButton.svelte.d.ts.map +1 -0
- package/dist/ProjectLinks.svelte +54 -0
- package/dist/ProjectLinks.svelte.d.ts +19 -0
- package/dist/ProjectLinks.svelte.d.ts.map +1 -0
- package/dist/Redirect.svelte +44 -0
- package/dist/Redirect.svelte.d.ts +23 -0
- package/dist/Redirect.svelte.d.ts.map +1 -0
- package/dist/Spiders.svelte +57 -0
- package/dist/Spiders.svelte.d.ts +9 -0
- package/dist/Spiders.svelte.d.ts.map +1 -0
- package/dist/Svg.svelte +99 -0
- package/dist/Svg.svelte.d.ts +54 -0
- package/dist/Svg.svelte.d.ts.map +1 -0
- package/dist/Teleport.svelte +48 -0
- package/dist/Teleport.svelte.d.ts +15 -0
- package/dist/Teleport.svelte.d.ts.map +1 -0
- package/dist/ThemeInput.svelte +75 -0
- package/dist/ThemeInput.svelte.d.ts +15 -0
- package/dist/ThemeInput.svelte.d.ts.map +1 -0
- package/dist/Themed.svelte +101 -0
- package/dist/Themed.svelte.d.ts +24 -0
- package/dist/Themed.svelte.d.ts.map +1 -0
- package/dist/TomeContent.svelte +67 -0
- package/dist/TomeContent.svelte.d.ts +12 -0
- package/dist/TomeContent.svelte.d.ts.map +1 -0
- package/dist/TomeHeader.svelte +56 -0
- package/dist/TomeHeader.svelte.d.ts +4 -0
- package/dist/TomeHeader.svelte.d.ts.map +1 -0
- package/dist/TomeLink.svelte +29 -0
- package/dist/TomeLink.svelte.d.ts +10 -0
- package/dist/TomeLink.svelte.d.ts.map +1 -0
- package/dist/TomeSection.svelte +65 -0
- package/dist/TomeSection.svelte.d.ts +24 -0
- package/dist/TomeSection.svelte.d.ts.map +1 -0
- package/dist/TomeSectionHeader.svelte +90 -0
- package/dist/TomeSectionHeader.svelte.d.ts +13 -0
- package/dist/TomeSectionHeader.svelte.d.ts.map +1 -0
- package/dist/TypeLink.svelte +19 -0
- package/dist/TypeLink.svelte.d.ts +7 -0
- package/dist/TypeLink.svelte.d.ts.map +1 -0
- package/dist/alert.d.ts +7 -0
- package/dist/alert.d.ts.map +1 -0
- package/dist/alert.js +6 -0
- package/dist/api_search.svelte.d.ts +16 -0
- package/dist/api_search.svelte.d.ts.map +1 -0
- package/dist/api_search.svelte.js +61 -0
- package/dist/constants.d.ts +2 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +3 -0
- package/dist/context_helpers.d.ts +17 -0
- package/dist/context_helpers.d.ts.map +1 -0
- package/dist/context_helpers.js +19 -0
- package/dist/contextmenu_helpers.d.ts +16 -0
- package/dist/contextmenu_helpers.d.ts.map +1 -0
- package/dist/contextmenu_helpers.js +39 -0
- package/dist/contextmenu_state.svelte.d.ts +152 -0
- package/dist/contextmenu_state.svelte.d.ts.map +1 -0
- package/dist/contextmenu_state.svelte.js +424 -0
- package/dist/csp.d.ts +160 -0
- package/dist/csp.d.ts.map +1 -0
- package/dist/csp.js +354 -0
- package/dist/csp_of_ryanatkn.d.ts +6 -0
- package/dist/csp_of_ryanatkn.d.ts.map +1 -0
- package/dist/csp_of_ryanatkn.js +14 -0
- package/dist/declaration.svelte.d.ts +84 -0
- package/dist/declaration.svelte.d.ts.map +1 -0
- package/dist/declaration.svelte.js +66 -0
- package/dist/declaration_contextmenu.d.ts +4 -0
- package/dist/declaration_contextmenu.d.ts.map +1 -0
- package/dist/declaration_contextmenu.js +14 -0
- package/dist/dialog.d.ts +24 -0
- package/dist/dialog.d.ts.map +1 -0
- package/dist/dialog.js +12 -0
- package/dist/dimensions.svelte.d.ts +5 -0
- package/dist/dimensions.svelte.d.ts.map +1 -0
- package/dist/dimensions.svelte.js +4 -0
- package/dist/docs_helpers.svelte.d.ts +48 -0
- package/dist/docs_helpers.svelte.d.ts.map +1 -0
- package/dist/docs_helpers.svelte.js +99 -0
- package/dist/helpers.d.ts +2 -0
- package/dist/helpers.d.ts.map +1 -0
- package/dist/helpers.js +16 -0
- package/dist/intersect.svelte.d.ts +47 -0
- package/dist/intersect.svelte.d.ts.map +1 -0
- package/dist/intersect.svelte.js +92 -0
- package/dist/library.svelte.d.ts +197 -0
- package/dist/library.svelte.d.ts.map +1 -0
- package/dist/library.svelte.js +130 -0
- package/dist/library_gen.d.ts +34 -0
- package/dist/library_gen.d.ts.map +1 -0
- package/dist/library_gen.js +123 -0
- package/dist/library_gen_helpers.d.ts +85 -0
- package/dist/library_gen_helpers.d.ts.map +1 -0
- package/dist/library_gen_helpers.js +188 -0
- package/dist/library_helpers.d.ts +54 -0
- package/dist/library_helpers.d.ts.map +1 -0
- package/dist/library_helpers.js +102 -0
- package/dist/logos.d.ts +134 -0
- package/dist/logos.d.ts.map +1 -0
- package/dist/logos.js +281 -0
- package/dist/mdz.d.ts +106 -0
- package/dist/mdz.d.ts.map +1 -0
- package/dist/mdz.js +1481 -0
- package/dist/mdz_components.d.ts +37 -0
- package/dist/mdz_components.d.ts.map +1 -0
- package/dist/mdz_components.js +12 -0
- package/dist/module.svelte.d.ts +47 -0
- package/dist/module.svelte.d.ts.map +1 -0
- package/dist/module.svelte.js +56 -0
- package/dist/module_contextmenu.d.ts +4 -0
- package/dist/module_contextmenu.d.ts.map +1 -0
- package/dist/module_contextmenu.js +14 -0
- package/dist/module_helpers.d.ts +69 -0
- package/dist/module_helpers.d.ts.map +1 -0
- package/dist/module_helpers.js +87 -0
- package/dist/rune_helpers.svelte.d.ts +6 -0
- package/dist/rune_helpers.svelte.d.ts.map +1 -0
- package/dist/rune_helpers.svelte.js +10 -0
- package/dist/storage.d.ts +13 -0
- package/dist/storage.d.ts.map +1 -0
- package/dist/storage.js +43 -0
- package/dist/svelte_helpers.d.ts +37 -0
- package/dist/svelte_helpers.d.ts.map +1 -0
- package/dist/svelte_helpers.js +245 -0
- package/dist/themer.svelte.d.ts +24 -0
- package/dist/themer.svelte.d.ts.map +1 -0
- package/dist/themer.svelte.js +43 -0
- package/dist/tome.d.ts +80 -0
- package/dist/tome.d.ts.map +1 -0
- package/dist/tome.js +27 -0
- package/dist/ts_helpers.d.ts +110 -0
- package/dist/ts_helpers.d.ts.map +1 -0
- package/dist/ts_helpers.js +533 -0
- package/dist/tsdoc_helpers.d.ts +98 -0
- package/dist/tsdoc_helpers.d.ts.map +1 -0
- package/dist/tsdoc_helpers.js +221 -0
- package/package.json +128 -0
- package/src/lib/alert.ts +14 -0
- package/src/lib/api_search.svelte.ts +85 -0
- package/src/lib/constants.ts +3 -0
- package/src/lib/context_helpers.ts +47 -0
- package/src/lib/contextmenu_helpers.ts +63 -0
- package/src/lib/contextmenu_state.svelte.ts +515 -0
- package/src/lib/csp.ts +576 -0
- package/src/lib/csp_of_ryanatkn.ts +16 -0
- package/src/lib/declaration.svelte.ts +102 -0
- package/src/lib/declaration_contextmenu.ts +22 -0
- package/src/lib/dialog.ts +35 -0
- package/src/lib/dimensions.svelte.ts +4 -0
- package/src/lib/docs_helpers.svelte.ts +149 -0
- package/src/lib/helpers.ts +10 -0
- package/src/lib/intersect.svelte.ts +152 -0
- package/src/lib/library.svelte.ts +162 -0
- package/src/lib/library_gen.ts +160 -0
- package/src/lib/library_gen_helpers.ts +262 -0
- package/src/lib/library_helpers.ts +123 -0
- package/src/lib/logos.ts +302 -0
- package/src/lib/mdz.ts +1819 -0
- package/src/lib/mdz_components.ts +34 -0
- package/src/lib/module.svelte.ts +78 -0
- package/src/lib/module_contextmenu.ts +20 -0
- package/src/lib/module_helpers.ts +113 -0
- package/src/lib/rune_helpers.svelte.ts +10 -0
- package/src/lib/storage.ts +48 -0
- package/src/lib/svelte_helpers.ts +303 -0
- package/src/lib/themer.svelte.ts +68 -0
- package/src/lib/tome.ts +38 -0
- package/src/lib/ts_helpers.ts +662 -0
- package/src/lib/tsdoc_helpers.ts +259 -0
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type {SvelteHTMLElements} from 'svelte/elements';
|
|
3
|
+
|
|
4
|
+
const {
|
|
5
|
+
src,
|
|
6
|
+
label,
|
|
7
|
+
size,
|
|
8
|
+
width,
|
|
9
|
+
height,
|
|
10
|
+
svg_attrs,
|
|
11
|
+
img_attrs,
|
|
12
|
+
attrs,
|
|
13
|
+
}: {
|
|
14
|
+
src: string;
|
|
15
|
+
label?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Sets both the `width` and `height` of the svg. Overridden by the `width` and `height` props.
|
|
18
|
+
*/
|
|
19
|
+
size?: string;
|
|
20
|
+
/**
|
|
21
|
+
* Sets the `width` of the svg. Overrides `size`.
|
|
22
|
+
*/
|
|
23
|
+
width?: string;
|
|
24
|
+
/**
|
|
25
|
+
* Sets the `height` of the svg. Overrides `size`.
|
|
26
|
+
*/
|
|
27
|
+
height?: string;
|
|
28
|
+
svg_attrs?: SvelteHTMLElements['svg'];
|
|
29
|
+
img_attrs?: SvelteHTMLElements['img'];
|
|
30
|
+
/** Shared attributes for both img and svg. */
|
|
31
|
+
attrs?: Pick<SvelteHTMLElements['div'], 'class' | 'style'>; // TODO more shared attributes? can't use `div` directly for svg, users can always assert the type as a hacky workaround
|
|
32
|
+
} = $props();
|
|
33
|
+
|
|
34
|
+
const final_width = $derived(width ?? size);
|
|
35
|
+
const final_height = $derived(height ?? size);
|
|
36
|
+
</script>
|
|
37
|
+
|
|
38
|
+
{#if src.endsWith('.svg')}
|
|
39
|
+
<svg
|
|
40
|
+
role="img"
|
|
41
|
+
{...attrs}
|
|
42
|
+
{...svg_attrs}
|
|
43
|
+
aria-label={label}
|
|
44
|
+
style:width={final_width}
|
|
45
|
+
style:height={final_height}
|
|
46
|
+
>
|
|
47
|
+
<image href={src} class="width_100 height_100" />
|
|
48
|
+
</svg>
|
|
49
|
+
{:else}
|
|
50
|
+
<img
|
|
51
|
+
{...attrs}
|
|
52
|
+
{...img_attrs}
|
|
53
|
+
{src}
|
|
54
|
+
alt={label}
|
|
55
|
+
style:width={final_width}
|
|
56
|
+
style:height={final_height}
|
|
57
|
+
/>
|
|
58
|
+
{/if}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { SvelteHTMLElements } from 'svelte/elements';
|
|
2
|
+
type $$ComponentProps = {
|
|
3
|
+
src: string;
|
|
4
|
+
label?: string;
|
|
5
|
+
/**
|
|
6
|
+
* Sets both the `width` and `height` of the svg. Overridden by the `width` and `height` props.
|
|
7
|
+
*/
|
|
8
|
+
size?: string;
|
|
9
|
+
/**
|
|
10
|
+
* Sets the `width` of the svg. Overrides `size`.
|
|
11
|
+
*/
|
|
12
|
+
width?: string;
|
|
13
|
+
/**
|
|
14
|
+
* Sets the `height` of the svg. Overrides `size`.
|
|
15
|
+
*/
|
|
16
|
+
height?: string;
|
|
17
|
+
svg_attrs?: SvelteHTMLElements['svg'];
|
|
18
|
+
img_attrs?: SvelteHTMLElements['img'];
|
|
19
|
+
/** Shared attributes for both img and svg. */
|
|
20
|
+
attrs?: Pick<SvelteHTMLElements['div'], 'class' | 'style'>;
|
|
21
|
+
};
|
|
22
|
+
declare const ImgOrSvg: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
23
|
+
type ImgOrSvg = ReturnType<typeof ImgOrSvg>;
|
|
24
|
+
export default ImgOrSvg;
|
|
25
|
+
//# sourceMappingURL=ImgOrSvg.svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ImgOrSvg.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/ImgOrSvg.svelte"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAEvD,KAAK,gBAAgB,GAAI;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACtC,SAAS,CAAC,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACtC,8CAA8C;IAC9C,KAAK,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC;CAC3D,CAAC;AA6BH,QAAA,MAAM,QAAQ,sDAAwC,CAAC;AACvD,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAC5C,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import {page} from '$app/state';
|
|
3
|
+
import {format_url} from '@fuzdev/fuz_util/url.js';
|
|
4
|
+
import type {Snippet} from 'svelte';
|
|
5
|
+
|
|
6
|
+
import type {Library} from './library.svelte.js';
|
|
7
|
+
import ImgOrSvg from './ImgOrSvg.svelte';
|
|
8
|
+
import DeclarationLink from './DeclarationLink.svelte';
|
|
9
|
+
import ModuleLink from './ModuleLink.svelte';
|
|
10
|
+
import {url_github_file, repo_url_parse, url_well_known} from './library_helpers.js';
|
|
11
|
+
import {
|
|
12
|
+
module_is_typescript,
|
|
13
|
+
module_is_svelte,
|
|
14
|
+
module_is_css,
|
|
15
|
+
module_is_json,
|
|
16
|
+
} from './module_helpers.js';
|
|
17
|
+
|
|
18
|
+
const {
|
|
19
|
+
library,
|
|
20
|
+
repo_name,
|
|
21
|
+
description,
|
|
22
|
+
motto,
|
|
23
|
+
npm_url,
|
|
24
|
+
homepage_url,
|
|
25
|
+
children,
|
|
26
|
+
}: {
|
|
27
|
+
library: Library;
|
|
28
|
+
repo_name?: Snippet<[repo_name: string]>;
|
|
29
|
+
description?: Snippet<[description: string]>;
|
|
30
|
+
motto?: Snippet<[description: string]>;
|
|
31
|
+
npm_url?: Snippet<[npm_url: string]>;
|
|
32
|
+
homepage_url?: Snippet<[homepage_url: string]>;
|
|
33
|
+
children?: Snippet<[library: Library]>;
|
|
34
|
+
} = $props();
|
|
35
|
+
|
|
36
|
+
// TODO show other data (lines of code)
|
|
37
|
+
|
|
38
|
+
const {package_json} = $derived(library);
|
|
39
|
+
|
|
40
|
+
const repository_url = $derived(repo_url_parse(package_json.repository));
|
|
41
|
+
const license_url = $derived(
|
|
42
|
+
package_json.license && repository_url ? url_github_file(repository_url, 'LICENSE') : null,
|
|
43
|
+
);
|
|
44
|
+
</script>
|
|
45
|
+
|
|
46
|
+
<!-- eslint-disable svelte/no-navigation-without-resolve -->
|
|
47
|
+
|
|
48
|
+
<div class="library_detail">
|
|
49
|
+
<!-- TODO maybe continue this snippet pattern, or maybe simplify? -->
|
|
50
|
+
<div class="info">
|
|
51
|
+
<div class="display_flex flex_1">
|
|
52
|
+
<!-- add yet another wrapper so it flows like we want -->
|
|
53
|
+
<div>
|
|
54
|
+
<header>
|
|
55
|
+
{#if repo_name}
|
|
56
|
+
{@render repo_name(library.repo_name)}
|
|
57
|
+
{:else}
|
|
58
|
+
<div class="repo_name">
|
|
59
|
+
{library.repo_name}{#if package_json.glyph} {package_json.glyph}{/if}
|
|
60
|
+
</div>
|
|
61
|
+
{/if}
|
|
62
|
+
</header>
|
|
63
|
+
{@render children?.(library)}
|
|
64
|
+
{#if package_json.description}
|
|
65
|
+
{#if description}
|
|
66
|
+
{@render description(package_json.description)}
|
|
67
|
+
{:else}
|
|
68
|
+
<div class="description">{package_json.description}</div>
|
|
69
|
+
{/if}
|
|
70
|
+
{/if}
|
|
71
|
+
{#if package_json.motto}
|
|
72
|
+
{#if motto}
|
|
73
|
+
{@render motto(package_json.motto)}
|
|
74
|
+
{:else}
|
|
75
|
+
<div class="motto">{package_json.motto}</div>
|
|
76
|
+
{/if}
|
|
77
|
+
{/if}
|
|
78
|
+
{#if library.npm_url}
|
|
79
|
+
{#if npm_url}
|
|
80
|
+
{@render npm_url(library.npm_url)}
|
|
81
|
+
{:else}
|
|
82
|
+
<blockquote class="npm_url">npm i -D {package_json.name}</blockquote>
|
|
83
|
+
{/if}
|
|
84
|
+
{/if}
|
|
85
|
+
<!-- TODO accessible HTML -->
|
|
86
|
+
<section class="properties">
|
|
87
|
+
{#if library.homepage_url}
|
|
88
|
+
{#if homepage_url}
|
|
89
|
+
{@render homepage_url(library.homepage_url)}
|
|
90
|
+
{:else}
|
|
91
|
+
<span class="title">homepage</span>
|
|
92
|
+
<div class="content">
|
|
93
|
+
<a
|
|
94
|
+
class="chip"
|
|
95
|
+
class:selected={library.homepage_url === page.url.href}
|
|
96
|
+
href={library.homepage_url}
|
|
97
|
+
>
|
|
98
|
+
{#if library.logo_url}
|
|
99
|
+
<ImgOrSvg
|
|
100
|
+
src={library.logo_url}
|
|
101
|
+
label={library.logo_alt}
|
|
102
|
+
size="16px"
|
|
103
|
+
attrs={{class: 'mr_xs'}}
|
|
104
|
+
/>
|
|
105
|
+
{/if}
|
|
106
|
+
{format_url(library.homepage_url)}
|
|
107
|
+
</a>
|
|
108
|
+
</div>
|
|
109
|
+
{/if}
|
|
110
|
+
{/if}
|
|
111
|
+
{#if library.repo_url}
|
|
112
|
+
<span class="title">repo</span>
|
|
113
|
+
<div class="content">
|
|
114
|
+
<a class="chip" title="repo" href={library.repo_url}
|
|
115
|
+
>{library.owner_name}/{library.repo_name}</a
|
|
116
|
+
>
|
|
117
|
+
</div>
|
|
118
|
+
{/if}
|
|
119
|
+
{#if library.npm_url}
|
|
120
|
+
<span class="title">npm</span>
|
|
121
|
+
<div class="content">
|
|
122
|
+
<a class="chip" title="npm" href={library.npm_url}>{package_json.name}</a>
|
|
123
|
+
</div>
|
|
124
|
+
{/if}
|
|
125
|
+
{#if library.changelog_url}
|
|
126
|
+
<span class="title">version</span>
|
|
127
|
+
<div class="content">
|
|
128
|
+
<a class="chip" title="version" href={library.changelog_url}>{package_json.version}</a
|
|
129
|
+
>
|
|
130
|
+
</div>
|
|
131
|
+
{/if}
|
|
132
|
+
{#if license_url}
|
|
133
|
+
<span class="title">license</span>
|
|
134
|
+
<div class="content">
|
|
135
|
+
<a class="chip" title="license" href={license_url}>{package_json.license}</a>
|
|
136
|
+
</div>
|
|
137
|
+
{/if}
|
|
138
|
+
{#if library.homepage_url}
|
|
139
|
+
<span class="title">data</span>
|
|
140
|
+
<div class="content">
|
|
141
|
+
<a
|
|
142
|
+
class="chip"
|
|
143
|
+
title="data"
|
|
144
|
+
href={url_well_known(library.homepage_url, 'package.json')}>package.json</a
|
|
145
|
+
>
|
|
146
|
+
<a class="chip" title="data" href={url_well_known(library.homepage_url, 'src.json')}
|
|
147
|
+
>src.json</a
|
|
148
|
+
>
|
|
149
|
+
</div>
|
|
150
|
+
{/if}
|
|
151
|
+
</section>
|
|
152
|
+
</div>
|
|
153
|
+
</div>
|
|
154
|
+
{#if library.logo_url}
|
|
155
|
+
<div class="logo">
|
|
156
|
+
<ImgOrSvg
|
|
157
|
+
src={library.logo_url}
|
|
158
|
+
label={library.logo_alt}
|
|
159
|
+
size="var(--font_size, var(--icon_size_xl2))"
|
|
160
|
+
/>
|
|
161
|
+
</div>
|
|
162
|
+
{/if}
|
|
163
|
+
</div>
|
|
164
|
+
{#if library.modules.length > 0 && library.repo_url}
|
|
165
|
+
<section>
|
|
166
|
+
<menu class="unstyled">
|
|
167
|
+
{#each library.modules as module (module.path)}
|
|
168
|
+
<!-- TODO improve rendering and enrich data - start with the type (not just extension - mime?) -->
|
|
169
|
+
<li
|
|
170
|
+
class="module"
|
|
171
|
+
class:ts={module_is_typescript(module.path)}
|
|
172
|
+
class:svelte={module_is_svelte(module.path)}
|
|
173
|
+
class:css={module_is_css(module.path)}
|
|
174
|
+
class:json={module_is_json(module.path)}
|
|
175
|
+
>
|
|
176
|
+
<div class="module_content">
|
|
177
|
+
<span class="font_size_xl">
|
|
178
|
+
<ModuleLink module_path={module.path}>
|
|
179
|
+
{module.path}
|
|
180
|
+
</ModuleLink>
|
|
181
|
+
</span>
|
|
182
|
+
{#if module.declarations.length > 0}
|
|
183
|
+
<ul class="declarations unstyled">
|
|
184
|
+
{#each module.declarations as declaration (declaration.name)}
|
|
185
|
+
<li>
|
|
186
|
+
<DeclarationLink name={declaration.name} />
|
|
187
|
+
</li>
|
|
188
|
+
{/each}
|
|
189
|
+
</ul>
|
|
190
|
+
{/if}
|
|
191
|
+
</div>
|
|
192
|
+
</li>
|
|
193
|
+
{/each}
|
|
194
|
+
</menu>
|
|
195
|
+
</section>
|
|
196
|
+
{/if}
|
|
197
|
+
|
|
198
|
+
<!-- TODO maybe add more details, possibly behind a `<details>`, including author -->
|
|
199
|
+
<!-- TODO render exports, then link to source, then tomes -->
|
|
200
|
+
</div>
|
|
201
|
+
|
|
202
|
+
<!-- TODO better rendering, also show author, etc -->
|
|
203
|
+
|
|
204
|
+
<style>
|
|
205
|
+
.library_detail {
|
|
206
|
+
display: flex;
|
|
207
|
+
flex-direction: column;
|
|
208
|
+
align-items: flex-start;
|
|
209
|
+
width: 100%;
|
|
210
|
+
max-width: var(--max_width, var(--distance_md));
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
.info {
|
|
214
|
+
width: 100%;
|
|
215
|
+
display: flex;
|
|
216
|
+
flex-wrap: wrap;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
.logo {
|
|
220
|
+
flex-shrink: 0;
|
|
221
|
+
padding: 0 var(--space_xl);
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
header {
|
|
225
|
+
margin-bottom: var(--space_lg);
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
section {
|
|
229
|
+
width: 100%;
|
|
230
|
+
margin-bottom: var(--space_lg);
|
|
231
|
+
}
|
|
232
|
+
.repo_name {
|
|
233
|
+
font-family: var(--font_family_serif);
|
|
234
|
+
font-size: var(--font_size_xl2);
|
|
235
|
+
font-weight: 400;
|
|
236
|
+
}
|
|
237
|
+
.npm_url {
|
|
238
|
+
font-family: var(--font_family_mono);
|
|
239
|
+
text-align: center;
|
|
240
|
+
margin-bottom: var(--space_lg);
|
|
241
|
+
}
|
|
242
|
+
.description {
|
|
243
|
+
margin-bottom: var(--space_lg);
|
|
244
|
+
}
|
|
245
|
+
.motto {
|
|
246
|
+
margin-bottom: var(--space_lg);
|
|
247
|
+
}
|
|
248
|
+
.properties {
|
|
249
|
+
display: grid;
|
|
250
|
+
grid-template-columns: 80px 1fr;
|
|
251
|
+
gap: var(--space_xs2);
|
|
252
|
+
margin-bottom: var(--space_lg);
|
|
253
|
+
}
|
|
254
|
+
.title {
|
|
255
|
+
text-align: right;
|
|
256
|
+
}
|
|
257
|
+
.content {
|
|
258
|
+
display: flex;
|
|
259
|
+
}
|
|
260
|
+
.content a {
|
|
261
|
+
display: flex;
|
|
262
|
+
align-items: center;
|
|
263
|
+
margin-left: var(--space_xs);
|
|
264
|
+
}
|
|
265
|
+
.module {
|
|
266
|
+
margin-bottom: var(--space_xs);
|
|
267
|
+
--link_color: var(--text_color_3);
|
|
268
|
+
}
|
|
269
|
+
.module_content {
|
|
270
|
+
background-color: var(--bg_3);
|
|
271
|
+
border-radius: var(--border_radius_sm);
|
|
272
|
+
padding: var(--space_xs);
|
|
273
|
+
}
|
|
274
|
+
/* TODO probably add variables/classes for these */
|
|
275
|
+
.ts {
|
|
276
|
+
--link_color: var(--color_a_5);
|
|
277
|
+
}
|
|
278
|
+
.svelte {
|
|
279
|
+
--link_color: var(--color_h_5);
|
|
280
|
+
}
|
|
281
|
+
.css {
|
|
282
|
+
--link_color: var(--color_b_5);
|
|
283
|
+
}
|
|
284
|
+
.json {
|
|
285
|
+
--link_color: var(--color_f_5);
|
|
286
|
+
}
|
|
287
|
+
/* TODO extract */
|
|
288
|
+
.declarations {
|
|
289
|
+
display: flex;
|
|
290
|
+
flex: 1;
|
|
291
|
+
flex-direction: row;
|
|
292
|
+
flex-wrap: wrap;
|
|
293
|
+
align-items: flex-start;
|
|
294
|
+
gap: var(--space_xs) 0;
|
|
295
|
+
padding-top: var(--space_xs);
|
|
296
|
+
}
|
|
297
|
+
</style>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Snippet } from 'svelte';
|
|
2
|
+
import type { Library } from './library.svelte.js';
|
|
3
|
+
type $$ComponentProps = {
|
|
4
|
+
library: Library;
|
|
5
|
+
repo_name?: Snippet<[repo_name: string]>;
|
|
6
|
+
description?: Snippet<[description: string]>;
|
|
7
|
+
motto?: Snippet<[description: string]>;
|
|
8
|
+
npm_url?: Snippet<[npm_url: string]>;
|
|
9
|
+
homepage_url?: Snippet<[homepage_url: string]>;
|
|
10
|
+
children?: Snippet<[library: Library]>;
|
|
11
|
+
};
|
|
12
|
+
declare const LibraryDetail: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
13
|
+
type LibraryDetail = ReturnType<typeof LibraryDetail>;
|
|
14
|
+
export default LibraryDetail;
|
|
15
|
+
//# sourceMappingURL=LibraryDetail.svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LibraryDetail.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/LibraryDetail.svelte"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,QAAQ,CAAC;AAEpC,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,qBAAqB,CAAC;AAYhD,KAAK,gBAAgB,GAAI;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IACzC,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7C,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/C,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;CACvC,CAAC;AAuKH,QAAA,MAAM,aAAa,sDAAwC,CAAC;AAC5D,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;AACtD,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import {page} from '$app/state';
|
|
3
|
+
import type {Snippet} from 'svelte';
|
|
4
|
+
import {format_url} from '@fuzdev/fuz_util/url.js';
|
|
5
|
+
|
|
6
|
+
import type {Library} from './library.svelte.js';
|
|
7
|
+
import ImgOrSvg from './ImgOrSvg.svelte';
|
|
8
|
+
|
|
9
|
+
const {
|
|
10
|
+
library,
|
|
11
|
+
repo_name,
|
|
12
|
+
logo,
|
|
13
|
+
motto,
|
|
14
|
+
description,
|
|
15
|
+
npm_url,
|
|
16
|
+
homepage_url,
|
|
17
|
+
children,
|
|
18
|
+
}: {
|
|
19
|
+
library: Library;
|
|
20
|
+
repo_name?: Snippet<[repo_name: string]>;
|
|
21
|
+
logo?: Snippet<[logo_url: string, logo_alt: string]>;
|
|
22
|
+
motto?: Snippet<[motto: string, glyph?: string]>;
|
|
23
|
+
description?: Snippet<[description: string, glyph?: string]>;
|
|
24
|
+
npm_url?: Snippet<[npm_url: string]>;
|
|
25
|
+
homepage_url?: Snippet<[homepage_url: string]>;
|
|
26
|
+
children?: Snippet;
|
|
27
|
+
} = $props();
|
|
28
|
+
|
|
29
|
+
const {package_json} = $derived(library);
|
|
30
|
+
</script>
|
|
31
|
+
|
|
32
|
+
<div class="library_summary">
|
|
33
|
+
<!-- TODO maybe continue this snippet pattern, or maybe simplify? -->
|
|
34
|
+
<header class="box">
|
|
35
|
+
{#if repo_name}
|
|
36
|
+
{@render repo_name(library.repo_name)}
|
|
37
|
+
{:else}
|
|
38
|
+
<div class="repo_name">{library.repo_name}</div>
|
|
39
|
+
{/if}
|
|
40
|
+
<!-- TODO maybe add `icon_alt` to package.json -->
|
|
41
|
+
<!-- TODO what about svg logos? maybe a package.json logo url that defaults to favicon? -->
|
|
42
|
+
{#if library.logo_url}
|
|
43
|
+
{#if logo}
|
|
44
|
+
{@render logo(library.logo_url, library.logo_alt)}
|
|
45
|
+
{:else}
|
|
46
|
+
<ImgOrSvg
|
|
47
|
+
src={library.logo_url}
|
|
48
|
+
label={library.logo_alt}
|
|
49
|
+
size="var(--font_size, var(--icon_size_xl2))"
|
|
50
|
+
/>
|
|
51
|
+
{/if}
|
|
52
|
+
{/if}
|
|
53
|
+
</header>
|
|
54
|
+
{#if package_json.motto}
|
|
55
|
+
{#if motto}
|
|
56
|
+
{@render motto(package_json.motto, package_json.glyph)}
|
|
57
|
+
{:else}
|
|
58
|
+
<blockquote class="px_xl">
|
|
59
|
+
{package_json.motto}
|
|
60
|
+
{package_json.glyph}
|
|
61
|
+
</blockquote>
|
|
62
|
+
{/if}
|
|
63
|
+
{/if}
|
|
64
|
+
{#if package_json.description}
|
|
65
|
+
{#if description}
|
|
66
|
+
{@render description(package_json.description, package_json.glyph)}
|
|
67
|
+
{:else}
|
|
68
|
+
<p class="text_align_center">
|
|
69
|
+
{package_json.description}
|
|
70
|
+
{#if !package_json.motto}
|
|
71
|
+
{package_json.glyph}
|
|
72
|
+
{/if}
|
|
73
|
+
</p>
|
|
74
|
+
{/if}
|
|
75
|
+
{/if}
|
|
76
|
+
{@render children?.()}
|
|
77
|
+
{#if library.homepage_url}
|
|
78
|
+
{#if homepage_url}
|
|
79
|
+
{@render homepage_url(library.homepage_url)}
|
|
80
|
+
{:else}
|
|
81
|
+
<div class="homepage_url">
|
|
82
|
+
<!-- eslint-disable svelte/no-navigation-without-resolve -->
|
|
83
|
+
<a
|
|
84
|
+
class="chip"
|
|
85
|
+
class:selected={library.homepage_url === page.url.href}
|
|
86
|
+
href={library.homepage_url}>{format_url(library.homepage_url)}</a
|
|
87
|
+
>
|
|
88
|
+
<!-- eslint-enable svelte/no-navigation-without-resolve -->
|
|
89
|
+
</div>
|
|
90
|
+
{/if}
|
|
91
|
+
{/if}
|
|
92
|
+
<div class="links">
|
|
93
|
+
{#if library.repo_url}
|
|
94
|
+
<!-- eslint-disable-next-line svelte/no-navigation-without-resolve -->
|
|
95
|
+
<a class="chip" href={library.repo_url}>repo</a>
|
|
96
|
+
{/if}
|
|
97
|
+
{#if library.changelog_url}
|
|
98
|
+
<!-- eslint-disable-next-line svelte/no-navigation-without-resolve -->
|
|
99
|
+
<a class="chip" title="version" href={library.changelog_url}>{package_json.version}</a>
|
|
100
|
+
{/if}
|
|
101
|
+
{#if library.npm_url}
|
|
102
|
+
<!-- eslint-disable-next-line svelte/no-navigation-without-resolve -->
|
|
103
|
+
<a class="chip" href={library.npm_url}>npm</a>
|
|
104
|
+
{/if}
|
|
105
|
+
</div>
|
|
106
|
+
{#if library.npm_url}
|
|
107
|
+
{#if npm_url}
|
|
108
|
+
{@render npm_url(library.npm_url)}
|
|
109
|
+
{:else}
|
|
110
|
+
<blockquote class="npm_url">npm i -D {package_json.name}</blockquote>
|
|
111
|
+
{/if}
|
|
112
|
+
{/if}
|
|
113
|
+
<!-- TODO more details behind a `<details>`, including author -->
|
|
114
|
+
</div>
|
|
115
|
+
|
|
116
|
+
<!-- TODO better rendering, also show author, etc -->
|
|
117
|
+
|
|
118
|
+
<style>
|
|
119
|
+
.library_summary {
|
|
120
|
+
padding: var(--space_lg);
|
|
121
|
+
display: flex;
|
|
122
|
+
flex-direction: column;
|
|
123
|
+
align-items: center;
|
|
124
|
+
max-width: var(--max_width, var(--distance_sm));
|
|
125
|
+
}
|
|
126
|
+
header {
|
|
127
|
+
margin-bottom: var(--space_lg);
|
|
128
|
+
}
|
|
129
|
+
.links {
|
|
130
|
+
display: flex;
|
|
131
|
+
margin-bottom: var(--space_lg);
|
|
132
|
+
}
|
|
133
|
+
.homepage_url {
|
|
134
|
+
margin-bottom: var(--space_lg);
|
|
135
|
+
}
|
|
136
|
+
.repo_name {
|
|
137
|
+
font-family: var(--font_family_serif);
|
|
138
|
+
font-size: var(--font_size_xl2);
|
|
139
|
+
font-weight: 400;
|
|
140
|
+
text-align: center;
|
|
141
|
+
margin-bottom: var(--space_lg);
|
|
142
|
+
}
|
|
143
|
+
.npm_url {
|
|
144
|
+
font-family: var(--font_family_mono);
|
|
145
|
+
text-align: center;
|
|
146
|
+
}
|
|
147
|
+
.chip {
|
|
148
|
+
margin-left: var(--space_xs2);
|
|
149
|
+
margin-right: var(--space_xs2);
|
|
150
|
+
}
|
|
151
|
+
</style>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Snippet } from 'svelte';
|
|
2
|
+
import type { Library } from './library.svelte.js';
|
|
3
|
+
type $$ComponentProps = {
|
|
4
|
+
library: Library;
|
|
5
|
+
repo_name?: Snippet<[repo_name: string]>;
|
|
6
|
+
logo?: Snippet<[logo_url: string, logo_alt: string]>;
|
|
7
|
+
motto?: Snippet<[motto: string, glyph?: string]>;
|
|
8
|
+
description?: Snippet<[description: string, glyph?: string]>;
|
|
9
|
+
npm_url?: Snippet<[npm_url: string]>;
|
|
10
|
+
homepage_url?: Snippet<[homepage_url: string]>;
|
|
11
|
+
children?: Snippet;
|
|
12
|
+
};
|
|
13
|
+
declare const LibrarySummary: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
14
|
+
type LibrarySummary = ReturnType<typeof LibrarySummary>;
|
|
15
|
+
export default LibrarySummary;
|
|
16
|
+
//# sourceMappingURL=LibrarySummary.svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LibrarySummary.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/LibrarySummary.svelte"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,QAAQ,CAAC;AAGpC,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,qBAAqB,CAAC;AAGhD,KAAK,gBAAgB,GAAI;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IACzC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACjD,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAyGH,QAAA,MAAM,cAAc,sDAAwC,CAAC;AAC7D,KAAK,cAAc,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AACxD,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import {strip_end, strip_start} from '@fuzdev/fuz_util/string.js';
|
|
3
|
+
import type {SvelteHTMLElements} from 'svelte/elements';
|
|
4
|
+
|
|
5
|
+
import Svg from './Svg.svelte';
|
|
6
|
+
import {mdn_logo} from './logos.js';
|
|
7
|
+
|
|
8
|
+
const {
|
|
9
|
+
path,
|
|
10
|
+
children,
|
|
11
|
+
class: class_prop,
|
|
12
|
+
...rest
|
|
13
|
+
}: SvelteHTMLElements['a'] & {
|
|
14
|
+
path: string;
|
|
15
|
+
} = $props();
|
|
16
|
+
|
|
17
|
+
const href = $derived(
|
|
18
|
+
path.startsWith('https://')
|
|
19
|
+
? path
|
|
20
|
+
: `https://developer.mozilla.org/en-US/docs/${strip_start(path, '/')}`,
|
|
21
|
+
);
|
|
22
|
+
|
|
23
|
+
const final_children = $derived(children ?? strip_end(path, '/').split('/').at(-1)!);
|
|
24
|
+
</script>
|
|
25
|
+
|
|
26
|
+
<!-- TODO -next-line doesnt work? -->
|
|
27
|
+
<!-- eslint-disable svelte/no-navigation-without-resolve -->
|
|
28
|
+
<a {...rest} {href} class="mdn_link chip white_space_nowrap {class_prop}" rel="noopener"
|
|
29
|
+
><Svg
|
|
30
|
+
data={mdn_logo}
|
|
31
|
+
inline
|
|
32
|
+
size="var(--icon_size_xs)"
|
|
33
|
+
attrs={{class: 'mx_xs3 vertical_align_middle'}}
|
|
34
|
+
/>
|
|
35
|
+
{#if typeof final_children === 'string'}
|
|
36
|
+
<span class="font_family_mono">{final_children}</span>
|
|
37
|
+
{:else}
|
|
38
|
+
{@render final_children()}
|
|
39
|
+
{/if}</a
|
|
40
|
+
>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { SvelteHTMLElements } from 'svelte/elements';
|
|
2
|
+
type $$ComponentProps = SvelteHTMLElements['a'] & {
|
|
3
|
+
path: string;
|
|
4
|
+
};
|
|
5
|
+
declare const MdnLink: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
6
|
+
type MdnLink = ReturnType<typeof MdnLink>;
|
|
7
|
+
export default MdnLink;
|
|
8
|
+
//# sourceMappingURL=MdnLink.svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MdnLink.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/MdnLink.svelte"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAKvD,KAAK,gBAAgB,GAAI,kBAAkB,CAAC,GAAG,CAAC,GAAG;IAClD,IAAI,EAAE,MAAM,CAAC;CACb,CAAC;AAmCH,QAAA,MAAM,OAAO,sDAAwC,CAAC;AACtD,KAAK,OAAO,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC;AAC1C,eAAe,OAAO,CAAC"}
|
package/dist/Mdz.svelte
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type {SvelteHTMLElements} from 'svelte/elements';
|
|
3
|
+
|
|
4
|
+
import {mdz_parse} from './mdz.js';
|
|
5
|
+
import MdzNodeView from './MdzNodeView.svelte';
|
|
6
|
+
|
|
7
|
+
const {
|
|
8
|
+
content,
|
|
9
|
+
inline = false,
|
|
10
|
+
nowrap = false,
|
|
11
|
+
...rest
|
|
12
|
+
}: (SvelteHTMLElements['div'] | SvelteHTMLElements['span']) & {
|
|
13
|
+
content: string;
|
|
14
|
+
inline?: boolean;
|
|
15
|
+
nowrap?: boolean;
|
|
16
|
+
} = $props();
|
|
17
|
+
|
|
18
|
+
const nodes = $derived(mdz_parse(content));
|
|
19
|
+
</script>
|
|
20
|
+
|
|
21
|
+
<svelte:element
|
|
22
|
+
this={inline ? 'span' : 'div'}
|
|
23
|
+
{...rest}
|
|
24
|
+
class:white_space_pre={nowrap}
|
|
25
|
+
class:white_space_pre_wrap={!nowrap}
|
|
26
|
+
>
|
|
27
|
+
{#each nodes as node (node)}
|
|
28
|
+
<MdzNodeView {node} />
|
|
29
|
+
{/each}
|
|
30
|
+
</svelte:element>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { SvelteHTMLElements } from 'svelte/elements';
|
|
2
|
+
type $$ComponentProps = (SvelteHTMLElements['div'] | SvelteHTMLElements['span']) & {
|
|
3
|
+
content: string;
|
|
4
|
+
inline?: boolean;
|
|
5
|
+
nowrap?: boolean;
|
|
6
|
+
};
|
|
7
|
+
declare const Mdz: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
8
|
+
type Mdz = ReturnType<typeof Mdz>;
|
|
9
|
+
export default Mdz;
|
|
10
|
+
//# sourceMappingURL=Mdz.svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Mdz.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/Mdz.svelte"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAKvD,KAAK,gBAAgB,GAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,GAAG;IACnF,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAyBH,QAAA,MAAM,GAAG,sDAAwC,CAAC;AAClD,KAAK,GAAG,GAAG,UAAU,CAAC,OAAO,GAAG,CAAC,CAAC;AAClC,eAAe,GAAG,CAAC"}
|