@reshape-biotech/design-system 1.2.6 → 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 (159) 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.js +1 -1
  64. package/dist/components/image/Image.svelte +42 -42
  65. package/dist/components/input/Input.stories.svelte +55 -55
  66. package/dist/components/input/Input.svelte +121 -121
  67. package/dist/components/label/Label.stories.svelte +18 -18
  68. package/dist/components/label/Label.svelte +11 -11
  69. package/dist/components/list/List.stories.svelte +84 -84
  70. package/dist/components/list/List.svelte +20 -20
  71. package/dist/components/logo/Logo.stories.svelte +15 -15
  72. package/dist/components/logo/Logo.svelte +30 -30
  73. package/dist/components/manual-cfu-counter/ManualCFUCounter.stories.svelte +102 -102
  74. package/dist/components/manual-cfu-counter/ManualCFUCounter.svelte +557 -557
  75. package/dist/components/manual-cfu-counter/test/ManualCFUCounterTestWrapper.svelte +11 -11
  76. package/dist/components/markdown/Markdown.stories.svelte +10 -10
  77. package/dist/components/markdown/Markdown.svelte +6 -6
  78. package/dist/components/modal/Modal.stories.svelte +29 -29
  79. package/dist/components/modal/Modal.svelte +71 -71
  80. package/dist/components/multi-cfu-counter/MultiCFUCounter.stories.svelte +201 -201
  81. package/dist/components/multi-cfu-counter/MultiCFUCounter.svelte +606 -606
  82. package/dist/components/multi-cfu-counter/test/MultiCFUCounterTestWrapper.svelte +17 -17
  83. package/dist/components/notification-popup/NotificationPopup.stories.svelte +18 -18
  84. package/dist/components/notification-popup/NotificationPopup.svelte +26 -26
  85. package/dist/components/notifications/Notifications.stories.svelte +101 -101
  86. package/dist/components/notifications/Notifications.svelte +9 -9
  87. package/dist/components/pill/Pill.stories.svelte +8 -8
  88. package/dist/components/pill/Pill.svelte +27 -27
  89. package/dist/components/progress-circle/ProgressCircle.stories.svelte +8 -8
  90. package/dist/components/progress-circle/ProgressCircle.svelte +54 -54
  91. package/dist/components/required-status-indicator/RequiredStatusIndicator.stories.svelte +18 -18
  92. package/dist/components/required-status-indicator/RequiredStatusIndicator.svelte +14 -14
  93. package/dist/components/segmented-control-buttons/ControlButton.svelte +36 -36
  94. package/dist/components/segmented-control-buttons/SegmentedControlButtons.stories.svelte +35 -35
  95. package/dist/components/segmented-control-buttons/SegmentedControlButtons.svelte +13 -13
  96. package/dist/components/select/Select.stories.svelte +77 -77
  97. package/dist/components/select/Select.svelte +114 -114
  98. package/dist/components/select-new/Select.stories.svelte +188 -188
  99. package/dist/components/select-new/components/Group.svelte +17 -17
  100. package/dist/components/select-new/components/MultiSelectTrigger.svelte +57 -57
  101. package/dist/components/select-new/components/SelectContent.svelte +22 -22
  102. package/dist/components/select-new/components/SelectGroupHeading.svelte +10 -10
  103. package/dist/components/select-new/components/SelectItem.svelte +25 -25
  104. package/dist/components/select-new/components/SelectTrigger.svelte +38 -38
  105. package/dist/components/sjsf-wrappers/SjsfNumberInputWrapper.svelte +76 -76
  106. package/dist/components/sjsf-wrappers/SjsfNumberInputWrapper.svelte.d.ts +1 -1
  107. package/dist/components/sjsf-wrappers/SjsfTextInputWrapper.svelte +53 -53
  108. package/dist/components/sjsf-wrappers/SjsfTextInputWrapper.svelte.d.ts +1 -1
  109. package/dist/components/sjsf-wrappers/sjsfCustomTheme.js +1 -1
  110. package/dist/components/skeleton-loader/SkeletonLoader.stories.svelte +32 -32
  111. package/dist/components/skeleton-loader/SkeletonLoader.svelte +10 -10
  112. package/dist/components/skeleton-loader/StatcardSkeleton.svelte +9 -9
  113. package/dist/components/skeleton-loader/components/Skeleton.svelte +7 -7
  114. package/dist/components/skeleton-loader/components/SkeletonImage.svelte +12 -12
  115. package/dist/components/slider/Slider.stories.svelte +23 -23
  116. package/dist/components/slider/Slider.svelte +107 -107
  117. package/dist/components/spinner/Spinner.stories.svelte +8 -8
  118. package/dist/components/spinner/Spinner.svelte +18 -18
  119. package/dist/components/stat-card/StatCard.stories.svelte +26 -26
  120. package/dist/components/stat-card/StatCard.svelte +128 -128
  121. package/dist/components/status-badge/StatusBadge.stories.svelte +365 -365
  122. package/dist/components/status-badge/StatusBadge.svelte +54 -54
  123. package/dist/components/stepper/Stepper.stories.svelte +219 -219
  124. package/dist/components/stepper/components/stepper-root.svelte +12 -12
  125. package/dist/components/stepper/components/stepper-step.svelte +83 -83
  126. package/dist/components/table/Table.stories.svelte +87 -87
  127. package/dist/components/table/Table.svelte +32 -32
  128. package/dist/components/table/components/TBody.svelte +7 -7
  129. package/dist/components/table/components/THead.svelte +7 -7
  130. package/dist/components/table/components/Td.svelte +8 -8
  131. package/dist/components/table/components/Th.svelte +8 -8
  132. package/dist/components/table/components/Tr.svelte +11 -11
  133. package/dist/components/tabs/Tabs.stories.svelte +20 -20
  134. package/dist/components/tabs/Tabs.svelte +8 -8
  135. package/dist/components/tabs/components/Content.svelte +8 -8
  136. package/dist/components/tabs/components/Tab.svelte +14 -14
  137. package/dist/components/tabs/components/Tabs.svelte +7 -7
  138. package/dist/components/tag/Tag.stories.svelte +57 -57
  139. package/dist/components/tag/Tag.svelte +95 -95
  140. package/dist/components/textarea/Textarea.stories.svelte +70 -70
  141. package/dist/components/textarea/Textarea.svelte +76 -76
  142. package/dist/components/toast/Toast.stories.svelte +204 -204
  143. package/dist/components/toast/Toast.svelte +53 -53
  144. package/dist/components/toggle/Toggle.stories.svelte +9 -9
  145. package/dist/components/toggle/Toggle.svelte +53 -53
  146. package/dist/components/toggle-icon-button/ToggleIconButton.stories.svelte +152 -152
  147. package/dist/components/toggle-icon-button/ToggleIconButton.svelte +99 -99
  148. package/dist/components/tooltip/Tooltip.stories.svelte +105 -105
  149. package/dist/components/tooltip/Tooltip.svelte +26 -26
  150. package/dist/fonts/index.js +1 -1
  151. package/dist/notifications.d.ts +1 -4
  152. package/dist/notifications.js +1 -1
  153. package/dist/tailwind-safelist.js +406 -406
  154. package/dist/tailwind.preset.js +10 -10
  155. package/dist/tokens/colors.js +18 -18
  156. package/dist/tokens/typography.js +6 -6
  157. package/dist/tokens.js +19 -19
  158. package/dist/types/fonts.d.ts +2 -2
  159. package/package.json +199 -198
@@ -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>