refactor: update field-renderer imports and consolidate FieldRenderMode type

This commit is contained in:
Catalin Pit
2026-06-08 09:02:11 +03:00
parent a072372f7e
commit 6be76034b4
3 changed files with 15 additions and 29 deletions
@@ -7,7 +7,7 @@ import type React from 'react';
import { createContext, useCallback, useContext, useEffect, useMemo, useState } from 'react';
import type { TEnvelope } from '../../types/envelope';
import type { FieldRenderMode } from '../../universal/field-renderer/render-field';
import type { FieldRenderMode } from '../../universal/field-renderer/field-renderer';
/**
* The signature data for an inserted signature field.
@@ -20,11 +20,22 @@ export type FieldToRender = Pick<
signature?: Pick<Signature, 'signatureImageAsBase64' | 'typedSignature'> | null;
};
/**
* The render type.
*
* @default 'edit'
*
* - `edit` - The field is rendered in editor page.
* - `sign` - The field is rendered for the signing page.
* - `export` - The field is rendered for exporting and sealing into the PDF. No backgrounds, interactive elements, etc.
*/
export type FieldRenderMode = 'edit' | 'sign' | 'export';
export type RenderFieldElementOptions = {
pageLayer: Konva.Layer;
pageWidth: number;
pageHeight: number;
mode: 'edit' | 'sign' | 'export';
mode: FieldRenderMode;
editable?: boolean;
scale: number;
color?: TRecipientColor;
@@ -1,10 +1,9 @@
import type { TRecipientColor } from '@documenso/ui/lib/recipient-colors';
import type { Signature } from '@prisma/client';
import { type Field, FieldType } from '@prisma/client';
import { FieldType } from '@prisma/client';
import type Konva from 'konva';
import { match } from 'ts-pattern';
import type { TFieldMetaSchema } from '../../types/field-meta';
import type { FieldRenderMode, FieldToRender } from './field-renderer';
import { renderCheckboxFieldElement } from './render-checkbox-field';
import { renderDropdownFieldElement } from './render-dropdown-field';
import { renderGenericTextFieldElement } from './render-generic-text-field';
@@ -14,30 +13,6 @@ import { renderSignatureFieldElement } from './render-signature-field';
export const MIN_FIELD_HEIGHT_PX = 12;
export const MIN_FIELD_WIDTH_PX = 36;
/**
* The render type.
*
* @default 'edit'
*
* - `edit` - The field is rendered in editor page.
* - `sign` - The field is rendered for the signing page.
* - `export` - The field is rendered for exporting and sealing into the PDF. No backgrounds, interactive elements, etc.
*/
export type FieldRenderMode = 'edit' | 'sign' | 'export';
export type FieldToRender = Pick<
Field,
'envelopeItemId' | 'recipientId' | 'type' | 'page' | 'customText' | 'inserted' | 'recipientId'
> & {
renderId: string; // A unique ID for the field in the render.
width: number;
height: number;
positionX: number;
positionY: number;
fieldMeta?: TFieldMetaSchema | null;
signature?: Pick<Signature, 'signatureImageAsBase64' | 'typedSignature'> | null;
};
type RenderFieldOptions = {
field: FieldToRender;
pageLayer: Konva.Layer;