@kenos-ui/react-datepicker 0.4.0 → 0.4.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 +92 -5
- package/package.json +3 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,14 +1,101 @@
|
|
|
1
1
|
# @kenos-ui/react-datepicker
|
|
2
2
|
|
|
3
|
+
## 0.4.1
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- **Kenos UI DatePicker — feature release** (`@kenos-ui/react-datepicker@0.4.1`)
|
|
8
|
+
|
|
9
|
+
Headless date & scheduling primitives for React 19+, fully unstyled and composition-first.
|
|
10
|
+
|
|
11
|
+
**Selection API**
|
|
12
|
+
- Unified `DatePicker.Root` with `mode`: `"single"` | `"range"` | `"multiple"`
|
|
13
|
+
- Controlled / uncontrolled `value`, `open`, and `onValueChange` / `onOpenChange`
|
|
14
|
+
- Range mode with live hover preview between `rangeStart` and `rangeEnd`
|
|
15
|
+
- `minDate`, `maxDate`, `disabled` (boolean or per-date function), `readOnly`, `closeOnSelect`
|
|
16
|
+
|
|
17
|
+
**Segmented input (timescape)**
|
|
18
|
+
- First-class `<DatePicker.Input />` — locale-aware month / day / year segments
|
|
19
|
+
- Dual inputs for range (`index={0}` / `index={1}`)
|
|
20
|
+
- Bidirectional sync: type in segments or pick from calendar
|
|
21
|
+
- Custom `segmentLabels` for screen readers
|
|
22
|
+
|
|
23
|
+
**Compound calendar parts**
|
|
24
|
+
- `Label`, `Trigger`, `Content`, `Calendar` (shorthand composition)
|
|
25
|
+
- `ViewControl`, `PrevTrigger`, `NextTrigger`, `ViewTrigger`
|
|
26
|
+
- `View` with `day` / `month` / `year` drill-down
|
|
27
|
+
- `Grid`, `Day` (render-prop `DayCellMeta`), `WeekDays`
|
|
28
|
+
- `MonthGrid` / `MonthCell`, `YearGrid` / `YearCell`
|
|
29
|
+
- `useDatePickerContext()` for custom layouts
|
|
30
|
+
|
|
31
|
+
**Positioning & popup policy**
|
|
32
|
+
- Floating UI via `Content`: `side`, `align`, `sideOffset`, `avoidCollisions`, `portal`
|
|
33
|
+
- `forceMount` for enter/exit animations (`data-state`)
|
|
34
|
+
- `modal` prop (default `false`) — opt-in focus trap + `aria-modal`; popup-policy friendly
|
|
35
|
+
- Focus restore to trigger / input on close; dialog-interop (`Escape` does not bubble)
|
|
36
|
+
|
|
37
|
+
**State & i18n**
|
|
38
|
+
- Reducer-driven state machine (`OPEN`, `SELECT_DATE`, `NAV_PREV`/`NAV_NEXT`, `SET_VIEW`, `COMMIT_INPUT`, …)
|
|
39
|
+
- `Intl`-based locale: week start, month/year labels, segment order & separators
|
|
40
|
+
- `weekStartsOn` override
|
|
41
|
+
|
|
42
|
+
**Accessibility & quality**
|
|
43
|
+
- WAI-ARIA: `role="dialog"`, `grid` / `gridcell`, labelled inputs, keyboard roving tabindex
|
|
44
|
+
- Test suite: reducer, calendar grid, date utils, ARIA, keyboard nav, dialog interop, axe (vitest-axe)
|
|
45
|
+
- Storybook: Single, Range, Multiple, Locales
|
|
46
|
+
|
|
47
|
+
**Docs**
|
|
48
|
+
- README with quick start, range / multiple examples, full composition, localization, and `Content` props
|
|
49
|
+
|
|
50
|
+
**Packaging**
|
|
51
|
+
- Add `license: MIT` to `package.json` (fixes npm registry showing "no license")
|
|
52
|
+
|
|
3
53
|
## 0.4.0
|
|
4
54
|
|
|
5
55
|
### Minor Changes
|
|
6
56
|
|
|
7
|
-
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
57
|
+
- **Kenos UI DatePicker — feature release** (`@kenos-ui/react-datepicker@0.4.0`)
|
|
58
|
+
|
|
59
|
+
Headless date & scheduling primitives for React 19+, fully unstyled and composition-first.
|
|
60
|
+
|
|
61
|
+
**Selection API**
|
|
62
|
+
- Unified `DatePicker.Root` with `mode`: `"single"` | `"range"` | `"multiple"`
|
|
63
|
+
- Controlled / uncontrolled `value`, `open`, and `onValueChange` / `onOpenChange`
|
|
64
|
+
- Range mode with live hover preview between `rangeStart` and `rangeEnd`
|
|
65
|
+
- `minDate`, `maxDate`, `disabled` (boolean or per-date function), `readOnly`, `closeOnSelect`
|
|
66
|
+
|
|
67
|
+
**Segmented input (timescape)**
|
|
68
|
+
- First-class `<DatePicker.Input />` — locale-aware month / day / year segments
|
|
69
|
+
- Dual inputs for range (`index={0}` / `index={1}`)
|
|
70
|
+
- Bidirectional sync: type in segments or pick from calendar
|
|
71
|
+
- Custom `segmentLabels` for screen readers
|
|
72
|
+
|
|
73
|
+
**Compound calendar parts**
|
|
74
|
+
- `Label`, `Trigger`, `Content`, `Calendar` (shorthand composition)
|
|
75
|
+
- `ViewControl`, `PrevTrigger`, `NextTrigger`, `ViewTrigger`
|
|
76
|
+
- `View` with `day` / `month` / `year` drill-down
|
|
77
|
+
- `Grid`, `Day` (render-prop `DayCellMeta`), `WeekDays`
|
|
78
|
+
- `MonthGrid` / `MonthCell`, `YearGrid` / `YearCell`
|
|
79
|
+
- `useDatePickerContext()` for custom layouts
|
|
80
|
+
|
|
81
|
+
**Positioning & popup policy**
|
|
82
|
+
- Floating UI via `Content`: `side`, `align`, `sideOffset`, `avoidCollisions`, `portal`
|
|
83
|
+
- `forceMount` for enter/exit animations (`data-state`)
|
|
84
|
+
- `modal` prop (default `false`) — opt-in focus trap + `aria-modal`; popup-policy friendly
|
|
85
|
+
- Focus restore to trigger / input on close; dialog-interop (`Escape` does not bubble)
|
|
86
|
+
|
|
87
|
+
**State & i18n**
|
|
88
|
+
- Reducer-driven state machine (`OPEN`, `SELECT_DATE`, `NAV_PREV`/`NAV_NEXT`, `SET_VIEW`, `COMMIT_INPUT`, …)
|
|
89
|
+
- `Intl`-based locale: week start, month/year labels, segment order & separators
|
|
90
|
+
- `weekStartsOn` override
|
|
91
|
+
|
|
92
|
+
**Accessibility & quality**
|
|
93
|
+
- WAI-ARIA: `role="dialog"`, `grid` / `gridcell`, labelled inputs, keyboard roving tabindex
|
|
94
|
+
- Test suite: reducer, calendar grid, date utils, ARIA, keyboard nav, dialog interop, axe (vitest-axe)
|
|
95
|
+
- Storybook: Single, Range, Multiple, Locales
|
|
96
|
+
|
|
97
|
+
**Docs**
|
|
98
|
+
- README with quick start, range / multiple examples, full composition, localization, and `Content` props
|
|
12
99
|
|
|
13
100
|
## 0.3.3
|
|
14
101
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kenos-ui/react-datepicker",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"description": "Headless date & scheduling primitives for React — Kenos UI DatePicker",
|
|
5
|
+
"license": "MIT",
|
|
5
6
|
"repository": {
|
|
6
7
|
"type": "git",
|
|
7
8
|
"url": "https://github.com/allysontsoares/kenos-ui",
|
|
@@ -30,7 +31,7 @@
|
|
|
30
31
|
"dependencies": {
|
|
31
32
|
"@floating-ui/react-dom": "^2.1.8",
|
|
32
33
|
"timescape": "^0.8.0",
|
|
33
|
-
"@kenos-ui/utils": "0.0.
|
|
34
|
+
"@kenos-ui/utils": "0.0.2"
|
|
34
35
|
},
|
|
35
36
|
"devDependencies": {
|
|
36
37
|
"@storybook/addon-a11y": "^8.0.0",
|