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) 699 B
import{jsxs as t}from"react/jsx-runtime";import{useMemo as o}from"react";import r from"@mui/material/Box";import{unitLib as e}from"./unitLib.js";const n=n=>{const{value:a,precision:i,variant:s,fromUnit:m="",toUnit:p=""}=n,u=o((()=>{const t=e[s][m];return"object"==typeof t?t:{fullName:"Unsupport Unit",toBase:()=>NaN,fromBase:()=>NaN}}),[m,s]),f=o((()=>{const t=e[s][p];return"object"==typeof t?t:{fullName:"Unsupport Unit",toBase:()=>NaN,fromBase:()=>NaN}}),[p,s]),c=o((()=>f?.fromBase(u?.toBase(a)).toPrecision(i)),[a,i,u,f]),N=o((()=>"Unsupport Unit"===f?.fullName?"Unsupport Unit":p),[f,p]);return t(r,{"data-testid":"value-converter",children:[c," ",N]})};export{n as ValueConverterComponent};