@reshape-biotech/design-system 0.0.47 → 0.0.48
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.
- package/dist/app.css +115 -0
- package/dist/components/activity/Activity.stories.svelte +100 -0
- package/dist/components/activity/Activity.stories.svelte.d.ts +19 -0
- package/dist/components/activity/Activity.svelte +80 -0
- package/dist/components/activity/Activity.svelte.d.ts +18 -0
- package/dist/components/activity/index.d.ts +1 -0
- package/dist/components/activity/index.js +1 -0
- package/dist/components/avatar/Avatar.svelte +63 -0
- package/dist/components/avatar/Avatar.svelte.d.ts +8 -0
- package/dist/components/avatar/index.d.ts +1 -0
- package/dist/components/avatar/index.js +1 -0
- package/dist/components/banner/Banner.stories.svelte +129 -0
- package/dist/components/banner/Banner.stories.svelte.d.ts +19 -0
- package/dist/components/banner/Banner.svelte +59 -0
- package/dist/components/banner/Banner.svelte.d.ts +11 -0
- package/dist/components/banner/index.d.ts +1 -0
- package/dist/components/banner/index.js +1 -0
- package/dist/components/button/Button.stories.svelte +37 -0
- package/dist/components/button/Button.stories.svelte.d.ts +19 -0
- package/dist/components/button/Button.svelte +263 -0
- package/dist/components/button/Button.svelte.d.ts +20 -0
- package/dist/components/button/index.d.ts +1 -0
- package/dist/components/button/index.js +1 -0
- package/dist/components/collapsible/Collapsible.stories.svelte +40 -0
- package/dist/components/collapsible/Collapsible.stories.svelte.d.ts +19 -0
- package/dist/components/collapsible/components/collapsible-content.svelte +26 -0
- package/dist/components/collapsible/components/collapsible-content.svelte.d.ts +10 -0
- package/dist/components/collapsible/components/collapsible-trigger.svelte +36 -0
- package/dist/components/collapsible/components/collapsible-trigger.svelte.d.ts +4 -0
- package/dist/components/collapsible/index.d.ts +5 -0
- package/dist/components/collapsible/index.js +4 -0
- package/dist/components/collapsible/types.d.ts +9 -0
- package/dist/components/collapsible/types.js +1 -0
- package/dist/components/combobox/Combobox.stories.svelte +119 -0
- package/dist/components/combobox/Combobox.stories.svelte.d.ts +19 -0
- package/dist/components/combobox/components/combobox-add.svelte +30 -0
- package/dist/components/combobox/components/combobox-add.svelte.d.ts +8 -0
- package/dist/components/combobox/components/combobox-content.svelte +137 -0
- package/dist/components/combobox/components/combobox-content.svelte.d.ts +4 -0
- package/dist/components/combobox/components/combobox-indicator.svelte +5 -0
- package/dist/components/combobox/components/combobox-indicator.svelte.d.ts +18 -0
- package/dist/components/combobox/index.d.ts +14 -0
- package/dist/components/combobox/index.js +15 -0
- package/dist/components/combobox/types.d.ts +20 -0
- package/dist/components/combobox/types.js +1 -0
- package/dist/components/datepicker/DatePicker.svelte +344 -0
- package/dist/components/datepicker/DatePicker.svelte.d.ts +8 -0
- package/dist/components/datepicker/index.d.ts +1 -0
- package/dist/components/datepicker/index.js +1 -0
- package/dist/components/divider/Divider.stories.svelte +14 -0
- package/dist/components/divider/Divider.stories.svelte.d.ts +27 -0
- package/dist/components/divider/Divider.svelte +9 -0
- package/dist/components/divider/Divider.svelte.d.ts +6 -0
- package/dist/components/divider/index.d.ts +1 -0
- package/dist/components/divider/index.js +1 -0
- package/dist/components/drawer/Drawer.stories.svelte +64 -0
- package/dist/components/drawer/Drawer.stories.svelte.d.ts +27 -0
- package/dist/components/drawer/Drawer.svelte +41 -0
- package/dist/components/drawer/Drawer.svelte.d.ts +12 -0
- package/dist/components/drawer/DrawerLabel.svelte +62 -0
- package/dist/components/drawer/DrawerLabel.svelte.d.ts +9 -0
- package/dist/components/drawer/index.d.ts +1 -0
- package/dist/components/drawer/index.js +1 -0
- package/dist/components/dropdown/Dropdown.stories.svelte +236 -0
- package/dist/components/dropdown/Dropdown.stories.svelte.d.ts +27 -0
- package/dist/components/dropdown/Dropdown.svelte +69 -0
- package/dist/components/dropdown/Dropdown.svelte.d.ts +26 -0
- package/dist/components/dropdown/components/DropdownContent.svelte +29 -0
- package/dist/components/dropdown/components/DropdownContent.svelte.d.ts +10 -0
- package/dist/components/dropdown/components/DropdownMenu.svelte +23 -0
- package/dist/components/dropdown/components/DropdownMenu.svelte.d.ts +8 -0
- package/dist/components/dropdown/components/DropdownTrigger.svelte +46 -0
- package/dist/components/dropdown/components/DropdownTrigger.svelte.d.ts +13 -0
- package/dist/components/dropdown/components/OutlinedButton.svelte +61 -0
- package/dist/components/dropdown/components/OutlinedButton.svelte.d.ts +8 -0
- package/dist/components/dropdown/index.d.ts +1 -0
- package/dist/components/dropdown/index.js +1 -0
- package/dist/components/empty-content/EmptyContent.svelte +19 -0
- package/dist/components/empty-content/EmptyContent.svelte.d.ts +8 -0
- package/dist/components/graphs/chart/Chart.stories.svelte +128 -0
- package/dist/components/graphs/chart/Chart.stories.svelte.d.ts +19 -0
- package/dist/components/graphs/chart/Chart.svelte +145 -0
- package/dist/components/graphs/chart/Chart.svelte.d.ts +17 -0
- package/dist/components/graphs/index.d.ts +4 -0
- package/dist/components/graphs/index.js +4 -0
- package/dist/components/graphs/line/LineChart.stories.svelte +73 -0
- package/dist/components/graphs/line/LineChart.stories.svelte.d.ts +19 -0
- package/dist/components/graphs/line/LineChart.svelte +102 -0
- package/dist/components/graphs/line/LineChart.svelte.d.ts +18 -0
- package/dist/components/graphs/multiline/MultiLineChart.stories.svelte +77 -0
- package/dist/components/graphs/multiline/MultiLineChart.stories.svelte.d.ts +19 -0
- package/dist/components/graphs/multiline/MultiLineChart.svelte +108 -0
- package/dist/components/graphs/multiline/MultiLineChart.svelte.d.ts +22 -0
- package/dist/components/graphs/scatterplot/Scatterplot.stories.svelte +78 -0
- package/dist/components/graphs/scatterplot/Scatterplot.stories.svelte.d.ts +19 -0
- package/dist/components/graphs/scatterplot/Scatterplot.svelte +67 -0
- package/dist/components/graphs/scatterplot/Scatterplot.svelte.d.ts +16 -0
- package/dist/components/icon-button/IconButton.stories.svelte +82 -0
- package/dist/components/icon-button/IconButton.stories.svelte.d.ts +19 -0
- package/dist/components/icon-button/IconButton.svelte +152 -0
- package/dist/components/icon-button/IconButton.svelte.d.ts +16 -0
- package/dist/components/icon-button/index.d.ts +1 -0
- package/dist/components/icon-button/index.js +1 -0
- package/dist/components/icons/AnalysisIcon.stories.svelte +38 -0
- package/dist/components/icons/AnalysisIcon.stories.svelte.d.ts +27 -0
- package/dist/components/icons/AnalysisIcon.svelte +110 -0
- package/dist/components/icons/AnalysisIcon.svelte.d.ts +10 -0
- package/dist/components/icons/Icon.svelte +23 -0
- package/dist/components/icons/Icon.svelte.d.ts +4 -0
- package/dist/components/icons/custom/Halo.svelte +32 -0
- package/dist/components/icons/custom/Halo.svelte.d.ts +26 -0
- package/dist/components/icons/custom/Well.svelte +26 -0
- package/dist/components/icons/custom/Well.svelte.d.ts +26 -0
- package/dist/components/icons/index.d.ts +17 -0
- package/dist/components/icons/index.js +21 -0
- package/dist/components/icons/types.d.ts +0 -0
- package/dist/components/icons/types.js +1 -0
- package/dist/components/image/Image.svelte +55 -0
- package/dist/components/image/Image.svelte.d.ts +7 -0
- package/dist/components/image/index.d.ts +1 -0
- package/dist/components/image/index.js +1 -0
- package/dist/components/input/Input.stories.svelte +87 -0
- package/dist/components/input/Input.stories.svelte.d.ts +27 -0
- package/dist/components/input/Input.svelte +204 -0
- package/dist/components/input/Input.svelte.d.ts +24 -0
- package/dist/components/input/index.d.ts +1 -0
- package/dist/components/input/index.js +1 -0
- package/dist/components/list/List.stories.svelte +97 -0
- package/dist/components/list/List.stories.svelte.d.ts +19 -0
- package/dist/components/list/List.svelte +69 -0
- package/dist/components/list/List.svelte.d.ts +24 -0
- package/dist/components/list/index.d.ts +1 -0
- package/dist/components/list/index.js +1 -0
- package/dist/components/logo/Logo.stories.svelte +21 -0
- package/dist/components/logo/Logo.stories.svelte.d.ts +27 -0
- package/dist/components/logo/Logo.svelte +39 -0
- package/dist/components/logo/Logo.svelte.d.ts +7 -0
- package/dist/components/logo/index.d.ts +1 -0
- package/dist/components/logo/index.js +1 -0
- package/dist/components/markdown/Markdown.stories.svelte +41 -0
- package/dist/components/markdown/Markdown.stories.svelte.d.ts +27 -0
- package/dist/components/markdown/Markdown.svelte +12 -0
- package/dist/components/markdown/Markdown.svelte.d.ts +6 -0
- package/dist/components/markdown/index.d.ts +1 -0
- package/dist/components/markdown/index.js +1 -0
- package/dist/components/modal/Modal.stories.svelte +39 -0
- package/dist/components/modal/Modal.stories.svelte.d.ts +19 -0
- package/dist/components/modal/Modal.svelte +76 -0
- package/dist/components/modal/Modal.svelte.d.ts +17 -0
- package/dist/components/modal/index.d.ts +1 -0
- package/dist/components/modal/index.js +1 -0
- package/dist/components/notification-popup/NotificationPopup.stories.svelte +27 -0
- package/dist/components/notification-popup/NotificationPopup.stories.svelte.d.ts +27 -0
- package/dist/components/notification-popup/NotificationPopup.svelte +33 -0
- package/dist/components/notification-popup/NotificationPopup.svelte.d.ts +11 -0
- package/dist/components/notification-popup/index.d.ts +1 -0
- package/dist/components/notification-popup/index.js +1 -0
- package/dist/components/pill/Pill.svelte +39 -0
- package/dist/components/pill/Pill.svelte.d.ts +10 -0
- package/dist/components/pill/index.d.ts +1 -0
- package/dist/components/pill/index.js +1 -0
- package/dist/components/progress-circle/ProgressCircle.svelte +79 -0
- package/dist/components/progress-circle/ProgressCircle.svelte.d.ts +7 -0
- package/dist/components/progress-circle/index.d.ts +1 -0
- package/dist/components/progress-circle/index.js +1 -0
- package/dist/components/segmented-control-buttons/ControlButton.svelte +57 -0
- package/dist/components/segmented-control-buttons/ControlButton.svelte.d.ts +14 -0
- package/dist/components/segmented-control-buttons/SegmentedControlButtons.stories.svelte +45 -0
- package/dist/components/segmented-control-buttons/SegmentedControlButtons.stories.svelte.d.ts +19 -0
- package/dist/components/segmented-control-buttons/SegmentedControlButtons.svelte +21 -0
- package/dist/components/segmented-control-buttons/SegmentedControlButtons.svelte.d.ts +12 -0
- package/dist/components/segmented-control-buttons/index.d.ts +1 -0
- package/dist/components/segmented-control-buttons/index.js +1 -0
- package/dist/components/select/Select.stories.svelte +113 -0
- package/dist/components/select/Select.stories.svelte.d.ts +19 -0
- package/dist/components/select/Select.svelte +141 -0
- package/dist/components/select/Select.svelte.d.ts +60 -0
- package/dist/components/select/index.d.ts +7 -0
- package/dist/components/select/index.js +1 -0
- package/dist/components/skeleton-loader/SkeletonLoader.stories.svelte +45 -0
- package/dist/components/skeleton-loader/SkeletonLoader.stories.svelte.d.ts +27 -0
- package/dist/components/skeleton-loader/SkeletonLoader.svelte +17 -0
- package/dist/components/skeleton-loader/SkeletonLoader.svelte.d.ts +14 -0
- package/dist/components/skeleton-loader/StatcardSkeleton.svelte +14 -0
- package/dist/components/skeleton-loader/StatcardSkeleton.svelte.d.ts +18 -0
- package/dist/components/skeleton-loader/components/Skeleton.svelte +14 -0
- package/dist/components/skeleton-loader/components/Skeleton.svelte.d.ts +8 -0
- package/dist/components/skeleton-loader/components/SkeletonImage.svelte +14 -0
- package/dist/components/skeleton-loader/components/SkeletonImage.svelte.d.ts +26 -0
- package/dist/components/skeleton-loader/index.d.ts +3 -0
- package/dist/components/skeleton-loader/index.js +3 -0
- package/dist/components/slider/Slider.stories.svelte +37 -0
- package/dist/components/slider/Slider.stories.svelte.d.ts +27 -0
- package/dist/components/slider/Slider.svelte +126 -0
- package/dist/components/slider/Slider.svelte.d.ts +31 -0
- package/dist/components/slider/index.d.ts +1 -0
- package/dist/components/slider/index.js +1 -0
- package/dist/components/spinner/Spinner.svelte +27 -0
- package/dist/components/spinner/Spinner.svelte.d.ts +6 -0
- package/dist/components/spinner/index.d.ts +1 -0
- package/dist/components/spinner/index.js +1 -0
- package/dist/components/stat-card/StatCard.stories.svelte +32 -0
- package/dist/components/stat-card/StatCard.stories.svelte.d.ts +27 -0
- package/dist/components/stat-card/StatCard.svelte +52 -0
- package/dist/components/stat-card/StatCard.svelte.d.ts +10 -0
- package/dist/components/stat-card/index.d.ts +1 -0
- package/dist/components/stat-card/index.js +1 -0
- package/dist/components/status-badge/StatusBadge.stories.svelte +401 -0
- package/dist/components/status-badge/StatusBadge.stories.svelte.d.ts +19 -0
- package/dist/components/status-badge/StatusBadge.svelte +147 -0
- package/dist/components/status-badge/StatusBadge.svelte.d.ts +12 -0
- package/dist/components/status-badge/index.d.ts +1 -0
- package/dist/components/status-badge/index.js +1 -0
- package/dist/components/table/Table.stories.svelte +90 -0
- package/dist/components/table/Table.stories.svelte.d.ts +24 -0
- package/dist/components/table/Table.svelte +47 -0
- package/dist/components/table/Table.svelte.d.ts +21 -0
- package/dist/components/table/components/TBody.svelte +14 -0
- package/dist/components/table/components/TBody.svelte.d.ts +8 -0
- package/dist/components/table/components/THead.svelte +14 -0
- package/dist/components/table/components/THead.svelte.d.ts +8 -0
- package/dist/components/table/components/Td.svelte +14 -0
- package/dist/components/table/components/Td.svelte.d.ts +8 -0
- package/dist/components/table/components/Th.svelte +15 -0
- package/dist/components/table/components/Th.svelte.d.ts +9 -0
- package/dist/components/table/components/Tr.svelte +31 -0
- package/dist/components/table/components/Tr.svelte.d.ts +8 -0
- package/dist/components/table/index.d.ts +1 -0
- package/dist/components/table/index.js +1 -0
- package/dist/components/tabs/Tabs.stories.svelte +28 -0
- package/dist/components/tabs/Tabs.stories.svelte.d.ts +27 -0
- package/dist/components/tabs/Tabs.svelte +13 -0
- package/dist/components/tabs/Tabs.svelte.d.ts +14 -0
- package/dist/components/tabs/components/Content.svelte +15 -0
- package/dist/components/tabs/components/Content.svelte.d.ts +9 -0
- package/dist/components/tabs/components/Tab.svelte +21 -0
- package/dist/components/tabs/components/Tab.svelte.d.ts +10 -0
- package/dist/components/tabs/components/Tabs.svelte +14 -0
- package/dist/components/tabs/components/Tabs.svelte.d.ts +8 -0
- package/dist/components/tabs/index.d.ts +1 -0
- package/dist/components/tabs/index.js +1 -0
- package/dist/components/tag/Tag.stories.svelte +51 -0
- package/dist/components/tag/Tag.stories.svelte.d.ts +19 -0
- package/dist/components/tag/Tag.svelte +102 -0
- package/dist/components/tag/Tag.svelte.d.ts +12 -0
- package/dist/components/tag/index.d.ts +1 -0
- package/dist/components/tag/index.js +1 -0
- package/dist/components/toggle/Toggle.stories.svelte +15 -0
- package/dist/components/toggle/Toggle.stories.svelte.d.ts +27 -0
- package/dist/components/toggle/Toggle.svelte +73 -0
- package/dist/components/toggle/Toggle.svelte.d.ts +8 -0
- package/dist/components/toggle/index.d.ts +1 -0
- package/dist/components/toggle/index.js +1 -0
- package/dist/components/tooltip/Tooltip.stories.svelte +126 -0
- package/dist/components/tooltip/Tooltip.stories.svelte.d.ts +27 -0
- package/dist/components/tooltip/Tooltip.svelte +49 -0
- package/dist/components/tooltip/Tooltip.svelte.d.ts +13 -0
- package/dist/components/tooltip/index.d.ts +1 -0
- package/dist/components/tooltip/index.js +1 -0
- package/dist/fonts/MDSystemMono-Regular.woff +0 -0
- package/dist/fonts/MDSystemMono-Regular.woff2 +0 -0
- package/dist/fonts/afAnotherSans-Medium.woff2 +0 -0
- package/dist/fonts/afAnotherSans-Regular.woff2 +0 -0
- package/dist/fonts/afAnotherSans-SemiBold.woff2 +0 -0
- package/dist/fonts/afAnotherSans.woff2 +0 -0
- package/dist/fonts/index.d.ts +4 -0
- package/dist/fonts/index.js +6 -0
- package/dist/index.d.ts +37 -0
- package/dist/index.js +39 -68464
- package/dist/tailwind-safelist.d.ts +27 -0
- package/dist/tailwind-safelist.js +475 -0
- package/dist/tailwind.d.ts +11 -0
- package/dist/tailwind.js +1 -0
- package/dist/tailwind.preset.d.ts +344 -0
- package/dist/tailwind.preset.js +55 -0
- package/dist/tokens.d.ts +598 -0
- package/dist/tokens.js +285 -0
- package/dist/types/fonts.d.ts +4 -0
- package/package.json +2 -1
- package/dist/index.css +0 -1
- package/dist/index.umd.cjs +0 -148
package/dist/app.css
ADDED
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
@import 'tailwindcss/base';
|
|
2
|
+
@import 'tailwindcss/components';
|
|
3
|
+
@import 'tailwindcss/utilities';
|
|
4
|
+
|
|
5
|
+
@layer base {
|
|
6
|
+
@font-face {
|
|
7
|
+
font-family: 'MD System Mono';
|
|
8
|
+
font-style: normal;
|
|
9
|
+
font-weight: 400;
|
|
10
|
+
src: url('/fonts/MDSystemMono-Regular.woff2') format('woff2');
|
|
11
|
+
}
|
|
12
|
+
@font-face {
|
|
13
|
+
font-family: 'af Another Sans';
|
|
14
|
+
font-style: normal;
|
|
15
|
+
font-weight: 400;
|
|
16
|
+
src: url('/fonts/afAnotherSans-Regular.woff2') format('woff2');
|
|
17
|
+
}
|
|
18
|
+
@font-face {
|
|
19
|
+
font-family: 'af Another Sans';
|
|
20
|
+
font-style: normal;
|
|
21
|
+
font-weight: 500;
|
|
22
|
+
src: url('/fonts/afAnotherSans-Medium.woff2') format('woff2');
|
|
23
|
+
}
|
|
24
|
+
@font-face {
|
|
25
|
+
font-family: 'af Another Sans';
|
|
26
|
+
font-style: normal;
|
|
27
|
+
font-weight: 600;
|
|
28
|
+
src: url('/fonts/afAnotherSans-SemiBold.woff2') format('woff2');
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
body {
|
|
32
|
+
background-color: theme('backgroundColor.surface');
|
|
33
|
+
color: theme('textColor.primary');
|
|
34
|
+
font-family: 'af Another Sans', sans-serif;
|
|
35
|
+
font-style: normal;
|
|
36
|
+
font-feature-settings: 'ss01' on;
|
|
37
|
+
font-variant-numeric: lining-nums tabular-nums;
|
|
38
|
+
font-weight: 400;
|
|
39
|
+
font-size: 0.875rem;
|
|
40
|
+
line-height: 1.25rem;
|
|
41
|
+
letter-spacing: 0.01em;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
a {
|
|
45
|
+
color: theme('textColor.accent');
|
|
46
|
+
font-style: normal;
|
|
47
|
+
}
|
|
48
|
+
a:hover {
|
|
49
|
+
text-decoration: underline;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
strong {
|
|
53
|
+
font-weight: 600;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
h1 {
|
|
57
|
+
/* text-7xl */
|
|
58
|
+
font-size: 4.5rem;
|
|
59
|
+
font-style: normal;
|
|
60
|
+
font-weight: 600;
|
|
61
|
+
line-height: 4.5rem;
|
|
62
|
+
letter-spacing: -0.1em;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
h2 {
|
|
66
|
+
/* text-5xl */
|
|
67
|
+
font-size: 3rem;
|
|
68
|
+
font-style: normal;
|
|
69
|
+
font-weight: 600;
|
|
70
|
+
line-height: 3rem;
|
|
71
|
+
letter-spacing: -0.05em;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
h3 {
|
|
75
|
+
/* text-2xl */
|
|
76
|
+
font-size: 1.5rem;
|
|
77
|
+
font-style: normal;
|
|
78
|
+
font-weight: 600;
|
|
79
|
+
line-height: 1.75rem;
|
|
80
|
+
letter-spacing: -0.025em;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
h4 {
|
|
84
|
+
/* text-xl */
|
|
85
|
+
font-size: 1.25rem;
|
|
86
|
+
line-height: 1.75rem;
|
|
87
|
+
font-style: normal;
|
|
88
|
+
font-weight: 600;
|
|
89
|
+
letter-spacing: -0.01em;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
h5 {
|
|
93
|
+
/* text-base */
|
|
94
|
+
font-size: 1rem;
|
|
95
|
+
line-height: 1.5rem;
|
|
96
|
+
font-style: normal;
|
|
97
|
+
font-weight: 600;
|
|
98
|
+
letter-spacing: 0;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
h6 {
|
|
102
|
+
/* text-sm */
|
|
103
|
+
font-size: 0.875rem;
|
|
104
|
+
line-height: 1.25rem;
|
|
105
|
+
font-style: normal;
|
|
106
|
+
font-weight: 600;
|
|
107
|
+
letter-spacing: 0;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
@layer components {
|
|
112
|
+
html:has(.drawer-auto-gutter .drawer-toggle:checked) {
|
|
113
|
+
scrollbar-gutter: auto;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
<script module lang="ts">
|
|
2
|
+
import Button from '../button/Button.svelte';
|
|
3
|
+
import Activity from './Activity.svelte';
|
|
4
|
+
import * as Collapsible from '../collapsible/index';
|
|
5
|
+
import { Eye } from 'phosphor-svelte';
|
|
6
|
+
|
|
7
|
+
import { defineMeta } from '@storybook/addon-svelte-csf';
|
|
8
|
+
const { Story } = defineMeta({
|
|
9
|
+
component: Activity,
|
|
10
|
+
title: 'Design System/Activity',
|
|
11
|
+
tags: ['autodocs']
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
let activities = $state([
|
|
15
|
+
{
|
|
16
|
+
icon: 'add' as const,
|
|
17
|
+
label: 'Job created',
|
|
18
|
+
timestamp: '12 Sep 2025, 9:59',
|
|
19
|
+
author: 'Ella Roth'
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
icon: 'edit' as const,
|
|
23
|
+
label: 'Sample ID edited',
|
|
24
|
+
from: 'Sample123',
|
|
25
|
+
to: 'Sample456',
|
|
26
|
+
timestamp: '5 Sep 2025, 12:05',
|
|
27
|
+
author: 'Ella Roth'
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
icon: 'success' as const,
|
|
31
|
+
label: 'Job finished',
|
|
32
|
+
timestamp: '14 Aug 2025, 13:05'
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
icon: 'pause' as const,
|
|
36
|
+
label: 'Job paused',
|
|
37
|
+
timestamp: '4 Aug 2025, 13:05',
|
|
38
|
+
author: 'Bob Vance'
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
icon: 'stop' as const,
|
|
42
|
+
label: 'Some label that just happened to be very long so it will probably wrap in most cases',
|
|
43
|
+
timestamp: '4 Aug 2025, 13:05',
|
|
44
|
+
author: 'Michael Scott'
|
|
45
|
+
}
|
|
46
|
+
]);
|
|
47
|
+
|
|
48
|
+
const fetchedMoreActivities = () => {
|
|
49
|
+
const index = Math.floor(Math.random() * (activities.length - 1));
|
|
50
|
+
activities = [...activities, activities[index]];
|
|
51
|
+
};
|
|
52
|
+
</script>
|
|
53
|
+
|
|
54
|
+
<Story name="Collapsible activity">
|
|
55
|
+
<Collapsible.Root>
|
|
56
|
+
<Collapsible.Trigger class="w-full pb-4">
|
|
57
|
+
<h6>Activity</h6>
|
|
58
|
+
</Collapsible.Trigger>
|
|
59
|
+
|
|
60
|
+
<Collapsible.Content class="flex flex-col items-center gap-3">
|
|
61
|
+
<div class="flex flex-col text-sm">
|
|
62
|
+
{#each activities as activity}
|
|
63
|
+
<Activity {activity} />
|
|
64
|
+
{/each}
|
|
65
|
+
</div>
|
|
66
|
+
<Button
|
|
67
|
+
onClick={fetchedMoreActivities}
|
|
68
|
+
variant="outline"
|
|
69
|
+
size="sm"
|
|
70
|
+
class="icon-secondary w-36 rounded-full"
|
|
71
|
+
>
|
|
72
|
+
<Eye />
|
|
73
|
+
<p>Show more</p>
|
|
74
|
+
</Button>
|
|
75
|
+
</Collapsible.Content>
|
|
76
|
+
</Collapsible.Root>
|
|
77
|
+
</Story>
|
|
78
|
+
|
|
79
|
+
<Story name="Single activity">
|
|
80
|
+
<Activity activity={{ icon: 'delete', label: 'Project deleted', timestamp: '2 Oct, 1980' }} />
|
|
81
|
+
</Story>
|
|
82
|
+
|
|
83
|
+
<Story name="Few activities">
|
|
84
|
+
<Activity
|
|
85
|
+
activity={{
|
|
86
|
+
icon: 'pause',
|
|
87
|
+
label: 'Project paused',
|
|
88
|
+
timestamp: '2 Oct, 1999',
|
|
89
|
+
author: 'Dwight'
|
|
90
|
+
}}
|
|
91
|
+
/>
|
|
92
|
+
<Activity
|
|
93
|
+
activity={{
|
|
94
|
+
icon: 'add',
|
|
95
|
+
label: 'Project created',
|
|
96
|
+
timestamp: '2 Oct, 1999',
|
|
97
|
+
author: 'Dwight'
|
|
98
|
+
}}
|
|
99
|
+
/>
|
|
100
|
+
</Story>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import Activity from './Activity.svelte';
|
|
2
|
+
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
3
|
+
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
4
|
+
$$bindings?: Bindings;
|
|
5
|
+
} & Exports;
|
|
6
|
+
(internal: unknown, props: {
|
|
7
|
+
$$events?: Events;
|
|
8
|
+
$$slots?: Slots;
|
|
9
|
+
}): Exports & {
|
|
10
|
+
$set?: any;
|
|
11
|
+
$on?: any;
|
|
12
|
+
};
|
|
13
|
+
z_$$bindings?: Bindings;
|
|
14
|
+
}
|
|
15
|
+
declare const Activity: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
|
|
16
|
+
[evt: string]: CustomEvent<any>;
|
|
17
|
+
}, {}, {}, string>;
|
|
18
|
+
type Activity = InstanceType<typeof Activity>;
|
|
19
|
+
export default Activity;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { DateTime } from 'luxon';
|
|
3
|
+
import { Plus, CheckFat, Pencil, Play, Pause, Stop, Trash, WarningCircle } from 'phosphor-svelte';
|
|
4
|
+
import type { Component } from 'svelte';
|
|
5
|
+
|
|
6
|
+
type ActivityIcon = 'add' | 'edit' | 'success' | 'start' | 'pause' | 'stop' | 'delete' | 'failed';
|
|
7
|
+
|
|
8
|
+
type Activity = {
|
|
9
|
+
activity_type?: string;
|
|
10
|
+
icon: ActivityIcon;
|
|
11
|
+
label: string;
|
|
12
|
+
timestamp: string;
|
|
13
|
+
author?: string | null;
|
|
14
|
+
field?: string | null;
|
|
15
|
+
previous_value?: string | null;
|
|
16
|
+
value?: string | null;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
type Props = {
|
|
20
|
+
activity: Activity;
|
|
21
|
+
class?: string;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
const ACTIVITY_ICONS: Record<ActivityIcon, Component> = {
|
|
25
|
+
add: Plus,
|
|
26
|
+
edit: Pencil,
|
|
27
|
+
success: CheckFat,
|
|
28
|
+
start: Play,
|
|
29
|
+
pause: Pause,
|
|
30
|
+
stop: Stop,
|
|
31
|
+
delete: Trash,
|
|
32
|
+
failed: WarningCircle
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
function formatDateTime(timestamp: string): string {
|
|
36
|
+
try {
|
|
37
|
+
const dateTime = DateTime.fromISO(timestamp);
|
|
38
|
+
|
|
39
|
+
if (dateTime.isValid) {
|
|
40
|
+
return dateTime.toLocaleString(DateTime.DATETIME_MED, {
|
|
41
|
+
locale: navigator.language ?? 'en-US'
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return timestamp;
|
|
46
|
+
} catch (err) {
|
|
47
|
+
return timestamp;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
let { class: className = '', activity }: Props = $props();
|
|
52
|
+
</script>
|
|
53
|
+
|
|
54
|
+
<div class={`group flex items-stretch gap-3 ${className}`}>
|
|
55
|
+
<div class="flex min-h-12 flex-col items-center gap-1.5">
|
|
56
|
+
<div class="w-0.5 grow bg-neutral group-first:invisible"></div>
|
|
57
|
+
<div
|
|
58
|
+
class="flex h-5 w-5 shrink-0 items-center justify-center rounded bg-neutral p-0.5 text-secondary"
|
|
59
|
+
>
|
|
60
|
+
<svelte:component this={ACTIVITY_ICONS[activity.icon]} />
|
|
61
|
+
</div>
|
|
62
|
+
<div class="w-0.5 grow bg-neutral group-last:invisible"></div>
|
|
63
|
+
</div>
|
|
64
|
+
<div class="flex items-center py-4">
|
|
65
|
+
<div class="text-secondary">
|
|
66
|
+
<span class="text-primary">{activity.label}</span>
|
|
67
|
+
{#if activity.previous_value}
|
|
68
|
+
<span> from <span class="text-primary">{activity.previous_value}</span></span>
|
|
69
|
+
{/if}
|
|
70
|
+
{#if activity.value}
|
|
71
|
+
<span> to <span class="text-primary">{activity.value}</span></span>
|
|
72
|
+
{/if}
|
|
73
|
+
<span class="px-0.5">⸱</span>
|
|
74
|
+
<span>{formatDateTime(activity.timestamp)}</span>
|
|
75
|
+
{#if activity.author}
|
|
76
|
+
<span> by <span class="text-primary">{activity.author}</span></span>
|
|
77
|
+
{/if}
|
|
78
|
+
</div>
|
|
79
|
+
</div>
|
|
80
|
+
</div>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Component } from 'svelte';
|
|
2
|
+
type ActivityIcon = 'add' | 'edit' | 'success' | 'start' | 'pause' | 'stop' | 'delete' | 'failed';
|
|
3
|
+
type Activity = {
|
|
4
|
+
activity_type?: string;
|
|
5
|
+
icon: ActivityIcon;
|
|
6
|
+
label: string;
|
|
7
|
+
timestamp: string;
|
|
8
|
+
author?: string | null;
|
|
9
|
+
field?: string | null;
|
|
10
|
+
previous_value?: string | null;
|
|
11
|
+
value?: string | null;
|
|
12
|
+
};
|
|
13
|
+
type Props = {
|
|
14
|
+
activity: Activity;
|
|
15
|
+
class?: string;
|
|
16
|
+
};
|
|
17
|
+
declare const Activity: Component<Props, {}, "">;
|
|
18
|
+
export default Activity;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as Activity } from './Activity.svelte';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as Activity } from './Activity.svelte';
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import Tooltip from '../tooltip/Tooltip.svelte';
|
|
3
|
+
interface Props {
|
|
4
|
+
name: string | null | undefined;
|
|
5
|
+
size?: 'sm' | 'md';
|
|
6
|
+
showTooltip?: boolean;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
let { name, size = 'md', showTooltip = true }: Props = $props();
|
|
10
|
+
const sizes = {
|
|
11
|
+
sm: 'h-6 w-6 min-w-6 text-xxs font-semibold tracking-wide',
|
|
12
|
+
md: 'h-8 w-8 min-w-8 text-xs font-semibold tracking-wide'
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
let sizeClassName = $derived(sizes[size]);
|
|
16
|
+
|
|
17
|
+
const getInitials = (name: string | null | undefined) => {
|
|
18
|
+
if (!name) {
|
|
19
|
+
return '?'; // You can use any default value here
|
|
20
|
+
}
|
|
21
|
+
// Check if the name is an email
|
|
22
|
+
const isEmail = name.includes('@');
|
|
23
|
+
if (isEmail) {
|
|
24
|
+
return name.slice(0, 2).toUpperCase();
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// Split the name by space
|
|
28
|
+
const splitName = name.split(' ');
|
|
29
|
+
|
|
30
|
+
// Check if the name is a single word or already initials
|
|
31
|
+
if (splitName.length === 1 || (splitName.length === 1 && splitName[0].length <= 2)) {
|
|
32
|
+
return name.slice(0, 2).toUpperCase();
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// If the name is multiple words, use the first letter of the first and last word
|
|
36
|
+
const firstInitial = splitName[0][0];
|
|
37
|
+
const lastInitial = splitName[splitName.length - 1][0];
|
|
38
|
+
|
|
39
|
+
return (firstInitial + lastInitial).toUpperCase();
|
|
40
|
+
};
|
|
41
|
+
let initials = $derived(getInitials(name));
|
|
42
|
+
</script>
|
|
43
|
+
|
|
44
|
+
{#snippet avatar()}
|
|
45
|
+
<div
|
|
46
|
+
class="{sizeClassName} flex items-center justify-center rounded-full border border-static bg-accent text-accent"
|
|
47
|
+
>
|
|
48
|
+
{initials}
|
|
49
|
+
</div>
|
|
50
|
+
{/snippet}
|
|
51
|
+
|
|
52
|
+
{#if showTooltip}
|
|
53
|
+
<Tooltip>
|
|
54
|
+
{#snippet trigger()}
|
|
55
|
+
{@render avatar()}
|
|
56
|
+
{/snippet}
|
|
57
|
+
{#snippet content()}
|
|
58
|
+
<span>{name ? name : 'Unknown'}</span>
|
|
59
|
+
{/snippet}
|
|
60
|
+
</Tooltip>
|
|
61
|
+
{:else}
|
|
62
|
+
{@render avatar()}
|
|
63
|
+
{/if}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as Avatar } from './Avatar.svelte';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as Avatar } from './Avatar.svelte';
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
<script module lang="ts">
|
|
2
|
+
import { Info, Warning as WarningIcon } from 'phosphor-svelte';
|
|
3
|
+
import Banner from './Banner.svelte';
|
|
4
|
+
import Button from '../button/Button.svelte';
|
|
5
|
+
import { defineMeta } from '@storybook/addon-svelte-csf';
|
|
6
|
+
|
|
7
|
+
const { Story } = defineMeta({
|
|
8
|
+
component: Banner,
|
|
9
|
+
title: 'Design System/Banner',
|
|
10
|
+
tags: ['autodocs']
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
let showBanner = $state(true);
|
|
14
|
+
</script>
|
|
15
|
+
|
|
16
|
+
<Story name="Well finding warning">
|
|
17
|
+
<Banner type="warning" closable={false}>
|
|
18
|
+
{#snippet icon()}
|
|
19
|
+
<WarningIcon size="100%" weight="bold" />
|
|
20
|
+
{/snippet}
|
|
21
|
+
{#snippet content()}
|
|
22
|
+
Our system couldn't find the wells in some plates. Analysis can't be done. For more help, <a
|
|
23
|
+
href="https://docs.reshapebiotech.com/reshape-biotech-knowledgebase/general-info/troubleshooting/well-detection"
|
|
24
|
+
>check our documentation</a
|
|
25
|
+
>
|
|
26
|
+
or <a href="mailto:support@reshapebiotech.com">contact us</a>.
|
|
27
|
+
{/snippet}
|
|
28
|
+
</Banner>
|
|
29
|
+
</Story>
|
|
30
|
+
|
|
31
|
+
<Story name="No icon">
|
|
32
|
+
<Banner type="success">
|
|
33
|
+
{#snippet content()}
|
|
34
|
+
This banner has no icon.
|
|
35
|
+
{/snippet}
|
|
36
|
+
</Banner>
|
|
37
|
+
</Story>
|
|
38
|
+
|
|
39
|
+
<Story name="No toggle">
|
|
40
|
+
<Banner type="progress" closable={false}>
|
|
41
|
+
{#snippet icon()}
|
|
42
|
+
<Info size="100%" weight="bold" />
|
|
43
|
+
{/snippet}
|
|
44
|
+
{#snippet content()}
|
|
45
|
+
This banner has no toggle.
|
|
46
|
+
{/snippet}
|
|
47
|
+
</Banner>
|
|
48
|
+
</Story>
|
|
49
|
+
|
|
50
|
+
<Story name="Toggle back on">
|
|
51
|
+
<div class="h-28">
|
|
52
|
+
<Button onClick={() => (showBanner = true)} disabled={showBanner}>Toggle banner back on</Button>
|
|
53
|
+
<br />
|
|
54
|
+
<br />
|
|
55
|
+
|
|
56
|
+
<Banner type="error" bind:show={showBanner}>
|
|
57
|
+
{#snippet icon()}
|
|
58
|
+
<Info size="100%" weight="bold" />
|
|
59
|
+
{/snippet}
|
|
60
|
+
{#snippet content()}
|
|
61
|
+
This banner can be toggled off with the "x" to the right and back on with the button above.
|
|
62
|
+
{/snippet}
|
|
63
|
+
</Banner>
|
|
64
|
+
</div>
|
|
65
|
+
</Story>
|
|
66
|
+
|
|
67
|
+
<Story name="Type variations">
|
|
68
|
+
<div class="space-y-4">
|
|
69
|
+
<div class="space-y-2">
|
|
70
|
+
<h4>Neutral</h4>
|
|
71
|
+
<Banner type="neutral">
|
|
72
|
+
{#snippet icon()}
|
|
73
|
+
<Info size="100%" weight="bold" />
|
|
74
|
+
{/snippet}
|
|
75
|
+
{#snippet content()}
|
|
76
|
+
This is a "neutral" banner.
|
|
77
|
+
{/snippet}
|
|
78
|
+
</Banner>
|
|
79
|
+
</div>
|
|
80
|
+
|
|
81
|
+
<div class="space-y-2">
|
|
82
|
+
<h4>Success</h4>
|
|
83
|
+
<Banner type="success">
|
|
84
|
+
{#snippet icon()}
|
|
85
|
+
<Info size="100%" weight="bold" />
|
|
86
|
+
{/snippet}
|
|
87
|
+
{#snippet content()}
|
|
88
|
+
This is a "success" banner.
|
|
89
|
+
{/snippet}
|
|
90
|
+
</Banner>
|
|
91
|
+
</div>
|
|
92
|
+
|
|
93
|
+
<div class="space-y-2">
|
|
94
|
+
<h4>Progress</h4>
|
|
95
|
+
<Banner type="progress">
|
|
96
|
+
{#snippet icon()}
|
|
97
|
+
<Info size="100%" weight="bold" />
|
|
98
|
+
{/snippet}
|
|
99
|
+
{#snippet content()}
|
|
100
|
+
This is a "progress" banner.
|
|
101
|
+
{/snippet}
|
|
102
|
+
</Banner>
|
|
103
|
+
</div>
|
|
104
|
+
|
|
105
|
+
<div class="space-y-2">
|
|
106
|
+
<h4>Warning</h4>
|
|
107
|
+
<Banner type="warning">
|
|
108
|
+
{#snippet icon()}
|
|
109
|
+
<Info size="100%" weight="bold" />
|
|
110
|
+
{/snippet}
|
|
111
|
+
{#snippet content()}
|
|
112
|
+
This is a "warning" banner.
|
|
113
|
+
{/snippet}
|
|
114
|
+
</Banner>
|
|
115
|
+
</div>
|
|
116
|
+
|
|
117
|
+
<div class="space-y-2">
|
|
118
|
+
<h4>Error</h4>
|
|
119
|
+
<Banner type="error">
|
|
120
|
+
{#snippet icon()}
|
|
121
|
+
<Info size="100%" weight="bold" />
|
|
122
|
+
{/snippet}
|
|
123
|
+
{#snippet content()}
|
|
124
|
+
This is an "error" banner.
|
|
125
|
+
{/snippet}
|
|
126
|
+
</Banner>
|
|
127
|
+
</div>
|
|
128
|
+
</div>
|
|
129
|
+
</Story>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import Banner from './Banner.svelte';
|
|
2
|
+
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
3
|
+
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
4
|
+
$$bindings?: Bindings;
|
|
5
|
+
} & Exports;
|
|
6
|
+
(internal: unknown, props: {
|
|
7
|
+
$$events?: Events;
|
|
8
|
+
$$slots?: Slots;
|
|
9
|
+
}): Exports & {
|
|
10
|
+
$set?: any;
|
|
11
|
+
$on?: any;
|
|
12
|
+
};
|
|
13
|
+
z_$$bindings?: Bindings;
|
|
14
|
+
}
|
|
15
|
+
declare const Banner: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
|
|
16
|
+
[evt: string]: CustomEvent<any>;
|
|
17
|
+
}, {}, {}, string>;
|
|
18
|
+
type Banner = InstanceType<typeof Banner>;
|
|
19
|
+
export default Banner;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { X } from 'phosphor-svelte';
|
|
3
|
+
import type { Snippet } from 'svelte';
|
|
4
|
+
import { IconButton } from '../icon-button/';
|
|
5
|
+
|
|
6
|
+
interface Props {
|
|
7
|
+
type?: 'neutral' | 'success' | 'progress' | 'warning' | 'error';
|
|
8
|
+
show?: boolean;
|
|
9
|
+
closable?: boolean;
|
|
10
|
+
icon?: Snippet;
|
|
11
|
+
content: Snippet;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
let {
|
|
15
|
+
type = 'neutral',
|
|
16
|
+
show = $bindable(true),
|
|
17
|
+
closable = true,
|
|
18
|
+
icon,
|
|
19
|
+
content
|
|
20
|
+
}: Props = $props();
|
|
21
|
+
|
|
22
|
+
const color = {
|
|
23
|
+
neutral: 'neutral',
|
|
24
|
+
success: 'success',
|
|
25
|
+
progress: 'blue',
|
|
26
|
+
warning: 'warning',
|
|
27
|
+
error: 'danger'
|
|
28
|
+
}[type];
|
|
29
|
+
</script>
|
|
30
|
+
|
|
31
|
+
{#if show}
|
|
32
|
+
<div class="rounded-lg bg-{color} flex h-11 w-full items-center justify-between p-3">
|
|
33
|
+
<div class="inline-flex w-full items-center justify-start gap-3">
|
|
34
|
+
{#if icon}
|
|
35
|
+
<div class="size-5 text-icon-{color} ">
|
|
36
|
+
{@render icon?.()}
|
|
37
|
+
</div>
|
|
38
|
+
{/if}
|
|
39
|
+
<div class="content w-full text-sm">
|
|
40
|
+
{@render content?.()}
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
43
|
+
{#if closable}
|
|
44
|
+
<IconButton size="sm" onclick={() => (show = false)}>
|
|
45
|
+
<X class="text-icon-secondary" weight="bold" />
|
|
46
|
+
</IconButton>
|
|
47
|
+
{/if}
|
|
48
|
+
</div>
|
|
49
|
+
{/if}
|
|
50
|
+
|
|
51
|
+
<style>
|
|
52
|
+
.content :global(a) {
|
|
53
|
+
font-size: 0.875rem;
|
|
54
|
+
line-height: 1.25rem;
|
|
55
|
+
--tw-text-opacity: 1;
|
|
56
|
+
color: rgb(18 25 42 / var(--tw-text-opacity, 1));
|
|
57
|
+
text-decoration-line: underline
|
|
58
|
+
}
|
|
59
|
+
</style>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Snippet } from 'svelte';
|
|
2
|
+
interface Props {
|
|
3
|
+
type?: 'neutral' | 'success' | 'progress' | 'warning' | 'error';
|
|
4
|
+
show?: boolean;
|
|
5
|
+
closable?: boolean;
|
|
6
|
+
icon?: Snippet;
|
|
7
|
+
content: Snippet;
|
|
8
|
+
}
|
|
9
|
+
declare const Banner: import("svelte").Component<Props, {}, "show">;
|
|
10
|
+
type Banner = ReturnType<typeof Banner>;
|
|
11
|
+
export default Banner;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as Banner } from './Banner.svelte';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as Banner } from './Banner.svelte';
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<script module lang="ts">
|
|
2
|
+
import { defineMeta } from '@storybook/addon-svelte-csf';
|
|
3
|
+
import Button from './Button.svelte';
|
|
4
|
+
|
|
5
|
+
const { Story } = defineMeta({
|
|
6
|
+
component: Button,
|
|
7
|
+
title: 'Design System/Button',
|
|
8
|
+
tags: ['autodocs']
|
|
9
|
+
});
|
|
10
|
+
</script>
|
|
11
|
+
|
|
12
|
+
<Story name="Primary">
|
|
13
|
+
<Button variant="primary">Button</Button>
|
|
14
|
+
</Story>
|
|
15
|
+
<Story name="Medium">
|
|
16
|
+
<Button variant="primary" size="md">Button</Button>
|
|
17
|
+
</Story>
|
|
18
|
+
<Story name="Small">
|
|
19
|
+
<Button variant="primary" size="sm">Button</Button>
|
|
20
|
+
</Story>
|
|
21
|
+
|
|
22
|
+
<Story name="Secondary">
|
|
23
|
+
<Button variant="secondary">Button</Button>
|
|
24
|
+
</Story>
|
|
25
|
+
|
|
26
|
+
<Story name="Danger">
|
|
27
|
+
<Button variant="danger">Button</Button>
|
|
28
|
+
</Story>
|
|
29
|
+
<Story name="Transparent">
|
|
30
|
+
<Button variant="transparent">Button</Button>
|
|
31
|
+
</Story>
|
|
32
|
+
<Story name="Disabled">
|
|
33
|
+
<Button disabled>Button</Button>
|
|
34
|
+
</Story>
|
|
35
|
+
<Story name="Loading">
|
|
36
|
+
<Button loading>Button</Button>
|
|
37
|
+
</Story>
|