Remove twenty-ui-deprecated and migrate frontend to twenty-ui (#21596)

Migrates `twenty-front`, `twenty-sdk`, and
`twenty-front-component-renderer` from `twenty-ui-deprecated` to
`twenty-ui` (mechanical import swap — the packages have API parity) and
deletes the deprecated package along with its workspace/CI/config
wiring.

Also adds `@linaria/react`/`@linaria/core` as direct deps of
`twenty-front` (it used them transitively via the deprecated package).

Note: move the required status check from `ci-ui-status-check` to
`ci-new-ui-status-check`.

Argos: the Storybook box-model/button-reset baseline shift (the bulk of
the visual diffs) is isolated in #21665 — Storybook now loads
twenty-ui's global `reset.scss`, which the production app already ships.
Once #21665 merges and this branch is rebased, the remaining Argos diffs
are component-level visual-parity items only.
This commit is contained in:
Raphaël Bosi
2026-06-17 11:41:11 +02:00
committed by GitHub
parent 079040f1c0
commit 9c9c34fccf
2267 changed files with 3289 additions and 43134 deletions
@@ -1,7 +1,7 @@
import { BaseChip } from '@/object-record/record-field/ui/form-types/components/BaseChip';
import { styled } from '@linaria/react';
import { NodeViewWrapper, type NodeViewProps } from '@tiptap/react';
import { themeCssVariables } from 'twenty-ui-deprecated/theme-constants';
import { themeCssVariables } from 'twenty-ui/theme-constants';
const StyledWrapper = styled.span`
display: inline-block;
@@ -1,7 +1,7 @@
import { VariableChip } from '@/object-record/record-field/ui/form-types/components/VariableChip';
import { styled } from '@linaria/react';
import { NodeViewWrapper, type NodeViewProps } from '@tiptap/react';
import { themeCssVariables } from 'twenty-ui-deprecated/theme-constants';
import { themeCssVariables } from 'twenty-ui/theme-constants';
const StyledWrapper = styled.span`
display: inline-block;
@@ -4,7 +4,7 @@ import { useAtomComponentStateValue } from '@/ui/utilities/state/jotai/hooks/use
import { WorkflowVariablesDropdown } from '@/workflow/workflow-variables/components/WorkflowVariablesDropdown';
import { SEARCH_VARIABLES_DROPDOWN_ID } from '@/workflow/workflow-variables/constants/SearchVariablesDropdownId';
import { styled } from '@linaria/react';
import { themeCssVariables } from 'twenty-ui-deprecated/theme-constants';
import { themeCssVariables } from 'twenty-ui/theme-constants';
const StyledSearchVariablesDropdownContainer = styled.div<{
isReadonly?: boolean;
@@ -10,11 +10,8 @@ import { type StepOutputSchemaV2 } from '@/workflow/workflow-variables/types/Ste
import { styled } from '@linaria/react';
import { useContext, useState } from 'react';
import { isDefined } from 'twenty-shared/utils';
import { IconVariablePlus } from 'twenty-ui-deprecated/display';
import {
ThemeContext,
themeCssVariables,
} from 'twenty-ui-deprecated/theme-constants';
import { IconVariablePlus } from 'twenty-ui/display';
import { ThemeContext, themeCssVariables } from 'twenty-ui/theme-constants';
const StyledDropdownVariableButtonContainer = styled.div<{
disabled?: boolean;
@@ -21,8 +21,8 @@ import {
IconChevronLeft,
OverflowingTextWithTooltip,
useIcons,
} from 'twenty-ui-deprecated/display';
import { MenuItemSelect } from 'twenty-ui-deprecated/navigation';
} from 'twenty-ui/display';
import { MenuItemSelect } from 'twenty-ui/navigation';
type WorkflowVariablesDropdownStepItemsProps = {
step: StepOutputSchemaV2;
@@ -9,12 +9,8 @@ import { useCloseDropdown } from '@/ui/layout/dropdown/hooks/useCloseDropdown';
import { type StepOutputSchemaV2 } from '@/workflow/workflow-variables/types/StepOutputSchemaV2';
import { t } from '@lingui/core/macro';
import { useState } from 'react';
import {
IconX,
OverflowingTextWithTooltip,
useIcons,
} from 'twenty-ui-deprecated/display';
import { MenuItem, MenuItemSelect } from 'twenty-ui-deprecated/navigation';
import { IconX, OverflowingTextWithTooltip, useIcons } from 'twenty-ui/display';
import { MenuItem, MenuItemSelect } from 'twenty-ui/navigation';
type WorkflowVariablesDropdownStepsProps = {
dropdownId: string;
@@ -14,7 +14,7 @@ import { useSetAtomState } from '@/ui/utilities/state/jotai/hooks/useSetAtomStat
import { useState } from 'react';
import { isDefined } from 'twenty-shared/utils';
import { type BaseOutputSchemaV2 } from 'twenty-shared/workflow';
import { useIcons } from 'twenty-ui-deprecated/display';
import { useIcons } from 'twenty-ui/display';
import { isBaseOutputSchemaV2 } from '@/workflow/workflow-variables/types/guards/isBaseOutputSchemaV2';
import { isLinkOutputSchema } from '@/workflow/workflow-variables/types/guards/isLinkOutputSchema';
import { isRecordOutputSchemaV2 } from '@/workflow/workflow-variables/types/guards/isRecordOutputSchemaV2';