@fuzdev/fuz_ui 0.172.0 → 0.174.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.
Files changed (91) hide show
  1. package/LICENSE +2 -2
  2. package/dist/Alert.svelte +21 -21
  3. package/dist/Alert.svelte.d.ts +2 -3
  4. package/dist/Alert.svelte.d.ts.map +1 -1
  5. package/dist/Breadcrumb.svelte +4 -2
  6. package/dist/Breadcrumb.svelte.d.ts +2 -1
  7. package/dist/Breadcrumb.svelte.d.ts.map +1 -1
  8. package/dist/Card.svelte +13 -14
  9. package/dist/Card.svelte.d.ts +2 -3
  10. package/dist/Card.svelte.d.ts.map +1 -1
  11. package/dist/ColorSchemeInput.svelte +5 -7
  12. package/dist/ColorSchemeInput.svelte.d.ts +2 -2
  13. package/dist/ColorSchemeInput.svelte.d.ts.map +1 -1
  14. package/dist/Contextmenu.svelte +4 -5
  15. package/dist/Contextmenu.svelte.d.ts +1 -2
  16. package/dist/Contextmenu.svelte.d.ts.map +1 -1
  17. package/dist/CopyToClipboard.svelte +1 -2
  18. package/dist/CopyToClipboard.svelte.d.ts.map +1 -1
  19. package/dist/DocsContent.svelte +4 -2
  20. package/dist/DocsContent.svelte.d.ts +2 -1
  21. package/dist/DocsContent.svelte.d.ts.map +1 -1
  22. package/dist/DocsFooter.svelte +4 -3
  23. package/dist/DocsFooter.svelte.d.ts +2 -2
  24. package/dist/DocsFooter.svelte.d.ts.map +1 -1
  25. package/dist/DocsList.svelte +4 -4
  26. package/dist/DocsList.svelte.d.ts +2 -2
  27. package/dist/DocsList.svelte.d.ts.map +1 -1
  28. package/dist/DocsMenu.svelte +4 -2
  29. package/dist/DocsMenu.svelte.d.ts +2 -1
  30. package/dist/DocsMenu.svelte.d.ts.map +1 -1
  31. package/dist/DocsMenuHeader.svelte +1 -2
  32. package/dist/DocsMenuHeader.svelte.d.ts.map +1 -1
  33. package/dist/DocsModulesList.svelte +4 -2
  34. package/dist/DocsModulesList.svelte.d.ts +2 -1
  35. package/dist/DocsModulesList.svelte.d.ts.map +1 -1
  36. package/dist/DocsPageLinks.svelte +4 -2
  37. package/dist/DocsPageLinks.svelte.d.ts +2 -1
  38. package/dist/DocsPageLinks.svelte.d.ts.map +1 -1
  39. package/dist/DocsPrimaryNav.svelte +4 -2
  40. package/dist/DocsPrimaryNav.svelte.d.ts +2 -1
  41. package/dist/DocsPrimaryNav.svelte.d.ts.map +1 -1
  42. package/dist/DocsSecondaryNav.svelte +5 -2
  43. package/dist/DocsSecondaryNav.svelte.d.ts +2 -1
  44. package/dist/DocsSecondaryNav.svelte.d.ts.map +1 -1
  45. package/dist/DocsTertiaryNav.svelte +4 -2
  46. package/dist/DocsTertiaryNav.svelte.d.ts +2 -1
  47. package/dist/DocsTertiaryNav.svelte.d.ts.map +1 -1
  48. package/dist/GithubLink.svelte +8 -10
  49. package/dist/GithubLink.svelte.d.ts.map +1 -1
  50. package/dist/Glyph.svelte +1 -2
  51. package/dist/Glyph.svelte.d.ts.map +1 -1
  52. package/dist/Hashlink.svelte +2 -7
  53. package/dist/Hashlink.svelte.d.ts.map +1 -1
  54. package/dist/HueInput.svelte +5 -6
  55. package/dist/HueInput.svelte.d.ts +2 -2
  56. package/dist/HueInput.svelte.d.ts.map +1 -1
  57. package/dist/ImgOrSvg.svelte +23 -23
  58. package/dist/ImgOrSvg.svelte.d.ts +1 -3
  59. package/dist/ImgOrSvg.svelte.d.ts.map +1 -1
  60. package/dist/LibraryDetail.svelte +5 -3
  61. package/dist/MdnLink.svelte +2 -8
  62. package/dist/MdnLink.svelte.d.ts.map +1 -1
  63. package/dist/PasteFromClipboard.svelte +1 -2
  64. package/dist/PasteFromClipboard.svelte.d.ts.map +1 -1
  65. package/dist/PendingAnimation.svelte +1 -2
  66. package/dist/PendingAnimation.svelte.d.ts.map +1 -1
  67. package/dist/PendingButton.svelte +1 -2
  68. package/dist/PendingButton.svelte.d.ts.map +1 -1
  69. package/dist/Spiders.svelte +1 -1
  70. package/dist/Svg.svelte +6 -7
  71. package/dist/Svg.svelte.d.ts +1 -2
  72. package/dist/Svg.svelte.d.ts.map +1 -1
  73. package/dist/ThemeInput.svelte +4 -2
  74. package/dist/ThemeInput.svelte.d.ts +2 -1
  75. package/dist/ThemeInput.svelte.d.ts.map +1 -1
  76. package/dist/declaration.svelte.d.ts +1 -1
  77. package/dist/library.svelte.d.ts +1 -2
  78. package/dist/library.svelte.d.ts.map +1 -1
  79. package/dist/library_gen.d.ts +3 -4
  80. package/dist/library_gen.d.ts.map +1 -1
  81. package/dist/library_gen.js +13 -10
  82. package/dist/library_gen_helpers.d.ts +18 -2
  83. package/dist/library_gen_helpers.d.ts.map +1 -1
  84. package/dist/library_gen_helpers.js +18 -8
  85. package/dist/vite_plugin_library_well_known.d.ts +37 -0
  86. package/dist/vite_plugin_library_well_known.d.ts.map +1 -0
  87. package/dist/vite_plugin_library_well_known.js +144 -0
  88. package/package.json +5 -5
  89. package/src/lib/library_gen.ts +15 -15
  90. package/src/lib/library_gen_helpers.ts +33 -10
  91. package/src/lib/vite_plugin_library_well_known.ts +189 -0
@@ -1,4 +1,5 @@
1
- type $$ComponentProps = {
1
+ import type { SvelteHTMLElements } from 'svelte/elements';
2
+ type $$ComponentProps = SvelteHTMLElements['div'] & {
2
3
  sidebar?: boolean;
3
4
  expand_width?: boolean;
4
5
  };
@@ -1 +1 @@
1
- {"version":3,"file":"DocsPageLinks.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/DocsPageLinks.svelte"],"names":[],"mappings":"AASC,KAAK,gBAAgB,GAAI;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AA2CH,QAAA,MAAM,aAAa,sDAAwC,CAAC;AAC5D,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;AACtD,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"DocsPageLinks.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/DocsPageLinks.svelte"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAKvD,KAAK,gBAAgB,GAAI,kBAAkB,CAAC,KAAK,CAAC,GAAG;IACpD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AA6CH,QAAA,MAAM,aAAa,sDAAwC,CAAC;AAC5D,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;AACtD,eAAe,aAAa,CAAC"}
@@ -2,6 +2,7 @@
2
2
  import {is_iframed} from '@fuzdev/fuz_util/dom.js';
3
3
  import type {Snippet} from 'svelte';
4
4
  import {scrollY} from 'svelte/reactivity/window';
5
+ import type {SvelteHTMLElements} from 'svelte/elements';
5
6
 
6
7
  import type {Library} from './library.svelte.js';
7
8
  import Breadcrumb from './Breadcrumb.svelte';
@@ -10,7 +11,8 @@
10
11
  library,
11
12
  breadcrumb_children,
12
13
  children,
13
- }: {
14
+ ...rest
15
+ }: SvelteHTMLElements['div'] & {
14
16
  library: Library;
15
17
  breadcrumb_children?: Snippet<[is_primary_nav: boolean]>;
16
18
  children?: Snippet;
@@ -23,7 +25,7 @@
23
25
  </script>
24
26
 
25
27
  {#if enabled}
26
- <div class="docs_primary_nav" class:scrolled>
28
+ <div {...rest} class="docs_primary_nav {rest.class}" class:scrolled>
27
29
  <div class="background" aria-hidden="true"></div>
28
30
  <div class="content">
29
31
  <nav aria-label="Primary nav">
@@ -1,6 +1,7 @@
1
1
  import type { Snippet } from 'svelte';
2
+ import type { SvelteHTMLElements } from 'svelte/elements';
2
3
  import type { Library } from './library.svelte.js';
3
- type $$ComponentProps = {
4
+ type $$ComponentProps = SvelteHTMLElements['div'] & {
4
5
  library: Library;
5
6
  breadcrumb_children?: Snippet<[is_primary_nav: boolean]>;
6
7
  children?: Snippet;
@@ -1 +1 @@
1
- {"version":3,"file":"DocsPrimaryNav.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/DocsPrimaryNav.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,mBAAmB,CAAC,EAAE,OAAO,CAAC,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;IACzD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AA2CH,QAAA,MAAM,cAAc,sDAAwC,CAAC;AAC7D,KAAK,cAAc,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AACxD,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"DocsPrimaryNav.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/DocsPrimaryNav.svelte"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,QAAQ,CAAC;AAEpC,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAExD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,qBAAqB,CAAC;AAGhD,KAAK,gBAAgB,GAAI,kBAAkB,CAAC,KAAK,CAAC,GAAG;IACpD,OAAO,EAAE,OAAO,CAAC;IACjB,mBAAmB,CAAC,EAAE,OAAO,CAAC,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;IACzD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AA6CH,QAAA,MAAM,cAAc,sDAAwC,CAAC;AAC7D,KAAK,cAAc,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AACxD,eAAe,cAAc,CAAC"}
@@ -1,11 +1,14 @@
1
1
  <script lang="ts">
2
+ import type {SvelteHTMLElements} from 'svelte/elements';
3
+
2
4
  import DocsMenu from './DocsMenu.svelte';
3
5
  import {Tome} from './tome.js';
4
6
 
5
7
  const {
6
8
  tomes,
7
9
  sidebar = true,
8
- }: {
10
+ ...rest
11
+ }: SvelteHTMLElements['aside'] & {
9
12
  tomes: Array<Tome>;
10
13
  sidebar?: boolean; // TODO @many dialog navs (this shouldn't exist)
11
14
  } = $props();
@@ -13,7 +16,7 @@
13
16
  const expand_width = $derived(!sidebar);
14
17
  </script>
15
18
 
16
- <aside class="docs_secondary_nav unstyled" class:sidebar>
19
+ <aside {...rest} class="docs_secondary_nav unstyled {rest.class}" class:sidebar>
17
20
  <nav aria-label="Secondary nav">
18
21
  <DocsMenu {tomes} {expand_width} />
19
22
  </nav>
@@ -1,5 +1,6 @@
1
+ import type { SvelteHTMLElements } from 'svelte/elements';
1
2
  import { Tome } from './tome.js';
2
- type $$ComponentProps = {
3
+ type $$ComponentProps = SvelteHTMLElements['aside'] & {
3
4
  tomes: Array<Tome>;
4
5
  sidebar?: boolean;
5
6
  };
@@ -1 +1 @@
1
- {"version":3,"file":"DocsSecondaryNav.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/DocsSecondaryNav.svelte"],"names":[],"mappings":"AAIA,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAE9B,KAAK,gBAAgB,GAAI;IACxB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAuBH,QAAA,MAAM,gBAAgB,sDAAwC,CAAC;AAC/D,KAAK,gBAAgB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC5D,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"DocsSecondaryNav.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/DocsSecondaryNav.svelte"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAGxD,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAE9B,KAAK,gBAAgB,GAAI,kBAAkB,CAAC,OAAO,CAAC,GAAG;IACtD,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AA0BH,QAAA,MAAM,gBAAgB,sDAAwC,CAAC;AAC/D,KAAK,gBAAgB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC5D,eAAe,gBAAgB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  <script lang="ts">
2
2
  import {page} from '$app/state';
3
+ import type {SvelteHTMLElements} from 'svelte/elements';
3
4
 
4
5
  import DocsModulesList from './DocsModulesList.svelte';
5
6
  import DocsPageLinks from './DocsPageLinks.svelte';
@@ -14,7 +15,8 @@
14
15
  tomes,
15
16
  tomes_by_name,
16
17
  sidebar = true,
17
- }: {
18
+ ...rest
19
+ }: SvelteHTMLElements['aside'] & {
18
20
  tomes: Array<Tome>;
19
21
  tomes_by_name: Map<string, Tome>;
20
22
  sidebar?: boolean; // TODO @many dialog navs (this shouldn't exist)
@@ -51,7 +53,7 @@
51
53
  </script>
52
54
 
53
55
  <!-- TODO probably add a `nav` wrapper? around which? -->
54
- <aside class="docs_tertiary_nav unstyled">
56
+ <aside {...rest} class="docs_tertiary_nav unstyled {rest.class}">
55
57
  {#if should_show_page_links}
56
58
  <DocsPageLinks {sidebar} expand_width />
57
59
  {/if}
@@ -1,5 +1,6 @@
1
+ import type { SvelteHTMLElements } from 'svelte/elements';
1
2
  import { Tome } from './tome.js';
2
- type $$ComponentProps = {
3
+ type $$ComponentProps = SvelteHTMLElements['aside'] & {
3
4
  tomes: Array<Tome>;
4
5
  tomes_by_name: Map<string, Tome>;
5
6
  sidebar?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"DocsTertiaryNav.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/DocsTertiaryNav.svelte"],"names":[],"mappings":"AAOA,OAAO,EAAmB,IAAI,EAAC,MAAM,WAAW,CAAC;AAOhD,KAAK,gBAAgB,GAAI;IACxB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACnB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AA6FH,QAAA,MAAM,eAAe,sDAAwC,CAAC;AAC9D,KAAK,eAAe,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;AAC1D,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"DocsTertiaryNav.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/DocsTertiaryNav.svelte"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAIxD,OAAO,EAAmB,IAAI,EAAC,MAAM,WAAW,CAAC;AAOhD,KAAK,gBAAgB,GAAI,kBAAkB,CAAC,OAAO,CAAC,GAAG;IACtD,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACnB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AA+FH,QAAA,MAAM,eAAe,sDAAwC,CAAC;AAC9D,KAAK,eAAe,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;AAC1D,eAAe,eAAe,CAAC"}
@@ -10,7 +10,6 @@
10
10
  path,
11
11
  href: href_prop,
12
12
  children,
13
- class: class_prop,
14
13
  ...rest
15
14
  }: SvelteHTMLElements['a'] & {
16
15
  /**
@@ -22,8 +21,12 @@
22
21
  path?: string;
23
22
  } = $props();
24
23
 
25
- if (DEV && !path && !href_prop) {
26
- throw new Error('GithubLink requires either `path` or `href` prop');
24
+ if (DEV) {
25
+ $effect.pre(() => {
26
+ if (!path && !href_prop) {
27
+ throw new Error('GithubLink requires either `path` or `href` prop');
28
+ }
29
+ });
27
30
  }
28
31
 
29
32
  const href = $derived(
@@ -60,13 +63,8 @@
60
63
 
61
64
  <!-- TODO -next-line doesnt work? -->
62
65
  <!-- eslint-disable svelte/no-navigation-without-resolve -->
63
- <a {...rest} {href} class="github_link chip white_space_nowrap {class_prop}" rel="noopener"
64
- ><Svg
65
- data={logo_github}
66
- inline
67
- size="var(--icon_size_xs)"
68
- attrs={{class: 'mx_xs3 vertical_align_middle'}}
69
- />
66
+ <a {...rest} {href} class="github_link white_space_nowrap {rest.class}" rel="noopener"
67
+ ><Svg data={logo_github} inline size="var(--icon_size_xs)" class="mx_xs3 vertical_align_middle" />
70
68
  {#if typeof final_children === 'string'}
71
69
  <span class="font_family_mono">{final_children}</span>
72
70
  {:else if final_children}
@@ -1 +1 @@
1
- {"version":3,"file":"GithubLink.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/GithubLink.svelte"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAMvD,KAAK,gBAAgB,GAAI,kBAAkB,CAAC,GAAG,CAAC,GAAG;IAClD;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAgEH,QAAA,MAAM,UAAU,sDAAwC,CAAC;AACzD,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAChD,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"GithubLink.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/GithubLink.svelte"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAMvD,KAAK,gBAAgB,GAAI,kBAAkB,CAAC,GAAG,CAAC,GAAG;IAClD;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAmEH,QAAA,MAAM,UAAU,sDAAwC,CAAC;AACzD,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAChD,eAAe,UAAU,CAAC"}
package/dist/Glyph.svelte CHANGED
@@ -4,7 +4,6 @@
4
4
  const {
5
5
  glyph,
6
6
  size,
7
- class: class_prop,
8
7
  ...rest
9
8
  }: SvelteHTMLElements['span'] & {
10
9
  glyph: string;
@@ -19,7 +18,7 @@
19
18
 
20
19
  <span
21
20
  {...rest}
22
- class="glyph display_inline_block text_align_center line_height_1 white_space_nowrap font_weight_400 {class_prop}"
21
+ class="glyph display_inline_block text_align_center line_height_1 white_space_nowrap font_weight_400 {rest.class}"
23
22
  style:width={final_size}
24
23
  style:height={final_size}
25
24
  style:min-width={final_size}
@@ -1 +1 @@
1
- {"version":3,"file":"Glyph.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/Glyph.svelte"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAEvD,KAAK,gBAAgB,GAAI,kBAAkB,CAAC,MAAM,CAAC,GAAG;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B,CAAC;AAqBH,QAAA,MAAM,KAAK,sDAAwC,CAAC;AACpD,KAAK,KAAK,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;AACtC,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"Glyph.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/Glyph.svelte"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAEvD,KAAK,gBAAgB,GAAI,kBAAkB,CAAC,MAAM,CAAC,GAAG;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B,CAAC;AAoBH,QAAA,MAAM,KAAK,sDAAwC,CAAC;AACpD,KAAK,KAAK,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;AACtC,eAAe,KAAK,CAAC"}
@@ -1,15 +1,10 @@
1
1
  <script lang="ts">
2
2
  import type {SvelteHTMLElements} from 'svelte/elements';
3
3
 
4
- const {
5
- fragment,
6
- children,
7
- class: class_prop,
8
- ...rest
9
- }: SvelteHTMLElements['a'] & {fragment: string} = $props();
4
+ const {fragment, children, ...rest}: SvelteHTMLElements['a'] & {fragment: string} = $props();
10
5
  </script>
11
6
 
12
- <a {...rest} class="hashlink {class_prop}" href="#{fragment}" aria-label="hashlink"
7
+ <a {...rest} class="hashlink {rest.class}" href="#{fragment}" aria-label="hashlink"
13
8
  >{#if children}{@render children()}{:else}#{/if}</a
14
9
  >
15
10
  <span class="hashlink_scroll_target" id={fragment} aria-hidden="true"></span>
@@ -1 +1 @@
1
- {"version":3,"file":"Hashlink.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/Hashlink.svelte"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAEvD,KAAK,gBAAgB,GAAI,kBAAkB,CAAC,GAAG,CAAC,GAAG;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAC,CAAC;AAmBvE,QAAA,MAAM,QAAQ,sDAAwC,CAAC;AACvD,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAC5C,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"Hashlink.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/Hashlink.svelte"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAEvD,KAAK,gBAAgB,GAAI,kBAAkB,CAAC,GAAG,CAAC,GAAG;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAC,CAAC;AAcvE,QAAA,MAAM,QAAQ,sDAAwC,CAAC;AACvD,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAC5C,eAAe,QAAQ,CAAC"}
@@ -1,18 +1,18 @@
1
1
  <script lang="ts">
2
2
  import type {Hue} from '@fuzdev/fuz_util/colors.js';
3
3
  import type {Snippet} from 'svelte';
4
+ import type {SvelteHTMLElements} from 'svelte/elements';
4
5
 
5
6
  let {
6
7
  value = $bindable(180),
7
- oninput,
8
8
  children,
9
- }: {
9
+ ...rest
10
+ }: SvelteHTMLElements['div'] & {
10
11
  value?: Hue;
11
- oninput?: (hue: Hue) => void;
12
12
  children?: Snippet;
13
13
  } = $props();
14
14
 
15
- // TODO probably upstream this to belt
15
+ // TODO probably upstream this to fuz_util
16
16
  const parse_hue = (v: any): Hue | null => {
17
17
  const t = typeof v;
18
18
  if (t === 'number') return v;
@@ -24,7 +24,6 @@
24
24
 
25
25
  const update_hue = (v: Hue) => {
26
26
  value = v;
27
- oninput?.(value);
28
27
  };
29
28
 
30
29
  const on_input_event = (e: Event & {currentTarget: EventTarget & HTMLInputElement}) => {
@@ -44,7 +43,7 @@
44
43
  </script>
45
44
 
46
45
  <!-- TODO consider making this a text input or otherwise editable directly -->
47
- <div class="hue_input" style:--hue={value}>
46
+ <div {...rest} class="hue_input {rest.class}" style:--hue={value}>
48
47
  <label>
49
48
  {#if children}<div class="title">{@render children()}</div>{/if}
50
49
  <div class="preview">
@@ -1,8 +1,8 @@
1
1
  import type { Hue } from '@fuzdev/fuz_util/colors.js';
2
2
  import type { Snippet } from 'svelte';
3
- type $$ComponentProps = {
3
+ import type { SvelteHTMLElements } from 'svelte/elements';
4
+ type $$ComponentProps = SvelteHTMLElements['div'] & {
4
5
  value?: Hue;
5
- oninput?: (hue: Hue) => void;
6
6
  children?: Snippet;
7
7
  };
8
8
  declare const HueInput: import("svelte").Component<$$ComponentProps, {}, "value">;
@@ -1 +1 @@
1
- {"version":3,"file":"HueInput.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/HueInput.svelte"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,4BAA4B,CAAC;AACpD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,QAAQ,CAAC;AAEnC,KAAK,gBAAgB,GAAI;IACxB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AA6DH,QAAA,MAAM,QAAQ,2DAAwC,CAAC;AACvD,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAC5C,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"HueInput.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/HueInput.svelte"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,4BAA4B,CAAC;AACpD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,QAAQ,CAAC;AACpC,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAEvD,KAAK,gBAAgB,GAAI,kBAAkB,CAAC,KAAK,CAAC,GAAG;IACpD,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AA6DH,QAAA,MAAM,QAAQ,2DAAwC,CAAC;AACvD,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAC5C,eAAe,QAAQ,CAAC"}
@@ -9,27 +9,27 @@
9
9
  height,
10
10
  svg_attrs,
11
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();
12
+ ...rest
13
+ }: SvelteHTMLElements['img'] &
14
+ SvelteHTMLElements['svg'] & {
15
+ src: string;
16
+ label?: string;
17
+ /**
18
+ * Sets both the `width` and `height` of the svg. Overridden by the `width` and `height` props.
19
+ */
20
+ size?: string;
21
+ /**
22
+ * Sets the `width` of the svg. Overrides `size`.
23
+ */
24
+ width?: string;
25
+ /**
26
+ * Sets the `height` of the svg. Overrides `size`.
27
+ */
28
+ height?: string;
29
+ svg_attrs?: SvelteHTMLElements['svg'];
30
+ img_attrs?: SvelteHTMLElements['img'];
31
+ /** Shared attributes for both img and svg. */
32
+ } = $props();
33
33
 
34
34
  const final_width = $derived(width ?? size);
35
35
  const final_height = $derived(height ?? size);
@@ -38,7 +38,7 @@
38
38
  {#if src.endsWith('.svg')}
39
39
  <svg
40
40
  role="img"
41
- {...attrs}
41
+ {...rest as SvelteHTMLElements['svg']}
42
42
  {...svg_attrs}
43
43
  aria-label={label}
44
44
  style:width={final_width}
@@ -48,7 +48,7 @@
48
48
  </svg>
49
49
  {:else}
50
50
  <img
51
- {...attrs}
51
+ {...rest}
52
52
  {...img_attrs}
53
53
  {src}
54
54
  alt={label}
@@ -1,5 +1,5 @@
1
1
  import type { SvelteHTMLElements } from 'svelte/elements';
2
- type $$ComponentProps = {
2
+ type $$ComponentProps = SvelteHTMLElements['img'] & SvelteHTMLElements['svg'] & {
3
3
  src: string;
4
4
  label?: string;
5
5
  /**
@@ -16,8 +16,6 @@ type $$ComponentProps = {
16
16
  height?: string;
17
17
  svg_attrs?: SvelteHTMLElements['svg'];
18
18
  img_attrs?: SvelteHTMLElements['img'];
19
- /** Shared attributes for both img and svg. */
20
- attrs?: Pick<SvelteHTMLElements['div'], 'class' | 'style'>;
21
19
  };
22
20
  declare const ImgOrSvg: import("svelte").Component<$$ComponentProps, {}, "">;
23
21
  type ImgOrSvg = ReturnType<typeof ImgOrSvg>;
@@ -1 +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"}
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,kBAAkB,CAAC,KAAK,CAAC,GACjD,kBAAkB,CAAC,KAAK,CAAC,GAAG;IAC3B,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;CAEtC,CAAC;AA6BJ,QAAA,MAAM,QAAQ,sDAAwC,CAAC;AACvD,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAC5C,eAAe,QAAQ,CAAC"}
@@ -100,7 +100,7 @@
100
100
  src={library.logo_url}
101
101
  label={library.logo_alt}
102
102
  size="16px"
103
- attrs={{class: 'mr_xs'}}
103
+ class="mr_xs"
104
104
  />
105
105
  {/if}
106
106
  {format_url(library.homepage_url)}
@@ -143,8 +143,10 @@
143
143
  title="data"
144
144
  href={url_well_known(library.homepage_url, 'package.json')}>package.json</a
145
145
  >
146
- <a class="chip" title="data" href={url_well_known(library.homepage_url, 'src.json')}
147
- >src.json</a
146
+ <a
147
+ class="chip"
148
+ title="data"
149
+ href={url_well_known(library.homepage_url, 'library.json')}>library.json</a
148
150
  >
149
151
  </div>
150
152
  {/if}
@@ -8,7 +8,6 @@
8
8
  const {
9
9
  path,
10
10
  children,
11
- class: class_prop,
12
11
  ...rest
13
12
  }: SvelteHTMLElements['a'] & {
14
13
  path: string;
@@ -25,13 +24,8 @@
25
24
 
26
25
  <!-- TODO -next-line doesnt work? -->
27
26
  <!-- 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={logo_mdn}
31
- inline
32
- size="var(--icon_size_xs)"
33
- attrs={{class: 'mx_xs3 vertical_align_middle'}}
34
- />
27
+ <a {...rest} {href} class="mdn_link white_space_nowrap {rest.class}" rel="noopener"
28
+ ><Svg data={logo_mdn} inline size="var(--icon_size_xs)" class="mx_xs3 vertical_align_middle" />
35
29
  {#if typeof final_children === 'string'}
36
30
  <span class="font_family_mono">{final_children}</span>
37
31
  {:else}
@@ -1 +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"}
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;AAkCH,QAAA,MAAM,OAAO,sDAAwC,CAAC;AACtD,KAAK,OAAO,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC;AAC1C,eAAe,OAAO,CAAC"}
@@ -7,7 +7,6 @@
7
7
  onclipboardtext,
8
8
  onerror,
9
9
  children,
10
- class: class_prop,
11
10
  ...rest
12
11
  }: SvelteHTMLElements['button'] & {
13
12
  onclipboardtext: (text: string) => void;
@@ -21,7 +20,7 @@
21
20
  type="button"
22
21
  title="paste from clipboard"
23
22
  {...rest}
24
- class="paste_from_clipboard {class_prop}"
23
+ class="paste_from_clipboard {rest.class}"
25
24
  onclick={async () => {
26
25
  try {
27
26
  const text = await navigator.clipboard.readText();
@@ -1 +1 @@
1
- {"version":3,"file":"PasteFromClipboard.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/PasteFromClipboard.svelte"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAEvD,KAAK,gBAAgB,GAAI,kBAAkB,CAAC,QAAQ,CAAC,GAAG;IACvD,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACjC,CAAC;AA8BH,QAAA,MAAM,kBAAkB,sDAAwC,CAAC;AACjE,KAAK,kBAAkB,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAChE,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"PasteFromClipboard.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/PasteFromClipboard.svelte"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAEvD,KAAK,gBAAgB,GAAI,kBAAkB,CAAC,QAAQ,CAAC,GAAG;IACvD,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACjC,CAAC;AA6BH,QAAA,MAAM,kBAAkB,sDAAwC,CAAC;AACjE,KAAK,kBAAkB,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAChE,eAAe,kBAAkB,CAAC"}
@@ -7,7 +7,6 @@
7
7
  inline,
8
8
  running = true,
9
9
  item_attrs,
10
- class: class_prop,
11
10
  children,
12
11
  ...rest
13
12
  }: OmitStrict<SvelteHTMLElements['span'], 'children'> & {
@@ -22,7 +21,7 @@
22
21
 
23
22
  <span
24
23
  {...rest}
25
- class="pending_animation {class_prop}"
24
+ class="pending_animation {rest.class}"
26
25
  class:running
27
26
  class:display_flex={!inline}
28
27
  class:display_inline_flex={inline}
@@ -1 +1 @@
1
- {"version":3,"file":"PendingAnimation.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/PendingAnimation.svelte"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,QAAQ,CAAC;AACpC,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAEvD,KAAK,gBAAgB,GAAI,UAAU,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG;IAC7E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;CACpC,CAAC;AAwBH,QAAA,MAAM,gBAAgB,sDAAwC,CAAC;AAC/D,KAAK,gBAAgB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC5D,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"PendingAnimation.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/PendingAnimation.svelte"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,QAAQ,CAAC;AACpC,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAEvD,KAAK,gBAAgB,GAAI,UAAU,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG;IAC7E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;CACpC,CAAC;AAuBH,QAAA,MAAM,gBAAgB,sDAAwC,CAAC;AAC/D,KAAK,gBAAgB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC5D,eAAe,gBAAgB,CAAC"}
@@ -12,7 +12,6 @@
12
12
  disabled: disabled_prop,
13
13
  animation,
14
14
  children,
15
- class: class_prop,
16
15
  ...rest
17
16
  }: SvelteHTMLElements['button'] & {
18
17
  pending: boolean;
@@ -35,7 +34,7 @@
35
34
  bind:this={el}
36
35
  type="button"
37
36
  {...rest}
38
- class="pending_button {class_prop}"
37
+ class="pending_button {rest.class}"
39
38
  disabled={disabled_prop ?? pending}
40
39
  title={title_prop}
41
40
  class:pending
@@ -1 +1 @@
1
- {"version":3,"file":"PendingButton.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/PendingButton.svelte"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,QAAQ,CAAC;AAGpC,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAEvD,KAAK,gBAAgB,GAAI,kBAAkB,CAAC,QAAQ,CAAC,GAAG;IACvD,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;CAClB,CAAC;AA6CH,QAAA,MAAM,aAAa;sBAxBQ,YAAY,KAAG,IAAI;MAwBa,CAAC;AAC5D,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;AACtD,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"PendingButton.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/PendingButton.svelte"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,QAAQ,CAAC;AAGpC,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAEvD,KAAK,gBAAgB,GAAI,kBAAkB,CAAC,QAAQ,CAAC,GAAG;IACvD,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;CAClB,CAAC;AA4CH,QAAA,MAAM,aAAa;sBAxBQ,YAAY,KAAG,IAAI;MAwBa,CAAC;AAC5D,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;AACtD,eAAe,aAAa,CAAC"}
@@ -41,7 +41,7 @@
41
41
  <!-- TODO show when intersected in viewport, maybe inline `svelte-intersect` in Fuz? -->
42
42
  <div class="spiders" style:--spider_count={spiders.length}>
43
43
  {#each shuffled as color, i (color)}
44
- <Svg data={logo_fuz} fill={color} attrs={{style: `transform: rotate(${rotations[i]}deg)`}} />
44
+ <Svg data={logo_fuz} fill={color} style="transform: rotate(${rotations[i]}deg)" />
45
45
  {/each}
46
46
  </div>
47
47
 
package/dist/Svg.svelte CHANGED
@@ -35,8 +35,8 @@
35
35
  label,
36
36
  inline,
37
37
  shrink = true,
38
- attrs,
39
- }: {
38
+ ...rest
39
+ }: SvelteHTMLElements['svg'] & {
40
40
  data: SvgData;
41
41
  /**
42
42
  * Overrides `data.fill`.
@@ -60,7 +60,6 @@
60
60
  */
61
61
  inline?: boolean;
62
62
  shrink?: boolean;
63
- attrs?: SvelteHTMLElements['svg'];
64
63
  } = $props();
65
64
 
66
65
  const final_fill = $derived(fill ?? data.fill ?? 'var(--text_color, #000)'); // can be overridden by each path's `fill` attribute
@@ -69,9 +68,9 @@
69
68
 
70
69
  // merge `style` so users don't accidentally clobber any style data - maybe support other attrs or somehow clean this up?
71
70
  const style = $derived(
72
- data.attrs?.style && attrs?.style
73
- ? ensure_end(data.attrs.style, ';') + ' ' + attrs.style
74
- : (data.attrs?.style ?? attrs?.style),
71
+ data.attrs?.style && rest.style
72
+ ? ensure_end(data.attrs.style, ';') + ' ' + rest.style
73
+ : (data.attrs?.style ?? rest.style),
75
74
  );
76
75
 
77
76
  // TODO dont use @html
@@ -80,7 +79,7 @@
80
79
  <svg
81
80
  viewBox={data.viewBox ?? '0 0 100 100'}
82
81
  {...data.attrs}
83
- {...attrs}
82
+ {...rest}
84
83
  aria-label={label ?? data.label}
85
84
  class:display_inline_block={inline}
86
85
  class:position_relative={inline}
@@ -22,7 +22,7 @@ export interface SvgData {
22
22
  */
23
23
  viewBox?: string | null;
24
24
  }
25
- type $$ComponentProps = {
25
+ type $$ComponentProps = SvelteHTMLElements['svg'] & {
26
26
  data: SvgData;
27
27
  /**
28
28
  * Overrides `data.fill`.
@@ -46,7 +46,6 @@ type $$ComponentProps = {
46
46
  */
47
47
  inline?: boolean;
48
48
  shrink?: boolean;
49
- attrs?: SvelteHTMLElements['svg'];
50
49
  };
51
50
  declare const Svg: import("svelte").Component<$$ComponentProps, {}, "">;
52
51
  type Svg = ReturnType<typeof Svg>;
@@ -1 +1 @@
1
- {"version":3,"file":"Svg.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/Svg.svelte"],"names":[],"mappings":"AAIC,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAExD,MAAM,WAAW,OAAO;IACvB;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC;IAC/D,KAAK,CAAC,EAAE,kBAAkB,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IACzC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,KAAK,gBAAgB,GAAI;IACxB,IAAI,EAAE,OAAO,CAAC;IACd;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC;CAClC,CAAC;AAyCH,QAAA,MAAM,GAAG,sDAAwC,CAAC;AAClD,KAAK,GAAG,GAAG,UAAU,CAAC,OAAO,GAAG,CAAC,CAAC;AAClC,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"Svg.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/Svg.svelte"],"names":[],"mappings":"AAIC,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAExD,MAAM,WAAW,OAAO;IACvB;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC;IAC/D,KAAK,CAAC,EAAE,kBAAkB,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IACzC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,KAAK,gBAAgB,GAAI,kBAAkB,CAAC,KAAK,CAAC,GAAG;IACpD,IAAI,EAAE,OAAO,CAAC;IACd;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAyCH,QAAA,MAAM,GAAG,sDAAwC,CAAC;AAClD,KAAK,GAAG,GAAG,UAAU,CAAC,OAAO,GAAG,CAAC,CAAC;AAClC,eAAe,GAAG,CAAC"}
@@ -2,6 +2,7 @@
2
2
  import {swallow} from '@fuzdev/fuz_util/dom.js';
3
3
  import type {Theme} from '@fuzdev/fuz_css/theme.js';
4
4
  import {default_themes} from '@fuzdev/fuz_css/themes.js';
5
+ import type {SvelteHTMLElements} from 'svelte/elements';
5
6
 
6
7
  import {themer_context} from './themer.svelte.js';
7
8
 
@@ -14,7 +15,8 @@
14
15
  },
15
16
  onselect,
16
17
  onedit,
17
- }: {
18
+ ...rest
19
+ }: SvelteHTMLElements['menu'] & {
18
20
  selected_theme?: {theme: Theme};
19
21
  themes?: Array<Theme>;
20
22
  enable_editing?: boolean;
@@ -24,7 +26,7 @@
24
26
  } = $props();
25
27
  </script>
26
28
 
27
- <menu class="theme_input unstyled">
29
+ <menu {...rest} class="theme_input unstyled {rest.class}">
28
30
  {#each themes as theme (theme.name)}
29
31
  <!-- TODO @many proper equality check, won't work when we allow editing, need an id or unique names and a deep equality check -->
30
32
  {@const selected = theme.name === selected_theme.theme.name}
@@ -1,5 +1,6 @@
1
1
  import type { Theme } from '@fuzdev/fuz_css/theme.js';
2
- type $$ComponentProps = {
2
+ import type { SvelteHTMLElements } from 'svelte/elements';
3
+ type $$ComponentProps = SvelteHTMLElements['menu'] & {
3
4
  selected_theme?: {
4
5
  theme: Theme;
5
6
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeInput.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/ThemeInput.svelte"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,0BAA0B,CAAC;AAKnD,KAAK,gBAAgB,GAAI;IACxB,cAAc,CAAC,EAAE;QAAC,KAAK,EAAE,KAAK,CAAA;KAAC,CAAC;IAChC,MAAM,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC;IACnD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAClC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAChC,CAAC;AA+CH,QAAA,MAAM,UAAU,sDAAwC,CAAC;AACzD,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAChD,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"ThemeInput.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/ThemeInput.svelte"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,0BAA0B,CAAC;AAEpD,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAIvD,KAAK,gBAAgB,GAAI,kBAAkB,CAAC,MAAM,CAAC,GAAG;IACrD,cAAc,CAAC,EAAE;QAAC,KAAK,EAAE,KAAK,CAAA;KAAC,CAAC;IAChC,MAAM,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC;IACnD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAClC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAChC,CAAC;AAiDH,QAAA,MAAM,UAAU,sDAAwC,CAAC;AACzD,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAChD,eAAe,UAAU,CAAC"}