@reshape-biotech/design-system 0.0.52 → 1.1.1

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 (184) hide show
  1. package/dist/components/activity/Activity.stories.svelte +21 -8
  2. package/dist/components/activity/Activity.svelte +49 -9
  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/button/Button.stories.svelte +54 -21
  9. package/dist/components/button/Button.svelte +58 -11
  10. package/dist/components/button/Button.svelte.d.ts +4 -3
  11. package/dist/components/card/Card.stories.svelte +130 -0
  12. package/dist/components/card/Card.stories.svelte.d.ts +19 -0
  13. package/dist/components/card/Card.svelte +25 -0
  14. package/dist/components/card/Card.svelte.d.ts +10 -0
  15. package/dist/components/card/index.d.ts +1 -0
  16. package/dist/components/card/index.js +1 -0
  17. package/dist/components/checkbox/Checkbox.stories.svelte +22 -0
  18. package/dist/components/checkbox/Checkbox.stories.svelte.d.ts +19 -0
  19. package/dist/components/checkbox/Checkbox.svelte +24 -0
  20. package/dist/components/checkbox/Checkbox.svelte.d.ts +5 -0
  21. package/dist/components/checkbox/index.d.ts +1 -0
  22. package/dist/components/checkbox/index.js +1 -0
  23. package/dist/components/collapsible/Collapsible.stories.svelte +5 -4
  24. package/dist/components/collapsible/components/collapsible-trigger.svelte +1 -1
  25. package/dist/components/combobox/Combobox.stories.svelte +7 -5
  26. package/dist/components/combobox/components/combobox-add.svelte +2 -1
  27. package/dist/components/combobox/components/combobox-content.svelte +4 -0
  28. package/dist/components/combobox/types.d.ts +2 -0
  29. package/dist/components/datepicker/DatePicker.stories.svelte +8 -14
  30. package/dist/components/divider/Divider.stories.svelte +1 -3
  31. package/dist/components/divider/Divider.svelte +8 -2
  32. package/dist/components/divider/Divider.svelte.d.ts +2 -0
  33. package/dist/components/drawer/Drawer.stories.svelte +3 -3
  34. package/dist/components/dropdown/Dropdown.stories.svelte +8 -8
  35. package/dist/components/empty-content/EmptyContent.stories.svelte +2 -2
  36. package/dist/components/graphs/bar-chart/BarChart.stories.svelte +81 -0
  37. package/dist/components/graphs/bar-chart/BarChart.stories.svelte.d.ts +19 -0
  38. package/dist/components/graphs/bar-chart/BarChart.svelte +136 -0
  39. package/dist/components/graphs/bar-chart/BarChart.svelte.d.ts +15 -0
  40. package/dist/components/graphs/bar-chart/StackedBarChart.stories.svelte +42 -0
  41. package/dist/components/graphs/bar-chart/StackedBarChart.stories.svelte.d.ts +19 -0
  42. package/dist/components/graphs/bar-chart/StackedBarChart.svelte +177 -0
  43. package/dist/components/graphs/bar-chart/StackedBarChart.svelte.d.ts +16 -0
  44. package/dist/components/graphs/chart/Chart.stories.svelte +31 -23
  45. package/dist/components/graphs/chart/Chart.svelte +104 -32
  46. package/dist/components/graphs/chart/Chart.svelte.d.ts +15 -5
  47. package/dist/components/graphs/index.d.ts +3 -0
  48. package/dist/components/graphs/index.js +3 -0
  49. package/dist/components/graphs/line/LineChart.stories.svelte +107 -15
  50. package/dist/components/graphs/line/LineChart.svelte +90 -51
  51. package/dist/components/graphs/line/LineChart.svelte.d.ts +6 -13
  52. package/dist/components/graphs/matrix/Matrix.stories.svelte +156 -0
  53. package/dist/components/graphs/matrix/Matrix.stories.svelte.d.ts +19 -0
  54. package/dist/components/graphs/matrix/Matrix.svelte +149 -0
  55. package/dist/components/graphs/matrix/Matrix.svelte.d.ts +24 -0
  56. package/dist/components/graphs/matrix/index.d.ts +3 -0
  57. package/dist/components/graphs/matrix/index.js +3 -0
  58. package/dist/components/graphs/multiline/MultiLineChart.stories.svelte +130 -18
  59. package/dist/components/graphs/multiline/MultiLineChart.svelte +187 -50
  60. package/dist/components/graphs/multiline/MultiLineChart.svelte.d.ts +9 -12
  61. package/dist/components/graphs/scatterplot/Scatterplot.stories.svelte +68 -41
  62. package/dist/components/graphs/scatterplot/Scatterplot.svelte +312 -45
  63. package/dist/components/graphs/scatterplot/Scatterplot.svelte.d.ts +23 -13
  64. package/dist/components/graphs/utils/tooltipFormatter.d.ts +10 -0
  65. package/dist/components/graphs/utils/tooltipFormatter.js +52 -0
  66. package/dist/components/icon-button/IconButton.stories.svelte +6 -6
  67. package/dist/components/icon-button/IconButton.svelte +50 -9
  68. package/dist/components/icon-button/IconButton.svelte.d.ts +3 -5
  69. package/dist/components/icons/AnalysisIcon.stories.svelte +15 -21
  70. package/dist/components/icons/AnalysisIcon.svelte +53 -43
  71. package/dist/components/icons/Icon.stories.svelte +4 -4
  72. package/dist/components/icons/Icon.svelte +1 -1
  73. package/dist/components/icons/PrincipalIcon.svelte +96 -0
  74. package/dist/components/icons/PrincipalIcon.svelte.d.ts +10 -0
  75. package/dist/components/icons/custom/Halo.svelte +14 -8
  76. package/dist/components/icons/custom/Halo.svelte.d.ts +7 -25
  77. package/dist/components/icons/custom/Well.svelte +14 -6
  78. package/dist/components/icons/custom/Well.svelte.d.ts +7 -25
  79. package/dist/components/icons/index.d.ts +3 -2
  80. package/dist/components/icons/index.js +26 -0
  81. package/dist/components/input/Input.stories.svelte +16 -22
  82. package/dist/components/input/Input.svelte +140 -134
  83. package/dist/components/input/Input.svelte.d.ts +12 -13
  84. package/dist/components/label/Label.stories.svelte +28 -0
  85. package/dist/components/label/Label.stories.svelte.d.ts +19 -0
  86. package/dist/components/label/Label.svelte +17 -0
  87. package/dist/components/label/Label.svelte.d.ts +9 -0
  88. package/dist/components/list/List.stories.svelte +3 -3
  89. package/dist/components/logo/Logo.stories.svelte +1 -1
  90. package/dist/components/manual-cfu-counter/ManualCFUCounter.stories.svelte +125 -0
  91. package/dist/components/manual-cfu-counter/ManualCFUCounter.stories.svelte.d.ts +3 -0
  92. package/dist/components/manual-cfu-counter/ManualCFUCounter.svelte +577 -0
  93. package/dist/components/manual-cfu-counter/ManualCFUCounter.svelte.d.ts +16 -0
  94. package/dist/components/manual-cfu-counter/index.d.ts +1 -0
  95. package/dist/components/manual-cfu-counter/index.js +1 -0
  96. package/dist/components/manual-cfu-counter/test/ManualCFUCounterTestWrapper.svelte +22 -0
  97. package/dist/components/manual-cfu-counter/test/ManualCFUCounterTestWrapper.svelte.d.ts +19 -0
  98. package/dist/components/markdown/Markdown.stories.svelte +1 -1
  99. package/dist/components/markdown/Markdown.svelte +1 -1
  100. package/dist/components/modal/Modal.stories.svelte +2 -2
  101. package/dist/components/modal/Modal.svelte +27 -22
  102. package/dist/components/modal/Modal.svelte.d.ts +4 -1
  103. package/dist/components/notification-popup/NotificationPopup.stories.svelte +1 -1
  104. package/dist/components/pill/Pill.stories.svelte +13 -0
  105. package/dist/components/pill/Pill.stories.svelte.d.ts +19 -0
  106. package/dist/components/progress-circle/ProgressCircle.stories.svelte +15 -0
  107. package/dist/components/progress-circle/ProgressCircle.stories.svelte.d.ts +19 -0
  108. package/dist/components/required-status-indicator/RequiredStatusIndicator.stories.svelte +28 -0
  109. package/dist/components/required-status-indicator/RequiredStatusIndicator.stories.svelte.d.ts +19 -0
  110. package/dist/components/required-status-indicator/RequiredStatusIndicator.svelte +22 -0
  111. package/dist/components/required-status-indicator/RequiredStatusIndicator.svelte.d.ts +8 -0
  112. package/dist/components/required-status-indicator/index.d.ts +1 -0
  113. package/dist/components/required-status-indicator/index.js +1 -0
  114. package/dist/components/segmented-control-buttons/SegmentedControlButtons.stories.svelte +3 -3
  115. package/dist/components/select/Select.stories.svelte +12 -12
  116. package/dist/components/select/Select.svelte +0 -2
  117. package/dist/components/select-new/Select.stories.svelte +219 -0
  118. package/dist/components/select-new/Select.stories.svelte.d.ts +19 -0
  119. package/dist/components/select-new/components/Group.svelte +23 -0
  120. package/dist/components/select-new/components/Group.svelte.d.ts +10 -0
  121. package/dist/components/select-new/components/MultiSelectTrigger.svelte +66 -0
  122. package/dist/components/select-new/components/MultiSelectTrigger.svelte.d.ts +17 -0
  123. package/dist/components/select-new/components/SelectContent.svelte +33 -0
  124. package/dist/components/select-new/components/SelectContent.svelte.d.ts +10 -0
  125. package/dist/components/select-new/components/SelectGroupHeading.svelte +19 -0
  126. package/dist/components/select-new/components/SelectGroupHeading.svelte.d.ts +9 -0
  127. package/dist/components/select-new/components/SelectItem.svelte +41 -0
  128. package/dist/components/select-new/components/SelectItem.svelte.d.ts +9 -0
  129. package/dist/components/select-new/components/SelectTrigger.svelte +48 -0
  130. package/dist/components/select-new/components/SelectTrigger.svelte.d.ts +12 -0
  131. package/dist/components/select-new/index.d.ts +10 -0
  132. package/dist/components/select-new/index.js +12 -0
  133. package/dist/components/select-new/types.d.ts +25 -0
  134. package/dist/components/select-new/types.js +1 -0
  135. package/dist/components/sjsf-wrappers/SjsfNumberInputWrapper.svelte +92 -0
  136. package/dist/components/sjsf-wrappers/SjsfNumberInputWrapper.svelte.d.ts +3 -0
  137. package/dist/components/sjsf-wrappers/SjsfTextInputWrapper.svelte +65 -0
  138. package/dist/components/sjsf-wrappers/SjsfTextInputWrapper.svelte.d.ts +3 -0
  139. package/dist/components/sjsf-wrappers/index.d.ts +2 -0
  140. package/dist/components/sjsf-wrappers/index.js +2 -0
  141. package/dist/components/sjsf-wrappers/sjsfCustomTheme.d.ts +2 -0
  142. package/dist/components/sjsf-wrappers/sjsfCustomTheme.js +8 -0
  143. package/dist/components/skeleton-loader/SkeletonLoader.stories.svelte +4 -4
  144. package/dist/components/slider/Slider.stories.svelte +4 -4
  145. package/dist/components/spinner/Spinner.stories.svelte +13 -0
  146. package/dist/components/spinner/Spinner.stories.svelte.d.ts +19 -0
  147. package/dist/components/stat-card/StatCard.stories.svelte +27 -19
  148. package/dist/components/stat-card/StatCard.svelte +100 -6
  149. package/dist/components/stat-card/StatCard.svelte.d.ts +3 -0
  150. package/dist/components/status-badge/StatusBadge.stories.svelte +6 -6
  151. package/dist/components/status-badge/StatusBadge.svelte +5 -3
  152. package/dist/components/table/Table.stories.svelte +1 -1
  153. package/dist/components/table/components/Td.svelte +3 -2
  154. package/dist/components/table/components/Td.svelte.d.ts +1 -0
  155. package/dist/components/table/components/Tr.svelte +3 -2
  156. package/dist/components/table/components/Tr.svelte.d.ts +1 -0
  157. package/dist/components/tabs/Tabs.stories.svelte +1 -1
  158. package/dist/components/tag/Tag.stories.svelte +38 -7
  159. package/dist/components/tag/Tag.svelte +34 -21
  160. package/dist/components/tag/Tag.svelte.d.ts +1 -1
  161. package/dist/components/textarea/Textarea.stories.svelte +97 -0
  162. package/dist/components/textarea/Textarea.stories.svelte.d.ts +19 -0
  163. package/dist/components/textarea/Textarea.svelte +94 -0
  164. package/dist/components/textarea/Textarea.svelte.d.ts +17 -0
  165. package/dist/components/textarea/index.d.ts +1 -0
  166. package/dist/components/textarea/index.js +1 -0
  167. package/dist/components/toggle/Toggle.stories.svelte +1 -1
  168. package/dist/components/toggle/Toggle.svelte +3 -2
  169. package/dist/components/toggle/Toggle.svelte.d.ts +1 -0
  170. package/dist/components/toggle-icon-button/ToggleIconButton.stories.svelte +173 -0
  171. package/dist/components/toggle-icon-button/ToggleIconButton.stories.svelte.d.ts +19 -0
  172. package/dist/components/toggle-icon-button/ToggleIconButton.svelte +117 -0
  173. package/dist/components/toggle-icon-button/ToggleIconButton.svelte.d.ts +15 -0
  174. package/dist/components/toggle-icon-button/index.d.ts +3 -0
  175. package/dist/components/toggle-icon-button/index.js +3 -0
  176. package/dist/components/tooltip/Tooltip.stories.svelte +6 -6
  177. package/dist/components/tooltip/Tooltip.svelte +1 -1
  178. package/dist/index.d.ts +7 -0
  179. package/dist/index.js +7 -0
  180. package/dist/tailwind-safelist.js +2 -0
  181. package/dist/tailwind.preset.d.ts +2 -0
  182. package/dist/tokens.d.ts +4 -0
  183. package/dist/tokens.js +3 -1
  184. 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';
@@ -0,0 +1,22 @@
1
+ <script module lang="ts">
2
+ import Checkbox from './Checkbox.svelte';
3
+ import { defineMeta } from '@storybook/addon-svelte-csf';
4
+
5
+ const { Story } = defineMeta({
6
+ component: Checkbox,
7
+ title: 'Design System/Checkbox',
8
+ tags: ['autodocs']
9
+ });
10
+
11
+ let checked = $state<boolean>(false);
12
+ </script>
13
+
14
+ <Story name="Default" args={{ checked: false }} />
15
+
16
+ <Story name="Checked" args={{ checked: true }} />
17
+
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 }} />
@@ -0,0 +1,19 @@
1
+ import Checkbox from './Checkbox.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 Checkbox: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
16
+ [evt: string]: CustomEvent<any>;
17
+ }, {}, {}, string>;
18
+ type Checkbox = InstanceType<typeof Checkbox>;
19
+ export default Checkbox;
@@ -0,0 +1,24 @@
1
+ <script lang="ts">
2
+ import { Checkbox, type CheckboxRootProps } from 'bits-ui';
3
+ import { Icon } from '../icons';
4
+
5
+ export type CheckboxProps = CheckboxRootProps;
6
+
7
+ let { checked = $bindable(false), onCheckedChange, ...props }: CheckboxProps = $props();
8
+ </script>
9
+
10
+ <Checkbox.Root bind:checked {onCheckedChange} {...props}>
11
+ {#snippet children({ checked, indeterminate })}
12
+ <div
13
+ class={`flex items-center justify-center rounded border border-static ${checked ? 'bg-dark-accent-inverse-hover' : ''}`}
14
+ >
15
+ {#if checked}
16
+ <Icon iconName="Check" class="text-primary-inverse" />
17
+ {:else if indeterminate}
18
+ <Icon iconName="Minus" />
19
+ {:else}
20
+ <div class="h-4 w-4"></div>
21
+ {/if}
22
+ </div>
23
+ {/snippet}
24
+ </Checkbox.Root>
@@ -0,0 +1,5 @@
1
+ import { Checkbox, type CheckboxRootProps } from 'bits-ui';
2
+ export type CheckboxProps = CheckboxRootProps;
3
+ declare const Checkbox: import("svelte").Component<Checkbox.RootProps, {}, "checked">;
4
+ type Checkbox = ReturnType<typeof Checkbox>;
5
+ export default Checkbox;
@@ -0,0 +1 @@
1
+ export { default as Checkbox } from './Checkbox.svelte';
@@ -0,0 +1 @@
1
+ export { default as Checkbox } from './Checkbox.svelte';
@@ -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>
@@ -10,7 +10,7 @@
10
10
  <div class="container">
11
11
  {@render children()}
12
12
  {#if withIcon}
13
- <Icon iconName="CaretDown" class="icon" />
13
+ <Icon iconName="CaretDown" class="icon z-[-1]" />
14
14
  {/if}
15
15
  </div>
16
16
  </Collapsible.Trigger>
@@ -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);
@@ -9,12 +9,13 @@
9
9
  </script>
10
10
 
11
11
  <button {...props}>
12
- <Icon iconName="Plus" />
12
+ <Icon iconName="Plus" class="text-icon-secondary" />
13
13
  {@render children()}
14
14
  </button>
15
15
 
16
16
  <style>
17
17
  button {
18
+ margin-left: 0.5rem;
18
19
  display: flex;
19
20
  height: 2.5rem;
20
21
  flex-direction: row;
@@ -8,12 +8,15 @@
8
8
  class: className,
9
9
  showScroll = true,
10
10
  portalled = true,
11
+ header,
12
+ footer,
11
13
  ...props
12
14
  }: ComboboxContentProps = $props();
13
15
  </script>
14
16
 
15
17
  {#snippet content()}
16
18
  <Combobox.Content {...props} class={className}>
19
+ {@render header?.()}
17
20
  {#if showScroll}
18
21
  <Combobox.ScrollUpButton class="flex justify-center">
19
22
  <Icon iconName="CaretUp" />
@@ -27,6 +30,7 @@
27
30
  {:else}
28
31
  {@render children()}
29
32
  {/if}
33
+ {@render footer?.()}
30
34
  </Combobox.Content>
31
35
  {/snippet}
32
36
 
@@ -5,6 +5,8 @@ export type ComboboxContentProps = {
5
5
  children: Snippet;
6
6
  showScroll?: boolean;
7
7
  portalled?: boolean;
8
+ header?: Snippet;
9
+ footer?: Snippet;
8
10
  } & BitsComboboxContentProps;
9
11
  export type ComboboxTriggerProps = {
10
12
  children: Snippet;
@@ -49,19 +49,11 @@
49
49
  }
50
50
  </script>
51
51
 
52
- <Story name="Default">
53
- <div class="p-4">
54
- <DatePicker bind:selectedDate />
55
- </div>
56
- </Story>
52
+ <Story name="Default" args={{ selectedDate: undefined }} />
57
53
 
58
- <Story name="With Selected Date">
59
- <div class="p-4">
60
- <DatePicker selectedDate={DateTime.local(2023, 10, 15)} />
61
- </div>
62
- </Story>
54
+ <Story name="With Selected Date" args={{ selectedDate: DateTime.local(2023, 10, 15) }} />
63
55
 
64
- <Story name="With Date Change Handler">
56
+ <Story name="With Date Change Handler" asChild>
65
57
  <div class="p-4">
66
58
  <div class="mb-4">
67
59
  <DatePicker {selectedDate} onClick={handleDateSelection} />
@@ -74,7 +66,7 @@
74
66
  </div>
75
67
  </Story>
76
68
 
77
- <Story name="Month Navigation">
69
+ <Story name="Month Navigation" asChild>
78
70
  <div class="p-4">
79
71
  <DatePicker selectedDate={DateTime.local()} />
80
72
  <div class="mt-4 text-sm text-tertiary">
@@ -85,6 +77,7 @@
85
77
 
86
78
  <Story
87
79
  name="Interaction Test"
80
+ asChild
88
81
  play={async ({ canvasElement }) => {
89
82
  const canvas = within(canvasElement);
90
83
 
@@ -120,7 +113,7 @@
120
113
  </div>
121
114
  </Story>
122
115
 
123
- <Story name="Multiple DatePickers">
116
+ <Story name="Multiple DatePickers" asChild>
124
117
  <div class="flex flex-col gap-4 p-4 md:flex-row">
125
118
  <div>
126
119
  <h3 class="mb-2 text-sm font-medium">Start Date</h3>
@@ -133,7 +126,7 @@
133
126
  </div>
134
127
  </Story>
135
128
 
136
- <Story name="In Dropdown">
129
+ <Story name="In Dropdown" asChild>
137
130
  <div class="p-4">
138
131
  <Dropdown bind:open={isOpen} side="dropdown-bottom" alignEnd={false}>
139
132
  {#snippet trigger({ Trigger })}
@@ -158,6 +151,7 @@
158
151
 
159
152
  <Story
160
153
  name="Form Submit Prevention Test"
154
+ asChild
161
155
  play={async ({ canvasElement }) => {
162
156
  const canvas = within(canvasElement);
163
157
 
@@ -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;