1/*! All material copyright ESRI, All Rights Reserved, unless otherwise specified. 2See https://github.com/Esri/calcite-design-system/blob/dev/LICENSE.md for details. 3v3.0.2 */ 4import{a as u}from"./JD225EOA.js";import{a as d}from"./77BUHP3U.js";import{n as a}from"./GO4QOK2G.js";import{b as h}from"./PBIOUIAG.js";import"./P7S34RN4.js";import{B as n,J as c,e,f as i,v as o,w as l,x as r}from"./63TOND25.js";var m={itemWrapper:"item-wrapper"},p={validationMessage:"radioButtonGroupValidationMessage"},g=e`:host{display:flex;flex-direction:column}:host>.item-wrapper{display:flex;max-inline-size:100vw}:host([layout=horizontal])>.item-wrapper{flex-direction:row;flex-wrap:wrap}:host([layout=horizontal][scale=s])>.item-wrapper{column-gap:1rem}:host([layout=horizontal][scale=m])>.item-wrapper{column-gap:1.25rem}:host([layout=horizontal][scale=l])>.item-wrapper{column-gap:1.5rem}:host([layout=vertical])>.item-wrapper{flex-direction:column;inline-size:fit-content}:host([scale=s]) calcite-input-message{--calcite-input-message-spacing-value: calc(var(--calcite-spacing-xxs) * -1)}:host([scale=m]) calcite-input-message{--calcite-input-message-spacing-value: calc(var(--calcite-spacing-sm) * -1)}:host([scale=l]) calcite-input-message{--calcite-input-message-spacing-value: calc(var(--calcite-spacing-md) * -1)}.validation-container{display:flex;flex-direction:column;align-items:flex-start;align-self:stretch}:host([scale=m]) .validation-container,:host([scale=l]) .validation-container{padding-block-start:.5rem}:host([scale=s]) .validation-container{padding-block-start:.25rem}:host([hidden]){display:none}[hidden]{display:none}`,s=class extends l{constructor(){super(),this.mutationObserver=d("mutation",()=>this.passPropsToRadioButtons()),this.radioButtons=[],this.disabled=!1,this.layout="horizontal",this.required=!1,this.scale="m",this.selectedItem=null,this.status="idle",this.calciteRadioButtonGroupChange=o({cancelable:!1}),this.listen("calciteRadioButtonChange",this.radioButtonChangeHandler)}static{this.properties={radioButtons:16,disabled:7,layout:3,name:3,required:7,scale:3,selectedItem:0,status:3,validationIcon:[3,{converter:n}],validationMessage:1}}static{this.styles=g}async setFocus(){await h(this),this.selectedItem&&!this.selectedItem.disabled&&a(this.selectedItem),this.radioButtons.length>0&&a(this.getFocusableRadioButton())}connectedCallback(){super.connectedCallback(),this.passPropsToRadioButtons(),this.mutationObserver?.observe(this.el,{childList:!0,subtree:!0})}load(){}willUpdate(t){(t.has("disabled")&&(this.hasUpdated||this.disabled!==!1)||t.has("layout")&&(this.hasUpdated||this.layout!=="horizontal")||t.has("scale")&&(this.hasUpdated||this.scale!=="m"))&&this.passPropsToRadioButtons()}loaded(){this.passPropsToRadioButtons()}disconnectedCallback(){super.disconnectedCallback(),this.mutationObserver?.disconnect()}passPropsToRadioButtons(){this.radioButtons=Array.from(this.el.querySelectorAll("calcite-radio-button")),this.selectedItem=Array.from(this.radioButtons).reverse().find(t=>t.checked)||null,this.radioButtons.length>0&&this.radioButtons.forEach(t=>{this.hasUpdated&&(t.disabled=this.disabled||t.disabled),t.name=this.name,t.required=this.required,t.scale=this.scale})}getFocusableRadioButton(){return this.radioButtons.find(t=>!t.disabled)??null}radioButtonChangeHandler(t){this.selectedItem=t.target,this.calciteRadioButtonGroupChange.emit()}render(){return this.el.role="radiogroup",i`<div aria-errormessage=${p.validationMessage} .ariaInvalid=${this.status==="invalid"} class=${r(m.itemWrapper)}><slot></slot></div>${this.validationMessage&&this.status==="invalid"?u({icon:this.validationIcon,id:p.validationMessage,message:this.validationMessage,scale:this.scale,status:this.status}):null}`}};c("calcite-radio-button-group",s);export{s as RadioButtonGroup};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.