Changelog
Release notes for @kenos-ui/react-datepicker. Rendered from packages/datepicker/CHANGELOG.md.
0.5.3
Patch Changes
-
Add
visuallyHiddenStyleto@kenos-ui/utils— WCAG visually-hidden inline styles with no Tailwind/CSS framework dependency.DatePicker Input replaces
className="sr-only"on accessibility description spans withvisuallyHiddenStyle, fixing visible assistive text ("Selected date: …") in projects without Tailwind. Content live announcer refactored to reuse the shared utility. -
Updated dependencies
- @kenos-ui/utils@1.0.2
0.5.2
Patch Changes
- Updated dependencies [891e3a4]
- @kenos-ui/utils@1.0.1
0.5.1
Patch Changes
-
53e2d94: Add stable
data-kenosDOM fingerprints to every public primitive part for tooling detection (e.g. Wappalyzer) without affecting styling or accessibility.- Button:
data-kenos="button" - Select:
select-trigger,select-item,select-content, and 12 other parts - Combobox:
combobox-input,combobox-trigger,combobox-item, and 6 other parts - Date Picker:
date-picker-root,date-picker-input,date-picker-day, and 18 other parts
Each fingerprint uses the
{component}-{part}kebab-case convention and coexists with existing statedata-*attributes. - Button:
0.5.0
Minor Changes
-
b0fd79e: Add controlled
mode="multiple"sync,pageBehavior,allowsNonContiguousRanges,Presets+useDatePickerActions, and timegranularityvia timescape segments. Fix range click selection, grid month-boundary keyboard navigation, CLDR week-start lookup for SSR hydration, portaled Content client-mount guard,ErrorMessagepart, and arrow-key scroll prevention in grids. -
9c9de3d: Extend
useGridNavigationwithgetNextIndex(returningnullmeans the consumer handled navigation) and scoped Escape handling. Refactor datepicker grids to use the shared hook. Add range drag, resize, Ctrl+click multiple, and live announcer. Document popup policy. -
f2ea00f: ### Minor Changes
- Refactor day, month, and year grids to use
useGridNavigationfrom@kenos-ui/utils. - Range drag selection with pointer events (mouse/pen).
- Clicking an existing range endpoint re-anchors the selection.
- Ctrl/Cmd+click toggles dates in
multiplemode without clearing the input. useDatePickerAnnouncerfor month, selection, and range-complete screen reader updates.- Remove duplicate
use-roving-tabindex.ts(use@kenos-ui/utils). - Controlled
mode="multiple"sync,pageBehavior,allowsNonContiguousRanges,Presets+useDatePickerActions, and timegranularityvia timescape segments.
Patch Changes
- Fix range selection by click after drag refactor — second click completes the interval again.
- Grid keyboard navigation crosses month boundaries (Arrow at edges paginates via
FOCUS_DATE). - CLDR-based
getWeekStartDayfixes SSR hydration mismatches across Node and browser ICU. - Portaled
Contentwaits for client mount before rendering. - Arrow keys in day/month/year grids call
preventDefaultso the page does not scroll alongside grid focus. - Add
<DatePicker.ErrorMessage>for visible invalid-state messaging. Calendarshorthand uses abbreviated month labels (shortLabel) consistent with composed demos.
- Refactor day, month, and year grids to use
Patch Changes
- Updated dependencies [9c9de3d]
- Updated dependencies [f2ea00f]
- @kenos-ui/utils@1.0.0
0.4.2
Patch Changes
- 3222bd8: Sync controlled single
valueinto reducer state via a newSET_SELECTED_DATEaction, keeping the segmented input and calendar focused month in sync when the prop changes externally.
0.4.1
Minor Changes
-
Kenos UI DatePicker — feature release (
@kenos-ui/react-datepicker@0.4.1)Headless date & scheduling primitives for React 19+, fully unstyled and composition-first.
Selection API
- Unified
DatePicker.Rootwithmode:"single"|"range"|"multiple" - Controlled / uncontrolled
value,open, andonValueChange/onOpenChange - Range mode with live hover preview between
rangeStartandrangeEnd minDate,maxDate,disabled(boolean or per-date function),readOnly,closeOnSelect
Segmented input (timescape)
- First-class
<DatePicker.Input />— locale-aware month / day / year segments - Dual inputs for range (
index={0}/index={1}) - Bidirectional sync: type in segments or pick from calendar
- Custom
segmentLabelsfor screen readers
Compound calendar parts
Label,Trigger,Content,Calendar(shorthand composition)ViewControl,PrevTrigger,NextTrigger,ViewTriggerViewwithday/month/yeardrill-downGrid,Day(render-propDayCellMeta),WeekDaysMonthGrid/MonthCell,YearGrid/YearCelluseDatePickerContext()for custom layouts
Positioning & popup policy
- Floating UI via
Content:side,align,sideOffset,avoidCollisions,portal forceMountfor enter/exit animations (data-state)modalprop (defaultfalse) — opt-in focus trap +aria-modal; popup-policy friendly- Focus restore to trigger / input on close; dialog-interop (
Escapedoes not bubble)
State & i18n
- Reducer-driven state machine (
OPEN,SELECT_DATE,NAV_PREV/NAV_NEXT,SET_VIEW,COMMIT_INPUT, …) Intl-based locale: week start, month/year labels, segment order & separatorsweekStartsOnoverride
Accessibility & quality
- WAI-ARIA:
role="dialog",grid/gridcell, labelled inputs, keyboard roving tabindex - Test suite: reducer, calendar grid, date utils, ARIA, keyboard nav, dialog interop, axe (vitest-axe)
- Storybook: Single, Range, Multiple, Locales
Docs
- README with quick start, range / multiple examples, full composition, localization, and
Contentprops
Packaging
- Add
license: MITtopackage.json(fixes npm registry showing "no license")
- Unified
0.4.0
Minor Changes
-
Kenos UI DatePicker — feature release (
@kenos-ui/react-datepicker@0.4.0)Headless date & scheduling primitives for React 19+, fully unstyled and composition-first.
Selection API
- Unified
DatePicker.Rootwithmode:"single"|"range"|"multiple" - Controlled / uncontrolled
value,open, andonValueChange/onOpenChange - Range mode with live hover preview between
rangeStartandrangeEnd minDate,maxDate,disabled(boolean or per-date function),readOnly,closeOnSelect
Segmented input (timescape)
- First-class
<DatePicker.Input />— locale-aware month / day / year segments - Dual inputs for range (
index={0}/index={1}) - Bidirectional sync: type in segments or pick from calendar
- Custom
segmentLabelsfor screen readers
Compound calendar parts
Label,Trigger,Content,Calendar(shorthand composition)ViewControl,PrevTrigger,NextTrigger,ViewTriggerViewwithday/month/yeardrill-downGrid,Day(render-propDayCellMeta),WeekDaysMonthGrid/MonthCell,YearGrid/YearCelluseDatePickerContext()for custom layouts
Positioning & popup policy
- Floating UI via
Content:side,align,sideOffset,avoidCollisions,portal forceMountfor enter/exit animations (data-state)modalprop (defaultfalse) — opt-in focus trap +aria-modal; popup-policy friendly- Focus restore to trigger / input on close; dialog-interop (
Escapedoes not bubble)
State & i18n
- Reducer-driven state machine (
OPEN,SELECT_DATE,NAV_PREV/NAV_NEXT,SET_VIEW,COMMIT_INPUT, …) Intl-based locale: week start, month/year labels, segment order & separatorsweekStartsOnoverride
Accessibility & quality
- WAI-ARIA:
role="dialog",grid/gridcell, labelled inputs, keyboard roving tabindex - Test suite: reducer, calendar grid, date utils, ARIA, keyboard nav, dialog interop, axe (vitest-axe)
- Storybook: Single, Range, Multiple, Locales
Docs
- README with quick start, range / multiple examples, full composition, localization, and
Contentprops
- Unified
0.3.3
Patch Changes
- docs: major refresh of README.md and root documentation
- Update package README to accurately reflect current API (unified
DatePicker.Rootwithmode, first-class<DatePicker.Input>, full composition) - Add strong examples for segmented input, range with dual inputs + hover preview, multiple selection, and custom rendering
- Align with brand voice and recent announcement content
- Update root README with correct features and examples
- Update package README to accurately reflect current API (unified
0.3.2
Patch Changes
- Updated dependencies [aaa8a57]
- @kenos-ui/utils@0.0.1
0.3.1
Patch Changes
- Rebrand: publish under
@kenos-uiorg. Replaces interim@torq-ui/*naming. No API changes.
0.3.0
Minor Changes
-
Axis lift-and-shift: publish DatePicker under
@at5/axis-datepicker.- Add
@at5/axis-datepicker— same DatePicker API and behavior as@at5/kairo(migrated frompackages/kairotopackages/datepicker) - Add
@at5/axis— aggregator re-exportingDatePicker @at5/kairo— deprecated; thin re-export of@at5/axis-datepickerfor transition- Docs site and playground now depend on
@at5/axis-datepicker
Migration: replace
@at5/kairowith@at5/axis-datepicker(or@at5/axis). No API changes. - Add
0.2.1
Patch Changes
- cad8443: Improve README with full API reference and accurate dependency description
0.2.0
Minor Changes
- fb70ffd: Initial release