Due to how the (click:) macro needs to scan the entire of the generated HTML page (after it has been rendered) to find the content it needs to convert into a link, and that certain activities can cause that scanning to occur more than once, I would strongly suggest using the (click:) macro only when absolutely necessary and when you can't use a (link:) macro to achieve the outcome you need.
You can use Boolen variables to track if each of the links have been selected or not, an (if:) macro to determine if all the Boolen variables equal true, a hidden hook to hide the extra text, and the (show:) macro to reveal that hidden text later.
Select the following three links and the hidden text will be revealed.
(set: $linkA to false, $linkB to false, $linkC to false)
(link: "Link A")[{
(set: $linkA to true)
(if: $linkA and $linkB and $linkC)[
(show: ?extra)
]
}]
(link: "Link B")[{
(set: $linkB to true)
(if: $linkA and $linkB and $linkC)[
(show: ?extra)
]
}]
(link: "Link C")[{
(set: $linkC to true)
(if: $linkA and $linkB and $linkC)[
(show: ?extra)
]
}]
|extra)[This text is hidden until all three Boolean variables equal true.]
note: I have used extra indentation and line-breaks to make the above example more readable, they can be safely removed from your implementation. I also needed to use Collapsing white-space markup to remove the unwanted blank lines cause by the extra indentation and line-breaks.