@bigbinary/neetoui 6.5.8 → 6.5.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.js +92 -11
- package/dist/cjs/index.js.map +1 -1
- package/dist/index.js +92 -11
- package/dist/index.js.map +1 -1
- package/index.d.ts +2 -0
- package/package.json +1 -1
package/dist/cjs/index.js
CHANGED
|
@@ -5794,6 +5794,21 @@ var HoverIcon = function HoverIcon(_ref) {
|
|
|
5794
5794
|
}));
|
|
5795
5795
|
};
|
|
5796
5796
|
|
|
5797
|
+
// A wrapper hook around useState, that updates a ref as well, useful when dealing directly with dom event listeners.
|
|
5798
|
+
var useRefState = function useRefState(val) {
|
|
5799
|
+
// eslint-disable-next-line react/hook-use-state
|
|
5800
|
+
var _useState = React$3.useState(val),
|
|
5801
|
+
_useState2 = Typography._slicedToArray(_useState, 2),
|
|
5802
|
+
value = _useState2[0],
|
|
5803
|
+
_setValue = _useState2[1];
|
|
5804
|
+
var valueRef = React$3.useRef(value);
|
|
5805
|
+
var setValue = function setValue(val) {
|
|
5806
|
+
valueRef.current = val;
|
|
5807
|
+
_setValue(val);
|
|
5808
|
+
};
|
|
5809
|
+
return [value, valueRef, setValue];
|
|
5810
|
+
};
|
|
5811
|
+
|
|
5797
5812
|
var FORMAT = "HH:mm";
|
|
5798
5813
|
var getFormattedTime = function getFormattedTime(value) {
|
|
5799
5814
|
if (Typography.dayjs.isDayjs(value)) {
|
|
@@ -5815,8 +5830,39 @@ var toDayJs = function toDayJs(value) {
|
|
|
5815
5830
|
});
|
|
5816
5831
|
return Typography.dayjs(value, FORMAT);
|
|
5817
5832
|
};
|
|
5833
|
+
var isValidTime = function isValidTime(minTime, maxTime, value) {
|
|
5834
|
+
if (neetoCist.isPresent(minTime) && toDayJs(value).isBefore(toDayJs(minTime))) {
|
|
5835
|
+
return false;
|
|
5836
|
+
}
|
|
5837
|
+
return !(neetoCist.isPresent(maxTime) && toDayJs(value).isAfter(toDayJs(maxTime)));
|
|
5838
|
+
};
|
|
5839
|
+
var isValidRange = function isValidRange(minTime, maxTime, value) {
|
|
5840
|
+
return value.every(function (item) {
|
|
5841
|
+
return isValid(minTime, maxTime, item);
|
|
5842
|
+
});
|
|
5843
|
+
};
|
|
5844
|
+
var isValid = function isValid(minTime, maxTime, value) {
|
|
5845
|
+
return (Array.isArray(value) ? isValidRange : isValidTime)(minTime, maxTime, value);
|
|
5846
|
+
};
|
|
5847
|
+
var getValidTime = function getValidTime(minTime, maxTime, value) {
|
|
5848
|
+
if (neetoCist.isPresent(minTime) && toDayJs(value).isBefore(toDayJs(minTime))) {
|
|
5849
|
+
return minTime;
|
|
5850
|
+
}
|
|
5851
|
+
if (neetoCist.isPresent(maxTime) && toDayJs(value).isAfter(toDayJs(maxTime))) {
|
|
5852
|
+
return maxTime;
|
|
5853
|
+
}
|
|
5854
|
+
return value;
|
|
5855
|
+
};
|
|
5856
|
+
var getValidRange = function getValidRange(minTime, maxTime, value) {
|
|
5857
|
+
return value.map(function (item) {
|
|
5858
|
+
return getValidTime(minTime, maxTime, item);
|
|
5859
|
+
});
|
|
5860
|
+
};
|
|
5861
|
+
var getValid = function getValid(minTime, maxTime, value) {
|
|
5862
|
+
return (Array.isArray(value) ? getValidRange : getValidTime)(minTime, maxTime, value);
|
|
5863
|
+
};
|
|
5818
5864
|
|
|
5819
|
-
var _excluded$f = ["type", "className", "label", "labelProps", "size", "nakedInput", "required", "value", "defaultValue", "onChange", "error", "onBlur"];
|
|
5865
|
+
var _excluded$f = ["type", "className", "label", "labelProps", "size", "nakedInput", "required", "value", "defaultValue", "onChange", "error", "onBlur", "minTime", "maxTime"];
|
|
5820
5866
|
function ownKeys$c(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
5821
5867
|
function _objectSpread$c(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$c(Object(source), !0).forEach(function (key) { Typography._defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$c(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
5822
5868
|
Typography.dayjs.extend(customParseFormat);
|
|
@@ -5850,11 +5896,15 @@ var TimePickerInput = /*#__PURE__*/React$3.forwardRef(function (_ref, ref) {
|
|
|
5850
5896
|
error = _ref$error === void 0 ? "" : _ref$error,
|
|
5851
5897
|
_ref$onBlur = _ref.onBlur,
|
|
5852
5898
|
onBlur = _ref$onBlur === void 0 ? Typography.noop : _ref$onBlur,
|
|
5899
|
+
minTime = _ref.minTime,
|
|
5900
|
+
maxTime = _ref.maxTime,
|
|
5853
5901
|
otherProps = Typography._objectWithoutProperties(_ref, _excluded$f);
|
|
5854
|
-
var
|
|
5855
|
-
|
|
5856
|
-
value =
|
|
5857
|
-
|
|
5902
|
+
var _useRefState = useRefState(null),
|
|
5903
|
+
_useRefState2 = Typography._slicedToArray(_useRefState, 3),
|
|
5904
|
+
value = _useRefState2[0],
|
|
5905
|
+
valueRef = _useRefState2[1],
|
|
5906
|
+
setValue = _useRefState2[2];
|
|
5907
|
+
var componentRef = React$3.useRef(null);
|
|
5858
5908
|
var id = TreeSelect.useId(otherProps.id);
|
|
5859
5909
|
var errorId = "error_".concat(id);
|
|
5860
5910
|
React$3.useEffect(function () {
|
|
@@ -5863,16 +5913,43 @@ var TimePickerInput = /*#__PURE__*/React$3.forwardRef(function (_ref, ref) {
|
|
|
5863
5913
|
}, [type, inputValue]);
|
|
5864
5914
|
var handleChange = function handleChange(newValue) {
|
|
5865
5915
|
setValue(newValue);
|
|
5866
|
-
|
|
5916
|
+
if (isValid(minTime, maxTime, newValue)) {
|
|
5917
|
+
onChange(toDayJs(newValue), newValue);
|
|
5918
|
+
}
|
|
5867
5919
|
};
|
|
5868
|
-
var
|
|
5869
|
-
|
|
5920
|
+
var onBlurHandle = function onBlurHandle() {
|
|
5921
|
+
var value = valueRef.current;
|
|
5922
|
+
if (isValid(minTime, maxTime, value)) {
|
|
5923
|
+
onBlur(toDayJs(value), value);
|
|
5924
|
+
} else {
|
|
5925
|
+
var validValue = getValid(minTime, maxTime, value);
|
|
5926
|
+
setValue(validValue);
|
|
5927
|
+
onChange(toDayJs(validValue), validValue);
|
|
5928
|
+
onBlur(toDayJs(validValue), validValue);
|
|
5929
|
+
}
|
|
5870
5930
|
return true;
|
|
5871
5931
|
};
|
|
5932
|
+
|
|
5933
|
+
// If you just make amPm select change, onBlurHandle is not triggering. A work around
|
|
5934
|
+
React$3.useEffect(function () {
|
|
5935
|
+
var _document$getElementB;
|
|
5936
|
+
var amPmChange = function amPmChange() {
|
|
5937
|
+
return setTimeout(onBlurHandle);
|
|
5938
|
+
};
|
|
5939
|
+
var selectElements = (_document$getElementB = document.getElementById(id)) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.querySelectorAll("[name='amPm']");
|
|
5940
|
+
selectElements === null || selectElements === void 0 || selectElements.forEach(function (element) {
|
|
5941
|
+
return element.addEventListener("change", amPmChange);
|
|
5942
|
+
});
|
|
5943
|
+
return function () {
|
|
5944
|
+
selectElements === null || selectElements === void 0 || selectElements.forEach(function (element) {
|
|
5945
|
+
return element.removeEventListener("change", amPmChange);
|
|
5946
|
+
});
|
|
5947
|
+
};
|
|
5948
|
+
}, [value]);
|
|
5872
5949
|
var handleKeyDown = function handleKeyDown(_ref2) {
|
|
5873
5950
|
var code = _ref2.code;
|
|
5874
5951
|
if (code !== "Enter") return;
|
|
5875
|
-
|
|
5952
|
+
onBlurHandle();
|
|
5876
5953
|
};
|
|
5877
5954
|
var Component = timeComponents[type];
|
|
5878
5955
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
@@ -5890,8 +5967,9 @@ var TimePickerInput = /*#__PURE__*/React$3.forwardRef(function (_ref, ref) {
|
|
|
5890
5967
|
format: "hh:mm a",
|
|
5891
5968
|
hourPlaceholder: "HH",
|
|
5892
5969
|
minutePlaceholder: "mm",
|
|
5970
|
+
ref: componentRef,
|
|
5893
5971
|
secondAriaLabel: "ss",
|
|
5894
|
-
shouldCloseClock:
|
|
5972
|
+
shouldCloseClock: onBlurHandle,
|
|
5895
5973
|
className: Typography.classnames("neeto-ui-time-picker", [className], {
|
|
5896
5974
|
"neeto-ui-time-picker--small": size === "small",
|
|
5897
5975
|
"neeto-ui-time-picker--medium": size === "medium",
|
|
@@ -5928,6 +6006,9 @@ var getAllowedTime = function getAllowedTime(date, time, minDateTime, maxDateTim
|
|
|
5928
6006
|
}
|
|
5929
6007
|
return newTime;
|
|
5930
6008
|
};
|
|
6009
|
+
var getTime = function getTime(date) {
|
|
6010
|
+
return date === null || date === void 0 ? void 0 : date.format(TIME_FORMAT);
|
|
6011
|
+
};
|
|
5931
6012
|
|
|
5932
6013
|
function ownKeys$b(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
5933
6014
|
function _objectSpread$b(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$b(Object(source), !0).forEach(function (key) { Typography._defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$b(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
@@ -6030,7 +6111,7 @@ var DateTimePicker = function DateTimePicker(_ref) {
|
|
|
6030
6111
|
error: error,
|
|
6031
6112
|
nakedInput: nakedInput,
|
|
6032
6113
|
size: size
|
|
6033
|
-
}, "error", !!error), "maxTime", (date === null || date === void 0 ? void 0 : date.isSame(maxDateTime, "day")) && (maxDateTime
|
|
6114
|
+
}, "error", !!error), "maxTime", (date === null || date === void 0 ? void 0 : date.isSame(maxDateTime, "day")) && getTime(maxDateTime)), "minTime", (date === null || date === void 0 ? void 0 : date.isSame(minDateTime, "day")) && getTime(minDateTime)), "ref", timeRef), "value", time), "onBlur", handleTimeBlur), "onChange", handleTimeChange), timePickerProps))), !!error && /*#__PURE__*/React__default["default"].createElement("p", {
|
|
6034
6115
|
className: "neeto-ui-input__error",
|
|
6035
6116
|
"data-cy": "".concat(Typography.hyphenize(label), "-input-error"),
|
|
6036
6117
|
id: errorId
|