best-react-datepicker 0.2.0

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.
Files changed (46) hide show
  1. package/dist/chunk-A3NQUSC5.cjs +1155 -0
  2. package/dist/chunk-A3NQUSC5.cjs.map +1 -0
  3. package/dist/chunk-FBN3SFQJ.js +1140 -0
  4. package/dist/chunk-FBN3SFQJ.js.map +1 -0
  5. package/dist/chunk-HI4J64KK.cjs +592 -0
  6. package/dist/chunk-HI4J64KK.cjs.map +1 -0
  7. package/dist/chunk-NF5M43IO.js +49 -0
  8. package/dist/chunk-NF5M43IO.js.map +1 -0
  9. package/dist/chunk-QW2CUEX4.js +117 -0
  10. package/dist/chunk-QW2CUEX4.js.map +1 -0
  11. package/dist/chunk-R7HLYS5V.cjs +120 -0
  12. package/dist/chunk-R7HLYS5V.cjs.map +1 -0
  13. package/dist/chunk-W6KEY2SO.js +526 -0
  14. package/dist/chunk-W6KEY2SO.js.map +1 -0
  15. package/dist/chunk-WBWQ5RKN.cjs +51 -0
  16. package/dist/chunk-WBWQ5RKN.cjs.map +1 -0
  17. package/dist/hooks.cjs +66 -0
  18. package/dist/hooks.cjs.map +1 -0
  19. package/dist/hooks.d.cts +555 -0
  20. package/dist/hooks.d.ts +555 -0
  21. package/dist/hooks.js +5 -0
  22. package/dist/hooks.js.map +1 -0
  23. package/dist/index.cjs +1502 -0
  24. package/dist/index.cjs.map +1 -0
  25. package/dist/index.d.cts +239 -0
  26. package/dist/index.d.ts +239 -0
  27. package/dist/index.js +1303 -0
  28. package/dist/index.js.map +1 -0
  29. package/dist/locales.cjs +16 -0
  30. package/dist/locales.cjs.map +1 -0
  31. package/dist/locales.d.cts +6 -0
  32. package/dist/locales.d.ts +6 -0
  33. package/dist/locales.js +3 -0
  34. package/dist/locales.js.map +1 -0
  35. package/dist/presets-B8wfaoTj.d.cts +54 -0
  36. package/dist/presets-CB5Rt4Li.d.ts +54 -0
  37. package/dist/styles.css +751 -0
  38. package/dist/types-DA2PcEiy.d.cts +104 -0
  39. package/dist/types-DA2PcEiy.d.ts +104 -0
  40. package/dist/utils.cjs +282 -0
  41. package/dist/utils.cjs.map +1 -0
  42. package/dist/utils.d.cts +57 -0
  43. package/dist/utils.d.ts +57 -0
  44. package/dist/utils.js +5 -0
  45. package/dist/utils.js.map +1 -0
  46. package/package.json +79 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Calendar/CalendarHeader.tsx","../src/components/Calendar/CalendarDay.tsx","../src/components/Calendar/CalendarGrid.tsx","../src/components/shared/LiveRegion.tsx","../src/components/Calendar/Calendar.tsx","../src/components/shared/Portal.tsx","../src/components/shared/Popover.tsx","../src/components/shared/sizeStyles.ts","../src/components/DatePicker/DatePicker.tsx","../src/components/RangePicker/RangePicker.tsx","../src/components/TimePicker/TimePicker.tsx","../src/components/DateTimePicker/DateTimePicker.tsx","../src/components/MonthPicker/MonthPicker.tsx","../src/components/YearPicker/YearPicker.tsx","../src/components/WeekPicker/WeekPicker.tsx","../src/components/shared/VisuallyHidden.tsx"],"names":["jsx","isSameDay","jsxs","useState","useEffect","DatePicker","useRef"],"mappings":"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","file":"index.js","sourcesContent":["export interface CalendarHeaderProps {\n label: string;\n onPrevMonth: () => void;\n onNextMonth: () => void;\n onPrevYear?: () => void;\n onNextYear?: () => void;\n onLabelClick?: () => void;\n prevMonthLabel?: string;\n nextMonthLabel?: string;\n className?: string;\n showPrev?: boolean;\n showNext?: boolean;\n viewingMonth?: number;\n viewingYear?: number;\n onMonthChange?: (month: number) => void;\n onYearChange?: (year: number) => void;\n minDate?: Date;\n maxDate?: Date;\n monthNames?: string[];\n}\n\nconst DEFAULT_MONTH_NAMES = [\n 'January', 'February', 'March', 'April', 'May', 'June',\n 'July', 'August', 'September', 'October', 'November', 'December',\n];\n\nfunction SelectChevron() {\n return (\n <span className=\"brdp-header__select-chevron\" aria-hidden=\"true\">\n <svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\">\n <path d=\"M2.5 3.75L5 6.25L7.5 3.75\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n </span>\n );\n}\n\nexport function CalendarHeader({\n label,\n onPrevMonth,\n onNextMonth,\n onLabelClick,\n prevMonthLabel = 'Previous month',\n nextMonthLabel = 'Next month',\n className,\n showPrev = true,\n showNext = true,\n viewingMonth,\n viewingYear,\n onMonthChange,\n onYearChange,\n minDate,\n maxDate,\n monthNames,\n}: CalendarHeaderProps) {\n const hasDropdowns = viewingMonth != null && viewingYear != null && onMonthChange && onYearChange;\n\n const currentYear = new Date().getFullYear();\n const minYear = minDate ? minDate.getFullYear() : currentYear - 100;\n const maxYear = maxDate ? maxDate.getFullYear() : currentYear + 20;\n\n const names = monthNames ?? DEFAULT_MONTH_NAMES;\n\n const getMonthOptions = () => {\n const options: { value: number; label: string; disabled: boolean }[] = [];\n for (let m = 0; m < 12; m++) {\n let disabled = false;\n if (minDate && viewingYear != null && viewingYear === minDate.getFullYear() && m < minDate.getMonth()) {\n disabled = true;\n }\n if (maxDate && viewingYear != null && viewingYear === maxDate.getFullYear() && m > maxDate.getMonth()) {\n disabled = true;\n }\n options.push({ value: m, label: names[m], disabled });\n }\n return options;\n };\n\n return (\n <div className={`brdp-header ${className ?? ''}`}>\n {showPrev ? (\n <button\n type=\"button\"\n className=\"brdp-header__nav-btn brdp-header__nav-btn--prev\"\n onClick={onPrevMonth}\n aria-label={prevMonthLabel}\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\">\n <path d=\"M10 12L6 8L10 4\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n </button>\n ) : (\n <span className=\"brdp-header__nav-btn\" style={{ visibility: 'hidden' }} />\n )}\n\n {hasDropdowns ? (\n <div className=\"brdp-header__selects\">\n <div className=\"brdp-header__select-wrapper\">\n <select\n className=\"brdp-header__select\"\n value={viewingMonth}\n onChange={(e) => onMonthChange(Number(e.target.value))}\n aria-label=\"Select month\"\n >\n {getMonthOptions().map((opt) => (\n <option key={opt.value} value={opt.value} disabled={opt.disabled}>\n {opt.label}\n </option>\n ))}\n </select>\n <SelectChevron />\n </div>\n <div className=\"brdp-header__select-wrapper\">\n <select\n className=\"brdp-header__select\"\n value={viewingYear}\n onChange={(e) => onYearChange(Number(e.target.value))}\n aria-label=\"Select year\"\n >\n {Array.from({ length: maxYear - minYear + 1 }, (_, i) => minYear + i).map((y) => (\n <option key={y} value={y}>\n {y}\n </option>\n ))}\n </select>\n <SelectChevron />\n </div>\n </div>\n ) : (\n <button\n type=\"button\"\n className=\"brdp-header__label\"\n onClick={onLabelClick}\n aria-live=\"polite\"\n >\n {label}\n </button>\n )}\n\n {showNext ? (\n <button\n type=\"button\"\n className=\"brdp-header__nav-btn brdp-header__nav-btn--next\"\n onClick={onNextMonth}\n aria-label={nextMonthLabel}\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\">\n <path d=\"M6 4L10 8L6 12\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n </button>\n ) : (\n <span className=\"brdp-header__nav-btn\" style={{ visibility: 'hidden' }} />\n )}\n </div>\n );\n}\n","import type { CalendarDay as CalendarDayType } from '../../core/types';\n\nexport interface CalendarDayProps {\n day: CalendarDayType;\n isSelected?: boolean;\n isDisabled?: boolean;\n isHighlighted?: boolean;\n isRangeStart?: boolean;\n isRangeEnd?: boolean;\n isInRange?: boolean;\n isInPreviewRange?: boolean;\n isFocused?: boolean;\n onClick?: (date: Date) => void;\n onMouseEnter?: (date: Date) => void;\n onMouseLeave?: () => void;\n renderDay?: (day: CalendarDayType) => React.ReactNode;\n className?: string;\n showOutsideDays?: boolean;\n}\n\nexport function CalendarDay({\n day,\n isSelected = false,\n isDisabled = false,\n isHighlighted = false,\n isRangeStart = false,\n isRangeEnd = false,\n isInRange = false,\n isInPreviewRange = false,\n isFocused = false,\n onClick,\n onMouseEnter,\n onMouseLeave,\n renderDay,\n className,\n showOutsideDays = true,\n}: CalendarDayProps) {\n if (!day.isCurrentMonth && !showOutsideDays) {\n return <td className=\"brdp-day brdp-day--empty\" aria-hidden=\"true\" />;\n }\n\n const classes = [\n 'brdp-day',\n day.isToday && 'brdp-day--today',\n isSelected && 'brdp-day--selected',\n isDisabled && 'brdp-day--disabled',\n !day.isCurrentMonth && 'brdp-day--outside',\n day.isWeekend && 'brdp-day--weekend',\n isHighlighted && 'brdp-day--highlighted',\n isRangeStart && 'brdp-day--range-start',\n isRangeEnd && 'brdp-day--range-end',\n isInRange && 'brdp-day--range-middle',\n isInPreviewRange && 'brdp-day--range-preview',\n isFocused && 'brdp-day--focused',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <td className={classes} role=\"gridcell\">\n <button\n type=\"button\"\n className=\"brdp-day__btn\"\n disabled={isDisabled}\n tabIndex={isFocused ? 0 : -1}\n aria-selected={isSelected}\n aria-disabled={isDisabled}\n aria-label={day.date.toLocaleDateString()}\n onClick={() => onClick?.(day.date)}\n onMouseEnter={() => onMouseEnter?.(day.date)}\n onMouseLeave={onMouseLeave}\n data-date={day.date.toISOString().split('T')[0]}\n >\n {renderDay ? renderDay(day) : day.dayOfMonth}\n </button>\n </td>\n );\n}\n","import type { CalendarMonth as CalendarMonthType, CalendarDay as CalendarDayType, WeekDay } from '../../core/types';\nimport { CalendarDay } from './CalendarDay';\n\nexport interface CalendarGridProps {\n month: CalendarMonthType;\n weekStartsOn?: WeekDay;\n dayNames?: string[];\n showWeekNumbers?: boolean;\n showOutsideDays?: boolean;\n isSelected?: (date: Date) => boolean;\n isDisabled?: (date: Date) => boolean;\n isHighlighted?: (date: Date) => boolean;\n isRangeStart?: (date: Date) => boolean;\n isRangeEnd?: (date: Date) => boolean;\n isInRange?: (date: Date) => boolean;\n isInPreviewRange?: (date: Date) => boolean;\n focusedDate?: Date | null;\n onDayClick?: (date: Date) => void;\n onDayMouseEnter?: (date: Date) => void;\n onDayMouseLeave?: () => void;\n renderDay?: (day: CalendarDayType) => React.ReactNode;\n onKeyDown?: (e: React.KeyboardEvent) => void;\n className?: string;\n}\n\nconst DEFAULT_DAY_NAMES = ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'];\n\nexport function CalendarGrid({\n month,\n weekStartsOn = 0,\n dayNames,\n showWeekNumbers = false,\n showOutsideDays = true,\n isSelected,\n isDisabled,\n isHighlighted,\n isRangeStart,\n isRangeEnd,\n isInRange,\n isInPreviewRange,\n focusedDate,\n onDayClick,\n onDayMouseEnter,\n onDayMouseLeave,\n renderDay,\n onKeyDown,\n className,\n}: CalendarGridProps) {\n const names = dayNames ?? reorderDayNames(DEFAULT_DAY_NAMES, weekStartsOn);\n\n const isSameDay = (a: Date, b: Date) =>\n a.getFullYear() === b.getFullYear() &&\n a.getMonth() === b.getMonth() &&\n a.getDate() === b.getDate();\n\n return (\n <table\n className={`brdp-grid ${className ?? ''}`}\n role=\"grid\"\n aria-label={month.label}\n onKeyDown={onKeyDown}\n >\n <thead>\n <tr className=\"brdp-grid__weekdays\">\n {showWeekNumbers && (\n <th className=\"brdp-week-number brdp-week-number--header\" aria-label=\"Week number\">\n #\n </th>\n )}\n {names.map((name, i) => (\n <th key={i} className=\"brdp-grid__weekday\" abbr={name} scope=\"col\">\n {name}\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {month.weeks.map((week, wi) => (\n <tr key={wi} className=\"brdp-grid__week\">\n {showWeekNumbers && (\n <td className=\"brdp-week-number\" aria-label={`Week ${week.weekNumber}`}>\n {week.weekNumber}\n </td>\n )}\n {week.days.map((day, di) => (\n <CalendarDay\n key={di}\n day={day}\n isSelected={isSelected?.(day.date) ?? false}\n isDisabled={isDisabled?.(day.date) ?? false}\n isHighlighted={isHighlighted?.(day.date) ?? false}\n isRangeStart={isRangeStart?.(day.date) ?? false}\n isRangeEnd={isRangeEnd?.(day.date) ?? false}\n isInRange={isInRange?.(day.date) ?? false}\n isInPreviewRange={isInPreviewRange?.(day.date) ?? false}\n isFocused={focusedDate ? isSameDay(day.date, focusedDate) : false}\n onClick={onDayClick}\n onMouseEnter={onDayMouseEnter}\n onMouseLeave={onDayMouseLeave}\n renderDay={renderDay}\n showOutsideDays={showOutsideDays}\n />\n ))}\n </tr>\n ))}\n </tbody>\n </table>\n );\n}\n\nfunction reorderDayNames(names: string[], weekStartsOn: WeekDay): string[] {\n return [...names.slice(weekStartsOn), ...names.slice(0, weekStartsOn)];\n}\n","import { useState, useEffect } from 'react';\n\nexport function LiveRegion({ message }: { message: string }) {\n const [announced, setAnnounced] = useState('');\n\n useEffect(() => {\n if (message) {\n setAnnounced('');\n const timer = setTimeout(() => setAnnounced(message), 100);\n return () => clearTimeout(timer);\n }\n }, [message]);\n\n return (\n <div\n role=\"status\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n style={{\n position: 'absolute',\n width: 1,\n height: 1,\n padding: 0,\n margin: -1,\n overflow: 'hidden',\n clip: 'rect(0, 0, 0, 0)',\n whiteSpace: 'nowrap',\n borderWidth: 0,\n }}\n >\n {announced}\n </div>\n );\n}\n","import type { CalendarMonth as CalendarMonthType, CalendarDay as CalendarDayType, WeekDay } from '../../core/types';\nimport { CalendarHeader } from './CalendarHeader';\nimport { CalendarGrid } from './CalendarGrid';\nimport { LiveRegion } from '../shared/LiveRegion';\n\nexport interface CalendarProps {\n months: CalendarMonthType[];\n viewingYear: number;\n viewingMonth: number;\n weekStartsOn?: WeekDay;\n dayNames?: string[];\n showWeekNumbers?: boolean;\n showOutsideDays?: boolean;\n focusedDate?: Date | null;\n onPrevMonth: () => void;\n onNextMonth: () => void;\n onLabelClick?: () => void;\n onDayClick?: (date: Date) => void;\n onDayMouseEnter?: (date: Date) => void;\n onDayMouseLeave?: () => void;\n onKeyDown?: (e: React.KeyboardEvent) => void;\n isSelected?: (date: Date) => boolean;\n isDisabled?: (date: Date) => boolean;\n isHighlighted?: (date: Date) => boolean;\n isRangeStart?: (date: Date) => boolean;\n isRangeEnd?: (date: Date) => boolean;\n isInRange?: (date: Date) => boolean;\n isInPreviewRange?: (date: Date) => boolean;\n renderDay?: (day: CalendarDayType) => React.ReactNode;\n renderFooter?: () => React.ReactNode;\n className?: string;\n dir?: 'ltr' | 'rtl';\n onMonthSelect?: (month: number) => void;\n onYearSelect?: (year: number) => void;\n minDate?: Date;\n maxDate?: Date;\n}\n\nexport function Calendar({\n months,\n viewingYear,\n viewingMonth,\n weekStartsOn = 0,\n dayNames,\n showWeekNumbers = false,\n showOutsideDays = true,\n focusedDate,\n onPrevMonth,\n onNextMonth,\n onLabelClick,\n onDayClick,\n onDayMouseEnter,\n onDayMouseLeave,\n onKeyDown,\n isSelected,\n isDisabled,\n isHighlighted,\n isRangeStart,\n isRangeEnd,\n isInRange,\n isInPreviewRange,\n renderDay,\n renderFooter,\n className,\n dir,\n onMonthSelect,\n onYearSelect,\n minDate,\n maxDate,\n}: CalendarProps) {\n const totalMonths = months.length;\n\n return (\n <div className={`brdp-calendar ${className ?? ''}`} dir={dir}>\n <LiveRegion message={months[0]?.label ?? ''} />\n <div className=\"brdp-calendar__months\">\n {months.map((month, i) => (\n <div key={`${month.year}-${month.month}`} className=\"brdp-calendar__month\">\n <CalendarHeader\n label={month.label}\n onPrevMonth={onPrevMonth}\n onNextMonth={onNextMonth}\n onLabelClick={onLabelClick}\n showPrev={i === 0}\n showNext={i === totalMonths - 1}\n viewingMonth={month.month}\n viewingYear={month.year}\n onMonthChange={onMonthSelect ?? undefined}\n onYearChange={onYearSelect ?? undefined}\n minDate={minDate}\n maxDate={maxDate}\n />\n <CalendarGrid\n month={month}\n weekStartsOn={weekStartsOn}\n dayNames={dayNames}\n showWeekNumbers={showWeekNumbers}\n showOutsideDays={showOutsideDays}\n isSelected={isSelected}\n isDisabled={isDisabled}\n isHighlighted={isHighlighted}\n isRangeStart={isRangeStart}\n isRangeEnd={isRangeEnd}\n isInRange={isInRange}\n isInPreviewRange={isInPreviewRange}\n focusedDate={focusedDate}\n onDayClick={onDayClick}\n onDayMouseEnter={onDayMouseEnter}\n onDayMouseLeave={onDayMouseLeave}\n renderDay={renderDay}\n onKeyDown={onKeyDown}\n />\n </div>\n ))}\n </div>\n {renderFooter && <div className=\"brdp-footer\">{renderFooter()}</div>}\n </div>\n );\n}\n","import { createPortal } from 'react-dom';\nimport { usePortal } from '../../hooks/usePortal';\n\nexport interface PortalProps {\n children: React.ReactNode;\n container?: HTMLElement;\n enabled?: boolean;\n}\n\nexport function Portal({ children, container, enabled = true }: PortalProps) {\n const { portalTarget } = usePortal({ enabled: enabled && !container });\n const target = container ?? portalTarget;\n\n if (!enabled) return <>{children}</>;\n if (!target) return null;\n\n return createPortal(children, target);\n}\n","import { useRef, useEffect, useState, type CSSProperties } from 'react';\nimport { Portal } from './Portal';\n\nexport interface PopoverProps {\n children: React.ReactNode;\n anchorRef: React.RefObject<HTMLElement | null>;\n isOpen: boolean;\n onClose: () => void;\n portal?: boolean;\n portalContainer?: HTMLElement;\n className?: string;\n style?: React.CSSProperties;\n role?: string;\n 'aria-modal'?: boolean;\n 'aria-label'?: string;\n}\n\nexport function Popover({\n children,\n anchorRef,\n isOpen,\n onClose,\n portal = false,\n portalContainer,\n className,\n style,\n ...ariaProps\n}: PopoverProps) {\n const popoverRef = useRef<HTMLDivElement>(null);\n const [position, setPosition] = useState<CSSProperties>({});\n\n useEffect(() => {\n if (!isOpen || !anchorRef.current) return;\n\n const updatePosition = () => {\n const anchor = anchorRef.current;\n if (!anchor) return;\n\n if (portal) {\n const rect = anchor.getBoundingClientRect();\n const spaceBelow = window.innerHeight - rect.bottom;\n const placeAbove = spaceBelow < 320 && rect.top > spaceBelow;\n\n setPosition({\n position: 'fixed',\n left: rect.left,\n ...(placeAbove\n ? { bottom: window.innerHeight - rect.top + 4 }\n : { top: rect.bottom + 4 }),\n zIndex: 'var(--brdp-z-portal, 1100)' as unknown as number,\n });\n } else {\n setPosition({\n position: 'absolute',\n top: '100%',\n left: 0,\n marginTop: 4,\n zIndex: 'var(--brdp-z-popover, 1000)' as unknown as number,\n });\n }\n };\n\n updatePosition();\n window.addEventListener('scroll', updatePosition, true);\n window.addEventListener('resize', updatePosition);\n\n return () => {\n window.removeEventListener('scroll', updatePosition, true);\n window.removeEventListener('resize', updatePosition);\n };\n }, [isOpen, portal, anchorRef]);\n\n if (!isOpen) return null;\n\n const content = (\n <div\n ref={popoverRef}\n className={`brdp-popover ${className ?? ''}`}\n style={{ ...position, ...style }}\n {...ariaProps}\n >\n {children}\n </div>\n );\n\n if (portal) {\n return (\n <Portal container={portalContainer} enabled>\n {content}\n </Portal>\n );\n }\n\n return content;\n}\n","import type React from 'react';\n\nexport type PickerSize = 'sm' | 'md' | 'lg';\n\nconst sizeTokens: Record<PickerSize, Record<string, string>> = {\n sm: {\n '--brdp-cell-size': '32px',\n '--brdp-input-height': '32px',\n '--brdp-header-height': '36px',\n '--brdp-font-size': '12px',\n '--brdp-font-size-sm': '10px',\n '--brdp-spacing-sm': '6px',\n '--brdp-spacing-md': '8px',\n },\n md: {},\n lg: {\n '--brdp-cell-size': '48px',\n '--brdp-input-height': '48px',\n '--brdp-header-height': '56px',\n '--brdp-font-size': '16px',\n '--brdp-font-size-sm': '14px',\n '--brdp-spacing-sm': '10px',\n '--brdp-spacing-md': '16px',\n },\n};\n\nexport function getSizeStyles(size?: PickerSize): React.CSSProperties {\n if (!size || size === 'md') return {};\n return sizeTokens[size] as React.CSSProperties;\n}\n","import { useRef, forwardRef } from 'react';\nimport type { CalendarDay as CalendarDayType } from '../../core/types';\nimport { useDatePicker, type UseDatePickerOptions } from '../../hooks/useDatePicker';\nimport { useClickOutside } from '../../hooks/useClickOutside';\nimport { useKeyboardNav } from '../../hooks/useKeyboardNav';\nimport { Calendar } from '../Calendar/Calendar';\nimport { Popover } from '../shared/Popover';\nimport { getSizeStyles, type PickerSize } from '../shared/sizeStyles';\n\nexport interface DatePickerProps extends UseDatePickerOptions {\n className?: string;\n style?: React.CSSProperties;\n size?: PickerSize;\n renderDay?: (day: CalendarDayType) => React.ReactNode;\n renderFooter?: () => React.ReactNode;\n portal?: boolean;\n portalContainer?: HTMLElement;\n dir?: 'ltr' | 'rtl';\n showOutsideDays?: boolean;\n showWeekNumbers?: boolean;\n dayNames?: string[];\n inputProps?: React.InputHTMLAttributes<HTMLInputElement>;\n id?: string;\n 'aria-label'?: string;\n 'aria-labelledby'?: string;\n 'aria-describedby'?: string;\n onBlur?: (event: React.FocusEvent) => void;\n onFocus?: (event: React.FocusEvent) => void;\n}\n\nexport const DatePicker = forwardRef<HTMLInputElement, DatePickerProps>(\n function DatePicker(props, ref) {\n const {\n className,\n style,\n size,\n renderDay,\n renderFooter,\n portal = false,\n portalContainer,\n dir,\n showOutsideDays = true,\n showWeekNumbers = false,\n dayNames,\n inputProps: extraInputProps,\n id,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n 'aria-describedby': ariaDescribedby,\n onBlur,\n onFocus,\n ...pickerOptions\n } = props;\n\n const picker = useDatePicker(pickerOptions);\n const containerRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n\n useClickOutside([containerRef], () => {\n if (picker.isOpen) picker.close();\n }, picker.isOpen);\n\n const focusedDate = picker.focusedDate ?? picker.selectedDate ?? new Date();\n\n const { handleKeyDown } = useKeyboardNav({\n focusedDate,\n onFocusChange: (date) => {\n picker.setFocusedDate(date);\n picker.goToDate(date);\n },\n onSelect: (date) => picker.selectDate(date),\n onClose: () => picker.close(),\n weekStartsOn: pickerOptions.weekStartsOn ?? picker.locale.weekStartsOn,\n minDate: pickerOptions.minDate,\n maxDate: pickerOptions.maxDate,\n disabled: pickerOptions.disabled,\n });\n\n const defaultInputProps = picker.getInputProps();\n const popoverProps = picker.getPopoverProps();\n const sizeStyles = getSizeStyles(size);\n\n return (\n <div\n ref={containerRef}\n className={`brdp-root ${className ?? ''}`}\n style={{ ...sizeStyles, ...style }}\n dir={dir ?? picker.locale.dir}\n >\n <input\n {...defaultInputProps}\n {...extraInputProps}\n ref={(node) => {\n (inputRef as React.MutableRefObject<HTMLInputElement | null>).current = node;\n if (typeof ref === 'function') ref(node);\n else if (ref) (ref as React.MutableRefObject<HTMLInputElement | null>).current = node;\n }}\n id={id}\n className={`brdp-input ${extraInputProps?.className ?? ''}`}\n aria-label={ariaLabel ?? defaultInputProps['aria-label']}\n aria-labelledby={ariaLabelledby}\n aria-describedby={ariaDescribedby}\n onBlur={(e) => {\n defaultInputProps.onBlur?.();\n onBlur?.(e);\n }}\n onFocus={(e) => {\n defaultInputProps.onFocus?.();\n onFocus?.(e);\n }}\n />\n {pickerOptions.name && <input {...picker.getHiddenInputProps()} />}\n <Popover\n anchorRef={containerRef}\n isOpen={picker.isOpen}\n onClose={picker.close}\n portal={portal}\n portalContainer={portalContainer}\n {...popoverProps}\n >\n <Calendar\n months={picker.months}\n viewingYear={picker.viewingYear}\n viewingMonth={picker.viewingMonth}\n weekStartsOn={pickerOptions.weekStartsOn ?? picker.locale.weekStartsOn}\n dayNames={dayNames}\n showWeekNumbers={showWeekNumbers}\n showOutsideDays={showOutsideDays}\n focusedDate={picker.focusedDate}\n onPrevMonth={picker.goToPrevMonth}\n onNextMonth={picker.goToNextMonth}\n onMonthSelect={(m) => picker.goToMonth(m)}\n onYearSelect={(y) => picker.goToYear(y)}\n minDate={pickerOptions.minDate}\n maxDate={pickerOptions.maxDate}\n onDayClick={(date) => picker.selectDate(date)}\n onKeyDown={handleKeyDown}\n isSelected={picker.isSelected}\n isDisabled={picker.isDateDisabled}\n isHighlighted={picker.isDateHighlighted}\n renderDay={renderDay}\n renderFooter={renderFooter ?? (picker.clearable ? () => (\n <div className=\"brdp-footer\">\n <button\n type=\"button\"\n className=\"brdp-footer__btn\"\n onClick={() => picker.goToToday()}\n >\n {picker.locale.labels.today}\n </button>\n <button\n type=\"button\"\n className=\"brdp-footer__btn\"\n onClick={() => picker.clearDate()}\n >\n {picker.locale.labels.clear}\n </button>\n </div>\n ) : undefined)}\n dir={dir ?? picker.locale.dir}\n />\n </Popover>\n </div>\n );\n }\n);\n","import { useRef } from 'react';\nimport type { CalendarDay as CalendarDayType, RangePreset } from '../../core/types';\nimport { useRangePicker, type UseRangePickerOptions } from '../../hooks/useRangePicker';\nimport { useClickOutside } from '../../hooks/useClickOutside';\nimport { useKeyboardNav } from '../../hooks/useKeyboardNav';\nimport { Calendar } from '../Calendar/Calendar';\nimport { Popover } from '../shared/Popover';\nimport { getSizeStyles, type PickerSize } from '../shared/sizeStyles';\n\nexport interface RangePickerProps extends UseRangePickerOptions {\n className?: string;\n style?: React.CSSProperties;\n size?: PickerSize;\n compact?: boolean;\n showPresets?: boolean;\n presetsPosition?: 'left' | 'right';\n renderDay?: (day: CalendarDayType) => React.ReactNode;\n portal?: boolean;\n portalContainer?: HTMLElement;\n dir?: 'ltr' | 'rtl';\n showOutsideDays?: boolean;\n showWeekNumbers?: boolean;\n dayNames?: string[];\n}\n\nexport function RangePicker(props: RangePickerProps) {\n const {\n className,\n style,\n size,\n compact = false,\n showPresets = false,\n presetsPosition = 'left',\n renderDay,\n portal = false,\n portalContainer,\n dir,\n showOutsideDays = true,\n showWeekNumbers = false,\n dayNames,\n ...pickerOptions\n } = props;\n\n // In compact mode, force numberOfMonths to 1\n if (compact) {\n pickerOptions.numberOfMonths = 1;\n }\n\n const picker = useRangePicker(pickerOptions);\n const containerRef = useRef<HTMLDivElement>(null);\n\n useClickOutside([containerRef], () => {\n if (picker.isOpen) picker.close();\n }, picker.isOpen);\n\n const focusedDate = picker.focusedDate ?? picker.range.from ?? new Date();\n\n const { handleKeyDown } = useKeyboardNav({\n focusedDate,\n onFocusChange: (date) => {\n picker.setFocusedDate(date);\n picker.goToDate(date);\n },\n onSelect: (date) => picker.handleDayClick(date),\n onClose: () => picker.close(),\n weekStartsOn: pickerOptions.weekStartsOn ?? picker.locale.weekStartsOn,\n minDate: pickerOptions.minDate,\n maxDate: pickerOptions.maxDate,\n disabled: pickerOptions.disabled,\n });\n\n const startInputProps = picker.getStartInputProps();\n const endInputProps = picker.getEndInputProps();\n const popoverProps = picker.getPopoverProps();\n const sizeStyles = getSizeStyles(size);\n\n const presetsPanel = showPresets && picker.presets.length > 0 && (\n <div className={`brdp-presets ${compact ? 'brdp-presets--bottom' : ''}`}>\n {picker.presets.map((preset, i) => (\n <button\n key={i}\n {...picker.getPresetButtonProps(preset)}\n className={`brdp-presets__item ${picker.activePresetIndex === i ? 'brdp-presets__item--active' : ''}`}\n >\n {preset.label}\n </button>\n ))}\n </div>\n );\n\n return (\n <div\n ref={containerRef}\n className={`brdp-root brdp-root--range ${className ?? ''}`}\n style={{ ...sizeStyles, ...style }}\n dir={dir ?? picker.locale.dir}\n >\n <div className=\"brdp-range-input\">\n <input\n {...startInputProps}\n className=\"brdp-input brdp-range-input__start\"\n />\n <span className=\"brdp-range-input__separator\">{picker.separator}</span>\n <input\n {...endInputProps}\n className=\"brdp-input brdp-range-input__end\"\n />\n </div>\n\n <Popover\n anchorRef={containerRef}\n isOpen={picker.isOpen}\n onClose={picker.close}\n portal={portal}\n portalContainer={portalContainer}\n {...popoverProps}\n >\n <div className=\"brdp-range-popover\" style={compact ? { flexDirection: 'column' } : undefined}>\n {!compact && presetsPosition === 'left' && presetsPanel}\n <Calendar\n months={picker.months}\n viewingYear={picker.viewingYear}\n viewingMonth={picker.viewingMonth}\n weekStartsOn={pickerOptions.weekStartsOn ?? picker.locale.weekStartsOn}\n dayNames={dayNames}\n showWeekNumbers={showWeekNumbers}\n showOutsideDays={showOutsideDays}\n focusedDate={picker.focusedDate}\n onPrevMonth={picker.goToPrevMonth}\n onNextMonth={picker.goToNextMonth}\n onMonthSelect={(m) => picker.goToMonth(m)}\n onYearSelect={(y) => picker.goToYear(y)}\n minDate={pickerOptions.minDate}\n maxDate={pickerOptions.maxDate}\n onDayClick={(date) => picker.handleDayClick(date)}\n onDayMouseEnter={(date) => picker.setHoveredDate(date)}\n onDayMouseLeave={() => picker.setHoveredDate(null)}\n onKeyDown={handleKeyDown}\n isSelected={picker.isSelected}\n isDisabled={picker.isDateDisabled}\n isHighlighted={picker.isDateHighlighted}\n isRangeStart={picker.isRangeStart}\n isRangeEnd={picker.isRangeEnd}\n isInRange={picker.isInRange}\n isInPreviewRange={picker.isInPreviewRange}\n renderDay={renderDay}\n dir={dir ?? picker.locale.dir}\n />\n {!compact && presetsPosition === 'right' && presetsPanel}\n {compact && presetsPanel}\n </div>\n </Popover>\n </div>\n );\n}\n","import { useRef, useEffect, useCallback } from 'react';\nimport { useTimePicker, type UseTimePickerOptions } from '../../hooks/useTimePicker';\nimport { useClickOutside } from '../../hooks/useClickOutside';\nimport { Popover } from '../shared/Popover';\nimport { getSizeStyles, type PickerSize } from '../shared/sizeStyles';\n\nexport interface TimePickerProps extends UseTimePickerOptions {\n className?: string;\n style?: React.CSSProperties;\n size?: PickerSize;\n portal?: boolean;\n portalContainer?: HTMLElement;\n disabled?: boolean;\n clearable?: boolean;\n}\n\nexport function TimePicker(props: TimePickerProps) {\n const {\n className,\n style,\n size,\n portal = false,\n portalContainer,\n disabled = false,\n clearable = false,\n ...pickerOptions\n } = props;\n\n const picker = useTimePicker(pickerOptions);\n const containerRef = useRef<HTMLDivElement>(null);\n\n useClickOutside([containerRef], () => {\n if (picker.isOpen) picker.close();\n }, picker.isOpen);\n\n const inputProps = picker.getInputProps();\n const sizeStyles = getSizeStyles(size);\n\n return (\n <div\n ref={containerRef}\n className={`brdp-root brdp-root--time ${className ?? ''}`}\n style={{ ...sizeStyles, ...style }}\n >\n <input\n {...inputProps}\n className=\"brdp-input brdp-input--time\"\n disabled={disabled}\n />\n\n <Popover\n anchorRef={containerRef}\n isOpen={picker.isOpen && !disabled}\n onClose={picker.close}\n portal={portal}\n portalContainer={portalContainer}\n role=\"listbox\"\n aria-label=\"Select time\"\n >\n <div className=\"brdp-time\">\n <TimeColumn\n values={picker.availableHours}\n activeValue={picker.hours}\n onSelect={(v) => picker.setHours(v)}\n label=\"Hours\"\n pad={picker.format === '24h'}\n isOpen={picker.isOpen && !disabled}\n />\n <TimeColumn\n values={picker.availableMinutes}\n activeValue={picker.minutes}\n onSelect={(v) => picker.setMinutes(v)}\n label=\"Minutes\"\n pad\n isOpen={picker.isOpen && !disabled}\n />\n {picker.showSeconds && (\n <TimeColumn\n values={picker.availableSeconds}\n activeValue={picker.seconds}\n onSelect={(v) => picker.setSeconds(v)}\n label=\"Seconds\"\n pad\n isOpen={picker.isOpen && !disabled}\n />\n )}\n {picker.format === '12h' && (\n <div className=\"brdp-time__column\" role=\"listbox\" aria-label=\"AM/PM\">\n {(['AM', 'PM'] as const).map((m) => (\n <button\n key={m}\n type=\"button\"\n className={`brdp-time__option ${picker.meridiem === m ? 'brdp-time__option--active' : ''}`}\n role=\"option\"\n aria-selected={picker.meridiem === m}\n onClick={() => picker.setMeridiem(m)}\n >\n {m}\n </button>\n ))}\n </div>\n )}\n </div>\n </Popover>\n </div>\n );\n}\n\nfunction TimeColumn({\n values,\n activeValue,\n onSelect,\n label,\n pad = false,\n isOpen = false,\n}: {\n values: number[];\n activeValue: number;\n onSelect: (v: number) => void;\n label: string;\n pad?: boolean;\n isOpen?: boolean;\n}) {\n const activeRef = useRef<HTMLButtonElement>(null);\n\n const scrollToActive = useCallback(() => {\n if (activeRef.current) {\n activeRef.current.scrollIntoView({ block: 'center', behavior: 'smooth' });\n }\n }, []);\n\n useEffect(() => {\n if (isOpen) {\n // Small delay to ensure DOM is rendered\n const timer = setTimeout(scrollToActive, 50);\n return () => clearTimeout(timer);\n }\n }, [isOpen, scrollToActive]);\n\n useEffect(() => {\n scrollToActive();\n }, [activeValue, scrollToActive]);\n\n return (\n <div className=\"brdp-time__column\" role=\"listbox\" aria-label={label}>\n {values.map((v) => (\n <button\n key={v}\n ref={activeValue === v ? activeRef : undefined}\n type=\"button\"\n className={`brdp-time__option ${activeValue === v ? 'brdp-time__option--active' : ''}`}\n role=\"option\"\n aria-selected={activeValue === v}\n onClick={() => onSelect(v)}\n >\n {pad ? String(v).padStart(2, '0') : v}\n </button>\n ))}\n </div>\n );\n}\n","import { useRef } from 'react';\nimport type { CalendarDay as CalendarDayType } from '../../core/types';\nimport { useDateTimePicker, type UseDateTimePickerOptions } from '../../hooks/useDateTimePicker';\nimport { useClickOutside } from '../../hooks/useClickOutside';\nimport { useKeyboardNav } from '../../hooks/useKeyboardNav';\nimport { generateHours, generateMinutes, generateSeconds } from '../../core/time-utils';\nimport { Calendar } from '../Calendar/Calendar';\nimport { Popover } from '../shared/Popover';\nimport { getSizeStyles, type PickerSize } from '../shared/sizeStyles';\n\nexport interface DateTimePickerProps extends UseDateTimePickerOptions {\n className?: string;\n style?: React.CSSProperties;\n size?: PickerSize;\n renderDay?: (day: CalendarDayType) => React.ReactNode;\n portal?: boolean;\n portalContainer?: HTMLElement;\n dir?: 'ltr' | 'rtl';\n showOutsideDays?: boolean;\n dayNames?: string[];\n}\n\nexport function DateTimePicker(props: DateTimePickerProps) {\n const {\n className,\n style,\n size,\n renderDay,\n portal = false,\n portalContainer,\n dir,\n showOutsideDays = true,\n dayNames,\n ...pickerOptions\n } = props;\n\n const picker = useDateTimePicker(pickerOptions);\n const containerRef = useRef<HTMLDivElement>(null);\n\n useClickOutside([containerRef], () => {\n if (picker.isOpen) picker.close();\n }, picker.isOpen);\n\n const focusedDate = picker.focusedDate ?? picker.selectedDate ?? new Date();\n\n const { handleKeyDown } = useKeyboardNav({\n focusedDate,\n onFocusChange: (date) => {\n picker.setFocusedDate(date);\n picker.goToDate(date);\n },\n onSelect: (date) => picker.selectDate(date),\n onClose: () => picker.close(),\n weekStartsOn: pickerOptions.weekStartsOn ?? picker.locale.weekStartsOn,\n minDate: pickerOptions.minDate,\n maxDate: pickerOptions.maxDate,\n disabled: pickerOptions.disabled,\n });\n\n const inputProps = picker.getInputProps();\n const popoverProps = picker.getPopoverProps();\n const sizeStyles = getSizeStyles(size);\n\n const hours = generateHours(picker.timeFormat);\n const minutes = generateMinutes(picker.minuteStep);\n\n return (\n <div\n ref={containerRef}\n className={`brdp-root brdp-root--datetime ${className ?? ''}`}\n style={{ ...sizeStyles, ...style }}\n dir={dir ?? picker.locale.dir}\n >\n <input\n {...inputProps}\n value={picker.formattedValue}\n className=\"brdp-input\"\n />\n\n <Popover\n anchorRef={containerRef}\n isOpen={picker.isOpen}\n onClose={picker.close}\n portal={portal}\n portalContainer={portalContainer}\n {...popoverProps}\n >\n <div className=\"brdp-datetime\">\n <div className=\"brdp-datetime__tabs\">\n <button\n type=\"button\"\n className={`brdp-datetime__tab ${picker.activeTab === 'date' ? 'brdp-datetime__tab--active' : ''}`}\n onClick={() => picker.setActiveTab('date')}\n >\n {picker.locale.labels.startDate.replace('Start ', '')}\n </button>\n <button\n type=\"button\"\n className={`brdp-datetime__tab ${picker.activeTab === 'time' ? 'brdp-datetime__tab--active' : ''}`}\n onClick={() => picker.setActiveTab('time')}\n >\n {picker.locale.labels.time}\n </button>\n </div>\n\n {picker.activeTab === 'date' && (\n <Calendar\n months={picker.months}\n viewingYear={picker.viewingYear}\n viewingMonth={picker.viewingMonth}\n weekStartsOn={pickerOptions.weekStartsOn ?? picker.locale.weekStartsOn}\n dayNames={dayNames}\n showOutsideDays={showOutsideDays}\n focusedDate={picker.focusedDate}\n onPrevMonth={picker.goToPrevMonth}\n onNextMonth={picker.goToNextMonth}\n onMonthSelect={(m) => picker.goToMonth(m)}\n onYearSelect={(y) => picker.goToYear(y)}\n minDate={pickerOptions.minDate}\n maxDate={pickerOptions.maxDate}\n onDayClick={(date) => {\n picker.selectDate(date);\n picker.setActiveTab('time');\n }}\n onKeyDown={handleKeyDown}\n isSelected={picker.isSelected}\n isDisabled={picker.isDateDisabled}\n isHighlighted={picker.isDateHighlighted}\n renderDay={renderDay}\n dir={dir ?? picker.locale.dir}\n />\n )}\n\n {picker.activeTab === 'time' && (\n <div className=\"brdp-time\">\n <div className=\"brdp-time__column\" role=\"listbox\" aria-label=\"Hours\">\n {hours.map((h) => (\n <button\n key={h}\n type=\"button\"\n className={`brdp-time__option ${picker.hours === h ? 'brdp-time__option--active' : ''}`}\n role=\"option\"\n aria-selected={picker.hours === h}\n onClick={() => picker.setHours(h)}\n >\n {picker.timeFormat === '24h' ? String(h).padStart(2, '0') : h}\n </button>\n ))}\n </div>\n <div className=\"brdp-time__column\" role=\"listbox\" aria-label=\"Minutes\">\n {minutes.map((m) => (\n <button\n key={m}\n type=\"button\"\n className={`brdp-time__option ${picker.minutes === m ? 'brdp-time__option--active' : ''}`}\n role=\"option\"\n aria-selected={picker.minutes === m}\n onClick={() => picker.setMinutes(m)}\n >\n {String(m).padStart(2, '0')}\n </button>\n ))}\n </div>\n {picker.timeFormat === '12h' && (\n <div className=\"brdp-time__column\" role=\"listbox\" aria-label=\"AM/PM\">\n {(['AM', 'PM'] as const).map((m) => (\n <button\n key={m}\n type=\"button\"\n className={`brdp-time__option ${picker.meridiem === m ? 'brdp-time__option--active' : ''}`}\n role=\"option\"\n aria-selected={picker.meridiem === m}\n onClick={() => picker.setMeridiem(m)}\n >\n {m}\n </button>\n ))}\n </div>\n )}\n </div>\n )}\n\n <div className=\"brdp-footer\">\n <button\n type=\"button\"\n className=\"brdp-footer__btn brdp-footer__btn--apply\"\n onClick={() => picker.close()}\n >\n {picker.locale.labels.apply}\n </button>\n </div>\n </div>\n </Popover>\n </div>\n );\n}\n","import { useRef } from 'react';\nimport { useMonthPicker, type UseMonthPickerOptions } from '../../hooks/useMonthPicker';\nimport { useClickOutside } from '../../hooks/useClickOutside';\nimport { Popover } from '../shared/Popover';\nimport { getSizeStyles, type PickerSize } from '../shared/sizeStyles';\n\nexport interface MonthPickerProps extends UseMonthPickerOptions {\n className?: string;\n style?: React.CSSProperties;\n size?: PickerSize;\n placeholder?: string;\n portal?: boolean;\n portalContainer?: HTMLElement;\n clearable?: boolean;\n}\n\nexport function MonthPicker(props: MonthPickerProps) {\n const {\n className,\n style,\n size,\n placeholder,\n portal = false,\n portalContainer,\n clearable = false,\n ...pickerOptions\n } = props;\n\n const picker = useMonthPicker(pickerOptions);\n const containerRef = useRef<HTMLDivElement>(null);\n\n useClickOutside([containerRef], () => {\n if (picker.isOpen) picker.close();\n }, picker.isOpen);\n\n const inputProps = picker.getInputProps();\n const sizeStyles = getSizeStyles(size);\n\n return (\n <div\n ref={containerRef}\n className={`brdp-root brdp-root--month ${className ?? ''}`}\n style={{ ...sizeStyles, ...style }}\n >\n <input\n {...inputProps}\n className=\"brdp-input\"\n placeholder={placeholder}\n />\n\n <Popover\n anchorRef={containerRef}\n isOpen={picker.isOpen}\n onClose={picker.close}\n portal={portal}\n portalContainer={portalContainer}\n role=\"dialog\"\n aria-modal={true}\n aria-label=\"Select month\"\n >\n <div className=\"brdp-month-picker\">\n <div className=\"brdp-header\">\n <button\n type=\"button\"\n className=\"brdp-header__nav-btn\"\n onClick={picker.goToPrevYear}\n aria-label={picker.locale.labels.previousYear}\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\">\n <path d=\"M10 12L6 8L10 4\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n </button>\n <span className=\"brdp-header__label\">{picker.viewingYear}</span>\n <button\n type=\"button\"\n className=\"brdp-header__nav-btn\"\n onClick={picker.goToNextYear}\n aria-label={picker.locale.labels.nextYear}\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\">\n <path d=\"M6 4L10 8L6 12\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n </button>\n </div>\n\n <div className=\"brdp-month-grid\" role=\"grid\">\n {picker.monthGrid.map((item) => (\n <button\n key={item.month}\n {...picker.getMonthButtonProps(item.month)}\n className={`brdp-month-grid__cell ${item.isSelected ? 'brdp-month-grid__cell--selected' : ''} ${item.isDisabled ? 'brdp-month-grid__cell--disabled' : ''}`}\n >\n {item.label}\n </button>\n ))}\n </div>\n </div>\n </Popover>\n </div>\n );\n}\n","import { useRef } from 'react';\nimport { useYearPicker, type UseYearPickerOptions } from '../../hooks/useYearPicker';\nimport { useClickOutside } from '../../hooks/useClickOutside';\nimport { Popover } from '../shared/Popover';\nimport { getSizeStyles, type PickerSize } from '../shared/sizeStyles';\n\nexport interface YearPickerProps extends UseYearPickerOptions {\n className?: string;\n style?: React.CSSProperties;\n size?: PickerSize;\n placeholder?: string;\n portal?: boolean;\n portalContainer?: HTMLElement;\n}\n\nexport function YearPicker(props: YearPickerProps) {\n const {\n className,\n style,\n size,\n placeholder,\n portal = false,\n portalContainer,\n ...pickerOptions\n } = props;\n\n const picker = useYearPicker(pickerOptions);\n const containerRef = useRef<HTMLDivElement>(null);\n\n useClickOutside([containerRef], () => {\n if (picker.isOpen) picker.close();\n }, picker.isOpen);\n\n const inputProps = picker.getInputProps();\n const sizeStyles = getSizeStyles(size);\n const lastYear = picker.years[picker.years.length - 1]?.year ?? 0;\n\n return (\n <div\n ref={containerRef}\n className={`brdp-root brdp-root--year ${className ?? ''}`}\n style={{ ...sizeStyles, ...style }}\n >\n <input\n {...inputProps}\n className=\"brdp-input\"\n placeholder={placeholder ?? 'Select year'}\n />\n\n <Popover\n anchorRef={containerRef}\n isOpen={picker.isOpen}\n onClose={picker.close}\n portal={portal}\n portalContainer={portalContainer}\n role=\"dialog\"\n aria-modal={true}\n aria-label=\"Select year\"\n >\n <div className=\"brdp-year-picker\">\n <div className=\"brdp-header\">\n <button\n type=\"button\"\n className=\"brdp-header__nav-btn\"\n onClick={picker.goToPrevDecade}\n aria-label=\"Previous years\"\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\">\n <path d=\"M10 12L6 8L10 4\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n </button>\n <span className=\"brdp-header__label\">\n {picker.decadeStart} – {lastYear}\n </span>\n <button\n type=\"button\"\n className=\"brdp-header__nav-btn\"\n onClick={picker.goToNextDecade}\n aria-label=\"Next years\"\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\">\n <path d=\"M6 4L10 8L6 12\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n </button>\n </div>\n\n <div className=\"brdp-year-grid\" role=\"grid\">\n {picker.years.map((item) => (\n <button\n key={item.year}\n {...picker.getYearButtonProps(item.year)}\n className={`brdp-year-grid__cell ${item.isSelected ? 'brdp-year-grid__cell--selected' : ''} ${item.isCurrentYear ? 'brdp-year-grid__cell--current' : ''} ${item.isDisabled ? 'brdp-year-grid__cell--disabled' : ''}`}\n >\n {item.year}\n </button>\n ))}\n </div>\n </div>\n </Popover>\n </div>\n );\n}\n","import { useRef } from 'react';\nimport { useWeekPicker, type UseWeekPickerOptions } from '../../hooks/useWeekPicker';\nimport { useClickOutside } from '../../hooks/useClickOutside';\nimport { useKeyboardNav } from '../../hooks/useKeyboardNav';\nimport { Calendar } from '../Calendar/Calendar';\nimport { Popover } from '../shared/Popover';\nimport { getSizeStyles, type PickerSize } from '../shared/sizeStyles';\n\nexport interface WeekPickerProps extends UseWeekPickerOptions {\n className?: string;\n style?: React.CSSProperties;\n size?: PickerSize;\n placeholder?: string;\n portal?: boolean;\n portalContainer?: HTMLElement;\n dir?: 'ltr' | 'rtl';\n showOutsideDays?: boolean;\n dayNames?: string[];\n}\n\nexport function WeekPicker(props: WeekPickerProps) {\n const {\n className,\n style,\n size,\n placeholder,\n portal = false,\n portalContainer,\n dir,\n showOutsideDays = true,\n dayNames,\n ...pickerOptions\n } = props;\n\n const picker = useWeekPicker(pickerOptions);\n const containerRef = useRef<HTMLDivElement>(null);\n\n useClickOutside([containerRef], () => {\n if (picker.isOpen) picker.close();\n }, picker.isOpen);\n\n const focusedDate = picker.focusedDate ?? picker.selectedWeek?.start ?? new Date();\n\n const { handleKeyDown } = useKeyboardNav({\n focusedDate,\n onFocusChange: (date) => {\n picker.setFocusedDate(date);\n picker.goToDate(date);\n },\n onSelect: (date) => picker.selectWeek(date),\n onClose: () => picker.close(),\n weekStartsOn: pickerOptions.weekStartsOn ?? picker.locale.weekStartsOn,\n minDate: pickerOptions.minDate,\n maxDate: pickerOptions.maxDate,\n disabled: pickerOptions.disabled,\n });\n\n const inputProps = picker.getInputProps();\n const sizeStyles = getSizeStyles(size);\n\n return (\n <div\n ref={containerRef}\n className={`brdp-root brdp-root--week ${className ?? ''}`}\n style={{ ...sizeStyles, ...style }}\n dir={dir ?? picker.locale.dir}\n >\n <input\n {...inputProps}\n className=\"brdp-input\"\n placeholder={placeholder ?? 'Select week'}\n />\n\n <Popover\n anchorRef={containerRef}\n isOpen={picker.isOpen}\n onClose={picker.close}\n portal={portal}\n portalContainer={portalContainer}\n role=\"dialog\"\n aria-modal={true}\n aria-label=\"Select week\"\n >\n <Calendar\n months={picker.months}\n viewingYear={picker.viewingYear}\n viewingMonth={picker.viewingMonth}\n weekStartsOn={pickerOptions.weekStartsOn ?? picker.locale.weekStartsOn}\n dayNames={dayNames}\n showWeekNumbers\n showOutsideDays={showOutsideDays}\n focusedDate={picker.focusedDate}\n onPrevMonth={picker.goToPrevMonth}\n onNextMonth={picker.goToNextMonth}\n onMonthSelect={(m) => picker.goToMonth(m)}\n onYearSelect={(y) => picker.goToYear(y)}\n minDate={pickerOptions.minDate}\n maxDate={pickerOptions.maxDate}\n onDayClick={(date) => {\n picker.selectWeek(date);\n picker.close();\n }}\n onKeyDown={handleKeyDown}\n isSelected={(date) => picker.isInSelectedWeek(date)}\n isDisabled={picker.isDateDisabled}\n isHighlighted={picker.isDateHighlighted}\n dir={dir ?? picker.locale.dir}\n />\n </Popover>\n </div>\n );\n}\n","const hiddenStyle: React.CSSProperties = {\n position: 'absolute',\n width: 1,\n height: 1,\n padding: 0,\n margin: -1,\n overflow: 'hidden',\n clip: 'rect(0, 0, 0, 0)',\n whiteSpace: 'nowrap',\n borderWidth: 0,\n};\n\nexport function VisuallyHidden({ children }: { children: React.ReactNode }) {\n return <span style={hiddenStyle}>{children}</span>;\n}\n"]}
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ var chunkR7HLYS5V_cjs = require('./chunk-R7HLYS5V.cjs');
4
+
5
+
6
+
7
+ Object.defineProperty(exports, "createLocaleFromIntl", {
8
+ enumerable: true,
9
+ get: function () { return chunkR7HLYS5V_cjs.createLocaleFromIntl; }
10
+ });
11
+ Object.defineProperty(exports, "defaultLocale", {
12
+ enumerable: true,
13
+ get: function () { return chunkR7HLYS5V_cjs.defaultLocale; }
14
+ });
15
+ //# sourceMappingURL=locales.cjs.map
16
+ //# sourceMappingURL=locales.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"locales.cjs"}
@@ -0,0 +1,6 @@
1
+ import { d as DatePickerLocale } from './types-DA2PcEiy.cjs';
2
+
3
+ declare function createLocaleFromIntl(localeCode: string, overrides?: Partial<DatePickerLocale>): DatePickerLocale;
4
+ declare const defaultLocale: DatePickerLocale;
5
+
6
+ export { DatePickerLocale, createLocaleFromIntl, defaultLocale };
@@ -0,0 +1,6 @@
1
+ import { d as DatePickerLocale } from './types-DA2PcEiy.js';
2
+
3
+ declare function createLocaleFromIntl(localeCode: string, overrides?: Partial<DatePickerLocale>): DatePickerLocale;
4
+ declare const defaultLocale: DatePickerLocale;
5
+
6
+ export { DatePickerLocale, createLocaleFromIntl, defaultLocale };
@@ -0,0 +1,3 @@
1
+ export { createLocaleFromIntl, defaultLocale } from './chunk-QW2CUEX4.js';
2
+ //# sourceMappingURL=locales.js.map
3
+ //# sourceMappingURL=locales.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"locales.js"}
@@ -0,0 +1,54 @@
1
+ import { W as WeekDay, R as RangePreset } from './types-DA2PcEiy.cjs';
2
+
3
+ declare function createDate(year: number, month: number, day: number): Date;
4
+ declare function today(): Date;
5
+ declare function clone(date: Date): Date;
6
+ declare function isSameDay(a: Date, b: Date): boolean;
7
+ declare function isSameMonth(a: Date, b: Date): boolean;
8
+ declare function isSameYear(a: Date, b: Date): boolean;
9
+ declare function isBefore(a: Date, b: Date): boolean;
10
+ declare function isAfter(a: Date, b: Date): boolean;
11
+ declare function isBetween(date: Date, start: Date, end: Date, inclusive?: boolean): boolean;
12
+ declare function isToday(date: Date): boolean;
13
+ declare function isWeekend(date: Date): boolean;
14
+ declare function addDays(date: Date, days: number): Date;
15
+ declare function addMonths(date: Date, months: number): Date;
16
+ declare function addYears(date: Date, years: number): Date;
17
+ declare function addHours(date: Date, hours: number): Date;
18
+ declare function addMinutes(date: Date, minutes: number): Date;
19
+ declare function subDays(date: Date, days: number): Date;
20
+ declare function subMonths(date: Date, months: number): Date;
21
+ declare function subYears(date: Date, years: number): Date;
22
+ declare function startOfDay(date: Date): Date;
23
+ declare function endOfDay(date: Date): Date;
24
+ declare function startOfWeek(date: Date, weekStartsOn?: WeekDay): Date;
25
+ declare function endOfWeek(date: Date, weekStartsOn?: WeekDay): Date;
26
+ declare function startOfMonth(date: Date): Date;
27
+ declare function endOfMonth(date: Date): Date;
28
+ declare function startOfYear(date: Date): Date;
29
+ declare function endOfYear(date: Date): Date;
30
+ declare function getDaysInMonth(date: Date): number;
31
+ declare function getYear(date: Date): number;
32
+ declare function getMonth(date: Date): number;
33
+ declare function getDay(date: Date): number;
34
+ declare function getHours(date: Date): number;
35
+ declare function getMinutes(date: Date): number;
36
+ declare function getSeconds(date: Date): number;
37
+ declare function setYear(date: Date, year: number): Date;
38
+ declare function setMonth(date: Date, month: number): Date;
39
+ declare function setHours(date: Date, hours: number): Date;
40
+ declare function setMinutes(date: Date, minutes: number): Date;
41
+ declare function setSeconds(date: Date, seconds: number): Date;
42
+ declare function differenceInDays(a: Date, b: Date): number;
43
+
44
+ declare function formatDate(date: Date, formatStr: string, locale?: string): string;
45
+ declare function parseDate(dateStr: string, formatStr: string, _locale?: string): Date | null;
46
+ declare function formatTime(date: Date, format: '12h' | '24h'): string;
47
+
48
+ type PresetKey = 'today' | 'yesterday' | 'last7' | 'last30' | 'thisMonth' | 'lastMonth' | 'thisYear';
49
+ declare function createPresets(options?: {
50
+ include?: PresetKey[];
51
+ custom?: RangePreset[];
52
+ }): RangePreset[];
53
+
54
+ export { isSameMonth as A, isSameYear as B, isToday as C, isWeekend as D, parseDate as E, setHours as F, setMinutes as G, setMonth as H, setSeconds as I, setYear as J, startOfDay as K, startOfMonth as L, startOfWeek as M, startOfYear as N, subDays as O, subMonths as P, subYears as Q, today as R, addDays as a, addHours as b, addMinutes as c, addMonths as d, addYears as e, clone as f, createDate as g, createPresets as h, differenceInDays as i, endOfDay as j, endOfMonth as k, endOfWeek as l, endOfYear as m, formatDate as n, formatTime as o, getDay as p, getDaysInMonth as q, getHours as r, getMinutes as s, getMonth as t, getSeconds as u, getYear as v, isAfter as w, isBefore as x, isBetween as y, isSameDay as z };
@@ -0,0 +1,54 @@
1
+ import { W as WeekDay, R as RangePreset } from './types-DA2PcEiy.js';
2
+
3
+ declare function createDate(year: number, month: number, day: number): Date;
4
+ declare function today(): Date;
5
+ declare function clone(date: Date): Date;
6
+ declare function isSameDay(a: Date, b: Date): boolean;
7
+ declare function isSameMonth(a: Date, b: Date): boolean;
8
+ declare function isSameYear(a: Date, b: Date): boolean;
9
+ declare function isBefore(a: Date, b: Date): boolean;
10
+ declare function isAfter(a: Date, b: Date): boolean;
11
+ declare function isBetween(date: Date, start: Date, end: Date, inclusive?: boolean): boolean;
12
+ declare function isToday(date: Date): boolean;
13
+ declare function isWeekend(date: Date): boolean;
14
+ declare function addDays(date: Date, days: number): Date;
15
+ declare function addMonths(date: Date, months: number): Date;
16
+ declare function addYears(date: Date, years: number): Date;
17
+ declare function addHours(date: Date, hours: number): Date;
18
+ declare function addMinutes(date: Date, minutes: number): Date;
19
+ declare function subDays(date: Date, days: number): Date;
20
+ declare function subMonths(date: Date, months: number): Date;
21
+ declare function subYears(date: Date, years: number): Date;
22
+ declare function startOfDay(date: Date): Date;
23
+ declare function endOfDay(date: Date): Date;
24
+ declare function startOfWeek(date: Date, weekStartsOn?: WeekDay): Date;
25
+ declare function endOfWeek(date: Date, weekStartsOn?: WeekDay): Date;
26
+ declare function startOfMonth(date: Date): Date;
27
+ declare function endOfMonth(date: Date): Date;
28
+ declare function startOfYear(date: Date): Date;
29
+ declare function endOfYear(date: Date): Date;
30
+ declare function getDaysInMonth(date: Date): number;
31
+ declare function getYear(date: Date): number;
32
+ declare function getMonth(date: Date): number;
33
+ declare function getDay(date: Date): number;
34
+ declare function getHours(date: Date): number;
35
+ declare function getMinutes(date: Date): number;
36
+ declare function getSeconds(date: Date): number;
37
+ declare function setYear(date: Date, year: number): Date;
38
+ declare function setMonth(date: Date, month: number): Date;
39
+ declare function setHours(date: Date, hours: number): Date;
40
+ declare function setMinutes(date: Date, minutes: number): Date;
41
+ declare function setSeconds(date: Date, seconds: number): Date;
42
+ declare function differenceInDays(a: Date, b: Date): number;
43
+
44
+ declare function formatDate(date: Date, formatStr: string, locale?: string): string;
45
+ declare function parseDate(dateStr: string, formatStr: string, _locale?: string): Date | null;
46
+ declare function formatTime(date: Date, format: '12h' | '24h'): string;
47
+
48
+ type PresetKey = 'today' | 'yesterday' | 'last7' | 'last30' | 'thisMonth' | 'lastMonth' | 'thisYear';
49
+ declare function createPresets(options?: {
50
+ include?: PresetKey[];
51
+ custom?: RangePreset[];
52
+ }): RangePreset[];
53
+
54
+ export { isSameMonth as A, isSameYear as B, isToday as C, isWeekend as D, parseDate as E, setHours as F, setMinutes as G, setMonth as H, setSeconds as I, setYear as J, startOfDay as K, startOfMonth as L, startOfWeek as M, startOfYear as N, subDays as O, subMonths as P, subYears as Q, today as R, addDays as a, addHours as b, addMinutes as c, addMonths as d, addYears as e, clone as f, createDate as g, createPresets as h, differenceInDays as i, endOfDay as j, endOfMonth as k, endOfWeek as l, endOfYear as m, formatDate as n, formatTime as o, getDay as p, getDaysInMonth as q, getHours as r, getMinutes as s, getMonth as t, getSeconds as u, getYear as v, isAfter as w, isBefore as x, isBetween as y, isSameDay as z };