Skip to content

Commit 0a50833

Browse files
docs: add missing controlled datepicker example (#1640)
* docs: add missing controlled datepicker example Fixes #1588 by adding the missing datepicker.value.tsx example file that demonstrates controlled datepicker usage with value prop and ability to clear by passing null * chore: add export for value example * fix: add controlled datepicker example --------- Co-authored-by: Sarthak Pandey <[email protected]>
1 parent 9d7731e commit 0a50833

File tree

2 files changed

+66
-0
lines changed

2 files changed

+66
-0
lines changed
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
"use client";
2+
3+
import { Button, Datepicker } from "flowbite-react";
4+
import { useState } from "react";
5+
import type { CodeData } from "~/components/code-demo";
6+
7+
const code = `
8+
"use client";
9+
10+
import { Button, Datepicker } from "flowbite-react";
11+
import { useState } from "react";
12+
13+
export function Component() {
14+
const [selectedDate, setSelectedDate] = useState<Date | null>(null);
15+
16+
return (
17+
<div className="flex flex-col gap-4">
18+
<Datepicker value={selectedDate} onChange={setSelectedDate} />
19+
<div className="flex gap-2">
20+
<Button size="xs" onClick={() => setSelectedDate(new Date())}>
21+
Set to Today
22+
</Button>
23+
<Button size="xs" onClick={() => setSelectedDate(null)}>
24+
Clear
25+
</Button>
26+
</div>
27+
{selectedDate && (
28+
<p className="text-sm text-gray-500">
29+
Selected: {selectedDate.toLocaleDateString()}
30+
</p>
31+
)}
32+
</div>
33+
);
34+
}
35+
`;
36+
37+
export function Component() {
38+
const [selectedDate, setSelectedDate] = useState<Date | null>(null);
39+
40+
return (
41+
<div className="flex flex-col gap-4">
42+
<Datepicker value={selectedDate} onChange={setSelectedDate} />
43+
<div className="flex gap-2">
44+
<Button size="xs" onClick={() => setSelectedDate(new Date())}>
45+
Set to Today
46+
</Button>
47+
<Button size="xs" onClick={() => setSelectedDate(null)}>
48+
Clear
49+
</Button>
50+
</div>
51+
{selectedDate && <p className="text-sm text-gray-500">Selected: {selectedDate.toLocaleDateString()}</p>}
52+
</div>
53+
);
54+
}
55+
56+
export const value: CodeData = {
57+
type: "single",
58+
code: {
59+
fileName: "index",
60+
language: "tsx",
61+
code,
62+
},
63+
githubSlug: "datepicker/datepicker.value.tsx",
64+
component: <Component />,
65+
};

apps/web/examples/datepicker/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,5 @@ export { filter } from "./datepicker.filter";
55
export { range } from "./datepicker.range";
66
export { root } from "./datepicker.root";
77
export { title } from "./datepicker.title";
8+
export { value } from "./datepicker.value";
89
export { weekStart } from "./datepicker.weekStart";

0 commit comments

Comments
 (0)