ng-bootstrap HomeBasicAlertFormsFloating labelsInput groupMulti-rangeRangePhone inputSelectRadioCheckboxDatepickerTimepickerDateTime pickerContainersGridCardTab controlRatingBadgeBreadcrumbButton groupButton typeCalendarMarqueeList groupTreeviewTree selectTableClosePaginationPlaceholderSpinnerColor pickerProgress barFor directiveIconOverlaysModalsOffcanvasTooltipToastPopoverDropdownTypeaheadContext menuShellDropdown menu (WC)AdvancedCopyCode snippetPipesTrust-htmlSplit-stringLinifySlugifyWord-countFont-colorHas-propertyToggle buttonsSticky footerAutofocusTrackByAsync HostBindingInstance ofIs interfaceResizableOrdinal numbersMarkdownParallaxPriority navigationScrollspyFile uploadSignature padLazy-loading componentsUser-agentNavigation lockNavigation lock (master/detail)EnterpriseCarouselSchedulerTimelineDockRibbonTile managerDatatablesFile managerQuery builderOTP inputNavbarSplitterAccordionChartsAnimationsSlide up/downFade in/outColor transitionAdditional samplesCollapseFocusTrapDrag-dropTree-select drag-dropQR-code viewerStepperThemingAnchor scrollingSection 1Section 2Section 3Section 4Section 522.15.0

Radio

Group, adjacent, template-driven

string form value via [bsRadioGroup] + [(ngModel)] on an <mp-radio-group> host, which supplies role="radiogroup", one-of-N exclusivity and the arrow-key roving model. <bs-radio> has no [name] input — the group owns it.

AppleBananaCherry
Value: "apple"

Group, adjacent, reactive

Same shape via [formControl] on the group element.

AppleBananaCherry
Value: null

Group with type="toggle_button"

Radio-style button toggles (single-select among visually-button-styled options).

GridListCards
Value: "grid"

Group, non-adjacent (table row pattern)

Each <tr> holds one radio. The group lives on <tbody> and each child uses [group]="g" for explicit wiring.

Label
Row 1
Row 2
Row 3
Selected: null