@reshape-biotech/design-system 0.0.47 → 0.0.49

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