import React, { type HTMLAttributes, type ReactElement, type ReactNode } from 'react'
import classnames from 'classnames'
import { type OverrideClassName } from '~components/types/OverrideClassName'
import { type InformationTileProps } from '../InformationTile'
import { type MultiActionTileProps } from '../MultiActionTile'
import styles from './TileGrid.module.css'
type TileProps = InformationTileProps | MultiActionTileProps
export type TileElement = ReactElement
export interface TileGridProps extends OverrideClassName> {
children: TileElement[] | TileElement
}
/**
* @deprecated TileGrid is deprecated in v3 and will be removed in v4.
*
* {@link https://cultureamp.atlassian.net/wiki/spaces/DesignSystem/pages/3079077889/Tile#TileGrid Guidance} |
* {@link https://cultureamp.design/storybook/?path=/docs/components-tiles-tilegrid--docs Storybook}
*/
export const TileGrid = ({
children,
classNameOverride,
...restProps
}: TileGridProps): JSX.Element => {
const isFragment = !Array.isArray(children) && children.type === React.Fragment
return (
{isFragment ? (
children?.props?.children ? (
) : null
) : (
)}
)
}
TileGrid.displayName = 'TileGrid'
type TileListItemProps = { tiles: ReactNode }
const TileListItem = ({ tiles }: TileListItemProps): JSX.Element => {
if (Array.isArray(tiles)) {
return (
<>
{tiles.map((tile: TileElement, index) => (
{tile}
))}
>
)
}
return {tiles}
}