import { IconProps } from "@radix-ui/react-icons/dist/types";
import * as React from "react";
/**
* Figma-style alignment/distribution glyphs: a 1px alignment edge plus
* rounded object bars, drawn on the shared 15px icon grid. Used by the
* inspector's alignment strip (the Radix align icons read as heavier
* tack-like shapes that clash with the rest of the icon set).
*/
function makeIcon(name: string, children: React.ReactNode) {
const Component = React.memo(function AlignIcon({
color = "currentColor",
...props
}: IconProps) {
return (
);
});
Component.displayName = name;
return Component;
}
// Vertical edge = 1x12 rect (crisper than a stroked line); bars 2.5 thick.
const vEdge = (x: number) => (
);
const hEdge = (y: number) => (
);
const hBar = (x: number, y: number, width: number) => (
);
const vBar = (x: number, y: number, height: number) => (
);
export const AlignObjectsLeftIcon = makeIcon(
"AlignObjectsLeftIcon",
<>
{vEdge(2)}
{hBar(4.5, 4, 8)}
{hBar(4.5, 8.5, 5)}
>
);
export const AlignObjectsRightIcon = makeIcon(
"AlignObjectsRightIcon",
<>
{vEdge(12)}
{hBar(2.5, 4, 8)}
{hBar(5.5, 8.5, 5)}
>
);
export const AlignObjectsCenterHorizontalIcon = makeIcon(
"AlignObjectsCenterHorizontalIcon",
<>
{hBar(2.5, 4, 10)}
{hBar(4.5, 8.5, 6)}
>
);
export const AlignObjectsTopIcon = makeIcon(
"AlignObjectsTopIcon",
<>
{hEdge(2)}
{vBar(4, 4.5, 8)}
{vBar(8.5, 4.5, 5)}
>
);
export const AlignObjectsBottomIcon = makeIcon(
"AlignObjectsBottomIcon",
<>
{hEdge(12)}
{vBar(4, 2.5, 8)}
{vBar(8.5, 5.5, 5)}
>
);
export const AlignObjectsCenterVerticalIcon = makeIcon(
"AlignObjectsCenterVerticalIcon",
<>
{vBar(4, 2.5, 10)}
{vBar(8.5, 4.5, 6)}
>
);
export const DistributeHorizontalSpacingIcon = makeIcon(
"DistributeHorizontalSpacingIcon",
<>
{vEdge(2)}
{vEdge(12)}
{vBar(6.25, 4, 7)}
>
);
export const DistributeVerticalSpacingIcon = makeIcon(
"DistributeVerticalSpacingIcon",
<>
{hEdge(2)}
{hEdge(12)}
{hBar(4, 6.25, 7)}
>
);