Disables every row — set while a sign-in is being initiated so a second click cannot start a competing redirect.
Label for the call to action shown when the catalog published nothing.
Lets one component cover all three states — 2+ providers (a list), exactly one (a single
primary CTA naming it), and none at all (this generic CTA, for deployments still configured
through mj.config.cjs / AUTH_TYPE). Null renders nothing, which is the prior behaviour
for hosts that handle the empty case themselves.
Emitted when the empty-catalog CTA is clicked. The host starts its configured sign-in.
Optional heading rendered above the list.
Providers to offer, already ordered by the caller.
Emitted with the chosen provider. The host decides what signing in means.
Whether to render the "Powered by MemberJunction" attribution.
On by default, and a host-supplied flag rather than a code change, because full white-labelling is a commercial entitlement: a tenant that has paid to remove the attribution must be satisfiable by configuration alone.
Optional supporting line rendered under the heading.
A single option is not a choice — it renders as one primary call to action.
Resolves the icon class for a provider: an explicit Icon from metadata wins, otherwise
a known brand mapping for the driver, otherwise null (the chip falls back to an initial).
Fallback chip content when no icon resolves.
"Continue with Okta" — the conventional modern auth phrasing.
Reusable, app-agnostic multi-IdP login picker.
Presentational by design: it takes a provider catalog in and emits the user's choice out. It owns no routing, no branding, and no knowledge of which app embeds it, so Explorer and any other MJ application get the identical accessible picker by dropping in the element and supplying their own surrounding login surface.
Accessibility comes from the shared
mjButtondirective (focus ring, hit target, disabled semantics) rather than from styles restated here, so it cannot drift from the rest of the app.Example