@fuzdev/fuz_ui 0.220.0 โ†’ 0.222.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 CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  > friendly user zystem ๐Ÿงถ [fuz.dev](https://ui.fuz.dev/)
6
6
 
7
- fuz_ui is a Svelte UI library with components and helpers for making zippy
7
+ fuz_ui is a Svelte component library with frontend helpers for making zippy
8
8
  websites. It's built on [fuz_css](https://css.fuz.dev/)
9
9
  and provides a documentation system built on
10
10
  [svelte-docinfo](https://svelte-docinfo.fuz.dev/).
@@ -42,14 +42,20 @@ external types, and more.
42
42
  return filtered.length ? filtered : undefined;
43
43
  });
44
44
 
45
- // the "inferred" chip marks entries found by a `var()` fallback, which only
46
- // distinguishes anything when the list also has `@cssprop`-documented ones
45
+ // the "inferred" chip marks entries found by a `var()` fallback or an
46
+ // `@property` rule, which only distinguishes anything when the list also
47
+ // has `@cssprop`-documented ones
47
48
  const css_property_chips_shown = $derived.by(() => {
48
49
  const css_properties = declaration.css_custom_properties;
49
50
  if (!css_properties) return false;
50
51
  return css_properties.some((p) => p.documented) && css_properties.some((p) => !p.documented);
51
52
  });
52
53
 
54
+ // a documented `default` (the tag's claim) and the style's `fallback` are
55
+ // shown as one row when they agree, as the analyzer compares them
56
+ const css_values_agree = (a: string, b: string): boolean =>
57
+ a.replace(/\s+/g, ' ').trim() === b.replace(/\s+/g, ' ').trim();
58
+
53
59
  // render mdz inline `code` as API-linking `DocsLink` and fenced blocks as syntax-highlighted
54
60
  // `Code`, matching the rest of the docs โ€” the injection mdz core leaves open
55
61
  mdz_set_context_with_fallback(mdz_code_context, () => DocsLink);
@@ -331,14 +337,15 @@ external types, and more.
331
337
  <!-- CSS custom properties (for Svelte components): the styling API a
332
338
  consumer sets on the component or an ancestor; `documented` entries come
333
339
  from `@cssprop` tags and arrive first, the rest are inferred from `var()`
334
- fallbacks in the component's styles, marked only when the list mixes both -->
340
+ fallbacks and `@property` rules in the component's styles, marked only when
341
+ the list mixes both -->
335
342
  {#if declaration.css_custom_properties?.length}
336
343
  <section>
337
344
  <h4>CSS custom properties</h4>
338
345
  {#if css_property_chips_shown}
339
346
  <p>
340
347
  Properties marked <span class="chip">inferred</span> are found by their <code>var()</code>
341
- fallback, not documented with <code>@cssprop</code>.
348
+ fallback or <code>@property</code> rule, not documented with <code>@cssprop</code>.
342
349
  </p>
343
350
  {/if}
344
351
  {#each declaration.css_custom_properties as css_property (css_property.name)}
@@ -358,7 +365,16 @@ external types, and more.
358
365
  <code>{css_property.syntax}</code>
359
366
  </div>
360
367
  {/if}
361
- {#if css_property.fallback !== undefined}
368
+ {#if css_property.default !== undefined}
369
+ <div class="row gap_md">
370
+ <strong>default</strong>
371
+ <Code lang="css" content={dedent_css_fallback(css_property.default)} wrap />
372
+ </div>
373
+ {/if}
374
+ {#if css_property.fallback !== undefined &&
375
+ (css_property.default === undefined ||
376
+ !css_values_agree(css_property.default, css_property.fallback))
377
+ }
362
378
  <div class="row gap_md">
363
379
  <strong>fallback</strong>
364
380
  {#if css_property.fallback}
@@ -1 +1 @@
1
- {"version":3,"file":"DeclarationDetail.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/DeclarationDetail.svelte"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAoB1D,KAAK,gBAAgB,GAAI;IAAE,WAAW,EAAE,WAAW,CAAA;CAAE,CAAC;AAikBvD;;;;;;;;;GASG;AACH,QAAA,MAAM,iBAAiB,sDAAwC,CAAC;AAChE,KAAK,iBAAiB,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC9D,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"DeclarationDetail.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/DeclarationDetail.svelte"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAoB1D,KAAK,gBAAgB,GAAI;IAAE,WAAW,EAAE,WAAW,CAAA;CAAE,CAAC;AA+kBvD;;;;;;;;;GASG;AACH,QAAA,MAAM,iBAAiB,sDAAwC,CAAC;AAChE,KAAK,iBAAiB,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC9D,eAAe,iBAAiB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import type { CspDirectives } from './csp.js';
2
2
  /**
3
3
  * Per-directive sources that allow full interop between fuzdev/sister sites
4
- * (`*.fuz.dev`, `*.zzz.software`) โ€” loading assets and APIs from each other,
4
+ * (`*.fuz.dev`) โ€” loading assets and APIs from each other,
5
5
  * and iframing in both directions.
6
6
  *
7
7
  * Pass into `create_csp_directives({extend: [csp_directives_of_fuzdev]})`.
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Per-directive sources that allow full interop between fuzdev/sister sites
3
- * (`*.fuz.dev`, `*.zzz.software`) โ€” loading assets and APIs from each other,
3
+ * (`*.fuz.dev`) โ€” loading assets and APIs from each other,
4
4
  * and iframing in both directions.
5
5
  *
6
6
  * Pass into `create_csp_directives({extend: [csp_directives_of_fuzdev]})`.
@@ -12,12 +12,12 @@
12
12
  * needs them.
13
13
  */
14
14
  export const csp_directives_of_fuzdev = {
15
- 'img-src': ['https://*.fuz.dev/', 'https://*.zzz.software/'],
16
- 'media-src': ['https://*.fuz.dev/', 'https://*.zzz.software/'],
17
- 'font-src': ['https://*.fuz.dev/', 'https://*.zzz.software/'],
18
- 'connect-src': ['https://*.fuz.dev/', 'https://*.zzz.software/'],
19
- 'frame-src': ['https://*.fuz.dev/', 'https://*.zzz.software/'],
20
- 'frame-ancestors': ['https://*.fuz.dev/', 'https://*.zzz.software/']
15
+ 'img-src': ['https://*.fuz.dev/'],
16
+ 'media-src': ['https://*.fuz.dev/'],
17
+ 'font-src': ['https://*.fuz.dev/'],
18
+ 'connect-src': ['https://*.fuz.dev/'],
19
+ 'frame-src': ['https://*.fuz.dev/'],
20
+ 'frame-ancestors': ['https://*.fuz.dev/']
21
21
  // `child-src` is intentionally omitted โ€” it defaults to `['none']`, and `extend` cannot
22
22
  // append to a `'none'`-valued directive. Including it here would break the common
23
23
  // `create_csp_directives({extend: [csp_directives_of_fuzdev]})` call. `frame-src` is its
@@ -106,9 +106,10 @@ export declare class Declaration {
106
106
  get merged_value(): boolean | undefined;
107
107
  /**
108
108
  * The component's styling API: CSS custom properties its styles read with
109
- * a `var()` fallback, plus any its doc comment documents with `@cssprop`
110
- * tags (`documented`), the documented ones first.
111
- * Present on `component` kind only.
109
+ * a `var()` fallback or register with `@property`, plus any its doc comment
110
+ * documents with `@cssprop` tags (`documented`), the documented ones first.
111
+ * A documented entry carries the tag's `default` beside the style's
112
+ * `fallback`. Present on `component` kind only.
112
113
  */
113
114
  get css_custom_properties(): Array<ComponentCssPropertyJsonInput> | undefined;
114
115
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"declaration.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/declaration.svelte.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"declaration.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/declaration.svelte.ts"],"names":[],"mappings":"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"}
@@ -195,9 +195,10 @@ export class Declaration {
195
195
  }
196
196
  /**
197
197
  * The component's styling API: CSS custom properties its styles read with
198
- * a `var()` fallback, plus any its doc comment documents with `@cssprop`
199
- * tags (`documented`), the documented ones first.
200
- * Present on `component` kind only.
198
+ * a `var()` fallback or register with `@property`, plus any its doc comment
199
+ * documents with `@cssprop` tags (`documented`), the documented ones first.
200
+ * A documented entry carries the tag's `default` beside the style's
201
+ * `fallback`. Present on `component` kind only.
201
202
  */
202
203
  get css_custom_properties() {
203
204
  return field(this.declaration_json, 'cssCustomProperties');
@@ -15,7 +15,7 @@ export declare const docs_links_context: {
15
15
  */
16
16
  export declare const docs_slugify: (str: string) => string;
17
17
  export declare const DOCS_PATH_DEFAULT = "/docs";
18
- export declare const DOCS_PATH: "/" | "/about" | "/docs" | "/docs/Alert" | "/docs/Breadcrumb" | "/docs/Breadcrumb/a" | "/docs/Breadcrumb/a/b" | "/docs/Breadcrumb/a/b/c" | "/docs/Breadcrumb/a/b/c/d" | "/docs/Card" | "/docs/Contextmenu" | "/docs/Details" | "/docs/Dialog" | "/docs/Docs" | "/docs/HueInput" | "/docs/LibraryDetail" | "/docs/LibrarySummary" | "/docs/Library" | "/docs/PendingAnimation" | "/docs/PendingButton" | "/docs/Redirect" | "/docs/Sparkline" | "/docs/Svg" | "/docs/Teleport" | "/docs/ThemeRoot" | "/docs/api" | "/docs/csp" | "/docs/icons" | "/docs/intersect" | "/docs/introduction" | "/docs/logos" | "/docs/theming" | "/docs/vite_plugin_pkg_json" | "/help" | `/${string}/` | `/${`docs/api/${string}` & {}}` | `/${string}/help` | `/${string}/about` | `/${string}/docs` | `/${string}/docs/Alert` | `/${string}/docs/Breadcrumb` | `/${string}/docs/Breadcrumb/a` | `/${string}/docs/Breadcrumb/a/b` | `/${string}/docs/Breadcrumb/a/b/c` | `/${string}/docs/Breadcrumb/a/b/c/d` | `/${string}/docs/Card` | `/${string}/docs/Contextmenu` | `/${string}/docs/Details` | `/${string}/docs/Dialog` | `/${string}/docs/Docs` | `/${string}/docs/HueInput` | `/${string}/docs/LibraryDetail` | `/${string}/docs/LibrarySummary` | `/${string}/docs/Library` | `/${string}/docs/PendingAnimation` | `/${string}/docs/PendingButton` | `/${string}/docs/Redirect` | `/${string}/docs/Sparkline` | `/${string}/docs/Svg` | `/${string}/docs/Teleport` | `/${string}/docs/ThemeRoot` | `/${string}/docs/api` | `/${string}/${`docs/api/${string}` & {}}` | `/${string}/docs/csp` | `/${string}/docs/icons` | `/${string}/docs/intersect` | `/${string}/docs/introduction` | `/${string}/docs/logos` | `/${string}/docs/theming` | `/${string}/docs/vite_plugin_pkg_json`;
18
+ export declare const DOCS_PATH: "/" | "/about" | "/docs" | "/docs/Alert" | "/docs/Breadcrumb" | "/docs/Breadcrumb/a" | "/docs/Breadcrumb/a/b" | "/docs/Breadcrumb/a/b/c" | "/docs/Breadcrumb/a/b/c/d" | "/docs/Card" | "/docs/Contextmenu" | "/docs/Details" | "/docs/Dialog" | "/docs/Docs" | "/docs/HueInput" | "/docs/LibrarySummary" | "/docs/Library" | "/docs/PendingAnimation" | "/docs/PendingButton" | "/docs/Redirect" | "/docs/Sparkline" | "/docs/Svg" | "/docs/Teleport" | "/docs/ThemeRoot" | "/docs/api" | "/docs/csp" | "/docs/icons" | "/docs/intersect" | "/docs/introduction" | "/docs/logos" | "/docs/theming" | "/docs/vite_plugin_pkg_json" | "/help" | `/${string}/` | `/${`docs/api/${string}` & {}}` | `/${string}/help` | `/${string}/about` | `/${string}/docs` | `/${string}/docs/Alert` | `/${string}/docs/Breadcrumb` | `/${string}/docs/Breadcrumb/a` | `/${string}/docs/Breadcrumb/a/b` | `/${string}/docs/Breadcrumb/a/b/c` | `/${string}/docs/Breadcrumb/a/b/c/d` | `/${string}/docs/Card` | `/${string}/docs/Contextmenu` | `/${string}/docs/Details` | `/${string}/docs/Dialog` | `/${string}/docs/Docs` | `/${string}/docs/HueInput` | `/${string}/docs/LibrarySummary` | `/${string}/docs/Library` | `/${string}/docs/PendingAnimation` | `/${string}/docs/PendingButton` | `/${string}/docs/Redirect` | `/${string}/docs/Sparkline` | `/${string}/docs/Svg` | `/${string}/docs/Teleport` | `/${string}/docs/ThemeRoot` | `/${string}/docs/api` | `/${string}/${`docs/api/${string}` & {}}` | `/${string}/docs/csp` | `/${string}/docs/icons` | `/${string}/docs/intersect` | `/${string}/docs/introduction` | `/${string}/docs/logos` | `/${string}/docs/theming` | `/${string}/docs/vite_plugin_pkg_json`;
19
19
  export declare const DOCS_API_PATH: string;
20
20
  export declare const to_docs_path_info: (path_slug: string, pathname: string, root_path?: string) => {
21
21
  path: string;
@@ -1 +1 @@
1
- {"version":3,"file":"docs_helpers.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/docs_helpers.svelte.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAKzD,eAAO,MAAM,kBAAkB;;;;CAA8B,CAAC;AAE9D;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,KAAG,MAY1C,CAAC;AAEF,eAAO,MAAM,iBAAiB,UAAU,CAAC;AACzC,eAAO,MAAM,SAAS,6qDAAmB,CAAC;AAC1C,eAAO,MAAM,aAAa,QAAqB,CAAC;AAEhD,eAAO,MAAM,iBAAiB,GAC7B,WAAW,MAAM,EACjB,UAAU,MAAM,EAChB,kBAA6B,KAC3B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;CAK7E,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE7C,MAAM,WAAW,YAAY;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,WAAW,GAAG,SAAS,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED,qBAAa,SAAS;;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC,CAAmB;IAgBlE,UAAU,iBA4BP;IAEH,QAAQ,CAAC,kBAAkB,EAAE,SAAS,CAAC,MAAM,CAAC,CAAmB;gBAErD,SAAS,SAAoB;IAIzC,GAAG,CACF,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,GAAG,CAAC,EAAE,WAAW,EACjB,KAAK,SAAI,EACT,SAAS,CAAC,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,MAAM,GAClB,MAAM;IAkBT,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAIxB;;;OAGG;IACH,mBAAmB,IAAI,MAAM;CAG7B"}
1
+ {"version":3,"file":"docs_helpers.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/docs_helpers.svelte.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAKzD,eAAO,MAAM,kBAAkB;;;;CAA8B,CAAC;AAE9D;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,KAAG,MAY1C,CAAC;AAEF,eAAO,MAAM,iBAAiB,UAAU,CAAC;AACzC,eAAO,MAAM,SAAS,mnDAAmB,CAAC;AAC1C,eAAO,MAAM,aAAa,QAAqB,CAAC;AAEhD,eAAO,MAAM,iBAAiB,GAC7B,WAAW,MAAM,EACjB,UAAU,MAAM,EAChB,kBAA6B,KAC3B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;CAK7E,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE7C,MAAM,WAAW,YAAY;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,WAAW,GAAG,SAAS,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED,qBAAa,SAAS;;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC,CAAmB;IAgBlE,UAAU,iBA4BP;IAEH,QAAQ,CAAC,kBAAkB,EAAE,SAAS,CAAC,MAAM,CAAC,CAAmB;gBAErD,SAAS,SAAoB;IAIzC,GAAG,CACF,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,GAAG,CAAC,EAAE,WAAW,EACjB,KAAK,SAAI,EACT,SAAS,CAAC,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,MAAM,GAClB,MAAM;IAkBT,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAIxB;;;OAGG;IACH,mBAAmB,IAAI,MAAM;CAG7B"}
@@ -8,8 +8,8 @@ import { Module } from './module.svelte.js';
8
8
  * The getter form keeps consumers reactive when the library changes without
9
9
  * requiring a remount โ€” set it with a closure over reactive state, e.g.
10
10
  * `library_context.set(() => library)`. Components that accept a `library`
11
- * prop (`LibraryDetail`, `ApiIndex`, `ApiModule`) project the prop into this
12
- * context for their subtree, so descendants like `ModuleLink`,
11
+ * prop (`ApiIndex`, `ApiModule`) project the prop into this context for their
12
+ * subtree, so descendants like `ModuleLink`,
13
13
  * `DeclarationLink`, and TSDoc-rendered `DocsLink` resolve against the same
14
14
  * library โ€” including when an aggregator renders a foreign library that
15
15
  * differs from the site-level context.
@@ -9,8 +9,8 @@ import { package_is_published, repo_name_parse, repo_url_github_owner, repo_url_
9
9
  * The getter form keeps consumers reactive when the library changes without
10
10
  * requiring a remount โ€” set it with a closure over reactive state, e.g.
11
11
  * `library_context.set(() => library)`. Components that accept a `library`
12
- * prop (`LibraryDetail`, `ApiIndex`, `ApiModule`) project the prop into this
13
- * context for their subtree, so descendants like `ModuleLink`,
12
+ * prop (`ApiIndex`, `ApiModule`) project the prop into this context for their
13
+ * subtree, so descendants like `ModuleLink`,
14
14
  * `DeclarationLink`, and TSDoc-rendered `DocsLink` resolve against the same
15
15
  * library โ€” including when an aggregator renders a foreign library that
16
16
  * differs from the site-level context.
package/dist/logos.d.ts CHANGED
@@ -55,7 +55,7 @@ export declare const logo_fuz_repos: {
55
55
  d: string;
56
56
  }[];
57
57
  };
58
- export declare const logo_fuz_docs: {
58
+ export declare const logo_docs_fuz_dev: {
59
59
  label: string;
60
60
  fill: string;
61
61
  paths: {
@@ -69,24 +69,25 @@ export declare const logo_svelte_docinfo: {
69
69
  d: string;
70
70
  }[];
71
71
  };
72
- export declare const logo_fuz_template: {
72
+ export declare const logo_mdz: {
73
73
  label: string;
74
74
  fill: string;
75
75
  paths: {
76
+ 'fill-rule': "evenodd";
76
77
  d: string;
77
78
  }[];
78
79
  };
79
- export declare const logo_fuz_util: {
80
+ export declare const logo_fuz_template: {
80
81
  label: string;
82
+ fill: string;
81
83
  paths: {
82
- fill: string;
83
84
  d: string;
84
85
  }[];
85
86
  };
86
- export declare const logo_fuz_host: {
87
+ export declare const logo_fuz_util: {
87
88
  label: string;
88
- fill: string;
89
89
  paths: {
90
+ fill: string;
90
91
  d: string;
91
92
  }[];
92
93
  };
@@ -1 +1 @@
1
- {"version":3,"file":"logos.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/logos.ts"],"names":[],"mappings":"AAuBA,eAAO,MAAM,QAAQ;;;;;;CAgCF,CAAC;AAEpB,eAAO,MAAM,QAAQ;;;;;;CAQF,CAAC;AAEpB,eAAO,MAAM,YAAY;;;;;;CAIN,CAAC;AAEpB,eAAO,MAAM,YAAY;;;;;;;CAKN,CAAC;AAEpB,eAAO,MAAM,WAAW;;;;;;CAIL,CAAC;AAEpB,eAAO,MAAM,aAAa;;;;;;CAIP,CAAC;AAEpB,eAAO,MAAM,aAAa;;;;;;CAIP,CAAC;AAEpB,eAAO,MAAM,cAAc;;;;;;CAIR,CAAC;AAEpB,eAAO,MAAM,aAAa;;;;;;CAIP,CAAC;AAEpB,eAAO,MAAM,mBAAmB;;;;;;CAQb,CAAC;AAEpB,eAAO,MAAM,iBAAiB;;;;;;CAQX,CAAC;AAEpB,eAAO,MAAM,aAAa;;;;;;CAwBP,CAAC;AAEpB,eAAO,MAAM,aAAa;;;;;;CAQP,CAAC;AAEpB,eAAO,MAAM,QAAQ;;;;;;CAQF,CAAC;AAEpB,eAAO,MAAM,WAAW;;;;;;;;;CAWL,CAAC;AAEpB,eAAO,MAAM,QAAQ;;;;;;CAQF,CAAC"}
1
+ {"version":3,"file":"logos.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/logos.ts"],"names":[],"mappings":"AAuBA,eAAO,MAAM,QAAQ;;;;;;CAgCF,CAAC;AAEpB,eAAO,MAAM,QAAQ;;;;;;CAQF,CAAC;AAEpB,eAAO,MAAM,YAAY;;;;;;CAIN,CAAC;AAEpB,eAAO,MAAM,YAAY;;;;;;;CAKN,CAAC;AAEpB,eAAO,MAAM,WAAW;;;;;;CAIL,CAAC;AAEpB,eAAO,MAAM,aAAa;;;;;;CAIP,CAAC;AAEpB,eAAO,MAAM,aAAa;;;;;;CAIP,CAAC;AAEpB,eAAO,MAAM,cAAc;;;;;;CAIR,CAAC;AAEpB,eAAO,MAAM,iBAAiB;;;;;;CAIX,CAAC;AAEpB,eAAO,MAAM,mBAAmB;;;;;;CAQb,CAAC;AAEpB,eAAO,MAAM,QAAQ;;;;;;;CASF,CAAC;AAEpB,eAAO,MAAM,iBAAiB;;;;;;CAQX,CAAC;AAEpB,eAAO,MAAM,aAAa;;;;;;CAwBP,CAAC;AAEpB,eAAO,MAAM,QAAQ;;;;;;CAQF,CAAC;AAEpB,eAAO,MAAM,WAAW;;;;;;;;;CAWL,CAAC;AAEpB,eAAO,MAAM,QAAQ;;;;;;CAQF,CAAC"}
package/dist/logos.js CHANGED
@@ -90,7 +90,7 @@ export const logo_fuz_repos = {
90
90
  fill: '#6199d1',
91
91
  paths: logo_fuz.paths
92
92
  };
93
- export const logo_fuz_docs = {
93
+ export const logo_docs_fuz_dev = {
94
94
  label: 'a friendly cyan spider facing you',
95
95
  fill: '#1ec3d2',
96
96
  paths: logo_fuz.paths
@@ -104,6 +104,16 @@ export const logo_svelte_docinfo = {
104
104
  }
105
105
  ]
106
106
  };
107
+ export const logo_mdz = {
108
+ label: 'a purple pen nib hovering over an inkwell with a glint of light',
109
+ fill: '#8866cc',
110
+ paths: [
111
+ {
112
+ 'fill-rule': 'evenodd',
113
+ d: 'M36.05 40.56H61.35Q64.27 40.56 64.27 43.48V48.35H59.4V56.13L71.08 56.13Q80.81 56.13 82.76 65.86Q86.26 76.56 86.65 87.27Q87.62 97 77.89 97H19.51Q9.78 97 10.76 87.27Q11.14 76.56 14.65 65.86Q16.59 56.13 26.32 56.13L38 56.13V48.35H33.13V43.48Q33.13 40.56 36.05 40.56ZM23.04 64.89Q17.76 76.56 19.37 89.21L24.23 89.21Q22.55 77.54 26.71 65.86ZM53.57 35.7L64.72 12.36L79.22 2.99L90.22 16.12L78.49 28.77ZM67.95 22.37L55.4 32.9L56.64 34.37L69.2 23.85ZM67.78 21.25a2.99 2.99 0 1 1 6 0a2.99 2.99 0 1 1 -6 0Z'
114
+ }
115
+ ]
116
+ };
107
117
  export const logo_fuz_template = {
108
118
  label: 'a friendly orange pixelated spider facing you',
109
119
  fill: '#f4672f',
@@ -138,15 +148,6 @@ export const logo_fuz_util = {
138
148
  }
139
149
  ]
140
150
  };
141
- export const logo_fuz_host = {
142
- label: 'a brown nautilus shell, spiraling inward',
143
- fill: '#84522a',
144
- paths: [
145
- {
146
- d: 'M53.74,61.53 53.57,62.00 53.27,62.41 52.85,62.72 52.37,62.91 51.84,62.96 51.32,62.88 50.81,62.66 50.39,62.33 50.06,61.93 49.82,61.44 49.70,60.94 49.68,60.40 49.78,59.86 49.97,59.36 50.27,58.90 50.66,58.50 51.09,58.19 51.59,57.95 52.14,57.81 52.67,57.76 53.21,57.80 53.75,57.93 54.28,58.16 54.73,58.44 55.15,58.80 55.51,59.22 55.82,59.70 56.05,60.24 56.21,60.81 56.28,61.36 56.27,61.98 56.17,62.55 55.82,63.54 55.22,64.44 54.39,65.21 53.43,65.75 52.35,66.07 51.18,66.15 50.06,65.98 48.97,65.57 48.02,64.98 47.24,64.26 46.54,63.31 46.05,62.30 45.73,61.18 45.62,60.00 45.73,58.79 46.02,57.68 46.35,56.89 46.72,56.23 47.17,55.60 47.68,55.01 48.27,54.47 48.92,53.98 50.27,53.25 51.78,52.79 53.40,52.62 54.30,52.66 55.07,52.77 56.61,53.20 57.48,53.59 58.20,53.99 59.54,55.01 60.71,56.29 61.67,57.79 62.05,58.62 62.35,59.49 62.72,61.17 62.80,62.13 62.80,63.10 62.57,64.90 62.31,65.88 61.96,66.84 61.09,68.54 59.92,70.12 59.17,70.91 58.48,71.52 57.58,72.19 56.79,72.69 55.06,73.52 53.95,73.90 52.99,74.15 50.99,74.42 49.76,74.44 48.52,74.35 47.27,74.14 46.03,73.82 44.80,73.39 43.61,72.84 42.45,72.17 41.34,71.39 40.29,70.51 39.31,69.52 38.41,68.44 37.73,67.46 37.00,66.21 36.48,65.11 35.95,63.72 35.60,62.52 35.26,60.78 35.11,58.98 35.14,57.15 35.32,55.57 35.72,53.72 36.21,52.16 36.86,50.62 37.65,49.13 38.58,47.70 39.65,46.34 40.86,45.06 42.19,43.88 43.64,42.80 45.21,41.85 46.87,41.03 48.63,40.36 50.78,39.76 52.68,39.43 54.97,39.26 56.97,39.30 59.31,39.57 61.32,40.01 63.31,40.64 65.26,41.45 67.15,42.44 68.98,43.62 70.71,44.97 72.34,46.49 73.85,48.18 75.22,50.02 76.43,52.00 77.32,53.75 78.21,55.96 78.92,58.27 79.42,60.66 79.71,63.13 79.78,65.64 79.63,68.18 79.24,70.74 78.61,73.28 77.75,75.80 76.65,78.26 75.32,80.64 74.04,82.55 72.29,84.74 70.68,86.46 68.54,88.38 66.62,89.85 64.14,91.43 61.49,92.81 58.70,93.96 55.77,94.86 52.73,95.51 49.61,95.90 46.42,96.00 43.19,95.81 39.94,95.33 36.71,94.55 33.52,93.47 30.91,92.34 27.86,90.71 25.41,89.13 22.59,86.97 20.38,84.97 18.70,83.23 17.50,81.85 16.36,80.40 15.28,78.90 14.25,77.34 13.30,75.73 12.40,74.06 11.58,72.34 10.60,69.98 9.95,68.16 9.38,66.30 8.89,64.40 8.49,62.47 8.16,60.51 7.93,58.52 7.78,56.51 7.72,54.48 7.76,52.44 7.88,50.39 8.10,48.33 8.41,46.27 8.82,44.21 9.71,40.80 10.37,38.76 11.13,36.75 11.98,34.76 12.93,32.79 13.97,30.86 15.11,28.96 17.20,25.89 19.06,23.53 20.55,21.81 22.13,20.16 23.79,18.57 25.54,17.04 27.36,15.58 29.26,14.20 31.24,12.89 33.98,11.28 36.11,10.17 38.31,9.15 40.56,8.22 42.87,7.39 45.23,6.66 47.64,6.03 50.09,5.48 53.41,4.87 55.95,4.51 58.53,4.24 61.14,4.07 63.79,4.00 66.46,4.04 69.15,4.21 71.86,4.49 74.58,4.91 77.29,5.46 80.00,6.15 81.79,6.69 84.46,7.62 87.09,8.70 89.68,9.94 91.37,10.85 91.75,11.23 92.03,11.68 92.20,12.20 92.28,12.77 92.25,13.41 91.93,14.82 91.65,15.59 90.87,17.25 89.82,19.03 88.55,20.90 87.10,22.83 84.68,25.74 82.95,27.65 80.30,30.39 78.55,32.08 76.05,34.32 73.83,36.12 72.01,37.35 71.09,37.81 70.46,37.93 67.90,36.68 65.47,35.74 63.00,35.04 60.10,34.53 58.03,34.35 55.58,34.34 53.57,34.49 51.21,34.85 48.92,35.40 46.72,36.14 44.63,37.06 42.33,38.34 40.51,39.60 38.83,41.01 37.30,42.54 35.72,44.46 34.74,45.90 33.71,47.71 32.87,49.57 32.20,51.47 31.71,53.40 31.40,55.34 31.27,57.28 31.31,59.19 31.52,61.06 31.89,62.89 32.41,64.64 33.21,66.60 34.03,68.18 34.99,69.65 36.05,71.02 37.43,72.46 38.48,73.39 39.59,74.23 40.74,74.97 42.18,75.74 43.41,76.27 44.91,76.78 46.18,77.10 47.70,77.34 48.97,77.45 50.48,77.44 51.97,77.31 53.41,77.04 54.81,76.66 56.15,76.15 57.42,75.54 58.61,74.82 59.54,74.16 60.41,73.43 61.21,72.65 62.09,71.65 62.73,70.78 63.41,69.67 63.90,68.73 64.38,67.56 64.69,66.57 64.97,65.37 65.13,64.17 65.19,62.97 65.14,61.79 64.98,60.64 64.73,59.51 64.38,58.43 63.95,57.40 63.43,56.43 62.83,55.52 62.16,54.68 61.43,53.91 60.65,53.22 59.82,52.61 58.95,52.08 58.05,51.64 57.12,51.29 56.18,51.03 55.08,50.83 54.13,50.75 53.04,50.77 51.98,50.90 50.95,51.14 49.30,51.77 48.54,52.19 47.71,52.75 46.48,53.88 45.95,54.51 45.42,55.28 45.04,55.98 44.68,56.82 44.44,57.56 44.25,58.43 44.16,59.30 44.16,60.16 44.25,61.00 44.42,61.82 44.80,62.92 45.39,64.03 46.13,65.00 47.00,65.81 47.97,66.46 49.10,66.96 50.27,67.24 51.44,67.31 52.75,67.13 53.96,66.70 55.02,66.05 55.95,65.15 56.63,64.11 57.06,62.90 57.20,61.67 57.04,60.49 56.84,59.87 56.52,59.23 56.17,58.71 55.71,58.21 55.19,57.79 54.63,57.47 54.04,57.23 53.43,57.09 52.83,57.04 52.18,57.09 51.56,57.24 50.99,57.48 50.48,57.81 50.00,58.24 49.62,58.74 49.34,59.28 49.17,59.85 49.11,60.42 49.14,60.98 49.28,61.51 49.50,61.99 49.82,62.45 50.21,62.82 50.65,63.11 51.13,63.29 51.61,63.38 52.13,63.36 52.61,63.25 53.05,63.04 53.44,62.73 53.74,62.36 53.95,61.92 54.06,61.40 54.02,60.90 53.84,60.42 53.56,60.03 53.17,59.74 52.72,59.58 52.24,59.57 51.81,59.71 51.52,59.91 51.21,60.25 51.01,60.59 50.90,60.96 50.88,61.32 50.95,61.67 51.10,62.00 51.32,62.26 51.63,62.49 52.00,62.63 52.38,62.66 52.75,62.60 53.10,62.44 53.40,62.20 53.62,61.88 53.74,61.53Z'
147
- }
148
- ]
149
- };
150
151
  export const logo_tsv = {
151
152
  label: 'a pixelated orange quill drawing a precise line',
152
153
  fill: '#f4672f',
package/dist/projects.js CHANGED
@@ -1,20 +1,20 @@
1
1
  import {
2
2
  // TODO when fuz.dev is ready
3
3
  // logo_fuz,
4
- logo_fuz_ui, logo_fuz_code, logo_fuz_blog, logo_fuz_repos, logo_fuz_template, logo_fuz_css, logo_fuz_util, logo_fuz_host, logo_gro, logo_svelte_docinfo, logo_fuz_app, logo_tsv } from './logos.js';
4
+ logo_fuz_ui, logo_fuz_code, logo_mdz, logo_fuz_blog, logo_fuz_repos, logo_fuz_template, logo_fuz_css, logo_fuz_util, logo_gro, logo_svelte_docinfo, logo_fuz_app, logo_tsv } from './logos.js';
5
5
  // TODO ideally this wouldn't duplicate metadata like descriptions, but adding fuz_repos to this repo is heavy
6
6
  // prettier-ignore
7
7
  export const project_items = [
8
8
  { name: 'fuz_app', url: 'https://app.fuz.dev/', logo: logo_fuz_app, description: '[pre-alpha] fullstack app library', glyph: '๐Ÿ—', color_class: 'color_j_50' },
9
9
  { name: 'fuz_css', url: 'https://css.fuz.dev/', logo: logo_fuz_css, description: 'semantic-first CSS framework and design system', glyph: '๐ŸŒฟ', color_class: 'color_b_50' },
10
- { name: 'fuz_ui', url: 'https://ui.fuz.dev/', logo: logo_fuz_ui, description: 'Svelte UI library', glyph: '๐Ÿงถ', color_class: 'color_c_50' },
11
- { name: 'fuz_template', url: 'https://template.fuz.dev/', logo: logo_fuz_template, description: 'a web app template with TypeScript + SvelteKit + optional Rust for the fuz-stack', glyph: 'โ„', color_class: 'color_h_50' },
10
+ { name: 'fuz_ui', url: 'https://ui.fuz.dev/', logo: logo_fuz_ui, description: 'Svelte component library and frontend helpers', glyph: '๐Ÿงถ', color_class: 'color_c_50' },
11
+ { name: 'fuz_template', url: 'https://template.fuz.dev/', logo: logo_fuz_template, description: 'starter template for SvelteKit web apps, Rust native tools, or both', glyph: 'โ„', color_class: 'color_h_50' },
12
12
  { name: 'fuz_blog', url: 'https://blog.fuz.dev/', logo: logo_fuz_blog, description: 'blog software from scratch with SvelteKit', glyph: '๐Ÿ–Š๏ธ', color_class: 'color_e_50' },
13
13
  { name: 'fuz_code', url: 'https://code.fuz.dev/', logo: logo_fuz_code, description: 'syntax styling utilities and components for TypeScript, Svelte, Markdown, and more', glyph: '๐ŸŽจ', color_class: 'color_g_50' },
14
+ { name: 'mdz', url: 'https://mdz.fuz.dev/', logo: logo_mdz, description: 'a strict markdown dialect built for streaming, Svelte authoring, docs websites, and untrusted content', glyph: '๐Ÿ“', color_class: 'color_d_50' },
14
15
  { name: 'fuz_repos', url: 'https://repos.fuz.dev/', logo: logo_fuz_repos, description: 'a tool for managing many repos', glyph: '๐Ÿช„', color_class: 'color_a_50' },
15
16
  { name: 'svelte-docinfo', url: 'https://svelte-docinfo.fuz.dev/', logo: logo_svelte_docinfo, description: 'static analysis for TypeScript and Svelte', glyph: '๐Ÿ“œ', color_class: 'color_i_50' },
16
17
  { name: 'fuz_util', url: 'https://util.fuz.dev/', logo: logo_fuz_util, description: 'utility belt for JS', glyph: '๐Ÿฆ•', color_class: 'color_f_50' },
17
- { name: 'fuz_host', url: 'https://host.fuz.dev/', logo: logo_fuz_host, description: 'host APIs for JS: filesystem, processes, and the OS, one import across runtimes', glyph: '๐Ÿš', color_class: 'color_f_50' },
18
- { name: 'gro', url: 'https://github.com/fuzdev/gro', logo: logo_gro, description: 'task runner and toolkit extending SvelteKit', glyph: '๐ŸŒฐ', color_class: 'color_f_50' },
18
+ { name: 'gro', url: 'https://github.com/fuzdev/gro', logo: logo_gro, description: 'security-first JS runtime and toolchain on V8', glyph: '๐ŸŒฐ', color_class: 'color_f_50' },
19
19
  { name: 'tsv', url: 'https://tsv.fuz.dev/', logo: logo_tsv, description: 'precise language tools for TypeScript/JS, CSS, and Svelte in Rust', glyph: '๐Ÿชถ', color_class: 'color_h_50' },
20
20
  ];
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@fuzdev/fuz_ui",
3
- "version": "0.220.0",
4
- "description": "Svelte UI library",
3
+ "version": "0.222.0",
4
+ "description": "Svelte component library and frontend helpers",
5
5
  "tagline": "friendly user zystem",
6
6
  "glyph": "๐Ÿงถ",
7
7
  "logo": "logo.svg",
8
- "logo_alt": "a friendly brown spider facing you",
8
+ "logo_alt": "a friendly red spider facing you",
9
9
  "license": "0BSD",
10
10
  "homepage": "https://ui.fuz.dev/",
11
11
  "author": {
@@ -37,11 +37,11 @@
37
37
  "node": ">=24.14"
38
38
  },
39
39
  "peerDependencies": {
40
- "@fuzdev/fuz_code": ">=0.54.0",
41
- "@fuzdev/fuz_css": ">=0.70.0",
42
- "@fuzdev/fuz_util": ">=0.77.0",
43
- "@fuzdev/gro": ">=0.220.0",
44
- "@fuzdev/mdz": ">=0.6.0",
40
+ "@fuzdev/fuz_code": ">=0.56.0",
41
+ "@fuzdev/fuz_css": ">=0.72.0",
42
+ "@fuzdev/fuz_util": ">=0.79.0",
43
+ "@fuzdev/gro": ">=0.223.0",
44
+ "@fuzdev/mdz": ">=0.7.0",
45
45
  "@sveltejs/kit": "^3",
46
46
  "esm-env": "^1",
47
47
  "svelte": "^5"
@@ -63,26 +63,25 @@
63
63
  "devDependencies": {
64
64
  "@changesets/changelog-git": "^0.2.1",
65
65
  "@fuzdev/blake3-wasm": "^0.2.0",
66
- "@fuzdev/fuz_code": "^0.54.0",
67
- "@fuzdev/fuz_css": "^0.71.0",
66
+ "@fuzdev/fuz_code": "^0.56.0",
67
+ "@fuzdev/fuz_css": "^0.72.0",
68
68
  "@fuzdev/fuz_schema": "^0.5.0",
69
- "@fuzdev/fuz_util": "^0.77.0",
70
- "@fuzdev/gro": "^0.220.0",
71
- "@fuzdev/mdz": "^0.6.0",
69
+ "@fuzdev/fuz_util": "^0.79.0",
70
+ "@fuzdev/gro": "^0.224.0",
71
+ "@fuzdev/mdz": "^0.7.0",
72
72
  "@ryanatkn/eslint-config": "^0.13.1",
73
73
  "@sveltejs/adapter-static": "^4.0.0",
74
74
  "@sveltejs/kit": "^3.0.1",
75
75
  "@sveltejs/package": "^3.0.0",
76
76
  "@sveltejs/vite-plugin-svelte": "^7.3.1",
77
77
  "@types/node": "^24.10.1",
78
- "@webref/css": "^8.2.0",
79
78
  "eslint": "^9.39.4",
80
79
  "eslint-plugin-svelte": "^3.19.0",
81
80
  "esm-env": "^1.2.2",
82
81
  "jsdom": "^29.1.1",
83
82
  "svelte": "^5.57.2",
84
83
  "svelte-check": "^4.7.6",
85
- "svelte-docinfo": "^0.16.0",
84
+ "svelte-docinfo": "^0.17.0",
86
85
  "tslib": "^2.8.1",
87
86
  "typescript": "^6.0.3",
88
87
  "typescript-eslint": "^8.71.1",
@@ -2,7 +2,7 @@ import type { CspDirectives } from './csp.ts';
2
2
 
3
3
  /**
4
4
  * Per-directive sources that allow full interop between fuzdev/sister sites
5
- * (`*.fuz.dev`, `*.zzz.software`) โ€” loading assets and APIs from each other,
5
+ * (`*.fuz.dev`) โ€” loading assets and APIs from each other,
6
6
  * and iframing in both directions.
7
7
  *
8
8
  * Pass into `create_csp_directives({extend: [csp_directives_of_fuzdev]})`.
@@ -14,12 +14,12 @@ import type { CspDirectives } from './csp.ts';
14
14
  * needs them.
15
15
  */
16
16
  export const csp_directives_of_fuzdev: Partial<CspDirectives> = {
17
- 'img-src': ['https://*.fuz.dev/', 'https://*.zzz.software/'],
18
- 'media-src': ['https://*.fuz.dev/', 'https://*.zzz.software/'],
19
- 'font-src': ['https://*.fuz.dev/', 'https://*.zzz.software/'],
20
- 'connect-src': ['https://*.fuz.dev/', 'https://*.zzz.software/'],
21
- 'frame-src': ['https://*.fuz.dev/', 'https://*.zzz.software/'],
22
- 'frame-ancestors': ['https://*.fuz.dev/', 'https://*.zzz.software/']
17
+ 'img-src': ['https://*.fuz.dev/'],
18
+ 'media-src': ['https://*.fuz.dev/'],
19
+ 'font-src': ['https://*.fuz.dev/'],
20
+ 'connect-src': ['https://*.fuz.dev/'],
21
+ 'frame-src': ['https://*.fuz.dev/'],
22
+ 'frame-ancestors': ['https://*.fuz.dev/']
23
23
  // `child-src` is intentionally omitted โ€” it defaults to `['none']`, and `extend` cannot
24
24
  // append to a `'none'`-valued directive. Including it here would break the common
25
25
  // `create_csp_directives({extend: [csp_directives_of_fuzdev]})` call. `frame-src` is its
@@ -254,9 +254,10 @@ export class Declaration {
254
254
 
255
255
  /**
256
256
  * The component's styling API: CSS custom properties its styles read with
257
- * a `var()` fallback, plus any its doc comment documents with `@cssprop`
258
- * tags (`documented`), the documented ones first.
259
- * Present on `component` kind only.
257
+ * a `var()` fallback or register with `@property`, plus any its doc comment
258
+ * documents with `@cssprop` tags (`documented`), the documented ones first.
259
+ * A documented entry carries the tag's `default` beside the style's
260
+ * `fallback`. Present on `component` kind only.
260
261
  */
261
262
  get css_custom_properties(): Array<ComponentCssPropertyJsonInput> | undefined {
262
263
  return field<Array<ComponentCssPropertyJsonInput>>(
@@ -21,8 +21,8 @@ import {
21
21
  * The getter form keeps consumers reactive when the library changes without
22
22
  * requiring a remount โ€” set it with a closure over reactive state, e.g.
23
23
  * `library_context.set(() => library)`. Components that accept a `library`
24
- * prop (`LibraryDetail`, `ApiIndex`, `ApiModule`) project the prop into this
25
- * context for their subtree, so descendants like `ModuleLink`,
24
+ * prop (`ApiIndex`, `ApiModule`) project the prop into this context for their
25
+ * subtree, so descendants like `ModuleLink`,
26
26
  * `DeclarationLink`, and TSDoc-rendered `DocsLink` resolve against the same
27
27
  * library โ€” including when an aggregator renders a foreign library that
28
28
  * differs from the site-level context.
package/src/lib/logos.ts CHANGED
@@ -102,7 +102,7 @@ export const logo_fuz_repos = {
102
102
  paths: logo_fuz.paths
103
103
  } satisfies SvgData;
104
104
 
105
- export const logo_fuz_docs = {
105
+ export const logo_docs_fuz_dev = {
106
106
  label: 'a friendly cyan spider facing you',
107
107
  fill: '#1ec3d2',
108
108
  paths: logo_fuz.paths
@@ -118,6 +118,17 @@ export const logo_svelte_docinfo = {
118
118
  ]
119
119
  } satisfies SvgData;
120
120
 
121
+ export const logo_mdz = {
122
+ label: 'a purple pen nib hovering over an inkwell with a glint of light',
123
+ fill: '#8866cc',
124
+ paths: [
125
+ {
126
+ 'fill-rule': 'evenodd',
127
+ d: 'M36.05 40.56H61.35Q64.27 40.56 64.27 43.48V48.35H59.4V56.13L71.08 56.13Q80.81 56.13 82.76 65.86Q86.26 76.56 86.65 87.27Q87.62 97 77.89 97H19.51Q9.78 97 10.76 87.27Q11.14 76.56 14.65 65.86Q16.59 56.13 26.32 56.13L38 56.13V48.35H33.13V43.48Q33.13 40.56 36.05 40.56ZM23.04 64.89Q17.76 76.56 19.37 89.21L24.23 89.21Q22.55 77.54 26.71 65.86ZM53.57 35.7L64.72 12.36L79.22 2.99L90.22 16.12L78.49 28.77ZM67.95 22.37L55.4 32.9L56.64 34.37L69.2 23.85ZM67.78 21.25a2.99 2.99 0 1 1 6 0a2.99 2.99 0 1 1 -6 0Z'
128
+ }
129
+ ]
130
+ } satisfies SvgData;
131
+
121
132
  export const logo_fuz_template = {
122
133
  label: 'a friendly orange pixelated spider facing you',
123
134
  fill: '#f4672f',
@@ -154,16 +165,6 @@ export const logo_fuz_util = {
154
165
  ]
155
166
  } satisfies SvgData;
156
167
 
157
- export const logo_fuz_host = {
158
- label: 'a brown nautilus shell, spiraling inward',
159
- fill: '#84522a',
160
- paths: [
161
- {
162
- d: 'M53.74,61.53 53.57,62.00 53.27,62.41 52.85,62.72 52.37,62.91 51.84,62.96 51.32,62.88 50.81,62.66 50.39,62.33 50.06,61.93 49.82,61.44 49.70,60.94 49.68,60.40 49.78,59.86 49.97,59.36 50.27,58.90 50.66,58.50 51.09,58.19 51.59,57.95 52.14,57.81 52.67,57.76 53.21,57.80 53.75,57.93 54.28,58.16 54.73,58.44 55.15,58.80 55.51,59.22 55.82,59.70 56.05,60.24 56.21,60.81 56.28,61.36 56.27,61.98 56.17,62.55 55.82,63.54 55.22,64.44 54.39,65.21 53.43,65.75 52.35,66.07 51.18,66.15 50.06,65.98 48.97,65.57 48.02,64.98 47.24,64.26 46.54,63.31 46.05,62.30 45.73,61.18 45.62,60.00 45.73,58.79 46.02,57.68 46.35,56.89 46.72,56.23 47.17,55.60 47.68,55.01 48.27,54.47 48.92,53.98 50.27,53.25 51.78,52.79 53.40,52.62 54.30,52.66 55.07,52.77 56.61,53.20 57.48,53.59 58.20,53.99 59.54,55.01 60.71,56.29 61.67,57.79 62.05,58.62 62.35,59.49 62.72,61.17 62.80,62.13 62.80,63.10 62.57,64.90 62.31,65.88 61.96,66.84 61.09,68.54 59.92,70.12 59.17,70.91 58.48,71.52 57.58,72.19 56.79,72.69 55.06,73.52 53.95,73.90 52.99,74.15 50.99,74.42 49.76,74.44 48.52,74.35 47.27,74.14 46.03,73.82 44.80,73.39 43.61,72.84 42.45,72.17 41.34,71.39 40.29,70.51 39.31,69.52 38.41,68.44 37.73,67.46 37.00,66.21 36.48,65.11 35.95,63.72 35.60,62.52 35.26,60.78 35.11,58.98 35.14,57.15 35.32,55.57 35.72,53.72 36.21,52.16 36.86,50.62 37.65,49.13 38.58,47.70 39.65,46.34 40.86,45.06 42.19,43.88 43.64,42.80 45.21,41.85 46.87,41.03 48.63,40.36 50.78,39.76 52.68,39.43 54.97,39.26 56.97,39.30 59.31,39.57 61.32,40.01 63.31,40.64 65.26,41.45 67.15,42.44 68.98,43.62 70.71,44.97 72.34,46.49 73.85,48.18 75.22,50.02 76.43,52.00 77.32,53.75 78.21,55.96 78.92,58.27 79.42,60.66 79.71,63.13 79.78,65.64 79.63,68.18 79.24,70.74 78.61,73.28 77.75,75.80 76.65,78.26 75.32,80.64 74.04,82.55 72.29,84.74 70.68,86.46 68.54,88.38 66.62,89.85 64.14,91.43 61.49,92.81 58.70,93.96 55.77,94.86 52.73,95.51 49.61,95.90 46.42,96.00 43.19,95.81 39.94,95.33 36.71,94.55 33.52,93.47 30.91,92.34 27.86,90.71 25.41,89.13 22.59,86.97 20.38,84.97 18.70,83.23 17.50,81.85 16.36,80.40 15.28,78.90 14.25,77.34 13.30,75.73 12.40,74.06 11.58,72.34 10.60,69.98 9.95,68.16 9.38,66.30 8.89,64.40 8.49,62.47 8.16,60.51 7.93,58.52 7.78,56.51 7.72,54.48 7.76,52.44 7.88,50.39 8.10,48.33 8.41,46.27 8.82,44.21 9.71,40.80 10.37,38.76 11.13,36.75 11.98,34.76 12.93,32.79 13.97,30.86 15.11,28.96 17.20,25.89 19.06,23.53 20.55,21.81 22.13,20.16 23.79,18.57 25.54,17.04 27.36,15.58 29.26,14.20 31.24,12.89 33.98,11.28 36.11,10.17 38.31,9.15 40.56,8.22 42.87,7.39 45.23,6.66 47.64,6.03 50.09,5.48 53.41,4.87 55.95,4.51 58.53,4.24 61.14,4.07 63.79,4.00 66.46,4.04 69.15,4.21 71.86,4.49 74.58,4.91 77.29,5.46 80.00,6.15 81.79,6.69 84.46,7.62 87.09,8.70 89.68,9.94 91.37,10.85 91.75,11.23 92.03,11.68 92.20,12.20 92.28,12.77 92.25,13.41 91.93,14.82 91.65,15.59 90.87,17.25 89.82,19.03 88.55,20.90 87.10,22.83 84.68,25.74 82.95,27.65 80.30,30.39 78.55,32.08 76.05,34.32 73.83,36.12 72.01,37.35 71.09,37.81 70.46,37.93 67.90,36.68 65.47,35.74 63.00,35.04 60.10,34.53 58.03,34.35 55.58,34.34 53.57,34.49 51.21,34.85 48.92,35.40 46.72,36.14 44.63,37.06 42.33,38.34 40.51,39.60 38.83,41.01 37.30,42.54 35.72,44.46 34.74,45.90 33.71,47.71 32.87,49.57 32.20,51.47 31.71,53.40 31.40,55.34 31.27,57.28 31.31,59.19 31.52,61.06 31.89,62.89 32.41,64.64 33.21,66.60 34.03,68.18 34.99,69.65 36.05,71.02 37.43,72.46 38.48,73.39 39.59,74.23 40.74,74.97 42.18,75.74 43.41,76.27 44.91,76.78 46.18,77.10 47.70,77.34 48.97,77.45 50.48,77.44 51.97,77.31 53.41,77.04 54.81,76.66 56.15,76.15 57.42,75.54 58.61,74.82 59.54,74.16 60.41,73.43 61.21,72.65 62.09,71.65 62.73,70.78 63.41,69.67 63.90,68.73 64.38,67.56 64.69,66.57 64.97,65.37 65.13,64.17 65.19,62.97 65.14,61.79 64.98,60.64 64.73,59.51 64.38,58.43 63.95,57.40 63.43,56.43 62.83,55.52 62.16,54.68 61.43,53.91 60.65,53.22 59.82,52.61 58.95,52.08 58.05,51.64 57.12,51.29 56.18,51.03 55.08,50.83 54.13,50.75 53.04,50.77 51.98,50.90 50.95,51.14 49.30,51.77 48.54,52.19 47.71,52.75 46.48,53.88 45.95,54.51 45.42,55.28 45.04,55.98 44.68,56.82 44.44,57.56 44.25,58.43 44.16,59.30 44.16,60.16 44.25,61.00 44.42,61.82 44.80,62.92 45.39,64.03 46.13,65.00 47.00,65.81 47.97,66.46 49.10,66.96 50.27,67.24 51.44,67.31 52.75,67.13 53.96,66.70 55.02,66.05 55.95,65.15 56.63,64.11 57.06,62.90 57.20,61.67 57.04,60.49 56.84,59.87 56.52,59.23 56.17,58.71 55.71,58.21 55.19,57.79 54.63,57.47 54.04,57.23 53.43,57.09 52.83,57.04 52.18,57.09 51.56,57.24 50.99,57.48 50.48,57.81 50.00,58.24 49.62,58.74 49.34,59.28 49.17,59.85 49.11,60.42 49.14,60.98 49.28,61.51 49.50,61.99 49.82,62.45 50.21,62.82 50.65,63.11 51.13,63.29 51.61,63.38 52.13,63.36 52.61,63.25 53.05,63.04 53.44,62.73 53.74,62.36 53.95,61.92 54.06,61.40 54.02,60.90 53.84,60.42 53.56,60.03 53.17,59.74 52.72,59.58 52.24,59.57 51.81,59.71 51.52,59.91 51.21,60.25 51.01,60.59 50.90,60.96 50.88,61.32 50.95,61.67 51.10,62.00 51.32,62.26 51.63,62.49 52.00,62.63 52.38,62.66 52.75,62.60 53.10,62.44 53.40,62.20 53.62,61.88 53.74,61.53Z'
163
- }
164
- ]
165
- } satisfies SvgData;
166
-
167
168
  export const logo_tsv = {
168
169
  label: 'a pixelated orange quill drawing a precise line',
169
170
  fill: '#f4672f',
@@ -4,12 +4,12 @@ import {
4
4
  // logo_fuz,
5
5
  logo_fuz_ui,
6
6
  logo_fuz_code,
7
+ logo_mdz,
7
8
  logo_fuz_blog,
8
9
  logo_fuz_repos,
9
10
  logo_fuz_template,
10
11
  logo_fuz_css,
11
12
  logo_fuz_util,
12
- logo_fuz_host,
13
13
  logo_gro,
14
14
  logo_svelte_docinfo,
15
15
  logo_fuz_app,
@@ -33,14 +33,14 @@ export interface ProjectItem {
33
33
  export const project_items: Array<ProjectItem> = [
34
34
  {name: 'fuz_app', url: 'https://app.fuz.dev/', logo: logo_fuz_app, description: '[pre-alpha] fullstack app library', glyph: '๐Ÿ—', color_class: 'color_j_50'},
35
35
  {name: 'fuz_css', url: 'https://css.fuz.dev/', logo: logo_fuz_css, description: 'semantic-first CSS framework and design system', glyph: '๐ŸŒฟ', color_class: 'color_b_50'},
36
- {name: 'fuz_ui', url: 'https://ui.fuz.dev/', logo: logo_fuz_ui, description: 'Svelte UI library', glyph: '๐Ÿงถ', color_class: 'color_c_50'},
37
- {name: 'fuz_template', url: 'https://template.fuz.dev/', logo: logo_fuz_template, description: 'a web app template with TypeScript + SvelteKit + optional Rust for the fuz-stack', glyph: 'โ„', color_class: 'color_h_50'},
36
+ {name: 'fuz_ui', url: 'https://ui.fuz.dev/', logo: logo_fuz_ui, description: 'Svelte component library and frontend helpers', glyph: '๐Ÿงถ', color_class: 'color_c_50'},
37
+ {name: 'fuz_template', url: 'https://template.fuz.dev/', logo: logo_fuz_template, description: 'starter template for SvelteKit web apps, Rust native tools, or both', glyph: 'โ„', color_class: 'color_h_50'},
38
38
  {name: 'fuz_blog', url: 'https://blog.fuz.dev/', logo: logo_fuz_blog, description: 'blog software from scratch with SvelteKit', glyph: '๐Ÿ–Š๏ธ', color_class: 'color_e_50'},
39
39
  {name: 'fuz_code', url: 'https://code.fuz.dev/', logo: logo_fuz_code, description: 'syntax styling utilities and components for TypeScript, Svelte, Markdown, and more', glyph: '๐ŸŽจ', color_class: 'color_g_50'},
40
+ {name: 'mdz', url: 'https://mdz.fuz.dev/', logo: logo_mdz, description: 'a strict markdown dialect built for streaming, Svelte authoring, docs websites, and untrusted content', glyph: '๐Ÿ“', color_class: 'color_d_50'},
40
41
  {name: 'fuz_repos', url: 'https://repos.fuz.dev/', logo: logo_fuz_repos, description: 'a tool for managing many repos', glyph: '๐Ÿช„', color_class: 'color_a_50'},
41
42
  {name: 'svelte-docinfo', url: 'https://svelte-docinfo.fuz.dev/', logo: logo_svelte_docinfo, description: 'static analysis for TypeScript and Svelte', glyph: '๐Ÿ“œ', color_class: 'color_i_50'},
42
43
  {name: 'fuz_util', url: 'https://util.fuz.dev/', logo: logo_fuz_util, description: 'utility belt for JS', glyph: '๐Ÿฆ•', color_class: 'color_f_50'},
43
- {name: 'fuz_host', url: 'https://host.fuz.dev/', logo: logo_fuz_host, description: 'host APIs for JS: filesystem, processes, and the OS, one import across runtimes', glyph: '๐Ÿš', color_class: 'color_f_50'},
44
- {name: 'gro', url: 'https://github.com/fuzdev/gro', logo: logo_gro, description: 'task runner and toolkit extending SvelteKit', glyph: '๐ŸŒฐ', color_class: 'color_f_50'},
44
+ {name: 'gro', url: 'https://github.com/fuzdev/gro', logo: logo_gro, description: 'security-first JS runtime and toolchain on V8', glyph: '๐ŸŒฐ', color_class: 'color_f_50'},
45
45
  {name: 'tsv', url: 'https://tsv.fuz.dev/', logo: logo_tsv, description: 'precise language tools for TypeScript/JS, CSS, and Svelte in Rust', glyph: '๐Ÿชถ', color_class: 'color_h_50'},
46
46
  ];
@@ -1,307 +0,0 @@
1
- <!--
2
- @component
3
-
4
- Renders library metadata (name, description, links, license) and a module index
5
- with file-type coloring. Uses svelte-docinfo's file type predicates for module classification.
6
-
7
- @see `library.svelte.ts` for the `Library` wrapper class
8
- @see {@link https://github.com/ryanatkn/svelte-docinfo svelte-docinfo} for the analysis library
9
- @cssprop --max_width - maximum width of the detail
10
- -->
11
- <script lang="ts">
12
- import { page } from '$app/state';
13
- import { format_url } from '@fuzdev/fuz_util/url.ts';
14
- import type { OmitStrict } from '@fuzdev/fuz_util/types.ts';
15
- import type { Snippet } from 'svelte';
16
- import type { SvelteHTMLElements } from 'svelte/elements';
17
-
18
- import { library_context, type Library } from './library.svelte.js';
19
- import ImgOrSvg from './ImgOrSvg.svelte';
20
- import DeclarationLink from './DeclarationLink.svelte';
21
- import ModuleLink from './ModuleLink.svelte';
22
- import { url_github_file } from '@fuzdev/fuz_util/package_helpers.ts';
23
- import { isTypescript, isSvelte, isCss, isJson } from 'svelte-docinfo/source.js';
24
-
25
- const {
26
- library,
27
- links_full = false,
28
- repo_name,
29
- description,
30
- tagline,
31
- npm_url,
32
- homepage_url,
33
- children,
34
- ...rest
35
- }: OmitStrict<SvelteHTMLElements['div'], 'children'> & {
36
- library: Library;
37
- /**
38
- * Link the module/declaration index to the library's own deployed docs
39
- * (`url_api_full`) instead of site-local paths. Use when rendering a
40
- * foreign library on a different site, e.g. an aggregator.
41
- */
42
- links_full?: boolean;
43
- repo_name?: Snippet<[repo_name: string]>;
44
- description?: Snippet<[description: string]>;
45
- tagline?: Snippet<[description: string]>;
46
- npm_url?: Snippet<[npm_url: string]>;
47
- homepage_url?: Snippet<[homepage_url: string]>;
48
- children?: Snippet<[library: Library]>;
49
- } = $props();
50
-
51
- library_context.set(() => library);
52
-
53
- // TODO show other data (lines of code)
54
-
55
- const { pkg_json } = $derived(library);
56
-
57
- const license_url = $derived(
58
- pkg_json.license ? url_github_file(library.repo_url, 'LICENSE') : null
59
- );
60
- </script>
61
-
62
- <!-- eslint-disable svelte/no-navigation-without-resolve -->
63
-
64
- <div {...rest} class="library-detail {rest.class}">
65
- <!-- TODO maybe continue this snippet pattern, or maybe simplify? -->
66
- <div class="info">
67
- <div class="display:flex flex:1">
68
- <!-- add yet another wrapper so it flows like we want -->
69
- <div>
70
- <header>
71
- {#if repo_name}
72
- {@render repo_name(library.repo_name)}
73
- {:else}
74
- <div class="repo-name">
75
- {library.repo_name}{#if pkg_json.glyph}&nbsp;{pkg_json.glyph}{/if}
76
- </div>
77
- {/if}
78
- </header>
79
- {@render children?.(library)}
80
- {#if pkg_json.description}
81
- {#if description}
82
- {@render description(pkg_json.description)}
83
- {:else}
84
- <div class="description">{pkg_json.description}</div>
85
- {/if}
86
- {/if}
87
- {#if pkg_json.tagline}
88
- {#if tagline}
89
- {@render tagline(pkg_json.tagline)}
90
- {:else}
91
- <div class="tagline">{pkg_json.tagline}</div>
92
- {/if}
93
- {/if}
94
- {#if library.npm_url}
95
- {#if npm_url}
96
- {@render npm_url(library.npm_url)}
97
- {:else}
98
- <blockquote class="npm-url">npm i -D {pkg_json.name}</blockquote>
99
- {/if}
100
- {/if}
101
- <!-- TODO accessible HTML -->
102
- <section class="properties">
103
- {#if library.homepage_url}
104
- {#if homepage_url}
105
- {@render homepage_url(library.homepage_url)}
106
- {:else}
107
- <span class="title">homepage</span>
108
- <div class="content">
109
- <a
110
- class={['chip', { selected: library.homepage_url === page.url.href }]}
111
- href={library.homepage_url}
112
- >
113
- {#if library.logo_url}
114
- <ImgOrSvg
115
- src={library.logo_url}
116
- label={library.logo_alt}
117
- size="16px"
118
- class="mr_xs"
119
- />
120
- {/if}
121
- {format_url(library.homepage_url)}
122
- </a>
123
- </div>
124
- {/if}
125
- {/if}
126
- {#if library.repo_url}
127
- <span class="title">repo</span>
128
- <div class="content">
129
- <a class="chip" title="repo" href={library.repo_url}>
130
- {library.owner_name}/{library.repo_name}
131
- </a>
132
- </div>
133
- {/if}
134
- {#if library.npm_url}
135
- <span class="title">npm</span>
136
- <div class="content">
137
- <a class="chip" title="npm" href={library.npm_url}>{pkg_json.name}</a>
138
- </div>
139
- {/if}
140
- {#if library.changelog_url}
141
- <span class="title">version</span>
142
- <div class="content">
143
- <a class="chip" title="version" href={library.changelog_url}>{pkg_json.version}</a>
144
- </div>
145
- {/if}
146
- {#if license_url}
147
- <span class="title">license</span>
148
- <div class="content">
149
- <a class="chip" title="license" href={license_url}>{pkg_json.license}</a>
150
- </div>
151
- {/if}
152
- </section>
153
- </div>
154
- </div>
155
- {#if library.logo_url}
156
- <div class="logo">
157
- <ImgOrSvg
158
- src={library.logo_url}
159
- label={library.logo_alt}
160
- size="var(--font_size, var(--icon_size_xl2))"
161
- />
162
- </div>
163
- {/if}
164
- </div>
165
- {#if library.modules.length > 0 && library.repo_url}
166
- <section>
167
- <menu class="unstyled">
168
- {#each library.modules as module (module.path)}
169
- <!-- TODO improve rendering and enrich data - start with the type (not just extension - mime?) -->
170
- <li
171
- class={[
172
- 'module',
173
- {
174
- ts: isTypescript(module.path),
175
- svelte: isSvelte(module.path),
176
- css: isCss(module.path),
177
- json: isJson(module.path)
178
- }
179
- ]}
180
- >
181
- <div class="module-content">
182
- <span class="font_size_xl">
183
- <ModuleLink module_path={module.path} full={links_full}>
184
- {module.path}
185
- </ModuleLink>
186
- </span>
187
- {#if module.has_declarations}
188
- <ul class="declarations unstyled">
189
- {#each module.declarations as declaration (declaration.name)}
190
- <li>
191
- <DeclarationLink
192
- name={declaration.name}
193
- module_path={module.path}
194
- full={links_full}
195
- />
196
- </li>
197
- {/each}
198
- </ul>
199
- {/if}
200
- </div>
201
- </li>
202
- {/each}
203
- </menu>
204
- </section>
205
- {/if}
206
-
207
- <!-- TODO maybe add more details, possibly behind a `<details>`, including author -->
208
- <!-- TODO render exports, then link to source, then tomes -->
209
- </div>
210
-
211
- <!-- TODO better rendering, also show author, etc -->
212
-
213
- <style>
214
- .library-detail {
215
- display: flex;
216
- flex-direction: column;
217
- align-items: flex-start;
218
- width: 100%;
219
- max-width: var(--max_width, var(--distance_md));
220
- overflow-x: auto;
221
- }
222
-
223
- .info {
224
- width: 100%;
225
- display: flex;
226
- flex-wrap: wrap;
227
- }
228
-
229
- .logo {
230
- flex-shrink: 0;
231
- padding: 0 var(--space_xl);
232
- }
233
-
234
- header {
235
- margin-bottom: var(--space_lg);
236
- }
237
-
238
- section {
239
- width: 100%;
240
- margin-bottom: var(--space_lg);
241
- }
242
- .repo-name {
243
- font-family: var(--font_family_serif);
244
- font-size: var(--font_size_xl2);
245
- font-weight: 400;
246
- }
247
- .npm-url {
248
- font-family: var(--font_family_mono);
249
- text-align: center;
250
- margin-bottom: var(--space_lg);
251
- }
252
- .description {
253
- margin-bottom: var(--space_lg);
254
- }
255
- .tagline {
256
- margin-bottom: var(--space_lg);
257
- }
258
- .properties {
259
- display: grid;
260
- grid-template-columns: 80px 1fr;
261
- gap: var(--space_xs2);
262
- margin-bottom: var(--space_lg);
263
- }
264
- .title {
265
- text-align: right;
266
- }
267
- .content {
268
- display: flex;
269
- }
270
- .content a {
271
- display: flex;
272
- align-items: center;
273
- margin-left: var(--space_xs);
274
- }
275
- .module {
276
- margin-bottom: var(--space_xs);
277
- --link_color: var(--text_70);
278
- }
279
- .module-content {
280
- background-color: var(--shade_10);
281
- border-radius: var(--border_radius_sm);
282
- padding: var(--space_xs);
283
- }
284
- /* TODO probably add variables/classes for these */
285
- .ts {
286
- --link_color: var(--palette_a_50);
287
- }
288
- .svelte {
289
- --link_color: var(--palette_h_50);
290
- }
291
- .css {
292
- --link_color: var(--palette_b_50);
293
- }
294
- .json {
295
- --link_color: var(--palette_f_50);
296
- }
297
- /* TODO extract */
298
- .declarations {
299
- display: flex;
300
- flex: 1;
301
- flex-direction: row;
302
- flex-wrap: wrap;
303
- align-items: flex-start;
304
- gap: var(--space_xs) 0;
305
- padding-top: var(--space_xs);
306
- }
307
- </style>
@@ -1,31 +0,0 @@
1
- import type { OmitStrict } from '@fuzdev/fuz_util/types.ts';
2
- import type { Snippet } from 'svelte';
3
- import type { SvelteHTMLElements } from 'svelte/elements';
4
- import { type Library } from './library.svelte.js';
5
- type $$ComponentProps = OmitStrict<SvelteHTMLElements['div'], 'children'> & {
6
- library: Library;
7
- /**
8
- * Link the module/declaration index to the library's own deployed docs
9
- * (`url_api_full`) instead of site-local paths. Use when rendering a
10
- * foreign library on a different site, e.g. an aggregator.
11
- */
12
- links_full?: boolean;
13
- repo_name?: Snippet<[repo_name: string]>;
14
- description?: Snippet<[description: string]>;
15
- tagline?: Snippet<[description: string]>;
16
- npm_url?: Snippet<[npm_url: string]>;
17
- homepage_url?: Snippet<[homepage_url: string]>;
18
- children?: Snippet<[library: Library]>;
19
- };
20
- /**
21
- * Renders library metadata (name, description, links, license) and a module index
22
- * with file-type coloring. Uses svelte-docinfo's file type predicates for module classification.
23
- *
24
- * @see `library.svelte.ts` for the `Library` wrapper class
25
- * @see {@link https://github.com/ryanatkn/svelte-docinfo svelte-docinfo} for the analysis library
26
- * @cssprop --max_width - maximum width of the detail
27
- */
28
- declare const LibraryDetail: import("svelte").Component<$$ComponentProps, {}, "">;
29
- type LibraryDetail = ReturnType<typeof LibraryDetail>;
30
- export default LibraryDetail;
31
- //# sourceMappingURL=LibraryDetail.svelte.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LibraryDetail.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/LibraryDetail.svelte"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAmB,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAOnE,KAAK,gBAAgB,GAAI,UAAU,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,GAAG;IAC5E,OAAO,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,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,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IACzC,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;AAgLH;;;;;;;GAOG;AACH,QAAA,MAAM,aAAa,sDAAwC,CAAC;AAC5D,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;AACtD,eAAe,aAAa,CAAC"}