@kalyx/react 0.2.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/README.md +67 -58
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +160 -162
- package/dist/index.d.ts +742 -17
- package/dist/index.js +2137 -11
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/components/DatePicker/Calendar.d.ts +0 -23
- package/dist/components/DatePicker/Calendar.d.ts.map +0 -1
- package/dist/components/DatePicker/Calendar.js +0 -127
- package/dist/components/DatePicker/Calendar.js.map +0 -1
- package/dist/components/DatePicker/Input.d.ts +0 -7
- package/dist/components/DatePicker/Input.d.ts.map +0 -1
- package/dist/components/DatePicker/Input.js +0 -73
- package/dist/components/DatePicker/Input.js.map +0 -1
- package/dist/components/DatePicker/MonthGrid.d.ts +0 -34
- package/dist/components/DatePicker/MonthGrid.d.ts.map +0 -1
- package/dist/components/DatePicker/MonthGrid.js +0 -54
- package/dist/components/DatePicker/MonthGrid.js.map +0 -1
- package/dist/components/DatePicker/Popover.d.ts +0 -6
- package/dist/components/DatePicker/Popover.d.ts.map +0 -1
- package/dist/components/DatePicker/Popover.js +0 -72
- package/dist/components/DatePicker/Popover.js.map +0 -1
- package/dist/components/DatePicker/Root.d.ts +0 -46
- package/dist/components/DatePicker/Root.d.ts.map +0 -1
- package/dist/components/DatePicker/Root.js +0 -90
- package/dist/components/DatePicker/Root.js.map +0 -1
- package/dist/components/DatePicker/Trigger.d.ts +0 -6
- package/dist/components/DatePicker/Trigger.d.ts.map +0 -1
- package/dist/components/DatePicker/Trigger.js +0 -21
- package/dist/components/DatePicker/Trigger.js.map +0 -1
- package/dist/components/DatePicker/YearGrid.d.ts +0 -29
- package/dist/components/DatePicker/YearGrid.d.ts.map +0 -1
- package/dist/components/DatePicker/YearGrid.js +0 -53
- package/dist/components/DatePicker/YearGrid.js.map +0 -1
- package/dist/components/DatePicker/index.d.ts +0 -48
- package/dist/components/DatePicker/index.d.ts.map +0 -1
- package/dist/components/DatePicker/index.js +0 -42
- package/dist/components/DatePicker/index.js.map +0 -1
- package/dist/components/DateTimePicker/Input.d.ts +0 -12
- package/dist/components/DateTimePicker/Input.d.ts.map +0 -1
- package/dist/components/DateTimePicker/Input.js +0 -41
- package/dist/components/DateTimePicker/Input.js.map +0 -1
- package/dist/components/DateTimePicker/Root.d.ts +0 -60
- package/dist/components/DateTimePicker/Root.d.ts.map +0 -1
- package/dist/components/DateTimePicker/Root.js +0 -140
- package/dist/components/DateTimePicker/Root.js.map +0 -1
- package/dist/components/DateTimePicker/index.d.ts +0 -55
- package/dist/components/DateTimePicker/index.d.ts.map +0 -1
- package/dist/components/DateTimePicker/index.js +0 -55
- package/dist/components/DateTimePicker/index.js.map +0 -1
- package/dist/components/RangePicker/Calendar.d.ts +0 -24
- package/dist/components/RangePicker/Calendar.d.ts.map +0 -1
- package/dist/components/RangePicker/Calendar.js +0 -134
- package/dist/components/RangePicker/Calendar.js.map +0 -1
- package/dist/components/RangePicker/Input.d.ts +0 -14
- package/dist/components/RangePicker/Input.d.ts.map +0 -1
- package/dist/components/RangePicker/Input.js +0 -38
- package/dist/components/RangePicker/Input.js.map +0 -1
- package/dist/components/RangePicker/Popover.d.ts +0 -6
- package/dist/components/RangePicker/Popover.d.ts.map +0 -1
- package/dist/components/RangePicker/Popover.js +0 -71
- package/dist/components/RangePicker/Popover.js.map +0 -1
- package/dist/components/RangePicker/Presets.d.ts +0 -49
- package/dist/components/RangePicker/Presets.d.ts.map +0 -1
- package/dist/components/RangePicker/Presets.js +0 -117
- package/dist/components/RangePicker/Presets.js.map +0 -1
- package/dist/components/RangePicker/Root.d.ts +0 -40
- package/dist/components/RangePicker/Root.d.ts.map +0 -1
- package/dist/components/RangePicker/Root.js +0 -138
- package/dist/components/RangePicker/Root.js.map +0 -1
- package/dist/components/RangePicker/index.d.ts +0 -48
- package/dist/components/RangePicker/index.d.ts.map +0 -1
- package/dist/components/RangePicker/index.js +0 -43
- package/dist/components/RangePicker/index.js.map +0 -1
- package/dist/components/TimePicker/AmPmToggle.d.ts +0 -15
- package/dist/components/TimePicker/AmPmToggle.d.ts.map +0 -1
- package/dist/components/TimePicker/AmPmToggle.js +0 -29
- package/dist/components/TimePicker/AmPmToggle.js.map +0 -1
- package/dist/components/TimePicker/HourList.d.ts +0 -18
- package/dist/components/TimePicker/HourList.d.ts.map +0 -1
- package/dist/components/TimePicker/HourList.js +0 -71
- package/dist/components/TimePicker/HourList.js.map +0 -1
- package/dist/components/TimePicker/Input.d.ts +0 -9
- package/dist/components/TimePicker/Input.d.ts.map +0 -1
- package/dist/components/TimePicker/Input.js +0 -37
- package/dist/components/TimePicker/Input.js.map +0 -1
- package/dist/components/TimePicker/MinuteList.d.ts +0 -15
- package/dist/components/TimePicker/MinuteList.d.ts.map +0 -1
- package/dist/components/TimePicker/MinuteList.js +0 -62
- package/dist/components/TimePicker/MinuteList.js.map +0 -1
- package/dist/components/TimePicker/Root.d.ts +0 -38
- package/dist/components/TimePicker/Root.d.ts.map +0 -1
- package/dist/components/TimePicker/Root.js +0 -40
- package/dist/components/TimePicker/Root.js.map +0 -1
- package/dist/components/TimePicker/index.d.ts +0 -32
- package/dist/components/TimePicker/index.d.ts.map +0 -1
- package/dist/components/TimePicker/index.js +0 -27
- package/dist/components/TimePicker/index.js.map +0 -1
- package/dist/context/DatePickerContext.d.ts +0 -49
- package/dist/context/DatePickerContext.d.ts.map +0 -1
- package/dist/context/DatePickerContext.js +0 -18
- package/dist/context/DatePickerContext.js.map +0 -1
- package/dist/context/RangePickerContext.d.ts +0 -53
- package/dist/context/RangePickerContext.d.ts.map +0 -1
- package/dist/context/RangePickerContext.js +0 -18
- package/dist/context/RangePickerContext.js.map +0 -1
- package/dist/context/TimePickerContext.d.ts +0 -29
- package/dist/context/TimePickerContext.d.ts.map +0 -1
- package/dist/context/TimePickerContext.js +0 -18
- package/dist/context/TimePickerContext.js.map +0 -1
- package/dist/hooks/useDatePicker.d.ts +0 -63
- package/dist/hooks/useDatePicker.d.ts.map +0 -1
- package/dist/hooks/useDatePicker.js +0 -82
- package/dist/hooks/useDatePicker.js.map +0 -1
- package/dist/hooks/useRangePicker.d.ts +0 -67
- package/dist/hooks/useRangePicker.d.ts.map +0 -1
- package/dist/hooks/useRangePicker.js +0 -116
- package/dist/hooks/useRangePicker.js.map +0 -1
- package/dist/hooks/useTimePicker.d.ts +0 -63
- package/dist/hooks/useTimePicker.d.ts.map +0 -1
- package/dist/hooks/useTimePicker.js +0 -69
- package/dist/hooks/useTimePicker.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# @kalyx/react
|
|
2
2
|
|
|
3
|
+
## 0.2.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- fe0e63e: Add full documentation site (Docusaurus, EN/KO), rewrite READMEs for npm, fix CI pnpm version to 10
|
|
8
|
+
- Updated dependencies [fe0e63e]
|
|
9
|
+
- @kalyx/core@0.2.1
|
|
10
|
+
|
|
3
11
|
## 0.2.0
|
|
4
12
|
|
|
5
13
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -1,88 +1,97 @@
|
|
|
1
1
|
# @kalyx/react
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> The headless React DatePicker, finally complete. Zero CSS · SSR-safe · under 12 KB gzip.
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/@kalyx/react)
|
|
6
|
+
[](https://kalyx-docs.vercel.app/docs/api/react#bundle-size)
|
|
7
|
+
[](https://www.typescriptlang.org/)
|
|
8
|
+
[](https://github.com/jiji-hoon96/kalyx/blob/main/LICENSE)
|
|
9
|
+
|
|
10
|
+
Composable React primitives for single dates, date ranges, time, and date + time. Radix-style dot notation. Pair with Tailwind, shadcn/ui, Chakra, or any CSS.
|
|
11
|
+
|
|
12
|
+
**📚 Full docs:** [kalyx-docs.vercel.app](https://kalyx-docs.vercel.app) · [한국어](https://kalyx-docs.vercel.app/ko)
|
|
4
13
|
|
|
5
14
|
## Install
|
|
6
15
|
|
|
7
16
|
```bash
|
|
8
17
|
pnpm add @kalyx/react
|
|
18
|
+
# npm install @kalyx/react
|
|
19
|
+
# yarn add @kalyx/react
|
|
9
20
|
```
|
|
10
21
|
|
|
11
|
-
|
|
22
|
+
Requires React ≥ 19.
|
|
12
23
|
|
|
13
|
-
##
|
|
14
|
-
|
|
15
|
-
### DatePicker
|
|
24
|
+
## Quick example
|
|
16
25
|
|
|
17
26
|
```tsx
|
|
18
|
-
import {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
<
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
27
|
+
import { useState } from 'react';
|
|
28
|
+
import { DatePicker, type ISODateString } from '@kalyx/react';
|
|
29
|
+
|
|
30
|
+
export function BookingField() {
|
|
31
|
+
const [date, setDate] = useState<ISODateString | null>(null);
|
|
32
|
+
return (
|
|
33
|
+
<DatePicker value={date} onChange={setDate}>
|
|
34
|
+
<DatePicker.Input placeholder="YYYY-MM-DD" />
|
|
35
|
+
<DatePicker.Trigger />
|
|
36
|
+
<DatePicker.Popover>
|
|
37
|
+
<DatePicker.Calendar />
|
|
38
|
+
</DatePicker.Popover>
|
|
39
|
+
</DatePicker>
|
|
40
|
+
);
|
|
41
|
+
}
|
|
26
42
|
```
|
|
27
43
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
```tsx
|
|
31
|
-
import { RangePicker } from '@kalyx/react';
|
|
32
|
-
|
|
33
|
-
<RangePicker value={range} onChange={setRange}>
|
|
34
|
-
<RangePicker.Input part="start" />
|
|
35
|
-
<RangePicker.Input part="end" />
|
|
36
|
-
<RangePicker.Popover>
|
|
37
|
-
<RangePicker.Calendar />
|
|
38
|
-
</RangePicker.Popover>
|
|
39
|
-
</RangePicker>
|
|
40
|
-
```
|
|
44
|
+
Value is always an `ISODateString | null` — UTC-safe, no `Date` objects.
|
|
41
45
|
|
|
42
|
-
|
|
46
|
+
## What you get
|
|
43
47
|
|
|
44
48
|
```tsx
|
|
45
|
-
import {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
49
|
+
import {
|
|
50
|
+
DatePicker, // single date
|
|
51
|
+
RangePicker, // date range + presets
|
|
52
|
+
TimePicker, // hour + minute (+ seconds)
|
|
53
|
+
DateTimePicker, // date + time combined
|
|
54
|
+
useDatePicker, // hook for custom UIs
|
|
55
|
+
useRangePicker,
|
|
56
|
+
useTimePicker,
|
|
57
|
+
DateFnsAdapter, // default adapter (re-exported from @kalyx/core)
|
|
58
|
+
} from '@kalyx/react';
|
|
53
59
|
```
|
|
54
60
|
|
|
55
|
-
|
|
61
|
+
## Features
|
|
56
62
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
<DateTimePicker.HourList />
|
|
65
|
-
<DateTimePicker.MinuteList />
|
|
66
|
-
</DateTimePicker.Popover>
|
|
67
|
-
</DateTimePicker>
|
|
68
|
-
```
|
|
63
|
+
- **Zero CSS** — no stylesheets to import.
|
|
64
|
+
- **Composition** — Radix-style `<DatePicker.Input />`, `<DatePicker.Calendar />`, etc.
|
|
65
|
+
- **SSR-safe** — tested on Next.js App Router.
|
|
66
|
+
- **ISO 8601 UTC strings** — eliminates `Date`-object footguns.
|
|
67
|
+
- **Accessible** — ARIA roles, keyboard navigation, axe-clean.
|
|
68
|
+
- **Tree-shakable** — pay only for the components you render.
|
|
69
|
+
- **TypeScript strict** — no `any`, full type exports.
|
|
69
70
|
|
|
70
|
-
##
|
|
71
|
+
## Styling
|
|
71
72
|
|
|
72
|
-
|
|
73
|
+
Every sub-component forwards `className`, `style`, and `ref`, and accepts a `classNames` slot map:
|
|
73
74
|
|
|
74
75
|
```tsx
|
|
75
|
-
|
|
76
|
+
<DatePicker.Calendar
|
|
77
|
+
classNames={{
|
|
78
|
+
day: 'h-8 w-8 rounded hover:bg-neutral-100',
|
|
79
|
+
daySelected: 'bg-indigo-600 text-white',
|
|
80
|
+
dayToday: 'ring-1 ring-indigo-400',
|
|
81
|
+
}}
|
|
82
|
+
/>
|
|
76
83
|
```
|
|
77
84
|
|
|
78
|
-
|
|
85
|
+
Full recipes: [Tailwind](https://kalyx-docs.vercel.app/docs/recipes/tailwind), [shadcn/ui](https://kalyx-docs.vercel.app/docs/recipes/shadcn), [React Hook Form](https://kalyx-docs.vercel.app/docs/recipes/react-hook-form).
|
|
86
|
+
|
|
87
|
+
## Documentation
|
|
79
88
|
|
|
80
|
-
-
|
|
81
|
-
-
|
|
82
|
-
-
|
|
83
|
-
-
|
|
84
|
-
-
|
|
89
|
+
- [Introduction](https://kalyx-docs.vercel.app/docs/intro)
|
|
90
|
+
- [Quick Start](https://kalyx-docs.vercel.app/docs/getting-started/quick-start)
|
|
91
|
+
- [Components](https://kalyx-docs.vercel.app/docs/components/datepicker)
|
|
92
|
+
- [Hooks](https://kalyx-docs.vercel.app/docs/hooks/use-date-picker)
|
|
93
|
+
- [Migration from react-datepicker / react-day-picker / React Aria](https://kalyx-docs.vercel.app/docs/migration)
|
|
85
94
|
|
|
86
95
|
## License
|
|
87
96
|
|
|
88
|
-
MIT
|
|
97
|
+
[MIT](https://github.com/jiji-hoon96/kalyx/blob/main/LICENSE)
|