feat: upgrade to tailwind@4

This commit is contained in:
Lucas Smith
2026-06-29 13:26:14 +10:00
parent 187b612568
commit b79895b38c
289 changed files with 1477 additions and 1941 deletions
@@ -56,7 +56,7 @@ export const CopyTextButton = ({
<div
className={cn(
'flex h-6 w-6 items-center justify-center rounded transition-all hover:bg-muted-foreground/10 hover:active:bg-muted-foreground/20',
'flex h-6 w-6 items-center justify-center rounded-sm transition-all hover:bg-muted-foreground/10 hover:active:bg-muted-foreground/20',
{
'ml-1': Boolean(badgeContentCopied || badgeContentUncopied),
},
+1 -1
View File
@@ -78,7 +78,7 @@ export const LocalTime = ({ date, className }: LocalTimeProps) => {
}}
onMouseLeave={onMouseLeave}
>
<div className="space-y-1.5 text-xs">
<div className="twv3-space-y-1.5 text-xs">
<TimeRow
label="Local"
value={local}
@@ -20,7 +20,7 @@ export const DocumentEmailCheckboxes = ({ value, onChange, className, hiddenEven
const isHidden = (event: DocumentEmailEvents) => hiddenEvents?.includes(event) ?? false;
return (
<div className={cn('space-y-3', className)}>
<div className={cn('twv3-space-y-3', className)}>
{!isHidden(DocumentEmailEvents.RecipientSigned) && (
<div className="flex flex-row items-center">
<Checkbox
@@ -43,7 +43,7 @@ export const DocumentEmailCheckboxes = ({ value, onChange, className, hiddenEven
<InfoIcon className="mx-2 h-4 w-4" />
</TooltipTrigger>
<TooltipContent className="max-w-md space-y-2 p-4 text-foreground">
<TooltipContent className="twv3-space-y-2 max-w-md p-4 text-foreground">
<h2>
<strong>
<Trans>Recipient signed email</Trans>
@@ -81,7 +81,7 @@ export const DocumentEmailCheckboxes = ({ value, onChange, className, hiddenEven
<InfoIcon className="mx-2 h-4 w-4" />
</TooltipTrigger>
<TooltipContent className="max-w-md space-y-2 p-4 text-foreground">
<TooltipContent className="twv3-space-y-2 max-w-md p-4 text-foreground">
<h2>
<strong>
<Trans>Recipient signing request email</Trans>
@@ -119,7 +119,7 @@ export const DocumentEmailCheckboxes = ({ value, onChange, className, hiddenEven
<InfoIcon className="mx-2 h-4 w-4" />
</TooltipTrigger>
<TooltipContent className="max-w-md space-y-2 p-4 text-foreground">
<TooltipContent className="twv3-space-y-2 max-w-md p-4 text-foreground">
<h2>
<strong>
<Trans>Recipient removed email</Trans>
@@ -157,7 +157,7 @@ export const DocumentEmailCheckboxes = ({ value, onChange, className, hiddenEven
<InfoIcon className="mx-2 h-4 w-4" />
</TooltipTrigger>
<TooltipContent className="max-w-md space-y-2 p-4 text-foreground">
<TooltipContent className="twv3-space-y-2 max-w-md p-4 text-foreground">
<h2>
<strong>
<Trans>Document pending email</Trans>
@@ -198,7 +198,7 @@ export const DocumentEmailCheckboxes = ({ value, onChange, className, hiddenEven
<InfoIcon className="mx-2 h-4 w-4" />
</TooltipTrigger>
<TooltipContent className="max-w-md space-y-2 p-4 text-foreground">
<TooltipContent className="twv3-space-y-2 max-w-md p-4 text-foreground">
<h2>
<strong>
<Trans>Document completed email</Trans>
@@ -236,7 +236,7 @@ export const DocumentEmailCheckboxes = ({ value, onChange, className, hiddenEven
<InfoIcon className="mx-2 h-4 w-4" />
</TooltipTrigger>
<TooltipContent className="max-w-md space-y-2 p-4 text-foreground">
<TooltipContent className="twv3-space-y-2 max-w-md p-4 text-foreground">
<h2>
<strong>
<Trans>Document deleted email</Trans>
@@ -274,7 +274,7 @@ export const DocumentEmailCheckboxes = ({ value, onChange, className, hiddenEven
<InfoIcon className="mx-2 h-4 w-4" />
</TooltipTrigger>
<TooltipContent className="max-w-md space-y-2 p-4 text-foreground">
<TooltipContent className="twv3-space-y-2 max-w-md p-4 text-foreground">
<h2>
<strong>
<Trans>Document completed email</Trans>
@@ -312,7 +312,7 @@ export const DocumentEmailCheckboxes = ({ value, onChange, className, hiddenEven
<InfoIcon className="mx-2 h-4 w-4" />
</TooltipTrigger>
<TooltipContent className="max-w-md space-y-2 p-4 text-foreground">
<TooltipContent className="twv3-space-y-2 max-w-md p-4 text-foreground">
<h2>
<strong>
<Trans>Document created from direct template email</Trans>
@@ -353,7 +353,7 @@ export const DocumentEmailCheckboxes = ({ value, onChange, className, hiddenEven
<InfoIcon className="mx-2 h-4 w-4" />
</TooltipTrigger>
<TooltipContent className="max-w-md space-y-2 p-4 text-foreground">
<TooltipContent className="twv3-space-y-2 max-w-md p-4 text-foreground">
<h2>
<strong>
<Trans>Recipient expired email</Trans>
@@ -72,7 +72,7 @@ export const DocumentGlobalAuthAccessTooltip = () => (
<InfoIcon className="mx-2 h-4 w-4" />
</TooltipTrigger>
<TooltipContent className="max-w-md space-y-2 p-4 text-foreground">
<TooltipContent className="twv3-space-y-2 max-w-md p-4 text-foreground">
<h2>
<strong>
<Trans>Document access</Trans>
@@ -87,7 +87,7 @@ export const DocumentGlobalAuthAccessTooltip = () => (
<Trans>Multiple access methods can be selected.</Trans>
</p>
<ul className="ml-3.5 list-outside list-disc space-y-0.5 py-2">
<ul className="twv3-space-y-0.5 ml-3.5 list-outside list-disc py-2">
<li>
<Trans>
<strong>Require account</strong> - The recipient must be signed in to view the document
@@ -74,7 +74,7 @@ export const DocumentGlobalAuthActionTooltip = () => (
<InfoIcon className="mx-2 h-4 w-4" />
</TooltipTrigger>
<TooltipContent className="max-w-md space-y-2 p-4 text-foreground">
<TooltipContent className="twv3-space-y-2 max-w-md p-4 text-foreground">
<h2>
<Trans>Global recipient action authentication</Trans>
</h2>
@@ -90,7 +90,7 @@ export const DocumentGlobalAuthActionTooltip = () => (
</Trans>
</p>
<ul className="ml-3.5 list-outside list-disc space-y-0.5 py-2">
<ul className="twv3-space-y-0.5 ml-3.5 list-outside list-disc py-2">
<li>
<Trans>
<strong>Require passkey</strong> - The recipient must have an account and passkey configured via their
@@ -151,7 +151,7 @@ export const DocumentReadOnlyFields = ({
</p>
<button
className="absolute top-0 right-0 my-1 p-2 focus:outline-none focus-visible:ring-0"
className="absolute top-0 right-0 my-1 p-2 focus:outline-hidden focus-visible:ring-0"
onClick={() => handleHideField(field.secondaryId)}
title="Hide field"
>
@@ -9,15 +9,19 @@ export const DocumentSendEmailMessageHelper = () => {
<ul className="mt-2 flex list-inside list-disc flex-col gap-y-2 text-sm">
<li className="text-muted-foreground">
<code className="rounded bg-muted-foreground/20 p-1 text-muted-foreground text-sm">{'{signer.name}'}</code> -{' '}
<Trans>The signer's name</Trans>
<code className="rounded-sm bg-muted-foreground/20 p-1 text-muted-foreground text-sm">{'{signer.name}'}</code>{' '}
- <Trans>The signer's name</Trans>
</li>
<li className="text-muted-foreground">
<code className="rounded bg-muted-foreground/20 p-1 text-muted-foreground text-sm">{'{signer.email}'}</code> -{' '}
<Trans>The signer's email</Trans>
<code className="rounded-sm bg-muted-foreground/20 p-1 text-muted-foreground text-sm">
{'{signer.email}'}
</code>{' '}
- <Trans>The signer's email</Trans>
</li>
<li className="text-muted-foreground">
<code className="rounded bg-muted-foreground/20 p-1 text-muted-foreground text-sm">{'{document.name}'}</code>{' '}
<code className="rounded-sm bg-muted-foreground/20 p-1 text-muted-foreground text-sm">
{'{document.name}'}
</code>{' '}
- <Trans>The document's name</Trans>
</li>
</ul>
@@ -9,7 +9,7 @@ export const DocumentSignatureSettingsTooltip = () => {
<InfoIcon className="mx-2 h-4 w-4" />
</TooltipTrigger>
<TooltipContent className="max-w-md space-y-2 p-4 text-foreground">
<TooltipContent className="twv3-space-y-2 max-w-md p-4 text-foreground">
<h2>
<strong>
<Trans>Signature types</Trans>
@@ -20,7 +20,7 @@ export const DocumentSignatureSettingsTooltip = () => {
<Trans>The types of signatures that recipients are allowed to use when signing the document.</Trans>
</p>
<ul className="ml-3.5 list-outside list-disc space-y-0.5 py-2">
<ul className="twv3-space-y-0.5 ml-3.5 list-outside list-disc py-2">
<li>
<Trans>
<strong>
@@ -54,7 +54,7 @@ export const DocumentVisibilityTooltip = () => {
<InfoIcon className="mx-2 h-4 w-4" />
</TooltipTrigger>
<TooltipContent className="max-w-md space-y-2 p-4 text-foreground">
<TooltipContent className="twv3-space-y-2 max-w-md p-4 text-foreground">
<h2>
<strong>
<Trans>Document visibility</Trans>
@@ -65,7 +65,7 @@ export const DocumentVisibilityTooltip = () => {
<Trans>The visibility of the document to the recipient.</Trans>
</p>
<ul className="ml-3.5 list-outside list-disc space-y-0.5 py-2">
<ul className="twv3-space-y-0.5 ml-3.5 list-outside list-disc py-2">
<li>
<Trans>
<strong>Everyone</strong> - Everyone can access and view the document
@@ -180,7 +180,7 @@ export function EnvelopeRecipientFieldTooltip({
<p className="mt-1 text-center text-muted-foreground text-xs">{getRecipientDisplayText(field.recipient)}</p>
<button
className="absolute top-0 right-0 my-1 p-2 focus:outline-none focus-visible:ring-0"
className="absolute top-0 right-0 my-1 p-2 focus:outline-hidden focus-visible:ring-0"
onClick={() => setHideField(true)}
title="Hide field"
>
@@ -91,7 +91,7 @@ export const RecipientActionAuthSelect = ({
<Trans>These will override any global settings. Multiple methods can be selected.</Trans>
</p>
<ul className="ml-3.5 list-outside list-disc space-y-0.5 py-2">
<ul className="twv3-space-y-0.5 ml-3.5 list-outside list-disc py-2">
<li>
<Trans>
<strong>Inherit authentication method</strong> - Use the global action signing authentication method
@@ -37,7 +37,7 @@ export const TemplateTypeTooltip = ({ organisationTeamCount }: { organisationTea
<InfoIcon className="mx-2 h-4 w-4" />
</TooltipTrigger>
<TooltipContent className="max-w-md space-y-2 p-4 text-foreground">
<TooltipContent className="twv3-space-y-2 max-w-md p-4 text-foreground">
<p>
<Trans>
<strong>Private</strong> templates can only be used by your team.