@elliemae/ds-form-date-time-picker 3.12.0-rc.2 → 3.12.0-rc.21
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/ControlledDateTimePicker.js +1 -4
- package/dist/cjs/ControlledDateTimePicker.js.map +1 -1
- package/dist/cjs/config/useGlobalKeyHandlers.js +11 -4
- package/dist/cjs/config/useGlobalKeyHandlers.js.map +2 -2
- package/dist/cjs/parts/ClearButton/ClearButton.js +19 -18
- package/dist/cjs/parts/ClearButton/ClearButton.js.map +1 -1
- package/dist/cjs/parts/ControlledDateTimePickerContent.js +9 -11
- package/dist/cjs/parts/ControlledDateTimePickerContent.js.map +1 -1
- package/dist/cjs/parts/DateInputs/DDInput.js +20 -17
- package/dist/cjs/parts/DateInputs/DDInput.js.map +1 -1
- package/dist/cjs/parts/DateInputs/DateInputs.js +63 -63
- package/dist/cjs/parts/DateInputs/DateInputs.js.map +1 -1
- package/dist/cjs/parts/DateInputs/MMInput.js +17 -14
- package/dist/cjs/parts/DateInputs/MMInput.js.map +1 -1
- package/dist/cjs/parts/DateInputs/YYYYInput.js +20 -17
- package/dist/cjs/parts/DateInputs/YYYYInput.js.map +1 -1
- package/dist/cjs/parts/Pickers/Calendar/Calendar.js +6 -18
- package/dist/cjs/parts/Pickers/Calendar/Calendar.js.map +1 -1
- package/dist/cjs/parts/Pickers/Calendar/CalendarBody.js +4 -11
- package/dist/cjs/parts/Pickers/Calendar/CalendarBody.js.map +1 -1
- package/dist/cjs/parts/Pickers/Calendar/CalendarContent.js +10 -11
- package/dist/cjs/parts/Pickers/Calendar/CalendarContent.js.map +1 -1
- package/dist/cjs/parts/Pickers/Calendar/CalendarDaysList.js +11 -20
- package/dist/cjs/parts/Pickers/Calendar/CalendarDaysList.js.map +1 -1
- package/dist/cjs/parts/Pickers/Calendar/CalendarFooter.js +1 -5
- package/dist/cjs/parts/Pickers/Calendar/CalendarFooter.js.map +1 -1
- package/dist/cjs/parts/Pickers/Calendar/CalendarHead.js +27 -36
- package/dist/cjs/parts/Pickers/Calendar/CalendarHead.js.map +1 -1
- package/dist/cjs/parts/Pickers/Calendar/CalendarIconTrigger.js +15 -12
- package/dist/cjs/parts/Pickers/Calendar/CalendarIconTrigger.js.map +1 -1
- package/dist/cjs/parts/Pickers/Calendar/CalendarMonthDays.js +9 -6
- package/dist/cjs/parts/Pickers/Calendar/CalendarMonthDays.js.map +1 -1
- package/dist/cjs/parts/Pickers/Calendar/CalendarWeekDays.js +12 -40
- package/dist/cjs/parts/Pickers/Calendar/CalendarWeekDays.js.map +1 -1
- package/dist/cjs/parts/Pickers/Calendar/CalendarWrapper.js +11 -8
- package/dist/cjs/parts/Pickers/Calendar/CalendarWrapper.js.map +1 -1
- package/dist/cjs/parts/Pickers/Calendar/Day.js +30 -24
- package/dist/cjs/parts/Pickers/Calendar/Day.js.map +1 -1
- package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.js +5 -17
- package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.js.map +1 -1
- package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js +12 -9
- package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js.map +1 -1
- package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js +8 -5
- package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js.map +1 -1
- package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +15 -12
- package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js.map +1 -1
- package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +11 -8
- package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js.map +1 -1
- package/dist/cjs/parts/Pickers/PickersIcons.js +5 -9
- package/dist/cjs/parts/Pickers/PickersIcons.js.map +1 -1
- package/dist/cjs/parts/Pickers/TimeWheel/HoursList.js +68 -72
- package/dist/cjs/parts/Pickers/TimeWheel/HoursList.js.map +1 -1
- package/dist/cjs/parts/Pickers/TimeWheel/MeridiemList.js +82 -86
- package/dist/cjs/parts/Pickers/TimeWheel/MeridiemList.js.map +1 -1
- package/dist/cjs/parts/Pickers/TimeWheel/MinutesList.js +73 -70
- package/dist/cjs/parts/Pickers/TimeWheel/MinutesList.js.map +1 -1
- package/dist/cjs/parts/Pickers/TimeWheel/TimeWheel.js +6 -18
- package/dist/cjs/parts/Pickers/TimeWheel/TimeWheel.js.map +1 -1
- package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelContent.js +18 -28
- package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelContent.js.map +1 -1
- package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelFooter.js +1 -5
- package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelFooter.js.map +1 -1
- package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +15 -12
- package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js.map +1 -1
- package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelWrapper.js +11 -8
- package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelWrapper.js.map +1 -1
- package/dist/cjs/parts/Pickers/TimeWheel/useKeyboardHandlers.js +7 -2
- package/dist/cjs/parts/Pickers/TimeWheel/useKeyboardHandlers.js.map +2 -2
- package/dist/cjs/parts/Styleds.js +2 -1
- package/dist/cjs/parts/Styleds.js.map +2 -2
- package/dist/cjs/parts/TimeInputs/HHInput.js +21 -18
- package/dist/cjs/parts/TimeInputs/HHInput.js.map +1 -1
- package/dist/cjs/parts/TimeInputs/MeridiemInput.js +20 -17
- package/dist/cjs/parts/TimeInputs/MeridiemInput.js.map +1 -1
- package/dist/cjs/parts/TimeInputs/MinutesInput.js +20 -17
- package/dist/cjs/parts/TimeInputs/MinutesInput.js.map +1 -1
- package/dist/cjs/parts/TimeInputs/TimeInputs.js +62 -61
- package/dist/cjs/parts/TimeInputs/TimeInputs.js.map +1 -1
- package/dist/esm/ControlledDateTimePicker.js +1 -4
- package/dist/esm/ControlledDateTimePicker.js.map +1 -1
- package/dist/esm/config/useGlobalKeyHandlers.js +11 -4
- package/dist/esm/config/useGlobalKeyHandlers.js.map +2 -2
- package/dist/esm/parts/ClearButton/ClearButton.js +19 -18
- package/dist/esm/parts/ClearButton/ClearButton.js.map +1 -1
- package/dist/esm/parts/ControlledDateTimePickerContent.js +9 -11
- package/dist/esm/parts/ControlledDateTimePickerContent.js.map +1 -1
- package/dist/esm/parts/DateInputs/DDInput.js +20 -17
- package/dist/esm/parts/DateInputs/DDInput.js.map +1 -1
- package/dist/esm/parts/DateInputs/DateInputs.js +63 -63
- package/dist/esm/parts/DateInputs/DateInputs.js.map +1 -1
- package/dist/esm/parts/DateInputs/MMInput.js +17 -14
- package/dist/esm/parts/DateInputs/MMInput.js.map +1 -1
- package/dist/esm/parts/DateInputs/YYYYInput.js +20 -17
- package/dist/esm/parts/DateInputs/YYYYInput.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/Calendar.js +6 -18
- package/dist/esm/parts/Pickers/Calendar/Calendar.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/CalendarBody.js +4 -11
- package/dist/esm/parts/Pickers/Calendar/CalendarBody.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/CalendarContent.js +10 -11
- package/dist/esm/parts/Pickers/Calendar/CalendarContent.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/CalendarDaysList.js +11 -20
- package/dist/esm/parts/Pickers/Calendar/CalendarDaysList.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/CalendarFooter.js +1 -5
- package/dist/esm/parts/Pickers/Calendar/CalendarFooter.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/CalendarHead.js +27 -36
- package/dist/esm/parts/Pickers/Calendar/CalendarHead.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/CalendarIconTrigger.js +15 -12
- package/dist/esm/parts/Pickers/Calendar/CalendarIconTrigger.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/CalendarMonthDays.js +9 -6
- package/dist/esm/parts/Pickers/Calendar/CalendarMonthDays.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/CalendarWeekDays.js +12 -40
- package/dist/esm/parts/Pickers/Calendar/CalendarWeekDays.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/CalendarWrapper.js +11 -8
- package/dist/esm/parts/Pickers/Calendar/CalendarWrapper.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/Day.js +30 -24
- package/dist/esm/parts/Pickers/Calendar/Day.js.map +1 -1
- package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.js +5 -17
- package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.js.map +1 -1
- package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js +12 -9
- package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js.map +1 -1
- package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js +8 -5
- package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js.map +1 -1
- package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +15 -12
- package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js.map +1 -1
- package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +11 -8
- package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js.map +1 -1
- package/dist/esm/parts/Pickers/PickersIcons.js +5 -9
- package/dist/esm/parts/Pickers/PickersIcons.js.map +1 -1
- package/dist/esm/parts/Pickers/TimeWheel/HoursList.js +68 -72
- package/dist/esm/parts/Pickers/TimeWheel/HoursList.js.map +1 -1
- package/dist/esm/parts/Pickers/TimeWheel/MeridiemList.js +82 -86
- package/dist/esm/parts/Pickers/TimeWheel/MeridiemList.js.map +1 -1
- package/dist/esm/parts/Pickers/TimeWheel/MinutesList.js +73 -70
- package/dist/esm/parts/Pickers/TimeWheel/MinutesList.js.map +1 -1
- package/dist/esm/parts/Pickers/TimeWheel/TimeWheel.js +6 -18
- package/dist/esm/parts/Pickers/TimeWheel/TimeWheel.js.map +1 -1
- package/dist/esm/parts/Pickers/TimeWheel/TimeWheelContent.js +18 -28
- package/dist/esm/parts/Pickers/TimeWheel/TimeWheelContent.js.map +1 -1
- package/dist/esm/parts/Pickers/TimeWheel/TimeWheelFooter.js +1 -5
- package/dist/esm/parts/Pickers/TimeWheel/TimeWheelFooter.js.map +1 -1
- package/dist/esm/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +15 -12
- package/dist/esm/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js.map +1 -1
- package/dist/esm/parts/Pickers/TimeWheel/TimeWheelWrapper.js +11 -8
- package/dist/esm/parts/Pickers/TimeWheel/TimeWheelWrapper.js.map +1 -1
- package/dist/esm/parts/Pickers/TimeWheel/useKeyboardHandlers.js +7 -2
- package/dist/esm/parts/Pickers/TimeWheel/useKeyboardHandlers.js.map +2 -2
- package/dist/esm/parts/Styleds.js +2 -1
- package/dist/esm/parts/Styleds.js.map +2 -2
- package/dist/esm/parts/TimeInputs/HHInput.js +21 -18
- package/dist/esm/parts/TimeInputs/HHInput.js.map +1 -1
- package/dist/esm/parts/TimeInputs/MeridiemInput.js +20 -17
- package/dist/esm/parts/TimeInputs/MeridiemInput.js.map +1 -1
- package/dist/esm/parts/TimeInputs/MinutesInput.js +20 -17
- package/dist/esm/parts/TimeInputs/MinutesInput.js.map +1 -1
- package/dist/esm/parts/TimeInputs/TimeInputs.js +62 -61
- package/dist/esm/parts/TimeInputs/TimeInputs.js.map +1 -1
- package/package.json +8 -8
|
@@ -37,78 +37,81 @@ const MinutesList = () => {
|
|
|
37
37
|
},
|
|
38
38
|
[currFocusDescriber, latestInteractionRegion, currMinutesBtnRef]
|
|
39
39
|
);
|
|
40
|
-
return /* @__PURE__ */ jsxs(StyledWheelList, {
|
|
41
|
-
children:
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
40
|
+
return /* @__PURE__ */ jsxs(StyledWheelList, { children: [
|
|
41
|
+
/* @__PURE__ */ jsx(StyledWheelListItem, { children: /* @__PURE__ */ jsx(
|
|
42
|
+
StyledWheelChangeTimeBtn,
|
|
43
|
+
{
|
|
44
|
+
"aria-label": "subtract one minute",
|
|
45
|
+
buttonType: "raw",
|
|
46
|
+
size: "m",
|
|
47
|
+
onClick: handlePrevMinute,
|
|
48
|
+
innerRef: prevMinutesBtnRef,
|
|
49
|
+
tabIndex: -1,
|
|
50
|
+
"data-testid": ControlledDateTimePickerDatatestid.TIMEWHEEL.PREV_MINUTE,
|
|
51
|
+
type: "button",
|
|
52
|
+
children: /* @__PURE__ */ jsx(ChevronSmallUp, { color: ["brand-primary", "700"] })
|
|
53
|
+
}
|
|
54
|
+
) }),
|
|
55
|
+
visibleMinutes.map((minutesString) => {
|
|
56
|
+
const key = `timewheel-minutes-${minutesString || ""}`;
|
|
57
|
+
if (!minutesString)
|
|
58
|
+
return /* @__PURE__ */ jsx(StyledWheelListItem, {}, key);
|
|
59
|
+
const currMinutesTimeString = `${currHourNum}:${minutesString} ${currMeridiem}`;
|
|
60
|
+
const isEmptyCurrValueCurrentListItem = !minutes && convertToPositiveNumberIfPossible(minutesString) === currMinuteNum;
|
|
61
|
+
const isCurrentListItem = isEmptyCurrValueCurrentListItem || minutes === minutesString;
|
|
62
|
+
const isDisabled = getIsDisabledTime(currMinutesTimeString);
|
|
63
|
+
const tabIndex = isCurrentListItem ? 0 : -1;
|
|
64
|
+
const btnProps = {
|
|
65
|
+
onKeyDown: isCurrentListItem ? handleCurrMinutesOnKeyDown : void 0,
|
|
66
|
+
innerRef: isCurrentListItem ? handleCurrMeridiemRef : void 0
|
|
67
|
+
};
|
|
68
|
+
const styledProps = { isCurrentListItem, isDisabled };
|
|
69
|
+
return /* @__PURE__ */ jsx(
|
|
70
|
+
StyledWheelListItem,
|
|
71
|
+
{
|
|
72
72
|
isCurrentListItem,
|
|
73
73
|
selected: convertToPositiveNumberIfPossible(minutesString) === currMinuteNum,
|
|
74
|
-
children: /* @__PURE__ */ jsx(
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
74
|
+
children: /* @__PURE__ */ jsx(
|
|
75
|
+
StyledTimeBtn,
|
|
76
|
+
{
|
|
77
|
+
...styledProps,
|
|
78
|
+
"data-testid": ControlledDateTimePickerDatatestid.TIMEWHEEL[isCurrentListItem ? "CURRENT_MINUTE" : "MINUTE"],
|
|
79
|
+
selected: minutes.length === 2 && convertToPositiveNumberIfPossible(minutesString) === currMinuteNum,
|
|
80
|
+
"aria-label": `${minutesString} minutes`,
|
|
81
|
+
"aria-disabled": isDisabled,
|
|
82
|
+
buttonType: "raw",
|
|
83
|
+
size: "m",
|
|
84
|
+
onClick: (e) => handleTimeWheelBtnChangeMinutes(minutesString, e),
|
|
85
|
+
tabIndex,
|
|
86
|
+
role: "spinbutton",
|
|
87
|
+
"aria-valuemax": 59,
|
|
88
|
+
"aria-valuemin": 0,
|
|
89
|
+
"aria-valuenow": currMinuteNum,
|
|
90
|
+
"aria-valuetext": `${minutesString} minutes`,
|
|
91
|
+
type: "button",
|
|
92
|
+
...btnProps,
|
|
93
|
+
children: minutesString
|
|
94
|
+
}
|
|
95
|
+
)
|
|
96
|
+
},
|
|
97
|
+
key
|
|
98
|
+
);
|
|
99
|
+
}),
|
|
100
|
+
/* @__PURE__ */ jsx(StyledWheelListItem, { children: /* @__PURE__ */ jsx(
|
|
101
|
+
StyledWheelChangeTimeBtn,
|
|
102
|
+
{
|
|
103
|
+
"aria-label": "add one minute",
|
|
104
|
+
buttonType: "raw",
|
|
105
|
+
size: "m",
|
|
106
|
+
onClick: handleNextMinute,
|
|
107
|
+
innerRef: nextMinutesBtnRef,
|
|
108
|
+
"data-testid": ControlledDateTimePickerDatatestid.TIMEWHEEL.NEXT_MINUTE,
|
|
109
|
+
tabIndex: -1,
|
|
110
|
+
type: "button",
|
|
111
|
+
children: /* @__PURE__ */ jsx(ChevronSmallDown, { color: ["brand-primary", "700"] })
|
|
112
|
+
}
|
|
113
|
+
) })
|
|
114
|
+
] });
|
|
112
115
|
};
|
|
113
116
|
var MinutesList_default = MinutesList;
|
|
114
117
|
export {
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/Pickers/TimeWheel/MinutesList.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\nimport React, { useContext, useCallback } from 'react';\nimport { ChevronSmallUp, ChevronSmallDown } from '@elliemae/ds-icons';\nimport { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { convertToPositiveNumberIfPossible } from '../../../utils/numberHelpers';\nimport { StyledWheelList, StyledWheelListItem, StyledTimeBtn, StyledWheelChangeTimeBtn } from './Styleds';\nimport { TimeWheelContext } from './TimeWheelContext';\n\nexport const MinutesList = (): JSX.Element => {\n const {\n currHourNum,\n currMinuteNum,\n currMeridiem,\n visibleMinutes,\n handlePrevMinute,\n handleNextMinute,\n handleTimeWheelBtnChangeMinutes,\n handleCurrMinutesOnKeyDown,\n } = useContext(TimeWheelContext);\n const {\n prevMinutesBtnRef,\n currMinutesBtnRef,\n nextMinutesBtnRef,\n getIsDisabledTime,\n minutes,\n currFocusDescriber,\n latestInteractionRegion,\n } = useContext(ControlledDateTimePickerContext);\n const handleCurrMeridiemRef = useCallback(\n (ButtonDomNode: HTMLButtonElement) => {\n setTimeout(() => {\n currMinutesBtnRef.current = ButtonDomNode;\n if (latestInteractionRegion === 'timewheel' && currFocusDescriber === 'timewheel-curr-minute')\n ButtonDomNode?.focus?.();\n });\n },\n [currFocusDescriber, latestInteractionRegion, currMinutesBtnRef],\n );\n return (\n <StyledWheelList>\n <StyledWheelListItem>\n <StyledWheelChangeTimeBtn\n aria-label=\"subtract one minute\"\n buttonType=\"raw\"\n size=\"m\"\n onClick={handlePrevMinute}\n innerRef={prevMinutesBtnRef}\n tabIndex={-1}\n data-testid={ControlledDateTimePickerDatatestid.TIMEWHEEL.PREV_MINUTE}\n type=\"button\"\n >\n <ChevronSmallUp color={['brand-primary', '700']} />\n </StyledWheelChangeTimeBtn>\n </StyledWheelListItem>\n {visibleMinutes.map((minutesString) => {\n const key = `timewheel-minutes-${minutesString || ''}`;\n if (!minutesString) return <StyledWheelListItem key={key} />;\n const currMinutesTimeString = `${currHourNum}:${minutesString} ${currMeridiem}`;\n const isEmptyCurrValueCurrentListItem =\n !minutes && convertToPositiveNumberIfPossible(minutesString) === currMinuteNum;\n const isCurrentListItem = isEmptyCurrValueCurrentListItem || minutes === minutesString;\n const isDisabled = getIsDisabledTime(currMinutesTimeString);\n\n const tabIndex = isCurrentListItem ? 0 : -1;\n const btnProps = {\n onKeyDown: isCurrentListItem ? handleCurrMinutesOnKeyDown : undefined,\n innerRef: isCurrentListItem ? handleCurrMeridiemRef : undefined,\n };\n const styledProps = { isCurrentListItem, isDisabled };\n return (\n <StyledWheelListItem\n key={key}\n isCurrentListItem={isCurrentListItem}\n selected={convertToPositiveNumberIfPossible(minutesString) === currMinuteNum}\n >\n <StyledTimeBtn\n {...styledProps}\n data-testid={\n ControlledDateTimePickerDatatestid.TIMEWHEEL[isCurrentListItem ? 'CURRENT_MINUTE' : 'MINUTE']\n }\n selected={minutes.length === 2 && convertToPositiveNumberIfPossible(minutesString) === currMinuteNum}\n aria-label={`${minutesString} minutes`}\n aria-disabled={isDisabled}\n buttonType=\"raw\"\n size=\"m\"\n onClick={(e: React.MouseEvent<HTMLButtonElement>) => handleTimeWheelBtnChangeMinutes(minutesString, e)}\n tabIndex={tabIndex}\n role=\"spinbutton\"\n aria-valuemax={59}\n aria-valuemin={0}\n aria-valuenow={currMinuteNum}\n aria-valuetext={`${minutesString} minutes`}\n type=\"button\"\n {...btnProps}\n >\n {minutesString}\n </StyledTimeBtn>\n </StyledWheelListItem>\n );\n })}\n <StyledWheelListItem>\n <StyledWheelChangeTimeBtn\n aria-label=\"add one minute\"\n buttonType=\"raw\"\n size=\"m\"\n onClick={handleNextMinute}\n innerRef={nextMinutesBtnRef}\n data-testid={ControlledDateTimePickerDatatestid.TIMEWHEEL.NEXT_MINUTE}\n tabIndex={-1}\n type=\"button\"\n >\n <ChevronSmallDown color={['brand-primary', '700']} />\n </StyledWheelChangeTimeBtn>\n </StyledWheelListItem>\n </StyledWheelList>\n );\n};\n\nexport default MinutesList;\n"],
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACwCnB,SAYM,KAZN;AAvCJ,SAAgB,YAAY,mBAAmB;AAC/C,SAAS,gBAAgB,wBAAwB;AACjD,SAAS,0CAA0C;AACnD,SAAS,uCAAuC;AAChD,SAAS,yCAAyC;AAClD,SAAS,iBAAiB,qBAAqB,eAAe,gCAAgC;AAC9F,SAAS,wBAAwB;AAE1B,MAAM,cAAc,MAAmB;AAC5C,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,WAAW,gBAAgB;AAC/B,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,WAAW,+BAA+B;AAC9C,QAAM,wBAAwB;AAAA,IAC5B,CAAC,kBAAqC;AACpC,iBAAW,MAAM;AACf,0BAAkB,UAAU;AAC5B,YAAI,4BAA4B,eAAe,uBAAuB;AACpE,yBAAe,QAAQ;AAAA,MAC3B,CAAC;AAAA,IACH;AAAA,IACA,CAAC,oBAAoB,yBAAyB,iBAAiB;AAAA,EACjE;AACA,SACE,qBAAC;AAAA,
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -8,29 +8,17 @@ import { useConfigTimePickerCTX } from "./useConfigTimePickerCTX";
|
|
|
8
8
|
import { ControlledDateTimePickerContext } from "../../../ControlledDateTimePickerCTX";
|
|
9
9
|
const WrappedTimeWheelContext = ({ children }) => {
|
|
10
10
|
const ctx = useConfigTimePickerCTX();
|
|
11
|
-
return /* @__PURE__ */ jsx(TimeWheelContext.Provider, {
|
|
12
|
-
value: ctx,
|
|
13
|
-
children
|
|
14
|
-
});
|
|
11
|
+
return /* @__PURE__ */ jsx(TimeWheelContext.Provider, { value: ctx, children });
|
|
15
12
|
};
|
|
16
13
|
const TimeWheelContent = () => {
|
|
17
14
|
const { showTimePicker, handleMenuWrapperKeyDown } = useContext(TimeWheelContext);
|
|
18
15
|
const { isControllerOnly } = useContext(ControlledDateTimePickerContext);
|
|
19
|
-
return /* @__PURE__ */ jsxs(Fragment, {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
children: /* @__PURE__ */ jsx("div", {
|
|
24
|
-
onKeyDown: handleMenuWrapperKeyDown,
|
|
25
|
-
children: /* @__PURE__ */ jsx(TimeWheelWrapper, {})
|
|
26
|
-
})
|
|
27
|
-
}) : null
|
|
28
|
-
]
|
|
29
|
-
});
|
|
16
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
17
|
+
isControllerOnly ? null : /* @__PURE__ */ jsx(TimeWheelIconTrigger, {}),
|
|
18
|
+
isControllerOnly || showTimePicker ? /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx("div", { onKeyDown: handleMenuWrapperKeyDown, children: /* @__PURE__ */ jsx(TimeWheelWrapper, {}) }) }) : null
|
|
19
|
+
] });
|
|
30
20
|
};
|
|
31
|
-
const TimeWheel = () => /* @__PURE__ */ jsx(WrappedTimeWheelContext, {
|
|
32
|
-
children: /* @__PURE__ */ jsx(TimeWheelContent, {})
|
|
33
|
-
});
|
|
21
|
+
const TimeWheel = () => /* @__PURE__ */ jsx(WrappedTimeWheelContext, { children: /* @__PURE__ */ jsx(TimeWheelContent, {}) });
|
|
34
22
|
export {
|
|
35
23
|
TimeWheel,
|
|
36
24
|
WrappedTimeWheelContext
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/Pickers/TimeWheel/TimeWheel.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-len */\nimport React, { useContext } from 'react';\nimport { TimeWheelIconTrigger } from './TimeWheelIconTrigger';\nimport { TimeWheelWrapper } from './TimeWheelWrapper';\nimport { TimeWheelContext } from './TimeWheelContext';\nimport { useConfigTimePickerCTX } from './useConfigTimePickerCTX';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\n\n// the Context is Reused in CalendarWithTimeWheel\nexport const WrappedTimeWheelContext = ({ children }: { children: JSX.Element }) => {\n const ctx = useConfigTimePickerCTX();\n return <TimeWheelContext.Provider value={ctx}>{children}</TimeWheelContext.Provider>;\n};\n\nconst TimeWheelContent = () => {\n const { showTimePicker, handleMenuWrapperKeyDown } = useContext(TimeWheelContext);\n const { isControllerOnly } = useContext(ControlledDateTimePickerContext);\n\n return (\n <>\n {isControllerOnly ? null : <TimeWheelIconTrigger />}\n {isControllerOnly || showTimePicker ? (\n <>\n {/* The <div> element is catching the \"Escape\" key to close the calendar, there is no valid aria role for this */}\n {/* https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/no-static-element-interactions.md#case-the-event-handler-is-only-being-used-to-capture-bubbled-events */}\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}\n <div onKeyDown={handleMenuWrapperKeyDown}>\n <TimeWheelWrapper />\n </div>\n </>\n ) : null}\n </>\n );\n};\n// we wrap in context in a separate statement so we can use the useContext and be sure it's correctly initialized\nexport const TimeWheel = (): JSX.Element => (\n <WrappedTimeWheelContext>\n <TimeWheelContent />\n </WrappedTimeWheelContext>\n);\n"],
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACWd,SAWD,UAXC,KAQL,YARK;AAVT,SAAgB,kBAAkB;AAClC,SAAS,4BAA4B;AACrC,SAAS,wBAAwB;AACjC,SAAS,wBAAwB;AACjC,SAAS,8BAA8B;AACvC,SAAS,uCAAuC;AAGzC,MAAM,0BAA0B,CAAC,EAAE,SAAS,MAAiC;AAClF,QAAM,MAAM,uBAAuB;AACnC,SAAO,oBAAC,iBAAiB,UAAjB
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACWd,SAWD,UAXC,KAQL,YARK;AAVT,SAAgB,kBAAkB;AAClC,SAAS,4BAA4B;AACrC,SAAS,wBAAwB;AACjC,SAAS,wBAAwB;AACjC,SAAS,8BAA8B;AACvC,SAAS,uCAAuC;AAGzC,MAAM,0BAA0B,CAAC,EAAE,SAAS,MAAiC;AAClF,QAAM,MAAM,uBAAuB;AACnC,SAAO,oBAAC,iBAAiB,UAAjB,EAA0B,OAAO,KAAM,UAAS;AAC1D;AAEA,MAAM,mBAAmB,MAAM;AAC7B,QAAM,EAAE,gBAAgB,yBAAyB,IAAI,WAAW,gBAAgB;AAChF,QAAM,EAAE,iBAAiB,IAAI,WAAW,+BAA+B;AAEvE,SACE,iCACG;AAAA,uBAAmB,OAAO,oBAAC,wBAAqB;AAAA,IAChD,oBAAoB,iBACnB,gCAIE,8BAAC,SAAI,WAAW,0BACd,8BAAC,oBAAiB,GACpB,GACF,IACE;AAAA,KACN;AAEJ;AAEO,MAAM,YAAY,MACvB,oBAAC,2BACC,8BAAC,oBAAiB,GACpB;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -15,37 +15,27 @@ import { MeridiemList } from "./MeridiemList";
|
|
|
15
15
|
import { TimeWheelFooter } from "./TimeWheelFooter";
|
|
16
16
|
const TimeWheelContent = React2.memo(() => {
|
|
17
17
|
const { isControllerOnly, hours, minutes, meridiem } = useContext(ControlledDateTimePickerContext);
|
|
18
|
-
return /* @__PURE__ */ jsxs(
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
children: `${hours || "__"}:${minutes || "__"} ${meridiem || "__"}`
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
/* @__PURE__ */ jsx("div", {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
/* @__PURE__ */ jsx("div", {
|
|
32
|
-
children: "M"
|
|
33
|
-
}),
|
|
34
|
-
/* @__PURE__ */ jsx("div", {
|
|
35
|
-
children: "A"
|
|
36
|
-
})
|
|
37
|
-
]
|
|
38
|
-
}),
|
|
39
|
-
/* @__PURE__ */ jsxs(StyledTimePickerWheelWrapper, {
|
|
40
|
-
children: [
|
|
18
|
+
return /* @__PURE__ */ jsxs(
|
|
19
|
+
StyledTimePickerContainer,
|
|
20
|
+
{
|
|
21
|
+
isControllerOnly,
|
|
22
|
+
"data-testid": ControlledDateTimePickerDatatestid.CONTROLLER_COMPONENT.TIMEWHEEL,
|
|
23
|
+
children: [
|
|
24
|
+
/* @__PURE__ */ jsx(StyledTimePickerHead, { "data-testid": ControlledDateTimePickerDatatestid.TIMEWHEEL.HEADER_LABEL, children: `${hours || "__"}:${minutes || "__"} ${meridiem || "__"}` }),
|
|
25
|
+
/* @__PURE__ */ jsxs(StyledTimePickerWheelsLegend, { children: [
|
|
26
|
+
/* @__PURE__ */ jsx("div", { children: "H" }),
|
|
27
|
+
/* @__PURE__ */ jsx("div", { children: "M" }),
|
|
28
|
+
/* @__PURE__ */ jsx("div", { children: "A" })
|
|
29
|
+
] }),
|
|
30
|
+
/* @__PURE__ */ jsxs(StyledTimePickerWheelWrapper, { children: [
|
|
41
31
|
/* @__PURE__ */ jsx(HoursList, {}),
|
|
42
32
|
/* @__PURE__ */ jsx(MinutesList, {}),
|
|
43
33
|
/* @__PURE__ */ jsx(MeridiemList, {})
|
|
44
|
-
]
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
34
|
+
] }),
|
|
35
|
+
/* @__PURE__ */ jsx(TimeWheelFooter, {})
|
|
36
|
+
]
|
|
37
|
+
}
|
|
38
|
+
);
|
|
49
39
|
});
|
|
50
40
|
export {
|
|
51
41
|
TimeWheelContent
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/Pickers/TimeWheel/TimeWheelContent.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useContext } from 'react';\nimport { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport {\n StyledTimePickerContainer,\n StyledTimePickerHead,\n StyledTimePickerWheelsLegend,\n StyledTimePickerWheelWrapper,\n} from './Styleds';\nimport { HoursList } from './HoursList';\nimport { MinutesList } from './MinutesList';\nimport { MeridiemList } from './MeridiemList';\nimport { TimeWheelFooter } from './TimeWheelFooter';\n\nexport const TimeWheelContent = React.memo(() => {\n const { isControllerOnly, hours, minutes, meridiem } = useContext(ControlledDateTimePickerContext);\n return (\n <StyledTimePickerContainer\n isControllerOnly={isControllerOnly}\n data-testid={ControlledDateTimePickerDatatestid.CONTROLLER_COMPONENT.TIMEWHEEL}\n >\n <StyledTimePickerHead data-testid={ControlledDateTimePickerDatatestid.TIMEWHEEL.HEADER_LABEL}>{`${\n hours || '__'\n }:${minutes || '__'} ${meridiem || '__'}`}</StyledTimePickerHead>\n <StyledTimePickerWheelsLegend>\n <div>H</div>\n <div>M</div>\n <div>A</div>\n </StyledTimePickerWheelsLegend>\n <StyledTimePickerWheelWrapper>\n <HoursList />\n <MinutesList />\n <MeridiemList />\n </StyledTimePickerWheelWrapper>\n <TimeWheelFooter />\n </StyledTimePickerContainer>\n );\n});\n"],
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACqBjB,cAGA,YAHA;AArBN,OAAOA,UAAS,kBAAkB;AAClC,SAAS,0CAA0C;AACnD,SAAS,uCAAuC;AAChD;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,iBAAiB;AAC1B,SAAS,mBAAmB;AAC5B,SAAS,oBAAoB;AAC7B,SAAS,uBAAuB;AAEzB,MAAM,mBAAmBA,OAAM,KAAK,MAAM;AAC/C,QAAM,EAAE,kBAAkB,OAAO,SAAS,SAAS,IAAI,WAAW,+BAA+B;AACjG,SACE,
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACqBjB,cAGA,YAHA;AArBN,OAAOA,UAAS,kBAAkB;AAClC,SAAS,0CAA0C;AACnD,SAAS,uCAAuC;AAChD;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,iBAAiB;AAC1B,SAAS,mBAAmB;AAC5B,SAAS,oBAAoB;AAC7B,SAAS,uBAAuB;AAEzB,MAAM,mBAAmBA,OAAM,KAAK,MAAM;AAC/C,QAAM,EAAE,kBAAkB,OAAO,SAAS,SAAS,IAAI,WAAW,+BAA+B;AACjG,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,eAAa,mCAAmC,qBAAqB;AAAA,MAErE;AAAA,4BAAC,wBAAqB,eAAa,mCAAmC,UAAU,cAAe,aAC7F,SAAS,QACP,WAAW,QAAQ,YAAY,QAAO;AAAA,QAC1C,qBAAC,gCACC;AAAA,8BAAC,SAAI,eAAC;AAAA,UACN,oBAAC,SAAI,eAAC;AAAA,UACN,oBAAC,SAAI,eAAC;AAAA,WACR;AAAA,QACA,qBAAC,gCACC;AAAA,8BAAC,aAAU;AAAA,UACX,oBAAC,eAAY;AAAA,UACb,oBAAC,gBAAa;AAAA,WAChB;AAAA,QACA,oBAAC,mBAAgB;AAAA;AAAA;AAAA,EACnB;AAEJ,CAAC;",
|
|
6
6
|
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -10,11 +10,7 @@ const TimeWheelFooter = () => {
|
|
|
10
10
|
isWithCalendarToo
|
|
11
11
|
} = useContext(ControlledDateTimePickerContext);
|
|
12
12
|
if (!isWithCalendarToo && pickerFooterMsg !== void 0 && hasError)
|
|
13
|
-
return /* @__PURE__ */ jsx(TimeWheelFooterMessage, {
|
|
14
|
-
role: "alert",
|
|
15
|
-
"data-testid": ControlledDateTimePickerDatatestid.FOOTERS.TIMEWHEEL,
|
|
16
|
-
children: pickerFooterMsg
|
|
17
|
-
});
|
|
13
|
+
return /* @__PURE__ */ jsx(TimeWheelFooterMessage, { role: "alert", "data-testid": ControlledDateTimePickerDatatestid.FOOTERS.TIMEWHEEL, children: pickerFooterMsg });
|
|
18
14
|
return null;
|
|
19
15
|
};
|
|
20
16
|
export {
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/Pickers/TimeWheel/TimeWheelFooter.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useContext } from 'react';\nimport { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { TimeWheelFooterMessage } from './Styleds';\n\nexport const TimeWheelFooter: React.ComponentType = () => {\n const {\n props: { pickerFooterMsg, hasError },\n isWithCalendarToo,\n } = useContext(ControlledDateTimePickerContext);\n if (!isWithCalendarToo && pickerFooterMsg !== undefined && hasError)\n return (\n <TimeWheelFooterMessage role=\"alert\" data-testid={ControlledDateTimePickerDatatestid.FOOTERS.TIMEWHEEL}>\n {pickerFooterMsg}\n </TimeWheelFooterMessage>\n );\n return null;\n};\n"],
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACYjB;AAZN,SAAgB,kBAAkB;AAClC,SAAS,0CAA0C;AACnD,SAAS,uCAAuC;AAChD,SAAS,8BAA8B;AAEhC,MAAM,kBAAuC,MAAM;AACxD,QAAM;AAAA,IACJ,OAAO,EAAE,iBAAiB,SAAS;AAAA,IACnC;AAAA,EACF,IAAI,WAAW,+BAA+B;AAC9C,MAAI,CAAC,qBAAqB,oBAAoB,UAAa;AACzD,WACE,oBAAC
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACYjB;AAZN,SAAgB,kBAAkB;AAClC,SAAS,0CAA0C;AACnD,SAAS,uCAAuC;AAChD,SAAS,8BAA8B;AAEhC,MAAM,kBAAuC,MAAM;AACxD,QAAM;AAAA,IACJ,OAAO,EAAE,iBAAiB,SAAS;AAAA,IACnC;AAAA,EACF,IAAI,WAAW,+BAA+B;AAC9C,MAAI,CAAC,qBAAqB,oBAAoB,UAAa;AACzD,WACE,oBAAC,0BAAuB,MAAK,SAAQ,eAAa,mCAAmC,QAAQ,WAC1F,2BACH;AAEJ,SAAO;AACT;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -14,18 +14,21 @@ const TimeWheelIconTrigger = () => {
|
|
|
14
14
|
ariaCurrentValueForInputs
|
|
15
15
|
} = useContext(ControlledDateTimePickerContext);
|
|
16
16
|
return useMemo(
|
|
17
|
-
() => /* @__PURE__ */ jsx(
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
17
|
+
() => /* @__PURE__ */ jsx(
|
|
18
|
+
StyledIconTriggerButton,
|
|
19
|
+
{
|
|
20
|
+
"aria-label": `time picker context menu trigger, ${ariaCurrentValueForInputs}`,
|
|
21
|
+
buttonType: "icon",
|
|
22
|
+
size: BUTTON_SIZES.M,
|
|
23
|
+
innerRef: handleSetTriggerRef,
|
|
24
|
+
onClick: handleToggleTimePicker,
|
|
25
|
+
onKeyDown: handlePickerIconKeyDown,
|
|
26
|
+
"data-testid": ControlledDateTimePickerDatatestid.PICKER_ICONS.TIMEWHEEL,
|
|
27
|
+
disabled,
|
|
28
|
+
type: "button",
|
|
29
|
+
children: /* @__PURE__ */ jsx(RecentDocuments, {})
|
|
30
|
+
}
|
|
31
|
+
),
|
|
29
32
|
[ariaCurrentValueForInputs, disabled, handlePickerIconKeyDown, handleSetTriggerRef, handleToggleTimePicker]
|
|
30
33
|
);
|
|
31
34
|
};
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/Pickers/TimeWheel/TimeWheelIconTrigger.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useContext, useMemo } from 'react';\nimport { BUTTON_SIZES } from '@elliemae/ds-button';\nimport { RecentDocuments } from '@elliemae/ds-icons';\nimport { TimeWheelContext } from './TimeWheelContext';\nimport { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { StyledIconTriggerButton } from './Styleds';\n\n// we memoize the Icon for maximum optimization\n// this is particularly useful due to how usePopper needs to check the references\n// since references are saved in a immutable way, we make sure to shortcircuit useless-re-renders\nexport const TimeWheelIconTrigger = (): JSX.Element => {\n const { handleSetTriggerRef, handleToggleTimePicker, handlePickerIconKeyDown } = useContext(TimeWheelContext);\n const {\n props: { disabled },\n ariaCurrentValueForInputs,\n } = useContext(ControlledDateTimePickerContext);\n return useMemo(\n () => (\n <StyledIconTriggerButton\n aria-label={`time picker context menu trigger, ${ariaCurrentValueForInputs}`}\n buttonType=\"icon\"\n size={BUTTON_SIZES.M}\n innerRef={handleSetTriggerRef}\n onClick={handleToggleTimePicker}\n onKeyDown={handlePickerIconKeyDown}\n data-testid={ControlledDateTimePickerDatatestid.PICKER_ICONS.TIMEWHEEL}\n disabled={disabled}\n type=\"button\"\n >\n <RecentDocuments />\n </StyledIconTriggerButton>\n ),\n [ariaCurrentValueForInputs, disabled, handlePickerIconKeyDown, handleSetTriggerRef, handleToggleTimePicker],\n );\n};\n"],
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;AC8Bf;AA9BR,SAAgB,YAAY,eAAe;AAC3C,SAAS,oBAAoB;AAC7B,SAAS,uBAAuB;AAChC,SAAS,wBAAwB;AACjC,SAAS,0CAA0C;AACnD,SAAS,uCAAuC;AAChD,SAAS,+BAA+B;AAKjC,MAAM,uBAAuB,MAAmB;AACrD,QAAM,EAAE,qBAAqB,wBAAwB,wBAAwB,IAAI,WAAW,gBAAgB;AAC5G,QAAM;AAAA,IACJ,OAAO,EAAE,SAAS;AAAA,IAClB;AAAA,EACF,IAAI,WAAW,+BAA+B;AAC9C,SAAO;AAAA,IACL,MACE,
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;AC8Bf;AA9BR,SAAgB,YAAY,eAAe;AAC3C,SAAS,oBAAoB;AAC7B,SAAS,uBAAuB;AAChC,SAAS,wBAAwB;AACjC,SAAS,0CAA0C;AACnD,SAAS,uCAAuC;AAChD,SAAS,+BAA+B;AAKjC,MAAM,uBAAuB,MAAmB;AACrD,QAAM,EAAE,qBAAqB,wBAAwB,wBAAwB,IAAI,WAAW,gBAAgB;AAC5G,QAAM;AAAA,IACJ,OAAO,EAAE,SAAS;AAAA,IAClB;AAAA,EACF,IAAI,WAAW,+BAA+B;AAC9C,SAAO;AAAA,IACL,MACE;AAAA,MAAC;AAAA;AAAA,QACC,cAAY,qCAAqC;AAAA,QACjD,YAAW;AAAA,QACX,MAAM,aAAa;AAAA,QACnB,UAAU;AAAA,QACV,SAAS;AAAA,QACT,WAAW;AAAA,QACX,eAAa,mCAAmC,aAAa;AAAA,QAC7D;AAAA,QACA,MAAK;AAAA,QAEL,8BAAC,mBAAgB;AAAA;AAAA,IACnB;AAAA,IAEF,CAAC,2BAA2B,UAAU,yBAAyB,qBAAqB,sBAAsB;AAAA,EAC5G;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -11,14 +11,17 @@ const TimeWheelWrapper = () => {
|
|
|
11
11
|
const { isControllerOnly } = useContext(ControlledDateTimePickerContext);
|
|
12
12
|
if (isControllerOnly)
|
|
13
13
|
return /* @__PURE__ */ jsx(TimeWheelContent, {});
|
|
14
|
-
return /* @__PURE__ */ jsx(
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
14
|
+
return /* @__PURE__ */ jsx(
|
|
15
|
+
DSPopperJS,
|
|
16
|
+
{
|
|
17
|
+
showPopover: true,
|
|
18
|
+
"data-testid": ControlledDateTimePickerDatatestid.CONTEXTUAL_MENU.TIMEWHEEL,
|
|
19
|
+
referenceElement,
|
|
20
|
+
withoutArrow: true,
|
|
21
|
+
onClickOutside: closeTimePicker,
|
|
22
|
+
children: /* @__PURE__ */ jsx(TimeWheelContent, {})
|
|
23
|
+
}
|
|
24
|
+
);
|
|
22
25
|
};
|
|
23
26
|
export {
|
|
24
27
|
TimeWheelWrapper
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/Pickers/TimeWheel/TimeWheelWrapper.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useContext } from 'react';\nimport { DSPopperJS } from '@elliemae/ds-popperjs';\nimport { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { TimeWheelContent } from './TimeWheelContent';\nimport { TimeWheelContext } from './TimeWheelContext';\n\nexport const TimeWheelWrapper = (): JSX.Element => {\n const { referenceElement, closeTimePicker } = useContext(TimeWheelContext);\n const { isControllerOnly } = useContext(ControlledDateTimePickerContext);\n if (isControllerOnly) return <TimeWheelContent />;\n return (\n <DSPopperJS\n showPopover\n data-testid={ControlledDateTimePickerDatatestid.CONTEXTUAL_MENU.TIMEWHEEL}\n referenceElement={referenceElement}\n withoutArrow\n onClickOutside={closeTimePicker}\n >\n <TimeWheelContent />\n </DSPopperJS>\n );\n};\n"],
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACUQ;AAV/B,SAAgB,kBAAkB;AAClC,SAAS,kBAAkB;AAC3B,SAAS,0CAA0C;AACnD,SAAS,uCAAuC;AAChD,SAAS,wBAAwB;AACjC,SAAS,wBAAwB;AAE1B,MAAM,mBAAmB,MAAmB;AACjD,QAAM,EAAE,kBAAkB,gBAAgB,IAAI,WAAW,gBAAgB;AACzE,QAAM,EAAE,iBAAiB,IAAI,WAAW,+BAA+B;AACvE,MAAI;AAAkB,WAAO,oBAAC,oBAAiB;AAC/C,SACE,
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACUQ;AAV/B,SAAgB,kBAAkB;AAClC,SAAS,kBAAkB;AAC3B,SAAS,0CAA0C;AACnD,SAAS,uCAAuC;AAChD,SAAS,wBAAwB;AACjC,SAAS,wBAAwB;AAE1B,MAAM,mBAAmB,MAAmB;AACjD,QAAM,EAAE,kBAAkB,gBAAgB,IAAI,WAAW,gBAAgB;AACzE,QAAM,EAAE,iBAAiB,IAAI,WAAW,+BAA+B;AACvE,MAAI;AAAkB,WAAO,oBAAC,oBAAiB;AAC/C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAW;AAAA,MACX,eAAa,mCAAmC,gBAAgB;AAAA,MAChE;AAAA,MACA,cAAY;AAAA,MACZ,gBAAgB;AAAA,MAEhB,8BAAC,oBAAiB;AAAA;AAAA,EACpB;AAEJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -15,7 +15,8 @@ const useKeyboardHandlers = ({ currentDisplayedTimeWheelLogic }) => {
|
|
|
15
15
|
trackFocusTimewheelCurrMeridiem,
|
|
16
16
|
trackFocusFirstSegment,
|
|
17
17
|
trackFocusMeridiemInput,
|
|
18
|
-
trackFocusYearInput
|
|
18
|
+
trackFocusYearInput,
|
|
19
|
+
trackFocusCalendarMetafocusedDay
|
|
19
20
|
} = useContext(ControlledDateTimePickerContext);
|
|
20
21
|
const onHomeKeyDownInsideTimeWheel = useCallback(() => {
|
|
21
22
|
if (isWithCalendarToo)
|
|
@@ -85,6 +86,9 @@ const useKeyboardHandlers = ({ currentDisplayedTimeWheelLogic }) => {
|
|
|
85
86
|
trackFocusTimewheelCurrMeridiem();
|
|
86
87
|
}
|
|
87
88
|
}
|
|
89
|
+
if (key === "Tab" && shiftKey && isWithCalendarToo) {
|
|
90
|
+
trackFocusCalendarMetafocusedDay();
|
|
91
|
+
}
|
|
88
92
|
},
|
|
89
93
|
[
|
|
90
94
|
handleNextHour,
|
|
@@ -95,7 +99,8 @@ const useKeyboardHandlers = ({ currentDisplayedTimeWheelLogic }) => {
|
|
|
95
99
|
onHomeKeyDownInsideTimeWheel,
|
|
96
100
|
trackFocusTimewheelCurrHour,
|
|
97
101
|
trackFocusTimewheelCurrMeridiem,
|
|
98
|
-
trackFocusTimewheelCurrMinute
|
|
102
|
+
trackFocusTimewheelCurrMinute,
|
|
103
|
+
trackFocusCalendarMetafocusedDay
|
|
99
104
|
]
|
|
100
105
|
);
|
|
101
106
|
const handleCurrMinutesOnKeyDown = useCallback(
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/Pickers/TimeWheel/useKeyboardHandlers.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable @typescript-eslint/indent */\n/* eslint-disable complexity */\n/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport { useMemo, useCallback, useContext } from 'react';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport type { DSControlledDateTimePickerInternalsT } from '../../../sharedTypes';\nimport type { useCurrentDisplayedWheelsLogic } from './useCurrentDisplayedWheelsLogic';\ninterface UseKeyboardHandlersArgs {\n currentDisplayedTimeWheelLogic: ReturnType<typeof useCurrentDisplayedWheelsLogic>;\n}\ninterface KeyboardHandlersT {\n handleCurrHourOnKeyDown: (e: React.KeyboardEvent) => void;\n handleCurrMinutesOnKeyDown: (e: React.KeyboardEvent) => void;\n handleCurrMeridiemOnKeyDown: (e: React.KeyboardEvent) => void;\n handlePickerIconKeyDown: (e: React.KeyboardEvent<HTMLButtonElement>) => void;\n}\nexport const useKeyboardHandlers = ({ currentDisplayedTimeWheelLogic }: UseKeyboardHandlersArgs): KeyboardHandlersT => {\n const { handlePrevHour, handleNextHour, handlePrevMinute, handleNextMinute, handleTimeWheelBtnChangeMeridiem } =\n currentDisplayedTimeWheelLogic;\n const {\n withAnyInputs,\n isWithTimeInputs,\n isWithDateInputs,\n isWithCalendarToo,\n isControllerOnly,\n\n trackFocusCalendarPrevMonth,\n trackFocusTimewheelCurrHour,\n trackFocusTimewheelCurrMinute,\n trackFocusTimewheelCurrMeridiem,\n trackFocusFirstSegment,\n trackFocusMeridiemInput,\n trackFocusYearInput,\n } = useContext(ControlledDateTimePickerContext);\n const onHomeKeyDownInsideTimeWheel = useCallback(() => {\n if (isWithCalendarToo) trackFocusCalendarPrevMonth();\n else trackFocusTimewheelCurrHour();\n }, [isWithCalendarToo, trackFocusCalendarPrevMonth, trackFocusTimewheelCurrHour]);\n const onEndKeyDownInsideTimeWheel = useCallback(() => {\n trackFocusTimewheelCurrMeridiem();\n }, [trackFocusTimewheelCurrMeridiem]);\n\n const onHomeKeyDownTriggerIcon = useCallback(() => {\n trackFocusFirstSegment();\n }, [trackFocusFirstSegment]);\n const handlePickerIconKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown<HTMLButtonElement> = useCallback(\n (e: React.KeyboardEvent) => {\n const { key } = e;\n if (['Home', 'End'].includes(key)) e.preventDefault();\n if (['Home', 'End'].includes(key)) e.stopPropagation();\n if (key === 'Home') onHomeKeyDownTriggerIcon();\n if (key === 'Backspace' && withAnyInputs) {\n if (isWithTimeInputs) trackFocusMeridiemInput();\n else if (isWithDateInputs) trackFocusYearInput();\n }\n },\n [\n isWithDateInputs,\n isWithTimeInputs,\n onHomeKeyDownTriggerIcon,\n trackFocusMeridiemInput,\n trackFocusYearInput,\n withAnyInputs,\n ],\n );\n\n const handleCurrHourOnKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n const { key, shiftKey } = e;\n if (['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(key)) e.preventDefault();\n if (['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(key)) e.stopPropagation();\n let didTriggerHourChange = false;\n if (key === 'ArrowUp') {\n handlePrevHour(e);\n didTriggerHourChange = true;\n }\n if (key === 'ArrowDown') {\n handleNextHour(e);\n didTriggerHourChange = true;\n }\n if (key === 'ArrowRight') {\n trackFocusTimewheelCurrMinute();\n }\n if (key === 'Home') onHomeKeyDownInsideTimeWheel();\n if (key === 'End') onEndKeyDownInsideTimeWheel();\n\n // ensure the focus is in the correct button after up/down arrow\n if (didTriggerHourChange) trackFocusTimewheelCurrHour();\n\n // TAB CYCLE IMPLEMENTATION\n if (!isControllerOnly)\n if (key === 'Tab' && shiftKey && !isWithCalendarToo) {\n e.preventDefault();\n trackFocusTimewheelCurrMeridiem();\n }\n },\n [\n handleNextHour,\n handlePrevHour,\n isControllerOnly,\n isWithCalendarToo,\n onEndKeyDownInsideTimeWheel,\n onHomeKeyDownInsideTimeWheel,\n trackFocusTimewheelCurrHour,\n trackFocusTimewheelCurrMeridiem,\n trackFocusTimewheelCurrMinute,\n ],\n );\n const handleCurrMinutesOnKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n const { key } = e;\n if (['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(key)) e.preventDefault();\n if (['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(key)) e.stopPropagation();\n let didTriggerMinuteChange = false;\n if (key === 'ArrowUp') {\n handlePrevMinute(e);\n didTriggerMinuteChange = true;\n }\n if (key === 'ArrowDown') {\n handleNextMinute(e);\n didTriggerMinuteChange = true;\n }\n if (key === 'ArrowLeft') {\n trackFocusTimewheelCurrHour();\n }\n if (key === 'ArrowRight') {\n trackFocusTimewheelCurrMeridiem();\n }\n if (key === 'Home') onHomeKeyDownInsideTimeWheel();\n if (key === 'End') onEndKeyDownInsideTimeWheel();\n // ensure the focus is in the correct button after up/down arrow\n if (didTriggerMinuteChange) trackFocusTimewheelCurrMinute();\n },\n [\n onHomeKeyDownInsideTimeWheel,\n onEndKeyDownInsideTimeWheel,\n handlePrevMinute,\n handleNextMinute,\n trackFocusTimewheelCurrHour,\n trackFocusTimewheelCurrMeridiem,\n trackFocusTimewheelCurrMinute,\n ],\n );\n const handleCurrMeridiemOnKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n const { key, shiftKey } = e;\n if (['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(key)) e.preventDefault();\n if (['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(key)) e.stopPropagation();\n let didTriggerMeridiemChange = false;\n if (key === 'ArrowUp') {\n handleTimeWheelBtnChangeMeridiem('AM', e);\n didTriggerMeridiemChange = true;\n }\n if (key === 'ArrowDown') {\n handleTimeWheelBtnChangeMeridiem('PM', e);\n didTriggerMeridiemChange = true;\n }\n if (key === 'ArrowLeft') {\n trackFocusTimewheelCurrMinute();\n }\n if (key === 'Home') onHomeKeyDownInsideTimeWheel();\n if (key === 'End') onEndKeyDownInsideTimeWheel();\n\n // ensure the focus is in the correct button after up/down arrow\n if (didTriggerMeridiemChange) trackFocusTimewheelCurrMeridiem();\n\n // TAB CYCLE IMPLEMENTATION\n if (!isControllerOnly)\n if (key === 'Tab' && !shiftKey) {\n e.preventDefault();\n if (isWithCalendarToo) trackFocusCalendarPrevMonth();\n else trackFocusTimewheelCurrHour();\n }\n },\n [\n handleTimeWheelBtnChangeMeridiem,\n isControllerOnly,\n isWithCalendarToo,\n onEndKeyDownInsideTimeWheel,\n onHomeKeyDownInsideTimeWheel,\n trackFocusCalendarPrevMonth,\n trackFocusTimewheelCurrHour,\n trackFocusTimewheelCurrMeridiem,\n trackFocusTimewheelCurrMinute,\n ],\n );\n\n return useMemo(\n () => ({\n handleCurrHourOnKeyDown,\n handleCurrMinutesOnKeyDown,\n handleCurrMeridiemOnKeyDown,\n handlePickerIconKeyDown,\n }),\n [handleCurrHourOnKeyDown, handleCurrMeridiemOnKeyDown, handleCurrMinutesOnKeyDown, handlePickerIconKeyDown],\n );\n};\n"],
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACIvB,SAAS,SAAS,aAAa,kBAAkB;AACjD,SAAS,uCAAuC;AAYzC,MAAM,sBAAsB,CAAC,EAAE,+BAA+B,MAAkD;AACrH,QAAM,EAAE,gBAAgB,gBAAgB,kBAAkB,kBAAkB,iCAAiC,IAC3G;AACF,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,WAAW,+BAA+B;
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable @typescript-eslint/indent */\n/* eslint-disable complexity */\n/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport { useMemo, useCallback, useContext } from 'react';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport type { DSControlledDateTimePickerInternalsT } from '../../../sharedTypes';\nimport type { useCurrentDisplayedWheelsLogic } from './useCurrentDisplayedWheelsLogic';\ninterface UseKeyboardHandlersArgs {\n currentDisplayedTimeWheelLogic: ReturnType<typeof useCurrentDisplayedWheelsLogic>;\n}\ninterface KeyboardHandlersT {\n handleCurrHourOnKeyDown: (e: React.KeyboardEvent) => void;\n handleCurrMinutesOnKeyDown: (e: React.KeyboardEvent) => void;\n handleCurrMeridiemOnKeyDown: (e: React.KeyboardEvent) => void;\n handlePickerIconKeyDown: (e: React.KeyboardEvent<HTMLButtonElement>) => void;\n}\nexport const useKeyboardHandlers = ({ currentDisplayedTimeWheelLogic }: UseKeyboardHandlersArgs): KeyboardHandlersT => {\n const { handlePrevHour, handleNextHour, handlePrevMinute, handleNextMinute, handleTimeWheelBtnChangeMeridiem } =\n currentDisplayedTimeWheelLogic;\n const {\n withAnyInputs,\n isWithTimeInputs,\n isWithDateInputs,\n isWithCalendarToo,\n isControllerOnly,\n\n trackFocusCalendarPrevMonth,\n trackFocusTimewheelCurrHour,\n trackFocusTimewheelCurrMinute,\n trackFocusTimewheelCurrMeridiem,\n trackFocusFirstSegment,\n trackFocusMeridiemInput,\n trackFocusYearInput,\n trackFocusCalendarMetafocusedDay,\n } = useContext(ControlledDateTimePickerContext);\n\n // const tryToFocusDayRegion = useCallback(() => {\n // if (!focusedDay) {\n // const newFocusDay = daysArray.find(({ isCurrMonthDay }) => isCurrMonthDay);\n // if (newFocusDay) handleFocusMetaDay(newFocusDay);\n // }\n // trackFocusCalendarMetafocusedDay();\n // }, [daysArray, focusedDay, handleFocusMetaDay, trackFocusCalendarMetafocusedDay]);\n\n const onHomeKeyDownInsideTimeWheel = useCallback(() => {\n if (isWithCalendarToo) trackFocusCalendarPrevMonth();\n else trackFocusTimewheelCurrHour();\n }, [isWithCalendarToo, trackFocusCalendarPrevMonth, trackFocusTimewheelCurrHour]);\n const onEndKeyDownInsideTimeWheel = useCallback(() => {\n trackFocusTimewheelCurrMeridiem();\n }, [trackFocusTimewheelCurrMeridiem]);\n\n const onHomeKeyDownTriggerIcon = useCallback(() => {\n trackFocusFirstSegment();\n }, [trackFocusFirstSegment]);\n const handlePickerIconKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown<HTMLButtonElement> = useCallback(\n (e: React.KeyboardEvent) => {\n const { key } = e;\n if (['Home', 'End'].includes(key)) e.preventDefault();\n if (['Home', 'End'].includes(key)) e.stopPropagation();\n if (key === 'Home') onHomeKeyDownTriggerIcon();\n if (key === 'Backspace' && withAnyInputs) {\n if (isWithTimeInputs) trackFocusMeridiemInput();\n else if (isWithDateInputs) trackFocusYearInput();\n }\n },\n [\n isWithDateInputs,\n isWithTimeInputs,\n onHomeKeyDownTriggerIcon,\n trackFocusMeridiemInput,\n trackFocusYearInput,\n withAnyInputs,\n ],\n );\n\n const handleCurrHourOnKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n const { key, shiftKey } = e;\n if (['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(key)) e.preventDefault();\n if (['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(key)) e.stopPropagation();\n let didTriggerHourChange = false;\n if (key === 'ArrowUp') {\n handlePrevHour(e);\n didTriggerHourChange = true;\n }\n if (key === 'ArrowDown') {\n handleNextHour(e);\n didTriggerHourChange = true;\n }\n if (key === 'ArrowRight') {\n trackFocusTimewheelCurrMinute();\n }\n if (key === 'Home') onHomeKeyDownInsideTimeWheel();\n if (key === 'End') onEndKeyDownInsideTimeWheel();\n\n // ensure the focus is in the correct button after up/down arrow\n if (didTriggerHourChange) trackFocusTimewheelCurrHour();\n\n // TAB CYCLE IMPLEMENTATION\n if (!isControllerOnly)\n if (key === 'Tab' && shiftKey && !isWithCalendarToo) {\n e.preventDefault();\n trackFocusTimewheelCurrMeridiem();\n }\n\n if (key === 'Tab' && shiftKey && isWithCalendarToo) {\n trackFocusCalendarMetafocusedDay();\n }\n },\n [\n handleNextHour,\n handlePrevHour,\n isControllerOnly,\n isWithCalendarToo,\n onEndKeyDownInsideTimeWheel,\n onHomeKeyDownInsideTimeWheel,\n trackFocusTimewheelCurrHour,\n trackFocusTimewheelCurrMeridiem,\n trackFocusTimewheelCurrMinute,\n trackFocusCalendarMetafocusedDay,\n ],\n );\n const handleCurrMinutesOnKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n const { key } = e;\n if (['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(key)) e.preventDefault();\n if (['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(key)) e.stopPropagation();\n let didTriggerMinuteChange = false;\n if (key === 'ArrowUp') {\n handlePrevMinute(e);\n didTriggerMinuteChange = true;\n }\n if (key === 'ArrowDown') {\n handleNextMinute(e);\n didTriggerMinuteChange = true;\n }\n if (key === 'ArrowLeft') {\n trackFocusTimewheelCurrHour();\n }\n if (key === 'ArrowRight') {\n trackFocusTimewheelCurrMeridiem();\n }\n if (key === 'Home') onHomeKeyDownInsideTimeWheel();\n if (key === 'End') onEndKeyDownInsideTimeWheel();\n // ensure the focus is in the correct button after up/down arrow\n if (didTriggerMinuteChange) trackFocusTimewheelCurrMinute();\n },\n [\n onHomeKeyDownInsideTimeWheel,\n onEndKeyDownInsideTimeWheel,\n handlePrevMinute,\n handleNextMinute,\n trackFocusTimewheelCurrHour,\n trackFocusTimewheelCurrMeridiem,\n trackFocusTimewheelCurrMinute,\n ],\n );\n const handleCurrMeridiemOnKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n const { key, shiftKey } = e;\n if (['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(key)) e.preventDefault();\n if (['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(key)) e.stopPropagation();\n let didTriggerMeridiemChange = false;\n if (key === 'ArrowUp') {\n handleTimeWheelBtnChangeMeridiem('AM', e);\n didTriggerMeridiemChange = true;\n }\n if (key === 'ArrowDown') {\n handleTimeWheelBtnChangeMeridiem('PM', e);\n didTriggerMeridiemChange = true;\n }\n if (key === 'ArrowLeft') {\n trackFocusTimewheelCurrMinute();\n }\n if (key === 'Home') onHomeKeyDownInsideTimeWheel();\n if (key === 'End') onEndKeyDownInsideTimeWheel();\n\n // ensure the focus is in the correct button after up/down arrow\n if (didTriggerMeridiemChange) trackFocusTimewheelCurrMeridiem();\n\n // TAB CYCLE IMPLEMENTATION\n if (!isControllerOnly)\n if (key === 'Tab' && !shiftKey) {\n e.preventDefault();\n if (isWithCalendarToo) trackFocusCalendarPrevMonth();\n else trackFocusTimewheelCurrHour();\n }\n },\n [\n handleTimeWheelBtnChangeMeridiem,\n isControllerOnly,\n isWithCalendarToo,\n onEndKeyDownInsideTimeWheel,\n onHomeKeyDownInsideTimeWheel,\n trackFocusCalendarPrevMonth,\n trackFocusTimewheelCurrHour,\n trackFocusTimewheelCurrMeridiem,\n trackFocusTimewheelCurrMinute,\n ],\n );\n\n return useMemo(\n () => ({\n handleCurrHourOnKeyDown,\n handleCurrMinutesOnKeyDown,\n handleCurrMeridiemOnKeyDown,\n handlePickerIconKeyDown,\n }),\n [handleCurrHourOnKeyDown, handleCurrMeridiemOnKeyDown, handleCurrMinutesOnKeyDown, handlePickerIconKeyDown],\n );\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -60,7 +60,8 @@ const StyledInputsWrapperGrid = styled(Grid, {
|
|
|
60
60
|
|
|
61
61
|
border-radius: 2px;
|
|
62
62
|
padding-left: ${({ justPicker }) => justPicker ? "0" : "2px"};
|
|
63
|
-
padding-right: ${({ withAnyPicker }) => withAnyPicker ? "" : "
|
|
63
|
+
padding-right: ${({ withAnyPicker }) => withAnyPicker ? "" : "2px"};
|
|
64
|
+
|
|
64
65
|
position: relative;
|
|
65
66
|
${({ theme, disabled }) => disabled ? `background-color: ${theme.colors.neutral[100]};` : ``}
|
|
66
67
|
`;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/parts/Styleds.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport { styled } from '@elliemae/ds-system';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSButtonV2 } from '@elliemae/ds-button';\nimport { DSControlledDateTimePickerName, DSControlledDateTimePickerSlots } from '../exported-related/theming';\n\nconst ResettedInput = styled('input', {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.INPUT,\n})`\n border: none;\n box-shadow: none;\n background: none;\n text-align: center;\n height: 100%;\n display: flex;\n align-items: center;\n :focus {\n outline: none;\n }\n padding-top: 2px;\n`;\n\nexport const StyledSeparator = styled(Grid)`\n padding-top: 2px;\n margin: auto;\n`;\n\nexport const StyledColonSeparator = styled(Grid)`\n padding-bottom: 1px;\n margin: auto;\n`;\n\nexport const Styled2DigitsInput = styled(ResettedInput)`\n width: 100%;\n height: 100%;\n ${({ disabled }) => (disabled ? `color: #616b7f;` : ``)}\n`;\n\nexport const StyledMin4DigitsInput = styled(ResettedInput)`\n width: 100%;\n height: 100%;\n ${({ disabled }) => (disabled ? `color: #616b7f;` : ``)}\n`;\n\nexport const StyledInputsWrapperGrid = styled(Grid, {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.CONTAINER,\n})`\n width: max-content;\n align-items: center;\n background-color: white;\n ${({ isControllerOnly }) =>\n isControllerOnly\n ? ``\n : `\n height: 28px; \n border-width: 1px;\n border-style: solid;\n `}\n\n border-color: ${({ theme, hasError, disabled }) => {\n if (hasError) return theme.colors.danger[900];\n if (disabled) return theme.colors.neutral[400];\n return theme.colors.neutral[200];\n }};\n\n border-radius: 2px;\n padding-left: ${({ justPicker }) => (justPicker ? '0' : '2px')};\n padding-right: ${({ withAnyPicker }) => (withAnyPicker ? '' : '
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACCvB,SAAS,cAAc;AACvB,SAAS,YAAY;AACrB,SAAS,kBAAkB;AAC3B,SAAS,gCAAgC,uCAAuC;AAEhF,MAAM,gBAAgB,OAAO,SAAS;AAAA,EACpC,MAAM;AAAA,EACN,MAAM,gCAAgC;AACxC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAcM,MAAM,kBAAkB,OAAO,IAAI;AAAA;AAAA;AAAA;AAKnC,MAAM,uBAAuB,OAAO,IAAI;AAAA;AAAA;AAAA;AAKxC,MAAM,qBAAqB,OAAO,aAAa;AAAA;AAAA;AAAA,IAGlD,CAAC,EAAE,SAAS,MAAO,WAAW,oBAAoB;AAAA;AAG/C,MAAM,wBAAwB,OAAO,aAAa;AAAA;AAAA;AAAA,IAGrD,CAAC,EAAE,SAAS,MAAO,WAAW,oBAAoB;AAAA;AAG/C,MAAM,0BAA0B,OAAO,MAAM;AAAA,EAClD,MAAM;AAAA,EACN,MAAM,gCAAgC;AACxC,CAAC;AAAA;AAAA;AAAA;AAAA,IAIG,CAAC,EAAE,iBAAiB,MACpB,mBACI,KACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAMU,CAAC,EAAE,OAAO,UAAU,SAAS,MAAM;AACjD,MAAI;AAAU,WAAO,MAAM,OAAO,OAAO;AACzC,MAAI;AAAU,WAAO,MAAM,OAAO,QAAQ;AAC1C,SAAO,MAAM,OAAO,QAAQ;AAC9B;AAAA;AAAA;AAAA,kBAGgB,CAAC,EAAE,WAAW,MAAO,aAAa,MAAM;AAAA,mBACvC,CAAC,EAAE,cAAc,MAAO,gBAAgB,KAAK;AAAA;AAAA,
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport { styled } from '@elliemae/ds-system';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSButtonV2 } from '@elliemae/ds-button';\nimport { DSControlledDateTimePickerName, DSControlledDateTimePickerSlots } from '../exported-related/theming';\n\nconst ResettedInput = styled('input', {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.INPUT,\n})`\n border: none;\n box-shadow: none;\n background: none;\n text-align: center;\n height: 100%;\n display: flex;\n align-items: center;\n :focus {\n outline: none;\n }\n padding-top: 2px;\n`;\n\nexport const StyledSeparator = styled(Grid)`\n padding-top: 2px;\n margin: auto;\n`;\n\nexport const StyledColonSeparator = styled(Grid)`\n padding-bottom: 1px;\n margin: auto;\n`;\n\nexport const Styled2DigitsInput = styled(ResettedInput)`\n width: 100%;\n height: 100%;\n ${({ disabled }) => (disabled ? `color: #616b7f;` : ``)}\n`;\n\nexport const StyledMin4DigitsInput = styled(ResettedInput)`\n width: 100%;\n height: 100%;\n ${({ disabled }) => (disabled ? `color: #616b7f;` : ``)}\n`;\n\nexport const StyledInputsWrapperGrid = styled(Grid, {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.CONTAINER,\n})`\n width: max-content;\n align-items: center;\n background-color: white;\n ${({ isControllerOnly }) =>\n isControllerOnly\n ? ``\n : `\n height: 28px; \n border-width: 1px;\n border-style: solid;\n `}\n\n border-color: ${({ theme, hasError, disabled }) => {\n if (hasError) return theme.colors.danger[900];\n if (disabled) return theme.colors.neutral[400];\n return theme.colors.neutral[200];\n }};\n\n border-radius: 2px;\n padding-left: ${({ justPicker }) => (justPicker ? '0' : '2px')};\n padding-right: ${({ withAnyPicker }) => (withAnyPicker ? '' : '2px')};\n\n position: relative;\n ${({ theme, disabled }) => (disabled ? `background-color: ${theme.colors.neutral[100]};` : ``)}\n`;\n\nexport const StyledDateInputsWrapperGrid = styled.div`\n display: grid;\n grid-template-columns: 24px min-content 24px min-content 48px;\n grid-template-rows: min-content;\n padding: 6px 0;\n gap: 0px 0px;\n align-items: center;\n input,\n p {\n margin: 0;\n }\n`;\n\nexport const StyledTimeInputsWrapperGrid = styled.div`\n display: grid;\n grid-template-columns: 24px min-content 24px min-content 24px min-content 24px;\n grid-template-rows: min-content;\n padding: 6px 0;\n gap: 0px 0px;\n align-items: center;\n input,\n p {\n margin: 0;\n }\n`;\n\nexport const StyledPickersIconsWrapperGrid = styled(Grid)<{ isControllerOnly: boolean }>`\n position: relative;\n ${({ isControllerOnly }) => (isControllerOnly ? `` : `height: 26px;`)}\n :before {\n content: '';\n position: absolute;\n top: 0px;\n left: -1px;\n width: 100%;\n height: 100%;\n border-radius: 2px;\n ${({ theme, isControllerOnly, hasError }) =>\n isControllerOnly\n ? ``\n : `\n border-left: 1px solid ${hasError ? theme.colors.danger[900] : theme.colors.neutral[200]}\n `}\n }\n`;\n\nexport const StyledFocusWithIn = styled(Grid)`\n position: relative;\n &:focus-within {\n &:after {\n display: block;\n content: ' ';\n position: absolute;\n top: -5px;\n left: -2px;\n width: calc(100% + 4px);\n height: calc(100% + 10px);\n border: 2px solid ${({ theme }) => theme.colors.brand[700]};\n border-radius: 2px;\n pointer-events: none;\n }\n }\n`;\n\nexport const StyledClearButton = styled(DSButtonV2, {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.CLEAR_BUTTON,\n})`\n height: 26px;\n position: relative;\n visibility: ${({ shouldDisplay }) => (shouldDisplay ? 'visible' : 'hidden')};\n &:focus {\n &:after {\n z-index: 1;\n }\n }\n`;\n"],
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACCvB,SAAS,cAAc;AACvB,SAAS,YAAY;AACrB,SAAS,kBAAkB;AAC3B,SAAS,gCAAgC,uCAAuC;AAEhF,MAAM,gBAAgB,OAAO,SAAS;AAAA,EACpC,MAAM;AAAA,EACN,MAAM,gCAAgC;AACxC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAcM,MAAM,kBAAkB,OAAO,IAAI;AAAA;AAAA;AAAA;AAKnC,MAAM,uBAAuB,OAAO,IAAI;AAAA;AAAA;AAAA;AAKxC,MAAM,qBAAqB,OAAO,aAAa;AAAA;AAAA;AAAA,IAGlD,CAAC,EAAE,SAAS,MAAO,WAAW,oBAAoB;AAAA;AAG/C,MAAM,wBAAwB,OAAO,aAAa;AAAA;AAAA;AAAA,IAGrD,CAAC,EAAE,SAAS,MAAO,WAAW,oBAAoB;AAAA;AAG/C,MAAM,0BAA0B,OAAO,MAAM;AAAA,EAClD,MAAM;AAAA,EACN,MAAM,gCAAgC;AACxC,CAAC;AAAA;AAAA;AAAA;AAAA,IAIG,CAAC,EAAE,iBAAiB,MACpB,mBACI,KACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAMU,CAAC,EAAE,OAAO,UAAU,SAAS,MAAM;AACjD,MAAI;AAAU,WAAO,MAAM,OAAO,OAAO;AACzC,MAAI;AAAU,WAAO,MAAM,OAAO,QAAQ;AAC1C,SAAO,MAAM,OAAO,QAAQ;AAC9B;AAAA;AAAA;AAAA,kBAGgB,CAAC,EAAE,WAAW,MAAO,aAAa,MAAM;AAAA,mBACvC,CAAC,EAAE,cAAc,MAAO,gBAAgB,KAAK;AAAA;AAAA;AAAA,IAG5D,CAAC,EAAE,OAAO,SAAS,MAAO,WAAW,qBAAqB,MAAM,OAAO,QAAQ,UAAU;AAAA;AAGtF,MAAM,8BAA8B,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAa3C,MAAM,8BAA8B,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAa3C,MAAM,gCAAgC,OAAO,IAAI;AAAA;AAAA,IAEpD,CAAC,EAAE,iBAAiB,MAAO,mBAAmB,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MASjD,CAAC,EAAE,OAAO,kBAAkB,SAAS,MACrC,mBACI,KACA;AAAA,6BACmB,WAAW,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,QAAQ;AAAA;AAAA;AAAA;AAKjF,MAAM,oBAAoB,OAAO,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAWlB,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAOrD,MAAM,oBAAoB,OAAO,YAAY;AAAA,EAClD,MAAM;AAAA,EACN,MAAM,gCAAgC;AACxC,CAAC;AAAA;AAAA;AAAA,gBAGe,CAAC,EAAE,cAAc,MAAO,gBAAgB,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|