@progress/kendo-react-inputs
Version:
React Inputs offer a customizable interface for users to enter and pick different information. KendoReact Input package
124 lines (123 loc) • 3.14 kB
JavaScript
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
var l = /* @__PURE__ */ ((e) => (e.start = "start", e.end = "end", e.min = "min", e.max = "max", e.increase = "increase", e.decrease = "decrease", e.increaseLarge = "increaseLarge", e.decreaseLarge = "decreaseLarge", e))(l || {});
const k = (e, r) => {
let d, m;
switch (r.type) {
case "start":
if (r.payload === void 0)
return e;
d = {
start: r.payload > e.end ? e.end : Math.max(r.payload, r.min),
end: e.end
};
break;
case "end":
if (r.payload === void 0)
return e;
d = {
start: e.start,
end: r.payload < e.start ? e.start : Math.min(r.payload, r.max)
};
break;
case "min":
r.key === "start" ? d = {
...e,
start: r.min
} : d = {
...e,
end: Math.max(r.min, e.start)
};
break;
case "max":
r.key === "start" ? d = {
...e,
start: Math.min(r.max, e.end)
} : d = {
...e,
end: r.max
};
break;
case "increase":
if (r.step === void 0 || r.key === void 0)
return e;
m = e[r.key] + r.step, r.key === "start" ? m < r.min ? d = {
...e,
start: r.min
} : d = {
...e,
start: Math.min(m, e.end)
} : m > r.max ? d = {
...e,
end: r.max
} : d = {
...e,
end: Math.max(m, e.start)
};
break;
case "decrease":
if (r.step === void 0 || r.key === void 0)
return e;
m = e[r.key] - r.step, r.key === "start" ? m < r.min ? d = {
...e,
start: r.min
} : d = {
...e,
start: Math.min(m, e.end)
} : m > r.max ? d = {
...e,
end: r.max
} : d = {
...e,
end: Math.max(m, e.start)
};
break;
case "increaseLarge":
if (r.largeStep === void 0 || r.key === void 0)
return e;
m = e[r.key] + r.largeStep, r.key === "start" ? m < r.min ? d = {
...e,
start: r.min
} : d = {
...e,
start: Math.min(m, e.end)
} : m > r.max ? d = {
...e,
end: r.max
} : d = {
...e,
end: Math.max(m, e.start)
};
break;
case "decreaseLarge":
if (r.largeStep === void 0 || r.key === void 0)
return e;
m = e[r.key] - r.largeStep, r.key === "start" ? m < r.min ? d = {
...e,
start: r.min
} : d = {
...e,
start: Math.min(m, e.end)
} : m > r.max ? d = {
...e,
end: r.max
} : d = {
...e,
end: Math.max(m, e.start)
};
break;
default:
d = e;
break;
}
return d;
};
export {
l as RANGE_ACTION,
k as rangeReducer
};