@ultraviolet/plus
Version:
Ultraviolet Plus
52 lines (51 loc) • 5.26 kB
JavaScript
"use client";
import { jsx } from "@emotion/react/jsx-runtime";
import _styled from "@emotion/styled/base";
import { TextInput } from "@ultraviolet/ui";
import { useState, useEffect } from "react";
import { useOverlay } from "../OverlayContext.js";
import { ItemResourceName } from "../componentStyle.js";
import { Regular } from "./Regular.js";
function _EMOTION_STRINGIFIED_CSS_ERROR__() {
return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).";
}
const StyledTextInput = /* @__PURE__ */ _styled(TextInput, process.env.NODE_ENV === "production" ? {
target: "e1pr25uw0"
} : {
target: "e1pr25uw0",
label: "StyledTextInput"
})(process.env.NODE_ENV === "production" ? {
name: "l1y63n",
styles: "input[type='number']::-webkit-inner-spin-button,input[type='number']::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}input[type='number']{-moz-appearance:textfield;}"
} : {
name: "l1y63n",
styles: "input[type='number']::-webkit-inner-spin-button,input[type='number']::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}input[type='number']{-moz-appearance:textfield;}/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3BsdXMvc3JjL2NvbXBvbmVudHMvRXN0aW1hdGVDb3N0L0NvbXBvbmVudHMvVW5pdC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU3lDIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3BsdXMvc3JjL2NvbXBvbmVudHMvRXN0aW1hdGVDb3N0L0NvbXBvbmVudHMvVW5pdC50c3giLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgeyBUZXh0SW5wdXQgfSBmcm9tICdAdWx0cmF2aW9sZXQvdWknXG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VPdmVybGF5IH0gZnJvbSAnLi4vT3ZlcmxheUNvbnRleHQnXG5pbXBvcnQgeyBJdGVtUmVzb3VyY2VOYW1lIH0gZnJvbSAnLi4vY29tcG9uZW50U3R5bGUnXG5pbXBvcnQgeyBSZWd1bGFyIH0gZnJvbSAnLi9SZWd1bGFyJ1xuXG5jb25zdCBTdHlsZWRUZXh0SW5wdXQgPSBzdHlsZWQoVGV4dElucHV0KWBcbiAgLyogUmVtb3ZlcyBhcnJvd3MgZm9yIGFuIGlucHV0IHR5cGUgbnVtYmVyICovXG4gIC8qIENocm9tZSwgU2FmYXJpLCBFZGdlLCBPcGVyYSAqL1xuXG4gIGlucHV0W3R5cGU9J251bWJlciddOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICBpbnB1dFt0eXBlPSdudW1iZXInXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8qIEZpcmVmb3ggKi9cblxuICBpbnB1dFt0eXBlPSdudW1iZXInXSB7XG4gICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIH1cbmBcblxudHlwZSBVbml0UHJvcHMgPSB7XG4gIGFtb3VudD86IG51bWJlclxuICBpdGVtQ2FsbGJhY2s/OiAoYW1vdW50PzogbnVtYmVyLCBpc1ZhcmlhbnQ/OiBib29sZWFuKSA9PiB2b2lkXG4gIGdldEFtb3VudFZhbHVlPzogKGFtb3VudD86IG51bWJlcikgPT4gdm9pZFxuICB1bml0Pzogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCBVbml0ID0gKHtcbiAgYW1vdW50LFxuICBpdGVtQ2FsbGJhY2ssXG4gIGdldEFtb3VudFZhbHVlLFxuICB1bml0LFxufTogVW5pdFByb3BzKSA9PiB7XG4gIGNvbnN0IHsgaXNPdmVybGF5IH0gPSB1c2VPdmVybGF5KClcbiAgY29uc3QgW2NhcGFjaXR5LCBzZXRDYXBhY2l0eV0gPSB1c2VTdGF0ZShhbW91bnQgPT09IDAgPyB1bmRlZmluZWQgOiBhbW91bnQpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRDYXBhY2l0eShhbW91bnQpXG4gICAgaXRlbUNhbGxiYWNrPy4oYW1vdW50LCB0cnVlKVxuICAgIGdldEFtb3VudFZhbHVlPy4oYW1vdW50KVxuICB9LCBbZ2V0QW1vdW50VmFsdWUsIGl0ZW1DYWxsYmFjaywgY2FwYWNpdHksIGFtb3VudF0pXG5cbiAgcmV0dXJuIGlzT3ZlcmxheSA/IChcbiAgICA8SXRlbVJlc291cmNlTmFtZSBhbmltYXRlZD17ZmFsc2V9PlxuICAgICAgPFJlZ3VsYXI+e2NhcGFjaXR5fTwvUmVndWxhcj5cbiAgICA8L0l0ZW1SZXNvdXJjZU5hbWU+XG4gICkgOiAoXG4gICAgPGRpdiBzdHlsZT17eyB3aWR0aDogJzE1MHB4JyB9fT5cbiAgICAgIDxTdHlsZWRUZXh0SW5wdXRcbiAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgIHVuaXQ9e3VuaXR9XG4gICAgICAgIHBsYWNlaG9sZGVyPVwiMDBcIlxuICAgICAgICBuYW1lPVwiY2FwYWNpdHlcIlxuICAgICAgICB2YWx1ZT17Y2FwYWNpdHk/LnRvU3RyaW5nKCl9XG4gICAgICAgIG9uQ2hhbmdlPXtjYXBhY2l0eVRleHQgPT4ge1xuICAgICAgICAgIGNvbnN0IG5ld0NhcGFjaXR5ID1cbiAgICAgICAgICAgIE51bWJlcihjYXBhY2l0eVRleHQpIDwgMCA/IDAgOiBOdW1iZXIoY2FwYWNpdHlUZXh0KVxuICAgICAgICAgIHNldENhcGFjaXR5KG5ld0NhcGFjaXR5KVxuICAgICAgICAgIGl0ZW1DYWxsYmFjaz8uKG5ld0NhcGFjaXR5LCB0cnVlKVxuICAgICAgICAgIGdldEFtb3VudFZhbHVlPy4oY2FwYWNpdHkpXG4gICAgICAgIH19XG4gICAgICAvPlxuICAgIDwvZGl2PlxuICApXG59XG4iXX0= */",
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
});
const Unit = ({
amount,
itemCallback,
getAmountValue,
unit
}) => {
const {
isOverlay
} = useOverlay();
const [capacity, setCapacity] = useState(amount === 0 ? void 0 : amount);
useEffect(() => {
setCapacity(amount);
itemCallback?.(amount, true);
getAmountValue?.(amount);
}, [getAmountValue, itemCallback, capacity, amount]);
return isOverlay ? /* @__PURE__ */ jsx(ItemResourceName, { animated: false, children: /* @__PURE__ */ jsx(Regular, { children: capacity }) }) : /* @__PURE__ */ jsx("div", { style: {
width: "150px"
}, children: /* @__PURE__ */ jsx(StyledTextInput, { type: "number", size: "small", unit, placeholder: "00", name: "capacity", value: capacity?.toString(), onChange: (capacityText) => {
const newCapacity = Number(capacityText) < 0 ? 0 : Number(capacityText);
setCapacity(newCapacity);
itemCallback?.(newCapacity, true);
getAmountValue?.(capacity);
} }) });
};
export {
Unit
};