@reshape-biotech/design-system 0.0.47 → 0.0.48

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 (281) hide show
  1. package/dist/app.css +115 -0
  2. package/dist/components/activity/Activity.stories.svelte +100 -0
  3. package/dist/components/activity/Activity.stories.svelte.d.ts +19 -0
  4. package/dist/components/activity/Activity.svelte +80 -0
  5. package/dist/components/activity/Activity.svelte.d.ts +18 -0
  6. package/dist/components/activity/index.d.ts +1 -0
  7. package/dist/components/activity/index.js +1 -0
  8. package/dist/components/avatar/Avatar.svelte +63 -0
  9. package/dist/components/avatar/Avatar.svelte.d.ts +8 -0
  10. package/dist/components/avatar/index.d.ts +1 -0
  11. package/dist/components/avatar/index.js +1 -0
  12. package/dist/components/banner/Banner.stories.svelte +129 -0
  13. package/dist/components/banner/Banner.stories.svelte.d.ts +19 -0
  14. package/dist/components/banner/Banner.svelte +59 -0
  15. package/dist/components/banner/Banner.svelte.d.ts +11 -0
  16. package/dist/components/banner/index.d.ts +1 -0
  17. package/dist/components/banner/index.js +1 -0
  18. package/dist/components/button/Button.stories.svelte +37 -0
  19. package/dist/components/button/Button.stories.svelte.d.ts +19 -0
  20. package/dist/components/button/Button.svelte +263 -0
  21. package/dist/components/button/Button.svelte.d.ts +20 -0
  22. package/dist/components/button/index.d.ts +1 -0
  23. package/dist/components/button/index.js +1 -0
  24. package/dist/components/collapsible/Collapsible.stories.svelte +40 -0
  25. package/dist/components/collapsible/Collapsible.stories.svelte.d.ts +19 -0
  26. package/dist/components/collapsible/components/collapsible-content.svelte +26 -0
  27. package/dist/components/collapsible/components/collapsible-content.svelte.d.ts +10 -0
  28. package/dist/components/collapsible/components/collapsible-trigger.svelte +36 -0
  29. package/dist/components/collapsible/components/collapsible-trigger.svelte.d.ts +4 -0
  30. package/dist/components/collapsible/index.d.ts +5 -0
  31. package/dist/components/collapsible/index.js +4 -0
  32. package/dist/components/collapsible/types.d.ts +9 -0
  33. package/dist/components/collapsible/types.js +1 -0
  34. package/dist/components/combobox/Combobox.stories.svelte +119 -0
  35. package/dist/components/combobox/Combobox.stories.svelte.d.ts +19 -0
  36. package/dist/components/combobox/components/combobox-add.svelte +30 -0
  37. package/dist/components/combobox/components/combobox-add.svelte.d.ts +8 -0
  38. package/dist/components/combobox/components/combobox-content.svelte +137 -0
  39. package/dist/components/combobox/components/combobox-content.svelte.d.ts +4 -0
  40. package/dist/components/combobox/components/combobox-indicator.svelte +5 -0
  41. package/dist/components/combobox/components/combobox-indicator.svelte.d.ts +18 -0
  42. package/dist/components/combobox/index.d.ts +14 -0
  43. package/dist/components/combobox/index.js +15 -0
  44. package/dist/components/combobox/types.d.ts +20 -0
  45. package/dist/components/combobox/types.js +1 -0
  46. package/dist/components/datepicker/DatePicker.svelte +344 -0
  47. package/dist/components/datepicker/DatePicker.svelte.d.ts +8 -0
  48. package/dist/components/datepicker/index.d.ts +1 -0
  49. package/dist/components/datepicker/index.js +1 -0
  50. package/dist/components/divider/Divider.stories.svelte +14 -0
  51. package/dist/components/divider/Divider.stories.svelte.d.ts +27 -0
  52. package/dist/components/divider/Divider.svelte +9 -0
  53. package/dist/components/divider/Divider.svelte.d.ts +6 -0
  54. package/dist/components/divider/index.d.ts +1 -0
  55. package/dist/components/divider/index.js +1 -0
  56. package/dist/components/drawer/Drawer.stories.svelte +64 -0
  57. package/dist/components/drawer/Drawer.stories.svelte.d.ts +27 -0
  58. package/dist/components/drawer/Drawer.svelte +41 -0
  59. package/dist/components/drawer/Drawer.svelte.d.ts +12 -0
  60. package/dist/components/drawer/DrawerLabel.svelte +62 -0
  61. package/dist/components/drawer/DrawerLabel.svelte.d.ts +9 -0
  62. package/dist/components/drawer/index.d.ts +1 -0
  63. package/dist/components/drawer/index.js +1 -0
  64. package/dist/components/dropdown/Dropdown.stories.svelte +236 -0
  65. package/dist/components/dropdown/Dropdown.stories.svelte.d.ts +27 -0
  66. package/dist/components/dropdown/Dropdown.svelte +69 -0
  67. package/dist/components/dropdown/Dropdown.svelte.d.ts +26 -0
  68. package/dist/components/dropdown/components/DropdownContent.svelte +29 -0
  69. package/dist/components/dropdown/components/DropdownContent.svelte.d.ts +10 -0
  70. package/dist/components/dropdown/components/DropdownMenu.svelte +23 -0
  71. package/dist/components/dropdown/components/DropdownMenu.svelte.d.ts +8 -0
  72. package/dist/components/dropdown/components/DropdownTrigger.svelte +46 -0
  73. package/dist/components/dropdown/components/DropdownTrigger.svelte.d.ts +13 -0
  74. package/dist/components/dropdown/components/OutlinedButton.svelte +61 -0
  75. package/dist/components/dropdown/components/OutlinedButton.svelte.d.ts +8 -0
  76. package/dist/components/dropdown/index.d.ts +1 -0
  77. package/dist/components/dropdown/index.js +1 -0
  78. package/dist/components/empty-content/EmptyContent.svelte +19 -0
  79. package/dist/components/empty-content/EmptyContent.svelte.d.ts +8 -0
  80. package/dist/components/graphs/chart/Chart.stories.svelte +128 -0
  81. package/dist/components/graphs/chart/Chart.stories.svelte.d.ts +19 -0
  82. package/dist/components/graphs/chart/Chart.svelte +145 -0
  83. package/dist/components/graphs/chart/Chart.svelte.d.ts +17 -0
  84. package/dist/components/graphs/index.d.ts +4 -0
  85. package/dist/components/graphs/index.js +4 -0
  86. package/dist/components/graphs/line/LineChart.stories.svelte +73 -0
  87. package/dist/components/graphs/line/LineChart.stories.svelte.d.ts +19 -0
  88. package/dist/components/graphs/line/LineChart.svelte +102 -0
  89. package/dist/components/graphs/line/LineChart.svelte.d.ts +18 -0
  90. package/dist/components/graphs/multiline/MultiLineChart.stories.svelte +77 -0
  91. package/dist/components/graphs/multiline/MultiLineChart.stories.svelte.d.ts +19 -0
  92. package/dist/components/graphs/multiline/MultiLineChart.svelte +108 -0
  93. package/dist/components/graphs/multiline/MultiLineChart.svelte.d.ts +22 -0
  94. package/dist/components/graphs/scatterplot/Scatterplot.stories.svelte +78 -0
  95. package/dist/components/graphs/scatterplot/Scatterplot.stories.svelte.d.ts +19 -0
  96. package/dist/components/graphs/scatterplot/Scatterplot.svelte +67 -0
  97. package/dist/components/graphs/scatterplot/Scatterplot.svelte.d.ts +16 -0
  98. package/dist/components/icon-button/IconButton.stories.svelte +82 -0
  99. package/dist/components/icon-button/IconButton.stories.svelte.d.ts +19 -0
  100. package/dist/components/icon-button/IconButton.svelte +152 -0
  101. package/dist/components/icon-button/IconButton.svelte.d.ts +16 -0
  102. package/dist/components/icon-button/index.d.ts +1 -0
  103. package/dist/components/icon-button/index.js +1 -0
  104. package/dist/components/icons/AnalysisIcon.stories.svelte +38 -0
  105. package/dist/components/icons/AnalysisIcon.stories.svelte.d.ts +27 -0
  106. package/dist/components/icons/AnalysisIcon.svelte +110 -0
  107. package/dist/components/icons/AnalysisIcon.svelte.d.ts +10 -0
  108. package/dist/components/icons/Icon.svelte +23 -0
  109. package/dist/components/icons/Icon.svelte.d.ts +4 -0
  110. package/dist/components/icons/custom/Halo.svelte +32 -0
  111. package/dist/components/icons/custom/Halo.svelte.d.ts +26 -0
  112. package/dist/components/icons/custom/Well.svelte +26 -0
  113. package/dist/components/icons/custom/Well.svelte.d.ts +26 -0
  114. package/dist/components/icons/index.d.ts +17 -0
  115. package/dist/components/icons/index.js +21 -0
  116. package/dist/components/icons/types.d.ts +0 -0
  117. package/dist/components/icons/types.js +1 -0
  118. package/dist/components/image/Image.svelte +55 -0
  119. package/dist/components/image/Image.svelte.d.ts +7 -0
  120. package/dist/components/image/index.d.ts +1 -0
  121. package/dist/components/image/index.js +1 -0
  122. package/dist/components/input/Input.stories.svelte +87 -0
  123. package/dist/components/input/Input.stories.svelte.d.ts +27 -0
  124. package/dist/components/input/Input.svelte +204 -0
  125. package/dist/components/input/Input.svelte.d.ts +24 -0
  126. package/dist/components/input/index.d.ts +1 -0
  127. package/dist/components/input/index.js +1 -0
  128. package/dist/components/list/List.stories.svelte +97 -0
  129. package/dist/components/list/List.stories.svelte.d.ts +19 -0
  130. package/dist/components/list/List.svelte +69 -0
  131. package/dist/components/list/List.svelte.d.ts +24 -0
  132. package/dist/components/list/index.d.ts +1 -0
  133. package/dist/components/list/index.js +1 -0
  134. package/dist/components/logo/Logo.stories.svelte +21 -0
  135. package/dist/components/logo/Logo.stories.svelte.d.ts +27 -0
  136. package/dist/components/logo/Logo.svelte +39 -0
  137. package/dist/components/logo/Logo.svelte.d.ts +7 -0
  138. package/dist/components/logo/index.d.ts +1 -0
  139. package/dist/components/logo/index.js +1 -0
  140. package/dist/components/markdown/Markdown.stories.svelte +41 -0
  141. package/dist/components/markdown/Markdown.stories.svelte.d.ts +27 -0
  142. package/dist/components/markdown/Markdown.svelte +12 -0
  143. package/dist/components/markdown/Markdown.svelte.d.ts +6 -0
  144. package/dist/components/markdown/index.d.ts +1 -0
  145. package/dist/components/markdown/index.js +1 -0
  146. package/dist/components/modal/Modal.stories.svelte +39 -0
  147. package/dist/components/modal/Modal.stories.svelte.d.ts +19 -0
  148. package/dist/components/modal/Modal.svelte +76 -0
  149. package/dist/components/modal/Modal.svelte.d.ts +17 -0
  150. package/dist/components/modal/index.d.ts +1 -0
  151. package/dist/components/modal/index.js +1 -0
  152. package/dist/components/notification-popup/NotificationPopup.stories.svelte +27 -0
  153. package/dist/components/notification-popup/NotificationPopup.stories.svelte.d.ts +27 -0
  154. package/dist/components/notification-popup/NotificationPopup.svelte +33 -0
  155. package/dist/components/notification-popup/NotificationPopup.svelte.d.ts +11 -0
  156. package/dist/components/notification-popup/index.d.ts +1 -0
  157. package/dist/components/notification-popup/index.js +1 -0
  158. package/dist/components/pill/Pill.svelte +39 -0
  159. package/dist/components/pill/Pill.svelte.d.ts +10 -0
  160. package/dist/components/pill/index.d.ts +1 -0
  161. package/dist/components/pill/index.js +1 -0
  162. package/dist/components/progress-circle/ProgressCircle.svelte +79 -0
  163. package/dist/components/progress-circle/ProgressCircle.svelte.d.ts +7 -0
  164. package/dist/components/progress-circle/index.d.ts +1 -0
  165. package/dist/components/progress-circle/index.js +1 -0
  166. package/dist/components/segmented-control-buttons/ControlButton.svelte +57 -0
  167. package/dist/components/segmented-control-buttons/ControlButton.svelte.d.ts +14 -0
  168. package/dist/components/segmented-control-buttons/SegmentedControlButtons.stories.svelte +45 -0
  169. package/dist/components/segmented-control-buttons/SegmentedControlButtons.stories.svelte.d.ts +19 -0
  170. package/dist/components/segmented-control-buttons/SegmentedControlButtons.svelte +21 -0
  171. package/dist/components/segmented-control-buttons/SegmentedControlButtons.svelte.d.ts +12 -0
  172. package/dist/components/segmented-control-buttons/index.d.ts +1 -0
  173. package/dist/components/segmented-control-buttons/index.js +1 -0
  174. package/dist/components/select/Select.stories.svelte +113 -0
  175. package/dist/components/select/Select.stories.svelte.d.ts +19 -0
  176. package/dist/components/select/Select.svelte +141 -0
  177. package/dist/components/select/Select.svelte.d.ts +60 -0
  178. package/dist/components/select/index.d.ts +7 -0
  179. package/dist/components/select/index.js +1 -0
  180. package/dist/components/skeleton-loader/SkeletonLoader.stories.svelte +45 -0
  181. package/dist/components/skeleton-loader/SkeletonLoader.stories.svelte.d.ts +27 -0
  182. package/dist/components/skeleton-loader/SkeletonLoader.svelte +17 -0
  183. package/dist/components/skeleton-loader/SkeletonLoader.svelte.d.ts +14 -0
  184. package/dist/components/skeleton-loader/StatcardSkeleton.svelte +14 -0
  185. package/dist/components/skeleton-loader/StatcardSkeleton.svelte.d.ts +18 -0
  186. package/dist/components/skeleton-loader/components/Skeleton.svelte +14 -0
  187. package/dist/components/skeleton-loader/components/Skeleton.svelte.d.ts +8 -0
  188. package/dist/components/skeleton-loader/components/SkeletonImage.svelte +14 -0
  189. package/dist/components/skeleton-loader/components/SkeletonImage.svelte.d.ts +26 -0
  190. package/dist/components/skeleton-loader/index.d.ts +3 -0
  191. package/dist/components/skeleton-loader/index.js +3 -0
  192. package/dist/components/slider/Slider.stories.svelte +37 -0
  193. package/dist/components/slider/Slider.stories.svelte.d.ts +27 -0
  194. package/dist/components/slider/Slider.svelte +126 -0
  195. package/dist/components/slider/Slider.svelte.d.ts +31 -0
  196. package/dist/components/slider/index.d.ts +1 -0
  197. package/dist/components/slider/index.js +1 -0
  198. package/dist/components/spinner/Spinner.svelte +27 -0
  199. package/dist/components/spinner/Spinner.svelte.d.ts +6 -0
  200. package/dist/components/spinner/index.d.ts +1 -0
  201. package/dist/components/spinner/index.js +1 -0
  202. package/dist/components/stat-card/StatCard.stories.svelte +32 -0
  203. package/dist/components/stat-card/StatCard.stories.svelte.d.ts +27 -0
  204. package/dist/components/stat-card/StatCard.svelte +52 -0
  205. package/dist/components/stat-card/StatCard.svelte.d.ts +10 -0
  206. package/dist/components/stat-card/index.d.ts +1 -0
  207. package/dist/components/stat-card/index.js +1 -0
  208. package/dist/components/status-badge/StatusBadge.stories.svelte +401 -0
  209. package/dist/components/status-badge/StatusBadge.stories.svelte.d.ts +19 -0
  210. package/dist/components/status-badge/StatusBadge.svelte +147 -0
  211. package/dist/components/status-badge/StatusBadge.svelte.d.ts +12 -0
  212. package/dist/components/status-badge/index.d.ts +1 -0
  213. package/dist/components/status-badge/index.js +1 -0
  214. package/dist/components/table/Table.stories.svelte +90 -0
  215. package/dist/components/table/Table.stories.svelte.d.ts +24 -0
  216. package/dist/components/table/Table.svelte +47 -0
  217. package/dist/components/table/Table.svelte.d.ts +21 -0
  218. package/dist/components/table/components/TBody.svelte +14 -0
  219. package/dist/components/table/components/TBody.svelte.d.ts +8 -0
  220. package/dist/components/table/components/THead.svelte +14 -0
  221. package/dist/components/table/components/THead.svelte.d.ts +8 -0
  222. package/dist/components/table/components/Td.svelte +14 -0
  223. package/dist/components/table/components/Td.svelte.d.ts +8 -0
  224. package/dist/components/table/components/Th.svelte +15 -0
  225. package/dist/components/table/components/Th.svelte.d.ts +9 -0
  226. package/dist/components/table/components/Tr.svelte +31 -0
  227. package/dist/components/table/components/Tr.svelte.d.ts +8 -0
  228. package/dist/components/table/index.d.ts +1 -0
  229. package/dist/components/table/index.js +1 -0
  230. package/dist/components/tabs/Tabs.stories.svelte +28 -0
  231. package/dist/components/tabs/Tabs.stories.svelte.d.ts +27 -0
  232. package/dist/components/tabs/Tabs.svelte +13 -0
  233. package/dist/components/tabs/Tabs.svelte.d.ts +14 -0
  234. package/dist/components/tabs/components/Content.svelte +15 -0
  235. package/dist/components/tabs/components/Content.svelte.d.ts +9 -0
  236. package/dist/components/tabs/components/Tab.svelte +21 -0
  237. package/dist/components/tabs/components/Tab.svelte.d.ts +10 -0
  238. package/dist/components/tabs/components/Tabs.svelte +14 -0
  239. package/dist/components/tabs/components/Tabs.svelte.d.ts +8 -0
  240. package/dist/components/tabs/index.d.ts +1 -0
  241. package/dist/components/tabs/index.js +1 -0
  242. package/dist/components/tag/Tag.stories.svelte +51 -0
  243. package/dist/components/tag/Tag.stories.svelte.d.ts +19 -0
  244. package/dist/components/tag/Tag.svelte +102 -0
  245. package/dist/components/tag/Tag.svelte.d.ts +12 -0
  246. package/dist/components/tag/index.d.ts +1 -0
  247. package/dist/components/tag/index.js +1 -0
  248. package/dist/components/toggle/Toggle.stories.svelte +15 -0
  249. package/dist/components/toggle/Toggle.stories.svelte.d.ts +27 -0
  250. package/dist/components/toggle/Toggle.svelte +73 -0
  251. package/dist/components/toggle/Toggle.svelte.d.ts +8 -0
  252. package/dist/components/toggle/index.d.ts +1 -0
  253. package/dist/components/toggle/index.js +1 -0
  254. package/dist/components/tooltip/Tooltip.stories.svelte +126 -0
  255. package/dist/components/tooltip/Tooltip.stories.svelte.d.ts +27 -0
  256. package/dist/components/tooltip/Tooltip.svelte +49 -0
  257. package/dist/components/tooltip/Tooltip.svelte.d.ts +13 -0
  258. package/dist/components/tooltip/index.d.ts +1 -0
  259. package/dist/components/tooltip/index.js +1 -0
  260. package/dist/fonts/MDSystemMono-Regular.woff +0 -0
  261. package/dist/fonts/MDSystemMono-Regular.woff2 +0 -0
  262. package/dist/fonts/afAnotherSans-Medium.woff2 +0 -0
  263. package/dist/fonts/afAnotherSans-Regular.woff2 +0 -0
  264. package/dist/fonts/afAnotherSans-SemiBold.woff2 +0 -0
  265. package/dist/fonts/afAnotherSans.woff2 +0 -0
  266. package/dist/fonts/index.d.ts +4 -0
  267. package/dist/fonts/index.js +6 -0
  268. package/dist/index.d.ts +37 -0
  269. package/dist/index.js +39 -68464
  270. package/dist/tailwind-safelist.d.ts +27 -0
  271. package/dist/tailwind-safelist.js +475 -0
  272. package/dist/tailwind.d.ts +11 -0
  273. package/dist/tailwind.js +1 -0
  274. package/dist/tailwind.preset.d.ts +344 -0
  275. package/dist/tailwind.preset.js +55 -0
  276. package/dist/tokens.d.ts +598 -0
  277. package/dist/tokens.js +285 -0
  278. package/dist/types/fonts.d.ts +4 -0
  279. package/package.json +2 -1
  280. package/dist/index.css +0 -1
  281. package/dist/index.umd.cjs +0 -148
@@ -0,0 +1,126 @@
1
+ <script lang="ts">
2
+ import { CaretUpDown } from 'phosphor-svelte';
3
+ let className = '';
4
+ export { className as class };
5
+ export let value = 0;
6
+ export let max: number;
7
+ export let buffer = 0;
8
+ export let bufferMin = 0;
9
+ export let bufferColorClass = 'bg-neutral';
10
+ export let filledColorClass = 'bg-accent-inverse';
11
+ export let showFilled = false;
12
+ export let showSteps = false;
13
+ export let onMousedown: () => void = () => {};
14
+ export let onMouseup: () => void = () => {};
15
+ export let id: string | undefined = undefined;
16
+
17
+ $: if (value > max) {
18
+ value = max;
19
+ } else if (value < 0) {
20
+ value = 0;
21
+ }
22
+
23
+ $: visualMax = Math.max(max, 1);
24
+ $: buffer = Math.min(buffer, visualMax);
25
+
26
+ function calculatePosition(positionFactor: number): string {
27
+ return `calc((${positionFactor / visualMax} * (100% - 1rem))`;
28
+ }
29
+ </script>
30
+
31
+ <div class={`relative flex h-10 items-center ${className}`}>
32
+ <div class="track-overlay"></div>
33
+ <div
34
+ class="pointer-events-none absolute h-2.5 rounded-full {bufferColorClass}"
35
+ style="
36
+ width: {calculatePosition(buffer - bufferMin)} + 1rem);
37
+ left: {calculatePosition(bufferMin)}
38
+ "
39
+ ></div>
40
+ {#if showFilled}
41
+ <div
42
+ class="absolute h-2.5 rounded-full {filledColorClass}"
43
+ style="width: {calculatePosition(value)} + 1rem);left: 0;"
44
+ ></div>
45
+ {/if}
46
+ {#if showSteps}
47
+ <div class="h-2.5">
48
+ {#each Array(visualMax + 1) as _, index}
49
+ <div
50
+ class="absolute h-1.5 w-1.5 translate-y-[2px] rounded-full bg-surface ring ring-1 ring-gray-950/10"
51
+ style="left: {calculatePosition(index)} + 0.25rem"
52
+ ></div>
53
+ {/each}
54
+ </div>
55
+ {/if}
56
+ <input
57
+ {id}
58
+ data-testid={id}
59
+ type="range"
60
+ max={visualMax}
61
+ bind:value
62
+ on:mousedown={onMousedown}
63
+ on:mouseup={onMouseup}
64
+ />
65
+ <div class="thumb-overlay" style="left: {calculatePosition(value)} + 0.5rem)">
66
+ <CaretUpDown class="rotate-90 text-primary" size="1rem" weight="bold" />
67
+ </div>
68
+ </div>
69
+
70
+ <style>
71
+ .track-overlay {
72
+ pointer-events: none;
73
+ position: absolute;
74
+ height: 0.625rem;
75
+ width: 100%;
76
+ cursor: pointer;
77
+ border-radius: 9999px;
78
+ border-width: 1px;
79
+ border-color: #12192a14;
80
+ background-color: #12192a0d;
81
+ }
82
+
83
+ .thumb-overlay {
84
+ transform: translate(-50%, 50%);
85
+ pointer-events: none;
86
+ position: absolute;
87
+ bottom: 1.25rem;
88
+ display: inline-flex;
89
+ height: 2rem;
90
+ width: 2rem;
91
+ align-items: center;
92
+ justify-content: center;
93
+ border-radius: 9999px;
94
+ border-width: 1px;
95
+ border-color: #12192A26;
96
+ --tw-bg-opacity: 1;
97
+ background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
98
+ --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
99
+ --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
100
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
101
+ }
102
+
103
+ input[type='range'] {
104
+ -webkit-appearance: none;
105
+ -moz-appearance: none;
106
+ appearance: none;
107
+ position: relative;
108
+ cursor: pointer;
109
+ height: 2.5rem;
110
+ width: 100%;
111
+ background-color: transparent;
112
+ }
113
+
114
+ input[type='range']::-webkit-slider-thumb {
115
+ -webkit-appearance: none;
116
+ appearance: none;
117
+ width: 0;
118
+ height: 0;
119
+ }
120
+
121
+ input[type='range']::-moz-range-thumb {
122
+ width: 0;
123
+ height: 0;
124
+ border: none;
125
+ }
126
+ </style>
@@ -0,0 +1,31 @@
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
+ $set?: any;
10
+ $on?: any;
11
+ };
12
+ z_$$bindings?: Bindings;
13
+ }
14
+ declare const Slider: $$__sveltets_2_IsomorphicComponent<{
15
+ class?: string;
16
+ value?: number;
17
+ max: number;
18
+ buffer?: number;
19
+ bufferMin?: number;
20
+ bufferColorClass?: string;
21
+ filledColorClass?: string;
22
+ showFilled?: boolean;
23
+ showSteps?: boolean;
24
+ onMousedown?: () => void;
25
+ onMouseup?: () => void;
26
+ id?: string | undefined;
27
+ }, {
28
+ [evt: string]: CustomEvent<any>;
29
+ }, {}, {}, string>;
30
+ type Slider = InstanceType<typeof Slider>;
31
+ export default Slider;
@@ -0,0 +1 @@
1
+ export { default as Slider } from './Slider.svelte';
@@ -0,0 +1 @@
1
+ export { default as Slider } from './Slider.svelte';
@@ -0,0 +1,27 @@
1
+ <script lang="ts">
2
+ interface Props {
3
+ testID?: string;
4
+ }
5
+
6
+ let { testID = '' }: Props = $props();
7
+ </script>
8
+
9
+ <div data-testid={testID} class="spinner"></div>
10
+
11
+ <style>
12
+ .spinner {
13
+ background: conic-gradient(#0000 10%, currentColor);
14
+ mask: radial-gradient(farthest-side, #0000 calc(100% - 2px), #000 0);
15
+ -webkit-mask: radial-gradient(farthest-side, #0000 calc(100% - 2px), #000 0);
16
+ animation: spinner 1s infinite linear;
17
+ height: 0.75rem;
18
+ width: 0.75rem;
19
+ border-radius: 9999px;
20
+ }
21
+
22
+ @keyframes spinner {
23
+ to {
24
+ transform: rotate(1turn);
25
+ }
26
+ }
27
+ </style>
@@ -0,0 +1,6 @@
1
+ interface Props {
2
+ testID?: string;
3
+ }
4
+ declare const Spinner: import("svelte").Component<Props, {}, "">;
5
+ type Spinner = ReturnType<typeof Spinner>;
6
+ export default Spinner;
@@ -0,0 +1 @@
1
+ export { default as Spinner } from './Spinner.svelte';
@@ -0,0 +1 @@
1
+ export { default as Spinner } from './Spinner.svelte';
@@ -0,0 +1,32 @@
1
+ <script module>
2
+ import StatCard from './StatCard.svelte';
3
+ import { defineMeta } from '@storybook/addon-svelte-csf';
4
+
5
+ const { Story } = defineMeta({
6
+ component: StatCard,
7
+ title: 'Design System/StatCard',
8
+ tags: ['autodocs']
9
+ });
10
+ </script>
11
+
12
+ <Story name="Default">
13
+ <StatCard title="Title" value="Value" unit="unit" titleTooltip="Title tooltip" />
14
+ </Story>
15
+
16
+ <Story name="Germination Rate">
17
+ <StatCard
18
+ title="Germination Rate"
19
+ value="2"
20
+ unit="%"
21
+ titleTooltip="Something that explains what this is..."
22
+ showTitleTooltip={true}
23
+ />
24
+ </Story>
25
+
26
+ <Story name="Home Page">
27
+ <div class="flex w-full gap-4">
28
+ <StatCard title="Current jobs" value="3" unit="of 5" />
29
+ <StatCard title="Run time" value="5.4" unit="hours" />
30
+ <StatCard title="Images taken" value="1366" />
31
+ </div>
32
+ </Story>
@@ -0,0 +1,27 @@
1
+ export default StatCard;
2
+ type StatCard = SvelteComponent<{
3
+ [x: string]: never;
4
+ }, {
5
+ [evt: string]: CustomEvent<any>;
6
+ }, {}> & {
7
+ $$bindings?: string | undefined;
8
+ };
9
+ declare const StatCard: $$__sveltets_2_IsomorphicComponent<{
10
+ [x: string]: never;
11
+ }, {
12
+ [evt: string]: CustomEvent<any>;
13
+ }, {}, {}, string>;
14
+ import StatCard from './StatCard.svelte';
15
+ 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> {
16
+ new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
17
+ $$bindings?: Bindings;
18
+ } & Exports;
19
+ (internal: unknown, props: {
20
+ $$events?: Events;
21
+ $$slots?: Slots;
22
+ }): Exports & {
23
+ $set?: any;
24
+ $on?: any;
25
+ };
26
+ z_$$bindings?: Bindings;
27
+ }
@@ -0,0 +1,52 @@
1
+ <script lang="ts">
2
+ import { Info } from 'phosphor-svelte';
3
+ import Spinner from '../spinner/Spinner.svelte';
4
+ import Tooltip from '../tooltip/Tooltip.svelte';
5
+
6
+ interface Props {
7
+ title: string;
8
+ value?: string | number | null;
9
+ unit?: string | null;
10
+ titleTooltip?: string;
11
+ showTitleTooltip?: boolean;
12
+ }
13
+
14
+ let {
15
+ title,
16
+ value = null,
17
+ unit = '',
18
+ titleTooltip = '',
19
+ showTitleTooltip = false
20
+ }: Props = $props();
21
+ const formattedValue = $derived(typeof value === 'number' ? value.toLocaleString() : value);
22
+ </script>
23
+
24
+ <div
25
+ class="flex w-full flex-shrink-0 flex-grow basis-0 flex-col items-start gap-2 overflow-clip rounded-lg bg-neutral p-4"
26
+ >
27
+ <p class="flex items-center justify-start gap-2 truncate font-medium text-secondary">
28
+ {title}
29
+ {#if titleTooltip && showTitleTooltip}
30
+ <Tooltip>
31
+ {#snippet trigger()}
32
+ <Info class="icon text-icon-tertiary" size="1rem" weight="bold" />
33
+ {/snippet}
34
+ {#snippet content()}
35
+ <span>
36
+ {titleTooltip}
37
+ </span>
38
+ {/snippet}
39
+ </Tooltip>
40
+ {/if}
41
+ </p>
42
+ <div class="flex items-baseline gap-1">
43
+ {#if value !== null}
44
+ <p class="text-2xl font-medium">{formattedValue}</p>
45
+ {#if unit}
46
+ <p class="truncate text-2xl font-medium text-tertiary">{unit}</p>
47
+ {/if}
48
+ {:else}
49
+ <Spinner />
50
+ {/if}
51
+ </div>
52
+ </div>
@@ -0,0 +1,10 @@
1
+ interface Props {
2
+ title: string;
3
+ value?: string | number | null;
4
+ unit?: string | null;
5
+ titleTooltip?: string;
6
+ showTitleTooltip?: boolean;
7
+ }
8
+ declare const StatCard: import("svelte").Component<Props, {}, "">;
9
+ type StatCard = ReturnType<typeof StatCard>;
10
+ export default StatCard;
@@ -0,0 +1 @@
1
+ export { default as StatCard } from './StatCard.svelte';
@@ -0,0 +1 @@
1
+ export { default as StatCard } from './StatCard.svelte';