/**
 * List block icons.
 *
 * `ZigzagListBlockIcon`         — inserter / dashboard icon.
 * `ZigzagListBlockPreviewImage` — static inserter preview (block.json `example`).
 * `zigzagListCardDesignIcons`   — the three display styles, for both the first-insert
 *                                 picker and the Layouts panel's Select Card Style.
 *                                 Only List Design 1 renders in the free plugin; the
 *                                 other two are `pro: true` and locked in the picker.
 *
 * Copied from the Pro plugin. The design thumbnails keep a white fill rect first
 * and the outline rect second, so the pickers' `rect:nth-child(2)` hover rule (see
 * blocks/editor.scss) applies, and take `isActive` like the shared card icons.
 */

import { __ } from "@wordpress/i18n";

export const ZigzagListBlockIcon = () => (
	<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
		<path
			d="M22.35 1.9a.35.35 0 0 0-.35-.35H2a.35.35 0 0 0-.35.35v7.6c0 .193.157.35.35.35h20a.35.35 0 0 0 .35-.35zm1.3 7.6c0 .91-.739 1.65-1.65 1.65H2A1.65 1.65 0 0 1 .35 9.5V1.9C.35.989 1.089.25 2 .25h20c.911 0 1.65.739 1.65 1.65z"
			fill="#1e67d8"
		/>
		<path
			d="M20.5 5.15a.55.55 0 1 1 0 1.1H9a.55.55 0 1 1 0-1.1zm-2.2 2.3a.55.55 0 1 1 0 1.1H9a.55.55 0 1 1 0-1.1zM14.75 2.8a.6.6 0 1 1 0 1.2H9a.6.6 0 1 1 0-1.2zM6.1 5a1 1 0 1 0-2.001 0 1 1 0 0 0 2 0m1.2 0a2.2 2.2 0 1 1-4.4 0 2.2 2.2 0 0 1 4.4 0m15.051 9.5a.35.35 0 0 0-.35-.35H2a.35.35 0 0 0-.35.35v7.6c0 .193.157.35.35.35h20a.35.35 0 0 0 .35-.35zm1.3 7.6c0 .91-.739 1.65-1.65 1.65H2A1.65 1.65 0 0 1 .35 22.1v-7.6c0-.911.739-1.65 1.65-1.65h20c.911 0 1.65.739 1.65 1.65z"
			fill="#1e67d8"
		/>
		<path
			d="M20.5 17.75a.55.55 0 1 1 0 1.1H9a.55.55 0 1 1 0-1.1zm-2.2 2.3a.55.55 0 1 1 0 1.1H9a.55.55 0 1 1 0-1.1zm-3.55-4.65a.6.6 0 1 1 0 1.2H9a.6.6 0 1 1 0-1.2zM6.1 17.6a1 1 0 1 0-2.001 0 1 1 0 0 0 2 0m1.2 0a2.2 2.2 0 1 1-4.4 0 2.2 2.2 0 0 1 4.4 0"
			fill="#1e67d8"
		/>
	</svg>
);

export const ZigzagListBlockPreviewImage = () => (
	<svg viewBox="0 0 236 158" fill="none" xmlns="http://www.w3.org/2000/svg">
		<rect x={0.75} y={0.75} width={234.5} height={156.5} rx={3.25} stroke="#9ea9b2" strokeWidth={1.5} />
		<path
			d="M186.34 53.176V54H49.66v-.825zm.83-.825V15.649a.827.827 0 0 0-.83-.824H49.66a.827.827 0 0 0-.83.824v36.702c0 .455.371.825.83.825V54l-.17-.009a1.653 1.653 0 0 1-1.49-1.64V15.649c0-.91.743-1.649 1.66-1.649h136.68c.917 0 1.66.738 1.66 1.649v36.702l-.009.168a1.654 1.654 0 0 1-1.481 1.472l-.17.009v-.825c.459 0 .83-.369.83-.824"
			fill="#718491"
		/>
		<g clipPath="url(#ZigzagListBlockPreviewImagea)">
			<path
				fillRule="evenodd"
				clipRule="evenodd"
				d="M64 20a10 10 0 1 0 0 20 10 10 0 0 0 0-20m-6.666 16.846a9.525 9.525 0 0 0 13.334 0v-.082a3.37 3.37 0 0 0-.977-2.374 3.33 3.33 0 0 0-2.357-.984h-6.667c-.883 0-1.732.354-2.357.984a3.37 3.37 0 0 0-.976 2.374zm10-8.378c0 1.855-1.493 3.357-3.334 3.357s-3.334-1.504-3.334-3.357S62.16 25.11 64 25.11s3.334 1.504 3.334 3.358"
				fill="#718491"
			/>
		</g>
		<rect x={79} y={20} width={50} height={3} rx={1.5} fill="#718491" />
		<path
			d="M79 29.233c0-.681.556-1.233 1.243-1.233h98.514c.687 0 1.243.552 1.243 1.233 0 .68-.556 1.233-1.243 1.233H80.243A1.24 1.24 0 0 1 79 29.233m0 6c0-.681.556-1.233 1.243-1.233h85.514c.687 0 1.243.552 1.243 1.233 0 .68-.556 1.233-1.243 1.233H80.243A1.24 1.24 0 0 1 79 35.233"
			fill="#9ea9b2"
		/>
		<path
			d="m82.207 42 1.015 1.885 2.192.332-1.57 1.492.349 2.082-1.986-.953-1.974.953.338-2.082L79 44.217l2.204-.332zm6.898.105 1.014 1.885 2.193.332-1.57 1.492.348 2.082-1.985-.953-1.975.953.338-2.082-1.57-1.492 2.203-.332zm6.895 0 1.014 1.885 2.193.332-1.57 1.492.348 2.082L96 46.943l-1.975.953.339-2.082-1.571-1.492 2.203-.332zm6.896 0 1.014 1.885 2.193.332-1.571 1.492.349 2.082-1.985-.953-1.975.953.339-2.082-1.571-1.492 2.203-.332zm6.897.105 1.014 1.885 2.193.331-1.571 1.492.349 2.082-1.985-.953-1.975.953.338-2.082-1.57-1.492 2.203-.331zm76.547 55.966V99H49.66v-.825zm.83-.825V60.649a.827.827 0 0 0-.83-.825H49.66c-.459 0-.83.37-.83.825v36.702c0 .455.371.825.83.825V99l-.17-.009a1.653 1.653 0 0 1-1.49-1.64V60.649c0-.91.743-1.649 1.66-1.649h136.68c.917 0 1.66.738 1.66 1.649v36.702l-.009.168a1.654 1.654 0 0 1-1.481 1.472l-.17.009v-.825c.459 0 .83-.369.83-.824"
			fill="#718491"
		/>
		<g clipPath="url(#ZigzagListBlockPreviewImageb)">
			<path
				fillRule="evenodd"
				clipRule="evenodd"
				d="M64 65a10 10 0 1 0 0 20 10 10 0 0 0 0-20m-6.666 16.846a9.525 9.525 0 0 0 13.334 0v-.082a3.37 3.37 0 0 0-.977-2.374 3.33 3.33 0 0 0-2.357-.984h-6.667c-.883 0-1.732.354-2.357.984a3.37 3.37 0 0 0-.976 2.374zm10-8.378c0 1.855-1.493 3.357-3.334 3.357s-3.334-1.504-3.334-3.357S62.16 70.11 64 70.11s3.334 1.504 3.334 3.358"
				fill="#718491"
			/>
		</g>
		<rect x={79} y={65} width={50} height={3} rx={1.5} fill="#718491" />
		<path
			d="M79 74.233c0-.681.556-1.233 1.243-1.233h98.514c.687 0 1.243.552 1.243 1.233 0 .68-.556 1.233-1.243 1.233H80.243A1.24 1.24 0 0 1 79 74.233m0 6c0-.681.556-1.233 1.243-1.233h85.514c.687 0 1.243.552 1.243 1.233 0 .68-.556 1.233-1.243 1.233H80.243A1.24 1.24 0 0 1 79 80.233"
			fill="#9ea9b2"
		/>
		<path
			d="m82.207 87 1.015 1.885 2.192.332-1.57 1.492.349 2.082-1.986-.953-1.974.953.338-2.082L79 89.217l2.204-.332zm6.898.105 1.014 1.885 2.193.332-1.57 1.492.348 2.082-1.985-.953-1.975.953.338-2.082-1.57-1.492 2.203-.332zm6.895 0 1.014 1.885 2.193.332-1.57 1.492.348 2.082L96 91.943l-1.975.953.339-2.082-1.571-1.492 2.203-.332zm6.896 0 1.014 1.885 2.193.332-1.571 1.492.349 2.082-1.985-.953-1.975.953.339-2.082-1.571-1.492 2.203-.332zm6.897.105 1.014 1.885 2.193.331-1.571 1.492.349 2.082-1.985-.953-1.975.953.338-2.082-1.57-1.492 2.203-.331zm76.547 55.966V144H49.66v-.824zm.83-.825v-36.702a.83.83 0 0 0-.83-.825H49.66c-.459 0-.83.37-.83.825v36.702c0 .455.371.825.83.825V144l-.17-.009a1.65 1.65 0 0 1-1.49-1.64v-36.702c0-.911.743-1.649 1.66-1.649h136.68c.917 0 1.66.738 1.66 1.649v36.702l-.009.168a1.654 1.654 0 0 1-1.481 1.472l-.17.009v-.824c.459 0 .83-.37.83-.825"
			fill="#718491"
		/>
		<g clipPath="url(#ZigzagListBlockPreviewImagec)">
			<path
				fillRule="evenodd"
				clipRule="evenodd"
				d="M64 110a10.002 10.002 0 0 0-7.071 17.071 9.997 9.997 0 0 0 14.142 0A10 10 0 0 0 64 110m-6.666 16.846a9.525 9.525 0 0 0 13.334 0v-.082a3.37 3.37 0 0 0-.977-2.374 3.32 3.32 0 0 0-2.357-.984h-6.667c-.883 0-1.732.354-2.357.984a3.37 3.37 0 0 0-.976 2.374zm10-8.378c0 1.855-1.493 3.357-3.334 3.357s-3.334-1.504-3.334-3.357S62.16 115.11 64 115.11s3.334 1.504 3.334 3.358"
				fill="#718491"
			/>
		</g>
		<rect x={79} y={110} width={50} height={3} rx={1.5} fill="#718491" />
		<path
			d="M79 119.233c0-.681.556-1.233 1.243-1.233h98.514c.687 0 1.243.552 1.243 1.233s-.556 1.233-1.243 1.233H80.243A1.24 1.24 0 0 1 79 119.233m0 6c0-.681.556-1.233 1.243-1.233h85.514c.687 0 1.243.552 1.243 1.233s-.556 1.233-1.243 1.233H80.243A1.24 1.24 0 0 1 79 125.233"
			fill="#9ea9b2"
		/>
		<path
			d="m82.207 132 1.015 1.885 2.192.332-1.57 1.491.349 2.083-1.986-.953-1.974.953.338-2.083L79 134.217l2.204-.332zm6.898.105 1.014 1.885 2.193.332-1.57 1.492.348 2.082-1.985-.953-1.975.953.338-2.082-1.57-1.492 2.203-.332zm6.895 0 1.014 1.885 2.193.332-1.57 1.492.348 2.082-1.985-.953-1.975.953.339-2.082-1.571-1.492 2.203-.332zm6.896 0 1.014 1.885 2.193.332-1.571 1.492.349 2.082-1.985-.953-1.975.953.339-2.082-1.571-1.492 2.203-.332zm6.897.104 1.014 1.886 2.193.331-1.571 1.492.349 2.082-1.985-.953-1.975.953.338-2.082-1.57-1.492 2.203-.331z"
			fill="#718491"
		/>
		<defs>
			<clipPath id="ZigzagListBlockPreviewImagea">
				<path fill="#fff" d="M54 20h20v20H54z" />
			</clipPath>
			<clipPath id="ZigzagListBlockPreviewImageb">
				<path fill="#fff" d="M54 65h20v20H54z" />
			</clipPath>
			<clipPath id="ZigzagListBlockPreviewImagec">
				<path fill="#fff" d="M54 110h20v20H54z" />
			</clipPath>
		</defs>
	</svg>
);

// Design one — plain row: image left, content right, no card frame.
const ListDesignOneIcon = ({ isActive }) => (
	<svg width={118} height={64} viewBox="0 0 118 64" fill="none" xmlns="http://www.w3.org/2000/svg">
		<rect x={0.5} y={0.5} width={117} height={63} rx={2.5} fill="#fff" />
		<rect x={0.5} y={0.5} width={117} height={63} rx={2.5} stroke={isActive ? "#1a74e4" : "#98b0bf"} />
		<path
			fillRule="evenodd"
			clipRule="evenodd"
			d="M46.5 8A1.5 1.5 0 0 1 48 9.5v45a1.5 1.5 0 0 1-1.5 1.5h-37A1.5 1.5 0 0 1 8 54.5v-45A1.5 1.5 0 0 1 9.5 8zM25.98 33.872C19.386 33.872 14 41.38 14 47.98c0 1.144.875 2.02 2.02 2.02h23.96c1.145 0 2.02-.876 2.02-2.02 0-6.6-5.385-14.108-11.98-14.108zM28 15c-4.442 0-8.077 3.637-8.077 8.081s3.635 8.08 8.077 8.08 8.077-3.636 8.077-8.08S32.442 15 28 15"
			fill="#718491"
		/>
		<path
			d="m56.563 13 .81 1.566 1.753.275-1.256 1.239.28 1.73-1.587-.792-1.578.791.27-1.729L54 14.841l1.76-.275zm5.512.087.81 1.566 1.752.275-1.255 1.24.279 1.729-1.587-.792-1.577.792.27-1.73-1.255-1.239 1.76-.275zm5.509 0 .811 1.566 1.752.275-1.255 1.24.279 1.729-1.587-.792-1.577.792.27-1.73-1.255-1.239 1.76-.275zm5.511 0 .81 1.566 1.753.275-1.256 1.24.28 1.729-1.587-.792-1.578.792.27-1.73-1.255-1.239 1.76-.275zm5.511.087.81 1.566 1.753.275-1.255 1.239.279 1.73-1.587-.792-1.578.791.27-1.73-1.255-1.238 1.761-.275z"
			fill="#718491"
		/>
		<path
			d="M54 25.156A1.16 1.16 0 0 1 55.16 24h54.205a1.155 1.155 0 0 1 0 2.312H55.16A1.16 1.16 0 0 1 54 25.156m0 5.394a1.16 1.16 0 0 1 1.16-1.155h52.665a1.155 1.155 0 0 1 0 2.311H55.16A1.16 1.16 0 0 1 54 30.551m0 5.394a1.16 1.16 0 0 1 1.16-1.156h47.275a1.155 1.155 0 0 1 0 2.312H55.16A1.16 1.16 0 0 1 54 35.945m.005 9.211c0-.639.517-1.156 1.154-1.156h28.49a1.155 1.155 0 0 1 0 2.312H55.16a1.155 1.155 0 0 1-1.154-1.156M54 50.165a.77.77 0 0 1 .77-.77h24.645a.77.77 0 0 1 0 1.54H54.77a.77.77 0 0 1-.77-.77"
			fill="#8796a1"
		/>
		{isActive && (
			<>
				<rect x={98} y={5} width={15} height={15} rx={7.5} fill="#1a74e4" />
				<path d="m101.563 12.605 2.445 3.27h1.047l4.382-6.06-1.016-.69-3.937 4.26-1.937-1.68z" fill="#fff" />
			</>
		)}
	</svg>
);

// Design two — framed card, and the row order alternates (Pro).
const ListDesignTwoIcon = ({ isActive }) => (
	<svg width={118} height={64} viewBox="0 0 118 64" fill="none" xmlns="http://www.w3.org/2000/svg">
		<rect x={0.5} y={0.5} width={117} height={63} rx={2.5} fill="#fff" />
		<rect x={0.5} y={0.5} width={117} height={63} rx={2.5} stroke={isActive ? "#1a74e4" : "#98b0bf"} />
		<path d="M108 55.4v.6H25v-.6z" fill="#9ea9b2" />
		<path
			d="M109.989 54.204A2 2 0 0 1 108 56v-.6a1.4 1.4 0 0 0 1.4-1.4V10a1.4 1.4 0 0 0-1.4-1.4H25a1.4 1.4 0 0 0-1.4 1.4v8.5H23V10a2 2 0 0 1 1.796-1.99L25 8h83a2 2 0 0 1 2 2v44zM23 47h.6v7a1.4 1.4 0 0 0 1.4 1.4v.6l-.204-.01a2 2 0 0 1-1.785-1.786L23 54z"
			fill="#9ea9b2"
		/>
		<path
			fillRule="evenodd"
			clipRule="evenodd"
			d="M38.8 13a1.2 1.2 0 0 1 1.2 1.2v36a1.2 1.2 0 0 1-1.2 1.2H9.2A1.2 1.2 0 0 1 8 50.2v-36A1.2 1.2 0 0 1 9.2 13zM22.313 33.813c-5.237 0-9.513 6.054-9.513 11.374 0 .922.695 1.628 1.603 1.628h19.024c.908 0 1.603-.706 1.603-1.628 0-5.32-4.275-11.373-9.511-11.373zM23.915 18.6c-3.527 0-6.412 2.932-6.412 6.514s2.885 6.515 6.412 6.515 6.413-2.932 6.413-6.515-2.886-6.514-6.413-6.514"
			fill="#718491"
		/>
		<path
			d="m48.563 14 .81 1.566 1.753.275-1.256 1.239.28 1.73-1.587-.792-1.578.791.27-1.729L46 15.841l1.76-.275zm5.512.087.81 1.566 1.752.275-1.255 1.24.279 1.729-1.587-.792-1.577.792.27-1.73-1.255-1.239 1.76-.275zm5.509 0 .811 1.566 1.752.275-1.255 1.24.279 1.729-1.587-.792-1.577.792.27-1.73-1.255-1.239 1.76-.275zm5.511 0 .81 1.566 1.753.275-1.256 1.24.28 1.729-1.587-.792-1.578.792.27-1.73-1.255-1.239 1.76-.275zm5.511.087.81 1.566 1.753.275-1.255 1.239.279 1.73-1.587-.792-1.578.791.27-1.73-1.255-1.238 1.761-.275z"
			fill="#718491"
		/>
		<path
			d="M46 25.64a1.16 1.16 0 0 1 1.16-1.157h54.205a1.155 1.155 0 0 1 0 2.312H47.16A1.16 1.16 0 0 1 46 25.64m0 5.394a1.16 1.16 0 0 1 1.16-1.156h52.665a1.155 1.155 0 0 1 0 2.312H47.16A1.16 1.16 0 0 1 46 31.034m0 5.394a1.16 1.16 0 0 1 1.16-1.156h47.275a1.156 1.156 0 0 1 0 2.312H47.16A1.16 1.16 0 0 1 46 36.428m.005 7.812c0-.638.517-1.156 1.154-1.156h28.49a1.156 1.156 0 0 1 0 2.312H47.16a1.156 1.156 0 0 1-1.154-1.156M46 49.25a.77.77 0 0 1 .77-.772h24.645a.77.77 0 0 1 0 1.542H46.77a.77.77 0 0 1-.77-.77"
			fill="#8796a1"
		/>
		{isActive && (
			<>
				<rect x={98} y={5} width={15} height={15} rx={7.5} fill="#1a74e4" />
				<path d="m101.563 12.605 2.445 3.27h1.047l4.382-6.06-1.016-.69-3.937 4.26-1.937-1.68z" fill="#fff" />
			</>
		)}
	</svg>
);

// Design three — reviewer name and designation sit over the bottom of the image (Pro).
const ListDesignThreeIcon = ({ isActive }) => (
	<svg width={118} height={64} viewBox="0 0 118 64" fill="none" xmlns="http://www.w3.org/2000/svg">
		<rect x={0.5} y={0.5} width={117} height={63} rx={2.5} fill="#fff" />
		<rect x={0.5} y={0.5} width={117} height={63} rx={2.5} stroke={isActive ? "#1a74e4" : "#98b0bf"} />
		<rect x={8} y={8} width={40} height={48} rx={1.5} fill="#718491" />
		<path
			opacity={0.2}
			d="M28 31.162c-4.442 0-8.077-3.637-8.077-8.081C19.923 18.636 23.558 15 28 15s8.077 3.636 8.077 8.08c0 4.445-3.635 8.082-8.077 8.082m-2.02 2.71h4.04C36.614 33.872 42 41.38 42 47.98c0 1.145-.875 2.02-2.02 2.02H16.02c-1.145 0-2.02-.875-2.02-2.02 0-6.6 5.385-14.108 11.98-14.108"
			fill="#fff"
		/>
		<path
			d="M12 46.156c0-.639.517-1.156 1.155-1.156h20.79a1.155 1.155 0 0 1 0 2.312h-20.79A1.155 1.155 0 0 1 12 46.156m0 4.239a.77.77 0 0 1 .77-.771h13.86a.77.77 0 0 1 0 1.541H12.77a.77.77 0 0 1-.77-.77"
			fill="#fff"
		/>
		<path
			d="m56.563 16 .81 1.566 1.753.275-1.256 1.239.28 1.73-1.587-.792-1.578.791.27-1.729L54 17.841l1.76-.275zm5.512.087.81 1.566 1.752.275-1.255 1.24.279 1.729-1.587-.792-1.577.792.27-1.73-1.255-1.239 1.76-.275zm5.509 0 .811 1.566 1.752.275-1.255 1.24.279 1.729-1.587-.792-1.577.792.27-1.73-1.255-1.239 1.76-.275zm5.511 0 .81 1.566 1.753.275-1.256 1.24.28 1.729-1.587-.792-1.578.792.27-1.73-1.255-1.239 1.76-.275zm5.511.087.81 1.566 1.753.275-1.255 1.239.278 1.73-1.586-.792-1.578.791.27-1.73-1.255-1.238 1.761-.275z"
			fill="#718491"
		/>
		<path
			d="M54 35.156A1.16 1.16 0 0 1 55.16 34h54.205a1.155 1.155 0 0 1 0 2.312H55.16A1.16 1.16 0 0 1 54 35.156m0 5.394a1.16 1.16 0 0 1 1.16-1.155h52.665a1.155 1.155 0 0 1 0 2.311H55.16A1.16 1.16 0 0 1 54 40.55m0 5.395a1.16 1.16 0 0 1 1.16-1.156h47.275a1.155 1.155 0 0 1 0 2.312H55.16A1.16 1.16 0 0 1 54 45.945"
			fill="#8796a1"
		/>
		<path d="M54 27a2 2 0 0 1 2-2h41a2 2 0 1 1 0 4H56a2 2 0 0 1-2-2" fill="#718491" />
		{isActive && (
			<>
				<rect x={98} y={5} width={15} height={15} rx={7.5} fill="#1a74e4" />
				<path d="m101.563 12.605 2.445 3.27h1.047l4.382-6.06-1.016-.69-3.937 4.26-1.937-1.68z" fill="#fff" />
			</>
		)}
	</svg>
);

// `pro: true` designs are shown in the picker but locked in the free plugin.
export const zigzagListCardDesignIcons = [
	{ label: __("List Design 1", "testimonial-free"), value: "list-design-one", Icon: ListDesignOneIcon },
	{ label: __("List Design 2", "testimonial-free"), value: "list-design-two", Icon: ListDesignTwoIcon, pro: true },
	{
		label: __("List Design 3", "testimonial-free"),
		value: "list-design-three",
		Icon: ListDesignThreeIcon,
		pro: true,
	},
];
