@ultraviolet/plus
Version:
Ultraviolet Plus
35 lines (34 loc) • 1.1 kB
JavaScript
"use client";
import { jsx } from "@emotion/react/jsx-runtime";
import { memo, useMemo } from "react";
import { useEstimateCost } from "../EstimateCostProvider.js";
import { UnitInput } from "./UnitInput.js";
const CustomUnitInput = memo(({
defaultTimeUnit = "hours",
setIteration,
iteration,
timeUnits
}) => {
const {
locales
} = useEstimateCost();
const options = useMemo(() => timeUnits.map((unit) => ({
value: unit,
label: locales[`estimate.cost.units.${unit}.label`]
})), [timeUnits, locales]);
const defaultOption = useMemo(() => options.find(({
value
}) => value === defaultTimeUnit), [defaultTimeUnit, options]);
return /* @__PURE__ */ jsx(UnitInput, { name: "iteration", onChange: (inputValue) => setIteration({
unit: iteration.unit,
value: inputValue
}), onChangeUnitValue: (unitValue) => {
setIteration({
unit: unitValue,
value: iteration.value
});
}, placeholder: "0", value: iteration.value, unitValue: iteration.unit || defaultOption?.value, minValue: 1, size: "medium", options });
});
export {
CustomUnitInput
};