@reshape-biotech/design-system 0.0.54 → 1.1.2

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 (181) hide show
  1. package/dist/components/activity/Activity.stories.svelte +21 -8
  2. package/dist/components/activity/Activity.svelte +44 -6
  3. package/dist/components/activity/Activity.svelte.d.ts +1 -1
  4. package/dist/components/avatar/Avatar.stories.svelte +7 -17
  5. package/dist/components/avatar/Avatar.svelte +2 -2
  6. package/dist/components/avatar/Avatar.svelte.d.ts +2 -2
  7. package/dist/components/banner/Banner.stories.svelte +5 -5
  8. package/dist/components/banner/Banner.svelte +1 -1
  9. package/dist/components/button/Button.stories.svelte +54 -21
  10. package/dist/components/button/Button.svelte +58 -11
  11. package/dist/components/button/Button.svelte.d.ts +4 -3
  12. package/dist/components/card/Card.stories.svelte +130 -0
  13. package/dist/components/card/Card.stories.svelte.d.ts +19 -0
  14. package/dist/components/card/Card.svelte +25 -0
  15. package/dist/components/card/Card.svelte.d.ts +10 -0
  16. package/dist/components/card/index.d.ts +1 -0
  17. package/dist/components/card/index.js +1 -0
  18. package/dist/components/checkbox/Checkbox.stories.svelte +7 -15
  19. package/dist/components/checkbox/Checkbox.svelte +7 -7
  20. package/dist/components/checkbox/Checkbox.svelte.d.ts +3 -5
  21. package/dist/components/collapsible/Collapsible.stories.svelte +5 -4
  22. package/dist/components/combobox/Combobox.stories.svelte +7 -5
  23. package/dist/components/datepicker/DatePicker.stories.svelte +13 -18
  24. package/dist/components/datepicker/DatePicker.svelte +1 -0
  25. package/dist/components/divider/Divider.stories.svelte +1 -3
  26. package/dist/components/divider/Divider.svelte +8 -2
  27. package/dist/components/divider/Divider.svelte.d.ts +2 -0
  28. package/dist/components/drawer/Drawer.stories.svelte +3 -3
  29. package/dist/components/dropdown/Dropdown.stories.svelte +8 -8
  30. package/dist/components/empty-content/EmptyContent.stories.svelte +2 -2
  31. package/dist/components/graphs/bar-chart/BarChart.stories.svelte +81 -0
  32. package/dist/components/graphs/bar-chart/BarChart.stories.svelte.d.ts +19 -0
  33. package/dist/components/graphs/bar-chart/BarChart.svelte +136 -0
  34. package/dist/components/graphs/bar-chart/BarChart.svelte.d.ts +15 -0
  35. package/dist/components/graphs/bar-chart/StackedBarChart.stories.svelte +42 -0
  36. package/dist/components/graphs/bar-chart/StackedBarChart.stories.svelte.d.ts +19 -0
  37. package/dist/components/graphs/bar-chart/StackedBarChart.svelte +177 -0
  38. package/dist/components/graphs/bar-chart/StackedBarChart.svelte.d.ts +16 -0
  39. package/dist/components/graphs/chart/Chart.stories.svelte +30 -25
  40. package/dist/components/graphs/chart/Chart.svelte +104 -32
  41. package/dist/components/graphs/chart/Chart.svelte.d.ts +15 -5
  42. package/dist/components/graphs/index.d.ts +3 -0
  43. package/dist/components/graphs/index.js +3 -0
  44. package/dist/components/graphs/line/LineChart.stories.svelte +97 -17
  45. package/dist/components/graphs/line/LineChart.svelte +90 -51
  46. package/dist/components/graphs/line/LineChart.svelte.d.ts +6 -13
  47. package/dist/components/graphs/matrix/Matrix.stories.svelte +142 -0
  48. package/dist/components/graphs/matrix/Matrix.stories.svelte.d.ts +19 -0
  49. package/dist/components/graphs/matrix/Matrix.svelte +149 -0
  50. package/dist/components/graphs/matrix/Matrix.svelte.d.ts +24 -0
  51. package/dist/components/graphs/matrix/index.d.ts +3 -0
  52. package/dist/components/graphs/matrix/index.js +3 -0
  53. package/dist/components/graphs/multiline/MultiLineChart.stories.svelte +115 -28
  54. package/dist/components/graphs/multiline/MultiLineChart.svelte +187 -50
  55. package/dist/components/graphs/multiline/MultiLineChart.svelte.d.ts +9 -12
  56. package/dist/components/graphs/scatterplot/Scatterplot.stories.svelte +68 -41
  57. package/dist/components/graphs/scatterplot/Scatterplot.svelte +312 -45
  58. package/dist/components/graphs/scatterplot/Scatterplot.svelte.d.ts +23 -13
  59. package/dist/components/graphs/utils/tooltipFormatter.d.ts +10 -0
  60. package/dist/components/graphs/utils/tooltipFormatter.js +52 -0
  61. package/dist/components/icon-button/IconButton.stories.svelte +6 -6
  62. package/dist/components/icon-button/IconButton.svelte +50 -9
  63. package/dist/components/icon-button/IconButton.svelte.d.ts +3 -5
  64. package/dist/components/icons/AnalysisIcon.stories.svelte +15 -21
  65. package/dist/components/icons/AnalysisIcon.svelte +63 -44
  66. package/dist/components/icons/AnalysisIcon.svelte.d.ts +1 -0
  67. package/dist/components/icons/Icon.stories.svelte +4 -4
  68. package/dist/components/icons/Icon.svelte +1 -1
  69. package/dist/components/icons/PrincipalIcon.svelte +96 -0
  70. package/dist/components/icons/PrincipalIcon.svelte.d.ts +10 -0
  71. package/dist/components/icons/custom/Halo.svelte +14 -8
  72. package/dist/components/icons/custom/Halo.svelte.d.ts +7 -25
  73. package/dist/components/icons/custom/Well.svelte +14 -6
  74. package/dist/components/icons/custom/Well.svelte.d.ts +7 -25
  75. package/dist/components/icons/index.d.ts +3 -2
  76. package/dist/components/icons/index.js +34 -0
  77. package/dist/components/input/Input.stories.svelte +16 -22
  78. package/dist/components/input/Input.svelte +140 -134
  79. package/dist/components/input/Input.svelte.d.ts +12 -13
  80. package/dist/components/label/Label.stories.svelte +28 -0
  81. package/dist/components/label/Label.stories.svelte.d.ts +19 -0
  82. package/dist/components/label/Label.svelte +17 -0
  83. package/dist/components/label/Label.svelte.d.ts +9 -0
  84. package/dist/components/list/List.stories.svelte +3 -3
  85. package/dist/components/logo/Logo.stories.svelte +1 -1
  86. package/dist/components/manual-cfu-counter/ManualCFUCounter.stories.svelte +125 -0
  87. package/dist/components/manual-cfu-counter/ManualCFUCounter.stories.svelte.d.ts +3 -0
  88. package/dist/components/manual-cfu-counter/ManualCFUCounter.svelte +577 -0
  89. package/dist/components/manual-cfu-counter/ManualCFUCounter.svelte.d.ts +16 -0
  90. package/dist/components/manual-cfu-counter/index.d.ts +1 -0
  91. package/dist/components/manual-cfu-counter/index.js +1 -0
  92. package/dist/components/manual-cfu-counter/test/ManualCFUCounterTestWrapper.svelte +22 -0
  93. package/dist/components/manual-cfu-counter/test/ManualCFUCounterTestWrapper.svelte.d.ts +19 -0
  94. package/dist/components/markdown/Markdown.stories.svelte +1 -1
  95. package/dist/components/markdown/Markdown.svelte +1 -1
  96. package/dist/components/modal/Modal.stories.svelte +2 -2
  97. package/dist/components/modal/Modal.svelte +27 -22
  98. package/dist/components/modal/Modal.svelte.d.ts +4 -1
  99. package/dist/components/notification-popup/NotificationPopup.stories.svelte +1 -1
  100. package/dist/components/pill/Pill.stories.svelte +13 -0
  101. package/dist/components/pill/Pill.stories.svelte.d.ts +19 -0
  102. package/dist/components/progress-circle/ProgressCircle.stories.svelte +15 -0
  103. package/dist/components/progress-circle/ProgressCircle.stories.svelte.d.ts +19 -0
  104. package/dist/components/required-status-indicator/RequiredStatusIndicator.stories.svelte +28 -0
  105. package/dist/components/required-status-indicator/RequiredStatusIndicator.stories.svelte.d.ts +19 -0
  106. package/dist/components/required-status-indicator/RequiredStatusIndicator.svelte +22 -0
  107. package/dist/components/required-status-indicator/RequiredStatusIndicator.svelte.d.ts +8 -0
  108. package/dist/components/required-status-indicator/index.d.ts +1 -0
  109. package/dist/components/required-status-indicator/index.js +1 -0
  110. package/dist/components/segmented-control-buttons/SegmentedControlButtons.stories.svelte +3 -3
  111. package/dist/components/select/Select.stories.svelte +12 -12
  112. package/dist/components/select/Select.svelte +0 -2
  113. package/dist/components/select-new/Select.stories.svelte +219 -0
  114. package/dist/components/select-new/Select.stories.svelte.d.ts +19 -0
  115. package/dist/components/select-new/components/Group.svelte +24 -0
  116. package/dist/components/select-new/components/Group.svelte.d.ts +11 -0
  117. package/dist/components/select-new/components/MultiSelectTrigger.svelte +66 -0
  118. package/dist/components/select-new/components/MultiSelectTrigger.svelte.d.ts +17 -0
  119. package/dist/components/select-new/components/SelectContent.svelte +33 -0
  120. package/dist/components/select-new/components/SelectContent.svelte.d.ts +10 -0
  121. package/dist/components/select-new/components/SelectGroupHeading.svelte +19 -0
  122. package/dist/components/select-new/components/SelectGroupHeading.svelte.d.ts +9 -0
  123. package/dist/components/select-new/components/SelectItem.svelte +41 -0
  124. package/dist/components/select-new/components/SelectItem.svelte.d.ts +9 -0
  125. package/dist/components/select-new/components/SelectTrigger.svelte +48 -0
  126. package/dist/components/select-new/components/SelectTrigger.svelte.d.ts +12 -0
  127. package/dist/components/select-new/index.d.ts +10 -0
  128. package/dist/components/select-new/index.js +12 -0
  129. package/dist/components/select-new/types.d.ts +25 -0
  130. package/dist/components/select-new/types.js +1 -0
  131. package/dist/components/sjsf-wrappers/SjsfNumberInputWrapper.svelte +92 -0
  132. package/dist/components/sjsf-wrappers/SjsfNumberInputWrapper.svelte.d.ts +3 -0
  133. package/dist/components/sjsf-wrappers/SjsfTextInputWrapper.svelte +65 -0
  134. package/dist/components/sjsf-wrappers/SjsfTextInputWrapper.svelte.d.ts +3 -0
  135. package/dist/components/sjsf-wrappers/index.d.ts +2 -0
  136. package/dist/components/sjsf-wrappers/index.js +2 -0
  137. package/dist/components/sjsf-wrappers/sjsfCustomTheme.d.ts +2 -0
  138. package/dist/components/sjsf-wrappers/sjsfCustomTheme.js +8 -0
  139. package/dist/components/skeleton-loader/SkeletonLoader.stories.svelte +4 -4
  140. package/dist/components/slider/Slider.stories.svelte +4 -4
  141. package/dist/components/spinner/Spinner.stories.svelte +13 -0
  142. package/dist/components/spinner/Spinner.stories.svelte.d.ts +19 -0
  143. package/dist/components/stat-card/StatCard.stories.svelte +27 -19
  144. package/dist/components/stat-card/StatCard.svelte +100 -6
  145. package/dist/components/stat-card/StatCard.svelte.d.ts +3 -0
  146. package/dist/components/status-badge/StatusBadge.stories.svelte +6 -6
  147. package/dist/components/status-badge/StatusBadge.svelte +5 -3
  148. package/dist/components/stepper/Stepper.stories.svelte +243 -0
  149. package/dist/components/stepper/Stepper.stories.svelte.d.ts +19 -0
  150. package/dist/components/stepper/components/stepper-root.svelte +20 -0
  151. package/dist/components/stepper/components/stepper-root.svelte.d.ts +9 -0
  152. package/dist/components/stepper/components/stepper-step.svelte +100 -0
  153. package/dist/components/stepper/components/stepper-step.svelte.d.ts +11 -0
  154. package/dist/components/stepper/index.d.ts +15 -0
  155. package/dist/components/stepper/index.js +2 -0
  156. package/dist/components/table/Table.stories.svelte +1 -1
  157. package/dist/components/table/components/Td.svelte +3 -2
  158. package/dist/components/table/components/Td.svelte.d.ts +1 -0
  159. package/dist/components/table/components/Tr.svelte +3 -2
  160. package/dist/components/table/components/Tr.svelte.d.ts +1 -0
  161. package/dist/components/tabs/Tabs.stories.svelte +1 -1
  162. package/dist/components/tag/Tag.stories.svelte +9 -9
  163. package/dist/components/tag/Tag.svelte +0 -18
  164. package/dist/components/textarea/Textarea.stories.svelte +97 -0
  165. package/dist/components/textarea/Textarea.stories.svelte.d.ts +19 -0
  166. package/dist/components/textarea/Textarea.svelte +94 -0
  167. package/dist/components/textarea/Textarea.svelte.d.ts +17 -0
  168. package/dist/components/textarea/index.d.ts +1 -0
  169. package/dist/components/textarea/index.js +1 -0
  170. package/dist/components/toggle/Toggle.stories.svelte +1 -1
  171. package/dist/components/toggle/Toggle.svelte +3 -2
  172. package/dist/components/toggle/Toggle.svelte.d.ts +1 -0
  173. package/dist/components/toggle-icon-button/ToggleIconButton.stories.svelte +6 -6
  174. package/dist/components/tooltip/Tooltip.stories.svelte +6 -6
  175. package/dist/components/tooltip/Tooltip.svelte +1 -1
  176. package/dist/index.d.ts +7 -0
  177. package/dist/index.js +7 -0
  178. package/dist/tailwind.preset.d.ts +5 -0
  179. package/dist/tokens.d.ts +10 -0
  180. package/dist/tokens.js +6 -4
  181. package/package.json +1 -2
@@ -0,0 +1,19 @@
1
+ import Card from './Card.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: {
7
+ $$events?: Events;
8
+ $$slots?: Slots;
9
+ }): Exports & {
10
+ $set?: any;
11
+ $on?: any;
12
+ };
13
+ z_$$bindings?: Bindings;
14
+ }
15
+ declare const Card: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
16
+ [evt: string]: CustomEvent<any>;
17
+ }, {}, {}, string>;
18
+ type Card = InstanceType<typeof Card>;
19
+ export default Card;
@@ -0,0 +1,25 @@
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+
4
+ type Props = {
5
+ Header?: Snippet;
6
+ children: Snippet;
7
+ headerBorder?: boolean;
8
+ class?: string;
9
+ };
10
+
11
+ const { Header, children, headerBorder = false, class: additionalClasses = '' }: Props = $props();
12
+ </script>
13
+
14
+ <div class="rounded-lg border border-static bg-surface shadow-sm {additionalClasses}">
15
+ {#if Header}
16
+ <header class="px-6 py-4" class:border-b={headerBorder} class:border-static={headerBorder}>
17
+ {@render Header()}
18
+ </header>
19
+ {/if}
20
+ {#if children}
21
+ <div class="p-6">
22
+ {@render children()}
23
+ </div>
24
+ {/if}
25
+ </div>
@@ -0,0 +1,10 @@
1
+ import type { Snippet } from 'svelte';
2
+ type Props = {
3
+ Header?: Snippet;
4
+ children: Snippet;
5
+ headerBorder?: boolean;
6
+ class?: string;
7
+ };
8
+ declare const Card: import("svelte").Component<Props, {}, "">;
9
+ type Card = ReturnType<typeof Card>;
10
+ export default Card;
@@ -0,0 +1 @@
1
+ export { default as Card } from './Card.svelte';
@@ -0,0 +1 @@
1
+ export { default as Card } from './Card.svelte';
@@ -11,20 +11,12 @@
11
11
  let checked = $state<boolean>(false);
12
12
  </script>
13
13
 
14
- <Story name="Default">
15
- <div class="p-4">
16
- <Checkbox bind:checked />
17
- </div>
18
- </Story>
14
+ <Story name="Default" args={{ checked: false }} />
19
15
 
20
- <Story name="Checked">
21
- <div class="p-4">
22
- <Checkbox checked={true} />
23
- </div>
24
- </Story>
16
+ <Story name="Checked" args={{ checked: true }} />
25
17
 
26
- <Story name="Unchecked">
27
- <div class="p-4">
28
- <Checkbox checked={false} />
29
- </div>
30
- </Story>
18
+ <Story name="Unchecked" args={{ checked: false }} />
19
+
20
+ <Story name="Disabled" args={{ checked: true, disabled: true }} />
21
+
22
+ <Story name="Indeterminate" args={{ checked: false, indeterminate: true }} />
@@ -1,21 +1,21 @@
1
1
  <script lang="ts">
2
- import { Checkbox } from 'bits-ui';
2
+ import { Checkbox, type CheckboxRootProps } from 'bits-ui';
3
3
  import { Icon } from '../icons';
4
4
 
5
- type Props = {
6
- checked: boolean;
7
- };
5
+ export type CheckboxProps = CheckboxRootProps;
8
6
 
9
- let { checked = $bindable(false) }: Props = $props();
7
+ let { checked = $bindable(false), onCheckedChange, ...props }: CheckboxProps = $props();
10
8
  </script>
11
9
 
12
- <Checkbox.Root bind:checked>
13
- {#snippet children({ checked })}
10
+ <Checkbox.Root bind:checked {onCheckedChange} {...props}>
11
+ {#snippet children({ checked, indeterminate })}
14
12
  <div
15
13
  class={`flex items-center justify-center rounded border border-static ${checked ? 'bg-dark-accent-inverse-hover' : ''}`}
16
14
  >
17
15
  {#if checked}
18
16
  <Icon iconName="Check" class="text-primary-inverse" />
17
+ {:else if indeterminate}
18
+ <Icon iconName="Minus" />
19
19
  {:else}
20
20
  <div class="h-4 w-4"></div>
21
21
  {/if}
@@ -1,7 +1,5 @@
1
- import { Checkbox } from 'bits-ui';
2
- type Props = {
3
- checked: boolean;
4
- };
5
- declare const Checkbox: import("svelte").Component<Props, {}, "checked">;
1
+ import { Checkbox, type CheckboxRootProps } from 'bits-ui';
2
+ export type CheckboxProps = CheckboxRootProps;
3
+ declare const Checkbox: import("svelte").Component<Checkbox.RootProps, {}, "checked">;
6
4
  type Checkbox = ReturnType<typeof Checkbox>;
7
5
  export default Checkbox;
@@ -1,10 +1,11 @@
1
1
  <script module lang="ts">
2
2
  import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import { Root as CollapsibleRootForMeta } from './index';
3
4
  import * as Collapsible from './index';
4
5
  import Button from '../button/Button.svelte';
5
6
 
6
7
  const { Story } = defineMeta({
7
- component: Collapsible.Root,
8
+ component: CollapsibleRootForMeta,
8
9
  title: 'Design System/Collapsible',
9
10
  tags: ['autodocs']
10
11
  });
@@ -12,7 +13,7 @@
12
13
  let open = $state(false);
13
14
  </script>
14
15
 
15
- <Story name="Base">
16
+ <Story name="Base" asChild>
16
17
  <Collapsible.Root class="w-[200px]">
17
18
  <Collapsible.Trigger class="w-full">
18
19
  <h6>Trigger</h6>
@@ -22,7 +23,7 @@
22
23
  </Collapsible.Root>
23
24
  </Story>
24
25
 
25
- <Story name="Without Icon">
26
+ <Story name="Without Icon" asChild>
26
27
  <Collapsible.Root class="w-[200px]">
27
28
  <Collapsible.Trigger class="w-full" withIcon={false}>
28
29
  <h6>Trigger</h6>
@@ -32,7 +33,7 @@
32
33
  </Collapsible.Root>
33
34
  </Story>
34
35
 
35
- <Story name="Controlled">
36
+ <Story name="Controlled" asChild>
36
37
  <Button onClick={() => (open = !open)}>Outside Trigger</Button>
37
38
  <Collapsible.Root class="w-[200px]" {open}>
38
39
  <Collapsible.Content>Content</Collapsible.Content>
@@ -1,6 +1,7 @@
1
1
  <script module lang="ts">
2
2
  import { defineMeta } from '@storybook/addon-svelte-csf';
3
- import { expect, userEvent, within } from '@storybook/test';
3
+ import { userEvent, within } from '@storybook/test';
4
+ import { Root as ComboboxRootForMeta } from './index';
4
5
  import * as Combobox from './index';
5
6
  import { Icon } from '../icons';
6
7
  import IconButton from '../icon-button/IconButton.svelte';
@@ -9,7 +10,7 @@
9
10
  import Button from '../button/Button.svelte';
10
11
 
11
12
  const { Story } = defineMeta({
12
- component: Combobox.Root,
13
+ component: ComboboxRootForMeta,
13
14
  title: 'Design System/Combobox',
14
15
  tags: ['autodocs'],
15
16
  parameters: {
@@ -110,7 +111,7 @@
110
111
  let customAnchorCustom = $state<HTMLElement>(null!);
111
112
  </script>
112
113
 
113
- <Story name="Multiple Selection">
114
+ <Story name="Multiple Selection" asChild>
114
115
  <Combobox.Root
115
116
  onOpenChange={(o) => {
116
117
  if (!o) searchValue = '';
@@ -179,7 +180,7 @@
179
180
  </Combobox.Root>
180
181
  </Story>
181
182
 
182
- <Story name="Single Selection">
183
+ <Story name="Single Selection" asChild>
183
184
  <Combobox.Root
184
185
  onOpenChange={(o) => {
185
186
  if (!o) searchValueSingle = '';
@@ -220,7 +221,7 @@
220
221
  </Combobox.Root>
221
222
  </Story>
222
223
 
223
- <Story name="Grouped Items">
224
+ <Story name="Grouped Items" asChild>
224
225
  <Combobox.Root
225
226
  onOpenChange={(o) => {
226
227
  if (!o) searchValueGrouped = '';
@@ -298,6 +299,7 @@
298
299
 
299
300
  <Story
300
301
  name="Interaction Test"
302
+ asChild
301
303
  play={async ({ canvasElement }) => {
302
304
  // Get the canvas element
303
305
  const canvas = within(canvasElement);
@@ -4,7 +4,6 @@
4
4
  import { DateTime } from 'luxon';
5
5
  import DatePicker from './DatePicker.svelte';
6
6
  import Dropdown from '../dropdown/Dropdown.svelte';
7
- import Button from '../button/Button.svelte';
8
7
  import { Icon } from '../icons';
9
8
 
10
9
  const { Story } = defineMeta({
@@ -19,6 +18,8 @@
19
18
  }
20
19
  });
21
20
 
21
+ const staticDate = DateTime.local(2023, 10, 15);
22
+
22
23
  let selectedDate = $state<DateTime | undefined>(undefined);
23
24
  let loggedDate = $state<string | undefined>(undefined);
24
25
 
@@ -49,19 +50,11 @@
49
50
  }
50
51
  </script>
51
52
 
52
- <Story name="Default">
53
- <div class="p-4">
54
- <DatePicker bind:selectedDate />
55
- </div>
56
- </Story>
53
+ <Story name="Default" args={{ selectedDate: undefined }} />
57
54
 
58
- <Story name="With Selected Date">
59
- <div class="p-4">
60
- <DatePicker selectedDate={DateTime.local(2023, 10, 15)} />
61
- </div>
62
- </Story>
55
+ <Story name="With Selected Date" args={{ selectedDate: staticDate }} />
63
56
 
64
- <Story name="With Date Change Handler">
57
+ <Story name="With Date Change Handler" asChild>
65
58
  <div class="p-4">
66
59
  <div class="mb-4">
67
60
  <DatePicker {selectedDate} onClick={handleDateSelection} />
@@ -74,9 +67,9 @@
74
67
  </div>
75
68
  </Story>
76
69
 
77
- <Story name="Month Navigation">
70
+ <Story name="Month Navigation" asChild>
78
71
  <div class="p-4">
79
- <DatePicker selectedDate={DateTime.local()} />
72
+ <DatePicker selectedDate={staticDate} />
80
73
  <div class="mt-4 text-sm text-tertiary">
81
74
  <p>Click the arrow buttons to navigate between months</p>
82
75
  </div>
@@ -85,6 +78,7 @@
85
78
 
86
79
  <Story
87
80
  name="Interaction Test"
81
+ asChild
88
82
  play={async ({ canvasElement }) => {
89
83
  const canvas = within(canvasElement);
90
84
 
@@ -120,20 +114,20 @@
120
114
  </div>
121
115
  </Story>
122
116
 
123
- <Story name="Multiple DatePickers">
117
+ <Story name="Multiple DatePickers" asChild>
124
118
  <div class="flex flex-col gap-4 p-4 md:flex-row">
125
119
  <div>
126
120
  <h3 class="mb-2 text-sm font-medium">Start Date</h3>
127
- <DatePicker selectedDate={DateTime.local().minus({ days: 7 })} />
121
+ <DatePicker selectedDate={staticDate.minus({ days: 7 })} />
128
122
  </div>
129
123
  <div>
130
124
  <h3 class="mb-2 text-sm font-medium">End Date</h3>
131
- <DatePicker selectedDate={DateTime.local()} />
125
+ <DatePicker selectedDate={staticDate} />
132
126
  </div>
133
127
  </div>
134
128
  </Story>
135
129
 
136
- <Story name="In Dropdown">
130
+ <Story name="In Dropdown" asChild>
137
131
  <div class="p-4">
138
132
  <Dropdown bind:open={isOpen} side="dropdown-bottom" alignEnd={false}>
139
133
  {#snippet trigger({ Trigger })}
@@ -158,6 +152,7 @@
158
152
 
159
153
  <Story
160
154
  name="Form Submit Prevention Test"
155
+ asChild
161
156
  play={async ({ canvasElement }) => {
162
157
  const canvas = within(canvasElement);
163
158
 
@@ -140,6 +140,7 @@
140
140
  {#if dayOfMonth === currentDay && shownMonth === currentMonth && shownYear === currentYear && dayOfMonth != selectedDay}
141
141
  <svg
142
142
  class="current-date-indicator text-accent"
143
+ data-chromatic="ignore"
143
144
  xmlns="http://www.w3.org/2000/svg"
144
145
  width="4"
145
146
  height="4"
@@ -9,6 +9,4 @@
9
9
  });
10
10
  </script>
11
11
 
12
- <Story name="Primary">
13
- <Divider />
14
- </Story>
12
+ <Story name="Primary" />
@@ -1,9 +1,15 @@
1
1
  <script lang="ts">
2
2
  interface Props {
3
3
  class?: string;
4
+ vertical?: boolean;
5
+ inverse?: boolean;
4
6
  }
5
7
 
6
- let { class: className = '' }: Props = $props();
8
+ let { class: className = '', vertical = false, inverse = false }: Props = $props();
7
9
  </script>
8
10
 
9
- <div class={`h-0 w-full border-b border-static ${className}`}></div>
11
+ <div
12
+ class={`${
13
+ vertical ? 'h-full w-0 border-l' : 'h-0 w-full border-b'
14
+ } ${inverse ? 'border-static-inverse' : 'border-static'} ${className}`}
15
+ ></div>
@@ -1,5 +1,7 @@
1
1
  interface Props {
2
2
  class?: string;
3
+ vertical?: boolean;
4
+ inverse?: boolean;
3
5
  }
4
6
  declare const Divider: import("svelte").Component<Props, {}, "">;
5
7
  type Divider = ReturnType<typeof Divider>;
@@ -12,7 +12,7 @@
12
12
  let open = $state(false);
13
13
  </script>
14
14
 
15
- <Story name="Base">
15
+ <Story name="Base" asChild>
16
16
  <div class="py-12">
17
17
  <Drawer id="my-drawer" bind:open controlled>
18
18
  {#snippet trigger()}
@@ -29,7 +29,7 @@
29
29
  </div>
30
30
  </Story>
31
31
 
32
- <Story name="Open">
32
+ <Story name="Open" asChild>
33
33
  <div class="py-12">
34
34
  <Drawer id="my-drawer" open controlled>
35
35
  {#snippet trigger()}
@@ -46,7 +46,7 @@
46
46
  </div>
47
47
  </Story>
48
48
 
49
- <Story name="Open Left">
49
+ <Story name="Open Left" asChild>
50
50
  <div class="py-12">
51
51
  <Drawer id="my-drawer" side="left" bind:open controlled>
52
52
  {#snippet trigger()}
@@ -9,7 +9,7 @@
9
9
  });
10
10
  </script>
11
11
 
12
- <Story name="Primary">
12
+ <Story name="Primary" asChild>
13
13
  <div class="py-12">
14
14
  <Dropdown>
15
15
  {#snippet trigger({ Trigger })}
@@ -31,7 +31,7 @@
31
31
  </div>
32
32
  </Story>
33
33
 
34
- <Story name="OutlinedButton">
34
+ <Story name="OutlinedButton" asChild>
35
35
  <div class="py-12">
36
36
  <Dropdown>
37
37
  {#snippet trigger({ OutlinedButton })}
@@ -53,7 +53,7 @@
53
53
  </div>
54
54
  </Story>
55
55
 
56
- <Story name="Secondary">
56
+ <Story name="Secondary" asChild>
57
57
  <div class="py-12">
58
58
  <Dropdown>
59
59
  {#snippet trigger({ Trigger })}
@@ -74,7 +74,7 @@
74
74
  </Dropdown>
75
75
  </div>
76
76
  </Story>
77
- <Story name="Transparent">
77
+ <Story name="Transparent" asChild>
78
78
  <div class="py-12">
79
79
  <Dropdown>
80
80
  {#snippet trigger({ Trigger })}
@@ -95,7 +95,7 @@
95
95
  </Dropdown>
96
96
  </div>
97
97
  </Story>
98
- <Story name="Danger">
98
+ <Story name="Danger" asChild>
99
99
  <div class="py-12">
100
100
  <Dropdown>
101
101
  {#snippet trigger({ Trigger })}
@@ -117,7 +117,7 @@
117
117
  </div>
118
118
  </Story>
119
119
 
120
- <Story name="Sides">
120
+ <Story name="Sides" asChild>
121
121
  <div class="flex h-screen w-full items-center justify-center">
122
122
  <div class="flex flex-1 justify-between">
123
123
  <Dropdown open side="dropdown-bottom">
@@ -193,7 +193,7 @@
193
193
  </div>
194
194
  </Story>
195
195
 
196
- <Story name="End align">
196
+ <Story name="End align" asChild>
197
197
  <div class="py-12">
198
198
  <Dropdown alignEnd open>
199
199
  {#snippet trigger({ Trigger })}
@@ -215,7 +215,7 @@
215
215
  </div>
216
216
  </Story>
217
217
 
218
- <Story name="Other content">
218
+ <Story name="Other content" asChild>
219
219
  <div class="py-12">
220
220
  <Dropdown alignEnd open>
221
221
  {#snippet trigger({ Trigger })}
@@ -10,7 +10,7 @@
10
10
  });
11
11
  </script>
12
12
 
13
- <Story name="Default">
13
+ <Story name="Default" asChild>
14
14
  <div class="w-full bg-surface p-12">
15
15
  <EmptyContent>
16
16
  {#snippet icon()}
@@ -28,7 +28,7 @@
28
28
  </div>
29
29
  </Story>
30
30
 
31
- <Story name="With Different Icon">
31
+ <Story name="With Different Icon" asChild>
32
32
  <div class="w-full bg-surface p-12">
33
33
  <EmptyContent>
34
34
  {#snippet icon()}
@@ -0,0 +1,81 @@
1
+ <script module lang="ts">
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import { textColor } from '../../../tokens';
4
+ import BarChart from './BarChart.svelte';
5
+
6
+ const { Story } = defineMeta({
7
+ title: 'Design System/Graphs/BarChart',
8
+ component: BarChart,
9
+ tags: ['autodocs'],
10
+ argTypes: {
11
+ // Define argTypes for props if needed, e.g., for controls
12
+ }
13
+ });
14
+
15
+ const simpleData = [
16
+ { category: 'A', value: 10 },
17
+ { category: 'B', value: 20 },
18
+ { category: 'C', value: 15 },
19
+ { category: 'D', value: 25 },
20
+ { category: 'E', value: 30 }
21
+ ];
22
+
23
+ const longerLabelsData = [
24
+ { longCategoryName: 'Very Long Label One', value: 45 },
25
+ { longCategoryName: 'Another Quite Long Label', value: 35 },
26
+ { longCategoryName: 'Short', value: 55 },
27
+ { longCategoryName: 'Label Four Is Also Lengthy', value: 25 },
28
+ { longCategoryName: 'Fifth Label Is Here', value: 65 }
29
+ ];
30
+
31
+ const customColorData = [
32
+ { category: 'Apple', value: 50 },
33
+ { category: 'Banana', value: 70 },
34
+ { category: 'Cherry', value: 60 },
35
+ { category: 'Date', value: 40 }
36
+ ];
37
+
38
+ const customColors = {
39
+ Apple: '#ff6b6b', // Red
40
+ Banana: '#feca57', // Yellow
41
+ Cherry: '#ff9ff3', // Pink
42
+ Date: '#a4b0be' // Grey
43
+ };
44
+ </script>
45
+
46
+ <Story
47
+ name="Base"
48
+ args={{ data: simpleData, xAxisName: 'category', yAxisName: 'Count', height: '400px' }}
49
+ />
50
+
51
+ <Story
52
+ name="Custom Y-Axis Name"
53
+ args={{ data: simpleData, xAxisName: 'category', yAxisName: 'Units Sold', height: '400px' }}
54
+ />
55
+
56
+ <Story
57
+ name="With Custom Colors"
58
+ args={{
59
+ data: customColorData,
60
+ xAxisName: 'category',
61
+ yAxisName: 'Fruit Amount',
62
+ colors: customColors,
63
+ height: '400px'
64
+ }}
65
+ />
66
+
67
+ <Story
68
+ name="With Rotated Labels"
69
+ args={{
70
+ data: longerLabelsData,
71
+ xAxisName: 'longCategoryName',
72
+ yAxisName: 'Measurement',
73
+ rotateXAxisLabels: true,
74
+ height: '400px'
75
+ }}
76
+ />
77
+
78
+ <Story
79
+ name="Empty Data"
80
+ args={{ data: [], xAxisName: 'category', yAxisName: 'Value', height: '400px' }}
81
+ />
@@ -0,0 +1,19 @@
1
+ import BarChart from './BarChart.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: {
7
+ $$events?: Events;
8
+ $$slots?: Slots;
9
+ }): Exports & {
10
+ $set?: any;
11
+ $on?: any;
12
+ };
13
+ z_$$bindings?: Bindings;
14
+ }
15
+ declare const BarChart: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
16
+ [evt: string]: CustomEvent<any>;
17
+ }, {}, {}, string>;
18
+ type BarChart = InstanceType<typeof BarChart>;
19
+ export default BarChart;