@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,100 +1,100 @@
1
1
  <script lang="ts">
2
- import type { Snippet } from 'svelte';
3
- import { getContext } from 'svelte';
4
- import { Icon } from '../../icons/';
5
- import type { StepState } from '../';
2
+ import type { Snippet } from 'svelte';
3
+ import { getContext } from 'svelte';
4
+ import { Icon } from '../../icons/';
5
+ import type { StepState } from '../';
6
6
 
7
- interface Props {
8
- children: Snippet;
9
- state?: StepState;
10
- stepNumber: string;
11
- class?: string;
12
- }
7
+ interface Props {
8
+ children: Snippet;
9
+ state?: StepState;
10
+ stepNumber: string;
11
+ class?: string;
12
+ }
13
13
 
14
- let { children, state: stateProp, stepNumber, class: className = '' }: Props = $props();
15
- const id = $props.id();
14
+ let { children, state: stateProp, stepNumber, class: className = '' }: Props = $props();
15
+ const id = $props.id();
16
16
 
17
- type StepperContext = {
18
- currentStep: string;
19
- };
17
+ type StepperContext = {
18
+ currentStep: string;
19
+ };
20
20
 
21
- const context = getContext<StepperContext | undefined>('STEPPER_CONTEXT');
21
+ const context = getContext<StepperContext | undefined>('STEPPER_CONTEXT');
22
22
 
23
- const currentState = $derived.by(() => {
24
- if (context && context.currentStep !== undefined) {
25
- if (context.currentStep > stepNumber) {
26
- return 'completed';
27
- } else if (context.currentStep === stepNumber) {
28
- return 'active';
29
- } else {
30
- return 'future';
31
- }
32
- }
33
- return stateProp ?? 'future';
34
- });
23
+ const currentState = $derived.by(() => {
24
+ if (context && context.currentStep !== undefined) {
25
+ if (context.currentStep > stepNumber) {
26
+ return 'completed';
27
+ } else if (context.currentStep === stepNumber) {
28
+ return 'active';
29
+ } else {
30
+ return 'future';
31
+ }
32
+ }
33
+ return stateProp ?? 'future';
34
+ });
35
35
 
36
- const stateVariants = {
37
- completed: {
38
- container: 'bg-transparent text-primary-inverse',
39
- iconContainer: 'bg-primary ',
40
- iconColor: 'text-surface',
41
- labelColor: 'text-primary',
42
- showIcon: true
43
- },
44
- active: {
45
- container: 'bg-accent text-primary-inverse',
46
- iconContainer: 'bg-primary ',
47
- iconColor: 'text-surface',
48
- labelColor: 'text-primary',
49
- showIcon: false
50
- },
51
- future: {
52
- container: 'bg-transparent',
53
- iconContainer: 'bg-transparent border border-interactive',
54
- iconColor: 'text-secondary',
55
- labelColor: 'text-secondary',
56
- showIcon: false
57
- }
58
- };
36
+ const stateVariants = {
37
+ completed: {
38
+ container: 'bg-transparent text-primary-inverse',
39
+ iconContainer: 'bg-primary ',
40
+ iconColor: 'text-surface',
41
+ labelColor: 'text-primary',
42
+ showIcon: true,
43
+ },
44
+ active: {
45
+ container: 'bg-accent text-primary-inverse',
46
+ iconContainer: 'bg-primary ',
47
+ iconColor: 'text-surface',
48
+ labelColor: 'text-primary',
49
+ showIcon: false,
50
+ },
51
+ future: {
52
+ container: 'bg-transparent',
53
+ iconContainer: 'bg-transparent border border-interactive',
54
+ iconColor: 'text-secondary',
55
+ labelColor: 'text-secondary',
56
+ showIcon: false,
57
+ },
58
+ };
59
59
 
60
- const variant = $derived(stateVariants[currentState]);
60
+ const variant = $derived(stateVariants[currentState]);
61
61
  </script>
62
62
 
63
63
  <div
64
- {id}
65
- class="relative flex items-center gap-3 rounded-lg px-2 py-3 {variant.container} {className}"
66
- role="progressbar"
67
- aria-valuenow={currentState === 'completed' ? 100 : currentState === 'active' ? 50 : 0}
68
- aria-valuemin="0"
69
- aria-valuemax="100"
70
- aria-label="Step {stepNumber}"
64
+ {id}
65
+ class="relative flex items-center gap-3 rounded-lg px-2 py-3 {variant.container} {className}"
66
+ role="progressbar"
67
+ aria-valuenow={currentState === 'completed' ? 100 : currentState === 'active' ? 50 : 0}
68
+ aria-valuemin="0"
69
+ aria-valuemax="100"
70
+ aria-label="Step {stepNumber}"
71
71
  >
72
- <div
73
- class="flex h-6 w-6 items-center justify-center rounded-md {variant.iconContainer}"
74
- aria-hidden="true"
75
- >
76
- {#if variant.showIcon}
77
- <Icon iconName="Check" class="h-3 w-3 {variant.iconColor}" />
78
- {:else}
79
- <span class="text-xs font-medium leading-none {variant.iconColor}">
80
- {stepNumber}
81
- </span>
82
- {/if}
83
- </div>
72
+ <div
73
+ class="flex h-6 w-6 items-center justify-center rounded-md {variant.iconContainer}"
74
+ aria-hidden="true"
75
+ >
76
+ {#if variant.showIcon}
77
+ <Icon iconName="Check" class="h-3 w-3 {variant.iconColor}" />
78
+ {:else}
79
+ <span class="text-xs font-medium leading-none {variant.iconColor}">
80
+ {stepNumber}
81
+ </span>
82
+ {/if}
83
+ </div>
84
84
 
85
- <span class="text-sm font-medium leading-tight {variant.labelColor} flex-1 truncate">
86
- {@render children()}
87
- </span>
85
+ <span class="text-sm font-medium leading-tight {variant.labelColor} flex-1 truncate">
86
+ {@render children()}
87
+ </span>
88
88
  </div>
89
89
 
90
90
  <style>
91
- div[role='progressbar']:not(:last-child)::after {
92
- content: '';
93
- position: absolute;
94
- width: 1px;
95
- background-color: #12192a0A;
96
- left: calc(0.5rem + 1.5rem / 2 - 1px / 2);
97
- top: 2.25rem;
98
- height: 2.25rem;
99
- }
91
+ div[role='progressbar']:not(:last-child)::after {
92
+ content: '';
93
+ position: absolute;
94
+ width: 1px;
95
+ background-color: #12192a0A;
96
+ left: calc(0.5rem + 1.5rem / 2 - 1px / 2);
97
+ top: 2.25rem;
98
+ height: 2.25rem;
99
+ }
100
100
  </style>
@@ -1,94 +1,94 @@
1
1
  <script module lang="ts">
2
- import Table from './Table.svelte';
2
+ import Table from './Table.svelte';
3
3
 
4
- import { defineMeta } from '@storybook/addon-svelte-csf';
5
- const { Story } = defineMeta({
6
- component: Table,
7
- title: 'Design System/Table',
8
- tags: ['autodocs']
9
- });
10
- import IconButton from '../icon-button/IconButton.svelte';
11
- import { Icon } from '../icons';
4
+ import { defineMeta } from '@storybook/addon-svelte-csf';
5
+ const { Story } = defineMeta({
6
+ component: Table,
7
+ title: 'Design System/Table',
8
+ tags: ['autodocs'],
9
+ });
10
+ import IconButton from '../icon-button/IconButton.svelte';
11
+ import { Icon } from '../icons';
12
12
 
13
- export const users = [
14
- {
15
- name: 'John Doe',
16
- age: 25,
17
- role: 'admin'
18
- },
19
- {
20
- name: 'Jane Smith',
21
- age: 32,
22
- role: 'member'
23
- },
24
- {
25
- name: 'Michael Johnson',
26
- age: 41,
27
- role: 'deactivated'
28
- },
29
- {
30
- name: 'Emily Brown',
31
- age: 28,
32
- role: 'member'
33
- },
34
- {
35
- name: 'David Lee',
36
- age: 37,
37
- role: 'admin'
38
- },
39
- {
40
- name: 'Sarah Wilson',
41
- age: 29,
42
- role: 'member'
43
- },
44
- {
45
- name: 'Robert Taylor',
46
- age: 45,
47
- role: 'deactivated'
48
- },
49
- {
50
- name: 'Lisa Anderson',
51
- age: 33,
52
- role: 'member'
53
- },
54
- {
55
- name: 'James Martinez',
56
- age: 39,
57
- role: 'admin'
58
- },
59
- {
60
- name: 'Jennifer Garcia',
61
- age: 31,
62
- role: 'deactivated'
63
- }
64
- ];
13
+ export const users = [
14
+ {
15
+ name: 'John Doe',
16
+ age: 25,
17
+ role: 'admin',
18
+ },
19
+ {
20
+ name: 'Jane Smith',
21
+ age: 32,
22
+ role: 'member',
23
+ },
24
+ {
25
+ name: 'Michael Johnson',
26
+ age: 41,
27
+ role: 'deactivated',
28
+ },
29
+ {
30
+ name: 'Emily Brown',
31
+ age: 28,
32
+ role: 'member',
33
+ },
34
+ {
35
+ name: 'David Lee',
36
+ age: 37,
37
+ role: 'admin',
38
+ },
39
+ {
40
+ name: 'Sarah Wilson',
41
+ age: 29,
42
+ role: 'member',
43
+ },
44
+ {
45
+ name: 'Robert Taylor',
46
+ age: 45,
47
+ role: 'deactivated',
48
+ },
49
+ {
50
+ name: 'Lisa Anderson',
51
+ age: 33,
52
+ role: 'member',
53
+ },
54
+ {
55
+ name: 'James Martinez',
56
+ age: 39,
57
+ role: 'admin',
58
+ },
59
+ {
60
+ name: 'Jennifer Garcia',
61
+ age: 31,
62
+ role: 'deactivated',
63
+ },
64
+ ];
65
65
  </script>
66
66
 
67
67
  <Story name="Base" asChild>
68
- <Table>
69
- {#snippet children({ THead, TBody, Tr, Th, Td })}
70
- <THead>
71
- <Tr>
72
- <Th>Name</Th>
73
- <Th>Age</Th>
74
- <Th class="w-[100px]">Role</Th>
75
- <Th class="w-6"></Th>
76
- </Tr>
77
- </THead>
78
- <TBody>
79
- {#each users as user}
80
- <Tr disabled={user.role === 'deactivated'}>
81
- <Td>{user.name}</Td>
82
- <Td>{user.age}</Td>
83
- <Td>{user.role}</Td>
84
- <Td>
85
- <IconButton disabled={user.role === 'deactivated'}>
86
- <Icon iconName="Phone" />
87
- </IconButton>
88
- </Td>
89
- </Tr>
90
- {/each}
91
- </TBody>
92
- {/snippet}
93
- </Table>
68
+ <Table>
69
+ {#snippet children({ THead, TBody, Tr, Th, Td })}
70
+ <THead>
71
+ <Tr>
72
+ <Th>Name</Th>
73
+ <Th>Age</Th>
74
+ <Th class="w-[100px]">Role</Th>
75
+ <Th class="w-6"></Th>
76
+ </Tr>
77
+ </THead>
78
+ <TBody>
79
+ {#each users as user}
80
+ <Tr disabled={user.role === 'deactivated'}>
81
+ <Td>{user.name}</Td>
82
+ <Td>{user.age}</Td>
83
+ <Td>{user.role}</Td>
84
+ <Td>
85
+ <IconButton disabled={user.role === 'deactivated'}>
86
+ <Icon iconName="Phone" />
87
+ </IconButton>
88
+ </Td>
89
+ </Tr>
90
+ {/each}
91
+ </TBody>
92
+ {/snippet}
93
+ </Table>
94
94
  </Story>
@@ -1,44 +1,44 @@
1
1
  <script lang="ts">
2
- import type { Snippet } from 'svelte';
3
- import Td from './components/Td.svelte';
4
- import Th from './components/Th.svelte';
5
- import Tr from './components/Tr.svelte';
6
- import THead from './components/THead.svelte';
7
- import TBody from './components/TBody.svelte';
2
+ import type { Snippet } from 'svelte';
3
+ import Td from './components/Td.svelte';
4
+ import Th from './components/Th.svelte';
5
+ import Tr from './components/Tr.svelte';
6
+ import THead from './components/THead.svelte';
7
+ import TBody from './components/TBody.svelte';
8
8
 
9
- interface Props {
10
- tableLayout?: 'fixed' | 'auto';
11
- children?: Snippet<
12
- [
13
- {
14
- THead: typeof THead;
15
- TBody: typeof TBody;
16
- Tr: typeof Tr;
17
- Th: typeof Th;
18
- Td: typeof Td;
19
- }
20
- ]
21
- >;
22
- }
9
+ interface Props {
10
+ tableLayout?: 'fixed' | 'auto';
11
+ children?: Snippet<
12
+ [
13
+ {
14
+ THead: typeof THead;
15
+ TBody: typeof TBody;
16
+ Tr: typeof Tr;
17
+ Th: typeof Th;
18
+ Td: typeof Td;
19
+ },
20
+ ]
21
+ >;
22
+ }
23
23
 
24
- let { tableLayout = 'fixed', children }: Props = $props();
25
- const C = {
26
- THead: THead,
27
- TBody: TBody,
28
- Tr: Tr,
29
- Th: Th,
30
- Td: Td
31
- };
24
+ let { tableLayout = 'fixed', children }: Props = $props();
25
+ const C = {
26
+ THead: THead,
27
+ TBody: TBody,
28
+ Tr: Tr,
29
+ Th: Th,
30
+ Td: Td,
31
+ };
32
32
  </script>
33
33
 
34
34
  <div class="w-full rounded-lg border border-static bg-surface px-5 py-2 shadow-container">
35
- <table class={`w-full table-fixed sm:table-auto xl:table-${tableLayout}`}>
36
- {@render children?.({ THead: THead, TBody: TBody, Tr: Tr, Th: Th, Td: Td })}
37
- </table>
35
+ <table class={`w-full table-fixed sm:table-auto xl:table-${tableLayout}`}>
36
+ {@render children?.({ THead: THead, TBody: TBody, Tr: Tr, Th: Th, Td: Td })}
37
+ </table>
38
38
  </div>
39
39
 
40
40
  <style>
41
- :global(tr) {
41
+ :global(tr) {
42
42
  border-bottom-width: 1px
43
43
  }
44
44
  :global(tr):last-child {
@@ -1,14 +1,14 @@
1
1
  <script lang="ts">
2
- import type { Snippet } from 'svelte';
2
+ import type { Snippet } from 'svelte';
3
3
 
4
- interface Props {
5
- class?: string;
6
- children?: Snippet;
7
- }
4
+ interface Props {
5
+ class?: string;
6
+ children?: Snippet;
7
+ }
8
8
 
9
- let { class: className = '', children }: Props = $props();
9
+ let { class: className = '', children }: Props = $props();
10
10
  </script>
11
11
 
12
12
  <tbody class={`${className}`}>
13
- {@render children?.()}
13
+ {@render children?.()}
14
14
  </tbody>
@@ -1,14 +1,14 @@
1
1
  <script lang="ts">
2
- import type { Snippet } from 'svelte';
2
+ import type { Snippet } from 'svelte';
3
3
 
4
- interface Props {
5
- class?: string;
6
- children?: Snippet;
7
- }
4
+ interface Props {
5
+ class?: string;
6
+ children?: Snippet;
7
+ }
8
8
 
9
- let { class: className = '', children }: Props = $props();
9
+ let { class: className = '', children }: Props = $props();
10
10
  </script>
11
11
 
12
12
  <thead class={`${className}`}>
13
- {@render children?.()}
13
+ {@render children?.()}
14
14
  </thead>
@@ -1,15 +1,15 @@
1
1
  <script lang="ts">
2
- import type { Snippet } from 'svelte';
2
+ import type { Snippet } from 'svelte';
3
3
 
4
- interface Props {
5
- dataTestId?: string;
6
- align?: 'left' | 'right';
7
- children?: Snippet;
8
- }
4
+ interface Props {
5
+ dataTestId?: string;
6
+ align?: 'left' | 'right';
7
+ children?: Snippet;
8
+ }
9
9
 
10
- let { dataTestId = '', align = 'left', children }: Props = $props();
10
+ let { dataTestId = '', align = 'left', children }: Props = $props();
11
11
  </script>
12
12
 
13
13
  <td data-testid={dataTestId} class={`text-${align} text-sm font-normal`}>
14
- {@render children?.()}
14
+ {@render children?.()}
15
15
  </td>
@@ -1,15 +1,15 @@
1
1
  <script lang="ts">
2
- import type { Width } from '../../../tailwind';
3
- import type { Snippet } from 'svelte';
2
+ import type { Width } from '../../../tailwind';
3
+ import type { Snippet } from 'svelte';
4
4
 
5
- interface Props {
6
- class?: Width | '';
7
- children?: Snippet;
8
- }
5
+ interface Props {
6
+ class?: Width | '';
7
+ children?: Snippet;
8
+ }
9
9
 
10
- let { class: className = '', children }: Props = $props();
10
+ let { class: className = '', children }: Props = $props();
11
11
  </script>
12
12
 
13
13
  <th class={`text-left text-xs font-medium text-tertiary ${className}`}>
14
- {@render children?.()}
14
+ {@render children?.()}
15
15
  </th>
@@ -1,32 +1,32 @@
1
1
  <script lang="ts">
2
- import type { Snippet } from 'svelte';
2
+ import type { Snippet } from 'svelte';
3
3
 
4
- interface Props {
5
- disabled?: boolean;
6
- children?: Snippet;
7
- class?: string;
8
- }
4
+ interface Props {
5
+ disabled?: boolean;
6
+ children?: Snippet;
7
+ class?: string;
8
+ }
9
9
 
10
- let { disabled = false, children, class: className = '' }: Props = $props();
10
+ let { disabled = false, children, class: className = '' }: Props = $props();
11
11
  </script>
12
12
 
13
13
  <tr class={`border-static py-2 [&.disabled]:text-tertiary ${className}`} class:disabled>
14
- {@render children?.()}
14
+ {@render children?.()}
15
15
  </tr>
16
16
 
17
17
  <style>
18
- :global(td) {
18
+ :global(td) {
19
19
  padding-top: 1rem;
20
20
  padding-bottom: 1rem
21
21
  }
22
22
  :global(td):first-child {
23
23
  padding-left: 0.5rem
24
24
  }
25
- :global(th) {
25
+ :global(th) {
26
26
  padding-top: 1rem;
27
27
  padding-bottom: 1rem
28
28
  }
29
- :global(th):first-child {
29
+ :global(th):first-child {
30
30
  padding-left: 0.5rem
31
31
  }
32
32
  </style>
@@ -1,28 +1,28 @@
1
1
  <script module>
2
- import Tabs from './Tabs.svelte';
2
+ import Tabs from './Tabs.svelte';
3
3
 
4
- import { defineMeta } from '@storybook/addon-svelte-csf';
5
- const { Story } = defineMeta({
6
- component: Tabs,
7
- title: 'Design System/Tabs',
8
- tags: ['autodocs']
9
- });
4
+ import { defineMeta } from '@storybook/addon-svelte-csf';
5
+ const { Story } = defineMeta({
6
+ component: Tabs,
7
+ title: 'Design System/Tabs',
8
+ tags: ['autodocs'],
9
+ });
10
10
 
11
- let activeTab = 'tab-1';
11
+ let activeTab = 'tab-1';
12
12
  </script>
13
13
 
14
14
  <Story name="Primary" asChild>
15
- <Tabs>
16
- {#snippet children({ Tabs, Tab, Content })}
17
- <Tabs>
18
- <Tab active={activeTab === 'tab-1'} onClick={() => (activeTab = 'tab-1')}>Tab 1</Tab>
19
- <Tab active={activeTab === 'tab-2'} onClick={() => (activeTab = 'tab-2')}>Tab 2</Tab>
20
- <Tab active={activeTab === 'tab-3'} onClick={() => (activeTab = 'tab-3')}>Tab 3</Tab>
21
- </Tabs>
15
+ <Tabs>
16
+ {#snippet children({ Tabs, Tab, Content })}
17
+ <Tabs>
18
+ <Tab active={activeTab === 'tab-1'} onClick={() => (activeTab = 'tab-1')}>Tab 1</Tab>
19
+ <Tab active={activeTab === 'tab-2'} onClick={() => (activeTab = 'tab-2')}>Tab 2</Tab>
20
+ <Tab active={activeTab === 'tab-3'} onClick={() => (activeTab = 'tab-3')}>Tab 3</Tab>
21
+ </Tabs>
22
22
 
23
- <Content show={activeTab === 'tab-1'}>Showing tab 1 content</Content>
24
- <Content show={activeTab === 'tab-2'}>Showing tab 2 content</Content>
25
- <Content show={activeTab === 'tab-3'}>Showing tab 3 content</Content>
26
- {/snippet}
27
- </Tabs>
23
+ <Content show={activeTab === 'tab-1'}>Showing tab 1 content</Content>
24
+ <Content show={activeTab === 'tab-2'}>Showing tab 2 content</Content>
25
+ <Content show={activeTab === 'tab-3'}>Showing tab 3 content</Content>
26
+ {/snippet}
27
+ </Tabs>
28
28
  </Story>
@@ -1,13 +1,13 @@
1
1
  <script lang="ts">
2
- import type { Snippet } from 'svelte';
3
- import Content from './components/Content.svelte';
4
- import Tab from './components/Tab.svelte';
5
- import Tabs from './components/Tabs.svelte';
6
- interface Props {
7
- children?: Snippet<[{ Tabs: typeof Tabs; Tab: typeof Tab; Content: typeof Content }]>;
8
- }
2
+ import type { Snippet } from 'svelte';
3
+ import Content from './components/Content.svelte';
4
+ import Tab from './components/Tab.svelte';
5
+ import Tabs from './components/Tabs.svelte';
6
+ interface Props {
7
+ children?: Snippet<[{ Tabs: typeof Tabs; Tab: typeof Tab; Content: typeof Content }]>;
8
+ }
9
9
 
10
- let { children }: Props = $props();
10
+ let { children }: Props = $props();
11
11
  </script>
12
12
 
13
13
  {@render children?.({ Tabs, Tab, Content })}