import type { BdcComponent, BdcElement } from '../jsx-runtime'; type LayoutProps = { id?: string; gap?: number | string; padding?: number | string; children?: BdcElement[]; }; function layoutBlock(type: string, props: LayoutProps): BdcElement { return { type, props: { ...props }, children: props.children ?? [] }; } type ChipProps = LayoutProps & { label: string; glyph?: string; actionId?: string; actionParams?: Record; active?: boolean; variant?: 'default' | 'on_header'; }; export const Chip: BdcComponent = (props) => layoutBlock('chip', props as ChipProps); type ChipRowProps = LayoutProps & { variant?: 'default' | 'on_header'; }; export const ChipRow: BdcComponent = (props) => layoutBlock('chip_row', props as ChipRowProps); type DiscoverGridProps = LayoutProps & { itemsRef: string; columns?: number; profileActionId?: string; adPlacement?: string; }; export const DiscoverGrid: BdcComponent = (props) => layoutBlock('discover_grid', props as DiscoverGridProps); type DiscoverProfileCardProps = LayoutProps & { profileRef: string; actionId?: string; width?: number; }; export const DiscoverProfileCard: BdcComponent = (props) => layoutBlock('discover_profile_card', props as DiscoverProfileCardProps); type DiscoverMapProps = LayoutProps & { centerRef?: string; labelRef?: string; pinsRef?: string; height?: number; /** When set, overrides default (interactive only while pins are empty). */ interactive?: boolean; }; export const DiscoverMap: BdcComponent = (props) => layoutBlock('discover_map', props as DiscoverMapProps);