import React from 'react';
import type { IconProps } from '../types';

export const ActionsSmooth = (props: IconProps) => (
  <svg
    width="28"
    height="28"
    viewBox="0 0 28 28"
    fill="none"
    {...props}
  >
    <path
      d="M8.7002 22.2C9.52862 22.2 10.2002 21.5284 10.2002 20.7C10.2002 19.8716 9.52862 19.2 8.7002 19.2C7.87177 19.2 7.2002 19.8716 7.2002 20.7C7.2002 21.5284 7.87177 22.2 8.7002 22.2Z"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M20.7002 10.25C21.5286 10.25 22.2002 9.57843 22.2002 8.75C22.2002 7.92157 21.5286 7.25 20.7002 7.25C19.8718 7.25 19.2002 7.92157 19.2002 8.75C19.2002 9.57843 19.8718 10.25 20.7002 10.25Z"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M11.25 10.5C12.6021 9.31806 14.3294 8.65371 16.125 8.625H19.125"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M8.625 19.125V16.125C8.62735 14.5045 9.14884 12.9274 10.113 11.625"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M10.125 11.625C10.7463 11.625 11.25 11.1213 11.25 10.5C11.25 9.87868 10.7463 9.375 10.125 9.375C9.50368 9.375 9 9.87868 9 10.5C9 11.1213 9.50368 11.625 10.125 11.625Z"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
  </svg>
);

export const ActionsSimplify = (props: IconProps) => (
  <svg
    width="28"
    height="28"
    viewBox="0 0 28 28"
    fill="none"
    {...props}
  >
    <path
      d="M11.96 18.3174C12.2499 18.3383 12.4951 18.5609 12.5342 18.8604C12.5786 19.2025 12.3373 19.5159 11.9951 19.5605L11.749 19.5889C11.5024 19.6129 11.2526 19.625 11 19.625C10.663 19.625 10.3308 19.6031 10.0049 19.5605C9.66274 19.5159 9.4214 19.2025 9.46582 18.8604C9.50489 18.5609 9.75009 18.3383 10.04 18.3174L10.167 18.3213L10.5791 18.3613C10.7182 18.3704 10.8585 18.375 11 18.375C11.2826 18.375 11.5607 18.3568 11.833 18.3213L11.96 18.3174ZM5.06543 15.7656C5.3391 15.5555 5.73111 15.6073 5.94141 15.8809C6.28095 16.3227 6.67729 16.719 7.11914 17.0586C7.39273 17.2689 7.44453 17.6609 7.23438 17.9346C7.02406 18.2083 6.63112 18.2601 6.35742 18.0498C5.82942 17.6441 5.35594 17.1706 4.9502 16.6426C4.73991 16.3689 4.79175 15.9759 5.06543 15.7656ZM3.375 12C3.375 11.663 3.39693 11.3308 3.43945 11.0049C3.48409 10.6627 3.79752 10.4214 4.13965 10.4658C4.48193 10.5105 4.72336 10.8247 4.67871 11.167L4.63867 11.5791C4.62962 11.7182 4.625 11.8585 4.625 12C4.625 12.2826 4.6432 12.5607 4.67871 12.833C4.72336 13.1753 4.48193 13.4895 4.13965 13.5342C3.84028 13.573 3.56332 13.3929 3.46875 13.1182L3.43945 12.9951L3.41113 12.749C3.38707 12.5024 3.375 12.2526 3.375 12ZM17.375 12C17.375 11.8585 17.3704 11.7182 17.3613 11.5791L17.3213 11.167L17.3174 11.04C17.3383 10.7501 17.5609 10.5049 17.8604 10.4658C18.2025 10.4214 18.5159 10.6627 18.5605 11.0049C18.6031 11.3308 18.625 11.663 18.625 12C18.625 12.337 18.6031 12.6692 18.5605 12.9951L18.5312 13.1182C18.4367 13.3929 18.1597 13.573 17.8604 13.5342C17.5181 13.4895 17.2766 13.1753 17.3213 12.833L17.3613 12.4209C17.3704 12.2818 17.375 12.1415 17.375 12ZM5.94141 8.11914C5.73111 8.39273 5.3391 8.44453 5.06543 8.23438C4.79175 8.02406 4.73991 7.63112 4.9502 7.35742L5.94141 8.11914ZM14.7656 6.06543C14.9759 5.79175 15.3689 5.73991 15.6426 5.9502C16.1706 6.35594 16.6441 6.82942 17.0498 7.35742C17.2601 7.63112 17.2083 8.02406 16.9346 8.23438C16.6609 8.44453 16.2689 8.39273 16.0586 8.11914C15.719 7.67729 15.3227 7.28095 14.8809 6.94141C14.6073 6.73111 14.5555 6.3391 14.7656 6.06543ZM6.35742 5.9502C6.63112 5.73991 7.02406 5.79175 7.23438 6.06543C7.44453 6.3391 7.39273 6.73111 7.11914 6.94141C6.67729 7.28095 6.28095 7.67729 5.94141 8.11914L4.9502 7.35742C5.35594 6.82942 5.82942 6.35594 6.35742 5.9502ZM11 4.375C11.2526 4.375 11.5024 4.38707 11.749 4.41113L11.9951 4.43945L12.1182 4.46875C12.3929 4.56332 12.573 4.84028 12.5342 5.13965C12.4895 5.48193 12.1753 5.72336 11.833 5.67871C11.5607 5.6432 11.2826 5.625 11 5.625C10.7174 5.625 10.4393 5.6432 10.167 5.67871L10.04 5.68262C9.75009 5.66167 9.50489 5.43914 9.46582 5.13965C9.4214 4.79752 9.66274 4.48409 10.0049 4.43945C10.3308 4.39693 10.663 4.375 11 4.375Z"
      fill="currentColor"
    />
    <path
      d="M17.2614 24.6405C17.1954 24.9075 17.0614 24.9155 16.9614 24.6585L13.0334 14.3235C12.9334 14.0665 13.0664 13.9355 13.3234 14.0315L23.7014 17.9235C23.9584 18.0235 23.9514 18.1535 23.6844 18.2235L18.5124 19.5165L17.2614 24.6405Z"
      stroke="currentColor"
      strokeWidth="1.25"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
  </svg>
);

export const ActionsCombine = (props: IconProps) => (
  <svg
    width="28"
    height="28"
    viewBox="0 0 28 28"
    fill="none"
    {...props}
  >
    <path
      d="M15.8857 5C16.9903 5 17.8857 5.89543 17.8857 7V10.2432H12.1143C11.0098 10.2432 10.1144 11.1387 10.1143 12.2432V17.8857H7C5.89543 17.8857 5 16.9903 5 15.8857V7C5 5.89543 5.89543 5 7 5H15.8857Z"
      fill="currentColor"
    />
    <rect
      x="10.6143"
      y="10.7434"
      width="11.8859"
      height="11.886"
      rx="1.5"
      stroke="currentColor"
    />
  </svg>
);

export const ActionsCombineMerge = (props: IconProps) => (
  <svg
    width="24"
    height="24"
    viewBox="0 0 24 24"
    fill="none"
    {...props}
  >
    <path
      d="M2.99448 15.9397C2.7656 15.9397 2.54609 15.8488 2.38424 15.687C2.22239 15.5251 2.13147 15.3056 2.13147 15.0767V2.99454C2.13147 2.76566 2.22239 2.54615 2.38424 2.3843C2.54609 2.22246 2.7656 2.13153 2.99448 2.13153H15.0767C15.3056 2.13153 15.5251 2.22246 15.6869 2.3843C15.8488 2.54615 15.9397 2.76566 15.9397 2.99454V8.17262H21.1178C21.3467 8.17262 21.5662 8.26355 21.728 8.4254C21.8899 8.58724 21.9808 8.80675 21.9808 9.03564V21.1178C21.9808 21.3467 21.8899 21.5662 21.728 21.7281C21.5662 21.8899 21.3467 21.9808 21.1178 21.9808H9.03558C8.8067 21.9808 8.58719 21.8899 8.42534 21.7281C8.26349 21.5662 8.17257 21.3467 8.17257 21.1178V15.9397H2.99448Z"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M9.03562 8.17261C8.80674 8.17261 8.58723 8.26353 8.42538 8.42538C8.26353 8.58722 8.17261 8.80674 8.17261 9.03562"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M8.17261 10.7617V11.6247"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M11.6246 8.17261H10.7616"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M14.2136 8.17261H13.3506"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M10.7616 15.9398H9.89856"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M13.3507 15.9398H12.4877"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M8.17261 14.2137V13.3507"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M15.9397 9.89862V10.7616"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M15.0767 15.9397C15.3055 15.9397 15.5251 15.8488 15.6869 15.687C15.8488 15.5251 15.9397 15.3056 15.9397 15.0767"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M15.9397 13.3507V12.4877"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
  </svg>
);

export const ActionsCombineIntersect = (props: IconProps) => (
  <svg
    width="24"
    height="24"
    viewBox="0 0 24 24"
    fill="none"
    {...props}
  >
    <path
      d="M15.0767 2.13153C15.3055 2.13153 15.5251 2.22246 15.6869 2.3843C15.8488 2.54615 15.9397 2.76566 15.9397 2.99454"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M2.99448 2.13153C2.7656 2.13153 2.54609 2.22246 2.38424 2.3843C2.22239 2.54615 2.13147 2.76566 2.13147 2.99454"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M15.9397 4.72058V5.58359"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M12.4877 2.13153H13.3507"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M9.89856 2.13153H10.7616"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M7.30957 2.13153H8.17258"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M4.72046 2.13153H5.58347"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M7.30957 15.9398H8.17258"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M4.72046 15.9398H5.58347"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M2.99448 15.9397C2.7656 15.9397 2.54609 15.8488 2.38424 15.687C2.22239 15.5251 2.13147 15.3056 2.13147 15.0767"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M2.13147 13.3507V12.4877"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M2.13147 10.7616V9.89862"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M2.13147 8.17258V7.30957"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M15.9397 8.17258V7.30957"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M2.13147 5.58359V4.72058"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M9.03562 21.9808C8.80674 21.9808 8.58723 21.8899 8.42538 21.728C8.26353 21.5662 8.17261 21.3467 8.17261 21.1178"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M21.1178 21.9808C21.3467 21.9808 21.5662 21.8899 21.728 21.728C21.8899 21.5662 21.9808 21.3467 21.9808 21.1178"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M8.17261 19.3918V18.5287"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M11.6246 21.9808H10.7616"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M14.2136 21.9808H13.3506"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M16.8027 21.9808H15.9397"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M19.3917 21.9808H18.5287"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M16.8027 8.17261H15.9397"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M19.3917 8.17261H18.5287"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M21.1178 8.17261C21.3467 8.17261 21.5662 8.26353 21.728 8.42538C21.8899 8.58722 21.9808 8.80674 21.9808 9.03562"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M21.9808 10.7617V11.6247"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M21.9808 13.3507V14.2137"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M21.9808 15.9398V16.8028"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M8.17261 15.9398V16.8028"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M21.9808 18.5287V19.3918"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M8.17261 9.03562C8.17261 8.80674 8.26353 8.58722 8.42538 8.42538C8.58723 8.26353 8.80674 8.17261 9.03562 8.17261H15.9397V15.0767C15.9397 15.3056 15.8488 15.5251 15.687 15.687C15.5251 15.8488 15.3056 15.9397 15.0767 15.9397H8.17261V9.03562Z"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
  </svg>
);

export const ActionsCombineSubtract = (props: IconProps) => (
  <svg
    width="24"
    height="24"
    viewBox="0 0 24 24"
    fill="none"
    {...props}
  >
    <path
      d="M9.03564 21.9808C8.80676 21.9808 8.58725 21.8899 8.4254 21.7281C8.26355 21.5662 8.17263 21.3467 8.17263 21.1178"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M21.1178 21.9808C21.3467 21.9808 21.5662 21.8899 21.7281 21.7281C21.8899 21.5662 21.9808 21.3467 21.9808 21.1178"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M8.17261 19.3918V18.5288"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M11.6246 21.9808H10.7616"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M14.2137 21.9808H13.3507"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M16.8027 21.9808H15.9397"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M19.3918 21.9808H18.5288"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M19.3918 8.17261H18.5288"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M21.1178 8.17263C21.3467 8.17263 21.5662 8.26355 21.7281 8.4254C21.8899 8.58725 21.9808 8.80676 21.9808 9.03564"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M21.9808 10.7617V11.6247"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M21.9808 13.3507V14.2137"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M21.9808 15.9398V16.8028"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M21.9808 18.5288V19.3918"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M16.8027 7.30965C16.8027 7.53853 16.7118 7.75804 16.55 7.91989C16.3881 8.08174 16.1686 8.17266 15.9397 8.17266L9.03561 8.17266C8.80672 8.17266 8.58721 8.26358 8.42536 8.42543C8.26352 8.58728 8.17259 8.80679 8.17259 9.03567L8.17259 15.9398C8.17259 16.1687 8.08167 16.3882 7.91982 16.55C7.75798 16.7119 7.53846 16.8028 7.30958 16.8028H2.99451C2.76562 16.8028 2.54611 16.7119 2.38426 16.55C2.22242 16.3882 2.13149 16.1687 2.13149 15.9398L2.13149 2.99458C2.13149 2.76569 2.22242 2.54618 2.38426 2.38434C2.54611 2.22249 2.76562 2.13157 2.99451 2.13157L15.9397 2.13157C16.1686 2.13157 16.3881 2.22249 16.55 2.38434C16.7118 2.54618 16.8027 2.76569 16.8027 2.99458V7.30965Z"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
  </svg>
);

export const ActionsSetting = (props: IconProps) => (
  <svg
    width="28"
    height="28"
    viewBox="0 0 28 28"
    fill="none"
    {...props}
  >
    <circle
      cx="14"
      cy="8.34783"
      r="1.73913"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M15.7374 8.34787H21.4096"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M6.62695 8.34787H12.2574"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <circle
      cx="17.5148"
      cy="14"
      r="1.73913"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M6.62695 14H15.7791"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M19.2574 14H21.4096"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <circle
      cx="12.2609"
      cy="19.6522"
      r="1.73913"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M13.9966 19.6522H21.4096"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
    <path
      d="M6.62695 19.6522H10.5217"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
  </svg>
);

export const ActionsInterpolate = (props: IconProps) => (
  <svg
    width="28"
    height="28"
    viewBox="0 0 28 28"
    fill="none"
    {...props}
  >
    <path
      d="M7 14.75H21"
      stroke="currentColor"
      strokeWidth="1.2"
      strokeLinecap="round"
    />
    <path
      d="M10.5 6H17.5"
      stroke="currentColor"
      strokeWidth="1.2"
      strokeLinecap="round"
    />
    <path
      d="M10.5 22.625H17.5"
      stroke="currentColor"
      strokeWidth="1.2"
      strokeLinecap="round"
    />
    <path
      d="M12.25 10.375H15.75"
      stroke="currentColor"
      strokeWidth="1.2"
      strokeLinecap="round"
    />
    <path
      d="M12.25 18.25H15.75"
      stroke="currentColor"
      strokeWidth="1.2"
      strokeLinecap="round"
    />
  </svg>
);

export const ActionsBidirectional = (props: IconProps) => (
  <svg
    width="28"
    height="28"
    viewBox="0 0 28 28"
    fill="none"
    {...props}
  >
    <path
      d="M9.08936 18.1306L20.5415 11.6855"
      stroke="currentColor"
      strokeLinecap="round"
    />
    <path
      d="M11.5084 10.8735L16.2583 19.0161"
      stroke="currentColor"
      strokeLinecap="round"
    />
    <path
      d="M7.17338 19.6824C5.88735 17.7757 5.7986 15.3546 6.70193 13.094C7.41762 11.3029 8.75605 9.61255 10.6152 8.35855C12.3677 7.17645 14.875 7.89754 16.7071 7.83789C19.2718 7.7544 21.3773 7.1777 22.7218 9.17092C23.9578 11.0034 22.7419 14.1203 21.9481 16.3041C21.2617 18.1926 20.9123 19.4176 18.9619 20.7331C17.2094 21.9152 15.2707 22.5231 13.4385 22.5827C10.8738 22.6662 8.51782 21.6756 7.17338 19.6824Z"
      stroke="currentColor"
    />
  </svg>
);
