@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,39 +1,39 @@
1
1
  <script lang="ts">
2
- type Props = {
3
- size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
4
- color?: 'default' | 'white';
5
- };
2
+ type Props = {
3
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
4
+ color?: 'default' | 'white';
5
+ };
6
6
 
7
- let { size = 'md', color = 'default' }: Props = $props();
7
+ let { size = 'md', color = 'default' }: Props = $props();
8
8
 
9
- const colorMap = {
10
- default: '#ff7a00',
11
- white: '#ffffff'
12
- };
9
+ const colorMap = {
10
+ default: '#ff7a00',
11
+ white: '#ffffff',
12
+ };
13
13
 
14
- const sizeMap = {
15
- xs: 16,
16
- sm: 20,
17
- md: 24,
18
- lg: 32,
19
- xl: 40
20
- };
14
+ const sizeMap = {
15
+ xs: 16,
16
+ sm: 20,
17
+ md: 24,
18
+ lg: 32,
19
+ xl: 40,
20
+ };
21
21
  </script>
22
22
 
23
23
  <svg
24
- width={sizeMap[size]}
25
- height={sizeMap[size]}
26
- viewBox={`0 0 24 24`}
27
- fill={colorMap[color]}
28
- xmlns="http://www.w3.org/2000/svg"
24
+ width={sizeMap[size]}
25
+ height={sizeMap[size]}
26
+ viewBox={`0 0 24 24`}
27
+ fill={colorMap[color]}
28
+ xmlns="http://www.w3.org/2000/svg"
29
29
  >
30
- <path
31
- d="M5.25 10.5C2.3511 10.5 0 8.1489 0 5.25C0 2.3511 2.3511 0 5.25 0C8.1489 0 10.5 2.3511 10.5 5.25C10.5034 8.1489 8.1523 10.5 5.25 10.5Z"
32
- />
33
- <path
34
- d="M18.75 10.5C15.8511 10.5 13.5 8.1489 13.5 5.25C13.5 2.3511 15.8511 0 18.75 0C21.6489 0 24 2.3511 24 5.25C24.0034 8.1489 21.6523 10.5 18.75 10.5Z"
35
- />
36
- <path
37
- d="M0 18.75C0 15.8511 2.3511 13.5 5.25 13.5C8.1489 13.5 10.5 15.8511 10.5 18.75C10.5 21.6489 8.1489 24 5.25 24C2.3511 24 0 21.6489 0 18.75Z"
38
- />
30
+ <path
31
+ d="M5.25 10.5C2.3511 10.5 0 8.1489 0 5.25C0 2.3511 2.3511 0 5.25 0C8.1489 0 10.5 2.3511 10.5 5.25C10.5034 8.1489 8.1523 10.5 5.25 10.5Z"
32
+ />
33
+ <path
34
+ d="M18.75 10.5C15.8511 10.5 13.5 8.1489 13.5 5.25C13.5 2.3511 15.8511 0 18.75 0C21.6489 0 24 2.3511 24 5.25C24.0034 8.1489 21.6523 10.5 18.75 10.5Z"
35
+ />
36
+ <path
37
+ d="M0 18.75C0 15.8511 2.3511 13.5 5.25 13.5C8.1489 13.5 10.5 15.8511 10.5 18.75C10.5 21.6489 8.1489 24 5.25 24C2.3511 24 0 21.6489 0 18.75Z"
38
+ />
39
39
  </svg>
@@ -1,125 +1,125 @@
1
1
  <script module lang="ts">
2
- import { defineMeta } from '@storybook/addon-svelte-csf';
3
- import ManualCFUCounter from './ManualCFUCounter.svelte';
4
- const { Story } = defineMeta({
5
- component: ManualCFUCounter,
6
- title: 'Design System/ManualCFUCounter',
7
- tags: ['autodocs'],
8
- args: {
9
- imageUrl: '/imgs/ris.jpg',
10
- marks: [],
11
- disabled: false,
12
- hideMarkers: false
13
- },
14
- argTypes: {
15
- imageUrl: {
16
- control: 'text',
17
- description: 'URL of the image to display'
18
- },
19
- marks: {
20
- control: 'object',
21
- description: 'Array of marker coordinates. Bindable for two-way data flow.'
22
- },
23
- onclick: {
24
- action: 'clicked',
25
- description: 'Event handler for when a marker is added'
26
- },
27
- disabled: {
28
- control: 'boolean',
29
- description: 'Disables interaction with the counter'
30
- },
31
- hideMarkers: {
32
- control: 'boolean',
33
- description: 'Hides the markers and prevents new ones from being added'
34
- }
35
- }
36
- });
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import ManualCFUCounter from './ManualCFUCounter.svelte';
4
+ const { Story } = defineMeta({
5
+ component: ManualCFUCounter,
6
+ title: 'Design System/ManualCFUCounter',
7
+ tags: ['autodocs'],
8
+ args: {
9
+ imageUrl: '/imgs/ris.jpg',
10
+ marks: [],
11
+ disabled: false,
12
+ hideMarkers: false,
13
+ },
14
+ argTypes: {
15
+ imageUrl: {
16
+ control: 'text',
17
+ description: 'URL of the image to display',
18
+ },
19
+ marks: {
20
+ control: 'object',
21
+ description: 'Array of marker coordinates. Bindable for two-way data flow.',
22
+ },
23
+ onclick: {
24
+ action: 'clicked',
25
+ description: 'Event handler for when a marker is added',
26
+ },
27
+ disabled: {
28
+ control: 'boolean',
29
+ description: 'Disables interaction with the counter',
30
+ },
31
+ hideMarkers: {
32
+ control: 'boolean',
33
+ description: 'Hides the markers and prevents new ones from being added',
34
+ },
35
+ },
36
+ });
37
37
 
38
- const largeImage = '/imgs/ris.jpg';
38
+ const largeImage = '/imgs/ris.jpg';
39
39
 
40
- function handleUpdate(event: MouseEvent, marks: Array<{ x: number; y: number }>) {
41
- console.log('Marker count:', marks.length);
42
- console.log('Marker positions:', marks);
43
- }
40
+ function handleUpdate(event: MouseEvent, marks: Array<{ x: number; y: number }>) {
41
+ console.log('Marker count:', marks.length);
42
+ console.log('Marker positions:', marks);
43
+ }
44
44
  </script>
45
45
 
46
46
  <script lang="ts">
47
- // For two-way binding examples
48
- let boundMarksArray = $state<Array<{ x: number; y: number }>>([]);
47
+ // For two-way binding examples
48
+ let boundMarksArray = $state<Array<{ x: number; y: number }>>([]);
49
49
 
50
- // For initial markers example
51
- let presetMarks = [
52
- { x: 100, y: 100 },
53
- { x: 200, y: 200 },
54
- { x: 300, y: 300 }
55
- ];
50
+ // For initial markers example
51
+ let presetMarks = [
52
+ { x: 100, y: 100 },
53
+ { x: 200, y: 200 },
54
+ { x: 300, y: 300 },
55
+ ];
56
56
  </script>
57
57
 
58
58
  <Story name="Default" asChild>
59
- <div class="p-4">
60
- <h3 class="mb-4 text-lg font-semibold">Manual CFU Counter</h3>
61
- <p class="mb-4 text-sm text-secondary">
62
- Click to add markers. Pan by clicking and dragging. Zoom with the mouse wheel.
63
- </p>
64
- <div class="h-[600px] rounded-lg border border-static p-4">
65
- <ManualCFUCounter imageUrl={largeImage} onclick={handleUpdate} />
66
- </div>
67
- </div>
59
+ <div class="p-4">
60
+ <h3 class="mb-4 text-lg font-semibold">Manual CFU Counter</h3>
61
+ <p class="mb-4 text-sm text-secondary">
62
+ Click to add markers. Pan by clicking and dragging. Zoom with the mouse wheel.
63
+ </p>
64
+ <div class="h-[600px] rounded-lg border border-static p-4">
65
+ <ManualCFUCounter imageUrl={largeImage} onclick={handleUpdate} />
66
+ </div>
67
+ </div>
68
68
  </Story>
69
69
 
70
70
  <Story name="With Initial Data (marks prop)" asChild>
71
- <div class="p-4">
72
- <h3 class="mb-4 text-lg font-semibold">Pre-populated Markers (via marks prop)</h3>
73
- <p class="mb-4 text-sm text-secondary">
74
- This example starts with 3 pre-defined markers passed via the `marks` prop.
75
- </p>
76
- <div class="h-[600px] rounded-lg border border-static p-4">
77
- <ManualCFUCounter imageUrl={largeImage} marks={presetMarks} onclick={handleUpdate} />
78
- </div>
79
- </div>
71
+ <div class="p-4">
72
+ <h3 class="mb-4 text-lg font-semibold">Pre-populated Markers (via marks prop)</h3>
73
+ <p class="mb-4 text-sm text-secondary">
74
+ This example starts with 3 pre-defined markers passed via the `marks` prop.
75
+ </p>
76
+ <div class="h-[600px] rounded-lg border border-static p-4">
77
+ <ManualCFUCounter imageUrl={largeImage} marks={presetMarks} onclick={handleUpdate} />
78
+ </div>
79
+ </div>
80
80
  </Story>
81
81
 
82
82
  <Story name="Two-way Binding (bind:marks)" asChild>
83
- <div class="p-4">
84
- <h3 class="mb-4 text-lg font-semibold">Two-way Binding</h3>
85
- <p class="mb-4 text-sm text-secondary">
86
- This example uses `bind:marks` to synchronize state between the story and the component. Click
87
- inside the counter, then check the count below.
88
- </p>
89
- <p class="mb-2 text-sm">Marks count in story state: {boundMarksArray.length}</p>
90
- <div class="h-[600px] rounded-lg border border-static p-4">
91
- <ManualCFUCounter imageUrl={largeImage} bind:marks={boundMarksArray} onclick={handleUpdate} />
92
- </div>
93
- <details class="mt-2 text-sm">
94
- <summary>Current boundMarksArray:</summary>
95
- <pre>{JSON.stringify(boundMarksArray, null, 2)}</pre>
96
- </details>
97
- </div>
83
+ <div class="p-4">
84
+ <h3 class="mb-4 text-lg font-semibold">Two-way Binding</h3>
85
+ <p class="mb-4 text-sm text-secondary">
86
+ This example uses `bind:marks` to synchronize state between the story and the component. Click
87
+ inside the counter, then check the count below.
88
+ </p>
89
+ <p class="mb-2 text-sm">Marks count in story state: {boundMarksArray.length}</p>
90
+ <div class="h-[600px] rounded-lg border border-static p-4">
91
+ <ManualCFUCounter imageUrl={largeImage} bind:marks={boundMarksArray} onclick={handleUpdate} />
92
+ </div>
93
+ <details class="mt-2 text-sm">
94
+ <summary>Current boundMarksArray:</summary>
95
+ <pre>{JSON.stringify(boundMarksArray, null, 2)}</pre>
96
+ </details>
97
+ </div>
98
98
  </Story>
99
99
 
100
100
  <Story name="Hide Markers" asChild>
101
- <div class="p-4">
102
- <h3 class="mb-4 text-lg font-semibold">Without Markers</h3>
103
- <p class="mb-4 text-sm text-secondary">
104
- In this mode, markers are hidden and you cannot add new ones.
105
- </p>
106
- <div class="h-[600px] rounded-lg border border-static p-4">
107
- <ManualCFUCounter
108
- imageUrl={largeImage}
109
- onclick={handleUpdate}
110
- hideMarkers
111
- marks={presetMarks}
112
- />
113
- </div>
114
- </div>
101
+ <div class="p-4">
102
+ <h3 class="mb-4 text-lg font-semibold">Without Markers</h3>
103
+ <p class="mb-4 text-sm text-secondary">
104
+ In this mode, markers are hidden and you cannot add new ones.
105
+ </p>
106
+ <div class="h-[600px] rounded-lg border border-static p-4">
107
+ <ManualCFUCounter
108
+ imageUrl={largeImage}
109
+ onclick={handleUpdate}
110
+ hideMarkers
111
+ marks={presetMarks}
112
+ />
113
+ </div>
114
+ </div>
115
115
  </Story>
116
116
 
117
117
  <Story name="Disabled" asChild>
118
- <div class="p-4">
119
- <h3 class="mb-4 text-lg font-semibold">Disabled Counter</h3>
120
- <p class="mb-4 text-sm text-secondary">No interactions are possible in disabled mode.</p>
121
- <div class="h-[600px] rounded-lg border border-static p-4">
122
- <ManualCFUCounter imageUrl={largeImage} onclick={handleUpdate} disabled />
123
- </div>
124
- </div>
118
+ <div class="p-4">
119
+ <h3 class="mb-4 text-lg font-semibold">Disabled Counter</h3>
120
+ <p class="mb-4 text-sm text-secondary">No interactions are possible in disabled mode.</p>
121
+ <div class="h-[600px] rounded-lg border border-static p-4">
122
+ <ManualCFUCounter imageUrl={largeImage} onclick={handleUpdate} disabled />
123
+ </div>
124
+ </div>
125
125
  </Story>