import { msg } from '@lingui/core/macro'; import { useLingui } from '@lingui/react'; import { Trans } from '@lingui/react/macro'; import { InfoIcon } from 'lucide-react'; import { DOCUMENT_AUTH_TYPES } from '@documenso/lib/constants/document-auth'; import { DocumentActionAuth, DocumentAuth, NonEnterpriseDocumentActionAuth, } from '@documenso/lib/types/document-auth'; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from '@documenso/ui/primitives/select'; import { Tooltip, TooltipContent, TooltipTrigger } from '@documenso/ui/primitives/tooltip'; export interface DocumentGlobalAuthActionSelectProps { value?: string[]; onValueChange?: (value: string[]) => void; disabled?: boolean; placeholder?: string; isDocumentEnterprise?: boolean; } export const DocumentGlobalAuthActionSelect = ({ value, onValueChange, disabled, placeholder, isDocumentEnterprise, }: DocumentGlobalAuthActionSelectProps) => { const { _ } = useLingui(); const authTypes = isDocumentEnterprise ? Object.values(DocumentActionAuth).filter((auth) => auth !== DocumentAuth.ACCOUNT) : Object.values(NonEnterpriseDocumentActionAuth).filter( (auth) => auth !== DocumentAuth.EXPLICIT_NONE, ); const selectedValue = value?.[0] || ''; const handleChange = (newValue: string) => { if (newValue === '-1') { onValueChange?.([]); } else { onValueChange?.([newValue]); } }; return ( ); }; DocumentGlobalAuthActionSelect.displayName = 'DocumentGlobalAuthActionSelect'; export const DocumentGlobalAuthActionTooltip = () => (

Global recipient action authentication

The authentication method required for recipients to sign the signature field.

This can be overridden by setting the authentication requirements directly on each recipient in the next step.

);