@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.
3 lines (2 loc) • 1.4 kB
JavaScript
"use client";
import{jsx as r}from"react/jsx-runtime";import{useMemo as e}from"react";import{PartDialogComponent as o}from"./PartDialog.component.js";import{useGetOptionsBySort as t}from"./hooks/useGetOptionsBySort.js";import{usePartForm as a}from"./hooks/usePartForm.js";import{useThumbnail as i}from"./hooks/useThumbnail.js";import{useTranslate as m}from"../locales/index.js";import s from"./locale.json.js";const n=n=>{const{formData:l,thumbnailSrc:c,cropDimensions:u,materials:p,customers:d,materialForms:f,onCancel:h,onSave:b,...j}=n,g=m(s),D=e((()=>({id:l?.id||"",name:l?.name||"",description:l?.description||"",externalName:l?.externalName||"",material:l?.material||"",customer:l?.customer||"",designMaterial:l?.designMaterial||"",customerReference:l?.customerReference||"",materialForm:l?.materialForm||0})),[l]),x=t([...p]),F=t([...d]),S=t([...f]),k=i(c),{control:C,errors:M,isDirty:N,isValid:O,handleOnSubmit:P}=a(D,b,k),R={control:C,errors:M,disableSave:!(O&&(N||k.isThumbnailChanged)),materials:x,customers:F,materialForms:S,thumbnailProps:k,cropDimensions:u,...j};return r(o,{t:g,...R,...{onCancel:h,handleOnSubmit:P}})},l=e=>{if(!e.open)return null;return r(n,{isLoading:!1,formData:{id:"",name:"",description:"",externalName:"",material:"",customer:"",designMaterial:"",customerReference:"",materialForm:0},cropDimensions:{width:160,height:210,border:20},...e})};export{l as PartDialog};