Skip to content

Commit 1c47e0d

Browse files
fix: remove date-fns, add formatDate func for DatePickerTrigger, add aria-disabled for input-group-control
1 parent e4b450c commit 1c47e0d

5 files changed

Lines changed: 17 additions & 8 deletions

File tree

examples/ui-playground/src/app/playground/shadcn/date-picker-section.tsx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,13 @@ function BasicDatePicker() {
3535
return (
3636
<div>
3737
<DatePickerProvider>
38-
<DatePickerTrigger value={date} />
38+
<DatePickerTrigger
39+
value={date}
40+
formatDate={(value) => {
41+
// `formatDate` is optional
42+
return value?.getTime()
43+
}}
44+
/>
3945
<DatePickerContent>
4046
<Calendar
4147
mode="single"

packages/react/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,6 @@
8686
"clsx": "^2.1.1",
8787
"cmdk": "^1.1.1",
8888
"cookie-es": "^2.0.0",
89-
"date-fns": "^4.1.0",
9089
"deepmerge-ts": "^7.1.5",
9190
"defu": "^6.1.4",
9291
"input-otp": "^1.4.2",

packages/react/v2/components/primitives/date-picker.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import * as React from 'react'
44

55
import { CalendarBlankIcon } from '@phosphor-icons/react'
66
import { useControllableState } from '@radix-ui/react-use-controllable-state'
7-
import { format } from 'date-fns'
87

98
import { Button } from './button'
109
import { Popover, PopoverContent, PopoverTrigger } from './popover'
@@ -36,13 +35,17 @@ export function DatePickerTrigger({
3635
asChild,
3736
value,
3837
children,
38+
formatDate,
3939
...props
4040
}: {
4141
asChild?: boolean
4242
value?: Date
43+
formatDate?: (value: Date | undefined) => string | number | undefined
4344
} & Omit<React.ComponentPropsWithRef<typeof PopoverTrigger>, 'value'>) {
4445
const { onOpenChange } = useDatePickerProvider()
4546

47+
const displayValue = formatDate ? formatDate(value) : value?.toLocaleDateString()
48+
4649
return (
4750
<PopoverTrigger
4851
asChild
@@ -66,7 +69,7 @@ export function DatePickerTrigger({
6669
)}
6770
>
6871
<CalendarBlankIcon />
69-
{value ? format(value, 'PPP') : <Typography>Pick a date</Typography>}
72+
<Typography>{displayValue || 'Pick a date'}</Typography>
7073
</Button>
7174
)}
7275
</PopoverTrigger>

packages/react/v2/components/primitives/input-group.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,10 +152,14 @@ function InputGroupText({ className, ...props }: React.ComponentProps<'span'>) {
152152

153153
function InputGroupControl({ className, disabled, ...props }: React.ComponentProps<typeof Input>) {
154154
const ctx = useInputGroup()
155+
156+
const isDisabled = ctx.disabled || disabled
157+
155158
return (
156159
<Slot
157160
data-slot="input-group-control"
158-
disabled={ctx.disabled || disabled}
161+
disabled={isDisabled}
162+
aria-disabled={isDisabled}
159163
className={cn(
160164
'flex-2 rounded-none border-0 bg-transparent shadow-none focus-visible:ring-0 dark:bg-transparent',
161165
className

pnpm-lock.yaml

Lines changed: 0 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)