lutra 0.0.19 → 0.0.33

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 (192) hide show
  1. package/dist/color.css +0 -0
  2. package/dist/display/Avatar.svelte +1 -1
  3. package/dist/display/Avatar.svelte.d.ts +18 -22
  4. package/dist/display/Badge.svelte +2 -4
  5. package/dist/display/Badge.svelte.d.ts +28 -32
  6. package/dist/display/Callout.svelte +8 -8
  7. package/dist/display/Callout.svelte.d.ts +27 -35
  8. package/dist/display/Close.svelte.d.ts +17 -20
  9. package/dist/display/Code.svelte +26 -31
  10. package/dist/display/Code.svelte.d.ts +31 -30
  11. package/dist/display/ContextTip.svelte +2 -5
  12. package/dist/display/ContextTip.svelte.d.ts +16 -20
  13. package/dist/display/DataList.svelte +16 -0
  14. package/dist/display/DataList.svelte.d.ts +21 -0
  15. package/dist/display/Details.svelte.d.ts +25 -30
  16. package/dist/display/Hero.svelte.d.ts +24 -28
  17. package/dist/display/Icon.svelte +3 -4
  18. package/dist/display/Icon.svelte.d.ts +18 -23
  19. package/dist/display/IconButton.svelte +12 -5
  20. package/dist/display/IconButton.svelte.d.ts +26 -29
  21. package/dist/display/Image.svelte.d.ts +25 -36
  22. package/dist/display/Indicator.svelte.d.ts +21 -22
  23. package/dist/display/Inset.svelte.d.ts +16 -20
  24. package/dist/display/LineChart.svelte +385 -0
  25. package/dist/display/LineChart.svelte.d.ts +24 -0
  26. package/dist/display/LoadingIndicator.svelte +33 -0
  27. package/dist/display/LoadingIndicator.svelte.d.ts +15 -0
  28. package/dist/display/Modal.svelte +116 -0
  29. package/dist/display/Modal.svelte.d.ts +27 -0
  30. package/dist/display/Notification.svelte.d.ts +22 -41
  31. package/dist/display/Panel.svelte +23 -0
  32. package/dist/display/Panel.svelte.d.ts +19 -0
  33. package/dist/display/Popup.svelte.d.ts +23 -28
  34. package/dist/{data → display}/Stat.svelte +9 -17
  35. package/dist/display/Stat.svelte.d.ts +30 -0
  36. package/dist/display/Table.svelte +14 -10
  37. package/dist/display/Table.svelte.d.ts +22 -32
  38. package/dist/display/TablePaginator.svelte +51 -0
  39. package/dist/display/TablePaginator.svelte.d.ts +21 -0
  40. package/dist/display/Tag.svelte.d.ts +29 -32
  41. package/dist/display/Tooltip.svelte +5 -4
  42. package/dist/display/Tooltip.svelte.d.ts +21 -26
  43. package/dist/display/chart.d.ts +78 -0
  44. package/dist/display/chart.js +212 -0
  45. package/dist/display/index.d.ts +11 -1
  46. package/dist/display/index.js +11 -1
  47. package/dist/display/notifications.svelte.d.ts +3 -3
  48. package/dist/display/notifications.svelte.js +2 -2
  49. package/dist/form/Button.svelte +7 -2
  50. package/dist/form/Button.svelte.d.ts +25 -35
  51. package/dist/form/FieldActions.svelte +25 -3
  52. package/dist/form/FieldActions.svelte.d.ts +18 -22
  53. package/dist/form/FieldContainer.svelte +1 -1
  54. package/dist/form/FieldContainer.svelte.d.ts +17 -22
  55. package/dist/form/FieldContent.svelte +52 -33
  56. package/dist/form/FieldContent.svelte.d.ts +28 -56
  57. package/dist/form/FieldError.svelte.d.ts +17 -20
  58. package/dist/form/FieldSection.svelte.d.ts +18 -32
  59. package/dist/form/Fieldset.svelte.d.ts +29 -40
  60. package/dist/form/Form.svelte +55 -16
  61. package/dist/form/Form.svelte.d.ts +36 -31
  62. package/dist/form/ImageUpload.svelte +259 -0
  63. package/dist/form/ImageUpload.svelte.d.ts +31 -0
  64. package/dist/form/Input.svelte +192 -153
  65. package/dist/form/Input.svelte.d.ts +115 -140
  66. package/dist/form/InputLength.svelte.d.ts +19 -20
  67. package/dist/form/Label.svelte +21 -4
  68. package/dist/form/Label.svelte.d.ts +24 -30
  69. package/dist/form/LogoUpload.svelte +100 -0
  70. package/dist/form/LogoUpload.svelte.d.ts +29 -0
  71. package/dist/form/Select.svelte +84 -36
  72. package/dist/form/Select.svelte.d.ts +69 -96
  73. package/dist/form/Textarea.svelte +163 -0
  74. package/dist/form/Textarea.svelte.d.ts +108 -0
  75. package/dist/form/Toggle.svelte +2 -0
  76. package/dist/form/Toggle.svelte.d.ts +15 -0
  77. package/dist/form/client.svelte.d.ts +8 -9
  78. package/dist/form/client.svelte.js +18 -10
  79. package/dist/form/form.d.ts +6 -4
  80. package/dist/form/form.js +23 -9
  81. package/dist/form/index.d.ts +6 -3
  82. package/dist/form/index.js +6 -3
  83. package/dist/form/types.d.ts +11 -1
  84. package/dist/icons/IconAlert.svelte.d.ts +23 -0
  85. package/dist/icons/{Copy.svelte → IconCopy.svelte} +1 -1
  86. package/dist/icons/IconCopy.svelte.d.ts +23 -0
  87. package/dist/icons/IconDone.svelte.d.ts +23 -0
  88. package/dist/icons/IconError.svelte.d.ts +23 -0
  89. package/dist/icons/IconHelp.svelte.d.ts +23 -0
  90. package/dist/icons/IconHide.svelte.d.ts +23 -0
  91. package/dist/icons/IconInfo.svelte.d.ts +23 -0
  92. package/dist/icons/IconLink.svelte.d.ts +23 -0
  93. package/dist/icons/IconMenuBurger.svelte.d.ts +23 -0
  94. package/dist/icons/IconMenuDots.svelte.d.ts +23 -0
  95. package/dist/icons/IconSearch.svelte +3 -0
  96. package/dist/icons/IconSearch.svelte.d.ts +23 -0
  97. package/dist/icons/IconShow.svelte.d.ts +23 -0
  98. package/dist/icons/IconSuccess.svelte.d.ts +23 -0
  99. package/dist/icons/IconWarning.svelte.d.ts +23 -0
  100. package/dist/icons/index.d.ts +14 -11
  101. package/dist/icons/index.js +14 -11
  102. package/dist/layout/Layout.svelte +7 -5
  103. package/dist/layout/Layout.svelte.d.ts +19 -22
  104. package/dist/layout/LayoutFooter.svelte.d.ts +17 -18
  105. package/dist/layout/LayoutGrid.svelte.d.ts +25 -36
  106. package/dist/layout/LayoutHeader.svelte +3 -0
  107. package/dist/layout/LayoutHeader.svelte.d.ts +33 -38
  108. package/dist/layout/LayoutSideMenu.svelte +18 -17
  109. package/dist/layout/LayoutSideMenu.svelte.d.ts +18 -22
  110. package/dist/layout/Overlay.svelte.d.ts +22 -32
  111. package/dist/layout/OverlayContainer.svelte.d.ts +14 -15
  112. package/dist/layout/OverlayLayer.svelte +6 -11
  113. package/dist/layout/OverlayLayer.svelte.d.ts +17 -20
  114. package/dist/layout/PageContent.svelte +9 -24
  115. package/dist/layout/PageContent.svelte.d.ts +23 -26
  116. package/dist/layout/Theme.svelte +19 -4
  117. package/dist/layout/Theme.svelte.d.ts +17 -22
  118. package/dist/layout/UIContent.svelte.d.ts +16 -20
  119. package/dist/layout/index.d.ts +5 -1
  120. package/dist/layout/index.js +5 -1
  121. package/dist/layout/overlays.svelte.d.ts +2 -2
  122. package/dist/nav/Breadcrumb.svelte +1 -1
  123. package/dist/nav/Breadcrumb.svelte.d.ts +26 -31
  124. package/dist/nav/Menu.svelte +6 -13
  125. package/dist/nav/Menu.svelte.d.ts +25 -31
  126. package/dist/nav/MenuItem.svelte +15 -8
  127. package/dist/nav/MenuItem.svelte.d.ts +20 -24
  128. package/dist/nav/MenuTypes.d.ts +7 -7
  129. package/dist/nav/NavMenu.svelte +7 -9
  130. package/dist/nav/NavMenu.svelte.d.ts +17 -18
  131. package/dist/nav/TabbedContent.svelte +1 -1
  132. package/dist/nav/TabbedContent.svelte.d.ts +21 -22
  133. package/dist/nav/Tabs.svelte +53 -13
  134. package/dist/nav/Tabs.svelte.d.ts +24 -25
  135. package/dist/nav/index.d.ts +2 -1
  136. package/dist/nav/index.js +2 -1
  137. package/dist/style.css +176 -79
  138. package/dist/typo/Clamp.svelte.d.ts +22 -26
  139. package/dist/typo/H.svelte.d.ts +26 -30
  140. package/dist/typo/H1.svelte.d.ts +24 -28
  141. package/dist/typo/H2.svelte.d.ts +24 -28
  142. package/dist/typo/H3.svelte.d.ts +24 -28
  143. package/dist/typo/H4.svelte.d.ts +24 -28
  144. package/dist/typo/H5.svelte.d.ts +24 -28
  145. package/dist/typo/H6.svelte.d.ts +24 -28
  146. package/dist/typo/P.svelte.d.ts +24 -28
  147. package/dist/utils/StringOrComponent.svelte +14 -0
  148. package/dist/utils/StringOrComponent.svelte.d.ts +19 -0
  149. package/dist/utils/StringOrSnippet.svelte +11 -0
  150. package/dist/utils/StringOrSnippet.svelte.d.ts +19 -0
  151. package/dist/utils/color.d.ts +1 -1
  152. package/dist/utils/index.d.ts +2 -1
  153. package/dist/utils/index.js +2 -1
  154. package/dist/utils/isSnippet.d.ts +3 -5
  155. package/dist/utils/isSnippet.js +9 -4
  156. package/package.json +32 -25
  157. package/dist/data/Stat.svelte.d.ts +0 -39
  158. package/dist/data/index.d.ts +0 -1
  159. package/dist/data/index.js +0 -1
  160. package/dist/grid/Column.svelte +0 -11
  161. package/dist/grid/Column.svelte.d.ts +0 -22
  162. package/dist/grid/Grid.svelte +0 -19
  163. package/dist/grid/Grid.svelte.d.ts +0 -24
  164. package/dist/grid/Row.svelte +0 -44
  165. package/dist/grid/Row.svelte.d.ts +0 -24
  166. package/dist/icons/Alert.svelte.d.ts +0 -23
  167. package/dist/icons/Copy.svelte.d.ts +0 -23
  168. package/dist/icons/Done.svelte.d.ts +0 -23
  169. package/dist/icons/Error.svelte.d.ts +0 -23
  170. package/dist/icons/Help.svelte.d.ts +0 -23
  171. package/dist/icons/Hide.svelte.d.ts +0 -23
  172. package/dist/icons/Info.svelte.d.ts +0 -23
  173. package/dist/icons/Link.svelte.d.ts +0 -23
  174. package/dist/icons/MenuBurger.svelte.d.ts +0 -23
  175. package/dist/icons/MenuDots.svelte.d.ts +0 -23
  176. package/dist/icons/Show.svelte.d.ts +0 -23
  177. package/dist/icons/Success.svelte.d.ts +0 -23
  178. package/dist/icons/Warning.svelte.d.ts +0 -23
  179. package/dist/utils/StringOrComponentOrSnippet.svelte +0 -14
  180. package/dist/utils/StringOrComponentOrSnippet.svelte.d.ts +0 -24
  181. /package/dist/icons/{Alert.svelte → IconAlert.svelte} +0 -0
  182. /package/dist/icons/{Done.svelte → IconDone.svelte} +0 -0
  183. /package/dist/icons/{Error.svelte → IconError.svelte} +0 -0
  184. /package/dist/icons/{Help.svelte → IconHelp.svelte} +0 -0
  185. /package/dist/icons/{Hide.svelte → IconHide.svelte} +0 -0
  186. /package/dist/icons/{Info.svelte → IconInfo.svelte} +0 -0
  187. /package/dist/icons/{Link.svelte → IconLink.svelte} +0 -0
  188. /package/dist/icons/{MenuBurger.svelte → IconMenuBurger.svelte} +0 -0
  189. /package/dist/icons/{MenuDots.svelte → IconMenuDots.svelte} +0 -0
  190. /package/dist/icons/{Show.svelte → IconShow.svelte} +0 -0
  191. /package/dist/icons/{Success.svelte → IconSuccess.svelte} +0 -0
  192. /package/dist/icons/{Warning.svelte → IconWarning.svelte} +0 -0
@@ -0,0 +1,19 @@
1
+ import { type Snippet } from "svelte";
2
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
3
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
4
+ $$bindings?: Bindings;
5
+ } & Exports;
6
+ (internal: unknown, props: Props & {
7
+ $$events?: Events;
8
+ $$slots?: Slots;
9
+ }): Exports;
10
+ z_$$bindings?: Bindings;
11
+ }
12
+ declare const Panel: $$__sveltets_2_IsomorphicComponent<{
13
+ children: Snippet;
14
+ z?: 0 | 1 | 2 | 3;
15
+ }, {
16
+ [evt: string]: CustomEvent<any>;
17
+ }, {}, {}, "">;
18
+ type Panel = InstanceType<typeof Panel>;
19
+ export default Panel;
@@ -1,30 +1,25 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import type { Snippet } from "svelte";
3
- declare const __propDef: {
4
- props: {
5
- content: Snippet<[close: () => void]>;
6
- trigger: Snippet<[attrs: (node: Element) => void]>;
7
- hover?: boolean | undefined;
8
- shape?: "rounded" | "sharp" | undefined;
9
- };
10
- events: {
11
- [evt: string]: CustomEvent<any>;
12
- };
13
- slots: {};
14
- };
15
- export type PopupProps = typeof __propDef.props;
16
- export type PopupEvents = typeof __propDef.events;
17
- export type PopupSlots = typeof __propDef.slots;
18
- export default class Popup extends SvelteComponent<PopupProps, PopupEvents, PopupSlots> {
19
- constructor(options?: import("svelte").ComponentConstructorOptions<{
20
- content: (this: void, close: () => void) => typeof import("svelte").SnippetReturn & {
21
- _: "functions passed to {@render ...} tags must use the `Snippet` type imported from \"svelte\"";
22
- };
23
- trigger: (this: void, attrs: (node: Element) => void) => typeof import("svelte").SnippetReturn & {
24
- _: "functions passed to {@render ...} tags must use the `Snippet` type imported from \"svelte\"";
25
- };
26
- hover?: boolean | undefined;
27
- shape?: "rounded" | "sharp" | undefined;
28
- }>);
2
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
3
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
4
+ $$bindings?: Bindings;
5
+ } & Exports;
6
+ (internal: unknown, props: Props & {
7
+ $$events?: Events;
8
+ $$slots?: Slots;
9
+ }): Exports;
10
+ z_$$bindings?: Bindings;
29
11
  }
30
- export {};
12
+ declare const Popup: $$__sveltets_2_IsomorphicComponent<{
13
+ /** The content of the popup */
14
+ content: Snippet<[close: () => void]>;
15
+ /** Snippet containing the trigger element */
16
+ trigger: Snippet<[attrs: (node: Element) => void]>;
17
+ /** Triggers the popup on hover (and keyboard focus) instead of click */
18
+ hover?: boolean;
19
+ /** The shape of the popup */
20
+ shape?: "rounded" | "sharp";
21
+ }, {
22
+ [evt: string]: CustomEvent<any>;
23
+ }, {}, {}, "">;
24
+ type Popup = InstanceType<typeof Popup>;
25
+ export default Popup;
@@ -8,26 +8,22 @@ let {
8
8
  color,
9
9
  formatter
10
10
  } = $props();
11
+ let Prefix = prefix;
12
+ let Suffix = suffix;
11
13
  let colorVar = $derived(getStatusColorVar(color, "var(--bg-app)"));
12
14
  let _value = $derived.by(() => {
13
15
  if (typeof value === "number" && formatter?.constructor === Intl.NumberFormat) {
14
- console.log("value is number and formatter is object");
15
16
  return formatter.format(value);
16
17
  } else if (value instanceof Date && formatter?.constructor === Intl.DateTimeFormat) {
17
- console.log("value is date and formatter is object");
18
18
  return formatter.format(value);
19
19
  } else if (typeof value === "number") {
20
- console.log("value is number");
21
20
  return value.toLocaleString();
22
21
  } else if (typeof value === "string") {
23
- console.log("value is string");
24
22
  return value;
25
23
  } else if (value instanceof Date) {
26
- console.log("value is date");
27
24
  return value.toLocaleDateString();
28
25
  }
29
26
  if (typeof formatter === "function") {
30
- console.log("formatter is function");
31
27
  return formatter(value);
32
28
  }
33
29
  return value;
@@ -35,9 +31,6 @@ let _value = $derived.by(() => {
35
31
  </script>
36
32
 
37
33
  <section class="Stat" style="--bgColor: {colorVar};">
38
- {#if title}
39
- <header>{title}</header>
40
- {/if}
41
34
  <main>
42
35
  {#if prefix}
43
36
  {#if typeof prefix === "string"}
@@ -45,7 +38,7 @@ let _value = $derived.by(() => {
45
38
  {:else if isSnippet(prefix)}
46
39
  {@render prefix()}
47
40
  {:else}
48
- <svlte:component this={prefix} />
41
+ <Prefix />
49
42
  {/if}
50
43
  {/if}
51
44
  {_value}
@@ -55,10 +48,13 @@ let _value = $derived.by(() => {
55
48
  {:else if isSnippet(suffix)}
56
49
  {@render suffix()}
57
50
  {:else}
58
- <svlte:component this={suffix} />
51
+ <Suffix />
59
52
  {/if}
60
53
  {/if}
61
54
  </main>
55
+ {#if title}
56
+ <header>{title}</header>
57
+ {/if}
62
58
  </section>
63
59
 
64
60
  <style>
@@ -68,22 +64,18 @@ let _value = $derived.by(() => {
68
64
  align-items: center;
69
65
  gap: 0.75rem;
70
66
  padding: 1rem;
71
- margin-inline: -1rem;
72
- margin-block: -1rem;
73
67
  background-color: var(--bgColor);
74
68
  }
75
69
  header {
76
70
  font-size: max(0.9em, 11px);
77
71
  font-weight: 500;
78
72
  opacity: 0.75;
79
- color: var(--bgColor);
80
- filter: url(#bwFilter);
73
+ color: var(--color, var(--text));
81
74
  }
82
75
  main {
83
76
  font-size: 1.5em;
84
77
  opacity: 0.95;
85
78
  font-weight: 700;
86
- color: var(--bgColor);
87
- filter: url(#bwFilter);
79
+ color: var(--color, var(--text));
88
80
  }
89
81
  </style>
@@ -0,0 +1,30 @@
1
+ import type { Component, Snippet } from "svelte";
2
+ import { type StatusColorOrString } from "../utils/color.js";
3
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
4
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
5
+ $$bindings?: Bindings;
6
+ } & Exports;
7
+ (internal: unknown, props: Props & {
8
+ $$events?: Events;
9
+ $$slots?: Slots;
10
+ }): Exports;
11
+ z_$$bindings?: Bindings;
12
+ }
13
+ declare const Stat: $$__sveltets_2_IsomorphicComponent<{
14
+ /** The title of the stat. */
15
+ title?: string;
16
+ /** The value to display. */
17
+ value?: number | string | Date;
18
+ /** The prefix to display before the value. Can be a string, a URL, a Snippet, or a Svelte component. */
19
+ prefix?: string | Snippet | Component;
20
+ /** The suffix to display after the value. Can be a string, a URL, a Snippet, or a Svelte component. */
21
+ suffix?: string | Snippet | Component;
22
+ /** The color of the stat. */
23
+ color?: StatusColorOrString;
24
+ /** A function to format the value. Can be an [Intl.NumberFormat object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat), an [Intl.DateTimeFormat object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat), or a function that takes in a value and returns a string. */
25
+ formatter?: ((value: number | string | Date | undefined) => string) | Intl.NumberFormat | Intl.DateTimeFormat;
26
+ }, {
27
+ [evt: string]: CustomEvent<any>;
28
+ }, {}, {}, "">;
29
+ type Stat = InstanceType<typeof Stat>;
30
+ export default Stat;
@@ -9,16 +9,20 @@
9
9
  } = $props();
10
10
  </script>
11
11
 
12
- <table
13
- class:colored
12
+ <div
13
+ class="table-container"
14
+ class:hang
14
15
  class:contained
15
16
  class:rounded
16
- class:hang
17
- class:fullWidth
18
- class:hoverable
19
17
  >
20
- {@render children()}
21
- </table>
22
-
23
- <style>
24
- </style>
18
+ <table
19
+ class:colored
20
+ class:contained
21
+ class:rounded
22
+ class:hang
23
+ class:fullWidth
24
+ class:hoverable
25
+ >
26
+ {@render children()}
27
+ </table>
28
+ </div>
@@ -1,34 +1,24 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import type { Snippet } from "svelte";
3
- declare const __propDef: {
4
- props: {
5
- colored?: boolean | undefined;
6
- contained?: boolean | undefined;
7
- rounded?: boolean | undefined;
8
- hang?: boolean | undefined;
9
- hoverable?: boolean | undefined;
10
- fullWidth?: boolean | undefined;
11
- children: Snippet;
12
- };
13
- events: {
14
- [evt: string]: CustomEvent<any>;
15
- };
16
- slots: {};
17
- };
18
- export type TableProps = typeof __propDef.props;
19
- export type TableEvents = typeof __propDef.events;
20
- export type TableSlots = typeof __propDef.slots;
21
- export default class Table extends SvelteComponent<TableProps, TableEvents, TableSlots> {
22
- constructor(options?: import("svelte").ComponentConstructorOptions<{
23
- colored?: boolean | undefined;
24
- contained?: boolean | undefined;
25
- rounded?: boolean | undefined;
26
- hang?: boolean | undefined;
27
- hoverable?: boolean | undefined;
28
- fullWidth?: boolean | undefined;
29
- children: (this: void) => typeof import("svelte").SnippetReturn & {
30
- _: "functions passed to {@render ...} tags must use the `Snippet` type imported from \"svelte\"";
31
- };
32
- }>);
2
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
3
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
4
+ $$bindings?: Bindings;
5
+ } & Exports;
6
+ (internal: unknown, props: Props & {
7
+ $$events?: Events;
8
+ $$slots?: Slots;
9
+ }): Exports;
10
+ z_$$bindings?: Bindings;
33
11
  }
34
- export {};
12
+ declare const Table: $$__sveltets_2_IsomorphicComponent<{
13
+ colored?: boolean;
14
+ contained?: boolean;
15
+ rounded?: boolean;
16
+ hang?: boolean;
17
+ hoverable?: boolean;
18
+ fullWidth?: boolean;
19
+ children: Snippet;
20
+ }, {
21
+ [evt: string]: CustomEvent<any>;
22
+ }, {}, {}, "">;
23
+ type Table = InstanceType<typeof Table>;
24
+ export default Table;
@@ -0,0 +1,51 @@
1
+ <script lang="ts">let {
2
+ total,
3
+ perPage,
4
+ perPageOptions = [50, 100, 250],
5
+ currentPage,
6
+ onPageChange
7
+ } = $props();
8
+ </script>
9
+
10
+ <div class="TablePaginator">
11
+ <div class="TablePaginator__PerPage">
12
+ <label for="perPage">Per Page</label>
13
+ <select
14
+ id="perPage"
15
+ onchange={() => onPageChange(1)}
16
+ >
17
+ {#each perPageOptions as option}
18
+ <option value={option}>{option}</option>
19
+ {/each}
20
+ </select>
21
+ </div>
22
+ <div class="TablePaginator__Page">
23
+ <button
24
+ disabled={currentPage === 1}
25
+ onclick={() => onPageChange(currentPage - 1)}
26
+ >
27
+ Previous
28
+ </button>
29
+ <span>Page {currentPage} of {Math.ceil(total / perPage)}</span>
30
+ <button
31
+ disabled={currentPage === Math.ceil(total / perPage)}
32
+ onclick={() => onPageChange(currentPage + 1)}
33
+ >
34
+ Next
35
+ </button>
36
+ </div>
37
+ </div>
38
+
39
+ <style>
40
+ .TablePaginator {
41
+ display: grid;
42
+ grid-template-columns: auto auto;
43
+ gap: 1em;
44
+ align-items: center;
45
+ justify-content: space-between;
46
+ }
47
+ .TablePaginator > * {
48
+ display: flex;
49
+ align-items: center;
50
+ }
51
+ </style>
@@ -0,0 +1,21 @@
1
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
2
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
3
+ $$bindings?: Bindings;
4
+ } & Exports;
5
+ (internal: unknown, props: Props & {
6
+ $$events?: Events;
7
+ $$slots?: Slots;
8
+ }): Exports;
9
+ z_$$bindings?: Bindings;
10
+ }
11
+ declare const TablePaginator: $$__sveltets_2_IsomorphicComponent<{
12
+ total: number;
13
+ perPage: number;
14
+ perPageOptions?: number[];
15
+ currentPage: number;
16
+ onPageChange: (page: number) => void;
17
+ }, {
18
+ [evt: string]: CustomEvent<any>;
19
+ }, {}, {}, "">;
20
+ type TablePaginator = InstanceType<typeof TablePaginator>;
21
+ export default TablePaginator;
@@ -1,35 +1,32 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import type { Snippet } from "svelte";
3
2
  import type { StatusColorOrString } from '../utils/color.js';
4
- declare const __propDef: {
5
- props: {
6
- code?: boolean | undefined;
7
- color?: StatusColorOrString | undefined;
8
- shape?: "rounded" | "pill" | "rectangle" | undefined;
9
- onclick?: ((event: MouseEvent) => void) | undefined;
10
- href?: string | undefined;
11
- target?: string | undefined;
12
- children: Snippet;
13
- };
14
- events: {
15
- [evt: string]: CustomEvent<any>;
16
- };
17
- slots: {};
18
- };
19
- export type TagProps = typeof __propDef.props;
20
- export type TagEvents = typeof __propDef.events;
21
- export type TagSlots = typeof __propDef.slots;
22
- export default class Tag extends SvelteComponent<TagProps, TagEvents, TagSlots> {
23
- constructor(options?: import("svelte").ComponentConstructorOptions<{
24
- code?: boolean | undefined;
25
- color?: StatusColorOrString | undefined;
26
- shape?: "rounded" | "pill" | "rectangle" | undefined;
27
- onclick?: ((event: MouseEvent) => void) | undefined;
28
- href?: string | undefined;
29
- target?: string | undefined;
30
- children: (this: void) => typeof import("svelte").SnippetReturn & {
31
- _: "functions passed to {@render ...} tags must use the `Snippet` type imported from \"svelte\"";
32
- };
33
- }>);
3
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
4
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
5
+ $$bindings?: Bindings;
6
+ } & Exports;
7
+ (internal: unknown, props: Props & {
8
+ $$events?: Events;
9
+ $$slots?: Slots;
10
+ }): Exports;
11
+ z_$$bindings?: Bindings;
34
12
  }
35
- export {};
13
+ declare const Tag: $$__sveltets_2_IsomorphicComponent<{
14
+ /** Use a mono-spaced font for the tag. */
15
+ code?: boolean;
16
+ /** The color of the tag. */
17
+ color?: StatusColorOrString;
18
+ /** The shape of the tag. */
19
+ shape?: "rounded" | "pill" | "rectangle";
20
+ /** A function to run when the tag is clicked. */
21
+ onclick?: (event: MouseEvent) => void;
22
+ /** A URL to link to. */
23
+ href?: string;
24
+ /** The target of the link. */
25
+ target?: string;
26
+ /** The content of the tag. */
27
+ children: Snippet;
28
+ }, {
29
+ [evt: string]: CustomEvent<any>;
30
+ }, {}, {}, "">;
31
+ type Tag = InstanceType<typeof Tag>;
32
+ export default Tag;
@@ -5,12 +5,13 @@ let {
5
5
  open
6
6
  } = $props();
7
7
  const id = `tt-${Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15)}`;
8
+ let offsetX = $state(0);
8
9
  </script>
9
10
 
10
11
  <span class="Tooltip" class:open>
11
12
  <span class="TooltipContainer" role="tooltip">
12
13
  <Theme theme="invert">
13
- <span class="TooltipContent" id={id}>
14
+ <span class="TooltipContent" id={id} style="left: {offsetX}px;">
14
15
  {#if typeof tip === "string"}
15
16
  {@html tip}
16
17
  {:else}
@@ -51,7 +52,7 @@ const id = `tt-${Math.random().toString(36).substring(2, 15) + Math.random().toS
51
52
  }
52
53
  .TooltipContent {
53
54
  background-color: var(--bg-app);
54
- padding: 0.125rem 0.35rem;
55
+ padding: 0.35rem 0.5rem;
55
56
  border-radius: calc(var(--border-radius));
56
57
  border-top: var(--border-subtle);
57
58
  border-left: var(--border-subtle);
@@ -60,8 +61,8 @@ const id = `tt-${Math.random().toString(36).substring(2, 15) + Math.random().toS
60
61
  font-size: max(0.75rem, 11px);
61
62
  line-height: 1.35;
62
63
  font-weight: 500;
63
- color: var(--text);
64
- max-width: clamp(5ch, 100%, 35ch);
64
+ color: var(--text-heading);
65
+ max-width: clamp(25ch, 100%, 25ch);
65
66
  width: max-content;
66
67
  }
67
68
  .TooltipContent :global(code) {
@@ -1,28 +1,23 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import type { Snippet } from "svelte";
3
- declare const __propDef: {
4
- props: {
5
- children: Snippet;
6
- tip: string | Snippet;
7
- open?: boolean | undefined;
8
- };
9
- events: {
10
- [evt: string]: CustomEvent<any>;
11
- };
12
- slots: {};
13
- };
14
- export type TooltipProps = typeof __propDef.props;
15
- export type TooltipEvents = typeof __propDef.events;
16
- export type TooltipSlots = typeof __propDef.slots;
17
- export default class Tooltip extends SvelteComponent<TooltipProps, TooltipEvents, TooltipSlots> {
18
- constructor(options?: import("svelte").ComponentConstructorOptions<{
19
- children: (this: void) => typeof import("svelte").SnippetReturn & {
20
- _: "functions passed to {@render ...} tags must use the `Snippet` type imported from \"svelte\"";
21
- };
22
- tip: string | ((this: void) => typeof import("svelte").SnippetReturn & {
23
- _: "functions passed to {@render ...} tags must use the `Snippet` type imported from \"svelte\"";
24
- });
25
- open?: boolean | undefined;
26
- }>);
2
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
3
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
4
+ $$bindings?: Bindings;
5
+ } & Exports;
6
+ (internal: unknown, props: Props & {
7
+ $$events?: Events;
8
+ $$slots?: Slots;
9
+ }): Exports;
10
+ z_$$bindings?: Bindings;
27
11
  }
28
- export {};
12
+ declare const Tooltip: $$__sveltets_2_IsomorphicComponent<{
13
+ /** Content to trigger the tooltip */
14
+ children: Snippet;
15
+ /** The content of the tooltip */
16
+ tip: string | Snippet;
17
+ /** Open the tooltip on render (cannot be closed) */
18
+ open?: boolean;
19
+ }, {
20
+ [evt: string]: CustomEvent<any>;
21
+ }, {}, {}, "">;
22
+ type Tooltip = InstanceType<typeof Tooltip>;
23
+ export default Tooltip;
@@ -0,0 +1,78 @@
1
+ export interface ChartDataSet {
2
+ values: number[];
3
+ }
4
+ export interface ChartData {
5
+ labels: string[];
6
+ values: number[];
7
+ }
8
+ export declare function scale(domain: number[], range: number[]): (num: number) => number;
9
+ export declare function makeScale(numbers: number[], itemsToReturn: number): number[];
10
+ export declare function getShortKValue(num: number): string;
11
+ export type PointData = {
12
+ p1: {
13
+ x: number;
14
+ y: number;
15
+ };
16
+ p2: {
17
+ x: number;
18
+ y: number;
19
+ };
20
+ bp1: {
21
+ x: number;
22
+ y: number;
23
+ };
24
+ bp2: {
25
+ x: number;
26
+ y: number;
27
+ };
28
+ };
29
+ /**
30
+ * Interpolates a Catmull-Rom Spline through a series of x/y points
31
+ * Converts the CR Spline to Cubic Beziers for use with SVG items
32
+ *
33
+ * If 'alpha' is 0.5 then the 'Centripetal' variant is used
34
+ * If 'alpha' is 1 then the 'Chordal' variant is used
35
+ *
36
+ * @param {Array} data - Array of points, each point in object literal holding x/y values
37
+ * @return {String} d - SVG string with cubic bezier curves representing the Catmull-Rom Spline
38
+ */
39
+ export declare function catmullRomBase(data: {
40
+ x: number;
41
+ y: number;
42
+ }[], alpha: number): PointData[];
43
+ /**
44
+ * Returns the SVG path for Catmull-Rom spline interpolation
45
+ */
46
+ export declare function catmullRomToSVG(pointsData: PointData[], alpha: number, firstValue: {
47
+ x: number;
48
+ y: number;
49
+ }): string | false;
50
+ /**
51
+ * Returns the Y coordinate for the given X value on the Catmull-Rom spline
52
+ */
53
+ export declare function catmullRomGetY(pointsData: PointData[], alpha: number, xValue: number, yPadding: number): number | false | undefined;
54
+ /**
55
+ * Linear interpolation helper function
56
+ */
57
+ export declare function lerp(point1: {
58
+ x: number;
59
+ y: number;
60
+ }, point2: {
61
+ x: number;
62
+ y: number;
63
+ }, t: number): {
64
+ x: number;
65
+ y: number;
66
+ };
67
+ export declare function getSVGSize(svg: SVGSVGElement): {
68
+ innerWidth: number;
69
+ innerHeight: number;
70
+ width: number;
71
+ height: number;
72
+ padding: {
73
+ left: number;
74
+ right: number;
75
+ top: number;
76
+ bottom: number;
77
+ };
78
+ };