@reshape-biotech/design-system 1.2.6 → 2.0.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 (187) hide show
  1. package/README.md +5 -1
  2. package/dist/app.css +97 -97
  3. package/dist/components/activity/Activity.stories.svelte +104 -104
  4. package/dist/components/activity/Activity.svelte +112 -112
  5. package/dist/components/avatar/Avatar.stories.svelte +23 -23
  6. package/dist/components/avatar/Avatar.svelte +54 -54
  7. package/dist/components/banner/Banner.stories.svelte +105 -105
  8. package/dist/components/banner/Banner.svelte +42 -42
  9. package/dist/components/button/Button.stories.svelte +61 -61
  10. package/dist/components/button/Button.svelte +95 -95
  11. package/dist/components/card/Card.stories.svelte +112 -112
  12. package/dist/components/card/Card.svelte +18 -18
  13. package/dist/components/checkbox/Checkbox.stories.svelte +8 -8
  14. package/dist/components/checkbox/Checkbox.svelte +17 -17
  15. package/dist/components/collapsible/Collapsible.stories.svelte +26 -26
  16. package/dist/components/collapsible/components/collapsible-content.svelte +20 -20
  17. package/dist/components/collapsible/components/collapsible-trigger.svelte +12 -12
  18. package/dist/components/collapsible/index.d.ts +1 -1
  19. package/dist/components/combobox/Combobox.stories.svelte +412 -412
  20. package/dist/components/combobox/components/combobox-add.svelte +8 -8
  21. package/dist/components/combobox/components/combobox-content.svelte +39 -39
  22. package/dist/components/combobox/components/combobox-indicator.svelte +1 -1
  23. package/dist/components/combobox/index.d.ts +1 -1
  24. package/dist/components/datepicker/DatePicker.stories.svelte +196 -196
  25. package/dist/components/datepicker/DatePicker.svelte +173 -173
  26. package/dist/components/divider/Divider.stories.svelte +7 -7
  27. package/dist/components/divider/Divider.svelte +9 -9
  28. package/dist/components/drawer/Drawer.stories.svelte +51 -51
  29. package/dist/components/drawer/Drawer.svelte +33 -33
  30. package/dist/components/drawer/DrawerLabel.svelte +10 -10
  31. package/dist/components/dropdown/Dropdown.stories.svelte +210 -210
  32. package/dist/components/dropdown/Dropdown.svelte +57 -57
  33. package/dist/components/dropdown/components/DropdownContent.svelte +16 -16
  34. package/dist/components/dropdown/components/DropdownMenu.svelte +10 -10
  35. package/dist/components/dropdown/components/DropdownTrigger.svelte +37 -37
  36. package/dist/components/dropdown/components/OutlinedButton.svelte +9 -9
  37. package/dist/components/empty-content/EmptyContent.stories.svelte +38 -38
  38. package/dist/components/empty-content/EmptyContent.svelte +12 -12
  39. package/dist/components/graphs/bar-chart/BarChart.stories.svelte +91 -91
  40. package/dist/components/graphs/bar-chart/BarChart.svelte +147 -147
  41. package/dist/components/graphs/bar-chart/StackedBarChart.stories.svelte +57 -57
  42. package/dist/components/graphs/bar-chart/StackedBarChart.svelte +198 -199
  43. package/dist/components/graphs/chart/Chart.stories.svelte +96 -96
  44. package/dist/components/graphs/chart/Chart.svelte +207 -207
  45. package/dist/components/graphs/line/LineChart.stories.svelte +138 -138
  46. package/dist/components/graphs/line/LineChart.svelte +140 -142
  47. package/dist/components/graphs/matrix/Matrix.stories.svelte +117 -117
  48. package/dist/components/graphs/matrix/Matrix.svelte +141 -141
  49. package/dist/components/graphs/multiline/MultiLineChart.stories.svelte +168 -168
  50. package/dist/components/graphs/multiline/MultiLineChart.svelte +236 -236
  51. package/dist/components/graphs/scatterplot/Scatterplot.stories.svelte +84 -84
  52. package/dist/components/graphs/scatterplot/Scatterplot.svelte +302 -302
  53. package/dist/components/graphs/utils/duration.d.ts +1 -0
  54. package/dist/components/graphs/utils/duration.js +33 -0
  55. package/dist/components/graphs/utils/tooltipFormatter.js +1 -1
  56. package/dist/components/icon-button/IconButton.stories.svelte +64 -64
  57. package/dist/components/icon-button/IconButton.svelte +88 -88
  58. package/dist/components/icons/AnalysisIcon.stories.svelte +18 -18
  59. package/dist/components/icons/AnalysisIcon.svelte +96 -96
  60. package/dist/components/icons/Icon.stories.svelte +111 -111
  61. package/dist/components/icons/Icon.svelte +17 -17
  62. package/dist/components/icons/PrincipalIcon.svelte +59 -59
  63. package/dist/components/icons/custom/Halo.svelte +31 -31
  64. package/dist/components/icons/custom/Well.svelte +27 -27
  65. package/dist/components/icons/index.js +1 -1
  66. package/dist/components/image/Image.svelte +42 -42
  67. package/dist/components/input/Input.stories.svelte +55 -55
  68. package/dist/components/input/Input.svelte +121 -121
  69. package/dist/components/label/Label.stories.svelte +18 -18
  70. package/dist/components/label/Label.svelte +11 -11
  71. package/dist/components/list/List.stories.svelte +84 -84
  72. package/dist/components/list/List.svelte +20 -20
  73. package/dist/components/logo/Logo.stories.svelte +15 -15
  74. package/dist/components/logo/Logo.svelte +30 -30
  75. package/dist/components/manual-cfu-counter/ManualCFUCounter.stories.svelte +102 -102
  76. package/dist/components/manual-cfu-counter/ManualCFUCounter.svelte +557 -557
  77. package/dist/components/manual-cfu-counter/test/ManualCFUCounterTestWrapper.svelte +11 -11
  78. package/dist/components/markdown/Markdown.stories.svelte +10 -10
  79. package/dist/components/markdown/Markdown.svelte +6 -6
  80. package/dist/components/modal/Modal.stories.svelte +29 -29
  81. package/dist/components/modal/Modal.svelte +71 -71
  82. package/dist/components/multi-cfu-counter/MultiCFUCounter.stories.svelte +201 -201
  83. package/dist/components/multi-cfu-counter/MultiCFUCounter.svelte +606 -606
  84. package/dist/components/multi-cfu-counter/test/MultiCFUCounterTestWrapper.svelte +17 -17
  85. package/dist/components/notification-popup/NotificationPopup.stories.svelte +18 -18
  86. package/dist/components/notification-popup/NotificationPopup.svelte +26 -26
  87. package/dist/components/notifications/Notifications.stories.svelte +101 -101
  88. package/dist/components/notifications/Notifications.svelte +9 -9
  89. package/dist/components/pill/Pill.stories.svelte +8 -8
  90. package/dist/components/pill/Pill.svelte +27 -27
  91. package/dist/components/progress-circle/ProgressCircle.stories.svelte +8 -8
  92. package/dist/components/progress-circle/ProgressCircle.svelte +54 -54
  93. package/dist/components/required-status-indicator/RequiredStatusIndicator.stories.svelte +18 -18
  94. package/dist/components/required-status-indicator/RequiredStatusIndicator.svelte +14 -14
  95. package/dist/components/segmented-control-buttons/ControlButton.svelte +36 -36
  96. package/dist/components/segmented-control-buttons/SegmentedControlButtons.stories.svelte +35 -35
  97. package/dist/components/segmented-control-buttons/SegmentedControlButtons.svelte +13 -13
  98. package/dist/components/select/Select.stories.svelte +200 -94
  99. package/dist/components/select/Select.stories.svelte.d.ts +1 -1
  100. package/dist/components/select/components/Group.svelte +24 -0
  101. package/dist/components/select/components/MultiSelectTrigger.svelte +66 -0
  102. package/dist/components/select/components/SelectContent.svelte +33 -0
  103. package/dist/components/select/components/SelectGroupHeading.svelte +19 -0
  104. package/dist/components/select/components/SelectItem.svelte +39 -0
  105. package/dist/components/select/components/SelectTrigger.svelte +48 -0
  106. package/dist/components/select/index.d.ts +10 -7
  107. package/dist/components/select/index.js +12 -1
  108. package/dist/components/sjsf-wrappers/SjsfNumberInputWrapper.svelte +102 -87
  109. package/dist/components/sjsf-wrappers/SjsfNumberInputWrapper.svelte.d.ts +1 -1
  110. package/dist/components/sjsf-wrappers/SjsfTextInputWrapper.svelte +53 -53
  111. package/dist/components/sjsf-wrappers/SjsfTextInputWrapper.svelte.d.ts +1 -1
  112. package/dist/components/sjsf-wrappers/sjsfCustomTheme.js +1 -1
  113. package/dist/components/skeleton-loader/SkeletonLoader.stories.svelte +32 -32
  114. package/dist/components/skeleton-loader/SkeletonLoader.svelte +10 -10
  115. package/dist/components/skeleton-loader/StatcardSkeleton.svelte +9 -9
  116. package/dist/components/skeleton-loader/components/Skeleton.svelte +7 -7
  117. package/dist/components/skeleton-loader/components/SkeletonImage.svelte +12 -12
  118. package/dist/components/slider/Slider.stories.svelte +23 -23
  119. package/dist/components/slider/Slider.svelte +107 -107
  120. package/dist/components/spinner/Spinner.stories.svelte +8 -8
  121. package/dist/components/spinner/Spinner.svelte +18 -18
  122. package/dist/components/stat-card/StatCard.stories.svelte +26 -26
  123. package/dist/components/stat-card/StatCard.svelte +128 -128
  124. package/dist/components/status-badge/StatusBadge.stories.svelte +365 -365
  125. package/dist/components/status-badge/StatusBadge.svelte +54 -54
  126. package/dist/components/stepper/Stepper.stories.svelte +219 -219
  127. package/dist/components/stepper/components/stepper-root.svelte +12 -12
  128. package/dist/components/stepper/components/stepper-step.svelte +83 -83
  129. package/dist/components/table/Table.stories.svelte +87 -87
  130. package/dist/components/table/Table.svelte +32 -32
  131. package/dist/components/table/components/TBody.svelte +7 -7
  132. package/dist/components/table/components/THead.svelte +7 -7
  133. package/dist/components/table/components/Td.svelte +8 -8
  134. package/dist/components/table/components/Th.svelte +8 -8
  135. package/dist/components/table/components/Tr.svelte +11 -11
  136. package/dist/components/tabs/Tabs.stories.svelte +20 -20
  137. package/dist/components/tabs/Tabs.svelte +8 -8
  138. package/dist/components/tabs/components/Content.svelte +8 -8
  139. package/dist/components/tabs/components/Tab.svelte +14 -14
  140. package/dist/components/tabs/components/Tabs.svelte +7 -7
  141. package/dist/components/tag/Tag.stories.svelte +57 -57
  142. package/dist/components/tag/Tag.svelte +95 -95
  143. package/dist/components/textarea/Textarea.stories.svelte +70 -70
  144. package/dist/components/textarea/Textarea.svelte +76 -76
  145. package/dist/components/toast/Toast.stories.svelte +204 -204
  146. package/dist/components/toast/Toast.svelte +53 -53
  147. package/dist/components/toggle/Toggle.stories.svelte +9 -9
  148. package/dist/components/toggle/Toggle.svelte +53 -53
  149. package/dist/components/toggle-icon-button/ToggleIconButton.stories.svelte +152 -152
  150. package/dist/components/toggle-icon-button/ToggleIconButton.svelte +99 -99
  151. package/dist/components/tooltip/Tooltip.stories.svelte +85 -111
  152. package/dist/components/tooltip/Tooltip.svelte +57 -46
  153. package/dist/components/tooltip/Tooltip.svelte.d.ts +1 -1
  154. package/dist/components/tooltip/TooltipTest.svelte +31 -0
  155. package/dist/components/tooltip/TooltipTest.svelte.d.ts +11 -0
  156. package/dist/fonts/index.js +1 -1
  157. package/dist/index.d.ts +0 -1
  158. package/dist/index.js +0 -1
  159. package/dist/notifications.d.ts +1 -4
  160. package/dist/notifications.js +1 -1
  161. package/dist/tailwind-safelist.js +406 -406
  162. package/dist/tailwind.preset.js +10 -10
  163. package/dist/tokens/colors.js +18 -18
  164. package/dist/tokens/typography.js +6 -6
  165. package/dist/tokens.js +19 -19
  166. package/dist/types/fonts.d.ts +2 -2
  167. package/package.json +199 -204
  168. package/dist/components/select/Select.svelte +0 -139
  169. package/dist/components/select/Select.svelte.d.ts +0 -60
  170. package/dist/components/select-new/Select.stories.svelte +0 -219
  171. package/dist/components/select-new/Select.stories.svelte.d.ts +0 -19
  172. package/dist/components/select-new/components/Group.svelte +0 -24
  173. package/dist/components/select-new/components/MultiSelectTrigger.svelte +0 -66
  174. package/dist/components/select-new/components/SelectContent.svelte +0 -33
  175. package/dist/components/select-new/components/SelectGroupHeading.svelte +0 -19
  176. package/dist/components/select-new/components/SelectItem.svelte +0 -39
  177. package/dist/components/select-new/components/SelectTrigger.svelte +0 -48
  178. package/dist/components/select-new/index.d.ts +0 -10
  179. package/dist/components/select-new/index.js +0 -12
  180. /package/dist/components/{select-new → select}/components/Group.svelte.d.ts +0 -0
  181. /package/dist/components/{select-new → select}/components/MultiSelectTrigger.svelte.d.ts +0 -0
  182. /package/dist/components/{select-new → select}/components/SelectContent.svelte.d.ts +0 -0
  183. /package/dist/components/{select-new → select}/components/SelectGroupHeading.svelte.d.ts +0 -0
  184. /package/dist/components/{select-new → select}/components/SelectItem.svelte.d.ts +0 -0
  185. /package/dist/components/{select-new → select}/components/SelectTrigger.svelte.d.ts +0 -0
  186. /package/dist/components/{select-new → select}/types.d.ts +0 -0
  187. /package/dist/components/{select-new → select}/types.js +0 -0
@@ -1,17 +1,17 @@
1
1
  <script lang="ts">
2
- import type { Snippet } from 'svelte';
3
- import Skeleton from './components/Skeleton.svelte';
4
- import SkeletonImage from './components/SkeletonImage.svelte';
2
+ import type { Snippet } from 'svelte';
3
+ import Skeleton from './components/Skeleton.svelte';
4
+ import SkeletonImage from './components/SkeletonImage.svelte';
5
5
 
6
- interface Props {
7
- class?: string;
8
- dataTestId?: string;
9
- children?: Snippet<[{ Skeleton: typeof Skeleton; SkeletonImage: typeof SkeletonImage }]>;
10
- }
6
+ interface Props {
7
+ class?: string;
8
+ dataTestId?: string;
9
+ children?: Snippet<[{ Skeleton: typeof Skeleton; SkeletonImage: typeof SkeletonImage }]>;
10
+ }
11
11
 
12
- let { class: className = '', dataTestId = '', children }: Props = $props();
12
+ let { class: className = '', dataTestId = '', children }: Props = $props();
13
13
  </script>
14
14
 
15
15
  <div role="status" class={`h-full w-full animate-pulse ${className}`} data-testid={dataTestId}>
16
- {@render children?.({ Skeleton, SkeletonImage })}
16
+ {@render children?.({ Skeleton, SkeletonImage })}
17
17
  </div>
@@ -1,14 +1,14 @@
1
1
  <script lang="ts">
2
- import SkeletonLoader from './SkeletonLoader.svelte';
2
+ import SkeletonLoader from './SkeletonLoader.svelte';
3
3
  </script>
4
4
 
5
5
  <SkeletonLoader>
6
- {#snippet children({ Skeleton })}
7
- <div class="flex h-[92px] flex-1 flex-col justify-between gap-2 rounded-lg bg-neutral p-4">
8
- <Skeleton class="h-4 w-1/2 "></Skeleton>
9
- <div class="flex items-baseline gap-2">
10
- <Skeleton class="h-8 w-16" />
11
- </div>
12
- </div>
13
- {/snippet}
6
+ {#snippet children({ Skeleton })}
7
+ <div class="flex h-[92px] flex-1 flex-col justify-between gap-2 rounded-lg bg-neutral p-4">
8
+ <Skeleton class="h-4 w-1/2 "></Skeleton>
9
+ <div class="flex items-baseline gap-2">
10
+ <Skeleton class="h-8 w-16" />
11
+ </div>
12
+ </div>
13
+ {/snippet}
14
14
  </SkeletonLoader>
@@ -1,14 +1,14 @@
1
1
  <script lang="ts">
2
- import type { Snippet } from 'svelte';
2
+ import type { Snippet } from 'svelte';
3
3
 
4
- interface Props {
5
- class?: string;
6
- children?: Snippet;
7
- }
4
+ interface Props {
5
+ class?: string;
6
+ children?: Snippet;
7
+ }
8
8
 
9
- let { class: className = '', children }: Props = $props();
9
+ let { class: className = '', children }: Props = $props();
10
10
  </script>
11
11
 
12
12
  <div class={`bg-neutral ${className}`}>
13
- {@render children?.()}
13
+ {@render children?.()}
14
14
  </div>
@@ -1,14 +1,14 @@
1
1
  <svg width="100%" height="100%" viewBox="0 0 160 97" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path
3
- d="M71 46.4792C67.1348 46.4792 64 43.3117 64 39.4062C64 35.5008 67.1348 32.3333 71 32.3333C74.8652 32.3333 78 35.5008 78 39.4062C78.0045 43.3117 74.8697 46.4792 71 46.4792Z"
4
- fill="#FFFFFF"
5
- />
6
- <path
7
- d="M89 46.4792C85.1348 46.4792 82 43.3117 82 39.4062C82 35.5008 85.1348 32.3333 89 32.3333C92.8652 32.3333 96 35.5008 96 39.4062C96.0045 43.3117 92.8697 46.4792 89 46.4792Z"
8
- fill="#FFFFFF"
9
- />
10
- <path
11
- d="M64 57.5937C64 53.6883 67.1348 50.5208 71 50.5208C74.8652 50.5208 78 53.6883 78 57.5937C78 61.4992 74.8652 64.6667 71 64.6667C67.1348 64.6667 64 61.4992 64 57.5937Z"
12
- fill="#FFFFFF"
13
- />
2
+ <path
3
+ d="M71 46.4792C67.1348 46.4792 64 43.3117 64 39.4062C64 35.5008 67.1348 32.3333 71 32.3333C74.8652 32.3333 78 35.5008 78 39.4062C78.0045 43.3117 74.8697 46.4792 71 46.4792Z"
4
+ fill="#FFFFFF"
5
+ />
6
+ <path
7
+ d="M89 46.4792C85.1348 46.4792 82 43.3117 82 39.4062C82 35.5008 85.1348 32.3333 89 32.3333C92.8652 32.3333 96 35.5008 96 39.4062C96.0045 43.3117 92.8697 46.4792 89 46.4792Z"
8
+ fill="#FFFFFF"
9
+ />
10
+ <path
11
+ d="M64 57.5937C64 53.6883 67.1348 50.5208 71 50.5208C74.8652 50.5208 78 53.6883 78 57.5937C78 61.4992 74.8652 64.6667 71 64.6667C67.1348 64.6667 64 61.4992 64 57.5937Z"
12
+ fill="#FFFFFF"
13
+ />
14
14
  </svg>
@@ -1,37 +1,37 @@
1
1
  <script module>
2
- import Slider from './Slider.svelte';
2
+ import Slider from './Slider.svelte';
3
3
 
4
- import { defineMeta } from '@storybook/addon-svelte-csf';
4
+ import { defineMeta } from '@storybook/addon-svelte-csf';
5
5
 
6
- const { Story } = defineMeta({
7
- component: Slider,
8
- title: 'Design System/Slider',
9
- tags: ['autodocs']
10
- });
6
+ const { Story } = defineMeta({
7
+ component: Slider,
8
+ title: 'Design System/Slider',
9
+ tags: ['autodocs'],
10
+ });
11
11
 
12
- let value = 3;
12
+ let value = 3;
13
13
  </script>
14
14
 
15
15
  <Story name="Default" asChild>
16
- Value: {value + 1}
17
- <Slider bind:value bind:buffer={value} max={4}></Slider>
16
+ Value: {value + 1}
17
+ <Slider bind:value bind:buffer={value} max={4}></Slider>
18
18
  </Story>
19
19
  <Story name="Playback Controls Running Job" asChild>
20
- Value: {value + 1}
21
- <Slider bind:value buffer={35} max={49} bufferColorClass="bg-warning-inverse"></Slider>
20
+ Value: {value + 1}
21
+ <Slider bind:value buffer={35} max={49} bufferColorClass="bg-warning-inverse"></Slider>
22
22
  </Story>
23
23
  <Story name="Modern stepStyle" asChild>
24
- Value: {value + 1}
25
- <Slider bind:value bind:buffer={value} max={4} showSteps={true}></Slider>
24
+ Value: {value + 1}
25
+ <Slider bind:value bind:buffer={value} max={4} showSteps={true}></Slider>
26
26
  </Story>
27
27
  <Story name="Create Job Capture Interval" asChild>
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>
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
37
  </Story>
@@ -1,127 +1,127 @@
1
1
  <script lang="ts">
2
- import { Icon } from '../icons';
2
+ import { Icon } from '../icons';
3
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;
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
17
 
18
- $: if (value > max) {
19
- value = max;
20
- } else if (value < 0) {
21
- value = 0;
22
- }
18
+ $: if (value > max) {
19
+ value = max;
20
+ } else if (value < 0) {
21
+ value = 0;
22
+ }
23
23
 
24
- $: visualMax = Math.max(max, 1);
25
- $: buffer = Math.min(buffer, visualMax);
24
+ $: visualMax = Math.max(max, 1);
25
+ $: buffer = Math.min(buffer, visualMax);
26
26
 
27
- function calculatePosition(positionFactor: number): string {
28
- return `calc((${positionFactor / visualMax} * (100% - 1rem))`;
29
- }
27
+ function calculatePosition(positionFactor: number): string {
28
+ return `calc((${positionFactor / visualMax} * (100% - 1rem))`;
29
+ }
30
30
  </script>
31
31
 
32
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="
33
+ <div class="track-overlay"></div>
34
+ <div
35
+ class="pointer-events-none absolute h-2.5 rounded-full {bufferColorClass}"
36
+ style="
37
37
  width: {calculatePosition(buffer - bufferMin)} + 1rem);
38
38
  left: {calculatePosition(bufferMin)}
39
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>
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
69
  </div>
70
70
 
71
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: #12192a0A;
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: #12192a0A;
82
82
  }
83
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
- }
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
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
- }
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
114
 
115
- input[type='range']::-webkit-slider-thumb {
116
- -webkit-appearance: none;
117
- appearance: none;
118
- width: 0;
119
- height: 0;
120
- }
115
+ input[type='range']::-webkit-slider-thumb {
116
+ -webkit-appearance: none;
117
+ appearance: none;
118
+ width: 0;
119
+ height: 0;
120
+ }
121
121
 
122
- input[type='range']::-moz-range-thumb {
123
- width: 0;
124
- height: 0;
125
- border: none;
126
- }
122
+ input[type='range']::-moz-range-thumb {
123
+ width: 0;
124
+ height: 0;
125
+ border: none;
126
+ }
127
127
  </style>
@@ -1,13 +1,13 @@
1
1
  <script lang="ts" module>
2
- import { defineMeta } from '@storybook/addon-svelte-csf';
3
- import Spinner from './Spinner.svelte';
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import Spinner from './Spinner.svelte';
4
4
 
5
- // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
6
- const { Story } = defineMeta({
7
- title: 'Design System/Spinner',
8
- component: Spinner,
9
- tags: ['autodocs']
10
- });
5
+ // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
6
+ const { Story } = defineMeta({
7
+ title: 'Design System/Spinner',
8
+ component: Spinner,
9
+ tags: ['autodocs'],
10
+ });
11
11
  </script>
12
12
 
13
13
  <Story name="Base" />
@@ -1,27 +1,27 @@
1
1
  <script lang="ts">
2
- interface Props {
3
- testID?: string;
4
- }
2
+ interface Props {
3
+ testID?: string;
4
+ }
5
5
 
6
- let { testID = '' }: Props = $props();
6
+ let { testID = '' }: Props = $props();
7
7
  </script>
8
8
 
9
9
  <div data-testid={testID} class="spinner"></div>
10
10
 
11
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
- }
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
21
 
22
- @keyframes spinner {
23
- to {
24
- transform: rotate(1turn);
25
- }
26
- }
22
+ @keyframes spinner {
23
+ to {
24
+ transform: rotate(1turn);
25
+ }
26
+ }
27
27
  </style>
@@ -1,40 +1,40 @@
1
1
  <script module>
2
- import StatCard from './StatCard.svelte';
3
- import { defineMeta } from '@storybook/addon-svelte-csf';
2
+ import StatCard from './StatCard.svelte';
3
+ import { defineMeta } from '@storybook/addon-svelte-csf';
4
4
 
5
- const { Story } = defineMeta({
6
- component: StatCard,
7
- title: 'Design System/StatCard',
8
- tags: ['autodocs']
9
- });
5
+ const { Story } = defineMeta({
6
+ component: StatCard,
7
+ title: 'Design System/StatCard',
8
+ tags: ['autodocs'],
9
+ });
10
10
  </script>
11
11
 
12
12
  <Story
13
- name="Default"
14
- args={{ title: 'Title', value: 'Value', unit: 'unit', titleTooltip: 'Title tooltip' }}
13
+ name="Default"
14
+ args={{ title: 'Title', value: 'Value', unit: 'unit', titleTooltip: 'Title tooltip' }}
15
15
  />
16
16
 
17
17
  <Story
18
- name="Germination Rate"
19
- args={{
20
- title: 'Germination Rate',
21
- value: '2',
22
- unit: '%',
23
- titleTooltip: 'Something that explains what this is...',
24
- showTitleTooltip: true
25
- }}
18
+ name="Germination Rate"
19
+ args={{
20
+ title: 'Germination Rate',
21
+ value: '2',
22
+ unit: '%',
23
+ titleTooltip: 'Something that explains what this is...',
24
+ showTitleTooltip: true,
25
+ }}
26
26
  />
27
27
 
28
28
  <Story name="Home Page" args={{ title: 'Current jobs', value: '3', unit: 'of 5' }} />
29
29
 
30
30
  <Story
31
- name="Editable"
32
- args={{
33
- title: 'Germination Rate',
34
- value: '2',
35
- unit: '%',
36
- titleTooltip: 'Something that explains what this is...',
37
- showTitleTooltip: true,
38
- editable: true
39
- }}
31
+ name="Editable"
32
+ args={{
33
+ title: 'Germination Rate',
34
+ value: '2',
35
+ unit: '%',
36
+ titleTooltip: 'Something that explains what this is...',
37
+ showTitleTooltip: true,
38
+ editable: true,
39
+ }}
40
40
  />