@dust-tt/sparkle 0.2.288 → 0.2.289-rc-2
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/cjs/index.js +59763 -59984
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/components/Breadcrumbs.d.ts.map +1 -1
- package/dist/esm/components/Breadcrumbs.js +7 -4
- package/dist/esm/components/Breadcrumbs.js.map +1 -1
- package/dist/esm/components/Button.d.ts +1 -1
- package/dist/esm/components/Button.d.ts.map +1 -1
- package/dist/esm/components/Button.js +3 -3
- package/dist/esm/components/Button.js.map +1 -1
- package/dist/esm/components/DataTable.d.ts +3 -3
- package/dist/esm/components/DataTable.d.ts.map +1 -1
- package/dist/esm/components/DataTable.js +5 -4
- package/dist/esm/components/DataTable.js.map +1 -1
- package/dist/esm/components/IconButton.d.ts +3 -3
- package/dist/esm/components/IconButton.d.ts.map +1 -1
- package/dist/esm/components/IconButton.js +9 -12
- package/dist/esm/components/IconButton.js.map +1 -1
- package/dist/esm/components/NewDropdown.d.ts +1 -1
- package/dist/esm/components/NewDropdown.d.ts.map +1 -1
- package/dist/esm/components/index.d.ts +1 -1
- package/dist/esm/components/index.d.ts.map +1 -1
- package/dist/esm/components/index.js +0 -1
- package/dist/esm/components/index.js.map +1 -1
- package/dist/esm/stories/DataTable.stories.d.ts.map +1 -1
- package/dist/esm/stories/DataTable.stories.js +1 -1
- package/dist/esm/stories/DataTable.stories.js.map +1 -1
- package/dist/esm/stories/IconButton.stories.d.ts +11 -2
- package/dist/esm/stories/IconButton.stories.d.ts.map +1 -1
- package/dist/esm/stories/IconButton.stories.js +0 -3
- package/dist/esm/stories/IconButton.stories.js.map +1 -1
- package/dist/esm/stories/Item.stories.d.ts.map +1 -1
- package/dist/esm/stories/Item.stories.js +24 -18
- package/dist/esm/stories/Item.stories.js.map +1 -1
- package/dist/esm/stories/Tabs.stories.d.ts.map +1 -1
- package/dist/esm/stories/Tabs.stories.js.map +1 -1
- package/dist/sparkle.css +0 -106
- package/package.json +1 -1
- package/src/components/Breadcrumbs.tsx +26 -19
- package/src/components/Button.tsx +4 -4
- package/src/components/DataTable.tsx +22 -15
- package/src/components/IconButton.tsx +44 -46
- package/src/components/NewDropdown.tsx +1 -1
- package/src/components/index.ts +1 -1
- package/src/stories/DataTable.stories.tsx +6 -3
- package/src/stories/IconButton.stories.tsx +0 -3
- package/src/stories/Item.stories.tsx +70 -52
- package/src/stories/Tabs.stories.tsx +6 -1
- package/dist/esm/components/DropdownMenu.d.ts +0 -59
- package/dist/esm/components/DropdownMenu.d.ts.map +0 -1
- package/dist/esm/components/DropdownMenu.js +0 -214
- package/dist/esm/components/DropdownMenu.js.map +0 -1
- package/dist/esm/stories/DropdownMenu.stories.d.ts +0 -9
- package/dist/esm/stories/DropdownMenu.stories.d.ts.map +0 -1
- package/dist/esm/stories/DropdownMenu.stories.js +0 -223
- package/dist/esm/stories/DropdownMenu.stories.js.map +0 -1
- package/src/components/DropdownMenu.tsx +0 -521
- package/src/stories/DropdownMenu.stories.tsx +0 -518
|
@@ -1,518 +0,0 @@
|
|
|
1
|
-
import type { Meta } from "@storybook/react";
|
|
2
|
-
import React, { useState } from "react";
|
|
3
|
-
|
|
4
|
-
import {
|
|
5
|
-
Avatar,
|
|
6
|
-
Button,
|
|
7
|
-
ChatBubbleBottomCenterTextIcon,
|
|
8
|
-
ClipboardIcon,
|
|
9
|
-
DocumentDuplicateIcon,
|
|
10
|
-
DropdownMenu,
|
|
11
|
-
EyeIcon,
|
|
12
|
-
ListAddIcon,
|
|
13
|
-
ListIcon,
|
|
14
|
-
ListRemoveIcon,
|
|
15
|
-
LockIcon,
|
|
16
|
-
PencilSquareIcon,
|
|
17
|
-
PlanetIcon,
|
|
18
|
-
PlusIcon,
|
|
19
|
-
RobotIcon,
|
|
20
|
-
Searchbar,
|
|
21
|
-
SliderToggle,
|
|
22
|
-
TrashIcon,
|
|
23
|
-
UserGroupIcon,
|
|
24
|
-
} from "../index_with_tw_base";
|
|
25
|
-
|
|
26
|
-
const meta = {
|
|
27
|
-
title: "Components/DropdownMenu",
|
|
28
|
-
component: DropdownMenu,
|
|
29
|
-
} satisfies Meta<typeof DropdownMenu>;
|
|
30
|
-
|
|
31
|
-
export default meta;
|
|
32
|
-
|
|
33
|
-
export const DropdownExample = () => {
|
|
34
|
-
const [inputValue, setInputValue] = useState("");
|
|
35
|
-
|
|
36
|
-
const handleChange = (value: string) => {
|
|
37
|
-
setInputValue(value);
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
const [isToggled, setIsToggled] = useState(false);
|
|
41
|
-
|
|
42
|
-
const handleToggle = () => {
|
|
43
|
-
setIsToggled((prevState) => !prevState);
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
return (
|
|
47
|
-
<>
|
|
48
|
-
<div className="s-flex s-gap-6">
|
|
49
|
-
<div className="s-text-sm">Action</div>
|
|
50
|
-
<DropdownMenu>
|
|
51
|
-
<DropdownMenu.Button
|
|
52
|
-
label="Action"
|
|
53
|
-
onClick={() => console.log("CLICK")}
|
|
54
|
-
/>
|
|
55
|
-
<DropdownMenu.Items width={220}>
|
|
56
|
-
<DropdownMenu.SectionHeader label="Edition" />
|
|
57
|
-
<DropdownMenu.Item
|
|
58
|
-
label="Edit"
|
|
59
|
-
link={{ href: "#" }}
|
|
60
|
-
icon={PencilSquareIcon}
|
|
61
|
-
/>
|
|
62
|
-
<DropdownMenu.Item
|
|
63
|
-
label="Duplicate (New)"
|
|
64
|
-
link={{ href: "#" }}
|
|
65
|
-
icon={ClipboardIcon}
|
|
66
|
-
/>
|
|
67
|
-
<DropdownMenu.Item
|
|
68
|
-
label="Archive"
|
|
69
|
-
link={{ href: "#" }}
|
|
70
|
-
icon={TrashIcon}
|
|
71
|
-
variant="warning"
|
|
72
|
-
/>
|
|
73
|
-
<DropdownMenu.Item
|
|
74
|
-
label="Dust site"
|
|
75
|
-
link={{ href: "https://dust.tt", target: "_blank" }}
|
|
76
|
-
icon={EyeIcon}
|
|
77
|
-
/>
|
|
78
|
-
<DropdownMenu.SectionHeader label="Sharing" />
|
|
79
|
-
<DropdownMenu.Item
|
|
80
|
-
label="Company Assistant"
|
|
81
|
-
link={{ href: "#" }}
|
|
82
|
-
icon={PlanetIcon}
|
|
83
|
-
/>
|
|
84
|
-
<DropdownMenu.Item
|
|
85
|
-
label="Shared Assistant"
|
|
86
|
-
link={{ href: "#" }}
|
|
87
|
-
selected
|
|
88
|
-
icon={UserGroupIcon}
|
|
89
|
-
/>
|
|
90
|
-
<DropdownMenu.Item
|
|
91
|
-
label="Personal Assistant"
|
|
92
|
-
link={{ href: "#" }}
|
|
93
|
-
icon={LockIcon}
|
|
94
|
-
/>
|
|
95
|
-
<DropdownMenu.SectionHeader label="My Assistants" />
|
|
96
|
-
<DropdownMenu.Item
|
|
97
|
-
label="Add to my list"
|
|
98
|
-
link={{ href: "#" }}
|
|
99
|
-
icon={ListAddIcon}
|
|
100
|
-
/>
|
|
101
|
-
<DropdownMenu.Item
|
|
102
|
-
label="Remove from my list"
|
|
103
|
-
link={{ href: "#" }}
|
|
104
|
-
icon={ListRemoveIcon}
|
|
105
|
-
/>
|
|
106
|
-
</DropdownMenu.Items>
|
|
107
|
-
</DropdownMenu>
|
|
108
|
-
</div>
|
|
109
|
-
<div className="s-h-12" />
|
|
110
|
-
|
|
111
|
-
<div className="s-flex s-gap-6 s-pb-8">
|
|
112
|
-
<div className="s-text-sm">Custom Dropdown:</div>
|
|
113
|
-
<DropdownMenu>
|
|
114
|
-
<DropdownMenu.Button>
|
|
115
|
-
<Button label="Advanced settings" variant="outline" size="sm" />
|
|
116
|
-
</DropdownMenu.Button>
|
|
117
|
-
<DropdownMenu.Items width={300} overflow="visible">
|
|
118
|
-
<div className="s-flex s-flex-col s-gap-4">
|
|
119
|
-
<div className="s-flex s-flex-row s-items-center s-gap-2">
|
|
120
|
-
<div className="s-grow s-text-sm s-text-element-900">
|
|
121
|
-
Model selection:
|
|
122
|
-
</div>
|
|
123
|
-
<DropdownMenu>
|
|
124
|
-
<DropdownMenu.Button>
|
|
125
|
-
<Button label="GPT4" variant="outline" size="sm" />
|
|
126
|
-
</DropdownMenu.Button>
|
|
127
|
-
<DropdownMenu.Items origin="topRight">
|
|
128
|
-
{["GPT4", "GPT3", "GPT2", "GPT1"].map((item) => (
|
|
129
|
-
<DropdownMenu.Item
|
|
130
|
-
key={item}
|
|
131
|
-
label={item}
|
|
132
|
-
onClick={() => {
|
|
133
|
-
// setGenerationSettings({
|
|
134
|
-
// ...generationSettings,
|
|
135
|
-
// model: item,
|
|
136
|
-
// });
|
|
137
|
-
}}
|
|
138
|
-
/>
|
|
139
|
-
))}
|
|
140
|
-
</DropdownMenu.Items>
|
|
141
|
-
</DropdownMenu>
|
|
142
|
-
</div>
|
|
143
|
-
<div className="s-flex s-flex-row s-items-center s-gap-2">
|
|
144
|
-
<div className="s-grow s-text-sm s-text-element-900">
|
|
145
|
-
Creativity level:
|
|
146
|
-
</div>
|
|
147
|
-
<DropdownMenu>
|
|
148
|
-
<DropdownMenu.Button>
|
|
149
|
-
<Button label="Balanced" variant="outline" size="sm" />
|
|
150
|
-
</DropdownMenu.Button>
|
|
151
|
-
<DropdownMenu.Items origin="topRight">
|
|
152
|
-
{["Deterministic", "Factual", "Balanced", "Creative"].map(
|
|
153
|
-
(item) => (
|
|
154
|
-
<DropdownMenu.Item
|
|
155
|
-
key={item}
|
|
156
|
-
label={item}
|
|
157
|
-
onClick={() => {
|
|
158
|
-
// setGenerationSettings({
|
|
159
|
-
// ...generationSettings,
|
|
160
|
-
// model: item,
|
|
161
|
-
// });
|
|
162
|
-
}}
|
|
163
|
-
/>
|
|
164
|
-
)
|
|
165
|
-
)}
|
|
166
|
-
</DropdownMenu.Items>
|
|
167
|
-
</DropdownMenu>
|
|
168
|
-
</div>
|
|
169
|
-
</div>
|
|
170
|
-
</DropdownMenu.Items>
|
|
171
|
-
</DropdownMenu>
|
|
172
|
-
</div>
|
|
173
|
-
|
|
174
|
-
<div className="s-flex s-gap-6">
|
|
175
|
-
<div className="s-text-sm">Assistant selector menu example:</div>
|
|
176
|
-
<DropdownMenu>
|
|
177
|
-
{({ close }) => (
|
|
178
|
-
<>
|
|
179
|
-
<DropdownMenu.Button icon={RobotIcon} />
|
|
180
|
-
<DropdownMenu.Items
|
|
181
|
-
width={240}
|
|
182
|
-
origin="topRight"
|
|
183
|
-
topBar={
|
|
184
|
-
<div className="s-flex s-flex-grow s-flex-row s-border-b s-border-structure-50 s-p-2">
|
|
185
|
-
<Searchbar
|
|
186
|
-
placeholder="Placeholder"
|
|
187
|
-
size="xs"
|
|
188
|
-
name="input"
|
|
189
|
-
value={inputValue}
|
|
190
|
-
onChange={handleChange}
|
|
191
|
-
className="s-w-full"
|
|
192
|
-
></Searchbar>
|
|
193
|
-
</div>
|
|
194
|
-
}
|
|
195
|
-
bottomBar={
|
|
196
|
-
<div className="s-flex s-border-t s-border-structure-50 s-p-2">
|
|
197
|
-
<Button
|
|
198
|
-
label="Manage"
|
|
199
|
-
variant="outline"
|
|
200
|
-
size="xs"
|
|
201
|
-
icon={ListIcon}
|
|
202
|
-
/>
|
|
203
|
-
<div className="s-flex-grow" />
|
|
204
|
-
<Button
|
|
205
|
-
label="New"
|
|
206
|
-
variant="outline"
|
|
207
|
-
size="xs"
|
|
208
|
-
icon={PlusIcon}
|
|
209
|
-
onClick={close}
|
|
210
|
-
/>
|
|
211
|
-
</div>
|
|
212
|
-
}
|
|
213
|
-
>
|
|
214
|
-
<DropdownMenu.Item
|
|
215
|
-
label="@gpt4"
|
|
216
|
-
visual="https://dust.tt/static/systemavatar/gpt4_avatar_full.png"
|
|
217
|
-
/>
|
|
218
|
-
<DropdownMenu.Item
|
|
219
|
-
label="@slack"
|
|
220
|
-
visual="https://dust.tt/static/systemavatar/slack_avatar_full.png"
|
|
221
|
-
/>
|
|
222
|
-
<DropdownMenu.Item
|
|
223
|
-
label="@gpt4"
|
|
224
|
-
visual="https://dust.tt/static/systemavatar/gpt4_avatar_full.png"
|
|
225
|
-
/>
|
|
226
|
-
<DropdownMenu.Item
|
|
227
|
-
label="@slack"
|
|
228
|
-
visual="https://dust.tt/static/systemavatar/slack_avatar_full.png"
|
|
229
|
-
/>
|
|
230
|
-
<DropdownMenu.Item
|
|
231
|
-
label="@gpt4"
|
|
232
|
-
visual="https://dust.tt/static/systemavatar/gpt4_avatar_full.png"
|
|
233
|
-
/>
|
|
234
|
-
<DropdownMenu.Item
|
|
235
|
-
label="@slack"
|
|
236
|
-
visual="https://dust.tt/static/systemavatar/slack_avatar_full.png"
|
|
237
|
-
/>
|
|
238
|
-
<DropdownMenu.Item
|
|
239
|
-
label="@gpt4"
|
|
240
|
-
visual="https://dust.tt/static/systemavatar/gpt4_avatar_full.png"
|
|
241
|
-
/>
|
|
242
|
-
<DropdownMenu.Item
|
|
243
|
-
label="@slack"
|
|
244
|
-
visual="https://dust.tt/static/systemavatar/slack_avatar_full.png"
|
|
245
|
-
/>
|
|
246
|
-
<DropdownMenu.Item
|
|
247
|
-
label="@gpt4"
|
|
248
|
-
visual="https://dust.tt/static/systemavatar/gpt4_avatar_full.png"
|
|
249
|
-
/>
|
|
250
|
-
<DropdownMenu.Item
|
|
251
|
-
label="@slack"
|
|
252
|
-
visual="https://dust.tt/static/systemavatar/slack_avatar_full.png"
|
|
253
|
-
/>
|
|
254
|
-
<DropdownMenu.Item
|
|
255
|
-
label="@gpt4"
|
|
256
|
-
visual="https://dust.tt/static/systemavatar/gpt4_avatar_full.png"
|
|
257
|
-
/>
|
|
258
|
-
<DropdownMenu.Item
|
|
259
|
-
label="@slack"
|
|
260
|
-
visual="https://dust.tt/static/systemavatar/slack_avatar_full.png"
|
|
261
|
-
/>
|
|
262
|
-
<DropdownMenu.Item
|
|
263
|
-
label="@gpt4"
|
|
264
|
-
visual="https://dust.tt/static/systemavatar/gpt4_avatar_full.png"
|
|
265
|
-
/>
|
|
266
|
-
<DropdownMenu.Item
|
|
267
|
-
label="@slack"
|
|
268
|
-
visual="https://dust.tt/static/systemavatar/slack_avatar_full.png"
|
|
269
|
-
/>
|
|
270
|
-
<DropdownMenu.Item
|
|
271
|
-
label="@gpt4"
|
|
272
|
-
visual="https://dust.tt/static/systemavatar/gpt4_avatar_full.png"
|
|
273
|
-
/>
|
|
274
|
-
<DropdownMenu.Item
|
|
275
|
-
label="@slack"
|
|
276
|
-
visual="https://dust.tt/static/systemavatar/slack_avatar_full.png"
|
|
277
|
-
/>
|
|
278
|
-
<DropdownMenu.Item
|
|
279
|
-
label="@gpt4"
|
|
280
|
-
visual="https://dust.tt/static/systemavatar/gpt4_avatar_full.png"
|
|
281
|
-
/>
|
|
282
|
-
<DropdownMenu.Item
|
|
283
|
-
label="@slack"
|
|
284
|
-
visual="https://dust.tt/static/systemavatar/slack_avatar_full.png"
|
|
285
|
-
/>
|
|
286
|
-
</DropdownMenu.Items>
|
|
287
|
-
</>
|
|
288
|
-
)}
|
|
289
|
-
</DropdownMenu>
|
|
290
|
-
</div>
|
|
291
|
-
<div className="s-h-12" />
|
|
292
|
-
<div className="s-flex s-gap-6">
|
|
293
|
-
<div className="s-text-sm">Long items small width</div>
|
|
294
|
-
<DropdownMenu>
|
|
295
|
-
<DropdownMenu.Button
|
|
296
|
-
icon={ChatBubbleBottomCenterTextIcon}
|
|
297
|
-
tooltip="Moonlab"
|
|
298
|
-
tooltipPosition="bottom"
|
|
299
|
-
/>
|
|
300
|
-
<DropdownMenu.Items origin="topLeft" width={120}>
|
|
301
|
-
<DropdownMenu.Item label="item 1 is longish" link={{ href: "#" }} />
|
|
302
|
-
<DropdownMenu.Item
|
|
303
|
-
label="item 2 is also longer"
|
|
304
|
-
link={{ href: "#" }}
|
|
305
|
-
/>
|
|
306
|
-
<DropdownMenu.Item
|
|
307
|
-
label="item with a long title because it is long"
|
|
308
|
-
link={{ href: "#" }}
|
|
309
|
-
/>
|
|
310
|
-
</DropdownMenu.Items>
|
|
311
|
-
</DropdownMenu>
|
|
312
|
-
</div>
|
|
313
|
-
<div className="s-h-12" />
|
|
314
|
-
<div className="s-flex s-gap-6">
|
|
315
|
-
<div className="s-text-sm">Top right menu</div>
|
|
316
|
-
<DropdownMenu>
|
|
317
|
-
<DropdownMenu.Button label="Moonlab" icon={PlanetIcon} />
|
|
318
|
-
<DropdownMenu.Items>
|
|
319
|
-
<DropdownMenu.Item label="item 1" link={{ href: "#" }} />
|
|
320
|
-
<DropdownMenu.Item label="item 2" link={{ href: "#" }} />
|
|
321
|
-
</DropdownMenu.Items>
|
|
322
|
-
</DropdownMenu>
|
|
323
|
-
</div>
|
|
324
|
-
<div className="s-h-12" />
|
|
325
|
-
<div className="s-flex s-gap-6">
|
|
326
|
-
<div className="s-text-sm">Top right menu</div>
|
|
327
|
-
<DropdownMenu>
|
|
328
|
-
<DropdownMenu.Button label="Moonlab" icon={PlanetIcon} size="md" />
|
|
329
|
-
<DropdownMenu.Items>
|
|
330
|
-
<DropdownMenu.Item label="item 1" link={{ href: "#" }} />
|
|
331
|
-
<DropdownMenu.Item label="item 2" link={{ href: "#" }} />
|
|
332
|
-
</DropdownMenu.Items>
|
|
333
|
-
</DropdownMenu>
|
|
334
|
-
</div>
|
|
335
|
-
<div className="s-h-12" />
|
|
336
|
-
<div className="s-flex s-gap-6">
|
|
337
|
-
<div className="s-text-sm">Top left menu</div>
|
|
338
|
-
<DropdownMenu>
|
|
339
|
-
<DropdownMenu.Button
|
|
340
|
-
icon={ChatBubbleBottomCenterTextIcon}
|
|
341
|
-
tooltip="Moonlab"
|
|
342
|
-
tooltipPosition="bottom"
|
|
343
|
-
/>
|
|
344
|
-
<DropdownMenu.Items origin="topLeft">
|
|
345
|
-
<DropdownMenu.Item label="item 1" link={{ href: "#" }} />
|
|
346
|
-
<DropdownMenu.Item label="item 2" link={{ href: "#" }} />
|
|
347
|
-
<DropdownMenu.Item
|
|
348
|
-
label="item 2 with a long title because it is long"
|
|
349
|
-
link={{ href: "#" }}
|
|
350
|
-
/>
|
|
351
|
-
</DropdownMenu.Items>
|
|
352
|
-
</DropdownMenu>
|
|
353
|
-
</div>
|
|
354
|
-
<div className="s-h-12" />
|
|
355
|
-
<div className="s-flex s-gap-6">
|
|
356
|
-
<div className="s-text-sm">Bottom left menu</div>
|
|
357
|
-
<DropdownMenu>
|
|
358
|
-
<DropdownMenu.Button icon={ChatBubbleBottomCenterTextIcon} />
|
|
359
|
-
<DropdownMenu.Items origin="bottomLeft">
|
|
360
|
-
<DropdownMenu.Item label="item 1" link={{ href: "#" }} />
|
|
361
|
-
<DropdownMenu.Item label="item 2" link={{ href: "#" }} />
|
|
362
|
-
</DropdownMenu.Items>
|
|
363
|
-
</DropdownMenu>
|
|
364
|
-
</div>
|
|
365
|
-
<div className="s-h-12" />
|
|
366
|
-
<div className="s-flex s-gap-6">
|
|
367
|
-
<div className="s-text-sm">Bottom right menu</div>
|
|
368
|
-
<DropdownMenu>
|
|
369
|
-
<DropdownMenu.Button icon={ChatBubbleBottomCenterTextIcon} />
|
|
370
|
-
<DropdownMenu.Items origin="bottomRight">
|
|
371
|
-
<DropdownMenu.Item label="item 1" link={{ href: "#" }} />
|
|
372
|
-
<DropdownMenu.Item label="item 2" link={{ href: "#" }} />
|
|
373
|
-
</DropdownMenu.Items>
|
|
374
|
-
</DropdownMenu>
|
|
375
|
-
</div>
|
|
376
|
-
<div className="s-h-12" />
|
|
377
|
-
<div className="s-flex s-gap-6">
|
|
378
|
-
<div className="s-text-sm">Disabled</div>
|
|
379
|
-
<DropdownMenu>
|
|
380
|
-
<DropdownMenu.Button
|
|
381
|
-
label="Moonlab"
|
|
382
|
-
icon={ChatBubbleBottomCenterTextIcon}
|
|
383
|
-
disabled
|
|
384
|
-
/>
|
|
385
|
-
<DropdownMenu.Items>
|
|
386
|
-
<DropdownMenu.Item label="item 1" link={{ href: "#" }} />
|
|
387
|
-
<DropdownMenu.Item label="item 2" link={{ href: "#" }} />
|
|
388
|
-
</DropdownMenu.Items>
|
|
389
|
-
</DropdownMenu>
|
|
390
|
-
</div>
|
|
391
|
-
<div className="s-h-12" />
|
|
392
|
-
<div className="s-flex s-gap-6">
|
|
393
|
-
<div className="s-text-sm">Type = Select</div>
|
|
394
|
-
<DropdownMenu>
|
|
395
|
-
<DropdownMenu.Button type="select" label="Every 6 months" />
|
|
396
|
-
<DropdownMenu.Items origin="topRight">
|
|
397
|
-
<DropdownMenu.Item label="item 1" link={{ href: "#" }} />
|
|
398
|
-
<DropdownMenu.Item label="item 2" link={{ href: "#" }} />
|
|
399
|
-
</DropdownMenu.Items>
|
|
400
|
-
</DropdownMenu>
|
|
401
|
-
</div>
|
|
402
|
-
|
|
403
|
-
<div className="s-h-12" />
|
|
404
|
-
<div className="s-flex s-gap-6">
|
|
405
|
-
<div className="s-text-sm">With custom button</div>
|
|
406
|
-
<DropdownMenu>
|
|
407
|
-
<DropdownMenu.Button>
|
|
408
|
-
<Avatar name="Dust" size="lg" onClick={() => ""} />
|
|
409
|
-
</DropdownMenu.Button>
|
|
410
|
-
<DropdownMenu.Items origin="topRight">
|
|
411
|
-
{["item 1", "item 2", "item 3"].map((item) => (
|
|
412
|
-
<DropdownMenu.Item label={item} link={{ href: "#" }} key={item} />
|
|
413
|
-
))}
|
|
414
|
-
</DropdownMenu.Items>
|
|
415
|
-
</DropdownMenu>
|
|
416
|
-
</div>
|
|
417
|
-
<div className="s-h-12" />
|
|
418
|
-
<div className="s-flex s-gap-6">
|
|
419
|
-
<div className="s-text-sm">With visuals in items</div>
|
|
420
|
-
<DropdownMenu>
|
|
421
|
-
<DropdownMenu.Button icon={RobotIcon} />
|
|
422
|
-
<DropdownMenu.Items origin="topRight">
|
|
423
|
-
<DropdownMenu.Item
|
|
424
|
-
label="@gpt4"
|
|
425
|
-
visual="https://dust.tt/static/systemavatar/gpt4_avatar_full.png"
|
|
426
|
-
/>
|
|
427
|
-
<DropdownMenu.Item
|
|
428
|
-
label="@slack"
|
|
429
|
-
visual="https://dust.tt/static/systemavatar/slack_avatar_full.png"
|
|
430
|
-
/>
|
|
431
|
-
</DropdownMenu.Items>
|
|
432
|
-
</DropdownMenu>
|
|
433
|
-
</div>
|
|
434
|
-
<div className="s-h-12" />
|
|
435
|
-
<div className="s-flex s-gap-6">
|
|
436
|
-
<div className="s-text-sm">With custom menu</div>
|
|
437
|
-
<DropdownMenu>
|
|
438
|
-
<DropdownMenu.Button icon={RobotIcon} />
|
|
439
|
-
<DropdownMenu.Items origin="topRight">
|
|
440
|
-
<div className="s-flex s-flex-col s-gap-2">
|
|
441
|
-
testing custom stuff
|
|
442
|
-
<Button label="hello" />
|
|
443
|
-
<SliderToggle selected={isToggled} onClick={handleToggle} />
|
|
444
|
-
</div>
|
|
445
|
-
</DropdownMenu.Items>
|
|
446
|
-
</DropdownMenu>
|
|
447
|
-
<DropdownMenu>
|
|
448
|
-
<DropdownMenu.Button>
|
|
449
|
-
<Button
|
|
450
|
-
variant="outline"
|
|
451
|
-
size="xs"
|
|
452
|
-
icon={EyeIcon}
|
|
453
|
-
label="See the error"
|
|
454
|
-
/>
|
|
455
|
-
</DropdownMenu.Button>
|
|
456
|
-
<div className="relative bottom-6 z-30">
|
|
457
|
-
<DropdownMenu.Items origin="topLeft" width={320}>
|
|
458
|
-
<div className="text-sm font-normal text-warning-800">
|
|
459
|
-
Hello error messange!
|
|
460
|
-
</div>
|
|
461
|
-
<div className="self-end">
|
|
462
|
-
<Button
|
|
463
|
-
variant="outline"
|
|
464
|
-
size="xs"
|
|
465
|
-
icon={DocumentDuplicateIcon}
|
|
466
|
-
label="Copy"
|
|
467
|
-
onClick={() =>
|
|
468
|
-
void navigator.clipboard.writeText("Hello error messange!")
|
|
469
|
-
}
|
|
470
|
-
/>
|
|
471
|
-
</div>
|
|
472
|
-
</DropdownMenu.Items>
|
|
473
|
-
</div>
|
|
474
|
-
</DropdownMenu>
|
|
475
|
-
</div>
|
|
476
|
-
<div className="s-h-12" />
|
|
477
|
-
<div className="s-flex s-gap-6">
|
|
478
|
-
<div className="s-text-sm">With nested dropdown</div>
|
|
479
|
-
<DropdownMenu>
|
|
480
|
-
<DropdownMenu.Button icon={RobotIcon} />
|
|
481
|
-
<DropdownMenu.Items origin="topRight" overflow="visible">
|
|
482
|
-
<DropdownMenu>
|
|
483
|
-
<DropdownMenu.Button label="Nested" />
|
|
484
|
-
<DropdownMenu.Items origin="topRight">
|
|
485
|
-
<DropdownMenu.Item label="item 1" link={{ href: "#" }} />
|
|
486
|
-
<DropdownMenu.Item label="item 2" link={{ href: "#" }} />
|
|
487
|
-
</DropdownMenu.Items>
|
|
488
|
-
</DropdownMenu>
|
|
489
|
-
</DropdownMenu.Items>
|
|
490
|
-
</DropdownMenu>
|
|
491
|
-
</div>
|
|
492
|
-
<div className="w-full s-flex s-justify-end s-gap-6">
|
|
493
|
-
<div className="s-text-sm">Auto menu</div>
|
|
494
|
-
<DropdownMenu>
|
|
495
|
-
<DropdownMenu.Button label="Moonlab" icon={PlanetIcon} />
|
|
496
|
-
<DropdownMenu.Items origin="auto">
|
|
497
|
-
<DropdownMenu.Item label="item 1" link={{ href: "#" }} />
|
|
498
|
-
<DropdownMenu.Item label="item 2" link={{ href: "#" }} />
|
|
499
|
-
</DropdownMenu.Items>
|
|
500
|
-
</DropdownMenu>
|
|
501
|
-
</div>
|
|
502
|
-
|
|
503
|
-
<div className="s-flex s-gap-6">
|
|
504
|
-
<div className="s-text-sm">Don't close on escape or space</div>
|
|
505
|
-
<DropdownMenu>
|
|
506
|
-
<DropdownMenu.Button icon={RobotIcon} />
|
|
507
|
-
<DropdownMenu.Items
|
|
508
|
-
origin="topRight"
|
|
509
|
-
onKeyDown={(e) => e.preventDefault()}
|
|
510
|
-
>
|
|
511
|
-
<DropdownMenu.Item label="@gpt4" />
|
|
512
|
-
<DropdownMenu.Item label="@slack" />
|
|
513
|
-
</DropdownMenu.Items>
|
|
514
|
-
</DropdownMenu>
|
|
515
|
-
</div>
|
|
516
|
-
</>
|
|
517
|
-
);
|
|
518
|
-
};
|