Skip to content

Commit 2db253a

Browse files
committed
chore(dialog.daisy): draft daisy dialog (broken)
1 parent 231b01a commit 2db253a

File tree

3 files changed

+70
-17
lines changed

3 files changed

+70
-17
lines changed

apps/website/src/routes/docs/daisy/dialog/index.tsx

+9-8
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { component$ } from '@builder.io/qwik';
2-
import { Dialog } from '@qwik-ui/headless';
3-
import { Button } from '@qwik-ui/theme-daisy';
2+
import { Button, Dialog } from '@qwik-ui/theme-daisy';
43

54
export default component$(() => {
65
return (
@@ -12,13 +11,15 @@ export default component$(() => {
1211
<h2>Basic Example</h2>
1312

1413
<Dialog.Root>
15-
<Dialog.Trigger>
16-
<Button variant="primary">Open Dialog</Button>
17-
</Dialog.Trigger>
1814
<Dialog.Portal>
19-
<Dialog.Close />
20-
<Dialog.Title text="Hello there!" />
21-
<Dialog.Content>I have the high ground</Dialog.Content>
15+
<div q:slot="trigger">
16+
<Button variant="primary">Open Dialog</Button>
17+
</div>
18+
<div q:slot="portal">
19+
<Dialog.Close />
20+
<Dialog.Title text="Hello there!" />
21+
<Dialog.Content>I have the high ground</Dialog.Content>
22+
</div>
2223
</Dialog.Portal>
2324
</Dialog.Root>
2425
</>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
import { Slot, component$, useId } from '@builder.io/qwik';
2+
import { Dialog as DialogHeadless } from '@qwik-ui/headless';
3+
4+
const Root = component$(() => {
5+
return (
6+
<DialogHeadless.Root>
7+
<Slot />
8+
</DialogHeadless.Root>
9+
);
10+
});
11+
12+
const Trigger = component$(() => {
13+
return (
14+
<>
15+
<label for="my-modal-5">
16+
<DialogHeadless.Trigger>
17+
<Slot name="trigger" />
18+
</DialogHeadless.Trigger>
19+
</label>
20+
<input id="my-modal-5" type="checkbox" class="modal-toggle" />
21+
</>
22+
);
23+
});
24+
25+
const Portal = component$(() => {
26+
const dialogId = `dialog-${useId()}`;
27+
28+
return (
29+
<>
30+
<label for={dialogId}>
31+
<DialogHeadless.Trigger>
32+
<Slot name="trigger" />
33+
</DialogHeadless.Trigger>
34+
</label>
35+
<input id={dialogId} type="checkbox" class="modal-toggle" />
36+
<DialogHeadless.Portal
37+
classNames={{ container: 'modal', content: 'modal-box' }}
38+
>
39+
<Slot name="portal" />
40+
</DialogHeadless.Portal>
41+
</>
42+
);
43+
});
44+
45+
const Close = DialogHeadless.Close;
46+
47+
const Title = DialogHeadless.Title;
48+
49+
const Content = DialogHeadless.Content;
50+
51+
export { Root, Trigger, Portal, Close, Title, Content };

packages/daisy/src/index.ts

+10-9
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,23 @@
11
export * from './components/accordion/accordion';
22
export * from './components/alert/alert';
33
export * from './components/badge/badge';
4-
export * from './components/button/button';
5-
export * from './components/progress/progress';
4+
export * from './components/breadcrumb';
65
export * from './components/button-group/button-group';
6+
export * from './components/button/button';
77
export * from './components/card';
8+
export * from './components/checkbox/checkbox';
89
export * from './components/collapse/collapse';
10+
export * as Dialog from './components/dialog/dialog';
911
export * from './components/drawer/drawer';
10-
export * from './components/spinner/spinner';
12+
export * from './components/navigation-bar/navigation-bar';
13+
export * from './components/pagination/pagination';
1114
export * from './components/popover/popover';
15+
export * from './components/progress/progress';
1216
export * from './components/rating/rating';
17+
export * from './components/ratio/radio';
18+
export * from './components/slider/slider';
19+
export * from './components/spinner/spinner';
1320
export * from './components/tabs';
1421
export * from './components/toast/toast';
1522
export * from './components/toggle/toggle';
1623
export * from './components/tooltip/tooltip';
17-
export * from './components/checkbox/checkbox';
18-
export * from './components/pagination/pagination';
19-
export * from './components/ratio/radio';
20-
export * from './components/slider/slider';
21-
export * from './components/breadcrumb';
22-
export * from './components/navigation-bar/navigation-bar';

0 commit comments

Comments
 (0)