Skip to content

Commit 49700e0

Browse files
committed
docs: inline park preset
1 parent 677a297 commit 49700e0

92 files changed

Lines changed: 5531 additions & 158 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

packages/react/src/components/drawer/examples/multiple-triggers.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ export const MultipleTriggers = () => {
2222

2323
return (
2424
<Drawer.Root
25+
swipeDirection="end"
2526
onTriggerValueChange={(e) => {
2627
setActiveUser(users.find((u) => u.id === e.value) ?? null)
2728
}}

packages/solid/src/components/drawer/examples/multiple-triggers.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ export const MultipleTriggers = () => {
2222

2323
return (
2424
<Drawer.Root
25+
swipeDirection="end"
2526
onTriggerValueChange={(e) => {
2627
setActiveUser(users.find((u) => u.id === e.value) ?? null)
2728
}}

packages/svelte/src/lib/components/drawer/examples/multiple-triggers.svelte

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
</script>
2222

2323
<Drawer.Root
24+
swipeDirection="end"
2425
onTriggerValueChange={(e) => {
2526
activeUser = users.find((u) => u.id === e.value) ?? null
2627
}}

packages/vue/src/components/drawer/examples/multiple-triggers.vue

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,10 @@ const activeUser = ref<User | null>(null)
2222
</script>
2323

2424
<template>
25-
<Drawer.Root @trigger-value-change="(e) => (activeUser = users.find((u) => u.id === e.value) ?? null)">
25+
<Drawer.Root
26+
swipe-direction="end"
27+
@trigger-value-change="(e) => (activeUser = users.find((u) => u.id === e.value) ?? null)"
28+
>
2629
<div :class="button.Group">
2730
<Drawer.Trigger v-for="user in users" :key="user.id" :value="user.id" :class="button.Root">
2831
Edit {{ user.name }}

website/panda.config.ts

Lines changed: 2 additions & 132 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,12 @@
11
import { defineConfig } from '@pandacss/dev'
2-
import { createPreset } from '@park-ui/panda-preset'
3-
import sand from '@park-ui/panda-preset/colors/sand'
42
import typographyPreset from 'pandacss-preset-typography'
5-
import { coral } from '~/coral'
6-
import { field } from '~/theme/recipes/field'
7-
import { tour } from '~/theme/recipes/tour'
3+
import { parkPreset } from '~/theme'
84

95
export default defineConfig({
106
preflight: true,
117
validation: 'none',
128
presets: [
13-
createPreset({ grayColor: sand, accentColor: coral, radius: 'sm' }),
9+
parkPreset,
1410
typographyPreset({
1511
recipe: {
1612
sizes: ['base'],
@@ -49,130 +45,4 @@ export default defineConfig({
4945
tour: ['*'],
5046
},
5147
},
52-
globalCss: {
53-
extend: {
54-
html: {
55-
scrollPaddingTop: '6rem',
56-
minHeight: '100%',
57-
},
58-
'html, body': {
59-
display: 'flex',
60-
flexDirection: 'column',
61-
},
62-
body: {
63-
display: 'flex',
64-
flexDirection: 'column',
65-
flexGrow: '1',
66-
fontFamily: 'body',
67-
},
68-
'*::selection': {
69-
bg: 'gray.3',
70-
},
71-
pre: {
72-
overflowX: 'auto',
73-
fontSize: '13px !important',
74-
bg: 'gray.dark.2!',
75-
lineHeight: '1.5!',
76-
},
77-
blockquote: {
78-
fontStyle: 'normal!',
79-
fontWeight: 'normal!',
80-
},
81-
strong: {
82-
color: 'fg.default!',
83-
},
84-
code: {
85-
fontFamily: 'code!',
86-
'::selection': {
87-
bg: 'gray.dark.a4',
88-
},
89-
},
90-
article: {
91-
'--colors-prose-body': 'colors.fg.muted',
92-
'--colors-prose-heading': 'colors.fg.default',
93-
'--colors-prose-bold': 'colors.fg.default',
94-
'--colors-prose-link': 'colors.fg.default',
95-
'--colors-prose-code': 'colors.fg.muted',
96-
'--colors-prose-hr-border': 'colors.border.subtle',
97-
'--colors-prose-quote-border': 'colors.accent.default',
98-
},
99-
},
100-
},
101-
theme: {
102-
extend: {
103-
tokens: {
104-
fonts: {
105-
body: { value: 'var(--font-wix-madefor-text), sans-serif' },
106-
code: { value: 'var(--font-roboto-mono), monospace' },
107-
},
108-
},
109-
keyframes: {
110-
marqueeX: {
111-
from: {
112-
transform: 'translateX(0%)',
113-
},
114-
to: {
115-
transform: 'translateX(var(--marquee-translate))',
116-
},
117-
},
118-
marqueeY: {
119-
from: {
120-
transform: 'translateY(0%)',
121-
},
122-
to: {
123-
transform: 'translateY(var(--marquee-translate))',
124-
},
125-
},
126-
'scale-in': {
127-
from: { transform: 'scale(0)' },
128-
to: { transform: 'scale(1)' },
129-
},
130-
'scale-out': {
131-
from: { transform: 'scale(1)' },
132-
to: { transform: 'scale(0)' },
133-
},
134-
},
135-
slotRecipes: {
136-
field,
137-
tour,
138-
layout: {
139-
className: 'layout',
140-
slots: ['aside', 'main'],
141-
base: {
142-
aside: {
143-
bg: {
144-
base: 'gray.2',
145-
_dark: '#0e0e0e',
146-
},
147-
borderRightWidth: '1px',
148-
position: 'fixed',
149-
top: '0',
150-
bottom: '0',
151-
display: { base: 'none', md: 'block' },
152-
ps: 'max(32px, calc((100vw - (1440px - 64px)) / 2))',
153-
pe: '8',
154-
pb: '10',
155-
minWidth: '272px',
156-
overflow: 'auto',
157-
overscrollBehavior: 'contain',
158-
width: {
159-
base: '272px',
160-
lg: 'calc((100vw - (1440px - 64px)) / 2 + 272px - 32px)',
161-
},
162-
zIndex: '2',
163-
},
164-
main: {
165-
minWidth: '0',
166-
flex: '1',
167-
ps: {
168-
base: '0',
169-
md: 'max(calc((100vw - 1440px) / 2 + 272px), 272px)',
170-
},
171-
pe: 'calc((100vw - 1440px) / 2)',
172-
},
173-
},
174-
},
175-
},
176-
},
177-
},
17848
})

website/src/components/key-bindings-table.tsx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,12 @@ interface Props {
88
}
99

1010
export const KeyBindingsTable = (props: Props) => {
11-
const { keyboard } = getAccessibilityDoc(props.id)
11+
let keyboard: ReturnType<typeof getAccessibilityDoc>['keyboard']
12+
try {
13+
keyboard = getAccessibilityDoc(props.id).keyboard
14+
} catch {
15+
return null
16+
}
1217

1318
return (
1419
<Box borderWidth="1px" borderRadius="lg" overflowX="auto" className="not-prose">

website/src/components/navigation/mobile-sidebar-container.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ export const MobileSidebarContainer = (props: PropsWithChildren) => {
1717
}, [pathname])
1818

1919
return (
20-
<Drawer.Root open={isOpen} onOpenChange={(e) => setIsOpen(e.open)} variant="left">
20+
<Drawer.Root open={isOpen} onOpenChange={(e) => setIsOpen(e.open)} swipeDirection="start">
2121
<Drawer.Trigger asChild>
2222
<IconButton aria-label="Open Sidebar" variant="link" size="sm" minH="8">
2323
<AlignLeftIcon />

website/src/components/navigation/navbar-container.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ export const NavbarContainer = (props: BoxProps) => {
1111
zIndex="2"
1212
borderBottomWidth="1px"
1313
borderColor={{ _light: 'border.subtle', _dark: 'black' }}
14+
pe="var(--scrollbar-width, 0)"
1415
>
1516
<Container py="2.5" {...props} />
1617
</Flex>
Lines changed: 46 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
'use client'
22
import type { Assign, PolymorphicProps } from '@ark-ui/react'
3-
import { Dialog } from '@ark-ui/react/dialog'
3+
import { Drawer } from '@ark-ui/react/drawer'
44
import { ark } from '@ark-ui/react/factory'
55
import { type DrawerVariantProps, drawer } from 'styled-system/recipes'
66
import type { ComponentProps, HTMLStyledProps } from 'styled-system/types'
@@ -9,45 +9,45 @@ import { createStyleContext } from '~/lib/create-style-context'
99
const { withRootProvider, withContext } = createStyleContext(drawer)
1010

1111
export type RootProviderProps = ComponentProps<typeof RootProvider>
12-
export const RootProvider = withRootProvider<Assign<Dialog.RootProviderBaseProps, DrawerVariantProps>>(
13-
Dialog.RootProvider,
12+
export const RootProvider = withRootProvider<Assign<Drawer.RootProviderBaseProps, DrawerVariantProps>>(
13+
Drawer.RootProvider,
1414
)
1515

1616
export type RootProps = ComponentProps<typeof Root>
17-
export const Root = withRootProvider<Assign<Dialog.RootProps, DrawerVariantProps>>(Dialog.Root)
17+
export const Root = withRootProvider<Assign<Drawer.RootProps, DrawerVariantProps>>(Drawer.Root)
1818

19-
export const Backdrop = withContext<HTMLDivElement, Assign<HTMLStyledProps<'div'>, Dialog.BackdropBaseProps>>(
20-
Dialog.Backdrop,
19+
export const Backdrop = withContext<HTMLDivElement, Assign<HTMLStyledProps<'div'>, Drawer.BackdropBaseProps>>(
20+
Drawer.Backdrop,
2121
'backdrop',
2222
)
2323

2424
export const CloseTrigger = withContext<
2525
HTMLButtonElement,
26-
Assign<HTMLStyledProps<'button'>, Dialog.CloseTriggerBaseProps>
27-
>(Dialog.CloseTrigger, 'closeTrigger')
26+
Assign<HTMLStyledProps<'button'>, Drawer.CloseTriggerBaseProps>
27+
>(Drawer.CloseTrigger, 'closeTrigger')
2828

29-
export const Content = withContext<HTMLDivElement, Assign<HTMLStyledProps<'div'>, Dialog.ContentBaseProps>>(
30-
Dialog.Content,
29+
export const Content = withContext<HTMLDivElement, Assign<HTMLStyledProps<'div'>, Drawer.ContentBaseProps>>(
30+
Drawer.Content,
3131
'content',
3232
)
3333

34-
export const Description = withContext<HTMLDivElement, Assign<HTMLStyledProps<'div'>, Dialog.DescriptionBaseProps>>(
35-
Dialog.Description,
34+
export const Description = withContext<HTMLDivElement, Assign<HTMLStyledProps<'div'>, Drawer.DescriptionBaseProps>>(
35+
Drawer.Description,
3636
'description',
3737
)
3838

39-
export const Positioner = withContext<HTMLDivElement, Assign<HTMLStyledProps<'div'>, Dialog.PositionerBaseProps>>(
40-
Dialog.Positioner,
39+
export const Positioner = withContext<HTMLDivElement, Assign<HTMLStyledProps<'div'>, Drawer.PositionerBaseProps>>(
40+
Drawer.Positioner,
4141
'positioner',
4242
)
4343

44-
export const Title = withContext<HTMLHeadingElement, Assign<HTMLStyledProps<'h2'>, Dialog.TitleBaseProps>>(
45-
Dialog.Title,
44+
export const Title = withContext<HTMLHeadingElement, Assign<HTMLStyledProps<'h2'>, Drawer.TitleBaseProps>>(
45+
Drawer.Title,
4646
'title',
4747
)
4848

49-
export const Trigger = withContext<HTMLButtonElement, Assign<HTMLStyledProps<'button'>, Dialog.TriggerBaseProps>>(
50-
Dialog.Trigger,
49+
export const Trigger = withContext<HTMLButtonElement, Assign<HTMLStyledProps<'button'>, Drawer.TriggerBaseProps>>(
50+
Drawer.Trigger,
5151
'trigger',
5252
)
5353

@@ -57,4 +57,31 @@ export const Body = withContext<HTMLDivElement, Assign<HTMLStyledProps<'div'>, P
5757

5858
export const Footer = withContext<HTMLDivElement, Assign<HTMLStyledProps<'div'>, PolymorphicProps>>(ark.div, 'footer')
5959

60-
export const Context = Dialog.Context
60+
export const Grabber = withContext<HTMLDivElement, Assign<HTMLStyledProps<'div'>, Drawer.GrabberBaseProps>>(
61+
Drawer.Grabber,
62+
'grabber',
63+
)
64+
65+
export const GrabberIndicator = withContext<
66+
HTMLDivElement,
67+
Assign<HTMLStyledProps<'div'>, Drawer.GrabberIndicatorBaseProps>
68+
>(Drawer.GrabberIndicator, 'grabberIndicator')
69+
70+
export const Indent = withContext<HTMLDivElement, Assign<HTMLStyledProps<'div'>, Drawer.IndentBaseProps>>(
71+
Drawer.Indent,
72+
'indent',
73+
)
74+
75+
export const IndentBackground = withContext<
76+
HTMLDivElement,
77+
Assign<HTMLStyledProps<'div'>, Drawer.IndentBackgroundBaseProps>
78+
>(Drawer.IndentBackground, 'indentBackground')
79+
80+
export const SwipeArea = withContext<HTMLDivElement, Assign<HTMLStyledProps<'div'>, Drawer.SwipeAreaBaseProps>>(
81+
Drawer.SwipeArea,
82+
'swipeArea',
83+
)
84+
85+
export const Stack = Drawer.Stack
86+
87+
export const Context = Drawer.Context

website/src/content/pages/components/drawer.mdx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ Use the `open` and `onOpenChange` props to control the drawer state.
6161

6262
### No Drag Area
6363

64-
Use `Drawer.NoDragArea` to prevent dragging on specific elements inside the drawer.
64+
Apply the `data-no-drag` attribute to any element inside the drawer to prevent dragging from starting on it.
6565

6666
<Example id="no-drag-area" />
6767

@@ -157,4 +157,6 @@ the dampened movement reveals this extension instead of an empty gap.
157157

158158
## Accessibility
159159

160-
<KeyBindingsTable id="drawer" />
160+
Complies with the [Dialog WAI-ARIA design pattern](https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/).
161+
162+
<KeyBindingsTable id="dialog" />

0 commit comments

Comments
 (0)