The answer is D: yellow heart.

The rule
The pattern repeats every 4 things: yellow heart, yellow heart, teal heart, orange heart. Then it starts again from the beginning.
The pattern as Python code
Here is a tiny Python program that follows the same rule. Type it into IDLE and run it to print the whole pattern, including the answer.
pattern = ["yellow heart", "yellow heart", "teal heart", "orange heart"]
for position in range(10):
print(position + 1, pattern[position % len(pattern)])
When you run it, Python prints:
1 yellow heart 2 yellow heart 3 teal heart 4 orange heart 5 yellow heart 6 yellow heart 7 teal heart 8 orange heart 9 yellow heart 10 yellow heart
Pixel says: Try changing a number in the code and run it again. Can you make the pattern go on for 20 steps? Meow!