From 9d9e3ac0f310422f90d81944bacb439d37c58cfe Mon Sep 17 00:00:00 2001 From: joostdecock Date: Sat, 22 Feb 2025 13:01:49 +0100 Subject: [PATCH] wip: Add clearing of measurements --- packages/react/components/Input/index.mjs | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/react/components/Input/index.mjs b/packages/react/components/Input/index.mjs index c935a788672..fea54eda3a1 100644 --- a/packages/react/components/Input/index.mjs +++ b/packages/react/components/Input/index.mjs @@ -15,7 +15,7 @@ import React, { useState, useCallback, useContext } from 'react' import { useDropzone } from 'react-dropzone' import { useBackend } from '@freesewing/react/hooks/useBackend' // Components -import { ResetIcon, UploadIcon } from '@freesewing/react/components/Icon' +import { TrashIcon, ResetIcon, UploadIcon } from '@freesewing/react/components/Icon' import { ModalWrapper } from '@freesewing/react/components/Modal' import { isDegreeMeasurement } from '@freesewing/config' import { Tabs, Tab } from '@freesewing/react/components/Tab' @@ -523,7 +523,14 @@ export const MeasurementInput = ({ update(m, isDegree ? parsedVal : measurementAsMm(parsedVal, units)) setValid(true) setValidatedVal(parsedVal) - } else setValid(false) + } else if (newVal === undefined) update(m, undefined) + else setValid(false) + } + + // Clear value + const clearValue = () => { + localUpdate(undefined) + setLocalVal('') } if (!m) return null @@ -573,6 +580,11 @@ export const MeasurementInput = ({ className={`tw-border-0 tw-grow-2 tw-w-full`} /> {isDegree ? '°' : imperial ? 'inch' : 'cm'} + )