@elliemae/ds-controlled-form 2.0.0-alpha.8 → 2.0.0-next.10
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/cjs/controlled-checkbox/config/useValidateProps.js +3 -5
- package/cjs/controlled-checkbox/styles.js +2 -2
- package/cjs/controlled-checkbox/utils/styleHelpers.js +2 -20
- package/cjs/controlled-date-range-picker/config/useRangePickerLogic.js +1 -0
- package/cjs/controlled-date-range-picker/parts/ControlledDateRangeCalendar.js +1 -0
- package/cjs/controlled-date-range-picker/parts/ControlledDateRangeContent.js +6 -2
- package/cjs/controlled-date-range-picker/parts/ControlledDateRangeFromDate.js +1 -0
- package/cjs/controlled-date-range-picker/parts/ControlledDateRangeToDate.js +1 -0
- package/cjs/controlled-date-time-picker/ControlledDateTimePickerDatatestid.js +26 -4
- package/cjs/controlled-date-time-picker/config/useControlledDateTimePicker.js +60 -7
- package/cjs/controlled-date-time-picker/config/useGetDestructuredValues.js +146 -0
- package/cjs/controlled-date-time-picker/config/useValidateProps.js +10 -41
- package/cjs/controlled-date-time-picker/index.js +1 -1
- package/cjs/controlled-date-time-picker/parts/ClearButton/ClearButton.js +8 -7
- package/cjs/controlled-date-time-picker/parts/DateInputs/DDInput.js +3 -2
- package/cjs/controlled-date-time-picker/parts/DateInputs/DateInputs.js +8 -4
- package/cjs/controlled-date-time-picker/parts/DateInputs/MMInput.js +3 -2
- package/cjs/controlled-date-time-picker/parts/DateInputs/YYYYInput.js +3 -2
- package/cjs/controlled-date-time-picker/parts/DateInputs/useDateInputs.js +6 -28
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarBody.js +7 -4
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContent.js +11 -6
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js +4 -0
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarDaysList.js +24 -5
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.js +36 -34
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarIconTrigger.js +13 -11
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarMonthDays.js +6 -2
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWeekDays.js +34 -2
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js +2 -0
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Day.js +42 -23
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.js +52 -37
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +34 -4
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js +1 -1
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.js +1 -2
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.js +1 -1
- package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js +3 -1
- package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js +1 -0
- package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +13 -11
- package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +2 -0
- package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/Styleds.js +11 -4
- package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +6 -4
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js +20 -21
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/MeridiemList.js +20 -27
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/MinutesList.js +21 -22
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/SecondsList.js +11 -12
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.js +25 -85
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContent.js +4 -2
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js +1 -0
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +11 -10
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js +2 -0
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js +5 -3
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js +3 -3
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +1 -0
- package/cjs/controlled-date-time-picker/parts/Styleds.js +6 -12
- package/cjs/controlled-date-time-picker/parts/TimeInputs/HHInput.js +2 -1
- package/cjs/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.js +3 -1
- package/cjs/controlled-date-time-picker/parts/TimeInputs/MinutesInput.js +2 -1
- package/cjs/controlled-date-time-picker/parts/TimeInputs/TimeInputs.js +7 -3
- package/cjs/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js +11 -34
- package/cjs/controlled-date-time-picker/utils/constants.js +43 -0
- package/cjs/controlled-date-time-picker/utils/dateHelpers.js +7 -7
- package/cjs/controlled-date-time-picker/utils/dateTimeHelpers.js +2 -2
- package/cjs/controlled-date-time-picker/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js +1 -1
- package/cjs/controlled-date-time-picker/utils/stringHelpers.js +20 -3
- package/cjs/controlled-toggle/ControlledToggle.js +2 -1
- package/cjs/controlled-toggle/styles.js +5 -7
- package/cjs/index.js +1 -1
- package/esm/controlled-checkbox/config/useValidateProps.js +3 -5
- package/esm/controlled-checkbox/styles.js +2 -2
- package/esm/controlled-checkbox/utils/styleHelpers.js +2 -20
- package/esm/controlled-date-range-picker/config/useRangePickerLogic.js +1 -0
- package/esm/controlled-date-range-picker/parts/ControlledDateRangeCalendar.js +1 -0
- package/esm/controlled-date-range-picker/parts/ControlledDateRangeContent.js +6 -2
- package/esm/controlled-date-range-picker/parts/ControlledDateRangeFromDate.js +1 -0
- package/esm/controlled-date-range-picker/parts/ControlledDateRangeToDate.js +1 -0
- package/esm/controlled-date-time-picker/ControlledDateTimePickerDatatestid.js +26 -4
- package/esm/controlled-date-time-picker/config/useControlledDateTimePicker.js +60 -7
- package/esm/controlled-date-time-picker/config/useGetDestructuredValues.js +140 -0
- package/esm/controlled-date-time-picker/config/useValidateProps.js +10 -41
- package/esm/controlled-date-time-picker/index.js +1 -1
- package/esm/controlled-date-time-picker/parts/ClearButton/ClearButton.js +7 -6
- package/esm/controlled-date-time-picker/parts/DateInputs/DDInput.js +3 -2
- package/esm/controlled-date-time-picker/parts/DateInputs/DateInputs.js +8 -4
- package/esm/controlled-date-time-picker/parts/DateInputs/MMInput.js +3 -2
- package/esm/controlled-date-time-picker/parts/DateInputs/YYYYInput.js +3 -2
- package/esm/controlled-date-time-picker/parts/DateInputs/useDateInputs.js +9 -30
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarBody.js +7 -4
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContent.js +12 -7
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js +4 -0
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarDaysList.js +26 -7
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.js +36 -34
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarIconTrigger.js +12 -9
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarMonthDays.js +6 -2
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWeekDays.js +35 -3
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js +2 -0
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Day.js +41 -23
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.js +50 -36
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +35 -5
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js +1 -1
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.js +1 -2
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.js +1 -1
- package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js +3 -1
- package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js +1 -0
- package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +12 -9
- package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +2 -0
- package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/Styleds.js +11 -5
- package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +6 -4
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js +20 -19
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/MeridiemList.js +20 -25
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/MinutesList.js +21 -20
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/SecondsList.js +11 -12
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.js +25 -85
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContent.js +4 -2
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js +1 -0
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +11 -9
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js +2 -0
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js +5 -3
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js +3 -3
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +1 -0
- package/esm/controlled-date-time-picker/parts/Styleds.js +6 -11
- package/esm/controlled-date-time-picker/parts/TimeInputs/HHInput.js +2 -1
- package/esm/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.js +3 -1
- package/esm/controlled-date-time-picker/parts/TimeInputs/MinutesInput.js +2 -1
- package/esm/controlled-date-time-picker/parts/TimeInputs/TimeInputs.js +7 -3
- package/esm/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js +12 -35
- package/esm/controlled-date-time-picker/utils/constants.js +37 -0
- package/esm/controlled-date-time-picker/utils/dateHelpers.js +6 -6
- package/esm/controlled-date-time-picker/utils/dateTimeHelpers.js +2 -2
- package/esm/controlled-date-time-picker/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js +1 -1
- package/esm/controlled-date-time-picker/utils/stringHelpers.js +20 -4
- package/esm/controlled-toggle/ControlledToggle.js +2 -1
- package/esm/controlled-toggle/styles.js +5 -7
- package/esm/index.js +1 -1
- package/package.json +12 -4
- package/types/controlled-date-time-picker/ControlledDateTimePickerDatatestid.d.ts +25 -3
- package/types/controlled-date-time-picker/config/useGetDestructuredValues.d.ts +4 -0
- package/types/controlled-date-time-picker/index.d.ts +1 -1
- package/types/controlled-date-time-picker/parts/DateInputs/DDInput.d.ts +2 -1
- package/types/controlled-date-time-picker/parts/DateInputs/MMInput.d.ts +2 -1
- package/types/controlled-date-time-picker/parts/DateInputs/YYYYInput.d.ts +2 -1
- package/types/controlled-date-time-picker/parts/DateInputs/useDateInputs.d.ts +0 -9
- package/types/controlled-date-time-picker/parts/Pickers/Calendar/CalendarBody.d.ts +5 -1
- package/types/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.d.ts +9 -5
- package/types/controlled-date-time-picker/parts/Pickers/Calendar/CalendarDaysList.d.ts +5 -3
- package/types/controlled-date-time-picker/parts/Pickers/Calendar/Day.d.ts +5 -3
- package/types/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.d.ts +48 -103
- package/types/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.d.ts +2 -2
- package/types/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.d.ts +4 -4
- package/types/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.d.ts +2 -2
- package/types/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.d.ts +1 -0
- package/types/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/Styleds.d.ts +21 -0
- package/types/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.d.ts +65 -4
- package/types/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.d.ts +1 -0
- package/types/controlled-date-time-picker/parts/Styleds.d.ts +21 -1
- package/types/controlled-date-time-picker/parts/TimeInputs/HHInput.d.ts +2 -1
- package/types/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.d.ts +2 -1
- package/types/controlled-date-time-picker/parts/TimeInputs/MinutesInput.d.ts +2 -1
- package/types/controlled-date-time-picker/utils/constants.d.ts +35 -0
- package/types/controlled-date-time-picker/utils/dateHelpers.d.ts +2 -2
- package/types/controlled-date-time-picker/utils/dateTimeHelpers.d.ts +1 -1
- package/types/controlled-date-time-picker/utils/stringHelpers.d.ts +1 -0
- package/cjs/package.json +0 -7
- package/esm/package.json +0 -7
|
@@ -1,30 +1,33 @@
|
|
|
1
1
|
import styled from 'styled-components';
|
|
2
2
|
import { Grid } from '@elliemae/ds-grid';
|
|
3
|
-
import
|
|
3
|
+
import { DSButtonV2 } from '@elliemae/ds-button';
|
|
4
4
|
|
|
5
5
|
/* eslint-disable max-lines */
|
|
6
|
-
const
|
|
6
|
+
const StyledIconTriggerButton = /*#__PURE__*/styled(DSButtonV2).withConfig({
|
|
7
7
|
componentId: "sc-1nsw31l-0"
|
|
8
|
-
})(["
|
|
8
|
+
})(["color:", ";width:26px;height:26px;"], ({
|
|
9
|
+
theme
|
|
10
|
+
}) => theme.colors.brand['600']);
|
|
11
|
+
const StyledWheelList = /*#__PURE__*/styled.div.withConfig({
|
|
12
|
+
componentId: "sc-1nsw31l-1"
|
|
13
|
+
})(["width:100%;height:100%;margin:auto;padding:0;position:relative;display:flex;flex-direction:column;align-items:center;&:focus-within{&:before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;border-radius:2px;border:2px solid ", ";box-shadow:0 0 2px ", ";}}"], ({
|
|
9
14
|
theme
|
|
10
15
|
}) => theme.colors.brand[700], ({
|
|
11
16
|
theme
|
|
12
17
|
}) => theme.colors.brand[700]);
|
|
13
18
|
const StyledTimePickerContainer = /*#__PURE__*/styled.div.withConfig({
|
|
14
|
-
componentId: "sc-1nsw31l-
|
|
19
|
+
componentId: "sc-1nsw31l-2"
|
|
15
20
|
})(["display:grid;position:relative;grid-template-columns:192px;grid-template-rows:36px 30px auto;grid-template-areas:'TimePickerHead' 'TimePickerWheelsLegend' 'VerticalWheelWrapper';", ""], ({
|
|
16
21
|
showShadow,
|
|
17
22
|
isControllerOnly
|
|
18
|
-
}) => showShadow && !isControllerOnly ?
|
|
19
|
-
box-shadow: 0 6px 20px 0 rgb(0 0 0 / 24%), 0 8px 17px 0 rgb(0 0 0 / 19%);
|
|
20
|
-
` : '');
|
|
23
|
+
}) => showShadow && !isControllerOnly ? "\n box-shadow: 0 6px 20px 0 rgb(0 0 0 / 24%), 0 8px 17px 0 rgb(0 0 0 / 19%);\n " : '');
|
|
21
24
|
const StyledTimePickerHead = /*#__PURE__*/styled(Grid).withConfig({
|
|
22
|
-
componentId: "sc-1nsw31l-
|
|
25
|
+
componentId: "sc-1nsw31l-3"
|
|
23
26
|
})(["width:100%;grid-area:TimePickerHead;justify-content:center;align-items:center;background:", ";"], ({
|
|
24
27
|
theme
|
|
25
28
|
}) => theme.colors.neutral['050']);
|
|
26
29
|
const StyledTimePickerWheelsLegend = /*#__PURE__*/styled.div.withConfig({
|
|
27
|
-
componentId: "sc-1nsw31l-
|
|
30
|
+
componentId: "sc-1nsw31l-4"
|
|
28
31
|
})(["width:100%;height:100;grid-area:TimePickerWheelsLegend;display:grid;grid-template-columns:", " ", " ", ";align-items:center;justify-content:center;text-align:center;background:", ";"], ({
|
|
29
32
|
theme
|
|
30
33
|
}) => theme.space.xl, ({
|
|
@@ -35,7 +38,7 @@ const StyledTimePickerWheelsLegend = /*#__PURE__*/styled.div.withConfig({
|
|
|
35
38
|
theme
|
|
36
39
|
}) => theme.colors.neutral['050']);
|
|
37
40
|
const StyledTimePickerWheelWrapper = /*#__PURE__*/styled.div.withConfig({
|
|
38
|
-
componentId: "sc-1nsw31l-
|
|
41
|
+
componentId: "sc-1nsw31l-5"
|
|
39
42
|
})(["width:100%;background:", ";grid-area:VerticalWheelWrapper;display:grid;grid-template-columns:", " ", " ", ";grid-template-rows:100%;& ul:not(:last-child){position:relative;&:after{content:'';position:absolute;left:100%;top:5%;height:90%;width:1px;background:", ";}}"], ({
|
|
40
43
|
theme
|
|
41
44
|
}) => theme.colors.neutral['000'], ({
|
|
@@ -47,9 +50,9 @@ const StyledTimePickerWheelWrapper = /*#__PURE__*/styled.div.withConfig({
|
|
|
47
50
|
}) => theme.space.xl, ({
|
|
48
51
|
theme
|
|
49
52
|
}) => theme.colors.neutral[200]);
|
|
50
|
-
const StyledTimeBtn = /*#__PURE__*/styled(
|
|
51
|
-
componentId: "sc-1nsw31l-
|
|
52
|
-
})(["position:relative;height:", ";width:", ";min-width:", ";padding:0;border-radius:50%;font-weight:", ";color:", "
|
|
53
|
+
const StyledTimeBtn = /*#__PURE__*/styled(DSButtonV2).withConfig({
|
|
54
|
+
componentId: "sc-1nsw31l-6"
|
|
55
|
+
})(["position:relative;height:", ";width:", ";min-width:", ";padding:0;border-radius:50%;font-weight:", ";color:", ";&:focus:not([disabled]){&:after{border:none;}}", " ", ""], ({
|
|
53
56
|
theme
|
|
54
57
|
}) => theme.space.s, ({
|
|
55
58
|
theme
|
|
@@ -63,81 +66,18 @@ const StyledTimeBtn = /*#__PURE__*/styled(DSButton).withConfig({
|
|
|
63
66
|
theme,
|
|
64
67
|
isDisabled,
|
|
65
68
|
selected
|
|
66
|
-
}) => isDisabled ?
|
|
67
|
-
color: ${selected ? theme.colors.neutral['000'] : theme.colors.neutral[500]};
|
|
68
|
-
cursor: not-allowed;
|
|
69
|
-
background-color:${selected ? theme.colors.danger[900] : theme.colors.neutral['000']};
|
|
70
|
-
font-weight: ${selected ? theme.fontWeights.semibold : ''};
|
|
71
|
-
|
|
72
|
-
&:before {
|
|
73
|
-
cursor: not-allowed;
|
|
74
|
-
position: absolute;
|
|
75
|
-
content: '';
|
|
76
|
-
top: 47%;
|
|
77
|
-
left: 0;
|
|
78
|
-
width: 100%;
|
|
79
|
-
height: 1px;
|
|
80
|
-
background-color: ${selected ? theme.colors.neutral['000'] : theme.colors.neutral[500]};
|
|
81
|
-
transform: rotate(45deg);
|
|
82
|
-
pointer-events: none;
|
|
83
|
-
}
|
|
84
|
-
&.em-ds-button--text:not([disabled]) {
|
|
85
|
-
:hover {
|
|
86
|
-
color:${selected ? theme.colors.neutral['000'] : theme.colors.neutral[500]};
|
|
87
|
-
background-color:${selected ? theme.colors.danger[900] : theme.colors.neutral['000']};
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
` : `
|
|
91
|
-
${selected ? `
|
|
92
|
-
color: ${theme.colors.neutral['000']};
|
|
93
|
-
background-color:${theme.colors.brand[700]};
|
|
94
|
-
font-weight: ${theme.fontWeights.semibold};
|
|
95
|
-
&.em-ds-button--text:not([disabled]) {
|
|
96
|
-
:hover {
|
|
97
|
-
color:${theme.colors.neutral['000']};
|
|
98
|
-
background-color:${theme.colors.brand[700]};
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
` : `
|
|
102
|
-
color: ${theme.colors.neutral[800]};
|
|
103
|
-
background-color:${theme.colors.neutral['000']};
|
|
104
|
-
`}
|
|
105
|
-
`, ({
|
|
69
|
+
}) => isDisabled ? "\n color: ".concat(selected ? theme.colors.neutral['000'] : theme.colors.neutral[500], ";\n cursor: not-allowed;\n background-color:").concat(selected ? theme.colors.danger[900] : theme.colors.neutral['000'], ";\n font-weight: ").concat(selected ? theme.fontWeights.semibold : '', ";\n\n &:before {\n cursor: not-allowed;\n position: absolute;\n content: '';\n top: 47%;\n left: 0;\n width: 100%;\n height: 1px;\n background-color: ").concat(selected ? theme.colors.neutral['000'] : theme.colors.neutral[500], ";\n transform: rotate(45deg);\n pointer-events: none;\n }\n &:hover {\n color:").concat(selected ? theme.colors.neutral['000'] : theme.colors.neutral[500], ";\n background-color:").concat(selected ? theme.colors.danger[900] : theme.colors.neutral['000'], ";\n }\n ") : "\n ".concat(selected ? "\n color: ".concat(theme.colors.neutral['000'], ";\n background-color:").concat(theme.colors.brand[700], ";\n font-weight: ").concat(theme.fontWeights.semibold, ";\n &:hover {\n color:").concat(theme.colors.neutral['000'], ";\n background-color:").concat(theme.colors.brand[700], ";\n }\n ") : "\n color: ".concat(theme.colors.neutral[800], ";\n background-color:").concat(theme.colors.neutral['000'], ";\n "), "\n "), ({
|
|
106
70
|
theme,
|
|
107
71
|
isCurrentListItem,
|
|
108
72
|
selected,
|
|
109
73
|
isDisabled
|
|
110
|
-
}) => isCurrentListItem && !selected ?
|
|
111
|
-
|
|
112
|
-
&:after {
|
|
113
|
-
position: absolute;
|
|
114
|
-
content: '';
|
|
115
|
-
border-radius: 50%;
|
|
116
|
-
top: -2px;
|
|
117
|
-
left: -2px;
|
|
118
|
-
width: calc(100% + 4px);
|
|
119
|
-
height: calc(100% + 4px);
|
|
120
|
-
border: 2px solid ${isDisabled ? theme.colors.danger[900] : theme.colors.brand[700]};
|
|
121
|
-
pointer-events: none;
|
|
122
|
-
}
|
|
123
|
-
${isDisabled ? `
|
|
124
|
-
color: ${theme.colors.danger[900]};
|
|
125
|
-
&.em-ds-button--text:not([disabled]) {
|
|
126
|
-
:hover {
|
|
127
|
-
color:${theme.colors.danger[900]};
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
&:before{
|
|
131
|
-
background-color: ${theme.colors.danger[900]};
|
|
132
|
-
}
|
|
133
|
-
` : undefined}
|
|
134
|
-
` : undefined);
|
|
135
|
-
const StyledWheelListItem = /*#__PURE__*/styled.li.withConfig({
|
|
136
|
-
componentId: "sc-1nsw31l-6"
|
|
137
|
-
})(["margin:auto;width:36px;height:36px;display:flex;align-items:center;justify-content:center;position:relative;"]);
|
|
138
|
-
const StyledWheelChangeTimeBtn = /*#__PURE__*/styled(DSButton).withConfig({
|
|
74
|
+
}) => isCurrentListItem && !selected ? "\n color: ".concat(isDisabled ? theme.colors.danger[900] : theme.colors.brand[700], ";\n &:after {\n position: absolute;\n content: '';\n border-radius: 50%;\n top: -2px;\n left: -2px;\n width: calc(100% + 4px);\n height: calc(100% + 4px);\n border: 2px solid ").concat(isDisabled ? theme.colors.danger[900] : theme.colors.brand[700], ";\n pointer-events: none;\n }\n ").concat(isDisabled ? "\n color: ".concat(theme.colors.danger[900], ";\n &:hover {\n color:").concat(theme.colors.danger[900], ";\n } \n &:before{\n background-color: ").concat(theme.colors.danger[900], ";\n }\n ") : '', "\n ") : '');
|
|
75
|
+
const StyledWheelListItem = /*#__PURE__*/styled.div.withConfig({
|
|
139
76
|
componentId: "sc-1nsw31l-7"
|
|
140
|
-
})(["
|
|
77
|
+
})(["margin:auto;width:36px;height:36px;display:flex;align-items:center;justify-content:center;position:relative;"]);
|
|
78
|
+
const StyledWheelChangeTimeBtn = /*#__PURE__*/styled(DSButtonV2).withConfig({
|
|
79
|
+
componentId: "sc-1nsw31l-8"
|
|
80
|
+
})(["height:", ";width:", ";min-width:", ";border-radius:50%;"], ({
|
|
141
81
|
theme
|
|
142
82
|
}) => theme.space.s, ({
|
|
143
83
|
theme
|
|
@@ -145,7 +85,7 @@ const StyledWheelChangeTimeBtn = /*#__PURE__*/styled(DSButton).withConfig({
|
|
|
145
85
|
theme
|
|
146
86
|
}) => theme.space.s);
|
|
147
87
|
const TimeWheelFooterMessage = /*#__PURE__*/styled.footer.withConfig({
|
|
148
|
-
componentId: "sc-1nsw31l-
|
|
88
|
+
componentId: "sc-1nsw31l-9"
|
|
149
89
|
})(["border-top:solid 1px ", ";margin:0 ", ";padding:", " 0;color:", ";font-style:italic;font-weight:", ";font-size:", ";text-align:right;"], ({
|
|
150
90
|
theme
|
|
151
91
|
}) => theme.colors.neutral[300], ({
|
|
@@ -160,4 +100,4 @@ const TimeWheelFooterMessage = /*#__PURE__*/styled.footer.withConfig({
|
|
|
160
100
|
theme
|
|
161
101
|
}) => theme.fontSizes.microText[200]);
|
|
162
102
|
|
|
163
|
-
export { StyledTimeBtn, StyledTimePickerContainer, StyledTimePickerHead, StyledTimePickerWheelWrapper, StyledTimePickerWheelsLegend, StyledWheelChangeTimeBtn, StyledWheelList, StyledWheelListItem, TimeWheelFooterMessage };
|
|
103
|
+
export { StyledIconTriggerButton, StyledTimeBtn, StyledTimePickerContainer, StyledTimePickerHead, StyledTimePickerWheelWrapper, StyledTimePickerWheelsLegend, StyledWheelChangeTimeBtn, StyledWheelList, StyledWheelListItem, TimeWheelFooterMessage };
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import _jsx from '@babel/runtime/helpers/esm/jsx';
|
|
2
2
|
import React, { useContext } from 'react';
|
|
3
|
+
import { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid.js';
|
|
3
4
|
import { StyledTimePickerContainer, StyledTimePickerHead, StyledTimePickerWheelsLegend, StyledTimePickerWheelWrapper } from './Styleds.js';
|
|
4
5
|
import { HoursList } from './HoursList.js';
|
|
5
6
|
import { MinutesList } from './MinutesList.js';
|
|
@@ -19,8 +20,9 @@ const TimeWheelContent = /*#__PURE__*/React.memo(({
|
|
|
19
20
|
} = useContext(TimeWheelContext);
|
|
20
21
|
return /*#__PURE__*/_jsx(StyledTimePickerContainer, {
|
|
21
22
|
showShadow: showShadow,
|
|
22
|
-
isControllerOnly: isControllerOnly
|
|
23
|
-
|
|
23
|
+
isControllerOnly: isControllerOnly,
|
|
24
|
+
"data-testid": ControlledDateTimePickerDatatestid.CONTROLLER_COMPONENT.TIMEWHEEL
|
|
25
|
+
}, void 0, /*#__PURE__*/_jsx(StyledTimePickerHead, {}, void 0, "".concat(hours || '__', ":").concat(minutes || '__', " ").concat(meridiem || '__')), _StyledTimePickerWhee || (_StyledTimePickerWhee = /*#__PURE__*/_jsx(StyledTimePickerWheelsLegend, {}, void 0, /*#__PURE__*/_jsx("div", {}, void 0, "H"), /*#__PURE__*/_jsx("div", {}, void 0, "M"), /*#__PURE__*/_jsx("div", {}, void 0, "A"))), _StyledTimePickerWhee2 || (_StyledTimePickerWhee2 = /*#__PURE__*/_jsx(StyledTimePickerWheelWrapper, {}, void 0, /*#__PURE__*/_jsx(HoursList, {}), /*#__PURE__*/_jsx(MinutesList, {}), /*#__PURE__*/_jsx(MeridiemList, {}))), _TimeWheelFooter || (_TimeWheelFooter = /*#__PURE__*/_jsx(TimeWheelFooter, {})));
|
|
24
26
|
});
|
|
25
27
|
|
|
26
28
|
export { TimeWheelContent };
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import _jsx from '@babel/runtime/helpers/esm/jsx';
|
|
2
2
|
import { useContext, useMemo } from 'react';
|
|
3
|
-
import
|
|
3
|
+
import { DSIconColors } from '@elliemae/ds-icon';
|
|
4
|
+
import { DSButtonV2, BUTTON_SIZES } from '@elliemae/ds-button';
|
|
4
5
|
import RecentDocuments from '@elliemae/ds-icons/RecentDocuments';
|
|
5
6
|
import { TimeWheelContext } from './TimeWheelContext.js';
|
|
6
7
|
import { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid.js';
|
|
7
8
|
|
|
8
|
-
var _RecentDocuments;
|
|
9
9
|
// this is particularly useful due to how usePopper needs to check the references
|
|
10
10
|
// since references are saved in a immutable way, we make sure to shortcircuit useless-re-renders
|
|
11
11
|
|
|
@@ -13,18 +13,20 @@ const TimeWheelIconTrigger = () => {
|
|
|
13
13
|
const {
|
|
14
14
|
handleSetTriggerRef,
|
|
15
15
|
handleToggleTimePicker,
|
|
16
|
-
handlePickerIconKeyDown
|
|
16
|
+
handlePickerIconKeyDown,
|
|
17
|
+
ariaCurrentValueForInputs
|
|
17
18
|
} = useContext(TimeWheelContext);
|
|
18
|
-
return useMemo(() => /*#__PURE__*/_jsx(
|
|
19
|
-
"aria-label": "time picker context menu trigger",
|
|
20
|
-
buttonType: "
|
|
21
|
-
|
|
22
|
-
size: "m",
|
|
19
|
+
return useMemo(() => /*#__PURE__*/_jsx(DSButtonV2, {
|
|
20
|
+
"aria-label": "time picker context menu trigger, ".concat(ariaCurrentValueForInputs),
|
|
21
|
+
buttonType: "icon",
|
|
22
|
+
size: BUTTON_SIZES.M,
|
|
23
23
|
innerRef: handleSetTriggerRef,
|
|
24
24
|
onClick: handleToggleTimePicker,
|
|
25
25
|
onKeyDown: handlePickerIconKeyDown,
|
|
26
26
|
"data-testid": ControlledDateTimePickerDatatestid.PICKER_ICONS.TIMEWHEEL
|
|
27
|
-
}
|
|
27
|
+
}, void 0, /*#__PURE__*/_jsx(RecentDocuments, {
|
|
28
|
+
color: DSIconColors.PRIMARY
|
|
29
|
+
})), [ariaCurrentValueForInputs, handlePickerIconKeyDown, handleSetTriggerRef, handleToggleTimePicker]);
|
|
28
30
|
};
|
|
29
31
|
|
|
30
32
|
export { TimeWheelIconTrigger };
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
|
|
2
2
|
import _jsx from '@babel/runtime/helpers/esm/jsx';
|
|
3
3
|
import { useContext } from 'react';
|
|
4
|
+
import { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid.js';
|
|
4
5
|
import { TimeWheelContent } from './TimeWheelContent.js';
|
|
5
6
|
import { TimeWheelContext } from './TimeWheelContext.js';
|
|
6
7
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
@@ -30,6 +31,7 @@ const TimeWheelWrapper = () => {
|
|
|
30
31
|
zIndex: 110
|
|
31
32
|
})
|
|
32
33
|
}, attributes.popper), {}, {
|
|
34
|
+
"data-testid": ControlledDateTimePickerDatatestid.CONTEXTUAL_MENU.TIMEWHEEL,
|
|
33
35
|
children: [_TimeWheelContent2 || (_TimeWheelContent2 = /*#__PURE__*/_jsx(TimeWheelContent, {
|
|
34
36
|
showShadow: true
|
|
35
37
|
})), /*#__PURE__*/jsx("div", {
|
|
@@ -31,7 +31,8 @@ const useConfigTimePickerCTX = () => {
|
|
|
31
31
|
nextMeridiemBtnRef,
|
|
32
32
|
isControllerOnly,
|
|
33
33
|
isWithCalendarToo,
|
|
34
|
-
autoFocusHourTimeWheel
|
|
34
|
+
autoFocusHourTimeWheel,
|
|
35
|
+
ariaCurrentValueForInputs
|
|
35
36
|
} = useContext(ControlledDateTimePickerContext);
|
|
36
37
|
const {
|
|
37
38
|
currHourNum,
|
|
@@ -172,8 +173,9 @@ const useConfigTimePickerCTX = () => {
|
|
|
172
173
|
prevMeridiemBtnRef,
|
|
173
174
|
currMeridiemBtnRef,
|
|
174
175
|
nextMeridiemBtnRef,
|
|
175
|
-
getIsDisabledTime
|
|
176
|
-
|
|
176
|
+
getIsDisabledTime,
|
|
177
|
+
ariaCurrentValueForInputs
|
|
178
|
+
}), [tempTimeString, isControllerOnly, autoFocusHourTimeWheel, showTimePicker, setShowTimePicker, setPopperElement, setArrowElement, usePopperHelpers, handleToggleTimePicker, handleSetTriggerRef, handleMenuWrapperKeyDown, currHourNum, hours, visibleHours, handlePrevHour, handleNextHour, handleTimeWheelBtnChangeHours, currMinuteNum, minutes, visibleMinutes, handlePrevMinute, handleNextMinute, handleTimeWheelBtnChangeMinutes, meridiem, handleTimeWheelBtnChangeMeridiem, handlePrevHourBtnOnKeyDown, handleCurrHourOnKeyDown, handleNextHourBtnOnKeyDown, handlePrevMinuteBtnOnKeyDown, handleCurrMinutesOnKeyDown, handleNextMinuteBtnOnKeyDown, handlePrevMeridiemBtnOnKeyDown, handleCurrMeridiemOnKeyDown, handleNextMeridiemBtnOnKeyDown, handlePickerIconKeyDown, prevHourBtnRef, currHourBtnRef, nextHourBtnRef, prevMinutesBtnRef, currMinutesBtnRef, nextMinutesBtnRef, prevMeridiemBtnRef, currMeridiemBtnRef, nextMeridiemBtnRef, getIsDisabledTime, ariaCurrentValueForInputs]);
|
|
177
179
|
};
|
|
178
180
|
|
|
179
181
|
export { useConfigTimePickerCTX };
|
package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js
CHANGED
|
@@ -11,7 +11,7 @@ const hoursStartPositionOffset = 1; // if array start from 01, this is 1, if sta
|
|
|
11
11
|
|
|
12
12
|
const getTotalMinuteListWithStep = (step = 1) => {
|
|
13
13
|
const length = Math.ceil(60 / step);
|
|
14
|
-
return new Array(length).fill('_').map((_v, i) => prependStringWithPlaceHolders(
|
|
14
|
+
return new Array(length).fill('_').map((_v, i) => prependStringWithPlaceHolders("".concat(i * step), 2));
|
|
15
15
|
};
|
|
16
16
|
|
|
17
17
|
const useCurrentDisplayedWheelsLogic = ({
|
|
@@ -90,7 +90,7 @@ const useCurrentDisplayedWheelsLogic = ({
|
|
|
90
90
|
}, [handleChangeHours]);
|
|
91
91
|
const handleChangeCurrHour = useCallback((offset, e) => {
|
|
92
92
|
const newH = currHourNum + offset;
|
|
93
|
-
if (newH > 0 && newH <= 12) handleChangeHours(prependStringWithPlaceHolders(
|
|
93
|
+
if (newH > 0 && newH <= 12) handleChangeHours(prependStringWithPlaceHolders("".concat(newH), 2), e);
|
|
94
94
|
}, [currHourNum, handleChangeHours]);
|
|
95
95
|
const handlePrevHour = useCallback(e => {
|
|
96
96
|
handleChangeCurrHour(-1, e);
|
|
@@ -103,7 +103,7 @@ const useCurrentDisplayedWheelsLogic = ({
|
|
|
103
103
|
}, [handleChangeMinutes]);
|
|
104
104
|
const handleChangeCurrMinute = useCallback((offset, e) => {
|
|
105
105
|
const newM = currMinuteNum + offset;
|
|
106
|
-
if (newM >= 0 && newM <= 59) handleChangeMinutes(prependStringWithPlaceHolders(
|
|
106
|
+
if (newM >= 0 && newM <= 59) handleChangeMinutes(prependStringWithPlaceHolders("".concat(newM), 2), e);
|
|
107
107
|
}, [currMinuteNum, handleChangeMinutes]);
|
|
108
108
|
const handlePrevMinute = useCallback(e => {
|
|
109
109
|
handleChangeCurrMinute(-minutesInterval, e);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import styled from 'styled-components';
|
|
2
2
|
import { Grid } from '@elliemae/ds-grid';
|
|
3
|
-
import
|
|
3
|
+
import { DSButtonV2 } from '@elliemae/ds-button';
|
|
4
4
|
|
|
5
5
|
/* eslint-disable max-lines */
|
|
6
6
|
const ResettedInput = /*#__PURE__*/styled.input.withConfig({
|
|
@@ -24,10 +24,7 @@ const StyledInputsWrapperGrid = /*#__PURE__*/styled(Grid).withConfig({
|
|
|
24
24
|
theme,
|
|
25
25
|
isControllerOnly,
|
|
26
26
|
hasError
|
|
27
|
-
}) => isControllerOnly ? undefined :
|
|
28
|
-
height: 28px;
|
|
29
|
-
border: 1px solid ${hasError ? theme.colors.danger[900] : theme.colors.neutral[200]};
|
|
30
|
-
`, ({
|
|
27
|
+
}) => isControllerOnly ? undefined : "\n height: 28px; \n border: 1px solid ".concat(hasError ? theme.colors.danger[900] : theme.colors.neutral[200], ";\n "), ({
|
|
31
28
|
justPicker
|
|
32
29
|
}) => justPicker ? '0' : '2px', ({
|
|
33
30
|
withAnyPicker
|
|
@@ -40,23 +37,21 @@ const StyledTimeInputsWrapperGrid = /*#__PURE__*/styled.div.withConfig({
|
|
|
40
37
|
})(["display:grid;grid-template-columns:24px min-content 24px min-content 24px min-content 24px;grid-template-rows:min-content;padding:6px 0;gap:0px 0px;align-items:center;input,p{margin:0;}"]);
|
|
41
38
|
const StyledPickersIconsWrapperGrid = /*#__PURE__*/styled(Grid).withConfig({
|
|
42
39
|
componentId: "sc-1t4k08s-8"
|
|
43
|
-
})(["position:relative;", "
|
|
40
|
+
})(["position:relative;", ":before{content:'';position:absolute;top:0px;left:-1px;width:100%;height:100%;border-radius:2px;z-index:-1;", "}"], ({
|
|
44
41
|
isControllerOnly
|
|
45
42
|
}) => isControllerOnly ? undefined : 'height: 26px;', ({
|
|
46
43
|
theme,
|
|
47
44
|
isControllerOnly,
|
|
48
45
|
hasError
|
|
49
|
-
}) => isControllerOnly ? undefined :
|
|
50
|
-
border-left: 1px solid ${hasError ? theme.colors.danger[900] : theme.colors.neutral[200]}
|
|
51
|
-
`);
|
|
46
|
+
}) => isControllerOnly ? undefined : "\n border-left: 1px solid ".concat(hasError ? theme.colors.danger[900] : theme.colors.neutral[200], "\n "));
|
|
52
47
|
const StyledFocusWithIn = /*#__PURE__*/styled(Grid).withConfig({
|
|
53
48
|
componentId: "sc-1t4k08s-9"
|
|
54
49
|
})(["position:relative;&:focus-within{&:after{display:block;content:' ';position:absolute;top:-5px;left:-2px;width:calc(100% + 4px);height:calc(100% + 10px);border:2px solid ", ";border-radius:2px;pointer-events:none;}}"], ({
|
|
55
50
|
theme
|
|
56
51
|
}) => theme.colors.brand[700]);
|
|
57
|
-
const StyledClearButton = /*#__PURE__*/styled(
|
|
52
|
+
const StyledClearButton = /*#__PURE__*/styled(DSButtonV2).withConfig({
|
|
58
53
|
componentId: "sc-1t4k08s-10"
|
|
59
|
-
})(["height:26px;position:relative;visibility:", "
|
|
54
|
+
})(["height:26px;position:relative;visibility:", ";"], ({
|
|
60
55
|
shouldDisplay
|
|
61
56
|
}) => shouldDisplay ? 'visible' : 'hidden');
|
|
62
57
|
|
|
@@ -18,6 +18,7 @@ const HHInput = /*#__PURE__*/React.memo(({
|
|
|
18
18
|
onKeyDown,
|
|
19
19
|
value,
|
|
20
20
|
placeholder,
|
|
21
|
+
ariaCurrentValueForInputs,
|
|
21
22
|
contextRef,
|
|
22
23
|
autoFocusHourInput
|
|
23
24
|
}) => {
|
|
@@ -40,7 +41,7 @@ const HHInput = /*#__PURE__*/React.memo(({
|
|
|
40
41
|
value: value,
|
|
41
42
|
ref: contextRef,
|
|
42
43
|
placeholder: placeholder,
|
|
43
|
-
"aria-label": "hours input field",
|
|
44
|
+
"aria-label": "hours input field ".concat(ariaCurrentValueForInputs),
|
|
44
45
|
"data-testid": ControlledDateTimePickerDatatestid.TIME_INPUTS.HOUR
|
|
45
46
|
});
|
|
46
47
|
});
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import 'core-js/modules/web.dom-collections.iterator.js';
|
|
1
2
|
import React, { useCallback } from 'react';
|
|
2
3
|
import { Styled2DigitsInput } from '../Styleds.js';
|
|
3
4
|
import { ControlledDateTimePickerDatatestid } from '../../ControlledDateTimePickerDatatestid.js';
|
|
@@ -21,6 +22,7 @@ const MeridiemInput = /*#__PURE__*/React.memo(({
|
|
|
21
22
|
onKeyDown,
|
|
22
23
|
value,
|
|
23
24
|
placeholder,
|
|
25
|
+
ariaCurrentValueForInputs,
|
|
24
26
|
contextRef
|
|
25
27
|
}) => {
|
|
26
28
|
const validateOnChange = useCallback(e => {
|
|
@@ -41,7 +43,7 @@ const MeridiemInput = /*#__PURE__*/React.memo(({
|
|
|
41
43
|
value: value,
|
|
42
44
|
ref: contextRef,
|
|
43
45
|
placeholder: placeholder,
|
|
44
|
-
"aria-label": "meridiem input field",
|
|
46
|
+
"aria-label": "meridiem input field ".concat(ariaCurrentValueForInputs),
|
|
45
47
|
"data-testid": ControlledDateTimePickerDatatestid.TIME_INPUTS.MERIDIEM
|
|
46
48
|
});
|
|
47
49
|
});
|
|
@@ -18,6 +18,7 @@ const MinutesInput = /*#__PURE__*/React.memo(({
|
|
|
18
18
|
onKeyDown,
|
|
19
19
|
value,
|
|
20
20
|
placeholder,
|
|
21
|
+
ariaCurrentValueForInputs,
|
|
21
22
|
contextRef
|
|
22
23
|
}) => {
|
|
23
24
|
const validateOnChange = useCallback(e => {
|
|
@@ -38,7 +39,7 @@ const MinutesInput = /*#__PURE__*/React.memo(({
|
|
|
38
39
|
value: value,
|
|
39
40
|
ref: contextRef,
|
|
40
41
|
placeholder: placeholder,
|
|
41
|
-
"aria-label": "minutes input field",
|
|
42
|
+
"aria-label": "minutes input field ".concat(ariaCurrentValueForInputs),
|
|
42
43
|
"data-testid": ControlledDateTimePickerDatatestid.TIME_INPUTS.MINUTE
|
|
43
44
|
});
|
|
44
45
|
});
|
|
@@ -38,7 +38,8 @@ const TimeInputs = () => {
|
|
|
38
38
|
hourInputRef,
|
|
39
39
|
minutesInputRef,
|
|
40
40
|
// secondsInputRef,
|
|
41
|
-
meridiemInputRef
|
|
41
|
+
meridiemInputRef,
|
|
42
|
+
ariaCurrentValueForInputs
|
|
42
43
|
} = useContext(ControlledDateTimePickerContext);
|
|
43
44
|
return /*#__PURE__*/_jsx(Grid, {
|
|
44
45
|
cols: [fixedValues.smallInputWidth, fixedValues.separatorWidth, fixedValues.smallInputWidth, fixedValues.separatorWidth, fixedValues.smallInputWidth]
|
|
@@ -50,6 +51,7 @@ const TimeInputs = () => {
|
|
|
50
51
|
onKeyDown: onHoursKeyDown,
|
|
51
52
|
contextRef: hourInputRef,
|
|
52
53
|
placeholder: "HH",
|
|
54
|
+
ariaCurrentValueForInputs: ariaCurrentValueForInputs,
|
|
53
55
|
autoFocusHourInput: autoFocusHourInput
|
|
54
56
|
})), _StyledColonSeparator || (_StyledColonSeparator = /*#__PURE__*/_jsx(StyledColonSeparator, {
|
|
55
57
|
alignItems: "center"
|
|
@@ -60,7 +62,8 @@ const TimeInputs = () => {
|
|
|
60
62
|
onFocus: onMeridiemFocus,
|
|
61
63
|
onKeyDown: onMinutesKeyDown,
|
|
62
64
|
contextRef: minutesInputRef,
|
|
63
|
-
placeholder: "MM"
|
|
65
|
+
placeholder: "MM",
|
|
66
|
+
ariaCurrentValueForInputs: ariaCurrentValueForInputs
|
|
64
67
|
})), _StyledSeparator || (_StyledSeparator = /*#__PURE__*/_jsx(StyledSeparator, {}, void 0, " ")), /*#__PURE__*/_jsx(StyledFocusWithIn, {}, void 0, /*#__PURE__*/_jsx(MeridiemInput, {
|
|
65
68
|
value: meridiem,
|
|
66
69
|
onChange: onMeridiemChange,
|
|
@@ -68,7 +71,8 @@ const TimeInputs = () => {
|
|
|
68
71
|
onFocus: onMinutesFocus,
|
|
69
72
|
onKeyDown: onMeridiemKeyDown,
|
|
70
73
|
contextRef: meridiemInputRef,
|
|
71
|
-
placeholder: "AM"
|
|
74
|
+
placeholder: "AM",
|
|
75
|
+
ariaCurrentValueForInputs: ariaCurrentValueForInputs
|
|
72
76
|
})));
|
|
73
77
|
};
|
|
74
78
|
|
|
@@ -1,42 +1,29 @@
|
|
|
1
1
|
import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
|
|
2
2
|
import { useContext, useCallback, useMemo } from 'react';
|
|
3
3
|
import { ControlledDateTimePickerContext } from '../../ControlledDateTimePickerCTX.js';
|
|
4
|
-
import { getFormattedTimeString, prependStringWithPlaceHolders
|
|
4
|
+
import { getFormattedTimeString, prependStringWithPlaceHolders } from '../../utils/stringHelpers.js';
|
|
5
5
|
import { getValidationTimeStringMetaInfo } from '../../utils/timeHelpers.js';
|
|
6
6
|
|
|
7
7
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
8
8
|
|
|
9
9
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
10
|
-
// our source of truth is either the time props or dateTime props
|
|
11
|
-
// based on wheter it's a dateTime picker
|
|
12
|
-
// or a time picker (it's time picker when hideDate is true)
|
|
13
|
-
|
|
14
|
-
const useGetDestructuredTimeValues = ({
|
|
15
|
-
time,
|
|
16
|
-
dateTime,
|
|
17
|
-
isDateTimeSelector
|
|
18
|
-
}) => {
|
|
19
|
-
const timeStringFromProps = useMemo(() => isDateTimeSelector ? dateTimeToTime(dateTime) : time, [time, dateTime, isDateTimeSelector]);
|
|
20
|
-
const deconstructedValues = useMemo(() => deconstructTimeValues(timeStringFromProps), [timeStringFromProps]);
|
|
21
|
-
return deconstructedValues;
|
|
22
|
-
};
|
|
23
|
-
|
|
24
10
|
const useTimeInputs = () => {
|
|
25
11
|
const {
|
|
26
12
|
props: {
|
|
27
|
-
time,
|
|
28
|
-
dateTime,
|
|
29
13
|
onHourChange: appOnHourChange,
|
|
30
14
|
onMinuteChange: appOnMinuteChange,
|
|
31
15
|
// onSecondsChange: appOnSecondsChange,
|
|
32
16
|
onMeridiemChange: appOnMeridiemChange,
|
|
33
|
-
getIsDisabledTime
|
|
17
|
+
getIsDisabledTime,
|
|
18
|
+
minutesInterval
|
|
34
19
|
},
|
|
20
|
+
hours,
|
|
21
|
+
minutes,
|
|
22
|
+
meridiem,
|
|
35
23
|
hideDate,
|
|
36
24
|
withAnyRightController,
|
|
37
25
|
withAnyPicker,
|
|
38
26
|
withClearBtn,
|
|
39
|
-
isDateTimeSelector,
|
|
40
27
|
hourInputRef,
|
|
41
28
|
minutesInputRef,
|
|
42
29
|
// secondsInputRef,
|
|
@@ -48,16 +35,6 @@ const useTimeInputs = () => {
|
|
|
48
35
|
handleChangeComposedTimeString,
|
|
49
36
|
setLatestInteractionRegion
|
|
50
37
|
} = useContext(ControlledDateTimePickerContext);
|
|
51
|
-
const {
|
|
52
|
-
hours,
|
|
53
|
-
minutes,
|
|
54
|
-
// seconds,
|
|
55
|
-
meridiem
|
|
56
|
-
} = useGetDestructuredTimeValues({
|
|
57
|
-
time,
|
|
58
|
-
dateTime,
|
|
59
|
-
isDateTimeSelector
|
|
60
|
-
});
|
|
61
38
|
const setLatestInteractionRegionTimeInputs = useCallback(() => {
|
|
62
39
|
setLatestInteractionRegion('time-inputs');
|
|
63
40
|
}, [setLatestInteractionRegion]);
|
|
@@ -117,7 +94,7 @@ const useTimeInputs = () => {
|
|
|
117
94
|
const hoursInteger = Number.isNaN(hoursStringConvertedToInteger) ? 0 : hoursStringConvertedToInteger;
|
|
118
95
|
let newHours;
|
|
119
96
|
if (key === 'ArrowUp') newHours = hoursInteger + 1 <= 12 ? hoursInteger + 1 : hoursInteger;else newHours = hoursInteger - 1 > 1 ? hoursInteger - 1 : 1;
|
|
120
|
-
newHours = prependStringWithPlaceHolders(
|
|
97
|
+
newHours = prependStringWithPlaceHolders("".concat(newHours), 2);
|
|
121
98
|
handleChangeHours(newHours, e);
|
|
122
99
|
}
|
|
123
100
|
}, [onHomeKeyDown, onEndKeyDown, handleChangeHours, hours]);
|
|
@@ -177,11 +154,11 @@ const useTimeInputs = () => {
|
|
|
177
154
|
const minutesStringConvertedToInteger = Number.parseInt(minutes, 10);
|
|
178
155
|
const minutesInteger = Number.isNaN(minutesStringConvertedToInteger) ? 0 : minutesStringConvertedToInteger;
|
|
179
156
|
let newMinutes;
|
|
180
|
-
if (key === 'ArrowUp') newMinutes = minutesInteger +
|
|
181
|
-
newMinutes = prependStringWithPlaceHolders(
|
|
157
|
+
if (key === 'ArrowUp') newMinutes = minutesInteger + minutesInterval <= 59 ? minutesInteger + minutesInterval : minutesInteger;else newMinutes = minutesInteger - minutesInterval > 0 ? minutesInteger - minutesInterval : 0;
|
|
158
|
+
newMinutes = prependStringWithPlaceHolders("".concat(newMinutes), 2);
|
|
182
159
|
handleChangeMinutes(newMinutes, e);
|
|
183
160
|
}
|
|
184
|
-
}, [onHomeKeyDown, onEndKeyDown,
|
|
161
|
+
}, [onHomeKeyDown, onEndKeyDown, minutes, minutesInterval, handleChangeMinutes]);
|
|
185
162
|
const onMinutesBlur = useCallback(e => {
|
|
186
163
|
var _e$target4;
|
|
187
164
|
|
|
@@ -280,7 +257,7 @@ const useTimeInputs = () => {
|
|
|
280
257
|
var _e$target5, _e$target5$value, _e$target5$value$toUp;
|
|
281
258
|
|
|
282
259
|
let newMeridiem = e === null || e === void 0 ? void 0 : (_e$target5 = e.target) === null || _e$target5 === void 0 ? void 0 : (_e$target5$value = _e$target5.value) === null || _e$target5$value === void 0 ? void 0 : (_e$target5$value$toUp = _e$target5$value.toUpperCase) === null || _e$target5$value$toUp === void 0 ? void 0 : _e$target5$value$toUp.call(_e$target5$value);
|
|
283
|
-
if (newMeridiem.length === 1) newMeridiem =
|
|
260
|
+
if (newMeridiem.length === 1) newMeridiem = "".concat(newMeridiem, "M");
|
|
284
261
|
handleChangeMeridiem(newMeridiem, e); // auto-advance functionality:
|
|
285
262
|
|
|
286
263
|
if (newMeridiem.length === 2 && withAnyRightController) {
|
|
@@ -306,7 +283,7 @@ const useTimeInputs = () => {
|
|
|
306
283
|
var _e$target6, _e$target6$value, _e$target6$value$toUp;
|
|
307
284
|
|
|
308
285
|
const newMeridiem = e === null || e === void 0 ? void 0 : (_e$target6 = e.target) === null || _e$target6 === void 0 ? void 0 : (_e$target6$value = _e$target6.value) === null || _e$target6$value === void 0 ? void 0 : (_e$target6$value$toUp = _e$target6$value.toUpperCase) === null || _e$target6$value$toUp === void 0 ? void 0 : _e$target6$value$toUp.call(_e$target6$value);
|
|
309
|
-
if (newMeridiem.length === 1) handleChangeMeridiem(
|
|
286
|
+
if (newMeridiem.length === 1) handleChangeMeridiem("".concat(newMeridiem, "M"), e, {
|
|
310
287
|
isAutomaticFillTrigger: true
|
|
311
288
|
});
|
|
312
289
|
}, [handleChangeMeridiem]);
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
const weekDays = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
|
|
2
|
+
const monthNames = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
|
|
3
|
+
const announcableCardinalDays = {
|
|
4
|
+
1: 'first',
|
|
5
|
+
2: 'second',
|
|
6
|
+
3: 'third',
|
|
7
|
+
4: 'fourth',
|
|
8
|
+
5: 'fifth',
|
|
9
|
+
6: 'sixth',
|
|
10
|
+
7: 'seventh',
|
|
11
|
+
8: 'eighth',
|
|
12
|
+
9: 'ninth',
|
|
13
|
+
10: 'tenth',
|
|
14
|
+
11: 'eleventh',
|
|
15
|
+
12: 'twelfth',
|
|
16
|
+
13: 'thirteenth',
|
|
17
|
+
14: 'fourteenth',
|
|
18
|
+
15: 'fifteenth',
|
|
19
|
+
16: 'sixteenth',
|
|
20
|
+
17: 'seventeenth',
|
|
21
|
+
18: 'eighteenth',
|
|
22
|
+
19: 'ninteenth',
|
|
23
|
+
20: 'twentieth',
|
|
24
|
+
21: 'twentie first',
|
|
25
|
+
22: 'twentie second',
|
|
26
|
+
23: 'twentie third',
|
|
27
|
+
24: 'twentie fourth',
|
|
28
|
+
25: 'twentie fifth',
|
|
29
|
+
26: 'twentie sixth',
|
|
30
|
+
27: 'twentie seventh',
|
|
31
|
+
28: 'twentie eighth',
|
|
32
|
+
29: 'twentie ninth',
|
|
33
|
+
30: 'thirtieth',
|
|
34
|
+
31: 'thirty first'
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
export { announcableCardinalDays, monthNames, weekDays };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import 'core-js/modules/web.dom-collections.iterator.js';
|
|
1
2
|
import { createRef } from 'react';
|
|
3
|
+
import { monthNames } from './constants.js';
|
|
2
4
|
import { isIncompleteString, deconstructValuesFromDateString, prependStringWithPlaceHolders } from './stringHelpers.js';
|
|
3
5
|
import { convertToPositiveNumberIfPossible } from './numberHelpers.js';
|
|
4
6
|
|
|
5
|
-
/* eslint-disable max-lines */
|
|
6
|
-
const monthNames = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
|
|
7
7
|
const getLastDayOfMonth = (month, year) => new Date(year, month + 1, 0);
|
|
8
8
|
const isValidDayForTheMonth = (month, year, day) => {
|
|
9
9
|
var _Date, _Date$getMonth;
|
|
@@ -184,11 +184,11 @@ const getDateValuesFromDate = day => {
|
|
|
184
184
|
};
|
|
185
185
|
};
|
|
186
186
|
const getDateStringFromDay = day => {
|
|
187
|
-
const monthFromDay = prependStringWithPlaceHolders(
|
|
187
|
+
const monthFromDay = prependStringWithPlaceHolders("".concat(day.getMonth() + 1), 2); // months from 1-12
|
|
188
188
|
|
|
189
|
-
const dayFromDay = prependStringWithPlaceHolders(
|
|
190
|
-
const yearFromDay = prependStringWithPlaceHolders(
|
|
191
|
-
return
|
|
189
|
+
const dayFromDay = prependStringWithPlaceHolders("".concat(day.getDate()), 2);
|
|
190
|
+
const yearFromDay = prependStringWithPlaceHolders("".concat(day.getFullYear()), 4);
|
|
191
|
+
return "".concat(monthFromDay, "/").concat(dayFromDay, "/").concat(yearFromDay);
|
|
192
192
|
};
|
|
193
193
|
const getDayFromDateString = dateString => {
|
|
194
194
|
const {
|