import * as React from 'react' import { toPx } from '@pandacss/shared' import { Fragment } from 'react' import { Grid, panda } from '../../styled-system/jsx' import { getSortedSizes } from '../lib/sizes-sort' import { TokenGroup } from './token-group' import type { Token } from '@pandacss/token-dictionary' import { EmptyState } from './empty-state' import { SizesIcon } from './icons' export interface SizesProps { sizes: Token[] name: string } const contentRegex = /^(min|max|fit)-content$/ const unitRegex = /(ch|%)$/ export default function Sizes(props: SizesProps) { const { sizes, name } = props const sortedSizes = getSortedSizes(sizes).filter( (token) => // remove negative values !token.extensions.isNegative && // remove auto breakpoints !token.name.includes('breakpoint-') && // remove fit-content, min-content, max-content, ch, % !contentRegex.test(token.value) && !unitRegex.test(token.value), ) if (sortedSizes.length === 0) { return ( }> The panda config does not contain any `{name}`` tokens ) } return ( Name Size Pixels {sortedSizes .sort((a, b) => a.extensions.prop - b.extensions.prop) .map((size, index) => ( {size.extensions.prop} {size.value} {toPx(size.value as string)} ))} ) }