@useblu/ocean-react 1.131.0 → 1.132.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/Date/DatePicker.d.ts +1 -1
- package/Date/DatePicker.d.ts.map +1 -1
- package/Date/DateRange.d.ts +1 -1
- package/Date/DateRange.d.ts.map +1 -1
- package/Date/components/DisabledDaysTooltip.d.ts +2 -0
- package/Date/components/DisabledDaysTooltip.d.ts.map +1 -1
- package/Date/hooks/useDatePicker.d.ts.map +1 -1
- package/Date/hooks/useDateRange.d.ts.map +1 -1
- package/Date/hooks/useDisabledDaysTooltip.d.ts +14 -1
- package/Date/hooks/useDisabledDaysTooltip.d.ts.map +1 -1
- package/Date/types/DatePicker.types.d.ts +7 -3
- package/Date/types/DatePicker.types.d.ts.map +1 -1
- package/Date/types/DateRange.types.d.ts +7 -3
- package/Date/types/DateRange.types.d.ts.map +1 -1
- package/Date/utils/testHelpers.d.ts +9 -0
- package/Date/utils/testHelpers.d.ts.map +1 -1
- package/index.es.js +66 -30
- package/index.es.js.map +1 -1
- package/index.js +66 -30
- package/index.js.map +1 -1
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -34594,35 +34594,65 @@ var getInputPlaceholder = function (localeOption) {
|
|
|
34594
34594
|
|
|
34595
34595
|
function useDisabledDaysTooltip(disabledDaysMessage) {
|
|
34596
34596
|
var _a = e.useState(false), showDisabledTooltip = _a[0], setShowDisabledTooltip = _a[1];
|
|
34597
|
+
var _b = e.useState(''), tooltipMessage = _b[0], setTooltipMessage = _b[1];
|
|
34598
|
+
var _c = e.useState(null), tooltipPosition = _c[0], setTooltipPosition = _c[1];
|
|
34597
34599
|
var tooltipTimerRef = e.useRef(null);
|
|
34598
|
-
var
|
|
34599
|
-
|
|
34600
|
-
|
|
34601
|
-
|
|
34602
|
-
|
|
34603
|
-
|
|
34604
|
-
|
|
34600
|
+
var lastDisabledClickRef = e.useRef(null);
|
|
34601
|
+
var resolveMessage = e.useCallback(function (day) {
|
|
34602
|
+
var _a;
|
|
34603
|
+
if (!disabledDaysMessage)
|
|
34604
|
+
return '';
|
|
34605
|
+
if (typeof disabledDaysMessage === 'string')
|
|
34606
|
+
return disabledDaysMessage;
|
|
34607
|
+
if (!day)
|
|
34608
|
+
return '';
|
|
34609
|
+
var entry = disabledDaysMessage.find(function (e) { return isSameDay(e.date, day); });
|
|
34610
|
+
return (_a = entry === null || entry === void 0 ? void 0 : entry.message) !== null && _a !== void 0 ? _a : '';
|
|
34605
34611
|
}, [disabledDaysMessage]);
|
|
34606
|
-
var
|
|
34607
|
-
|
|
34608
|
-
|
|
34612
|
+
var handleCalendarClick = e.useCallback(function (event) {
|
|
34613
|
+
if (!disabledDaysMessage)
|
|
34614
|
+
return;
|
|
34615
|
+
var target = event.target;
|
|
34616
|
+
var disabledDay = target.closest('button.ods-date__disabled');
|
|
34617
|
+
if (!disabledDay)
|
|
34618
|
+
return;
|
|
34619
|
+
var message = resolveMessage(lastDisabledClickRef.current);
|
|
34620
|
+
if (!message)
|
|
34621
|
+
return;
|
|
34622
|
+
var container = event.currentTarget;
|
|
34623
|
+
var containerRect = container.getBoundingClientRect();
|
|
34624
|
+
var dayRect = disabledDay.getBoundingClientRect();
|
|
34625
|
+
var arrowLeft = dayRect.left - containerRect.left + dayRect.width / 2;
|
|
34626
|
+
var top = dayRect.top - containerRect.top - 12;
|
|
34627
|
+
if (tooltipTimerRef.current)
|
|
34628
|
+
clearTimeout(tooltipTimerRef.current);
|
|
34629
|
+
setTooltipMessage(message);
|
|
34630
|
+
setTooltipPosition({ top: top, arrowLeft: arrowLeft });
|
|
34631
|
+
setShowDisabledTooltip(true);
|
|
34632
|
+
tooltipTimerRef.current = setTimeout(function () { return setShowDisabledTooltip(false); }, 5000);
|
|
34633
|
+
}, [disabledDaysMessage, resolveMessage]);
|
|
34609
34634
|
var createDayClickHandler = e.useCallback(function (originalHandler) {
|
|
34610
34635
|
return function (day, modifiers) {
|
|
34611
34636
|
if (modifiers.disabled) {
|
|
34612
|
-
|
|
34637
|
+
lastDisabledClickRef.current = day;
|
|
34613
34638
|
return;
|
|
34614
34639
|
}
|
|
34615
|
-
|
|
34640
|
+
lastDisabledClickRef.current = null;
|
|
34641
|
+
setShowDisabledTooltip(false);
|
|
34642
|
+
setTooltipPosition(null);
|
|
34616
34643
|
originalHandler(day);
|
|
34617
34644
|
};
|
|
34618
|
-
}, [
|
|
34645
|
+
}, []);
|
|
34619
34646
|
e.useEffect(function () { return function () {
|
|
34620
34647
|
if (tooltipTimerRef.current)
|
|
34621
34648
|
clearTimeout(tooltipTimerRef.current);
|
|
34622
34649
|
}; }, []);
|
|
34623
34650
|
return {
|
|
34624
34651
|
showDisabledTooltip: showDisabledTooltip,
|
|
34652
|
+
tooltipMessage: tooltipMessage,
|
|
34653
|
+
tooltipPosition: tooltipPosition,
|
|
34625
34654
|
createDayClickHandler: createDayClickHandler,
|
|
34655
|
+
handleCalendarClick: handleCalendarClick,
|
|
34626
34656
|
};
|
|
34627
34657
|
}
|
|
34628
34658
|
|
|
@@ -34638,7 +34668,7 @@ function useDatePickerSingle(_a) {
|
|
|
34638
34668
|
var _c = e.useState(''), currentField = _c[0], setCurrentField = _c[1];
|
|
34639
34669
|
var _d = e.useState(), currentMonthToDisplay = _d[0], setCurrentMonthToDisplay = _d[1];
|
|
34640
34670
|
var _e = e.useState(''), datePickerCache = _e[0], setDatePickerCache = _e[1];
|
|
34641
|
-
var _f = useDisabledDaysTooltip(disabledDaysMessage), showDisabledTooltip = _f.showDisabledTooltip, createDayClickHandler = _f.createDayClickHandler;
|
|
34671
|
+
var _f = useDisabledDaysTooltip(disabledDaysMessage), showDisabledTooltip = _f.showDisabledTooltip, tooltipMessage = _f.tooltipMessage, tooltipPosition = _f.tooltipPosition, createDayClickHandler = _f.createDayClickHandler, handleCalendarClick = _f.handleCalendarClick;
|
|
34642
34672
|
var fromDate = parse$1(value || '', localeDateFormat, new Date());
|
|
34643
34673
|
var updateState = function (updateData, updateCache) {
|
|
34644
34674
|
onSelect(updateData);
|
|
@@ -34723,6 +34753,9 @@ function useDatePickerSingle(_a) {
|
|
|
34723
34753
|
handleCloseByOutside: handleCloseByOutside,
|
|
34724
34754
|
currentMonthToDisplay: currentMonthToDisplay,
|
|
34725
34755
|
showDisabledTooltip: showDisabledTooltip,
|
|
34756
|
+
tooltipMessage: tooltipMessage,
|
|
34757
|
+
tooltipPosition: tooltipPosition,
|
|
34758
|
+
handleCalendarClick: handleCalendarClick,
|
|
34726
34759
|
handleDayClickWithModifiers: handleDayClickWithModifiers,
|
|
34727
34760
|
};
|
|
34728
34761
|
}
|
|
@@ -34758,10 +34791,12 @@ var DatePickerHeader = function (_a) {
|
|
|
34758
34791
|
};
|
|
34759
34792
|
|
|
34760
34793
|
var DisabledDaysTooltip = function (_a) {
|
|
34761
|
-
var message = _a.message, show = _a.show, _b = _a.testId, testId = _b === void 0 ? 'datepicker-disabled-tooltip' : _b;
|
|
34762
|
-
if (!show)
|
|
34794
|
+
var message = _a.message, show = _a.show, position = _a.position, _b = _a.testId, testId = _b === void 0 ? 'datepicker-disabled-tooltip' : _b;
|
|
34795
|
+
if (!show || !position)
|
|
34763
34796
|
return null;
|
|
34764
|
-
return (e.createElement("div", { className: "ods-date__disabled-tooltip", role: "tooltip", "data-testid": testId
|
|
34797
|
+
return (e.createElement("div", { className: "ods-date__disabled-tooltip", role: "tooltip", "data-testid": testId, style: { top: "".concat(position.top, "px") } },
|
|
34798
|
+
message,
|
|
34799
|
+
e.createElement("div", { className: "ods-date__disabled-tooltip__arrow", style: { left: "".concat(position.arrowLeft, "px") } })));
|
|
34765
34800
|
};
|
|
34766
34801
|
|
|
34767
34802
|
var DatePickerSingle = e.forwardRef(function (_a, ref) {
|
|
@@ -34772,13 +34807,11 @@ var DatePickerSingle = e.forwardRef(function (_a, ref) {
|
|
|
34772
34807
|
startsToday: startsToday,
|
|
34773
34808
|
locale: locale,
|
|
34774
34809
|
disabledDaysMessage: disabledDaysMessage,
|
|
34775
|
-
}), input1Ref = _c.input1Ref, showDayPicker = _c.showDayPicker, selectedDay = _c.selectedDay, CustomStyles = _c.CustomStyles, localeOption = _c.localeOption, currentField = _c.currentField, inputPlaceholder = _c.inputPlaceholder, inputChange = _c.inputChange, createHandleToggleClick = _c.createHandleToggleClick, formatDay = _c.formatDay, handleCloseByOutside = _c.handleCloseByOutside, currentMonthToDisplay = _c.currentMonthToDisplay, showDisabledTooltip = _c.showDisabledTooltip, handleDayClickWithModifiers = _c.handleDayClickWithModifiers;
|
|
34810
|
+
}), input1Ref = _c.input1Ref, showDayPicker = _c.showDayPicker, selectedDay = _c.selectedDay, CustomStyles = _c.CustomStyles, localeOption = _c.localeOption, currentField = _c.currentField, inputPlaceholder = _c.inputPlaceholder, inputChange = _c.inputChange, createHandleToggleClick = _c.createHandleToggleClick, formatDay = _c.formatDay, handleCloseByOutside = _c.handleCloseByOutside, currentMonthToDisplay = _c.currentMonthToDisplay, showDisabledTooltip = _c.showDisabledTooltip, tooltipMessage = _c.tooltipMessage, tooltipPosition = _c.tooltipPosition, handleCalendarClick = _c.handleCalendarClick, handleDayClickWithModifiers = _c.handleDayClickWithModifiers;
|
|
34776
34811
|
var calendarOpen = inline || showDayPicker;
|
|
34777
34812
|
var CaptionWithTooltip = function (_a) {
|
|
34778
34813
|
var displayMonth = _a.displayMonth;
|
|
34779
|
-
return (e.createElement(e.Fragment, null,
|
|
34780
|
-
DatePickerHeader({ displayMonth: displayMonth, locale: localeOption, mode: 'single' }),
|
|
34781
|
-
disabledDaysMessage && (e.createElement(DisabledDaysTooltip, { message: disabledDaysMessage, show: showDisabledTooltip }))));
|
|
34814
|
+
return (e.createElement(e.Fragment, null, DatePickerHeader({ displayMonth: displayMonth, locale: localeOption, mode: 'single' })));
|
|
34782
34815
|
};
|
|
34783
34816
|
return (e.createElement("div", null,
|
|
34784
34817
|
calendarOpen && !inline && (e.createElement("div", { className: "ods-date-background", "data-testid": "date-picker-outside", onClick: handleCloseByOutside })),
|
|
@@ -34790,10 +34823,11 @@ var DatePickerSingle = e.forwardRef(function (_a, ref) {
|
|
|
34790
34823
|
'date-field-focussed': currentField === 'start-date',
|
|
34791
34824
|
}), name: "start-date", value: value, onChange: (editable && inputChange) || undefined, placeholder: inputPlaceholder, adornment: e.createElement(On, { size: 20, stroke: "#B6B9CC" }), autoComplete: "off", readOnly: !editable, disabled: disabled, error: !disabled && error, inputMode: "numeric", helperText: (!disabled && !showDayPicker && helperText) || undefined, maxLength: 10 }))),
|
|
34792
34825
|
inline && label && (e.createElement("div", { className: "ods-date__inline-label" }, label)),
|
|
34793
|
-
!disabled && calendarOpen && (e.createElement("div", { "data-testid": "datepicker-calendar" },
|
|
34826
|
+
!disabled && calendarOpen && (e.createElement("div", { "data-testid": "datepicker-calendar", className: "ods-date__calendar-container", role: "presentation", onClick: handleCalendarClick },
|
|
34794
34827
|
e.createElement(DayPicker, { mode: "single", locale: localeOption, weekStartsOn: 0, classNames: CustomStyles(inline), className: className, onDayClick: handleDayClickWithModifiers, formatters: { formatDay: formatDay }, selected: selectedDay, disabled: startsToday ? { before: new Date() } : disabledDays, defaultMonth: currentMonthToDisplay, components: {
|
|
34795
34828
|
Caption: CaptionWithTooltip,
|
|
34796
|
-
} })
|
|
34829
|
+
} }),
|
|
34830
|
+
disabledDaysMessage && (e.createElement(DisabledDaysTooltip, { message: tooltipMessage, show: showDisabledTooltip, position: tooltipPosition }))))))));
|
|
34797
34831
|
});
|
|
34798
34832
|
DatePickerSingle.displayName = 'DatePickerSingle';
|
|
34799
34833
|
|
|
@@ -34810,7 +34844,7 @@ function useDatePicker(_a) {
|
|
|
34810
34844
|
var _d = e.useState(), currentMonthToDisplay = _d[0], setCurrentMonthToDisplay = _d[1];
|
|
34811
34845
|
var _e = e.useState({ from: '', to: '' }), datePickerCache = _e[0], setDatePickerCache = _e[1];
|
|
34812
34846
|
var _f = e.useState(false), firstInputClicked = _f[0], setFirstInputClicked = _f[1];
|
|
34813
|
-
var _g = useDisabledDaysTooltip(disabledDaysMessage), showDisabledTooltip = _g.showDisabledTooltip, createDayClickHandler = _g.createDayClickHandler;
|
|
34847
|
+
var _g = useDisabledDaysTooltip(disabledDaysMessage), showDisabledTooltip = _g.showDisabledTooltip, tooltipMessage = _g.tooltipMessage, tooltipPosition = _g.tooltipPosition, createDayClickHandler = _g.createDayClickHandler, handleCalendarClick = _g.handleCalendarClick;
|
|
34814
34848
|
var fromDate = parse$1(values.from, localeDateFormat, new Date());
|
|
34815
34849
|
var toDate = parse$1(values.to, localeDateFormat, new Date());
|
|
34816
34850
|
var updateState = function (updateData, updateCache) {
|
|
@@ -34963,6 +34997,9 @@ function useDatePicker(_a) {
|
|
|
34963
34997
|
handleDayClick: handleDayClick,
|
|
34964
34998
|
handleDayClickWithModifiers: handleDayClickWithModifiers,
|
|
34965
34999
|
showDisabledTooltip: showDisabledTooltip,
|
|
35000
|
+
tooltipMessage: tooltipMessage,
|
|
35001
|
+
tooltipPosition: tooltipPosition,
|
|
35002
|
+
handleCalendarClick: handleCalendarClick,
|
|
34966
35003
|
inputChange: inputChange,
|
|
34967
35004
|
createHandleToggleClick: createHandleToggleClick,
|
|
34968
35005
|
formatDay: formatDay,
|
|
@@ -34980,7 +35017,7 @@ var DatePickerRange = e.forwardRef(function (_a, ref) {
|
|
|
34980
35017
|
startsToday: startsToday,
|
|
34981
35018
|
locale: locale,
|
|
34982
35019
|
disabledDaysMessage: disabledDaysMessage,
|
|
34983
|
-
}), input1Ref = _b.input1Ref, input2Ref = _b.input2Ref, showDayPicker = _b.showDayPicker, selectedDays = _b.selectedDays, CustomStyles = _b.CustomStyles, localeOption = _b.localeOption, currentField = _b.currentField, inputPlaceholder = _b.inputPlaceholder, handleDayMouseEnter = _b.handleDayMouseEnter, handleDayClickWithModifiers = _b.handleDayClickWithModifiers, showDisabledTooltip = _b.showDisabledTooltip, handleDisplayMonth = _b.handleDisplayMonth, inputChange = _b.inputChange, createHandleToggleClick = _b.createHandleToggleClick, formatDay = _b.formatDay, handleCloseByOutside = _b.handleCloseByOutside, currentMonthToDisplay = _b.currentMonthToDisplay;
|
|
35020
|
+
}), input1Ref = _b.input1Ref, input2Ref = _b.input2Ref, showDayPicker = _b.showDayPicker, selectedDays = _b.selectedDays, CustomStyles = _b.CustomStyles, localeOption = _b.localeOption, currentField = _b.currentField, inputPlaceholder = _b.inputPlaceholder, handleDayMouseEnter = _b.handleDayMouseEnter, handleDayClickWithModifiers = _b.handleDayClickWithModifiers, showDisabledTooltip = _b.showDisabledTooltip, tooltipMessage = _b.tooltipMessage, tooltipPosition = _b.tooltipPosition, handleCalendarClick = _b.handleCalendarClick, handleDisplayMonth = _b.handleDisplayMonth, inputChange = _b.inputChange, createHandleToggleClick = _b.createHandleToggleClick, formatDay = _b.formatDay, handleCloseByOutside = _b.handleCloseByOutside, currentMonthToDisplay = _b.currentMonthToDisplay;
|
|
34984
35021
|
return (e.createElement("div", null,
|
|
34985
35022
|
showDayPicker && (e.createElement("div", { className: "ods-date-background", "data-testid": "date-picker-outside", onClick: handleCloseByOutside })),
|
|
34986
35023
|
e.createElement("div", __assign$1({ className: classNames('ods-date', className), ref: ref }, rest),
|
|
@@ -34995,15 +35032,14 @@ var DatePickerRange = e.forwardRef(function (_a, ref) {
|
|
|
34995
35032
|
e.createElement(Input, { ref: input2Ref, "data-testid": "datepicker-input-2", id: "end-date", type: "text", className: classNames({
|
|
34996
35033
|
'date-field-focussed': currentField === 'end-date',
|
|
34997
35034
|
}), name: "end-date", value: values.to, onChange: (editable && inputChange) || undefined, placeholder: inputPlaceholder, adornment: e.createElement(On, { size: 20, stroke: "#B6B9CC" }), autoComplete: "off", readOnly: !editable, disabled: disabled, error: !disabled && error, inputMode: "numeric", helperText: (!disabled && !showDayPicker && helperText) || undefined, maxLength: 10 })),
|
|
34998
|
-
!disabled && showDayPicker && (e.createElement("div", { "data-testid": "datepicker-calendar" },
|
|
35035
|
+
!disabled && showDayPicker && (e.createElement("div", { "data-testid": "datepicker-calendar", className: "ods-date__calendar-container", role: "presentation", onClick: handleCalendarClick },
|
|
34999
35036
|
e.createElement(DayPicker, { mode: "range", locale: localeOption, weekStartsOn: 0, classNames: CustomStyles, className: className, onDayClick: handleDayClickWithModifiers, onDayMouseEnter: function (day) { return handleDayMouseEnter(day); }, formatters: { formatDay: formatDay }, selected: selectedDays, disabled: startsToday ? { before: new Date() } : disabledDays, defaultMonth: currentMonthToDisplay, components: {
|
|
35000
35037
|
Caption: function (_a) {
|
|
35001
35038
|
var displayMonth = _a.displayMonth;
|
|
35002
|
-
return (e.createElement(
|
|
35003
|
-
e.createElement(DatePickerHeader, { locale: localeOption, displayMonth: handleDisplayMonth(displayMonth) }),
|
|
35004
|
-
disabledDaysMessage && (e.createElement(DisabledDaysTooltip, { message: disabledDaysMessage, show: showDisabledTooltip }))));
|
|
35039
|
+
return (e.createElement(DatePickerHeader, { locale: localeOption, displayMonth: handleDisplayMonth(displayMonth) }));
|
|
35005
35040
|
},
|
|
35006
|
-
} })
|
|
35041
|
+
} }),
|
|
35042
|
+
disabledDaysMessage && (e.createElement(DisabledDaysTooltip, { message: tooltipMessage, show: showDisabledTooltip, position: tooltipPosition }))))))));
|
|
35007
35043
|
});
|
|
35008
35044
|
DatePickerRange.displayName = 'DatePickerRange';
|
|
35009
35045
|
|