The PlainButton is a foundational component with minimal styling used to build other button components in Pluma.
display, alignItems, px, py, cursor) or custom styles.<button> element. Use for actions that don't navigate away from the current page. Pair with onClick.href) — renders an anchor element. Use for navigation. Set isExternal so external URLs receive safe attributes automatically.isLoading) — communicates that a background task is in progress and blocks interaction.isDisabled) — blocks interaction. Styling stays close to the base state because PlainButton is unstyled.autoLoading, default true) — enters the loading state automatically while a promise returned from onClick is pending. Set false to drive loading from isLoading alone.aria-busy="true" and blocks clicks; style [aria-busy="true"] to draw a loading indicator. The plainButtonIsLoading class is deprecated.children accepts a render function receiving { isLoading, isDisabled }. Ember: the default block yields { isLoading, isDisabled }.aria-disabled, not the native disabled attribute. When as is a custom component, isDisabled is also forwarded to it so it can suppress its own interactions.href is ignored while isDisabled is set — the component renders a <button> instead of a link. Otherwise href renders through PlainLink.<button type="button">. Override with as; the component is polymorphic and retains PlainButton behavior.withSafeExternalAttributes={false} suppresses the automatic target="_blank" rel="noopener noreferrer" for protocols like mailto: and tel:.replace is passed to the provider's link component to trigger replaceState instead of pushState.<PlumaPlainButton @onClick={{this.handleClick}} @isLoading={{this.isLoading}}> with @-prefixed args.