@reshape-biotech/design-system 0.0.22 → 0.0.24

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 (138) hide show
  1. package/README.md +30 -38
  2. package/dist/components/banner/Banner.stories.svelte +129 -0
  3. package/dist/components/banner/Banner.stories.svelte.d.ts +19 -0
  4. package/dist/components/banner/Banner.svelte +59 -0
  5. package/dist/components/banner/Banner.svelte.d.ts +11 -0
  6. package/dist/components/button/Button.stories.svelte +37 -0
  7. package/dist/components/button/Button.stories.svelte.d.ts +19 -0
  8. package/dist/components/button/Button.svelte +85 -0
  9. package/dist/components/button/Button.svelte.d.ts +17 -0
  10. package/dist/components/datepicker/DatePicker.svelte +283 -0
  11. package/dist/components/datepicker/DatePicker.svelte.d.ts +8 -0
  12. package/dist/components/divider/Divider.stories.svelte +14 -0
  13. package/dist/components/divider/Divider.stories.svelte.d.ts +27 -0
  14. package/dist/components/divider/Divider.svelte +9 -0
  15. package/dist/components/divider/Divider.svelte.d.ts +6 -0
  16. package/dist/components/drawer/Drawer.stories.svelte +99 -0
  17. package/dist/components/drawer/Drawer.stories.svelte.d.ts +27 -0
  18. package/dist/components/drawer/Drawer.svelte +45 -0
  19. package/dist/components/drawer/Drawer.svelte.d.ts +12 -0
  20. package/dist/components/drawer/DrawerLabel.svelte +13 -0
  21. package/dist/components/drawer/DrawerLabel.svelte.d.ts +9 -0
  22. package/dist/components/dropdown/Dropdown.stories.svelte +214 -0
  23. package/dist/components/dropdown/Dropdown.stories.svelte.d.ts +27 -0
  24. package/dist/components/dropdown/Dropdown.svelte +69 -0
  25. package/dist/components/dropdown/Dropdown.svelte.d.ts +14 -0
  26. package/dist/components/dropdown/components/DropdownContent.svelte +29 -0
  27. package/dist/components/dropdown/components/DropdownContent.svelte.d.ts +10 -0
  28. package/dist/components/dropdown/components/DropdownMenu.svelte +23 -0
  29. package/dist/components/dropdown/components/DropdownMenu.svelte.d.ts +8 -0
  30. package/dist/components/dropdown/components/DropdownTrigger.svelte +44 -0
  31. package/dist/components/dropdown/components/DropdownTrigger.svelte.d.ts +12 -0
  32. package/dist/components/icon-button/IconButton.stories.svelte +52 -0
  33. package/dist/components/icon-button/IconButton.stories.svelte.d.ts +19 -0
  34. package/dist/components/icon-button/IconButton.svelte +71 -0
  35. package/dist/components/icon-button/IconButton.svelte.d.ts +14 -0
  36. package/dist/components/image/Image.svelte +56 -0
  37. package/dist/components/image/Image.svelte.d.ts +7 -0
  38. package/dist/components/input/Input.stories.svelte +81 -0
  39. package/dist/components/input/Input.stories.svelte.d.ts +27 -0
  40. package/dist/components/input/Input.svelte +131 -0
  41. package/dist/components/input/Input.svelte.d.ts +20 -0
  42. package/dist/components/list/List.stories.svelte +97 -0
  43. package/dist/components/list/List.stories.svelte.d.ts +19 -0
  44. package/dist/components/list/List.svelte +75 -0
  45. package/dist/components/list/List.svelte.d.ts +24 -0
  46. package/dist/components/markdown/Markdown.stories.svelte +41 -0
  47. package/dist/components/markdown/Markdown.stories.svelte.d.ts +27 -0
  48. package/dist/components/markdown/Markdown.svelte +12 -0
  49. package/dist/components/markdown/Markdown.svelte.d.ts +6 -0
  50. package/dist/components/modal/Modal.stories.svelte +41 -0
  51. package/dist/components/modal/Modal.stories.svelte.d.ts +19 -0
  52. package/dist/components/modal/Modal.svelte +56 -0
  53. package/dist/components/modal/Modal.svelte.d.ts +16 -0
  54. package/dist/components/notification-popup/NotificationPopup.stories.svelte +27 -0
  55. package/dist/components/notification-popup/NotificationPopup.stories.svelte.d.ts +27 -0
  56. package/dist/components/notification-popup/NotificationPopup.svelte +31 -0
  57. package/dist/components/notification-popup/NotificationPopup.svelte.d.ts +11 -0
  58. package/dist/components/pill/Pill.svelte +39 -0
  59. package/dist/components/pill/Pill.svelte.d.ts +10 -0
  60. package/dist/components/progress-circle/ProgressCircle.svelte +79 -0
  61. package/dist/components/progress-circle/ProgressCircle.svelte.d.ts +7 -0
  62. package/dist/components/segmented-control-buttons/ControlButton.svelte +59 -0
  63. package/dist/components/segmented-control-buttons/ControlButton.svelte.d.ts +14 -0
  64. package/dist/components/segmented-control-buttons/SegmentedControlButtons.stories.svelte +45 -0
  65. package/dist/components/segmented-control-buttons/SegmentedControlButtons.stories.svelte.d.ts +19 -0
  66. package/dist/components/segmented-control-buttons/SegmentedControlButtons.svelte +21 -0
  67. package/dist/components/segmented-control-buttons/SegmentedControlButtons.svelte.d.ts +10 -0
  68. package/dist/components/select/Select.stories.svelte +113 -0
  69. package/dist/components/select/Select.stories.svelte.d.ts +19 -0
  70. package/dist/components/select/Select.svelte +137 -0
  71. package/dist/components/select/Select.svelte.d.ts +60 -0
  72. package/dist/components/select/index.d.ts +6 -0
  73. package/dist/components/select/index.js +1 -0
  74. package/dist/components/skeleton-loader/HorizontalCardSkeleton.svelte +31 -0
  75. package/dist/components/skeleton-loader/HorizontalCardSkeleton.svelte.d.ts +5 -0
  76. package/dist/components/skeleton-loader/ProjectCardSkeleton.svelte +12 -0
  77. package/dist/components/skeleton-loader/ProjectCardSkeleton.svelte.d.ts +18 -0
  78. package/dist/components/skeleton-loader/SkeletonLoader.stories.svelte +71 -0
  79. package/dist/components/skeleton-loader/SkeletonLoader.stories.svelte.d.ts +27 -0
  80. package/dist/components/skeleton-loader/SkeletonLoader.svelte +17 -0
  81. package/dist/components/skeleton-loader/SkeletonLoader.svelte.d.ts +9 -0
  82. package/dist/components/skeleton-loader/StatcardSkeleton.svelte +17 -0
  83. package/dist/components/skeleton-loader/StatcardSkeleton.svelte.d.ts +18 -0
  84. package/dist/components/skeleton-loader/components/Skeleton.svelte +14 -0
  85. package/dist/components/skeleton-loader/components/Skeleton.svelte.d.ts +8 -0
  86. package/dist/components/skeleton-loader/components/SkeletonImage.svelte +14 -0
  87. package/dist/components/skeleton-loader/components/SkeletonImage.svelte.d.ts +26 -0
  88. package/dist/components/skeleton-loader/index.d.ts +5 -0
  89. package/dist/components/skeleton-loader/index.js +5 -0
  90. package/dist/components/slider/Slider.stories.svelte +37 -0
  91. package/dist/components/slider/Slider.stories.svelte.d.ts +27 -0
  92. package/dist/components/slider/Slider.svelte +117 -0
  93. package/dist/components/slider/Slider.svelte.d.ts +29 -0
  94. package/dist/components/spinner/Spinner.svelte +27 -0
  95. package/dist/components/spinner/Spinner.svelte.d.ts +6 -0
  96. package/dist/components/stat-card/StatCard.stories.svelte +31 -0
  97. package/dist/components/stat-card/StatCard.stories.svelte.d.ts +27 -0
  98. package/dist/components/stat-card/StatCard.svelte +46 -0
  99. package/dist/components/stat-card/StatCard.svelte.d.ts +9 -0
  100. package/dist/components/status-badge/StatusBadge.stories.svelte +401 -0
  101. package/dist/components/status-badge/StatusBadge.stories.svelte.d.ts +19 -0
  102. package/dist/components/status-badge/StatusBadge.svelte +147 -0
  103. package/dist/components/status-badge/StatusBadge.svelte.d.ts +12 -0
  104. package/dist/components/table/Table.stories.svelte +86 -0
  105. package/dist/components/table/Table.stories.svelte.d.ts +24 -0
  106. package/dist/components/table/Table.svelte +33 -0
  107. package/dist/components/table/Table.svelte.d.ts +8 -0
  108. package/dist/components/table/components/Td.svelte +14 -0
  109. package/dist/components/table/components/Td.svelte.d.ts +8 -0
  110. package/dist/components/table/components/Th.svelte +15 -0
  111. package/dist/components/table/components/Th.svelte.d.ts +9 -0
  112. package/dist/components/table/components/Tr.svelte +31 -0
  113. package/dist/components/table/components/Tr.svelte.d.ts +8 -0
  114. package/dist/components/tabs/Tabs.stories.svelte +30 -0
  115. package/dist/components/tabs/Tabs.stories.svelte.d.ts +27 -0
  116. package/dist/components/tabs/Tabs.svelte +15 -0
  117. package/dist/components/tabs/Tabs.svelte.d.ts +8 -0
  118. package/dist/components/tabs/components/Content.svelte +15 -0
  119. package/dist/components/tabs/components/Content.svelte.d.ts +9 -0
  120. package/dist/components/tabs/components/Tab.svelte +21 -0
  121. package/dist/components/tabs/components/Tab.svelte.d.ts +10 -0
  122. package/dist/components/tabs/components/Tabs.svelte +14 -0
  123. package/dist/components/tabs/components/Tabs.svelte.d.ts +8 -0
  124. package/dist/components/tag/Tag.stories.svelte +50 -0
  125. package/dist/components/tag/Tag.stories.svelte.d.ts +19 -0
  126. package/dist/components/tag/Tag.svelte +104 -0
  127. package/dist/components/tag/Tag.svelte.d.ts +11 -0
  128. package/dist/components/toast/Toast.svelte +66 -0
  129. package/dist/components/toast/Toast.svelte.d.ts +5 -0
  130. package/dist/index.d.ts +1 -1
  131. package/dist/index.js +1 -1
  132. package/dist/tailwind-safelist.d.ts +14 -0
  133. package/dist/tailwind-safelist.js +148 -0
  134. package/dist/tailwind.preset.d.ts +1 -0
  135. package/dist/tokens.d.ts +314 -36
  136. package/dist/tokens.js +235 -248
  137. package/package.json +5 -6
  138. package/dist/tailwind-safelist.txt +0 -142
@@ -0,0 +1,104 @@
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+ import Tooltip from 'design-system/components/tooltip/Tooltip.svelte';
4
+
5
+ interface Props {
6
+ children: Snippet;
7
+ variant?: 'default' | 'outline' | 'transparent';
8
+ size?: 'sm' | 'md';
9
+ tooltip?: string;
10
+ onclick?: (event: MouseEvent) => void;
11
+ class?: string;
12
+ }
13
+
14
+ let {
15
+ children,
16
+ variant = 'default',
17
+ size = 'md',
18
+ tooltip,
19
+ onclick,
20
+ class: className
21
+ }: Props = $props();
22
+
23
+ const sizes = {
24
+ sm: 'h-6 text-xs',
25
+ md: 'h-6 text-sm'
26
+ };
27
+ let sizeClassName = $derived(sizes[size]);
28
+
29
+ const variants = {
30
+ default: 'bg-neutral text-primary',
31
+ outline: 'bg-transparent text-secondary border',
32
+ transparent: 'bg-transparent text-secondary'
33
+ };
34
+
35
+ const buttonClassVariants = {
36
+ default: 'hover:bg-neutral-hover',
37
+ outline: 'hover:bg-neutral hover:text-primary',
38
+ transparent: 'hover:bg-neutral hover:text-primary'
39
+ };
40
+
41
+ let variantClassName = $derived(variants[variant]);
42
+ let buttonClassVariant = $derived(buttonClassVariants[variant]);
43
+ </script>
44
+
45
+ {#snippet renderTag()}
46
+ {#if onclick}
47
+ <button
48
+ class="outer {variantClassName} {sizeClassName} {buttonClassVariant} hover:cursor-pointer {className} "
49
+ title={tooltip}
50
+ {onclick}
51
+ >
52
+ {@render children()}
53
+ </button>
54
+ {:else}
55
+ <div class="outer {variantClassName} {sizeClassName} no-underline {className}" title={tooltip}>
56
+ {@render children()}
57
+ </div>
58
+ {/if}
59
+ {/snippet}
60
+
61
+ {#if tooltip}
62
+ <Tooltip>
63
+ {#snippet trigger()}
64
+ {@render renderTag()}
65
+ {/snippet}
66
+ {#snippet content()}
67
+ {tooltip}
68
+ {/snippet}
69
+ </Tooltip>
70
+ {:else}
71
+ {@render renderTag()}
72
+ {/if}
73
+
74
+ <style>
75
+ .outer {
76
+
77
+ display: flex;
78
+
79
+ align-items: center;
80
+
81
+ gap: 0.5rem;
82
+
83
+ overflow: hidden;
84
+
85
+ text-overflow: ellipsis;
86
+
87
+ white-space: nowrap;
88
+
89
+ border-radius: 0.25rem;
90
+
91
+ padding: 0.25rem
92
+ }
93
+
94
+ svg {
95
+
96
+ height: 1rem;
97
+
98
+ width: 1rem;
99
+
100
+ --tw-text-opacity: 1;
101
+
102
+ color: rgb(136 140 148 / var(--tw-text-opacity, 1))
103
+ }
104
+ </style>
@@ -0,0 +1,11 @@
1
+ import type { Snippet } from 'svelte';
2
+ declare const Tag: import("svelte").Component<{
3
+ children: Snippet;
4
+ variant?: "default" | "outline" | "transparent";
5
+ size?: "sm" | "md";
6
+ tooltip?: string;
7
+ onclick?: (event: MouseEvent) => void;
8
+ class?: string;
9
+ }, {}, "">;
10
+ type Tag = ReturnType<typeof Tag>;
11
+ export default Tag;
@@ -0,0 +1,66 @@
1
+ <script lang="ts">
2
+ import { flip } from 'svelte/animate';
3
+ import { fly } from 'svelte/transition';
4
+ import { notifications } from '../../notifications';
5
+
6
+ /**
7
+ * @typedef {Object} Props
8
+ * @property {any} [themes]
9
+ */
10
+
11
+ /** @type {Props} */
12
+ let {
13
+ themes = {
14
+ danger: '#E26D69',
15
+ success: '#84C991',
16
+ warning: '#f0ad4e',
17
+ info: '#5bc0de',
18
+ default: '#aaaaaa'
19
+ }
20
+ } = $props();
21
+ </script>
22
+
23
+ <div class="notifications">
24
+ {#each $notifications as notification (notification.id)}
25
+ <div
26
+ animate:flip
27
+ class="toast-custom"
28
+ style="background: {themes[notification.type]};"
29
+ transition:fly={{ y: 30 }}
30
+ >
31
+ <div class="content">{notification.message}</div>
32
+ {#if notification.icon}<i class={notification.icon}></i>{/if}
33
+ </div>
34
+ {/each}
35
+ </div>
36
+
37
+ <style>
38
+ .notifications {
39
+ position: fixed;
40
+ top: 10px;
41
+ left: 0;
42
+ right: 0;
43
+ margin: 0 auto;
44
+ padding: 0;
45
+ z-index: 9999;
46
+ display: flex;
47
+ flex-direction: column;
48
+ justify-content: flex-start;
49
+ align-items: center;
50
+ pointer-events: none;
51
+ }
52
+
53
+ .toast-custom {
54
+ flex: 0 0 auto;
55
+ padding: 0 16px;
56
+ margin-bottom: 10px;
57
+ border-radius: 100px;
58
+ }
59
+
60
+ .content {
61
+ padding: 10px;
62
+ display: block;
63
+ color: white;
64
+ font-weight: 500;
65
+ }
66
+ </style>
@@ -0,0 +1,5 @@
1
+ declare const Toast: import("svelte").Component<{
2
+ themes?: Record<string, any>;
3
+ }, {}, "">;
4
+ type Toast = ReturnType<typeof Toast>;
5
+ export default Toast;
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  export { default as Avatar } from './components/avatar/Avatar.svelte';
2
2
  export { default as Tooltip } from './components/tooltip/Tooltip.svelte';
3
- export { tokens } from './tokens.js';
3
+ export { tokens } from './tokens';
4
4
  import './app.css';
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // Reexport your entry components here
2
2
  export { default as Avatar } from './components/avatar/Avatar.svelte';
3
3
  export { default as Tooltip } from './components/tooltip/Tooltip.svelte';
4
- export { tokens } from './tokens.js';
4
+ export { tokens } from './tokens';
5
5
  import './app.css';
@@ -0,0 +1,14 @@
1
+ export const textColors: string[];
2
+ export const iconColors: string[];
3
+ export const backgroundColors: string[];
4
+ export const borders: string[];
5
+ export const shadows: string[];
6
+ export const textSizes: string[];
7
+ export const fonts: string[];
8
+ export const badges: string[];
9
+ export const tooltips: string[];
10
+ export const sizes: string[];
11
+ export const display: string[];
12
+ export const rounded: string[];
13
+ export const tables: string[];
14
+ export const safelist: string[];
@@ -0,0 +1,148 @@
1
+ // Used to safelist classnames so we can add styles dynamic.
2
+ // This should include all the values used in the design system.
3
+ // Read more here: https://daisyui.com/blog/most-common-mistake-when-using-tailwind-css/
4
+
5
+ export const textColors = [
6
+ 'text-primary',
7
+ 'text-primary-inverse',
8
+ 'text-secondary',
9
+ 'text-secondary-inverse',
10
+ 'text-tertiary',
11
+ 'text-tertiary-inverse',
12
+ 'text-accent',
13
+ 'text-success',
14
+ 'text-warning',
15
+ 'text-danger'
16
+ ];
17
+
18
+ export const iconColors = [
19
+ 'text-icon-primary',
20
+ 'text-icon-primary-inverse',
21
+ 'text-icon-secondary',
22
+ 'text-icon-tertiary',
23
+ 'text-icon-accent',
24
+ 'text-icon-success',
25
+ 'text-icon-warning',
26
+ 'text-icon-danger',
27
+ 'text-icon-blue',
28
+ 'text-icon-orange',
29
+ 'text-icon-sky'
30
+ ];
31
+
32
+ export const backgroundColors = [
33
+ 'bg-surface',
34
+ 'bg-surface-secondary',
35
+ 'bg-base',
36
+ 'bg-base-inverse',
37
+ 'bg-neutral',
38
+ 'bg-neutral-hover',
39
+ 'bg-neutral-darker',
40
+ 'bg-neutral-darker-hover',
41
+ 'bg-neutral-inverse',
42
+ 'bg-neutral-inverse-hover',
43
+ 'bg-accent',
44
+ 'bg-accent-hover',
45
+ 'bg-accent-inverse',
46
+ 'bg-accent-inverse-hover',
47
+ 'bg-success',
48
+ 'bg-success-hover',
49
+ 'bg-success-inverse',
50
+ 'bg-success-inverse-hover',
51
+ 'bg-warning',
52
+ 'bg-warning-hover',
53
+ 'bg-warning-inverse',
54
+ 'bg-warning-inverse-hover',
55
+ 'bg-danger',
56
+ 'bg-danger-hover',
57
+ 'bg-danger-inverse',
58
+ 'bg-danger-inverse-hover',
59
+ 'bg-blue',
60
+ 'bg-blue-hover',
61
+ 'bg-orange',
62
+ 'bg-orange-hover',
63
+ 'bg-orange-inverse',
64
+ 'bg-orange-inverse-hover',
65
+ 'bg-sky',
66
+ 'bg-sky-hover',
67
+ 'bg-sky-inverse',
68
+ 'bg-sky-inverse-hover'
69
+ ];
70
+
71
+ export const borders = [
72
+ 'border-static',
73
+ 'border-interactive',
74
+ 'border-hover',
75
+ 'border-focus',
76
+ 'border-danger'
77
+ ];
78
+
79
+ export const shadows = [
80
+ 'shadow',
81
+ 'shadow-none',
82
+ 'shadow-field',
83
+ 'shadow-nav',
84
+ 'shadow-calendar',
85
+ 'shadow-container',
86
+ 'shadow-panel',
87
+ 'shadow-outline',
88
+ 'shadow-focus'
89
+ ];
90
+
91
+ export const textSizes = [
92
+ 'text-xxs',
93
+ 'text-xs',
94
+ 'text-sm',
95
+ 'text-md',
96
+ 'text-lg',
97
+ 'text-xl',
98
+ 'text-2xl',
99
+ 'text-3xl',
100
+ 'text-4xl'
101
+ ];
102
+
103
+ export const fonts = ['font-medium', 'font-semibold', 'font-bold'];
104
+
105
+ export const badges = [
106
+ 'badge-neutral',
107
+ 'badge-success',
108
+ 'badge-warning',
109
+ 'badge-progress',
110
+ 'badge-error',
111
+ 'badge-md',
112
+ 'badge-sm'
113
+ ];
114
+
115
+ export const tooltips = ['tooltip-top', 'tooltip-right', 'tooltip-bottom', 'tooltip-left'];
116
+
117
+ export const sizes = ['h-5', 'w-5', 'min-w-5', 'h-7', 'w-7', 'min-w-7'];
118
+
119
+ export const display = [
120
+ 'flex',
121
+ 'items-center',
122
+ 'justify-center',
123
+ 'flex-row',
124
+ 'flex-col',
125
+ 'px-2',
126
+ 'py-1'
127
+ ];
128
+
129
+ export const rounded = ['rounded-full', 'rounded'];
130
+
131
+ export const tables = ['table-fixed', 'table-auto'];
132
+
133
+ // Export all arrays as a single safelist
134
+ export const safelist = [
135
+ ...textColors,
136
+ ...iconColors,
137
+ ...backgroundColors,
138
+ ...borders,
139
+ ...shadows,
140
+ ...textSizes,
141
+ ...fonts,
142
+ ...badges,
143
+ ...tooltips,
144
+ ...sizes,
145
+ ...display,
146
+ ...rounded,
147
+ ...tables
148
+ ];
@@ -115,6 +115,7 @@ declare const config: {
115
115
  };
116
116
  5: {
117
117
  default: string;
118
+ 5: string;
118
119
  10: string;
119
120
  25: string;
120
121
  };