Skip to content

Commit 0796018

Browse files
committed
refactor(styled popover): to dot notation
1 parent b8cfb20 commit 0796018

File tree

3 files changed

+43
-38
lines changed

3 files changed

+43
-38
lines changed

apps/website/src/routes/docs/styled/popover/examples/hero.tsx

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,13 @@
11
import { component$ } from '@builder.io/qwik';
2-
import {
3-
Input,
4-
Label,
5-
PopoverRoot,
6-
PopoverTrigger,
7-
PopoverPanel,
8-
buttonVariants,
9-
} from '@qwik-ui/styled';
2+
import { Input, Label, Popover, buttonVariants } from '~/components/ui';
103

114
export default component$(() => {
125
return (
13-
<PopoverRoot flip={false} gutter={8}>
14-
<PopoverTrigger class={buttonVariants({ look: 'outline' })}>
15-
Open popover
16-
</PopoverTrigger>
17-
<PopoverPanel>
6+
<Popover.Root flip={false} gutter={8}>
7+
<Popover.Trigger class={buttonVariants({ look: 'outline' })}>
8+
Open popover.
9+
</Popover.Trigger>
10+
<Popover.Panel>
1811
<div class="grid gap-4">
1912
<div class="space-y-2">
2013
<h4 class="font-medium leading-none">Dimensions</h4>
@@ -47,7 +40,7 @@ export default component$(() => {
4740
</div>
4841
</div>
4942
</div>
50-
</PopoverPanel>
51-
</PopoverRoot>
43+
</Popover.Panel>
44+
</Popover.Root>
5245
);
5346
});

apps/website/src/routes/docs/styled/popover/index.mdx

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -22,58 +22,64 @@ qwik-ui add popover
2222

2323
```tsx
2424
import { PropsOf, Slot, component$, useStyles$ } from '@builder.io/qwik';
25-
import { Popover } from '@qwik-ui/headless';
25+
import { Popover as HeadlessPopover } from '@qwik-ui/headless';
2626
import { cn } from '@qwik-ui/utils';
2727

28-
export const PopoverRoot = component$<PropsOf<typeof Popover.Root>>(({ ...props }) => {
28+
const Root = component$<PropsOf<typeof HeadlessPopover.Root>>(({ ...props }) => {
2929
return (
30-
<Popover.Root {...props}>
30+
<HeadlessPopover.Root {...props}>
3131
<Slot />
32-
</Popover.Root>
32+
</HeadlessPopover.Root>
3333
);
3434
});
3535

36-
export const PopoverTrigger = Popover.Trigger;
36+
const Trigger = HeadlessPopover.Trigger;
3737

38-
export const PopoverPanel = component$<PropsOf<typeof Popover.Panel>>(({ ...props }) => {
38+
const Panel = component$<PropsOf<typeof HeadlessPopover.Panel>>(({ ...props }) => {
3939
useStyles$(`
4040
.my-transition {
4141
transition: opacity 150ms, display 150ms, overlay 150ms;
4242
transition-behavior: allow-discrete;
4343
}
44-
44+
4545
.popover-showing {
4646
opacity: 1;
4747
}
48-
48+
4949
.popover-closing {
5050
opacity: 0;
5151
}
5252
`);
5353

5454
return (
55-
<Popover.Panel
55+
<HeadlessPopover.Panel
5656
{...props}
5757
class={cn(
5858
'my-transition w-72 rounded-md border bg-popover p-4 text-popover-foreground opacity-0 shadow-md outline-none',
5959
props.class,
6060
)}
6161
>
6262
<Slot />
63-
</Popover.Panel>
63+
</HeadlessPopover.Panel>
6464
);
6565
});
66+
67+
export const Popover = {
68+
Root,
69+
Trigger,
70+
Panel,
71+
};
6672
```
6773

6874
## Usage
6975

7076
```tsx
71-
import { PopoverRoot, PopoverPanel, PopoverTrigger } from '~/components/ui';
77+
import { Popover } from '~/components/ui';
7278
```
7379

7480
```tsx
75-
<PopoverRoot>
76-
<PopoverTrigger>Open Trigger</PopoverTrigger>
77-
<PopoverPanel>Place your content here.</PopoverPanel>
78-
</PopoverRoot>
81+
<Popover.Root>
82+
<Popover.Trigger>Open Trigger</Popover.Trigger>
83+
<Popover.Panel>Place your content here.</Popover.Panel>
84+
</Popover.Root>
7985
```

packages/kit-styled/src/components/popover/popover.tsx

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
import { PropsOf, Slot, component$, useStyles$ } from '@builder.io/qwik';
2-
import { Popover } from '@qwik-ui/headless';
2+
import { Popover as HeadlessPopover } from '@qwik-ui/headless';
33
import { cn } from '@qwik-ui/utils';
44

5-
export const PopoverRoot = component$<PropsOf<typeof Popover.Root>>(({ ...props }) => {
5+
const Root = component$<PropsOf<typeof HeadlessPopover.Root>>(({ ...props }) => {
66
return (
7-
<Popover.Root {...props}>
7+
<HeadlessPopover.Root {...props}>
88
<Slot />
9-
</Popover.Root>
9+
</HeadlessPopover.Root>
1010
);
1111
});
1212

13-
export const PopoverTrigger = Popover.Trigger;
13+
const Trigger = HeadlessPopover.Trigger;
1414

15-
export const PopoverPanel = component$<PropsOf<typeof Popover.Panel>>(({ ...props }) => {
15+
const Panel = component$<PropsOf<typeof HeadlessPopover.Panel>>(({ ...props }) => {
1616
useStyles$(`
1717
.my-transition {
1818
transition: opacity 150ms, display 150ms, overlay 150ms;
@@ -29,14 +29,20 @@ export const PopoverPanel = component$<PropsOf<typeof Popover.Panel>>(({ ...prop
2929
`);
3030

3131
return (
32-
<Popover.Panel
32+
<HeadlessPopover.Panel
3333
{...props}
3434
class={cn(
3535
'my-transition w-72 rounded-md border bg-popover p-4 text-popover-foreground opacity-0 shadow-md outline-none',
3636
props.class,
3737
)}
3838
>
3939
<Slot />
40-
</Popover.Panel>
40+
</HeadlessPopover.Panel>
4141
);
4242
});
43+
44+
export const Popover = {
45+
Root,
46+
Trigger,
47+
Panel,
48+
};

0 commit comments

Comments
 (0)