Files
twenty_crm/front/src/modules/ui/editable-field/components/EditableFieldEditMode.tsx
Weiko 9b34a0ff3d Add styled component rule (#1261)
* Add StyledComponent rule

* update doc

* update doc

* update doc
2023-08-17 20:58:02 -07:00

44 lines
924 B
TypeScript

import { useRef } from 'react';
import styled from '@emotion/styled';
import { useRegisterCloseFieldHandlers } from '../hooks/useRegisterCloseFieldHandlers';
const StyledEditableFieldEditModeContainer = styled.div<OwnProps>`
align-items: center;
display: flex;
height: 24px;
margin-left: -${({ theme }) => theme.spacing(1)};
position: relative;
width: 100%;
z-index: 10;
`;
type OwnProps = {
children: React.ReactNode;
onOutsideClick?: () => void;
onCancel?: () => void;
onSubmit?: () => void;
};
export function EditableFieldEditMode({
children,
onCancel,
onSubmit,
}: OwnProps) {
const wrapperRef = useRef(null);
useRegisterCloseFieldHandlers(wrapperRef, onSubmit, onCancel);
return (
<StyledEditableFieldEditModeContainer
data-testid="editable-field-edit-mode-container"
ref={wrapperRef}
>
{children}
</StyledEditableFieldEditModeContainer>
);
}