Files
twenty/packages/twenty-front/src/modules/ui/layout/hero/components/HeroPlayButton.tsx
T
Raphaël Bosi c596a5e342 Rename twenty-ui to twenty-ui-deprecated and twenty-new-ui to twenty-ui to prepare package release (#21315)
## Description

Promotes the next-gen UI library (formerly `twenty-new-ui`) to the name
**`twenty-ui`** (v0.1.0, publishable) and renames the old package to
**`twenty-ui-deprecated`**. Rewrites ~1,730 `twenty-ui` imports →
`twenty-ui-deprecated`, updates all configs/CI/Docker/deps, and migrates
twenty-front's `Toggle` to the new package (first consumer) as a
drop-in.

## Next steps
- Wire the `ui/v*` publish dispatch (`cd-deploy-tag.yaml` +
`.yarnrc.yml`), then tag `ui/v0.1.0` to publish.
- Continue migrating components from `twenty-ui-deprecated` →
`twenty-ui`.
2026-06-08 18:12:28 +02:00

65 lines
1.4 KiB
TypeScript

import { styled } from '@linaria/react';
import { useContext } from 'react';
import { IconPlayerPlay } from 'twenty-ui-deprecated/display';
import {
ThemeContext,
themeCssVariables,
} from 'twenty-ui-deprecated/theme-constants';
type HeroPlayButtonProps = {
onClick?: () => void;
ariaLabel?: string;
className?: string;
};
const StyledButton = styled.button`
align-items: center;
background: ${themeCssVariables.background.primary};
border: none;
border-radius: 50%;
box-shadow: ${themeCssVariables.boxShadow.strong};
color: ${themeCssVariables.font.color.tertiary};
cursor: pointer;
display: inline-flex;
height: 44px;
justify-content: center;
padding: 0;
transition:
transform 120ms ease-out,
background-color 120ms ease-out;
width: 44px;
&:hover {
background: ${themeCssVariables.background.secondary};
transform: scale(1.04);
}
&:active {
transform: scale(0.98);
}
&:focus-visible {
outline: 2px solid ${themeCssVariables.border.color.blue};
outline-offset: 2px;
}
`;
export const HeroPlayButton = ({
onClick,
ariaLabel = 'Play video',
className,
}: HeroPlayButtonProps) => {
const { theme } = useContext(ThemeContext);
return (
<StyledButton
type="button"
onClick={onClick}
aria-label={ariaLabel}
className={className}
>
<IconPlayerPlay size={theme.icon.size.md} stroke={theme.icon.stroke.md} />
</StyledButton>
);
};