@elliemae/ds-controlled-form 2.0.0-alpha.7 → 2.0.0-next.1
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-date-range-picker/parts/ControlledDateRangeContent.js +6 -2
- package/cjs/controlled-date-time-picker/ControlledDateTimePickerDatatestid.js +26 -4
- package/cjs/controlled-date-time-picker/config/useControlledDateTimePicker.js +54 -3
- package/cjs/controlled-date-time-picker/config/useGetDestructuredValues.js +146 -0
- 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 +3 -25
- 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 +34 -32
- 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 +39 -20
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.js +56 -37
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +34 -3
- 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 +5 -3
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js +17 -18
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/MeridiemList.js +15 -22
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/MinutesList.js +18 -19
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/SecondsList.js +9 -10
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.js +33 -34
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContent.js +3 -1
- 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/Styleds.js +4 -5
- package/cjs/controlled-date-time-picker/parts/TimeInputs/HHInput.js +2 -1
- package/cjs/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.js +2 -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 +7 -30
- package/cjs/controlled-date-time-picker/utils/constants.js +43 -0
- package/cjs/controlled-date-time-picker/utils/dateHelpers.js +2 -2
- package/cjs/controlled-date-time-picker/utils/dateTimeHelpers.js +2 -2
- package/cjs/controlled-date-time-picker/utils/stringHelpers.js +16 -0
- package/cjs/index.js +1 -1
- package/esm/controlled-date-range-picker/parts/ControlledDateRangeContent.js +6 -2
- package/esm/controlled-date-time-picker/ControlledDateTimePickerDatatestid.js +26 -4
- package/esm/controlled-date-time-picker/config/useControlledDateTimePicker.js +54 -3
- package/esm/controlled-date-time-picker/config/useGetDestructuredValues.js +140 -0
- 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 +6 -27
- 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 +34 -32
- 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 +38 -20
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.js +54 -36
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +35 -4
- 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 +5 -3
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js +17 -16
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/MeridiemList.js +15 -20
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/MinutesList.js +18 -17
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/SecondsList.js +9 -10
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.js +33 -34
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContent.js +3 -1
- 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/Styleds.js +4 -4
- package/esm/controlled-date-time-picker/parts/TimeInputs/HHInput.js +2 -1
- package/esm/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.js +2 -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 +8 -31
- package/esm/controlled-date-time-picker/utils/constants.js +37 -0
- package/esm/controlled-date-time-picker/utils/dateHelpers.js +1 -1
- package/esm/controlled-date-time-picker/utils/dateTimeHelpers.js +2 -2
- package/esm/controlled-date-time-picker/utils/stringHelpers.js +16 -1
- 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
|
@@ -19,14 +19,18 @@ var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
|
|
|
19
19
|
var _ControlledDateRangeF, _ControlledDateRangeT, _ControlledDateRangeC;
|
|
20
20
|
const StyledWrapper = /*#__PURE__*/styled__default["default"].div.withConfig({
|
|
21
21
|
componentId: "sc-e4pfvj-0"
|
|
22
|
-
})(["display:grid;grid-template-columns:auto auto auto;grid-template-rows:auto;
|
|
22
|
+
})(["display:grid;grid-template-columns:auto auto auto;grid-template-rows:auto;", " grid-auto-flow:row;grid-template-areas:'. .';justify-content:center;align-items:center;"], ({
|
|
23
|
+
isControllerOnly
|
|
24
|
+
}) => isControllerOnly ? undefined : 'gap: 0px 8px;');
|
|
23
25
|
const ControlledDateRangeContent = () => {
|
|
24
26
|
const {
|
|
25
27
|
withIcon,
|
|
26
28
|
withInputs,
|
|
27
29
|
isControllerOnly
|
|
28
30
|
} = React.useContext(ControlledDateRangePickerCTX.ControlledDateRangePickerContext);
|
|
29
|
-
return /*#__PURE__*/_jsx__default["default"](StyledWrapper, {
|
|
31
|
+
return /*#__PURE__*/_jsx__default["default"](StyledWrapper, {
|
|
32
|
+
isControllerOnly: isControllerOnly
|
|
33
|
+
}, void 0, withInputs ? /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
30
34
|
children: [_ControlledDateRangeF || (_ControlledDateRangeF = /*#__PURE__*/_jsx__default["default"](ControlledDateRangeFromDate.ControlledDateRangeFromDate, {})), _ControlledDateRangeT || (_ControlledDateRangeT = /*#__PURE__*/_jsx__default["default"](ControlledDateRangeToDate.ControlledDateRangeToDate, {}))]
|
|
31
35
|
}) : null, withIcon || isControllerOnly ? _ControlledDateRangeC || (_ControlledDateRangeC = /*#__PURE__*/_jsx__default["default"](ControlledDateRangeCalendar.ControlledDateRangeCalendar, {})) : null);
|
|
32
36
|
};
|
|
@@ -19,16 +19,38 @@ const ControlledDateTimePickerDatatestid = {
|
|
|
19
19
|
CALENDAR_TIMEWHEEL: 'ds-controlled-date-time-picker-calendar-timewheel-trigger-icon'
|
|
20
20
|
},
|
|
21
21
|
CALENDAR: {
|
|
22
|
+
PREV_YEAR: 'ds-controlled-date-time-picker-calendar-prev-year',
|
|
23
|
+
PREV_MONTH: 'ds-controlled-date-time-picker-calendar-prev-month',
|
|
22
24
|
DAY: 'ds-controlled-date-time-picker-calendar-day',
|
|
23
|
-
FOCUSED_DAY: 'ds-controlled-date-time-picker-calendar-focused-day'
|
|
25
|
+
FOCUSED_DAY: 'ds-controlled-date-time-picker-calendar-focused-day',
|
|
26
|
+
SELECTED_DAY: 'ds-controlled-date-time-picker-calendar-selected-day',
|
|
27
|
+
SELECTED_FOCUSED_DAY: 'ds-controlled-date-time-picker-calendar-selected-focused-day',
|
|
28
|
+
NEXT_MONTH: 'ds-controlled-date-time-picker-calendar-next-month',
|
|
29
|
+
NEXT_YEAR: 'ds-controlled-date-time-picker-calendar-next-year'
|
|
24
30
|
},
|
|
25
31
|
TIMEWHEEL: {
|
|
32
|
+
PREV_HOUR: 'ds-controlled-date-time-picker-timewheel-prev-hour',
|
|
26
33
|
HOUR: 'ds-controlled-date-time-picker-timewheel-hour',
|
|
27
|
-
|
|
34
|
+
CURRENT_HOUR: 'ds-controlled-date-time-picker-timewheel-current-hour',
|
|
35
|
+
NEXT_HOUR: 'ds-controlled-date-time-picker-timewheel-next-hour',
|
|
36
|
+
PREV_MINUTE: 'ds-controlled-date-time-picker-timewheel-prev-minute',
|
|
28
37
|
MINUTE: 'ds-controlled-date-time-picker-timewheel-minute',
|
|
29
|
-
|
|
38
|
+
CURRENT_MINUTE: 'ds-controlled-date-time-picker-timewheel-current-minute',
|
|
39
|
+
NEXT_MINUTE: 'ds-controlled-date-time-picker-timewheel-next-minute',
|
|
40
|
+
PREV_MERIDIEM: 'ds-controlled-date-time-picker-timewheel-prev-meridiem',
|
|
30
41
|
MERIDIEM: 'ds-controlled-date-time-picker-timewheel-meridiem',
|
|
31
|
-
|
|
42
|
+
CURRENT_MERIDIEM: 'ds-controlled-date-time-picker-timewheel-current-meridiem',
|
|
43
|
+
NEXT_MERIDIEM: 'ds-controlled-date-time-picker-timewheel-next-meridiem'
|
|
44
|
+
},
|
|
45
|
+
CONTEXTUAL_MENU: {
|
|
46
|
+
CALENDAR: 'ds-controlled-date-time-picker-calendar-context-content-wrapper',
|
|
47
|
+
TIMEWHEEL: 'ds-controlled-date-time-picker-timewheel-context-content-wrapper',
|
|
48
|
+
CALENDAR_TIMEWHEEL: 'ds-controlled-date-time-picker-calendar-timewheel-context-content-wrapper'
|
|
49
|
+
},
|
|
50
|
+
CONTROLLER_COMPONENT: {
|
|
51
|
+
CALENDAR: 'ds-controlled-date-time-picker-calendar-controller-wrapper',
|
|
52
|
+
TIMEWHEEL: 'ds-controlled-date-time-picker-timewheel-controller-wrapper',
|
|
53
|
+
CALENDAR_TIMEWHEEL: 'ds-controlled-date-time-picker-calendar-timewheel-controller-wrapper'
|
|
32
54
|
},
|
|
33
55
|
CLEAR_BUTTON: 'ds-controlled-date-time-picker-clear-btn'
|
|
34
56
|
};
|
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var useGetPropsWithDefault = require('./useGetPropsWithDefault.js');
|
|
8
|
+
var useGetDestructuredValues = require('./useGetDestructuredValues.js');
|
|
8
9
|
var ControlledDateTimePickerTypes = require('../ControlledDateTimePickerTypes.js');
|
|
9
10
|
var useValidateProps = require('./useValidateProps.js');
|
|
10
11
|
var dateHelpers = require('../utils/dateHelpers.js');
|
|
@@ -65,7 +66,10 @@ const useControlledDateTimePicker = props => {
|
|
|
65
66
|
onYearChange: appOnYearChange,
|
|
66
67
|
onHourChange: appOnHourChange,
|
|
67
68
|
onMinuteChange: appOnMinuteChange,
|
|
68
|
-
onMeridiemChange: appOnMeridiemChange
|
|
69
|
+
onMeridiemChange: appOnMeridiemChange,
|
|
70
|
+
date: appDate,
|
|
71
|
+
time: appTime,
|
|
72
|
+
dateTime: appDateTime
|
|
69
73
|
} = propsWithDefaults;
|
|
70
74
|
const dateStringFromProps = React.useMemo(() => propsWithDefaults.dateTime && propsWithDefaults.dateTime !== '' ? stringHelpers.dateTimeToDate(propsWithDefaults.dateTime) : propsWithDefaults.date && propsWithDefaults.date !== '' ? propsWithDefaults.date : '__/__/____', [propsWithDefaults.date, propsWithDefaults.dateTime]); // don't use tempDateString to trigger useEffect for onDateChange
|
|
71
75
|
// that is an anti-pattern and leads to a lot of issue
|
|
@@ -103,6 +107,33 @@ const useControlledDateTimePicker = props => {
|
|
|
103
107
|
const shouldPreserveClearableSpace = isClearable && withAnyInputs;
|
|
104
108
|
const withAnyRightController = withAnyPicker || withClearBtn || shouldPreserveClearableSpace;
|
|
105
109
|
const [latestInteractionRegion, setLatestInteractionRegion] = React.useState('');
|
|
110
|
+
const {
|
|
111
|
+
month,
|
|
112
|
+
day,
|
|
113
|
+
year,
|
|
114
|
+
monthNum,
|
|
115
|
+
dayNum,
|
|
116
|
+
yearNum,
|
|
117
|
+
announcedMonth,
|
|
118
|
+
announcedDay,
|
|
119
|
+
announcedYear,
|
|
120
|
+
announcedDateValues,
|
|
121
|
+
hours,
|
|
122
|
+
minutes,
|
|
123
|
+
meridiem,
|
|
124
|
+
hoursNum,
|
|
125
|
+
minutesNum,
|
|
126
|
+
announcedHours,
|
|
127
|
+
announcedMinutes,
|
|
128
|
+
announcedMeridiem,
|
|
129
|
+
announcedTimeValues
|
|
130
|
+
} = useGetDestructuredValues.useGetDestructuredValues({
|
|
131
|
+
date: appDate,
|
|
132
|
+
time: appTime,
|
|
133
|
+
dateTime: appDateTime,
|
|
134
|
+
isDateTimeSelector
|
|
135
|
+
});
|
|
136
|
+
const ariaCurrentValueForInputs = `current values: ${isWithDateInputs ? `${announcedDateValues}` : ''}${isDateTimeSelector ? ', ' : ''}${isWithTimeInputs ? `${announcedTimeValues}` : ''}`;
|
|
106
137
|
const getDateMetaInfo = React.useCallback((newDateString = null, metaInfo = {}) => {
|
|
107
138
|
const finalDateString = newDateString || tempDateString;
|
|
108
139
|
return _objectSpread(_objectSpread({}, metaInfo), dateHelpers.getValidationDateStringMetaInfo(finalDateString, getIsOutOfRangeDay, getIsDisabledDay));
|
|
@@ -257,8 +288,28 @@ const useControlledDateTimePicker = props => {
|
|
|
257
288
|
withAnyPicker,
|
|
258
289
|
withClearBtn,
|
|
259
290
|
withAnyRightController,
|
|
260
|
-
shouldPreserveClearableSpace
|
|
261
|
-
|
|
291
|
+
shouldPreserveClearableSpace,
|
|
292
|
+
month,
|
|
293
|
+
day,
|
|
294
|
+
year,
|
|
295
|
+
monthNum,
|
|
296
|
+
dayNum,
|
|
297
|
+
yearNum,
|
|
298
|
+
announcedMonth,
|
|
299
|
+
announcedDay,
|
|
300
|
+
announcedYear,
|
|
301
|
+
announcedDateValues,
|
|
302
|
+
hours,
|
|
303
|
+
minutes,
|
|
304
|
+
meridiem,
|
|
305
|
+
hoursNum,
|
|
306
|
+
minutesNum,
|
|
307
|
+
announcedHours,
|
|
308
|
+
announcedMinutes,
|
|
309
|
+
announcedMeridiem,
|
|
310
|
+
announcedTimeValues,
|
|
311
|
+
ariaCurrentValueForInputs
|
|
312
|
+
}), [propsWithDefaults, dateStringFromProps, tempDateString, tempTimeString, handleChangeComposedDateTimeString, handleChangeComposedDateString, handleChangeComposedTimeString, handleClearAll, hideDate, hideTime, hideDateTimePicker, hideDatePicker, hideTimePicker, isDateSelector, isTimeSelector, isDateTimeSelector, isControllerOnly, isWithTimeWheelToo, isWithCalendarToo, isWithDateInputs, isWithDateInputsOnly, isWithTimeInputs, isWithTimeInputsOnly, autoFocusMonthInput, autoFocusHourInput, autoFocusPrevMonthArrow, autoFocusHourTimeWheel, latestInteractionRegion, withAnyInputs, withAnyPicker, withClearBtn, withAnyRightController, shouldPreserveClearableSpace, month, day, year, monthNum, dayNum, yearNum, announcedMonth, announcedDay, announcedYear, announcedDateValues, hours, minutes, meridiem, hoursNum, minutesNum, announcedHours, announcedMinutes, announcedMeridiem, announcedTimeValues, ariaCurrentValueForInputs] // refs are mutable so we don't need to listen to them
|
|
262
313
|
);
|
|
263
314
|
return ctx;
|
|
264
315
|
};
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var stringHelpers = require('../utils/stringHelpers.js');
|
|
7
|
+
var numberHelpers = require('../utils/numberHelpers.js');
|
|
8
|
+
var constants = require('../utils/constants.js');
|
|
9
|
+
|
|
10
|
+
/* eslint-disable max-lines */
|
|
11
|
+
// this is because it's fully controlled
|
|
12
|
+
// our source of truth is either the date props or dateTime props
|
|
13
|
+
// based on wheter it's a dateTime picker
|
|
14
|
+
// or a date picker (it's date picker when hideTime is true)
|
|
15
|
+
const useGetDestructuredDateValues = ({
|
|
16
|
+
date,
|
|
17
|
+
dateTime,
|
|
18
|
+
isDateTimeSelector
|
|
19
|
+
}) => {
|
|
20
|
+
const dateStringFromProps = isDateTimeSelector ? stringHelpers.dateTimeToDate(dateTime) : date;
|
|
21
|
+
const deconstructedValues = stringHelpers.deconstructValuesFromDateString(dateStringFromProps);
|
|
22
|
+
const {
|
|
23
|
+
month,
|
|
24
|
+
day,
|
|
25
|
+
year
|
|
26
|
+
} = deconstructedValues;
|
|
27
|
+
const monthNum = numberHelpers.convertToPositiveNumberIfPossible(month);
|
|
28
|
+
const dayNum = numberHelpers.convertToPositiveNumberIfPossible(day);
|
|
29
|
+
const yearNum = numberHelpers.convertToPositiveNumberIfPossible(year);
|
|
30
|
+
const announcedMonth = monthNum !== -1 ? constants.monthNames[monthNum - 1] : 'empty month';
|
|
31
|
+
const announcedDay = dayNum !== -1 ? constants.announcableCardinalDays[dayNum] : 'empty day';
|
|
32
|
+
const announcedYear = yearNum !== -1 ? stringHelpers.fillStringWithPlaceHolders(`${yearNum}`, 4, '0') : 'empty year';
|
|
33
|
+
const announcedDateValues = `${announcedMonth}, ${announcedDay}, ${announcedYear}`;
|
|
34
|
+
return React.useMemo(() => ({
|
|
35
|
+
month,
|
|
36
|
+
day,
|
|
37
|
+
year,
|
|
38
|
+
monthNum,
|
|
39
|
+
dayNum,
|
|
40
|
+
yearNum,
|
|
41
|
+
announcedMonth,
|
|
42
|
+
announcedDay,
|
|
43
|
+
announcedYear,
|
|
44
|
+
announcedDateValues
|
|
45
|
+
}), [announcedDay, announcedMonth, announcedYear, announcedDateValues, day, dayNum, month, monthNum, year, yearNum]);
|
|
46
|
+
}; // this is because it's fully controlled
|
|
47
|
+
// our source of truth is either the time props or dateTime props
|
|
48
|
+
// based on wheter it's a dateTime picker
|
|
49
|
+
// or a time picker (it's time picker when hideDate is true)
|
|
50
|
+
|
|
51
|
+
const useGetDestructuredTimeValues = ({
|
|
52
|
+
time,
|
|
53
|
+
dateTime,
|
|
54
|
+
isDateTimeSelector
|
|
55
|
+
}) => {
|
|
56
|
+
const timeStringFromProps = isDateTimeSelector ? stringHelpers.dateTimeToTime(dateTime) : time;
|
|
57
|
+
const deconstructedValues = stringHelpers.deconstructTimeValues(timeStringFromProps);
|
|
58
|
+
const {
|
|
59
|
+
hours,
|
|
60
|
+
minutes,
|
|
61
|
+
meridiem
|
|
62
|
+
} = deconstructedValues;
|
|
63
|
+
const hoursNum = numberHelpers.convertToPositiveNumberIfPossible(hours);
|
|
64
|
+
const minutesNum = numberHelpers.convertToPositiveNumberIfPossible(minutes); // 01 -> 1 ~ 09 -> 9 || 1_ -> 1 ~ 9_ -> 9 || empty...
|
|
65
|
+
|
|
66
|
+
const announcedHours = hoursNum !== -1 ? `${hoursNum}` : 'empty hours'; // 01 -> 1 ~ 09 -> 9 || 1_ -> 1 ~ 9_ -> 9 || empty...
|
|
67
|
+
|
|
68
|
+
const announcedMinutes = minutesNum !== -1 ? `${minutesNum}` : 'empty minutes';
|
|
69
|
+
const announcedMeridiem = // eslint-disable-next-line no-nested-ternary
|
|
70
|
+
meridiem === 'PM' ? `post meridiem` : meridiem === 'AM' ? 'ante meridiem' : 'empty meriediem';
|
|
71
|
+
const announcedTimeValues = `${announcedHours}, ${announcedMinutes}, ${announcedMeridiem}`;
|
|
72
|
+
return React.useMemo(() => ({
|
|
73
|
+
hours,
|
|
74
|
+
minutes,
|
|
75
|
+
meridiem,
|
|
76
|
+
hoursNum,
|
|
77
|
+
minutesNum,
|
|
78
|
+
announcedHours,
|
|
79
|
+
announcedMinutes,
|
|
80
|
+
announcedMeridiem,
|
|
81
|
+
announcedTimeValues
|
|
82
|
+
}), [hours, minutes, meridiem, hoursNum, minutesNum, announcedHours, announcedMinutes, announcedMeridiem, announcedTimeValues]);
|
|
83
|
+
};
|
|
84
|
+
const useGetDestructuredValues = ({
|
|
85
|
+
date,
|
|
86
|
+
time,
|
|
87
|
+
dateTime,
|
|
88
|
+
isDateTimeSelector
|
|
89
|
+
}) => {
|
|
90
|
+
const {
|
|
91
|
+
month,
|
|
92
|
+
day,
|
|
93
|
+
year,
|
|
94
|
+
monthNum,
|
|
95
|
+
dayNum,
|
|
96
|
+
yearNum,
|
|
97
|
+
announcedMonth,
|
|
98
|
+
announcedDay,
|
|
99
|
+
announcedYear,
|
|
100
|
+
announcedDateValues
|
|
101
|
+
} = useGetDestructuredDateValues({
|
|
102
|
+
date,
|
|
103
|
+
dateTime,
|
|
104
|
+
isDateTimeSelector
|
|
105
|
+
});
|
|
106
|
+
const {
|
|
107
|
+
hours,
|
|
108
|
+
minutes,
|
|
109
|
+
meridiem,
|
|
110
|
+
hoursNum,
|
|
111
|
+
minutesNum,
|
|
112
|
+
announcedHours,
|
|
113
|
+
announcedMinutes,
|
|
114
|
+
announcedMeridiem,
|
|
115
|
+
announcedTimeValues
|
|
116
|
+
} = useGetDestructuredTimeValues({
|
|
117
|
+
time,
|
|
118
|
+
dateTime,
|
|
119
|
+
isDateTimeSelector
|
|
120
|
+
});
|
|
121
|
+
return React.useMemo(() => ({
|
|
122
|
+
month,
|
|
123
|
+
day,
|
|
124
|
+
year,
|
|
125
|
+
monthNum,
|
|
126
|
+
dayNum,
|
|
127
|
+
yearNum,
|
|
128
|
+
announcedMonth,
|
|
129
|
+
announcedDay,
|
|
130
|
+
announcedYear,
|
|
131
|
+
announcedDateValues,
|
|
132
|
+
hours,
|
|
133
|
+
minutes,
|
|
134
|
+
meridiem,
|
|
135
|
+
hoursNum,
|
|
136
|
+
minutesNum,
|
|
137
|
+
announcedHours,
|
|
138
|
+
announcedMinutes,
|
|
139
|
+
announcedMeridiem,
|
|
140
|
+
announcedTimeValues
|
|
141
|
+
}), [month, day, year, monthNum, dayNum, yearNum, announcedMonth, announcedDay, announcedYear, announcedDateValues, hours, minutes, meridiem, hoursNum, minutesNum, announcedHours, announcedMinutes, announcedMeridiem, announcedTimeValues]);
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
exports.useGetDestructuredDateValues = useGetDestructuredDateValues;
|
|
145
|
+
exports.useGetDestructuredTimeValues = useGetDestructuredTimeValues;
|
|
146
|
+
exports.useGetDestructuredValues = useGetDestructuredValues;
|
|
@@ -18,7 +18,7 @@ exports.ControlledDateTimePickerDatatestid = ControlledDateTimePickerDatatestid.
|
|
|
18
18
|
exports.CONTROLLED_DATE_TIME_PICKER_TYPES = ControlledDateTimePickerTypes.CONTROLLED_DATE_TIME_PICKER_TYPES;
|
|
19
19
|
exports.deconstructValuesFromDateString = stringHelpers.deconstructValuesFromDateString;
|
|
20
20
|
exports.prependStringWithPlaceHolders = stringHelpers.prependStringWithPlaceHolders;
|
|
21
|
-
exports.
|
|
21
|
+
exports.getValidationDateTimeStringMetaInfo = dateTimeHelpers.getValidationDateTimeStringMetaInfo;
|
|
22
22
|
exports.getDateStringFromDay = dateHelpers.getDateStringFromDay;
|
|
23
23
|
exports.getDateValuesFromDate = dateHelpers.getDateValuesFromDate;
|
|
24
24
|
exports.getDayFromDateString = dateHelpers.getDayFromDateString;
|
|
@@ -5,7 +5,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
6
6
|
require('react');
|
|
7
7
|
var CloseMedium = require('@elliemae/ds-icons/CloseMedium');
|
|
8
|
-
var
|
|
8
|
+
var dsIcon = require('@elliemae/ds-icon');
|
|
9
|
+
var dsButton = require('@elliemae/ds-button');
|
|
9
10
|
var Styleds = require('../Styleds.js');
|
|
10
11
|
var ControlledDateTimePickerDatatestid = require('../../ControlledDateTimePickerDatatestid.js');
|
|
11
12
|
var useClearButton = require('./useClearButton.js');
|
|
@@ -15,7 +16,6 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
15
16
|
var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
16
17
|
var CloseMedium__default = /*#__PURE__*/_interopDefaultLegacy(CloseMedium);
|
|
17
18
|
|
|
18
|
-
var _CloseMedium;
|
|
19
19
|
const ClearButton = () => {
|
|
20
20
|
const {
|
|
21
21
|
onClearClick,
|
|
@@ -27,16 +27,17 @@ const ClearButton = () => {
|
|
|
27
27
|
return /*#__PURE__*/_jsx__default["default"](Styleds.StyledClearButton, {
|
|
28
28
|
shouldDisplay: withClearBtn,
|
|
29
29
|
"aria-label": "clear selected date",
|
|
30
|
-
buttonType: "
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
variant: DSButton.BUTTON_VARIANT.DEFAULT,
|
|
30
|
+
buttonType: "icon",
|
|
31
|
+
size: dsButton.BUTTON_SIZES.M,
|
|
32
|
+
variant: dsButton.BUTTON_VARIANT.DEFAULT,
|
|
34
33
|
"data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.CLEAR_BUTTON,
|
|
35
34
|
innerRef: clearButtonRef,
|
|
36
35
|
onClick: onClearClick,
|
|
37
36
|
onKeyDown: onClearButtonKeyDown,
|
|
38
37
|
withAnyPicker: withAnyPicker
|
|
39
|
-
}
|
|
38
|
+
}, void 0, /*#__PURE__*/_jsx__default["default"](CloseMedium__default["default"], {
|
|
39
|
+
color: dsIcon.DSIconColors.PRIMARY
|
|
40
|
+
}));
|
|
40
41
|
};
|
|
41
42
|
|
|
42
43
|
exports.ClearButton = ClearButton;
|
|
@@ -26,7 +26,8 @@ const DDInput = /*#__PURE__*/React__default["default"].memo(({
|
|
|
26
26
|
onKeyDown,
|
|
27
27
|
value,
|
|
28
28
|
contextRef,
|
|
29
|
-
placeholder
|
|
29
|
+
placeholder,
|
|
30
|
+
ariaCurrentValueForInputs
|
|
30
31
|
}) => {
|
|
31
32
|
const validateOnChange = React.useCallback(e => {
|
|
32
33
|
var _e$target;
|
|
@@ -46,7 +47,7 @@ const DDInput = /*#__PURE__*/React__default["default"].memo(({
|
|
|
46
47
|
value: value,
|
|
47
48
|
ref: contextRef,
|
|
48
49
|
placeholder: placeholder,
|
|
49
|
-
"aria-label":
|
|
50
|
+
"aria-label": `day input field, ${ariaCurrentValueForInputs}`,
|
|
50
51
|
"data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.DATE_INPUTS.DAY
|
|
51
52
|
});
|
|
52
53
|
});
|
|
@@ -41,7 +41,8 @@ const DateInputs = () => {
|
|
|
41
41
|
const {
|
|
42
42
|
monthInputRef,
|
|
43
43
|
dayInputRef,
|
|
44
|
-
yearInputRef
|
|
44
|
+
yearInputRef,
|
|
45
|
+
ariaCurrentValueForInputs
|
|
45
46
|
} = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
|
|
46
47
|
return /*#__PURE__*/_jsx__default["default"](dsGrid.Grid, {
|
|
47
48
|
cols: [config.fixedValues.smallInputWidth, config.fixedValues.separatorWidth, config.fixedValues.smallInputWidth, config.fixedValues.separatorWidth, config.fixedValues.largeInputWidth]
|
|
@@ -53,7 +54,8 @@ const DateInputs = () => {
|
|
|
53
54
|
value: month,
|
|
54
55
|
contextRef: monthInputRef,
|
|
55
56
|
autoFocusMonthInput: autoFocusMonthInput,
|
|
56
|
-
placeholder: "MM"
|
|
57
|
+
placeholder: "MM",
|
|
58
|
+
ariaCurrentValueForInputs: ariaCurrentValueForInputs
|
|
57
59
|
})), _StyledSeparator || (_StyledSeparator = /*#__PURE__*/_jsx__default["default"](Styleds.StyledSeparator, {
|
|
58
60
|
alignItems: "center"
|
|
59
61
|
}, void 0, "/")), /*#__PURE__*/_jsx__default["default"](Styleds.StyledFocusWithIn, {}, void 0, /*#__PURE__*/_jsx__default["default"](DDInput.DDInput, {
|
|
@@ -63,7 +65,8 @@ const DateInputs = () => {
|
|
|
63
65
|
onKeyDown: onDayKeyDown,
|
|
64
66
|
value: day,
|
|
65
67
|
contextRef: dayInputRef,
|
|
66
|
-
placeholder: "DD"
|
|
68
|
+
placeholder: "DD",
|
|
69
|
+
ariaCurrentValueForInputs: ariaCurrentValueForInputs
|
|
67
70
|
})), _StyledSeparator2 || (_StyledSeparator2 = /*#__PURE__*/_jsx__default["default"](Styleds.StyledSeparator, {
|
|
68
71
|
alignItems: "center"
|
|
69
72
|
}, void 0, "/")), /*#__PURE__*/_jsx__default["default"](Styleds.StyledFocusWithIn, {}, void 0, /*#__PURE__*/_jsx__default["default"](YYYYInput.YYYYInput, {
|
|
@@ -73,7 +76,8 @@ const DateInputs = () => {
|
|
|
73
76
|
onKeyDown: onYearKeyDown,
|
|
74
77
|
value: year,
|
|
75
78
|
contextRef: yearInputRef,
|
|
76
|
-
placeholder: "YYYY"
|
|
79
|
+
placeholder: "YYYY",
|
|
80
|
+
ariaCurrentValueForInputs: ariaCurrentValueForInputs
|
|
77
81
|
})));
|
|
78
82
|
};
|
|
79
83
|
|
|
@@ -27,7 +27,8 @@ const MMInput = /*#__PURE__*/React__default["default"].memo(({
|
|
|
27
27
|
value,
|
|
28
28
|
placeholder,
|
|
29
29
|
contextRef,
|
|
30
|
-
autoFocusMonthInput
|
|
30
|
+
autoFocusMonthInput,
|
|
31
|
+
ariaCurrentValueForInputs
|
|
31
32
|
}) => {
|
|
32
33
|
const validateOnChange = React.useCallback(e => {
|
|
33
34
|
var _e$target;
|
|
@@ -48,7 +49,7 @@ const MMInput = /*#__PURE__*/React__default["default"].memo(({
|
|
|
48
49
|
value: value,
|
|
49
50
|
ref: contextRef,
|
|
50
51
|
placeholder: placeholder,
|
|
51
|
-
"aria-label":
|
|
52
|
+
"aria-label": `month input field, ${ariaCurrentValueForInputs}`,
|
|
52
53
|
"data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.DATE_INPUTS.MONTH
|
|
53
54
|
});
|
|
54
55
|
});
|
|
@@ -26,7 +26,8 @@ const YYYYInput = /*#__PURE__*/React__default["default"].memo(({
|
|
|
26
26
|
onKeyDown,
|
|
27
27
|
value,
|
|
28
28
|
placeholder,
|
|
29
|
-
contextRef
|
|
29
|
+
contextRef,
|
|
30
|
+
ariaCurrentValueForInputs
|
|
30
31
|
}) => {
|
|
31
32
|
const validateOnChange = React.useCallback(e => {
|
|
32
33
|
var _e$target;
|
|
@@ -46,7 +47,7 @@ const YYYYInput = /*#__PURE__*/React__default["default"].memo(({
|
|
|
46
47
|
value: value,
|
|
47
48
|
ref: contextRef,
|
|
48
49
|
placeholder: placeholder,
|
|
49
|
-
"aria-label":
|
|
50
|
+
"aria-label": `year input field, ${ariaCurrentValueForInputs}`,
|
|
50
51
|
"data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.DATE_INPUTS.YEAR
|
|
51
52
|
});
|
|
52
53
|
});
|
|
@@ -15,30 +15,18 @@ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_definePropert
|
|
|
15
15
|
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; }
|
|
16
16
|
|
|
17
17
|
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__default["default"](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; }
|
|
18
|
-
// our source of truth is either the date props or dateTime props
|
|
19
|
-
// based on wheter it's a dateTime picker
|
|
20
|
-
// or a date picker (it's date picker when hideTime is true)
|
|
21
|
-
|
|
22
|
-
const useGetDestructuredDateValues = ({
|
|
23
|
-
date,
|
|
24
|
-
dateTime,
|
|
25
|
-
hideTime
|
|
26
|
-
}) => {
|
|
27
|
-
const dateStringFromProps = React.useMemo(() => hideTime ? date : stringHelpers.dateTimeToDate(dateTime), [date, dateTime, hideTime]);
|
|
28
|
-
const deconstructedValues = React.useMemo(() => stringHelpers.deconstructValuesFromDateString(dateStringFromProps), [dateStringFromProps]);
|
|
29
|
-
return deconstructedValues;
|
|
30
|
-
};
|
|
31
18
|
const useDateInputs = () => {
|
|
32
19
|
const {
|
|
33
20
|
props: {
|
|
34
|
-
date,
|
|
35
|
-
dateTime,
|
|
36
21
|
onMonthChange: appOnMonthChange,
|
|
37
22
|
onDayChange: appOnDayChange,
|
|
38
23
|
onYearChange: appOnYearChange,
|
|
39
24
|
getIsDisabledDay,
|
|
40
25
|
getIsOutOfRangeDay
|
|
41
26
|
},
|
|
27
|
+
month,
|
|
28
|
+
day,
|
|
29
|
+
year,
|
|
42
30
|
hideTime,
|
|
43
31
|
monthInputRef,
|
|
44
32
|
dayInputRef,
|
|
@@ -54,15 +42,6 @@ const useDateInputs = () => {
|
|
|
54
42
|
withAnyRightController,
|
|
55
43
|
autoFocusMonthInput
|
|
56
44
|
} = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
|
|
57
|
-
const {
|
|
58
|
-
month,
|
|
59
|
-
day,
|
|
60
|
-
year
|
|
61
|
-
} = useGetDestructuredDateValues({
|
|
62
|
-
date,
|
|
63
|
-
dateTime,
|
|
64
|
-
hideTime
|
|
65
|
-
});
|
|
66
45
|
const onHomeKeyDown = React.useCallback(() => {
|
|
67
46
|
var _monthInputRef$curren, _monthInputRef$curren2;
|
|
68
47
|
|
|
@@ -278,4 +257,3 @@ const useDateInputs = () => {
|
|
|
278
257
|
};
|
|
279
258
|
|
|
280
259
|
exports.useDateInputs = useDateInputs;
|
|
281
|
-
exports.useGetDestructuredDateValues = useGetDestructuredDateValues;
|
|
@@ -7,7 +7,6 @@ var React = require('react');
|
|
|
7
7
|
var CalendarMonthDays = require('./CalendarMonthDays.js');
|
|
8
8
|
var CalendarWeekDays = require('./CalendarWeekDays.js');
|
|
9
9
|
var Styleds = require('./Styleds.js');
|
|
10
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
11
10
|
|
|
12
11
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
13
12
|
|
|
@@ -15,8 +14,12 @@ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
|
15
14
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
16
15
|
|
|
17
16
|
var _CalendarWeekDays, _StyledBody;
|
|
18
|
-
const CalendarBody = /*#__PURE__*/React__default["default"].memo((
|
|
19
|
-
|
|
20
|
-
})
|
|
17
|
+
const CalendarBody = /*#__PURE__*/React__default["default"].memo(({
|
|
18
|
+
weekRowsNum
|
|
19
|
+
}) => /*#__PURE__*/_jsx__default["default"]("span", {
|
|
20
|
+
role: "grid",
|
|
21
|
+
"aria-colcount": 7,
|
|
22
|
+
"aria-rowcount": weekRowsNum
|
|
23
|
+
}, void 0, _CalendarWeekDays || (_CalendarWeekDays = /*#__PURE__*/_jsx__default["default"](CalendarWeekDays.CalendarWeekDays, {})), _StyledBody || (_StyledBody = /*#__PURE__*/_jsx__default["default"](Styleds.StyledBody, {}, void 0, /*#__PURE__*/_jsx__default["default"](CalendarMonthDays.CalendarMonthDays, {})))));
|
|
21
24
|
|
|
22
25
|
exports.CalendarBody = CalendarBody;
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
6
6
|
var React = require('react');
|
|
7
|
+
var ControlledDateTimePickerDatatestid = require('../../../ControlledDateTimePickerDatatestid.js');
|
|
7
8
|
var CalendarBody = require('./CalendarBody.js');
|
|
8
9
|
var CalendarHead = require('./CalendarHead.js');
|
|
9
10
|
var CalendarFooter = require('./CalendarFooter.js');
|
|
@@ -14,8 +15,8 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
14
15
|
|
|
15
16
|
var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
16
17
|
|
|
17
|
-
var
|
|
18
|
-
// <
|
|
18
|
+
var _CalendarHead, _CalendarFooter;
|
|
19
|
+
// <StyledShadowWrapper className={className}>
|
|
19
20
|
// is required for styled-components, without this we can't styled(CalendarContent)...
|
|
20
21
|
// https://stackoverflow.com/questions/52542817/styled-components-not-applying-style-to-custom-functional-react-component
|
|
21
22
|
|
|
@@ -23,12 +24,16 @@ const CalendarContent = ({
|
|
|
23
24
|
className = ''
|
|
24
25
|
}) => {
|
|
25
26
|
const {
|
|
26
|
-
isControllerOnly
|
|
27
|
+
isControllerOnly,
|
|
28
|
+
daysMatrixByWeekday
|
|
27
29
|
} = React.useContext(CalendarContext.CalendarContext);
|
|
28
|
-
return /*#__PURE__*/_jsx__default["default"](Styleds.
|
|
30
|
+
return /*#__PURE__*/_jsx__default["default"](Styleds.StyledShadowWrapper, {
|
|
29
31
|
className: className,
|
|
30
|
-
isControllerOnly: isControllerOnly
|
|
31
|
-
|
|
32
|
+
isControllerOnly: isControllerOnly,
|
|
33
|
+
"data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.CONTROLLER_COMPONENT.CALENDAR
|
|
34
|
+
}, void 0, /*#__PURE__*/_jsx__default["default"](Styleds.StyledCalendarWrapper, {}, void 0, _CalendarHead || (_CalendarHead = /*#__PURE__*/_jsx__default["default"](CalendarHead.CalendarHead, {})), /*#__PURE__*/_jsx__default["default"](CalendarBody.CalendarBody, {
|
|
35
|
+
weekRowsNum: daysMatrixByWeekday.length
|
|
36
|
+
}), _CalendarFooter || (_CalendarFooter = /*#__PURE__*/_jsx__default["default"](CalendarFooter.CalendarFooter, {}))));
|
|
32
37
|
};
|
|
33
38
|
|
|
34
39
|
exports.CalendarContent = CalendarContent;
|
|
@@ -8,6 +8,7 @@ var React = require('react');
|
|
|
8
8
|
const noop = () => {};
|
|
9
9
|
|
|
10
10
|
const defaultCalendarContext = {
|
|
11
|
+
ariaCurrentValueForInputs: '',
|
|
11
12
|
showCalendar: false,
|
|
12
13
|
setShowCalendar: noop,
|
|
13
14
|
closeCalendar: noop,
|
|
@@ -25,6 +26,9 @@ const defaultCalendarContext = {
|
|
|
25
26
|
currentMonth: undefined,
|
|
26
27
|
currentYear: undefined,
|
|
27
28
|
daysArray: [],
|
|
29
|
+
invisibleFirstDay: undefined,
|
|
30
|
+
daysMatrixByWeekday: [],
|
|
31
|
+
invisibleLastDay: undefined,
|
|
28
32
|
focusedDay: undefined,
|
|
29
33
|
tryToFocusCurrentlyDataIsFocusedDay: noop,
|
|
30
34
|
resetFocusedDayToStartDate: noop,
|
|
@@ -14,13 +14,32 @@ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
|
14
14
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
15
15
|
|
|
16
16
|
const CalendarDaysList = /*#__PURE__*/React__default["default"].memo(({
|
|
17
|
-
|
|
17
|
+
invisibleFirstDay,
|
|
18
|
+
daysMatrixByWeekday,
|
|
19
|
+
invisibleLastDay,
|
|
18
20
|
innerRef
|
|
19
|
-
}) => /*#__PURE__*/jsxRuntime.
|
|
21
|
+
}) => /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
20
22
|
ref: innerRef,
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
23
|
+
role: "rowgroup",
|
|
24
|
+
children: [/*#__PURE__*/_jsx__default["default"](Day.Day, {
|
|
25
|
+
metaDay: invisibleFirstDay,
|
|
26
|
+
isInvisible: true
|
|
27
|
+
}, `ds-calendar-${invisibleFirstDay.day.toString()}`), daysMatrixByWeekday.map((week, i) => /*#__PURE__*/_jsx__default["default"](Styleds.StyledWeekDaysListWrapper, {
|
|
28
|
+
role: "row",
|
|
29
|
+
"aria-rowindex": i + 1,
|
|
30
|
+
cols: ['32px', '32px', '32px', '32px', '32px', '32px', '32px'],
|
|
31
|
+
rows: ['28px'],
|
|
32
|
+
py: "xxxs",
|
|
33
|
+
px: "2px",
|
|
34
|
+
justifyContent: "space-between",
|
|
35
|
+
alignItems: "center"
|
|
36
|
+
}, `ds-calendar-week-${week[0].day.toString()}-${week[6].day.toString()}`, week.map((metaDay, z) => /*#__PURE__*/_jsx__default["default"](Day.Day, {
|
|
37
|
+
metaDay: metaDay,
|
|
38
|
+
colIndex: z + 1
|
|
39
|
+
}, `ds-calendar-${metaDay.day.toString()}`)))), /*#__PURE__*/_jsx__default["default"](Day.Day, {
|
|
40
|
+
metaDay: invisibleLastDay,
|
|
41
|
+
isInvisible: true
|
|
42
|
+
}, `ds-calendar-${invisibleLastDay.day.toString()}`)]
|
|
24
43
|
}));
|
|
25
44
|
|
|
26
45
|
exports.CalendarDaysList = CalendarDaysList;
|