@reshape-biotech/design-system 1.2.5 → 1.2.7

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 (175) hide show
  1. package/README.md +3 -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/combobox/Combobox.stories.svelte +412 -412
  19. package/dist/components/combobox/components/combobox-add.svelte +8 -8
  20. package/dist/components/combobox/components/combobox-content.svelte +39 -39
  21. package/dist/components/combobox/components/combobox-indicator.svelte +1 -1
  22. package/dist/components/datepicker/DatePicker.stories.svelte +196 -196
  23. package/dist/components/datepicker/DatePicker.svelte +173 -173
  24. package/dist/components/divider/Divider.stories.svelte +7 -7
  25. package/dist/components/divider/Divider.svelte +9 -9
  26. package/dist/components/drawer/Drawer.stories.svelte +51 -51
  27. package/dist/components/drawer/Drawer.svelte +33 -33
  28. package/dist/components/drawer/DrawerLabel.svelte +10 -10
  29. package/dist/components/dropdown/Dropdown.stories.svelte +210 -210
  30. package/dist/components/dropdown/Dropdown.svelte +57 -57
  31. package/dist/components/dropdown/components/DropdownContent.svelte +16 -16
  32. package/dist/components/dropdown/components/DropdownMenu.svelte +10 -10
  33. package/dist/components/dropdown/components/DropdownTrigger.svelte +37 -37
  34. package/dist/components/dropdown/components/OutlinedButton.svelte +9 -9
  35. package/dist/components/empty-content/EmptyContent.stories.svelte +38 -38
  36. package/dist/components/empty-content/EmptyContent.svelte +12 -12
  37. package/dist/components/graphs/bar-chart/BarChart.stories.svelte +91 -91
  38. package/dist/components/graphs/bar-chart/BarChart.svelte +147 -147
  39. package/dist/components/graphs/bar-chart/StackedBarChart.stories.svelte +57 -57
  40. package/dist/components/graphs/bar-chart/StackedBarChart.svelte +198 -199
  41. package/dist/components/graphs/chart/Chart.stories.svelte +96 -96
  42. package/dist/components/graphs/chart/Chart.svelte +207 -207
  43. package/dist/components/graphs/line/LineChart.stories.svelte +138 -138
  44. package/dist/components/graphs/line/LineChart.svelte +140 -142
  45. package/dist/components/graphs/matrix/Matrix.stories.svelte +117 -117
  46. package/dist/components/graphs/matrix/Matrix.svelte +141 -141
  47. package/dist/components/graphs/multiline/MultiLineChart.stories.svelte +168 -168
  48. package/dist/components/graphs/multiline/MultiLineChart.svelte +236 -236
  49. package/dist/components/graphs/scatterplot/Scatterplot.stories.svelte +84 -84
  50. package/dist/components/graphs/scatterplot/Scatterplot.svelte +302 -302
  51. package/dist/components/graphs/utils/duration.d.ts +1 -0
  52. package/dist/components/graphs/utils/duration.js +33 -0
  53. package/dist/components/graphs/utils/tooltipFormatter.js +1 -1
  54. package/dist/components/icon-button/IconButton.stories.svelte +64 -64
  55. package/dist/components/icon-button/IconButton.svelte +88 -88
  56. package/dist/components/icons/AnalysisIcon.stories.svelte +18 -18
  57. package/dist/components/icons/AnalysisIcon.svelte +96 -96
  58. package/dist/components/icons/Icon.stories.svelte +111 -111
  59. package/dist/components/icons/Icon.svelte +17 -17
  60. package/dist/components/icons/PrincipalIcon.svelte +59 -59
  61. package/dist/components/icons/custom/Halo.svelte +31 -31
  62. package/dist/components/icons/custom/Well.svelte +27 -27
  63. package/dist/components/icons/index.d.ts +3 -2
  64. package/dist/components/icons/index.js +3 -1
  65. package/dist/components/image/Image.svelte +42 -42
  66. package/dist/components/input/Input.stories.svelte +55 -55
  67. package/dist/components/input/Input.svelte +121 -121
  68. package/dist/components/label/Label.stories.svelte +18 -18
  69. package/dist/components/label/Label.svelte +11 -11
  70. package/dist/components/list/List.stories.svelte +84 -84
  71. package/dist/components/list/List.svelte +20 -20
  72. package/dist/components/logo/Logo.stories.svelte +15 -15
  73. package/dist/components/logo/Logo.svelte +30 -30
  74. package/dist/components/manual-cfu-counter/ManualCFUCounter.stories.svelte +102 -102
  75. package/dist/components/manual-cfu-counter/ManualCFUCounter.svelte +557 -565
  76. package/dist/components/manual-cfu-counter/test/ManualCFUCounterTestWrapper.svelte +11 -11
  77. package/dist/components/markdown/Markdown.stories.svelte +10 -10
  78. package/dist/components/markdown/Markdown.svelte +6 -6
  79. package/dist/components/modal/Modal.stories.svelte +29 -29
  80. package/dist/components/modal/Modal.svelte +71 -71
  81. package/dist/components/multi-cfu-counter/MultiCFUCounter.stories.svelte +215 -0
  82. package/dist/components/multi-cfu-counter/MultiCFUCounter.stories.svelte.d.ts +3 -0
  83. package/dist/components/multi-cfu-counter/MultiCFUCounter.svelte +662 -0
  84. package/dist/components/multi-cfu-counter/MultiCFUCounter.svelte.d.ts +32 -0
  85. package/dist/components/multi-cfu-counter/index.d.ts +1 -0
  86. package/dist/components/multi-cfu-counter/index.js +1 -0
  87. package/dist/components/multi-cfu-counter/test/MultiCFUCounterTestWrapper.svelte +28 -0
  88. package/dist/components/multi-cfu-counter/test/MultiCFUCounterTestWrapper.svelte.d.ts +20 -0
  89. package/dist/components/notification-popup/NotificationPopup.stories.svelte +18 -18
  90. package/dist/components/notification-popup/NotificationPopup.svelte +26 -26
  91. package/dist/components/notifications/Notifications.stories.svelte +101 -101
  92. package/dist/components/notifications/Notifications.svelte +9 -9
  93. package/dist/components/pill/Pill.stories.svelte +8 -8
  94. package/dist/components/pill/Pill.svelte +27 -27
  95. package/dist/components/progress-circle/ProgressCircle.stories.svelte +8 -8
  96. package/dist/components/progress-circle/ProgressCircle.svelte +54 -54
  97. package/dist/components/required-status-indicator/RequiredStatusIndicator.stories.svelte +18 -18
  98. package/dist/components/required-status-indicator/RequiredStatusIndicator.svelte +14 -14
  99. package/dist/components/segmented-control-buttons/ControlButton.svelte +36 -36
  100. package/dist/components/segmented-control-buttons/SegmentedControlButtons.stories.svelte +35 -35
  101. package/dist/components/segmented-control-buttons/SegmentedControlButtons.svelte +13 -13
  102. package/dist/components/select/Select.stories.svelte +77 -77
  103. package/dist/components/select/Select.svelte +114 -114
  104. package/dist/components/select-new/Select.stories.svelte +188 -188
  105. package/dist/components/select-new/components/Group.svelte +17 -17
  106. package/dist/components/select-new/components/MultiSelectTrigger.svelte +57 -57
  107. package/dist/components/select-new/components/SelectContent.svelte +22 -22
  108. package/dist/components/select-new/components/SelectGroupHeading.svelte +10 -10
  109. package/dist/components/select-new/components/SelectItem.svelte +25 -25
  110. package/dist/components/select-new/components/SelectTrigger.svelte +38 -38
  111. package/dist/components/sjsf-wrappers/SjsfNumberInputWrapper.svelte +76 -76
  112. package/dist/components/sjsf-wrappers/SjsfNumberInputWrapper.svelte.d.ts +1 -1
  113. package/dist/components/sjsf-wrappers/SjsfTextInputWrapper.svelte +53 -53
  114. package/dist/components/sjsf-wrappers/SjsfTextInputWrapper.svelte.d.ts +1 -1
  115. package/dist/components/sjsf-wrappers/sjsfCustomTheme.js +1 -1
  116. package/dist/components/skeleton-loader/SkeletonLoader.stories.svelte +32 -32
  117. package/dist/components/skeleton-loader/SkeletonLoader.svelte +10 -10
  118. package/dist/components/skeleton-loader/StatcardSkeleton.svelte +9 -9
  119. package/dist/components/skeleton-loader/components/Skeleton.svelte +7 -7
  120. package/dist/components/skeleton-loader/components/SkeletonImage.svelte +12 -12
  121. package/dist/components/slider/Slider.stories.svelte +23 -23
  122. package/dist/components/slider/Slider.svelte +107 -107
  123. package/dist/components/spinner/Spinner.stories.svelte +8 -8
  124. package/dist/components/spinner/Spinner.svelte +18 -18
  125. package/dist/components/stat-card/StatCard.stories.svelte +26 -26
  126. package/dist/components/stat-card/StatCard.svelte +128 -128
  127. package/dist/components/status-badge/StatusBadge.stories.svelte +365 -365
  128. package/dist/components/status-badge/StatusBadge.svelte +54 -54
  129. package/dist/components/stepper/Stepper.stories.svelte +219 -219
  130. package/dist/components/stepper/components/stepper-root.svelte +12 -12
  131. package/dist/components/stepper/components/stepper-step.svelte +83 -83
  132. package/dist/components/table/Table.stories.svelte +87 -87
  133. package/dist/components/table/Table.svelte +32 -32
  134. package/dist/components/table/components/TBody.svelte +7 -7
  135. package/dist/components/table/components/THead.svelte +7 -7
  136. package/dist/components/table/components/Td.svelte +8 -8
  137. package/dist/components/table/components/Th.svelte +8 -8
  138. package/dist/components/table/components/Tr.svelte +11 -11
  139. package/dist/components/tabs/Tabs.stories.svelte +20 -20
  140. package/dist/components/tabs/Tabs.svelte +8 -8
  141. package/dist/components/tabs/components/Content.svelte +8 -8
  142. package/dist/components/tabs/components/Tab.svelte +14 -14
  143. package/dist/components/tabs/components/Tabs.svelte +7 -7
  144. package/dist/components/tag/Tag.stories.svelte +57 -57
  145. package/dist/components/tag/Tag.svelte +95 -95
  146. package/dist/components/textarea/Textarea.stories.svelte +70 -70
  147. package/dist/components/textarea/Textarea.svelte +76 -76
  148. package/dist/components/toast/Toast.stories.svelte +204 -204
  149. package/dist/components/toast/Toast.svelte +53 -53
  150. package/dist/components/toggle/Toggle.stories.svelte +9 -9
  151. package/dist/components/toggle/Toggle.svelte +53 -53
  152. package/dist/components/toggle-icon-button/ToggleIconButton.stories.svelte +152 -152
  153. package/dist/components/toggle-icon-button/ToggleIconButton.svelte +99 -99
  154. package/dist/components/tooltip/Tooltip.stories.svelte +105 -105
  155. package/dist/components/tooltip/Tooltip.svelte +26 -26
  156. package/dist/fonts/index.js +1 -1
  157. package/dist/index.d.ts +4 -1
  158. package/dist/index.js +5 -1
  159. package/dist/notifications.d.ts +1 -4
  160. package/dist/notifications.js +1 -1
  161. package/dist/styles.d.ts +1 -0
  162. package/dist/styles.js +4 -0
  163. package/dist/tailwind-safelist.js +406 -398
  164. package/dist/tailwind.preset.d.ts +4 -0
  165. package/dist/tailwind.preset.js +10 -10
  166. package/dist/tokens/colors.d.ts +246 -0
  167. package/dist/tokens/colors.js +139 -0
  168. package/dist/tokens/index.d.ts +3 -0
  169. package/dist/tokens/index.js +5 -0
  170. package/dist/tokens/typography.d.ts +48 -0
  171. package/dist/tokens/typography.js +48 -0
  172. package/dist/tokens.d.ts +16 -252
  173. package/dist/tokens.js +33 -164
  174. package/dist/types/fonts.d.ts +2 -2
  175. package/package.json +398 -78
@@ -1,17 +1,17 @@
1
1
  <script module lang="ts">
2
- import { defineMeta } from '@storybook/addon-svelte-csf';
3
- import RequiredStatusIndicator from './RequiredStatusIndicator.svelte';
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import RequiredStatusIndicator from './RequiredStatusIndicator.svelte';
4
4
 
5
- const { Story } = defineMeta({
6
- title: 'Design System/RequiredStatusIndicator',
7
- component: RequiredStatusIndicator,
8
- tags: ['autodocs'],
9
- argTypes: {
10
- currentCount: { control: 'number', description: 'Current number of completed items' },
11
- requiredCount: { control: 'number', description: 'Total number of required items' },
12
- class: { control: 'text', description: 'Optional additional CSS classes' }
13
- }
14
- });
5
+ const { Story } = defineMeta({
6
+ title: 'Design System/RequiredStatusIndicator',
7
+ component: RequiredStatusIndicator,
8
+ tags: ['autodocs'],
9
+ argTypes: {
10
+ currentCount: { control: 'number', description: 'Current number of completed items' },
11
+ requiredCount: { control: 'number', description: 'Total number of required items' },
12
+ class: { control: 'text', description: 'Optional additional CSS classes' },
13
+ },
14
+ });
15
15
  </script>
16
16
 
17
17
  <Story name="Incomplete" args={{ currentCount: 1, requiredCount: 3 }} />
@@ -19,10 +19,10 @@
19
19
  <Story name="Complete" args={{ currentCount: 3, requiredCount: 3 }} />
20
20
 
21
21
  <Story
22
- name="CustomClass"
23
- args={{
24
- currentCount: 2,
25
- requiredCount: 4,
26
- class: 'text-lg text-warning'
27
- }}
22
+ name="CustomClass"
23
+ args={{
24
+ currentCount: 2,
25
+ requiredCount: 4,
26
+ class: 'text-lg text-warning',
27
+ }}
28
28
  />
@@ -1,22 +1,22 @@
1
1
  <script lang="ts">
2
- import { Icon } from '../icons';
2
+ import { Icon } from '../icons';
3
3
 
4
- type Props = {
5
- currentCount: number;
6
- requiredCount: number;
7
- class?: string;
8
- };
4
+ type Props = {
5
+ currentCount: number;
6
+ requiredCount: number;
7
+ class?: string;
8
+ };
9
9
 
10
- let { currentCount, requiredCount, class: className = '' }: Props = $props();
10
+ let { currentCount, requiredCount, class: className = '' }: Props = $props();
11
11
 
12
- const isComplete = $derived(currentCount >= requiredCount);
12
+ const isComplete = $derived(currentCount >= requiredCount);
13
13
  </script>
14
14
 
15
15
  <span class={`flex items-center gap-1 text-sm text-tertiary ${className}`}>
16
- {currentCount} of {requiredCount} required
17
- {#if isComplete}
18
- <Icon iconName="CheckCircle" weight="fill" color="accent" size={16} />
19
- {:else}
20
- <Icon iconName="CheckCircle" size={16} />
21
- {/if}
16
+ {currentCount} of {requiredCount} required
17
+ {#if isComplete}
18
+ <Icon iconName="CheckCircle" weight="fill" color="accent" size={16} />
19
+ {:else}
20
+ <Icon iconName="CheckCircle" size={16} />
21
+ {/if}
22
22
  </span>
@@ -1,54 +1,54 @@
1
1
  <script lang="ts">
2
- import type { Snippet } from 'svelte';
2
+ import type { Snippet } from 'svelte';
3
3
 
4
- type Color = 'primary' | 'secondary';
4
+ type Color = 'primary' | 'secondary';
5
5
 
6
- interface Props {
7
- class?: string;
8
- color?: Color;
9
- disabled?: boolean;
10
- active?: boolean;
11
- dataTestId?: string;
12
- onclick?: () => void;
13
- children?: Snippet;
14
- }
6
+ interface Props {
7
+ class?: string;
8
+ color?: Color;
9
+ disabled?: boolean;
10
+ active?: boolean;
11
+ dataTestId?: string;
12
+ onclick?: () => void;
13
+ children?: Snippet;
14
+ }
15
15
 
16
- let {
17
- class: className = '',
18
- color = 'primary',
19
- disabled = false,
20
- active = false,
21
- dataTestId,
22
- onclick,
23
- children
24
- }: Props = $props();
25
- const colors: Record<Color, string> = {
26
- primary: 'bg-transparent text-primary hover:bg-neutral disabled:text-tertiary',
27
- secondary: 'bg-transparent text-primary hover:bg-neutral disabled:text-tertiary'
28
- };
16
+ let {
17
+ class: className = '',
18
+ color = 'primary',
19
+ disabled = false,
20
+ active = false,
21
+ dataTestId,
22
+ onclick,
23
+ children,
24
+ }: Props = $props();
25
+ const colors: Record<Color, string> = {
26
+ primary: 'bg-transparent text-primary hover:bg-neutral disabled:text-tertiary',
27
+ secondary: 'bg-transparent text-primary hover:bg-neutral disabled:text-tertiary',
28
+ };
29
29
  </script>
30
30
 
31
31
  <div class="join-item flex h-full flex-1">
32
- <button
33
- {onclick}
34
- class={`control-button flex flex-1 items-center justify-center gap-2 rounded-md text-sm leading-4 ${colors[color]} ${className} ${color}`}
35
- class:active
36
- type="button"
37
- {disabled}
38
- data-testid={dataTestId}
39
- >
40
- {@render children?.()}
41
- </button>
32
+ <button
33
+ {onclick}
34
+ class={`control-button flex flex-1 items-center justify-center gap-2 rounded-md text-sm leading-4 ${colors[color]} ${className} ${color}`}
35
+ class:active
36
+ type="button"
37
+ {disabled}
38
+ data-testid={dataTestId}
39
+ >
40
+ {@render children?.()}
41
+ </button>
42
42
  </div>
43
43
 
44
44
  <style>
45
- .primary.active {
45
+ .primary.active {
46
46
  --tw-bg-opacity: 1;
47
47
  background-color: rgb(87 80 238 / var(--tw-bg-opacity, 1));
48
48
  --tw-text-opacity: 1;
49
49
  color: rgb(255 255 255 / var(--tw-text-opacity, 1))
50
50
  }
51
- .secondary.active {
51
+ .secondary.active {
52
52
  --tw-bg-opacity: 1;
53
53
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
54
54
  --tw-text-opacity: 1;
@@ -1,45 +1,45 @@
1
1
  <script module lang="ts">
2
- import { Icon } from '../icons';
3
- import SegmentedControlButtons from './SegmentedControlButtons.svelte';
4
- import { defineMeta } from '@storybook/addon-svelte-csf';
2
+ import { Icon } from '../icons';
3
+ import SegmentedControlButtons from './SegmentedControlButtons.svelte';
4
+ import { defineMeta } from '@storybook/addon-svelte-csf';
5
5
 
6
- const { Story } = defineMeta({
7
- component: SegmentedControlButtons,
8
- title: 'Design System/SegmentedControlButtons',
9
- tags: ['autodocs']
10
- });
6
+ const { Story } = defineMeta({
7
+ component: SegmentedControlButtons,
8
+ title: 'Design System/SegmentedControlButtons',
9
+ tags: ['autodocs'],
10
+ });
11
11
  </script>
12
12
 
13
13
  <Story name="Primary" asChild>
14
- <SegmentedControlButtons class="w-[350px]">
15
- {#snippet children({ ControlButton })}
16
- <ControlButton active><Icon iconName="Star" /> Low</ControlButton>
17
- <ControlButton><Icon iconName="Star" /> Medium</ControlButton>
18
- <ControlButton disabled><Icon iconName="Star" /> High</ControlButton>
19
- {/snippet}
20
- </SegmentedControlButtons>
14
+ <SegmentedControlButtons class="w-[350px]">
15
+ {#snippet children({ ControlButton })}
16
+ <ControlButton active><Icon iconName="Star" /> Low</ControlButton>
17
+ <ControlButton><Icon iconName="Star" /> Medium</ControlButton>
18
+ <ControlButton disabled><Icon iconName="Star" /> High</ControlButton>
19
+ {/snippet}
20
+ </SegmentedControlButtons>
21
21
  </Story>
22
22
  <Story name="Large" asChild>
23
- <SegmentedControlButtons size="lg" class="w-[350px]">
24
- {#snippet children({ ControlButton })}
25
- <ControlButton active><Icon iconName="Star" /> Low</ControlButton>
26
- <ControlButton><Icon iconName="Star" /> Medium</ControlButton>
27
- <ControlButton disabled><Icon iconName="Star" /> High</ControlButton>
28
- {/snippet}
29
- </SegmentedControlButtons>
23
+ <SegmentedControlButtons size="lg" class="w-[350px]">
24
+ {#snippet children({ ControlButton })}
25
+ <ControlButton active><Icon iconName="Star" /> Low</ControlButton>
26
+ <ControlButton><Icon iconName="Star" /> Medium</ControlButton>
27
+ <ControlButton disabled><Icon iconName="Star" /> High</ControlButton>
28
+ {/snippet}
29
+ </SegmentedControlButtons>
30
30
  </Story>
31
31
  <Story name="Secondary" asChild>
32
- <SegmentedControlButtons class="w-[350px]">
33
- {#snippet children({ ControlButton })}
34
- <ControlButton active color="secondary">
35
- <Icon iconName="Star" /> Low
36
- </ControlButton>
37
- <ControlButton color="secondary">
38
- <Icon iconName="Star" /> Medium
39
- </ControlButton>
40
- <ControlButton color="secondary">
41
- <Icon iconName="Star" /> High
42
- </ControlButton>
43
- {/snippet}
44
- </SegmentedControlButtons>
32
+ <SegmentedControlButtons class="w-[350px]">
33
+ {#snippet children({ ControlButton })}
34
+ <ControlButton active color="secondary">
35
+ <Icon iconName="Star" /> Low
36
+ </ControlButton>
37
+ <ControlButton color="secondary">
38
+ <Icon iconName="Star" /> Medium
39
+ </ControlButton>
40
+ <ControlButton color="secondary">
41
+ <Icon iconName="Star" /> High
42
+ </ControlButton>
43
+ {/snippet}
44
+ </SegmentedControlButtons>
45
45
  </Story>
@@ -1,21 +1,21 @@
1
1
  <script lang="ts">
2
- import type { Snippet } from 'svelte';
3
- import ControlButton from './ControlButton.svelte';
2
+ import type { Snippet } from 'svelte';
3
+ import ControlButton from './ControlButton.svelte';
4
4
 
5
- interface Props {
6
- class?: string;
7
- size?: 'md' | 'lg';
8
- children?: Snippet<[{ ControlButton: typeof ControlButton }]>;
9
- }
5
+ interface Props {
6
+ class?: string;
7
+ size?: 'md' | 'lg';
8
+ children?: Snippet<[{ ControlButton: typeof ControlButton }]>;
9
+ }
10
10
 
11
- let { class: className = '', size = 'md', children }: Props = $props();
11
+ let { class: className = '', size = 'md', children }: Props = $props();
12
12
 
13
- const sizes = {
14
- md: 'h-10 ',
15
- lg: 'h-16 [&>*>.control-button]:flex-col'
16
- };
13
+ const sizes = {
14
+ md: 'h-10 ',
15
+ lg: 'h-16 [&>*>.control-button]:flex-col',
16
+ };
17
17
  </script>
18
18
 
19
19
  <div class={`join flex gap-1 rounded-lg bg-neutral p-1 ${sizes[size]} ${size} ${className}`}>
20
- {@render children?.({ ControlButton })}
20
+ {@render children?.({ ControlButton })}
21
21
  </div>
@@ -1,113 +1,113 @@
1
1
  <script module lang="ts">
2
- import Select from './Select.svelte';
2
+ import Select from './Select.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: Select,
8
- title: 'Design System/Select',
9
- tags: ['autodocs']
10
- });
6
+ const { Story } = defineMeta({
7
+ component: Select,
8
+ title: 'Design System/Select',
9
+ tags: ['autodocs'],
10
+ });
11
11
 
12
- const items = [
13
- { value: '1', label: 'One', group: 'Group 1', description: 'Description 1' },
14
- { value: '2', label: 'Two', group: 'Group 1', description: 'Description 2' },
15
- { value: '3', label: 'Three', group: 'Group 2' },
16
- { value: '4', label: 'Four', group: 'Group 2' }
17
- ];
18
- let value: any = $state();
19
- let thisChanged = $state(false);
12
+ const items = [
13
+ { value: '1', label: 'One', group: 'Group 1', description: 'Description 1' },
14
+ { value: '2', label: 'Two', group: 'Group 1', description: 'Description 2' },
15
+ { value: '3', label: 'Three', group: 'Group 2' },
16
+ { value: '4', label: 'Four', group: 'Group 2' },
17
+ ];
18
+ let value: any = $state();
19
+ let thisChanged = $state(false);
20
20
 
21
- function handleInput(e: Event) {
22
- thisChanged = true;
23
- }
21
+ function handleInput(e: Event) {
22
+ thisChanged = true;
23
+ }
24
24
  </script>
25
25
 
26
26
  <Story name="Default" asChild>
27
- <div class="py-12">
28
- <Select listOpen {items} />
29
- </div>
27
+ <div class="py-12">
28
+ <Select listOpen {items} />
29
+ </div>
30
30
  </Story>
31
31
  <Story name="Grouped" asChild>
32
- <div class="py-12">
33
- <Select listOpen {items} withGroup />
34
- </div>
32
+ <div class="py-12">
33
+ <Select listOpen {items} withGroup />
34
+ </div>
35
35
  </Story>
36
36
 
37
37
  <Story name="DefaultValue" asChild>
38
- <div class="py-12">
39
- <Select listOpen {items} withGroup value={{ value: '1', label: 'One', group: 'Group 1' }} />
40
- </div>
38
+ <div class="py-12">
39
+ <Select listOpen {items} withGroup value={{ value: '1', label: 'One', group: 'Group 1' }} />
40
+ </div>
41
41
  </Story>
42
42
 
43
43
  <Story name="Disabled" asChild>
44
- <div class="py-12">
45
- <Select listOpen {items} disabled />
46
- </div>
44
+ <div class="py-12">
45
+ <Select listOpen {items} disabled />
46
+ </div>
47
47
  </Story>
48
48
  <Story name="Searchable" asChild>
49
- <div class="py-12">
50
- <Select listOpen {items} searchable />
51
- </div>
49
+ <div class="py-12">
50
+ <Select listOpen {items} searchable />
51
+ </div>
52
52
  </Story>
53
53
  <Story name="Open" asChild>
54
- <div class="py-12">
55
- <Select listOpen {items} />
56
- </div>
54
+ <div class="py-12">
55
+ <Select listOpen {items} />
56
+ </div>
57
57
  </Story>
58
58
  <Story name="Error" asChild>
59
- <div class="py-12">
60
- <Select listOpen {items} hasError />
61
- </div>
59
+ <div class="py-12">
60
+ <Select listOpen {items} hasError />
61
+ </div>
62
62
  </Story>
63
63
  <Story name="Placeholder" asChild>
64
- <div class="py-12">
65
- <Select listOpen {items} placeholder="Select a value" />
66
- </div>
64
+ <div class="py-12">
65
+ <Select listOpen {items} placeholder="Select a value" />
66
+ </div>
67
67
  </Story>
68
68
  <Story name="Multiple" asChild>
69
- <div class="py-12">
70
- <Select listOpen {items} multiple bind:value />
71
- </div>
69
+ <div class="py-12">
70
+ <Select listOpen {items} multiple bind:value />
71
+ </div>
72
72
  </Story>
73
73
 
74
74
  <Story name="Bind value input changed" asChild>
75
- <div class="py-12">
76
- <Select listOpen {items} bind:value on:input={handleInput} />
77
- {#if thisChanged}
78
- <p class="text-secondary">Wow you picked something from the dropdown 💪</p>{/if}
79
- </div>
75
+ <div class="py-12">
76
+ <Select listOpen {items} bind:value on:input={handleInput} />
77
+ {#if thisChanged}
78
+ <p class="text-secondary">Wow you picked something from the dropdown 💪</p>{/if}
79
+ </div>
80
80
  </Story>
81
81
 
82
82
  <Story name="Custom Item" asChild>
83
- <div class="py-12">
84
- <Select listOpen {items} value={{ value: '1', label: 'One', group: 'Group 1' }}>
85
- <!-- @migration-task: migrate this slot by hand, `custom-item` is an invalid identifier -->
86
- <div
87
- slot="custom-item"
88
- class="flex h-14 w-full items-center overflow-hidden whitespace-nowrap"
89
- let:item
90
- >
91
- <div class="flex flex-col">
92
- <p class="text-sm">
93
- {item.label}
94
- </p>
95
- <p class="max-w-20 text-xs text-secondary">
96
- {item.description} very very long long loooooong long description
97
- </p>
98
- </div>
99
- </div>
100
- </Select>
101
- </div>
83
+ <div class="py-12">
84
+ <Select listOpen {items} value={{ value: '1', label: 'One', group: 'Group 1' }}>
85
+ <!-- @migration-task: migrate this slot by hand, `custom-item` is an invalid identifier -->
86
+ <div
87
+ slot="custom-item"
88
+ class="flex h-14 w-full items-center overflow-hidden whitespace-nowrap"
89
+ let:item
90
+ >
91
+ <div class="flex flex-col">
92
+ <p class="text-sm">
93
+ {item.label}
94
+ </p>
95
+ <p class="max-w-20 text-xs text-secondary">
96
+ {item.description} very very long long loooooong long description
97
+ </p>
98
+ </div>
99
+ </div>
100
+ </Select>
101
+ </div>
102
102
  </Story>
103
103
 
104
104
  <Story name="Custom selection label" asChild>
105
- <div class="py-12">
106
- <Select {items} value={{ value: '1', label: 'One', group: 'Group 1' }}>
107
- <!-- @migration-task: migrate this slot by hand, `custom-selection` is an invalid identifier -->
108
- <div slot="custom-selection" let:selection>
109
- <p>💩{selection.label} poopoo💩</p>
110
- </div>
111
- </Select>
112
- </div>
105
+ <div class="py-12">
106
+ <Select {items} value={{ value: '1', label: 'One', group: 'Group 1' }}>
107
+ <!-- @migration-task: migrate this slot by hand, `custom-selection` is an invalid identifier -->
108
+ <div slot="custom-selection" let:selection>
109
+ <p>💩{selection.label} poopoo💩</p>
110
+ </div>
111
+ </Select>
112
+ </div>
113
113
  </Story>