import type { AtlantisBreakpoints } from "../sharedHelpers/getMappedBreakpointWidth"; import { type CommonAllowedElements, type CommonAtlantisProps, type GapSpacing } from "../sharedHelpers/types"; export interface ClusterProps extends CommonAtlantisProps { readonly children: React.ReactNode; /** * The horizontal justification of the cluster elements. */ readonly justify?: "start" | "end" | "center" | "space-between" | "space-around"; /** * The vertical alignment of the cluster elements. */ readonly align?: "start" | "end" | "center" | "stretch"; /** * The amount of space between the cluster elements. Semantic tokens are available. */ readonly gap?: GapSpacing; /** * The breakpoint below which the cluster will collapse. */ readonly collapseBelow?: keyof typeof AtlantisBreakpoints; /** * Force the cluster to collapse. Use this when our breakpoints are not enough control. */ readonly collapsed?: boolean; /** * Enabling this prevents the cluster from taking 100% of the width of the parent and instead flows with the content. */ autoWidth?: boolean; /** * The HTML tag to render the cluster as. */ as?: CommonAllowedElements; /** **Use at your own risk:** Custom class names for specific elements. This should only be used as a * **last resort**. Using this may result in unexpected side effects. * More information in the [Customizing components Guide](https://atlantis.getjobber.com/guides/customizing-components). */ readonly UNSAFE_className?: { container?: string; }; /** **Use at your own risk:** Custom style for specific elements. This should only be used as a * **last resort**. Using this may result in unexpected side effects. * More information in the [Customizing components Guide](https://atlantis.getjobber.com/guides/customizing-components). */ readonly UNSAFE_style?: { container?: React.CSSProperties; }; }