@reshape-biotech/design-system 0.0.45 → 0.0.47

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 (221) hide show
  1. package/dist/index.css +1 -0
  2. package/dist/index.js +68464 -34
  3. package/dist/index.umd.cjs +148 -0
  4. package/package.json +17 -15
  5. package/dist/app.css +0 -103
  6. package/dist/components/avatar/Avatar.svelte +0 -63
  7. package/dist/components/avatar/Avatar.svelte.d.ts +0 -8
  8. package/dist/components/avatar/index.d.ts +0 -1
  9. package/dist/components/avatar/index.js +0 -1
  10. package/dist/components/banner/Banner.stories.svelte +0 -129
  11. package/dist/components/banner/Banner.stories.svelte.d.ts +0 -19
  12. package/dist/components/banner/Banner.svelte +0 -59
  13. package/dist/components/banner/Banner.svelte.d.ts +0 -11
  14. package/dist/components/banner/index.d.ts +0 -1
  15. package/dist/components/banner/index.js +0 -1
  16. package/dist/components/button/Button.stories.svelte +0 -37
  17. package/dist/components/button/Button.stories.svelte.d.ts +0 -19
  18. package/dist/components/button/Button.svelte +0 -176
  19. package/dist/components/button/Button.svelte.d.ts +0 -17
  20. package/dist/components/button/index.d.ts +0 -1
  21. package/dist/components/button/index.js +0 -1
  22. package/dist/components/datepicker/DatePicker.svelte +0 -283
  23. package/dist/components/datepicker/DatePicker.svelte.d.ts +0 -8
  24. package/dist/components/datepicker/index.d.ts +0 -1
  25. package/dist/components/datepicker/index.js +0 -1
  26. package/dist/components/divider/Divider.stories.svelte +0 -14
  27. package/dist/components/divider/Divider.stories.svelte.d.ts +0 -27
  28. package/dist/components/divider/Divider.svelte +0 -9
  29. package/dist/components/divider/Divider.svelte.d.ts +0 -6
  30. package/dist/components/divider/index.d.ts +0 -1
  31. package/dist/components/divider/index.js +0 -1
  32. package/dist/components/drawer/Drawer.stories.svelte +0 -64
  33. package/dist/components/drawer/Drawer.stories.svelte.d.ts +0 -27
  34. package/dist/components/drawer/Drawer.svelte +0 -41
  35. package/dist/components/drawer/Drawer.svelte.d.ts +0 -12
  36. package/dist/components/drawer/DrawerLabel.svelte +0 -62
  37. package/dist/components/drawer/DrawerLabel.svelte.d.ts +0 -9
  38. package/dist/components/drawer/index.d.ts +0 -1
  39. package/dist/components/drawer/index.js +0 -1
  40. package/dist/components/dropdown/Dropdown.stories.svelte +0 -236
  41. package/dist/components/dropdown/Dropdown.stories.svelte.d.ts +0 -27
  42. package/dist/components/dropdown/Dropdown.svelte +0 -69
  43. package/dist/components/dropdown/Dropdown.svelte.d.ts +0 -26
  44. package/dist/components/dropdown/components/DropdownContent.svelte +0 -26
  45. package/dist/components/dropdown/components/DropdownContent.svelte.d.ts +0 -10
  46. package/dist/components/dropdown/components/DropdownMenu.svelte +0 -23
  47. package/dist/components/dropdown/components/DropdownMenu.svelte.d.ts +0 -8
  48. package/dist/components/dropdown/components/DropdownTrigger.svelte +0 -44
  49. package/dist/components/dropdown/components/DropdownTrigger.svelte.d.ts +0 -12
  50. package/dist/components/dropdown/components/OutlinedButton.svelte +0 -61
  51. package/dist/components/dropdown/components/OutlinedButton.svelte.d.ts +0 -8
  52. package/dist/components/dropdown/index.d.ts +0 -1
  53. package/dist/components/dropdown/index.js +0 -1
  54. package/dist/components/icon-button/IconButton.stories.svelte +0 -82
  55. package/dist/components/icon-button/IconButton.stories.svelte.d.ts +0 -19
  56. package/dist/components/icon-button/IconButton.svelte +0 -139
  57. package/dist/components/icon-button/IconButton.svelte.d.ts +0 -16
  58. package/dist/components/icon-button/index.d.ts +0 -1
  59. package/dist/components/icon-button/index.js +0 -1
  60. package/dist/components/image/Image.svelte +0 -56
  61. package/dist/components/image/Image.svelte.d.ts +0 -7
  62. package/dist/components/image/index.d.ts +0 -1
  63. package/dist/components/image/index.js +0 -1
  64. package/dist/components/input/Input.stories.svelte +0 -87
  65. package/dist/components/input/Input.stories.svelte.d.ts +0 -27
  66. package/dist/components/input/Input.svelte +0 -182
  67. package/dist/components/input/Input.svelte.d.ts +0 -21
  68. package/dist/components/input/index.d.ts +0 -1
  69. package/dist/components/input/index.js +0 -1
  70. package/dist/components/list/List.stories.svelte +0 -97
  71. package/dist/components/list/List.stories.svelte.d.ts +0 -19
  72. package/dist/components/list/List.svelte +0 -75
  73. package/dist/components/list/List.svelte.d.ts +0 -24
  74. package/dist/components/list/index.d.ts +0 -1
  75. package/dist/components/list/index.js +0 -1
  76. package/dist/components/logo/Logo.stories.svelte +0 -21
  77. package/dist/components/logo/Logo.stories.svelte.d.ts +0 -27
  78. package/dist/components/logo/Logo.svelte +0 -36
  79. package/dist/components/logo/Logo.svelte.d.ts +0 -6
  80. package/dist/components/logo/index.d.ts +0 -1
  81. package/dist/components/logo/index.js +0 -1
  82. package/dist/components/markdown/Markdown.stories.svelte +0 -41
  83. package/dist/components/markdown/Markdown.stories.svelte.d.ts +0 -27
  84. package/dist/components/markdown/Markdown.svelte +0 -12
  85. package/dist/components/markdown/Markdown.svelte.d.ts +0 -6
  86. package/dist/components/markdown/index.d.ts +0 -1
  87. package/dist/components/markdown/index.js +0 -1
  88. package/dist/components/modal/Modal.stories.svelte +0 -39
  89. package/dist/components/modal/Modal.stories.svelte.d.ts +0 -19
  90. package/dist/components/modal/Modal.svelte +0 -76
  91. package/dist/components/modal/Modal.svelte.d.ts +0 -17
  92. package/dist/components/modal/index.d.ts +0 -1
  93. package/dist/components/modal/index.js +0 -1
  94. package/dist/components/notification-popup/NotificationPopup.stories.svelte +0 -27
  95. package/dist/components/notification-popup/NotificationPopup.stories.svelte.d.ts +0 -27
  96. package/dist/components/notification-popup/NotificationPopup.svelte +0 -31
  97. package/dist/components/notification-popup/NotificationPopup.svelte.d.ts +0 -11
  98. package/dist/components/notification-popup/index.d.ts +0 -1
  99. package/dist/components/notification-popup/index.js +0 -1
  100. package/dist/components/pill/Pill.svelte +0 -39
  101. package/dist/components/pill/Pill.svelte.d.ts +0 -10
  102. package/dist/components/pill/index.d.ts +0 -1
  103. package/dist/components/pill/index.js +0 -1
  104. package/dist/components/progress-circle/ProgressCircle.svelte +0 -79
  105. package/dist/components/progress-circle/ProgressCircle.svelte.d.ts +0 -7
  106. package/dist/components/progress-circle/index.d.ts +0 -1
  107. package/dist/components/progress-circle/index.js +0 -1
  108. package/dist/components/segmented-control-buttons/ControlButton.svelte +0 -59
  109. package/dist/components/segmented-control-buttons/ControlButton.svelte.d.ts +0 -14
  110. package/dist/components/segmented-control-buttons/SegmentedControlButtons.stories.svelte +0 -45
  111. package/dist/components/segmented-control-buttons/SegmentedControlButtons.stories.svelte.d.ts +0 -19
  112. package/dist/components/segmented-control-buttons/SegmentedControlButtons.svelte +0 -21
  113. package/dist/components/segmented-control-buttons/SegmentedControlButtons.svelte.d.ts +0 -12
  114. package/dist/components/segmented-control-buttons/index.d.ts +0 -1
  115. package/dist/components/segmented-control-buttons/index.js +0 -1
  116. package/dist/components/select/Select.stories.svelte +0 -113
  117. package/dist/components/select/Select.stories.svelte.d.ts +0 -19
  118. package/dist/components/select/Select.svelte +0 -138
  119. package/dist/components/select/Select.svelte.d.ts +0 -60
  120. package/dist/components/select/index.d.ts +0 -7
  121. package/dist/components/select/index.js +0 -1
  122. package/dist/components/skeleton-loader/SkeletonLoader.stories.svelte +0 -45
  123. package/dist/components/skeleton-loader/SkeletonLoader.stories.svelte.d.ts +0 -27
  124. package/dist/components/skeleton-loader/SkeletonLoader.svelte +0 -17
  125. package/dist/components/skeleton-loader/SkeletonLoader.svelte.d.ts +0 -14
  126. package/dist/components/skeleton-loader/StatcardSkeleton.svelte +0 -17
  127. package/dist/components/skeleton-loader/StatcardSkeleton.svelte.d.ts +0 -18
  128. package/dist/components/skeleton-loader/components/Skeleton.svelte +0 -14
  129. package/dist/components/skeleton-loader/components/Skeleton.svelte.d.ts +0 -8
  130. package/dist/components/skeleton-loader/components/SkeletonImage.svelte +0 -14
  131. package/dist/components/skeleton-loader/components/SkeletonImage.svelte.d.ts +0 -26
  132. package/dist/components/skeleton-loader/index.d.ts +0 -3
  133. package/dist/components/skeleton-loader/index.js +0 -3
  134. package/dist/components/slider/Slider.stories.svelte +0 -37
  135. package/dist/components/slider/Slider.stories.svelte.d.ts +0 -27
  136. package/dist/components/slider/Slider.svelte +0 -117
  137. package/dist/components/slider/Slider.svelte.d.ts +0 -29
  138. package/dist/components/slider/index.d.ts +0 -1
  139. package/dist/components/slider/index.js +0 -1
  140. package/dist/components/spinner/Spinner.svelte +0 -27
  141. package/dist/components/spinner/Spinner.svelte.d.ts +0 -6
  142. package/dist/components/spinner/index.d.ts +0 -1
  143. package/dist/components/spinner/index.js +0 -1
  144. package/dist/components/stat-card/StatCard.stories.svelte +0 -32
  145. package/dist/components/stat-card/StatCard.stories.svelte.d.ts +0 -27
  146. package/dist/components/stat-card/StatCard.svelte +0 -52
  147. package/dist/components/stat-card/StatCard.svelte.d.ts +0 -10
  148. package/dist/components/stat-card/index.d.ts +0 -1
  149. package/dist/components/stat-card/index.js +0 -1
  150. package/dist/components/status-badge/StatusBadge.stories.svelte +0 -401
  151. package/dist/components/status-badge/StatusBadge.stories.svelte.d.ts +0 -19
  152. package/dist/components/status-badge/StatusBadge.svelte +0 -147
  153. package/dist/components/status-badge/StatusBadge.svelte.d.ts +0 -12
  154. package/dist/components/status-badge/index.d.ts +0 -1
  155. package/dist/components/status-badge/index.js +0 -1
  156. package/dist/components/table/Table.stories.svelte +0 -90
  157. package/dist/components/table/Table.stories.svelte.d.ts +0 -24
  158. package/dist/components/table/Table.svelte +0 -47
  159. package/dist/components/table/Table.svelte.d.ts +0 -21
  160. package/dist/components/table/components/TBody.svelte +0 -14
  161. package/dist/components/table/components/TBody.svelte.d.ts +0 -8
  162. package/dist/components/table/components/THead.svelte +0 -14
  163. package/dist/components/table/components/THead.svelte.d.ts +0 -8
  164. package/dist/components/table/components/Td.svelte +0 -14
  165. package/dist/components/table/components/Td.svelte.d.ts +0 -8
  166. package/dist/components/table/components/Th.svelte +0 -15
  167. package/dist/components/table/components/Th.svelte.d.ts +0 -9
  168. package/dist/components/table/components/Tr.svelte +0 -31
  169. package/dist/components/table/components/Tr.svelte.d.ts +0 -8
  170. package/dist/components/table/index.d.ts +0 -1
  171. package/dist/components/table/index.js +0 -1
  172. package/dist/components/tabs/Tabs.stories.svelte +0 -28
  173. package/dist/components/tabs/Tabs.stories.svelte.d.ts +0 -27
  174. package/dist/components/tabs/Tabs.svelte +0 -13
  175. package/dist/components/tabs/Tabs.svelte.d.ts +0 -14
  176. package/dist/components/tabs/components/Content.svelte +0 -15
  177. package/dist/components/tabs/components/Content.svelte.d.ts +0 -9
  178. package/dist/components/tabs/components/Tab.svelte +0 -21
  179. package/dist/components/tabs/components/Tab.svelte.d.ts +0 -10
  180. package/dist/components/tabs/components/Tabs.svelte +0 -14
  181. package/dist/components/tabs/components/Tabs.svelte.d.ts +0 -8
  182. package/dist/components/tabs/index.d.ts +0 -1
  183. package/dist/components/tabs/index.js +0 -1
  184. package/dist/components/tag/Tag.stories.svelte +0 -51
  185. package/dist/components/tag/Tag.stories.svelte.d.ts +0 -19
  186. package/dist/components/tag/Tag.svelte +0 -104
  187. package/dist/components/tag/Tag.svelte.d.ts +0 -11
  188. package/dist/components/tag/index.d.ts +0 -1
  189. package/dist/components/tag/index.js +0 -1
  190. package/dist/components/toggle/Toggle.stories.svelte +0 -15
  191. package/dist/components/toggle/Toggle.stories.svelte.d.ts +0 -27
  192. package/dist/components/toggle/Toggle.svelte +0 -73
  193. package/dist/components/toggle/Toggle.svelte.d.ts +0 -7
  194. package/dist/components/toggle/index.d.ts +0 -1
  195. package/dist/components/toggle/index.js +0 -1
  196. package/dist/components/tooltip/Tooltip.stories.svelte +0 -126
  197. package/dist/components/tooltip/Tooltip.stories.svelte.d.ts +0 -27
  198. package/dist/components/tooltip/Tooltip.svelte +0 -49
  199. package/dist/components/tooltip/Tooltip.svelte.d.ts +0 -13
  200. package/dist/components/tooltip/index.d.ts +0 -1
  201. package/dist/components/tooltip/index.js +0 -1
  202. package/dist/fonts/MDSystem-Medium.woff +0 -0
  203. package/dist/fonts/MDSystem-Medium.woff2 +0 -0
  204. package/dist/fonts/MDSystem-Regular.woff +0 -0
  205. package/dist/fonts/MDSystem-Regular.woff2 +0 -0
  206. package/dist/fonts/MDSystem-Semibold.woff +0 -0
  207. package/dist/fonts/MDSystem-Semibold.woff2 +0 -0
  208. package/dist/fonts/MDSystemMono-Regular.woff +0 -0
  209. package/dist/fonts/MDSystemMono-Regular.woff2 +0 -0
  210. package/dist/fonts/index.d.ts +0 -6
  211. package/dist/fonts/index.js +0 -10
  212. package/dist/index.d.ts +0 -32
  213. package/dist/tailwind-safelist.d.ts +0 -27
  214. package/dist/tailwind-safelist.js +0 -475
  215. package/dist/tailwind.d.ts +0 -11
  216. package/dist/tailwind.js +0 -1
  217. package/dist/tailwind.preset.d.ts +0 -331
  218. package/dist/tailwind.preset.js +0 -54
  219. package/dist/tokens.d.ts +0 -570
  220. package/dist/tokens.js +0 -267
  221. package/dist/types/fonts.d.ts +0 -4
@@ -1,12 +0,0 @@
1
- import type { Snippet } from 'svelte';
2
- interface Props {
3
- id: string;
4
- controlled?: boolean;
5
- open?: boolean;
6
- side?: 'left' | 'right';
7
- trigger?: Snippet;
8
- content: Snippet;
9
- }
10
- declare const Drawer: import("svelte").Component<Props, {}, "open">;
11
- type Drawer = ReturnType<typeof Drawer>;
12
- export default Drawer;
@@ -1,62 +0,0 @@
1
- <script lang="ts">
2
- import type { Snippet } from 'svelte';
3
-
4
- interface Props {
5
- id: string;
6
- classes?: string;
7
- children: Snippet;
8
- }
9
-
10
- let { id, classes = '', children }: Props = $props();
11
- </script>
12
-
13
- <label for={id} class={`${classes}`}>{@render children()}</label>
14
-
15
- <style>
16
- label {
17
-
18
- display: flex;
19
-
20
- width: 100%;
21
-
22
- cursor: pointer;
23
-
24
- align-items: center;
25
-
26
- gap: 0.25rem;
27
-
28
- border-radius: 0.5rem;
29
-
30
- border-width: 1px;
31
-
32
- border-color: #12192A1A;
33
-
34
- --tw-bg-opacity: 1;
35
-
36
- background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
37
-
38
- padding: 0.75rem;
39
-
40
- --tw-text-opacity: 1;
41
-
42
- color: rgb(18 25 42 / var(--tw-text-opacity, 1));
43
-
44
- --tw-shadow: 0px 1px 4px 0px rgba(18, 25, 42, 0.04);
45
-
46
- --tw-shadow-colored: 0px 1px 4px 0px var(--tw-shadow-color);
47
-
48
- box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
49
- }
50
-
51
- label:not(:focus-within):hover {
52
-
53
- border-color: #5750ee40
54
- }
55
-
56
- label:focus-within {
57
-
58
- --tw-border-opacity: 1;
59
-
60
- border-color: rgb(87 80 238 / var(--tw-border-opacity, 1))
61
- }
62
- </style>
@@ -1,9 +0,0 @@
1
- import type { Snippet } from 'svelte';
2
- interface Props {
3
- id: string;
4
- classes?: string;
5
- children: Snippet;
6
- }
7
- declare const DrawerLabel: import("svelte").Component<Props, {}, "">;
8
- type DrawerLabel = ReturnType<typeof DrawerLabel>;
9
- export default DrawerLabel;
@@ -1 +0,0 @@
1
- export { default as Drawer } from './Drawer.svelte';
@@ -1 +0,0 @@
1
- export { default as Drawer } from './Drawer.svelte';
@@ -1,236 +0,0 @@
1
- <script module>
2
- import { defineMeta } from '@storybook/addon-svelte-csf';
3
- import Dropdown from './Dropdown.svelte';
4
-
5
- const { Story } = defineMeta({
6
- component: Dropdown,
7
- title: 'Design System/Dropdown',
8
- tags: ['autodocs']
9
- });
10
- </script>
11
-
12
- <Story name="Primary">
13
- <div class="py-12">
14
- <Dropdown>
15
- {#snippet trigger({ Trigger })}
16
- <Trigger>Dropdown</Trigger>
17
- {/snippet}
18
- {#snippet content({ DropdownMenu })}
19
- <div>
20
- <DropdownMenu class="w-full">
21
- <li>
22
- <p>1st item</p>
23
- </li>
24
- <li>
25
- <p>2nd item</p>
26
- </li>
27
- </DropdownMenu>
28
- </div>
29
- {/snippet}
30
- </Dropdown>
31
- </div>
32
- </Story>
33
-
34
- <Story name="OutlinedButton">
35
- <div class="py-12">
36
- <Dropdown>
37
- {#snippet trigger({ OutlinedButton })}
38
- <OutlinedButton>Dropdown</OutlinedButton>
39
- {/snippet}
40
- {#snippet content({ DropdownMenu })}
41
- <div>
42
- <DropdownMenu class="w-full">
43
- <li>
44
- <p>1st item</p>
45
- </li>
46
- <li>
47
- <p>2nd item</p>
48
- </li>
49
- </DropdownMenu>
50
- </div>
51
- {/snippet}
52
- </Dropdown>
53
- </div>
54
- </Story>
55
-
56
- <Story name="Secondary">
57
- <div class="py-12">
58
- <Dropdown>
59
- {#snippet trigger({ Trigger })}
60
- <Trigger variant="secondary">Dropdown</Trigger>
61
- {/snippet}
62
- {#snippet content({ DropdownMenu })}
63
- <div>
64
- <DropdownMenu class="w-full">
65
- <li>
66
- <p>1st item</p>
67
- </li>
68
- <li>
69
- <p>2nd item</p>
70
- </li>
71
- </DropdownMenu>
72
- </div>
73
- {/snippet}
74
- </Dropdown>
75
- </div>
76
- </Story>
77
- <Story name="Transparent">
78
- <div class="py-12">
79
- <Dropdown>
80
- {#snippet trigger({ Trigger })}
81
- <Trigger variant="transparent">Dropdown</Trigger>
82
- {/snippet}
83
- {#snippet content({ DropdownMenu })}
84
- <div>
85
- <DropdownMenu class="w-full">
86
- <li>
87
- <p>1st item</p>
88
- </li>
89
- <li>
90
- <p>2nd item</p>
91
- </li>
92
- </DropdownMenu>
93
- </div>
94
- {/snippet}
95
- </Dropdown>
96
- </div>
97
- </Story>
98
- <Story name="Danger">
99
- <div class="py-12">
100
- <Dropdown>
101
- {#snippet trigger({ Trigger })}
102
- <Trigger variant="danger">Dropdown</Trigger>
103
- {/snippet}
104
- {#snippet content({ DropdownMenu })}
105
- <div>
106
- <DropdownMenu class="w-full">
107
- <li>
108
- <p>1st item</p>
109
- </li>
110
- <li>
111
- <p>2nd item</p>
112
- </li>
113
- </DropdownMenu>
114
- </div>
115
- {/snippet}
116
- </Dropdown>
117
- </div>
118
- </Story>
119
-
120
- <Story name="Sides">
121
- <div class="flex h-screen w-full items-center justify-center">
122
- <div class="flex flex-1 justify-between">
123
- <Dropdown open side="dropdown-bottom">
124
- {#snippet trigger({ Trigger })}
125
- <Trigger>Bottom</Trigger>
126
- {/snippet}
127
-
128
- {#snippet content({ DropdownMenu })}
129
- <div>
130
- <DropdownMenu class="w-[120px]">
131
- <li>
132
- <p>1st item</p>
133
- </li>
134
- <li>
135
- <p>2nd item</p>
136
- </li>
137
- </DropdownMenu>
138
- </div>
139
- {/snippet}
140
- </Dropdown>
141
- <Dropdown open side="dropdown-top">
142
- {#snippet trigger({ Trigger })}
143
- <Trigger>Top</Trigger>
144
- {/snippet}
145
- {#snippet content({ DropdownMenu })}
146
- <div>
147
- <DropdownMenu class="w-[120px]">
148
- <li>
149
- <p>1st item</p>
150
- </li>
151
- <li>
152
- <p>2nd item</p>
153
- </li>
154
- </DropdownMenu>
155
- </div>
156
- {/snippet}
157
- </Dropdown>
158
- <Dropdown open side="dropdown-right">
159
- {#snippet trigger({ Trigger })}
160
- <Trigger>Right</Trigger>
161
- {/snippet}
162
- {#snippet content({ DropdownMenu })}
163
- <div>
164
- <DropdownMenu class="w-[120px]">
165
- <li>
166
- <p>1st item</p>
167
- </li>
168
- <li>
169
- <p>2nd item</p>
170
- </li>
171
- </DropdownMenu>
172
- </div>
173
- {/snippet}
174
- </Dropdown>
175
- <Dropdown open side="dropdown-left">
176
- {#snippet trigger({ Trigger })}
177
- <Trigger>Left</Trigger>
178
- {/snippet}
179
- {#snippet content({ DropdownMenu })}
180
- <div>
181
- <DropdownMenu class="w-[120px]">
182
- <li>
183
- <p>1st item</p>
184
- </li>
185
- <li>
186
- <p>2nd item</p>
187
- </li>
188
- </DropdownMenu>
189
- </div>
190
- {/snippet}
191
- </Dropdown>
192
- </div>
193
- </div>
194
- </Story>
195
-
196
- <Story name="End align">
197
- <div class="py-12">
198
- <Dropdown alignEnd open>
199
- {#snippet trigger({ Trigger })}
200
- <Trigger>Dropdown</Trigger>
201
- {/snippet}
202
- {#snippet content({ DropdownMenu })}
203
- <div>
204
- <DropdownMenu>
205
- <li>
206
- <p>1st item</p>
207
- </li>
208
- <li>
209
- <p>2nd item</p>
210
- </li>
211
- </DropdownMenu>
212
- </div>
213
- {/snippet}
214
- </Dropdown>
215
- </div>
216
- </Story>
217
-
218
- <Story name="Other content">
219
- <div class="py-12">
220
- <Dropdown alignEnd open>
221
- {#snippet trigger({ Trigger })}
222
- <Trigger>Dropdown</Trigger>
223
- {/snippet}
224
- {#snippet content({ DropdownContent })}
225
- <div>
226
- <DropdownContent>
227
- <div>
228
- <p>This is a dropdown with other content</p>
229
- <p>It doesn't have to be list items</p>
230
- </div>
231
- </DropdownContent>
232
- </div>
233
- {/snippet}
234
- </Dropdown>
235
- </div>
236
- </Story>
@@ -1,27 +0,0 @@
1
- export default Dropdown;
2
- type Dropdown = SvelteComponent<{
3
- [x: string]: never;
4
- }, {
5
- [evt: string]: CustomEvent<any>;
6
- }, {}> & {
7
- $$bindings?: string | undefined;
8
- };
9
- declare const Dropdown: $$__sveltets_2_IsomorphicComponent<{
10
- [x: string]: never;
11
- }, {
12
- [evt: string]: CustomEvent<any>;
13
- }, {}, {}, string>;
14
- import Dropdown from './Dropdown.svelte';
15
- 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> {
16
- new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
17
- $$bindings?: Bindings;
18
- } & Exports;
19
- (internal: unknown, props: {
20
- $$events?: Events;
21
- $$slots?: Slots;
22
- }): Exports & {
23
- $set?: any;
24
- $on?: any;
25
- };
26
- z_$$bindings?: Bindings;
27
- }
@@ -1,69 +0,0 @@
1
- <script lang="ts">
2
- import type { Snippet } from 'svelte';
3
- import DropdownContent from './components/DropdownContent.svelte';
4
- import DropdownMenu from './components/DropdownMenu.svelte';
5
- import DropdownTrigger from './components/DropdownTrigger.svelte';
6
- import OutlinedButton from './components/OutlinedButton.svelte';
7
-
8
- interface Props {
9
- side?: 'dropdown-top' | 'dropdown-bottom' | 'dropdown-left' | 'dropdown-right';
10
- open?: boolean;
11
- alignEnd?: boolean;
12
- openOnHover?: boolean;
13
- closeOnItemClick?: boolean;
14
- class?: string;
15
- trigger?: Snippet<[{ Trigger: typeof DropdownTrigger; OutlinedButton: typeof OutlinedButton }]>;
16
- content?: Snippet<
17
- [{ DropdownContent: typeof DropdownContent; DropdownMenu: typeof DropdownMenu }]
18
- >;
19
- }
20
-
21
- let {
22
- side = 'dropdown-bottom',
23
- open = $bindable(false),
24
- alignEnd = false,
25
- openOnHover = false,
26
- closeOnItemClick = false,
27
- class: className = '',
28
- trigger,
29
- content
30
- }: Props = $props();
31
-
32
- let C = {};
33
-
34
- const closeDropdown = () => {
35
- open = false;
36
- // https://medium.com/@malikhamzav/how-to-close-daisyui-dropdown-on-click-ea65c5749410
37
- document.activeElement instanceof HTMLElement && document.activeElement.blur();
38
- };
39
-
40
- function handleItemClick() {
41
- if (closeOnItemClick) {
42
- closeDropdown();
43
- }
44
- }
45
-
46
- function handleKeyDown(event: KeyboardEvent) {
47
- if (event.key === 'Escape') {
48
- closeDropdown();
49
- }
50
- }
51
- </script>
52
-
53
- <div
54
- class="dropdown {side} {className}"
55
- class:dropdown-end={alignEnd}
56
- class:dropdown-open={open}
57
- class:dropdown-hover={openOnHover}
58
- >
59
- {@render trigger?.({ Trigger: DropdownTrigger, OutlinedButton: OutlinedButton })}
60
- <div
61
- class="dropdown-content z-10 w-full"
62
- role="menu"
63
- tabindex="-1"
64
- onkeydown={handleKeyDown}
65
- onclick={handleItemClick}
66
- >
67
- {@render content?.({ DropdownMenu, DropdownContent })}
68
- </div>
69
- </div>
@@ -1,26 +0,0 @@
1
- import type { Snippet } from 'svelte';
2
- import DropdownContent from './components/DropdownContent.svelte';
3
- import DropdownMenu from './components/DropdownMenu.svelte';
4
- import DropdownTrigger from './components/DropdownTrigger.svelte';
5
- import OutlinedButton from './components/OutlinedButton.svelte';
6
- interface Props {
7
- side?: 'dropdown-top' | 'dropdown-bottom' | 'dropdown-left' | 'dropdown-right';
8
- open?: boolean;
9
- alignEnd?: boolean;
10
- openOnHover?: boolean;
11
- closeOnItemClick?: boolean;
12
- class?: string;
13
- trigger?: Snippet<[{
14
- Trigger: typeof DropdownTrigger;
15
- OutlinedButton: typeof OutlinedButton;
16
- }]>;
17
- content?: Snippet<[
18
- {
19
- DropdownContent: typeof DropdownContent;
20
- DropdownMenu: typeof DropdownMenu;
21
- }
22
- ]>;
23
- }
24
- declare const Dropdown: import("svelte").Component<Props, {}, "open">;
25
- type Dropdown = ReturnType<typeof Dropdown>;
26
- export default Dropdown;
@@ -1,26 +0,0 @@
1
- <script lang="ts">
2
- import type { Snippet } from 'svelte';
3
-
4
- type Variant = 'primary' | 'secondary';
5
-
6
- interface Props {
7
- class?: string;
8
- variant?: Variant;
9
- children?: Snippet;
10
- }
11
-
12
- const Variants: Record<Variant, string> = {
13
- primary: 'bg-surface text-primary',
14
- secondary: 'bg-base-inverse text-primary-inverse'
15
- };
16
-
17
- let { class: className = '', variant = 'primary', children }: Props = $props();
18
-
19
- let variantClass = $derived(Variants[variant]);
20
- </script>
21
-
22
- <!-- svelte-ignore a11y_no_noninteractive_tabindex -->
23
- <!-- DaisyUI have a bug wit safari dropdown. Requires tabindex=0-->
24
- <div class={`z-[1] mb-2 rounded-md p-1 shadow-2xl ${variantClass} ${className}`} tabindex="0">
25
- {@render children?.()}
26
- </div>
@@ -1,10 +0,0 @@
1
- import type { Snippet } from 'svelte';
2
- type Variant = 'primary' | 'secondary';
3
- interface Props {
4
- class?: string;
5
- variant?: Variant;
6
- children?: Snippet;
7
- }
8
- declare const DropdownContent: import("svelte").Component<Props, {}, "">;
9
- type DropdownContent = ReturnType<typeof DropdownContent>;
10
- export default DropdownContent;
@@ -1,23 +0,0 @@
1
- <script lang="ts">
2
- import type { Snippet } from 'svelte';
3
-
4
- interface Props {
5
- class?: string;
6
- children?: Snippet;
7
- }
8
-
9
- let { class: className = '', children }: Props = $props();
10
- </script>
11
-
12
- <ul
13
- tabIndex="0"
14
- class={`menu dropdown-content menu-md z-[1] rounded-md bg-surface p-1 shadow-2xl ${className}`}
15
- >
16
- {@render children?.()}
17
- </ul>
18
-
19
- <style>
20
- :global(.menu li > *:not(ul):not(.menu-title):not(details):active) {
21
- background-color: #12192A1A
22
- }
23
- </style>
@@ -1,8 +0,0 @@
1
- import type { Snippet } from 'svelte';
2
- interface Props {
3
- class?: string;
4
- children?: Snippet;
5
- }
6
- declare const DropdownMenu: import("svelte").Component<Props, {}, "">;
7
- type DropdownMenu = ReturnType<typeof DropdownMenu>;
8
- export default DropdownMenu;
@@ -1,44 +0,0 @@
1
- <script lang="ts">
2
- import type { Snippet } from 'svelte';
3
- interface Props {
4
- size?: 'sm' | 'md' | 'lg';
5
- class?: string;
6
- variant?: Color;
7
- children?: Snippet;
8
- noPadding?: boolean;
9
- }
10
- let {
11
- size = 'md',
12
- class: className = '',
13
- variant = 'primary',
14
- children,
15
- noPadding = false
16
- }: Props = $props();
17
-
18
- type Color = 'primary' | 'secondary' | 'transparent' | 'danger';
19
-
20
- const sizes = $derived({
21
- sm: `h-8 ${noPadding ? 'px-0' : 'px-3'} ${noPadding ? 'py-0' : 'py-2'}`,
22
- md: 'h-10 px-5 py-3',
23
- lg: 'h-12 px-6 py-4'
24
- });
25
-
26
- const colors: Record<Color, string> = {
27
- primary:
28
- 'bg-accent-inverse text-primary-inverse hover:bg-accent-inverse-hover disabled:bg-neutral disabled:text-tertiary',
29
- secondary:
30
- 'bg-neutral text-primary hover:bg-neutral-hover disabled:bg-neutral disabled:text-tertiary',
31
- transparent:
32
- 'bg-transparent text-primary hover:bg-neutral disabled:bg-neutral disabled:text-tertiary',
33
- danger:
34
- 'bg-danger text-primary-inverse hover:bg-danger-hover disabled:bg-neutral disabled:text-tertiary'
35
- };
36
- </script>
37
-
38
- <div
39
- role="button"
40
- tabindex="0"
41
- class={`inline-flex items-center justify-center gap-2 rounded-full text-base font-medium leading-6 ${colors[variant]} ${sizes[size]} ${className}`}
42
- >
43
- {@render children?.()}
44
- </div>
@@ -1,12 +0,0 @@
1
- import type { Snippet } from 'svelte';
2
- type Color = 'primary' | 'secondary' | 'transparent' | 'danger';
3
- interface Props {
4
- size?: 'sm' | 'md' | 'lg';
5
- class?: string;
6
- variant?: Color;
7
- children?: Snippet;
8
- noPadding?: boolean;
9
- }
10
- declare const DropdownTrigger: import("svelte").Component<Props, {}, "">;
11
- type DropdownTrigger = ReturnType<typeof DropdownTrigger>;
12
- export default DropdownTrigger;
@@ -1,61 +0,0 @@
1
- <script lang="ts">
2
- import type { Snippet } from 'svelte';
3
-
4
- interface Props {
5
- class?: string;
6
- children: Snippet;
7
- }
8
-
9
- let { class: className = '', children }: Props = $props();
10
- </script>
11
-
12
- <div role="button" tabindex="0" class={`${className}`}>{@render children()}</div>
13
-
14
- <style>
15
- div {
16
-
17
- display: flex;
18
-
19
- width: 100%;
20
-
21
- cursor: pointer;
22
-
23
- align-items: center;
24
-
25
- gap: 0.25rem;
26
-
27
- border-radius: 0.5rem;
28
-
29
- border-width: 1px;
30
-
31
- border-color: #12192A1A;
32
-
33
- --tw-bg-opacity: 1;
34
-
35
- background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
36
-
37
- padding: 0.75rem;
38
-
39
- --tw-text-opacity: 1;
40
-
41
- color: rgb(18 25 42 / var(--tw-text-opacity, 1));
42
-
43
- --tw-shadow: 0px 1px 4px 0px rgba(18, 25, 42, 0.04);
44
-
45
- --tw-shadow-colored: 0px 1px 4px 0px var(--tw-shadow-color);
46
-
47
- box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
48
- }
49
-
50
- div:not(:focus-within):hover {
51
-
52
- border-color: #5750ee40
53
- }
54
-
55
- div:focus-within {
56
-
57
- --tw-border-opacity: 1;
58
-
59
- border-color: rgb(87 80 238 / var(--tw-border-opacity, 1))
60
- }
61
- </style>
@@ -1,8 +0,0 @@
1
- import type { Snippet } from 'svelte';
2
- interface Props {
3
- class?: string;
4
- children: Snippet;
5
- }
6
- declare const OutlinedButton: import("svelte").Component<Props, {}, "">;
7
- type OutlinedButton = ReturnType<typeof OutlinedButton>;
8
- export default OutlinedButton;
@@ -1 +0,0 @@
1
- export { default as Dropdown } from './Dropdown.svelte';
@@ -1 +0,0 @@
1
- export { default as Dropdown } from './Dropdown.svelte';