@elliemae/ds-form-date-time-picker 3.17.0-next.9 → 3.17.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 (103) hide show
  1. package/dist/cjs/propTypes.js.map +2 -2
  2. package/dist/esm/propTypes.js.map +2 -2
  3. package/dist/types/ControlledDateTimePicker.d.ts +8 -0
  4. package/dist/types/ControlledDateTimePickerCTX.d.ts +5 -0
  5. package/dist/types/ControlledDateTimePickerDatatestid.d.ts +63 -0
  6. package/dist/types/ControlledDateTimePickerTypes.d.ts +20 -0
  7. package/dist/types/config/useChangeHandlers.d.ts +27 -0
  8. package/dist/types/config/useControlledDateTimePicker.d.ts +16 -0
  9. package/dist/types/config/useFocusTracker.d.ts +38 -0
  10. package/dist/types/config/useGetDestructuredValues.d.ts +30 -0
  11. package/dist/types/config/useGetFlags.d.ts +30 -0
  12. package/dist/types/config/useGetPropsBasedOnType.d.ts +28 -0
  13. package/dist/types/config/useGetPropsWithDefault.d.ts +2 -0
  14. package/dist/types/config/useGetReferences.d.ts +33 -0
  15. package/dist/types/config/useGlobalKeyHandlers.d.ts +18 -0
  16. package/dist/types/config/useRelevantValueFromProps.d.ts +10 -0
  17. package/dist/types/config/useValidateProps.d.ts +2 -0
  18. package/dist/types/exported-related/theming.d.ts +37 -0
  19. package/dist/types/index.d.ts +9 -0
  20. package/dist/types/parts/ClearButton/ClearButton.d.ts +2 -0
  21. package/dist/types/parts/ClearButton/useClearButton.d.ts +11 -0
  22. package/dist/types/parts/ControlledDateTimePickerContent.d.ts +2 -0
  23. package/dist/types/parts/DateInputs/DDInput.d.ts +17 -0
  24. package/dist/types/parts/DateInputs/DateInputs.d.ts +2 -0
  25. package/dist/types/parts/DateInputs/MMInput.d.ts +19 -0
  26. package/dist/types/parts/DateInputs/YYYYInput.d.ts +17 -0
  27. package/dist/types/parts/DateInputs/useDateInputs.d.ts +2 -0
  28. package/dist/types/parts/Pickers/Calendar/Calendar.d.ts +5 -0
  29. package/dist/types/parts/Pickers/Calendar/CalendarBody.d.ts +6 -0
  30. package/dist/types/parts/Pickers/Calendar/CalendarContent.d.ts +4 -0
  31. package/dist/types/parts/Pickers/Calendar/CalendarContext.d.ts +6 -0
  32. package/dist/types/parts/Pickers/Calendar/CalendarDaysList.d.ts +9 -0
  33. package/dist/types/parts/Pickers/Calendar/CalendarFooter.d.ts +2 -0
  34. package/dist/types/parts/Pickers/Calendar/CalendarHead.d.ts +2 -0
  35. package/dist/types/parts/Pickers/Calendar/CalendarIconTrigger.d.ts +2 -0
  36. package/dist/types/parts/Pickers/Calendar/CalendarMonthDays.d.ts +2 -0
  37. package/dist/types/parts/Pickers/Calendar/CalendarWeekDays.d.ts +2 -0
  38. package/dist/types/parts/Pickers/Calendar/CalendarWrapper.d.ts +2 -0
  39. package/dist/types/parts/Pickers/Calendar/Day.d.ts +9 -0
  40. package/dist/types/parts/Pickers/Calendar/Styleds.d.ts +21 -0
  41. package/dist/types/parts/Pickers/Calendar/useConfigCalendarCTX.d.ts +14 -0
  42. package/dist/types/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.d.ts +15 -0
  43. package/dist/types/parts/Pickers/Calendar/useFocusLogic.d.ts +14 -0
  44. package/dist/types/parts/Pickers/Calendar/useKeyboardHandlers.d.ts +19 -0
  45. package/dist/types/parts/Pickers/Calendar/usePopperTriggerLogic.d.ts +16 -0
  46. package/dist/types/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.d.ts +1 -0
  47. package/dist/types/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.d.ts +2 -0
  48. package/dist/types/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.d.ts +6 -0
  49. package/dist/types/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.d.ts +2 -0
  50. package/dist/types/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.d.ts +2 -0
  51. package/dist/types/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.d.ts +2 -0
  52. package/dist/types/parts/Pickers/CalendarWithTimeWheel/Styleds.d.ts +7 -0
  53. package/dist/types/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.d.ts +14 -0
  54. package/dist/types/parts/Pickers/PickersIcons.d.ts +2 -0
  55. package/dist/types/parts/Pickers/TimeWheel/HoursList.d.ts +2 -0
  56. package/dist/types/parts/Pickers/TimeWheel/MeridiemList.d.ts +3 -0
  57. package/dist/types/parts/Pickers/TimeWheel/MinutesList.d.ts +3 -0
  58. package/dist/types/parts/Pickers/TimeWheel/TimeWheel.d.ts +5 -0
  59. package/dist/types/parts/Pickers/TimeWheel/TimeWheelContent.d.ts +2 -0
  60. package/dist/types/parts/Pickers/TimeWheel/TimeWheelContext.d.ts +6 -0
  61. package/dist/types/parts/Pickers/TimeWheel/TimeWheelFooter.d.ts +2 -0
  62. package/dist/types/parts/Pickers/TimeWheel/TimeWheelIconTrigger.d.ts +2 -0
  63. package/dist/types/parts/Pickers/TimeWheel/TimeWheelWrapper.d.ts +2 -0
  64. package/dist/types/parts/Pickers/TimeWheel/useConfigTimePickerCTX.d.ts +5 -0
  65. package/dist/types/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.d.ts +17 -0
  66. package/dist/types/parts/Pickers/TimeWheel/useKeyboardHandlers.d.ts +13 -0
  67. package/dist/types/parts/Pickers/TimeWheel/usePopperTriggerLogic.d.ts +12 -0
  68. package/dist/types/parts/Styleds.d.ts +13 -0
  69. package/dist/types/parts/TimeInputs/HHInput.d.ts +18 -0
  70. package/dist/types/parts/TimeInputs/MeridiemInput.d.ts +17 -0
  71. package/dist/types/parts/TimeInputs/MinutesInput.d.ts +17 -0
  72. package/dist/types/parts/TimeInputs/TimeInputs.d.ts +2 -0
  73. package/dist/types/parts/TimeInputs/useTimeInputs.d.ts +22 -0
  74. package/dist/types/parts/config.d.ts +5 -0
  75. package/dist/types/propTypes.d.ts +105 -0
  76. package/dist/types/sharedTypes.d.ts +95 -0
  77. package/dist/types/tests/custom-props/customProps.d.ts +397 -0
  78. package/dist/types/tests/custom-props/date-time-picker.date-custom-props.test.d.ts +1 -0
  79. package/dist/types/tests/custom-props/date-time-picker.date-time-custom-props.test.d.ts +1 -0
  80. package/dist/types/tests/custom-props/date-time-picker.time-custom-props.test.d.ts +1 -0
  81. package/dist/types/tests/date-time-picker.auto-advance.test.d.ts +1 -0
  82. package/dist/types/tests/date-time-picker.clear-button.test.d.ts +1 -0
  83. package/dist/types/tests/date-time-picker.keyboard-focus.test.d.ts +1 -0
  84. package/dist/types/tests/date-time-picker.keyboard.data-entry-typing.test.d.ts +1 -0
  85. package/dist/types/tests/date-time-picker.keyboard.fill-with-now.test.d.ts +1 -0
  86. package/dist/types/tests/date-time-picker.keyboard.regressive-backspace.test.d.ts +1 -0
  87. package/dist/types/tests/date-time-picker.keyboard.shortcut-clear.test.d.ts +1 -0
  88. package/dist/types/tests/date-time-picker.manual-delete-values.test.d.ts +1 -0
  89. package/dist/types/tests/date-time-picker.onChange-meta-info.test.d.ts +1 -0
  90. package/dist/types/tests/date-time-picker.types-button.test.d.ts +1 -0
  91. package/dist/types/tests/date-time-picker.types-dom.test.d.ts +1 -0
  92. package/dist/types/utils/constants.d.ts +38 -0
  93. package/dist/types/utils/dateHelpers.d.ts +40 -0
  94. package/dist/types/utils/dateTimeHelpers.d.ts +8 -0
  95. package/dist/types/utils/hooks/useGetDayFromDateString.d.ts +1 -0
  96. package/dist/types/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.d.ts +5 -0
  97. package/dist/types/utils/hooks/useGetStartingFocusedDay.d.ts +8 -0
  98. package/dist/types/utils/hooks/useOnClickOutside.d.ts +1 -0
  99. package/dist/types/utils/numberHelpers.d.ts +1 -0
  100. package/dist/types/utils/stringHelpers.d.ts +36 -0
  101. package/dist/types/utils/timeHelpers.d.ts +2 -0
  102. package/dist/types/utils/typeGuards.d.ts +4 -0
  103. package/package.json +9 -9
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import type { DSControlledDateTimePickerInternalsT } from '../../sharedTypes.js';
3
+ interface YYYYInputsPropsT {
4
+ onChange: DSControlledDateTimePickerInternalsT.OnChangeFunc;
5
+ onBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc;
6
+ onFocus: DSControlledDateTimePickerInternalsT.OnFocusFunc;
7
+ onKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown;
8
+ value: string;
9
+ disabled: boolean;
10
+ contextRef: React.MutableRefObject<HTMLInputElement | null>;
11
+ placeholder: string;
12
+ ariaCurrentValueForInputs: string;
13
+ isFocused: boolean;
14
+ ariaAndDataProps?: AriaAndDataProps;
15
+ }
16
+ export declare const YYYYInput: React.MemoExoticComponent<({ onChange, onBlur, onFocus, onKeyDown, value, disabled, placeholder, contextRef, ariaCurrentValueForInputs, isFocused, ariaAndDataProps, }: YYYYInputsPropsT) => JSX.Element>;
17
+ export {};
@@ -0,0 +1,2 @@
1
+ import type { DSControlledDateTimePickerInternalsT } from '../../sharedTypes.js';
2
+ export declare const useDateInputs: () => DSControlledDateTimePickerInternalsT.UseDateInputsR;
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ export declare const WrappedCalendarContext: ({ children }: {
3
+ children: JSX.Element;
4
+ }) => import("react/jsx-runtime.js").JSX.Element;
5
+ export declare const Calendar: () => import("react/jsx-runtime.js").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ interface CalendarBodyPropsT {
3
+ weekRowsNum: number;
4
+ }
5
+ export declare const CalendarBody: React.MemoExoticComponent<({ weekRowsNum }: CalendarBodyPropsT) => import("react/jsx-runtime.js").JSX.Element>;
6
+ export {};
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ export declare const CalendarContent: ({ className }: {
3
+ className?: string | undefined;
4
+ }) => JSX.Element;
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import type { CalendarContextT } from './useConfigCalendarCTX.js';
3
+ export declare const defaultCalendarContext: CalendarContextT;
4
+ /** Context for cross component communication */
5
+ export declare const CalendarContext: import("react").Context<CalendarContextT>;
6
+ export default CalendarContext;
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import type { DSControlledDateTimePickerInternalsT } from '../../../sharedTypes.js';
3
+ export declare const CalendarDaysList: React.MemoExoticComponent<({ invisibleFirstDay, daysMatrixByWeekday, invisibleLastDay, innerRef }: CalendarDaysListPropsT) => JSX.Element>;
4
+ export interface CalendarDaysListPropsT {
5
+ invisibleFirstDay?: DSControlledDateTimePickerInternalsT.MetaMonthDay;
6
+ daysMatrixByWeekday: DSControlledDateTimePickerInternalsT.MetaMonthDay[][];
7
+ invisibleLastDay?: DSControlledDateTimePickerInternalsT.MetaMonthDay;
8
+ innerRef: React.RefObject<HTMLDivElement>;
9
+ }
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const CalendarFooter: React.ComponentType;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const CalendarHead: () => JSX.Element;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const CalendarIconTrigger: () => JSX.Element;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const CalendarMonthDays: () => JSX.Element;
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const CalendarWeekDays: React.MemoExoticComponent<() => import("react/jsx-runtime.js").JSX.Element>;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const CalendarWrapper: () => JSX.Element;
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ import type { DSControlledDateTimePickerInternalsT } from '../../../sharedTypes.js';
3
+ interface CalendarDayPropsT {
4
+ metaDay: DSControlledDateTimePickerInternalsT.MetaMonthDay;
5
+ colIndex?: number;
6
+ isInvisible?: boolean;
7
+ }
8
+ export declare const Day: ({ metaDay, colIndex, isInvisible }: CalendarDayPropsT) => JSX.Element;
9
+ export {};
@@ -0,0 +1,21 @@
1
+ /// <reference types="react" />
2
+ export declare const StyledIconTriggerButton: import("styled-components").StyledComponent<import("react").ComponentType<import("@elliemae/ds-button").DSButtonT.Props>, import("@elliemae/ds-system").Theme, object, never>;
3
+ export declare const StyledShadowWrapper: import("styled-components").StyledComponent<keyof JSX.IntrinsicElements, import("@elliemae/ds-system").Theme, Record<string, unknown> & object, never>;
4
+ export declare const StyledCalendarWrapper: import("styled-components").StyledComponent<keyof JSX.IntrinsicElements, import("@elliemae/ds-system").Theme, Record<string, unknown> & object, never>;
5
+ export declare const StyledHeader: import("styled-components").StyledComponent<keyof JSX.IntrinsicElements, import("@elliemae/ds-system").Theme, Record<string, unknown> & object, never>;
6
+ export declare const StyledHeaderLabel: import("styled-components").StyledComponent<"h3", import("@elliemae/ds-system").Theme, object, never>;
7
+ export declare const StyledHeaderButton: import("styled-components").StyledComponent<import("react").ComponentType<import("@elliemae/ds-button").DSButtonT.Props>, import("@elliemae/ds-system").Theme, object, never>;
8
+ export declare const StyledBody: import("styled-components").StyledComponent<keyof JSX.IntrinsicElements, import("@elliemae/ds-system").Theme, Record<string, unknown> & object, never>;
9
+ export declare const StyledDayBtn: import("styled-components").StyledComponent<import("react").ComponentType<import("@elliemae/ds-button").DSButtonT.Props>, import("@elliemae/ds-system").Theme, object, never>;
10
+ export declare const StyledWeekDaysListWrapper: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("@elliemae/ds-grid/dist/types/react-desc-prop-types.js").DSGridT.Props & import("react").RefAttributes<HTMLDivElement>>, import("@elliemae/ds-system").Theme, {
11
+ [x: string]: any;
12
+ [x: number]: any;
13
+ [x: symbol]: any;
14
+ } & {
15
+ theme?: import("@elliemae/ds-system").Theme | undefined;
16
+ } & {
17
+ as?: string | import("react").ComponentType<any> | undefined;
18
+ forwardedAs?: string | import("react").ComponentType<any> | undefined;
19
+ }, never>;
20
+ export declare const StyledWeekDaysHeaderItem: import("styled-components").StyledComponent<keyof JSX.IntrinsicElements, import("@elliemae/ds-system").Theme, Record<string, unknown> & object, never>;
21
+ export declare const CalendarFooterMessage: import("styled-components").StyledComponent<"footer", import("@elliemae/ds-system").Theme, object, never>;
@@ -0,0 +1,14 @@
1
+ /// <reference types="react" />
2
+ import { useCurrentDisplayedMonthYearLogic } from './useCurrentDisplayedMonthYearLogic.js';
3
+ import { useFocusLogic } from './useFocusLogic.js';
4
+ import { usePopperTriggerLogic } from './usePopperTriggerLogic.js';
5
+ import { useKeyboardHandlers } from './useKeyboardHandlers.js';
6
+ export type CalendarContextT = ReturnType<typeof useCurrentDisplayedMonthYearLogic> & ReturnType<typeof useFocusLogic> & ReturnType<typeof usePopperTriggerLogic> & ReturnType<typeof useKeyboardHandlers> & {
7
+ showCalendar: boolean;
8
+ setShowCalendar: StateSetter<boolean>;
9
+ onPrevYearFocus: React.FocusEventHandler;
10
+ onPrevMonthFocus: React.FocusEventHandler;
11
+ onNextMonthFocus: React.FocusEventHandler;
12
+ onNextYearFocus: React.FocusEventHandler;
13
+ };
14
+ export declare const useConfigCalendarCTX: () => CalendarContextT;
@@ -0,0 +1,15 @@
1
+ import type { DSControlledDateTimePickerInternalsT } from '../../../sharedTypes.js';
2
+ interface UseCurrentDisplayedMonthYearLogicT {
3
+ currentMonth: DSControlledDateTimePickerInternalsT.DateMonth;
4
+ currentYear: number;
5
+ daysArray: DSControlledDateTimePickerInternalsT.MetaMonthDay[];
6
+ invisibleFirstDay?: DSControlledDateTimePickerInternalsT.MetaMonthDay;
7
+ daysMatrixByWeekday: DSControlledDateTimePickerInternalsT.MetaMonthDay[][];
8
+ invisibleLastDay?: DSControlledDateTimePickerInternalsT.MetaMonthDay;
9
+ handlePrevMonth: () => void;
10
+ handlePrevYear: () => void;
11
+ handleNextMonth: () => void;
12
+ handleNextYear: () => void;
13
+ }
14
+ export declare const useCurrentDisplayedMonthYearLogic: () => UseCurrentDisplayedMonthYearLogicT;
15
+ export {};
@@ -0,0 +1,14 @@
1
+ import type { useCurrentDisplayedMonthYearLogic } from './useCurrentDisplayedMonthYearLogic.js';
2
+ import type { DSControlledDateTimePickerInternalsT } from '../../../sharedTypes.js';
3
+ interface UseFocusLogicArgsT {
4
+ currentDisplayedMonthLogic: ReturnType<typeof useCurrentDisplayedMonthYearLogic>;
5
+ showCalendar: boolean;
6
+ }
7
+ interface FocusLogicT {
8
+ focusedDay?: DSControlledDateTimePickerInternalsT.MetaMonthDay;
9
+ resetFocusedDayToStartDate: () => void;
10
+ handleFocusMetaDay: (metaDayToFocus: DSControlledDateTimePickerInternalsT.MetaMonthDay) => void;
11
+ handleFocusMetaDayByDay: (day: Date) => void;
12
+ }
13
+ export declare const useFocusLogic: ({ currentDisplayedMonthLogic }: UseFocusLogicArgsT) => FocusLogicT;
14
+ export {};
@@ -0,0 +1,19 @@
1
+ /// <reference types="react" />
2
+ import type { DSControlledDateTimePickerInternalsT } from '../../../sharedTypes.js';
3
+ import type { useFocusLogic } from './useFocusLogic.js';
4
+ import type { useCurrentDisplayedMonthYearLogic } from './useCurrentDisplayedMonthYearLogic.js';
5
+ interface UseKeyboardHandlersArgsT {
6
+ currentDisplayedMonthLogic: ReturnType<typeof useCurrentDisplayedMonthYearLogic>;
7
+ focusLogic: ReturnType<typeof useFocusLogic>;
8
+ }
9
+ type HandleDayOnKeyDownT = (e: React.KeyboardEvent, day: DSControlledDateTimePickerInternalsT.MetaMonthDay) => void;
10
+ interface KeyboardHandlersT {
11
+ handleDayOnKeyDown: HandleDayOnKeyDownT;
12
+ handlePrevYearKeyDown: (e: React.KeyboardEvent) => void;
13
+ handlePrevMonthKeyDown: (e: React.KeyboardEvent) => void;
14
+ handleNextMonthKeyDown: (e: React.KeyboardEvent) => void;
15
+ handleNextYearKeyDown: (e: React.KeyboardEvent) => void;
16
+ handlePickerIconKeyDown: (e: React.KeyboardEvent<HTMLButtonElement>) => void;
17
+ }
18
+ export declare const useKeyboardHandlers: ({ currentDisplayedMonthLogic, focusLogic, }: UseKeyboardHandlersArgsT) => KeyboardHandlersT;
19
+ export {};
@@ -0,0 +1,16 @@
1
+ import type React from 'react';
2
+ import type { useFocusLogic } from './useFocusLogic.js';
3
+ interface UsePopperTriggerLogic {
4
+ focusLogic: ReturnType<typeof useFocusLogic>;
5
+ showCalendar: boolean;
6
+ setShowCalendar: StateSetter<boolean>;
7
+ }
8
+ interface PopperTriggerLogicT {
9
+ referenceElement: HTMLButtonElement | null;
10
+ closeCalendar: () => void;
11
+ handleToggleCalendar: () => void;
12
+ handleSetTriggerRef: (instance: HTMLButtonElement) => void;
13
+ handleMenuWrapperKeyDown: (e: React.KeyboardEvent<HTMLElement>) => void;
14
+ }
15
+ export declare const usePopperTriggerLogic: ({ focusLogic, showCalendar, setShowCalendar, }: UsePopperTriggerLogic) => PopperTriggerLogicT;
16
+ export {};
@@ -0,0 +1 @@
1
+ export declare const CalendarWithTimeWheel: () => import("react/jsx-runtime.js").JSX.Element;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const CalendarWithTimeWheelContent: () => JSX.Element;
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import type { CalendarWithTimeWheelContextT } from './useConfigCalendarWithTimeWheelCTX.js';
3
+ export declare const defaultCalendarWithTimeWheelContext: CalendarWithTimeWheelContextT;
4
+ /** Context for cross component communication */
5
+ export declare const CalendarWithTimeWheelContext: import("react").Context<CalendarWithTimeWheelContextT>;
6
+ export default CalendarWithTimeWheelContext;
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const CalendarWithTimeWheelFooter: React.ComponentType;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const CalendarWithTimeWheelIconTrigger: () => JSX.Element;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const CalendarWithTimeWheelWrapper: () => JSX.Element;
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ export declare const StyledIconTriggerButton: import("styled-components").StyledComponent<import("react").ComponentType<import("@elliemae/ds-button").DSButtonT.Props>, import("@elliemae/ds-system").Theme, object, never>;
3
+ export declare const StyledCalendarWithTimeWheelWrapper: import("styled-components").StyledComponent<keyof JSX.IntrinsicElements, import("@elliemae/ds-system").Theme, Record<string, unknown> & object, never>;
4
+ export declare const StyledCalendar: import("styled-components").StyledComponent<({ className }: {
5
+ className?: string | undefined;
6
+ }) => JSX.Element, import("@elliemae/ds-system").Theme, object, never>;
7
+ export declare const CalendarWithTimeWheelFooterMessage: import("styled-components").StyledComponent<"footer", import("@elliemae/ds-system").Theme, object, never>;
@@ -0,0 +1,14 @@
1
+ import type React from 'react';
2
+ export interface CalendarWithTimeWheelContextT {
3
+ referenceElement: HTMLButtonElement | null;
4
+ ariaCurrentValueForInputs: string;
5
+ showCalendarWithTimeWheel: boolean;
6
+ closeCalendar: () => void;
7
+ handleToggleCalendarWithTimeWheel: (e: React.MouseEvent<HTMLButtonElement>) => void;
8
+ handleSetTriggerRef: (instance: HTMLButtonElement) => void;
9
+ handleMenuWrapperKeyDown: (e: React.KeyboardEvent<HTMLElement>) => void;
10
+ handlePickerIconKeyDown: (e: React.KeyboardEvent<HTMLButtonElement>) => void;
11
+ isControllerOnly: boolean;
12
+ disabled: boolean;
13
+ }
14
+ export declare const useConfigCalendarWithTimeWheelCTX: () => CalendarWithTimeWheelContextT;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const PickersIcons: () => JSX.Element;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const HoursList: () => JSX.Element;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ export declare const MeridiemList: () => JSX.Element;
3
+ export default MeridiemList;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ export declare const MinutesList: () => JSX.Element;
3
+ export default MinutesList;
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ export declare const WrappedTimeWheelContext: ({ children }: {
3
+ children: JSX.Element;
4
+ }) => import("react/jsx-runtime.js").JSX.Element;
5
+ export declare const TimeWheel: () => JSX.Element;
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const TimeWheelContent: React.MemoExoticComponent<() => import("react/jsx-runtime.js").JSX.Element>;
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import type { TimeWheelContextT } from './useConfigTimePickerCTX.js';
3
+ export declare const defaultTimePickerContext: TimeWheelContextT;
4
+ /** Context for cross component communication */
5
+ export declare const TimeWheelContext: import("react").Context<TimeWheelContextT>;
6
+ export default TimeWheelContext;
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const TimeWheelFooter: React.ComponentType;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const TimeWheelIconTrigger: () => JSX.Element;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const TimeWheelWrapper: () => JSX.Element;
@@ -0,0 +1,5 @@
1
+ import { usePopperTriggerLogic } from './usePopperTriggerLogic.js';
2
+ import { useCurrentDisplayedWheelsLogic } from './useCurrentDisplayedWheelsLogic.js';
3
+ import { useKeyboardHandlers } from './useKeyboardHandlers.js';
4
+ export type TimeWheelContextT = ReturnType<typeof useCurrentDisplayedWheelsLogic> & ReturnType<typeof usePopperTriggerLogic> & ReturnType<typeof useKeyboardHandlers>;
5
+ export declare const useConfigTimePickerCTX: () => TimeWheelContextT;
@@ -0,0 +1,17 @@
1
+ import type { DSControlledDateTimePickerT } from '../../../propTypes.js';
2
+ interface UseCurrentDisplayedWheelsLogic {
3
+ currHourNum: number;
4
+ visibleHours: (string | null)[];
5
+ handlePrevHour: (e: DSControlledDateTimePickerT.OnInternalValuesChangeEvent) => void;
6
+ handleNextHour: (e: DSControlledDateTimePickerT.OnInternalValuesChangeEvent) => void;
7
+ handleTimeWheelBtnChangeHours: (newVal: string, e: DSControlledDateTimePickerT.OnInternalValuesChangeEvent) => void;
8
+ currMinuteNum: number;
9
+ visibleMinutes: (string | null)[];
10
+ handlePrevMinute: (e: DSControlledDateTimePickerT.OnInternalValuesChangeEvent) => void;
11
+ handleNextMinute: (e: DSControlledDateTimePickerT.OnInternalValuesChangeEvent) => void;
12
+ handleTimeWheelBtnChangeMinutes: (newVal: string, e: DSControlledDateTimePickerT.OnInternalValuesChangeEvent) => void;
13
+ handleTimeWheelBtnChangeMeridiem: (newMeridiem: string, e: DSControlledDateTimePickerT.OnInternalValuesChangeEvent) => void;
14
+ currMeridiem: string;
15
+ }
16
+ export declare const useCurrentDisplayedWheelsLogic: () => UseCurrentDisplayedWheelsLogic;
17
+ export {};
@@ -0,0 +1,13 @@
1
+ /// <reference types="react" />
2
+ import type { useCurrentDisplayedWheelsLogic } from './useCurrentDisplayedWheelsLogic.js';
3
+ interface UseKeyboardHandlersArgs {
4
+ currentDisplayedTimeWheelLogic: ReturnType<typeof useCurrentDisplayedWheelsLogic>;
5
+ }
6
+ interface KeyboardHandlersT {
7
+ handleCurrHourOnKeyDown: (e: React.KeyboardEvent) => void;
8
+ handleCurrMinutesOnKeyDown: (e: React.KeyboardEvent) => void;
9
+ handleCurrMeridiemOnKeyDown: (e: React.KeyboardEvent) => void;
10
+ handlePickerIconKeyDown: (e: React.KeyboardEvent<HTMLButtonElement>) => void;
11
+ }
12
+ export declare const useKeyboardHandlers: ({ currentDisplayedTimeWheelLogic }: UseKeyboardHandlersArgs) => KeyboardHandlersT;
13
+ export {};
@@ -0,0 +1,12 @@
1
+ /// <reference types="react" />
2
+ interface PopperTriggerLogicT {
3
+ referenceElement: HTMLButtonElement | null;
4
+ showTimePicker: boolean;
5
+ closeTimePicker: () => void;
6
+ setShowTimePicker: StateSetter<boolean>;
7
+ handleToggleTimePicker: () => void;
8
+ handleSetTriggerRef: (instance: HTMLButtonElement) => void;
9
+ handleMenuWrapperKeyDown: (e: React.KeyboardEvent<HTMLElement>) => void;
10
+ }
11
+ export declare const usePopperTriggerLogic: () => PopperTriggerLogicT;
12
+ export {};
@@ -0,0 +1,13 @@
1
+ /// <reference types="react" />
2
+ export declare const StyledSeparator: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("@elliemae/ds-grid/dist/types/react-desc-prop-types.js").DSGridT.Props & import("react").RefAttributes<HTMLDivElement>>, import("@elliemae/ds-system").Theme, object, never>;
3
+ export declare const StyledColonSeparator: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("@elliemae/ds-grid/dist/types/react-desc-prop-types.js").DSGridT.Props & import("react").RefAttributes<HTMLDivElement>>, import("@elliemae/ds-system").Theme, object, never>;
4
+ export declare const Styled2DigitsInput: import("styled-components").StyledComponent<"input", import("@elliemae/ds-system").Theme, Record<string, unknown> & object, never>;
5
+ export declare const StyledMin4DigitsInput: import("styled-components").StyledComponent<"input", import("@elliemae/ds-system").Theme, Record<string, unknown> & object, never>;
6
+ export declare const StyledInputsWrapperGrid: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("@elliemae/ds-grid/dist/types/react-desc-prop-types.js").DSGridT.Props & import("react").RefAttributes<HTMLDivElement>>, import("@elliemae/ds-system").Theme, object, never>;
7
+ export declare const StyledDateInputsWrapperGrid: import("styled-components").StyledComponent<keyof JSX.IntrinsicElements, import("@elliemae/ds-system").Theme, Record<string, unknown> & object, never>;
8
+ export declare const StyledTimeInputsWrapperGrid: import("styled-components").StyledComponent<keyof JSX.IntrinsicElements, import("@elliemae/ds-system").Theme, Record<string, unknown> & object, never>;
9
+ export declare const StyledPickersIconsWrapperGrid: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("@elliemae/ds-grid/dist/types/react-desc-prop-types.js").DSGridT.Props & import("react").RefAttributes<HTMLDivElement>>, import("@elliemae/ds-system").Theme, {
10
+ isControllerOnly: boolean;
11
+ }, never>;
12
+ export declare const StyledFocusWithIn: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("@elliemae/ds-grid/dist/types/react-desc-prop-types.js").DSGridT.Props & import("react").RefAttributes<HTMLDivElement>>, import("@elliemae/ds-system").Theme, object, never>;
13
+ export declare const StyledClearButton: import("styled-components").StyledComponent<import("react").ComponentType<import("@elliemae/ds-button").DSButtonT.Props>, import("@elliemae/ds-system").Theme, object, never>;
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import type { DSControlledDateTimePickerInternalsT } from '../../sharedTypes.js';
3
+ interface HHInputsPropsT {
4
+ onChange: DSControlledDateTimePickerInternalsT.OnChangeFunc;
5
+ onBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc;
6
+ onFocus: DSControlledDateTimePickerInternalsT.OnFocusFunc;
7
+ onKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown;
8
+ value: string;
9
+ disabled: boolean;
10
+ contextRef: React.MutableRefObject<HTMLInputElement | null>;
11
+ placeholder: string;
12
+ ariaCurrentValueForInputs: string;
13
+ autoFocusHourInput: boolean;
14
+ isFocused: boolean;
15
+ ariaAndDataProps?: AriaAndDataProps;
16
+ }
17
+ export declare const HHInput: React.MemoExoticComponent<({ onChange, onBlur, onFocus, onKeyDown, value, disabled, placeholder, ariaCurrentValueForInputs, contextRef, autoFocusHourInput, isFocused, ariaAndDataProps, }: HHInputsPropsT) => JSX.Element>;
18
+ export {};
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import type { DSControlledDateTimePickerInternalsT } from '../../sharedTypes.js';
3
+ interface MeridiemInputsPropsT {
4
+ onChange: DSControlledDateTimePickerInternalsT.OnChangeFunc;
5
+ onBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc;
6
+ onFocus: DSControlledDateTimePickerInternalsT.OnFocusFunc;
7
+ onKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown;
8
+ value: string;
9
+ disabled: boolean;
10
+ contextRef: React.MutableRefObject<HTMLInputElement | null>;
11
+ placeholder: string;
12
+ ariaCurrentValueForInputs: string;
13
+ isFocused: boolean;
14
+ ariaAndDataProps?: AriaAndDataProps;
15
+ }
16
+ export declare const MeridiemInput: React.MemoExoticComponent<({ onChange, onBlur, onFocus, onKeyDown, value, disabled, placeholder, ariaCurrentValueForInputs, contextRef, isFocused, ariaAndDataProps, }: MeridiemInputsPropsT) => JSX.Element>;
17
+ export {};
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import type { DSControlledDateTimePickerInternalsT } from '../../sharedTypes.js';
3
+ interface MinutesInputsPropsT {
4
+ onChange: DSControlledDateTimePickerInternalsT.OnChangeFunc;
5
+ onBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc;
6
+ onFocus: DSControlledDateTimePickerInternalsT.OnFocusFunc;
7
+ onKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown;
8
+ value: string;
9
+ disabled: boolean;
10
+ contextRef: React.MutableRefObject<HTMLInputElement | null>;
11
+ placeholder: string;
12
+ ariaCurrentValueForInputs: string;
13
+ isFocused: boolean;
14
+ ariaAndDataProps?: AriaAndDataProps;
15
+ }
16
+ export declare const MinutesInput: React.MemoExoticComponent<({ onChange, onBlur, onFocus, onKeyDown, value, disabled, placeholder, ariaCurrentValueForInputs, contextRef, isFocused, ariaAndDataProps, }: MinutesInputsPropsT) => JSX.Element>;
17
+ export {};
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const TimeInputs: () => JSX.Element;
@@ -0,0 +1,22 @@
1
+ import type { DSControlledDateTimePickerInternalsT } from '../../sharedTypes.js';
2
+ interface UseTimeInputsR {
3
+ autoFocusHourInput: boolean;
4
+ disabled: boolean;
5
+ handleChangeHours: DSControlledDateTimePickerInternalsT.HandleOnChangeFunc;
6
+ onHoursChange: DSControlledDateTimePickerInternalsT.OnChangeFunc;
7
+ handleChangeMinutes: DSControlledDateTimePickerInternalsT.HandleOnChangeFunc;
8
+ onMinutesChange: DSControlledDateTimePickerInternalsT.OnChangeFunc;
9
+ handleChangeMeridiem: DSControlledDateTimePickerInternalsT.HandleOnChangeFunc;
10
+ onMeridiemChange: DSControlledDateTimePickerInternalsT.OnChangeFunc;
11
+ onHoursFocus: DSControlledDateTimePickerInternalsT.OnFocusFunc;
12
+ onMinutesFocus: DSControlledDateTimePickerInternalsT.OnFocusFunc;
13
+ onMeridiemFocus: DSControlledDateTimePickerInternalsT.OnFocusFunc;
14
+ onHoursBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc;
15
+ onMinutesBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc;
16
+ onMeridiemBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc;
17
+ onHoursKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown;
18
+ onMinutesKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown;
19
+ onMeridiemKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown;
20
+ }
21
+ export declare const useTimeInputs: () => UseTimeInputsR;
22
+ export {};
@@ -0,0 +1,5 @@
1
+ export declare const fixedValues: {
2
+ readonly smallInputWidth: "28px";
3
+ readonly largeInputWidth: "40px";
4
+ readonly separatorWidth: "7px";
5
+ };
@@ -0,0 +1,105 @@
1
+ import type { WeakValidationMap } from 'react';
2
+ import type React from 'react';
3
+ import { ControlledDateTimePickerDatatestid } from './ControlledDateTimePickerDatatestid.js';
4
+ export declare namespace DSControlledDateTimePickerT {
5
+ type DataTestIdType = typeof ControlledDateTimePickerDatatestid;
6
+ type FlatDataTestIdValues = {
7
+ [K in keyof DataTestIdType]: DataTestIdType[K] extends Record<string, unknown> ? DataTestIdType[K][keyof DataTestIdType[K]] : DataTestIdType[K];
8
+ }[keyof DataTestIdType];
9
+ type AriaAndDataPropsPerDataTestId = {
10
+ [key in FlatDataTestIdValues]?: AriaAndDataPropsOrPropsGetter;
11
+ };
12
+ type OnInternalValuesChangeEvent = React.ChangeEvent<HTMLInputElement> | React.KeyboardEvent<HTMLInputElement> | React.KeyboardEvent<HTMLButtonElement> | React.KeyboardEvent | React.MouseEvent<HTMLInputElement> | React.MouseEvent<HTMLButtonElement>;
13
+ type ControlTypes = 'full-date-time' | 'date-time-inputs' | 'date-time-picker' | 'date-time-picker-controller-only' | 'full-date' | 'date-inputs' | 'date-picker' | 'date-picker-controller-only' | 'full-time' | 'time-inputs' | 'time-picker' | 'time-picker-controller-only';
14
+ interface InternalInputsChangeMetaInfo {
15
+ isAutomaticFillTrigger?: boolean;
16
+ isDayPresentInMonth?: boolean;
17
+ isOutOfRangeDay?: boolean;
18
+ isDisabledDay?: boolean;
19
+ isDisabledTime?: boolean;
20
+ suggestedErrorMsg?: string;
21
+ newDateTimeString?: string;
22
+ newDateString?: string;
23
+ newTimeString?: string;
24
+ }
25
+ type OnDateChange = (val: string, metaInfo: InternalInputsChangeMetaInfo) => void;
26
+ type OnTimeChange = (val: string, metaInfo: InternalInputsChangeMetaInfo) => void;
27
+ type OnDateTimeChange = (val: string, metaInfo: InternalInputsChangeMetaInfo) => void;
28
+ type OnInternalInputsChange = (val: string, e: OnInternalValuesChangeEvent, metaInfo?: InternalInputsChangeMetaInfo) => void;
29
+ type AppOnInputChange = (val: string, e: OnInternalValuesChangeEvent, metaInfo: InternalInputsChangeMetaInfo) => void;
30
+ interface DefaultDateProps {
31
+ onMonthChange: AppOnInputChange;
32
+ onDayChange: AppOnInputChange;
33
+ onYearChange: AppOnInputChange;
34
+ onPickerOpen: NoopishFunc;
35
+ onPickerClose: NoopishFunc;
36
+ getIsDisabledDay: BooleanGetter<string>;
37
+ getIsOutOfRangeDay: BooleanGetter<string>;
38
+ getIsStartRangeDay: BooleanGetter<string>;
39
+ getIsDayInRange: BooleanGetter<string>;
40
+ getIsEndRangeDay: BooleanGetter<string>;
41
+ isClearable: boolean;
42
+ disabled: boolean;
43
+ hasError: boolean;
44
+ autoFocus: boolean;
45
+ preventCloseOnSelection: boolean;
46
+ }
47
+ interface OptionalDatePickerProps extends AriaAndDataPropsPerDataTestId {
48
+ emptyPickerStartingMonth?: string;
49
+ onCalendarOpenFocusedDay?: string;
50
+ pickerFooterMsg?: string;
51
+ innerRef?: React.MutableRefObject<HTMLInputElement | HTMLButtonElement | null> | ((ref: HTMLInputElement | HTMLButtonElement | null) => void);
52
+ }
53
+ interface RequiredDatePickerProps {
54
+ type: 'full-date' | 'date-inputs' | 'date-picker' | 'date-picker-controller-only';
55
+ date: string;
56
+ onDateChange: OnDateChange;
57
+ }
58
+ type DatePickerProps = OptionalDatePickerProps & Partial<DefaultDateProps> & RequiredDatePickerProps;
59
+ type InternalDatePickerProps = OptionalDatePickerProps & DefaultDateProps & RequiredDatePickerProps;
60
+ interface DefaultTimeProps {
61
+ onHourChange: AppOnInputChange;
62
+ onMinuteChange: AppOnInputChange;
63
+ onMeridiemChange: AppOnInputChange;
64
+ onPickerOpen: NoopishFunc;
65
+ onPickerClose: NoopishFunc;
66
+ getIsDisabledTime: BooleanGetter<string>;
67
+ minutesInterval: number;
68
+ isClearable: boolean;
69
+ disabled: boolean;
70
+ hasError: boolean;
71
+ autoFocus: boolean;
72
+ preventCloseOnSelection: boolean;
73
+ }
74
+ interface OptionalTimePickerProps extends AriaAndDataPropsPerDataTestId {
75
+ pickerFooterMsg?: string;
76
+ onTimeWheelOpenStartingTime?: string;
77
+ innerRef?: React.MutableRefObject<HTMLInputElement | HTMLButtonElement | null> | ((ref: HTMLInputElement | HTMLButtonElement | null) => void);
78
+ }
79
+ interface RequiredTimePickerProps {
80
+ type: 'full-time' | 'time-inputs' | 'time-picker' | 'time-picker-controller-only';
81
+ time: string;
82
+ onTimeChange: OnTimeChange;
83
+ }
84
+ type TimePickerProps = OptionalTimePickerProps & Partial<DefaultTimeProps> & RequiredTimePickerProps;
85
+ type InternalTimePickerProps = OptionalTimePickerProps & DefaultTimeProps & RequiredTimePickerProps;
86
+ type DefaultDateTimeProps = DefaultTimeProps & DefaultDateProps & {
87
+ onDateChange: OnDateChange;
88
+ onTimeChange: OnTimeChange;
89
+ };
90
+ type OptionalDateTimeProps = AriaAndDataPropsPerDataTestId & OptionalTimePickerProps & OptionalDatePickerProps;
91
+ interface RequiredDateTimeProps {
92
+ type: 'full-date-time' | 'date-time-inputs' | 'date-time-picker' | 'date-time-picker-controller-only';
93
+ dateTime: string;
94
+ onDateTimeChange: OnDateTimeChange;
95
+ }
96
+ type DateTimePickerProps = Partial<DefaultDateTimeProps> & OptionalDateTimeProps & RequiredDateTimeProps;
97
+ type InternalDateTimePickerProps = DefaultDateTimeProps & OptionalDateTimeProps & RequiredDateTimeProps;
98
+ type DefaultProps = DefaultDateTimeProps & {
99
+ type: 'full-date-time';
100
+ };
101
+ type Props = DateTimePickerProps | DatePickerProps | TimePickerProps;
102
+ type InternalProps = InternalDateTimePickerProps | InternalDatePickerProps | InternalTimePickerProps;
103
+ }
104
+ export declare const defaultProps: DSControlledDateTimePickerT.DefaultProps;
105
+ export declare const propTypes: WeakValidationMap<unknown>;