UNPKG

@nexusui/components

Version:

These are custom components specially-developed for NexusUI applications. They will make your life easier by giving you out-of-the-box implementations for various high-level UI elements that you can drop directly into your application.

2 lines (1 loc) 864 B
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),r=require("@mui/material/Box"),o=require("./unitLib.js");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=u(r);exports.ValueConverterComponent=r=>{const{value:u,precision:a,variant:i,fromUnit:s="",toUnit:l=""}=r,p=t.useMemo((()=>{const e=o.unitLib[i][s];return"object"==typeof e?e:{fullName:"Unsupport Unit",toBase:()=>NaN,fromBase:()=>NaN}}),[s,i]),c=t.useMemo((()=>{const e=o.unitLib[i][l];return"object"==typeof e?e:{fullName:"Unsupport Unit",toBase:()=>NaN,fromBase:()=>NaN}}),[l,i]),f=t.useMemo((()=>c?.fromBase(p?.toBase(u)).toPrecision(a)),[u,a,p,c]),m=t.useMemo((()=>"Unsupport Unit"===c?.fullName?"Unsupport Unit":l),[c,l]);return e.jsxs(n.default,{"data-testid":"value-converter",children:[f," ",m]})};