@elliemae/ds-form-date-time-picker 3.16.4-rc.2 → 3.16.4

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 (101) hide show
  1. package/dist/types/ControlledDateTimePicker.d.ts +8 -0
  2. package/dist/types/ControlledDateTimePickerCTX.d.ts +5 -0
  3. package/dist/types/ControlledDateTimePickerDatatestid.d.ts +63 -0
  4. package/dist/types/ControlledDateTimePickerTypes.d.ts +20 -0
  5. package/dist/types/config/useChangeHandlers.d.ts +27 -0
  6. package/dist/types/config/useControlledDateTimePicker.d.ts +16 -0
  7. package/dist/types/config/useFocusTracker.d.ts +38 -0
  8. package/dist/types/config/useGetDestructuredValues.d.ts +30 -0
  9. package/dist/types/config/useGetFlags.d.ts +30 -0
  10. package/dist/types/config/useGetPropsBasedOnType.d.ts +28 -0
  11. package/dist/types/config/useGetPropsWithDefault.d.ts +2 -0
  12. package/dist/types/config/useGetReferences.d.ts +33 -0
  13. package/dist/types/config/useGlobalKeyHandlers.d.ts +18 -0
  14. package/dist/types/config/useRelevantValueFromProps.d.ts +10 -0
  15. package/dist/types/config/useValidateProps.d.ts +2 -0
  16. package/dist/types/exported-related/theming.d.ts +37 -0
  17. package/dist/types/index.d.ts +9 -0
  18. package/dist/types/parts/ClearButton/ClearButton.d.ts +2 -0
  19. package/dist/types/parts/ClearButton/useClearButton.d.ts +11 -0
  20. package/dist/types/parts/ControlledDateTimePickerContent.d.ts +2 -0
  21. package/dist/types/parts/DateInputs/DDInput.d.ts +17 -0
  22. package/dist/types/parts/DateInputs/DateInputs.d.ts +2 -0
  23. package/dist/types/parts/DateInputs/MMInput.d.ts +19 -0
  24. package/dist/types/parts/DateInputs/YYYYInput.d.ts +17 -0
  25. package/dist/types/parts/DateInputs/useDateInputs.d.ts +2 -0
  26. package/dist/types/parts/Pickers/Calendar/Calendar.d.ts +5 -0
  27. package/dist/types/parts/Pickers/Calendar/CalendarBody.d.ts +6 -0
  28. package/dist/types/parts/Pickers/Calendar/CalendarContent.d.ts +4 -0
  29. package/dist/types/parts/Pickers/Calendar/CalendarContext.d.ts +6 -0
  30. package/dist/types/parts/Pickers/Calendar/CalendarDaysList.d.ts +9 -0
  31. package/dist/types/parts/Pickers/Calendar/CalendarFooter.d.ts +2 -0
  32. package/dist/types/parts/Pickers/Calendar/CalendarHead.d.ts +2 -0
  33. package/dist/types/parts/Pickers/Calendar/CalendarIconTrigger.d.ts +2 -0
  34. package/dist/types/parts/Pickers/Calendar/CalendarMonthDays.d.ts +2 -0
  35. package/dist/types/parts/Pickers/Calendar/CalendarWeekDays.d.ts +2 -0
  36. package/dist/types/parts/Pickers/Calendar/CalendarWrapper.d.ts +2 -0
  37. package/dist/types/parts/Pickers/Calendar/Day.d.ts +9 -0
  38. package/dist/types/parts/Pickers/Calendar/Styleds.d.ts +21 -0
  39. package/dist/types/parts/Pickers/Calendar/useConfigCalendarCTX.d.ts +14 -0
  40. package/dist/types/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.d.ts +15 -0
  41. package/dist/types/parts/Pickers/Calendar/useFocusLogic.d.ts +14 -0
  42. package/dist/types/parts/Pickers/Calendar/useKeyboardHandlers.d.ts +19 -0
  43. package/dist/types/parts/Pickers/Calendar/usePopperTriggerLogic.d.ts +16 -0
  44. package/dist/types/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.d.ts +2 -0
  45. package/dist/types/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.d.ts +2 -0
  46. package/dist/types/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.d.ts +6 -0
  47. package/dist/types/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.d.ts +2 -0
  48. package/dist/types/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.d.ts +2 -0
  49. package/dist/types/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.d.ts +2 -0
  50. package/dist/types/parts/Pickers/CalendarWithTimeWheel/Styleds.d.ts +7 -0
  51. package/dist/types/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.d.ts +14 -0
  52. package/dist/types/parts/Pickers/PickersIcons.d.ts +2 -0
  53. package/dist/types/parts/Pickers/TimeWheel/HoursList.d.ts +2 -0
  54. package/dist/types/parts/Pickers/TimeWheel/MeridiemList.d.ts +3 -0
  55. package/dist/types/parts/Pickers/TimeWheel/MinutesList.d.ts +3 -0
  56. package/dist/types/parts/Pickers/TimeWheel/TimeWheel.d.ts +5 -0
  57. package/dist/types/parts/Pickers/TimeWheel/TimeWheelContent.d.ts +2 -0
  58. package/dist/types/parts/Pickers/TimeWheel/TimeWheelContext.d.ts +6 -0
  59. package/dist/types/parts/Pickers/TimeWheel/TimeWheelFooter.d.ts +2 -0
  60. package/dist/types/parts/Pickers/TimeWheel/TimeWheelIconTrigger.d.ts +2 -0
  61. package/dist/types/parts/Pickers/TimeWheel/TimeWheelWrapper.d.ts +2 -0
  62. package/dist/types/parts/Pickers/TimeWheel/useConfigTimePickerCTX.d.ts +5 -0
  63. package/dist/types/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.d.ts +17 -0
  64. package/dist/types/parts/Pickers/TimeWheel/useKeyboardHandlers.d.ts +13 -0
  65. package/dist/types/parts/Pickers/TimeWheel/usePopperTriggerLogic.d.ts +12 -0
  66. package/dist/types/parts/Styleds.d.ts +13 -0
  67. package/dist/types/parts/TimeInputs/HHInput.d.ts +18 -0
  68. package/dist/types/parts/TimeInputs/MeridiemInput.d.ts +17 -0
  69. package/dist/types/parts/TimeInputs/MinutesInput.d.ts +17 -0
  70. package/dist/types/parts/TimeInputs/TimeInputs.d.ts +2 -0
  71. package/dist/types/parts/TimeInputs/useTimeInputs.d.ts +22 -0
  72. package/dist/types/parts/config.d.ts +5 -0
  73. package/dist/types/propTypes.d.ts +105 -0
  74. package/dist/types/sharedTypes.d.ts +95 -0
  75. package/dist/types/tests/custom-props/customProps.d.ts +397 -0
  76. package/dist/types/tests/custom-props/date-time-picker.date-custom-props.test.d.ts +1 -0
  77. package/dist/types/tests/custom-props/date-time-picker.date-time-custom-props.test.d.ts +1 -0
  78. package/dist/types/tests/custom-props/date-time-picker.time-custom-props.test.d.ts +1 -0
  79. package/dist/types/tests/date-time-picker.auto-advance.test.d.ts +1 -0
  80. package/dist/types/tests/date-time-picker.clear-button.test.d.ts +1 -0
  81. package/dist/types/tests/date-time-picker.keyboard-focus.test.d.ts +1 -0
  82. package/dist/types/tests/date-time-picker.keyboard.data-entry-typing.test.d.ts +1 -0
  83. package/dist/types/tests/date-time-picker.keyboard.fill-with-now.test.d.ts +1 -0
  84. package/dist/types/tests/date-time-picker.keyboard.regressive-backspace.test.d.ts +1 -0
  85. package/dist/types/tests/date-time-picker.keyboard.shortcut-clear.test.d.ts +1 -0
  86. package/dist/types/tests/date-time-picker.manual-delete-values.test.d.ts +1 -0
  87. package/dist/types/tests/date-time-picker.onChange-meta-info.test.d.ts +1 -0
  88. package/dist/types/tests/date-time-picker.types-button.test.d.ts +1 -0
  89. package/dist/types/tests/date-time-picker.types-dom.test.d.ts +1 -0
  90. package/dist/types/utils/constants.d.ts +38 -0
  91. package/dist/types/utils/dateHelpers.d.ts +40 -0
  92. package/dist/types/utils/dateTimeHelpers.d.ts +8 -0
  93. package/dist/types/utils/hooks/useGetDayFromDateString.d.ts +1 -0
  94. package/dist/types/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.d.ts +5 -0
  95. package/dist/types/utils/hooks/useGetStartingFocusedDay.d.ts +8 -0
  96. package/dist/types/utils/hooks/useOnClickOutside.d.ts +1 -0
  97. package/dist/types/utils/numberHelpers.d.ts +1 -0
  98. package/dist/types/utils/stringHelpers.d.ts +36 -0
  99. package/dist/types/utils/timeHelpers.d.ts +2 -0
  100. package/dist/types/utils/typeGuards.d.ts +4 -0
  101. package/package.json +9 -9
@@ -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,2 @@
1
+ /// <reference types="react" />
2
+ export declare const CalendarWithTimeWheel: () => 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
+ }) => 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<() => 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>;
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>;
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>;
@@ -0,0 +1,95 @@
1
+ import type React from 'react';
2
+ import type { DSControlledDateTimePickerT } from './propTypes.js';
3
+ export declare namespace DSControlledDateTimePickerInternalsT {
4
+ type DateDay = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31;
5
+ type DateMonth = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11;
6
+ interface MetaMonthDay {
7
+ day: Date;
8
+ dayAsString: string;
9
+ isPrevMonthDay: boolean;
10
+ isNextMonthDay: boolean;
11
+ isCurrMonthDay: boolean;
12
+ isHidden: boolean;
13
+ dayBtnRef: React.MutableRefObject<HTMLButtonElement>;
14
+ }
15
+ type OnKeyDown<HTMLT = HTMLInputElement> = (e: React.KeyboardEvent<HTMLT>) => void;
16
+ type OnChangeFunc = (e: React.ChangeEvent<HTMLInputElement>) => void;
17
+ type OnDSBtnClick = (e: React.MouseEvent<HTMLButtonElement> | React.KeyboardEvent<HTMLButtonElement> | React.KeyboardEvent) => void;
18
+ type HandleOnChangeFunc = (newVal: string, e: DSControlledDateTimePickerT.OnInternalValuesChangeEvent, metaInfo?: DSControlledDateTimePickerT.InternalInputsChangeMetaInfo) => void;
19
+ type OnBlurFunc = (e: React.FocusEvent<HTMLInputElement>) => void;
20
+ type OnFocusFunc = (e: React.FocusEvent<HTMLInputElement>) => void;
21
+ interface UseDateInputsR {
22
+ month: string;
23
+ day: string;
24
+ year: string;
25
+ autoFocusMonthInput: boolean;
26
+ innerRefMonthInput?: React.MutableRefObject<HTMLInputElement | HTMLButtonElement | null>;
27
+ disabled: boolean;
28
+ onMonthChange: OnChangeFunc;
29
+ onDayChange: OnChangeFunc;
30
+ onYearChange: OnChangeFunc;
31
+ onMonthFocus: OnFocusFunc;
32
+ onDayFocus: OnFocusFunc;
33
+ onYearFocus: OnFocusFunc;
34
+ onMonthBlur: OnBlurFunc;
35
+ onDayBlur: OnBlurFunc;
36
+ onYearBlur: OnBlurFunc;
37
+ onMonthKeyDown: OnKeyDown;
38
+ onDayKeyDown: OnKeyDown;
39
+ onYearKeyDown: OnKeyDown;
40
+ }
41
+ interface InputsReferences {
42
+ monthInputRef: React.RefObject<HTMLInputElement>;
43
+ dayInputRef: React.RefObject<HTMLInputElement>;
44
+ yearInputRef: React.RefObject<HTMLInputElement>;
45
+ hourInputRef: React.RefObject<HTMLInputElement>;
46
+ minutesInputRef: React.RefObject<HTMLInputElement>;
47
+ meridiemInputRef: React.RefObject<HTMLInputElement>;
48
+ clearButtonRef: React.MutableRefObject<HTMLButtonElement>;
49
+ pickerButtonRef: React.MutableRefObject<HTMLButtonElement>;
50
+ }
51
+ interface CalendarReferences {
52
+ prevYearBtnRef: React.MutableRefObject<HTMLButtonElement>;
53
+ prevMonthBtnRef: React.MutableRefObject<HTMLButtonElement>;
54
+ nextMonthBtnRef: React.MutableRefObject<HTMLButtonElement>;
55
+ nextYearBtnRef: React.MutableRefObject<HTMLButtonElement>;
56
+ calendarDaysWrapperRef: React.MutableRefObject<HTMLDivElement>;
57
+ }
58
+ interface TimewheelReferences {
59
+ prevHourBtnRef: React.MutableRefObject<HTMLButtonElement>;
60
+ currHourBtnRef: React.MutableRefObject<HTMLButtonElement>;
61
+ nextHourBtnRef: React.MutableRefObject<HTMLButtonElement>;
62
+ prevMinutesBtnRef: React.MutableRefObject<HTMLButtonElement>;
63
+ currMinutesBtnRef: React.MutableRefObject<HTMLButtonElement>;
64
+ nextMinutesBtnRef: React.MutableRefObject<HTMLButtonElement>;
65
+ prevMeridiemBtnRef: React.MutableRefObject<HTMLButtonElement>;
66
+ currMeridiemBtnRef: React.MutableRefObject<HTMLButtonElement>;
67
+ nextMeridiemBtnRef: React.MutableRefObject<HTMLButtonElement>;
68
+ }
69
+ interface InternalPrecalculatedFlags {
70
+ isControllerOnly: boolean;
71
+ shouldPreserveClearableSpace: boolean;
72
+ isWithTimeWheelToo: boolean;
73
+ isWithCalendarToo: boolean;
74
+ isWithDateInputs: boolean;
75
+ isWithDateInputsOnly: boolean;
76
+ isWithTimeInputs: boolean;
77
+ isWithTimeInputsOnly: boolean;
78
+ autoFocusMonthInput: boolean;
79
+ autoFocusHourInput: boolean;
80
+ autoFocusPrevMonthArrow: boolean;
81
+ autoFocusHourTimeWheel: boolean;
82
+ hideDate: boolean;
83
+ hideTime: boolean;
84
+ hideDateTimePicker: boolean;
85
+ hideDatePicker: boolean;
86
+ hideTimePicker: boolean;
87
+ withAnyInputs: boolean;
88
+ withAnyPicker: boolean;
89
+ withClearBtn: boolean;
90
+ withAnyRightController: boolean;
91
+ isDateSelector: boolean;
92
+ isTimeSelector: boolean;
93
+ isDateTimeSelector: boolean;
94
+ }
95
+ }