Files
twenty/packages/twenty-ui/src/data-display/index.ts
T
Raphaël Bosi e0fadfee7c Remove jotai from twenty-ui (#21937)
twenty-ui no longer depends on jotai, so its components work without a
consumer-provided jotai store (better practice for a shared UI library).
twenty-front keeps jotai; this is scoped to the library.

- **Avatar**: tracks image-load failure in local `useState` instead of a
global atom.
- **Icons**: the icon registry moved from a jotai atom to a React
Context. `IconsProvider` and `useIcons` keep identical signatures; the
context itself stays internal.
- Removed the unused `createState` helper, the `invalidAvatarUrlsAtomV2`
/ `iconsState` atoms, and `JotaiRootDecorator`; regenerated barrels and
dropped the `jotai` dependency.

No other package needs changes: nothing imports the removed symbols, and
`twenty-sdk` (which re-exports twenty-ui via `export *`) simply stops
surfacing the two leaked atoms on its next publish.

<!-- This is an auto-generated description by cubic. -->
<a
href="https://cubic.dev/pr/twentyhq/twenty/pull/21937?utm_source=github"
target="_blank" rel="noopener noreferrer"
data-no-image-dialog="true"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"><source
media="(prefers-color-scheme: light)"
srcset="https://www.cubic.dev/buttons/review-in-cubic-light.svg"><img
alt="Review in cubic"
src="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"></picture></a>
<!-- End of auto-generated description by cubic. -->
2026-06-22 13:33:32 +02:00

44 lines
2.2 KiB
TypeScript

/*
* _____ _
*|_ _|_ _____ _ __ | |_ _ _
* | | \ \ /\ / / _ \ '_ \| __| | | | Auto-generated file
* | | \ V V / __/ | | | |_| |_| | Any edits to this will be overridden
* |_| \_/\_/ \___|_| |_|\__|\__, |
* |___/
*/
export type { AnimatedCheckmarkProps } from './AnimatedCheckmark/AnimatedCheckmark';
export { AnimatedCheckmark } from './AnimatedCheckmark/AnimatedCheckmark';
export type { AvatarProps } from './Avatar/Avatar';
export { Avatar } from './Avatar/Avatar';
export { AVATAR_PROPERTIES_BY_SIZE } from './Avatar/constants/AvatarPropertiesBySize';
export type { AvatarSize } from './Avatar/types/AvatarSize';
export type { AvatarType } from './Avatar/types/AvatarType';
export type { AvatarGroupProps } from './AvatarGroup/AvatarGroup';
export { AvatarGroup } from './AvatarGroup/AvatarGroup';
export type { AvatarOrIconProps } from './AvatarOrIcon/AvatarOrIcon';
export { AvatarOrIcon } from './AvatarOrIcon/AvatarOrIcon';
export type { CheckmarkProps } from './Checkmark/Checkmark';
export { Checkmark } from './Checkmark/Checkmark';
export type { ChipProps } from './Chip/Chip';
export { ChipSize, ChipAccent, ChipVariant, Chip } from './Chip/Chip';
export { LINK_CHIP_CLICK_OUTSIDE_ID } from './Chip/constants/LinkChipClickOutsideId';
export type {
ColorSampleVariant,
ColorSampleProps,
} from './ColorSample/ColorSample';
export { ColorSample } from './ColorSample/ColorSample';
export { CommandBlock } from './CommandBlock/CommandBlock';
export type { LinkChipProps } from './LinkChip/LinkChip';
export { LinkChip } from './LinkChip/LinkChip';
export { NotificationCounter } from './NotificationCounter/NotificationCounter';
export { Pill } from './Pill/Pill';
export { Status } from './Status/Status';
export { StyledTintedIconTileContainer } from './StyledTintedIconTileContainer/StyledTintedIconTileContainer';
export type { TagColor } from './Tag/Tag';
export { Tag } from './Tag/Tag';
export type { TintedIconTileProps } from './TintedIconTile/TintedIconTile';
export { TintedIconTile } from './TintedIconTile/TintedIconTile';
export type { IconTileColorShades } from './TintedIconTile/utils/getIconTileColorShades';
export { getIconTileColorShades } from './TintedIconTile/utils/getIconTileColorShades';