Place both halves of the brioche buns into the pan, flat side down. Move the buns around in the pan to toast them evenly. When the insides of the buns are golden brown, remove them to a plate (about 3 minutes).
If working with raw steak, add it to the pan and cook it to your preferred doneness. If working with leftover, cooked steak, add it to the pan and warm it quickly, flipping and moving it constantly so that it warms but does not over-cook. Remove the steak to a plate and set aside.
Reduce the heat to low, and add the ham to the pan. Caramelize the ham on both sides, and fold it in half.
Place the steak on top of the ham.
Place a slice of cheese on top of the steak.
Place the onions on top of the cheese.
Cover the pan and allow it to warm.
Spread the mayonnaise mixture on the inside faces of the brioche buns.
Lay a leaf of lettuce on the bottom half of the bun.
Lay a slice or two of tomato on the lettuce.
Remove the pile of ham, steak, cheese and onions from the pan and place on top of the tomato.
Raise the heat to medium and add 1 tbsp of olive oil to the pan.
When the oil starts to shimmer, add the eggs (one at a time to keep them separated). Cover the pan and cook the eggs until the whites are completely set but the yolks are still runny (about 2 to 2 1/2 minutes).
When the eggs are done, place them on top of the onions.
Sprinkle the eggs with Kosher salt and fresh ground pepper.
Cover the eggs with the top half of the brioche bun and serve immediately.