@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.
- package/dist/cjs/propTypes.js.map +2 -2
- package/dist/esm/propTypes.js.map +2 -2
- package/dist/types/ControlledDateTimePicker.d.ts +8 -0
- package/dist/types/ControlledDateTimePickerCTX.d.ts +5 -0
- package/dist/types/ControlledDateTimePickerDatatestid.d.ts +63 -0
- package/dist/types/ControlledDateTimePickerTypes.d.ts +20 -0
- package/dist/types/config/useChangeHandlers.d.ts +27 -0
- package/dist/types/config/useControlledDateTimePicker.d.ts +16 -0
- package/dist/types/config/useFocusTracker.d.ts +38 -0
- package/dist/types/config/useGetDestructuredValues.d.ts +30 -0
- package/dist/types/config/useGetFlags.d.ts +30 -0
- package/dist/types/config/useGetPropsBasedOnType.d.ts +28 -0
- package/dist/types/config/useGetPropsWithDefault.d.ts +2 -0
- package/dist/types/config/useGetReferences.d.ts +33 -0
- package/dist/types/config/useGlobalKeyHandlers.d.ts +18 -0
- package/dist/types/config/useRelevantValueFromProps.d.ts +10 -0
- package/dist/types/config/useValidateProps.d.ts +2 -0
- package/dist/types/exported-related/theming.d.ts +37 -0
- package/dist/types/index.d.ts +9 -0
- package/dist/types/parts/ClearButton/ClearButton.d.ts +2 -0
- package/dist/types/parts/ClearButton/useClearButton.d.ts +11 -0
- package/dist/types/parts/ControlledDateTimePickerContent.d.ts +2 -0
- package/dist/types/parts/DateInputs/DDInput.d.ts +17 -0
- package/dist/types/parts/DateInputs/DateInputs.d.ts +2 -0
- package/dist/types/parts/DateInputs/MMInput.d.ts +19 -0
- package/dist/types/parts/DateInputs/YYYYInput.d.ts +17 -0
- package/dist/types/parts/DateInputs/useDateInputs.d.ts +2 -0
- package/dist/types/parts/Pickers/Calendar/Calendar.d.ts +5 -0
- package/dist/types/parts/Pickers/Calendar/CalendarBody.d.ts +6 -0
- package/dist/types/parts/Pickers/Calendar/CalendarContent.d.ts +4 -0
- package/dist/types/parts/Pickers/Calendar/CalendarContext.d.ts +6 -0
- package/dist/types/parts/Pickers/Calendar/CalendarDaysList.d.ts +9 -0
- package/dist/types/parts/Pickers/Calendar/CalendarFooter.d.ts +2 -0
- package/dist/types/parts/Pickers/Calendar/CalendarHead.d.ts +2 -0
- package/dist/types/parts/Pickers/Calendar/CalendarIconTrigger.d.ts +2 -0
- package/dist/types/parts/Pickers/Calendar/CalendarMonthDays.d.ts +2 -0
- package/dist/types/parts/Pickers/Calendar/CalendarWeekDays.d.ts +2 -0
- package/dist/types/parts/Pickers/Calendar/CalendarWrapper.d.ts +2 -0
- package/dist/types/parts/Pickers/Calendar/Day.d.ts +9 -0
- package/dist/types/parts/Pickers/Calendar/Styleds.d.ts +21 -0
- package/dist/types/parts/Pickers/Calendar/useConfigCalendarCTX.d.ts +14 -0
- package/dist/types/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.d.ts +15 -0
- package/dist/types/parts/Pickers/Calendar/useFocusLogic.d.ts +14 -0
- package/dist/types/parts/Pickers/Calendar/useKeyboardHandlers.d.ts +19 -0
- package/dist/types/parts/Pickers/Calendar/usePopperTriggerLogic.d.ts +16 -0
- package/dist/types/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.d.ts +1 -0
- package/dist/types/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.d.ts +2 -0
- package/dist/types/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.d.ts +6 -0
- package/dist/types/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.d.ts +2 -0
- package/dist/types/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.d.ts +2 -0
- package/dist/types/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.d.ts +2 -0
- package/dist/types/parts/Pickers/CalendarWithTimeWheel/Styleds.d.ts +7 -0
- package/dist/types/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.d.ts +14 -0
- package/dist/types/parts/Pickers/PickersIcons.d.ts +2 -0
- package/dist/types/parts/Pickers/TimeWheel/HoursList.d.ts +2 -0
- package/dist/types/parts/Pickers/TimeWheel/MeridiemList.d.ts +3 -0
- package/dist/types/parts/Pickers/TimeWheel/MinutesList.d.ts +3 -0
- package/dist/types/parts/Pickers/TimeWheel/TimeWheel.d.ts +5 -0
- package/dist/types/parts/Pickers/TimeWheel/TimeWheelContent.d.ts +2 -0
- package/dist/types/parts/Pickers/TimeWheel/TimeWheelContext.d.ts +6 -0
- package/dist/types/parts/Pickers/TimeWheel/TimeWheelFooter.d.ts +2 -0
- package/dist/types/parts/Pickers/TimeWheel/TimeWheelIconTrigger.d.ts +2 -0
- package/dist/types/parts/Pickers/TimeWheel/TimeWheelWrapper.d.ts +2 -0
- package/dist/types/parts/Pickers/TimeWheel/useConfigTimePickerCTX.d.ts +5 -0
- package/dist/types/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.d.ts +17 -0
- package/dist/types/parts/Pickers/TimeWheel/useKeyboardHandlers.d.ts +13 -0
- package/dist/types/parts/Pickers/TimeWheel/usePopperTriggerLogic.d.ts +12 -0
- package/dist/types/parts/Styleds.d.ts +13 -0
- package/dist/types/parts/TimeInputs/HHInput.d.ts +18 -0
- package/dist/types/parts/TimeInputs/MeridiemInput.d.ts +17 -0
- package/dist/types/parts/TimeInputs/MinutesInput.d.ts +17 -0
- package/dist/types/parts/TimeInputs/TimeInputs.d.ts +2 -0
- package/dist/types/parts/TimeInputs/useTimeInputs.d.ts +22 -0
- package/dist/types/parts/config.d.ts +5 -0
- package/dist/types/propTypes.d.ts +105 -0
- package/dist/types/sharedTypes.d.ts +95 -0
- package/dist/types/tests/custom-props/customProps.d.ts +397 -0
- package/dist/types/tests/custom-props/date-time-picker.date-custom-props.test.d.ts +1 -0
- package/dist/types/tests/custom-props/date-time-picker.date-time-custom-props.test.d.ts +1 -0
- package/dist/types/tests/custom-props/date-time-picker.time-custom-props.test.d.ts +1 -0
- package/dist/types/tests/date-time-picker.auto-advance.test.d.ts +1 -0
- package/dist/types/tests/date-time-picker.clear-button.test.d.ts +1 -0
- package/dist/types/tests/date-time-picker.keyboard-focus.test.d.ts +1 -0
- package/dist/types/tests/date-time-picker.keyboard.data-entry-typing.test.d.ts +1 -0
- package/dist/types/tests/date-time-picker.keyboard.fill-with-now.test.d.ts +1 -0
- package/dist/types/tests/date-time-picker.keyboard.regressive-backspace.test.d.ts +1 -0
- package/dist/types/tests/date-time-picker.keyboard.shortcut-clear.test.d.ts +1 -0
- package/dist/types/tests/date-time-picker.manual-delete-values.test.d.ts +1 -0
- package/dist/types/tests/date-time-picker.onChange-meta-info.test.d.ts +1 -0
- package/dist/types/tests/date-time-picker.types-button.test.d.ts +1 -0
- package/dist/types/tests/date-time-picker.types-dom.test.d.ts +1 -0
- package/dist/types/utils/constants.d.ts +38 -0
- package/dist/types/utils/dateHelpers.d.ts +40 -0
- package/dist/types/utils/dateTimeHelpers.d.ts +8 -0
- package/dist/types/utils/hooks/useGetDayFromDateString.d.ts +1 -0
- package/dist/types/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.d.ts +5 -0
- package/dist/types/utils/hooks/useGetStartingFocusedDay.d.ts +8 -0
- package/dist/types/utils/hooks/useOnClickOutside.d.ts +1 -0
- package/dist/types/utils/numberHelpers.d.ts +1 -0
- package/dist/types/utils/stringHelpers.d.ts +36 -0
- package/dist/types/utils/timeHelpers.d.ts +2 -0
- package/dist/types/utils/typeGuards.d.ts +4 -0
- 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,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,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,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,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,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,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,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,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>;
|