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.3 */ 4import{a as U}from"./AS3OWJAM.js";import{c as S,e as A,f as M,h as D}from"./OEWDESOU.js";import{c as k,d as x}from"./7XDJ54GY.js";import{a as b,b as C}from"./6NJ2XB5D.js";import{e as w,v as y}from"./SXYTJEOC.js";import{b as I}from"./H6E5FODU.js";import"./B4YIOD3M.js";import{B as f,G as g,J as v,e as h,f as c,v as m,w as p,x as u}from"./74XIV7EB.js";var $={itemWrapper:"item-wrapper"},E={validationMessage:"segmentedControlValidationMessage"},z=h`:host([disabled]){cursor:default;-webkit-user-select:none;user-select:none;opacity:var(--calcite-opacity-disabled)}:host([disabled]) *,:host([disabled]) ::slotted(*){pointer-events:none}:host{display:flex;flex-direction:column}.item-wrapper{display:flex;background-color:var(--calcite-color-foreground-1);inline-size:fit-content;outline:1px solid var(--calcite-segmented-control-border-color, var(--calcite-color-border-input));outline-offset:-1px}:host([appearance=outline])>.item-wrapper{background-color:transparent}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}:host([layout=vertical])>.item-wrapper{flex-direction:column;align-items:flex-start;align-self:flex-start}:host([width=full])>.item-wrapper{inline-size:100%;min-inline-size:fit-content}:host([width=full])>.item-wrapper ::slotted(calcite-segmented-control-item){flex:1 1 auto}:host([width=full][layout=vertical])>.item-wrapper ::slotted(calcite-segmented-control-item){justify-content:flex-start}.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}::slotted(input[slot=hidden-form-input]){margin:0!important;opacity:0!important;outline:none!important;padding:0!important;position:absolute!important;inset:0!important;transform:none!important;-webkit-appearance:none!important;z-index:-1!important}:host([hidden]){display:none}[hidden]{display:none}`,d=class extends p{constructor(){super(),this.items=[],this.appearance="solid",this.disabled=!1,this.layout="horizontal",this.required=!1,this.scale="m",this.status="idle",this.validity={valid:!1,badInput:!1,customError:!1,patternMismatch:!1,rangeOverflow:!1,rangeUnderflow:!1,stepMismatch:!1,tooLong:!1,tooShort:!1,typeMismatch:!1,valueMissing:!1},this.value=null,this.width="auto",this.calciteSegmentedControlChange=m({cancelable:!1}),this.listen("calciteInternalSegmentedControlItemChange",this.handleSelected),this.listen("keydown",this.handleKeyDown),this.listen("click",this.handleClick)}static{this.properties={appearance:3,disabled:7,form:3,layout:3,name:3,required:7,scale:3,selectedItem:0,status:3,validationIcon:[3,{converter:f}],validationMessage:1,validity:0,value:1,width:3}}static{this.styles=z}async setFocus(){await I(this),(this.selectedItem||this.items[0])?.focus()}connectedCallback(){super.connectedCallback(),k(this),S(this)}load(){}willUpdate(t){(t.has("appearance")&&(this.hasUpdated||this.appearance!=="solid")||t.has("layout")&&(this.hasUpdated||this.layout!=="horizontal")||t.has("scale")&&(this.hasUpdated||this.scale!=="m"))&&this.handleItemPropChange(),t.has("value")&&(this.hasUpdated||this.value!==null)&&this.valueHandler(this.value),t.has("selectedItem")&&this.handleSelectedItemChange(this.selectedItem,t.get("selectedItem"))}updated(){b(this)}loaded(){M(this,this.value)}disconnectedCallback(){super.disconnectedCallback(),x(this),A(this)}valueHandler(t){let{items:e}=this;e.forEach(a=>a.checked=a.value===t)}handleSelectedItemChange(t,e){if(this.value=t?.value,t===e)return;let{items:a}=this,s=a.filter(i=>i===t).pop();s?this.selectItem(s):a[0]&&(a[0].tabIndex=0)}handleClick(t){this.disabled||t.target.localName==="calcite-segmented-control-item"&&this.selectItem(t.target,!0)}handleSelected(t){t.preventDefault();let e=t.target;e.checked&&this.selectItem(e),t.stopPropagation()}handleKeyDown(t){let e=["ArrowLeft","ArrowUp","ArrowRight","ArrowDown"," "],{key:a}=t,{el:s,selectedItem:i}=this;if(e.indexOf(a)===-1)return;let l=a;w(s)==="rtl"&&(a==="ArrowRight"&&(l="ArrowLeft"),a==="ArrowLeft"&&(l="ArrowRight"));let{items:o}=this,n=-1;
vendor: 1,657 bytes, line 4
4switch(o.forEach((r,L)=>{r===i&&(n=L)}),l){case"ArrowLeft":case"ArrowUp":{t.preventDefault();let r=n<1?o[o.length-1]:o[n-1];this.selectItem(r,!0);return}case"ArrowRight":case"ArrowDown":{t.preventDefault();let r=n===-1?o[1]:o[n+1]||o[0];this.selectItem(r,!0);return}case" ":t.preventDefault(),this.selectItem(t.target,!0);return;default:return}}handleItemPropChange(){let{items:t}=this;t.forEach(e=>{e.appearance=this.appearance,e.layout=this.layout,e.scale=this.scale})}handleSelectedItem(){let{items:t}=this,e=t.filter(a=>a.checked).pop();e?this.selectItem(e):t[0]&&(t[0].tabIndex=0)}async handleDefaultSlotChange(t){let e=y(t).filter(a=>a.matches("calcite-segmented-control-item"));await Promise.all(e.map(a=>a.componentOnReady())),this.items=e,this.handleSelectedItem(),this.handleItemPropChange()}onLabelClick(){this.setFocus()}async selectItem(t,e=!1){if(t===this.selectedItem)return;let{items:a}=this,s=null;a.forEach(i=>{let l=i===t;(l&&!i.checked||!l&&i.checked)&&(i.checked=l),i.tabIndex=l?0:-1,l&&(s=i)}),this.selectedItem=s,s&&e&&(await this.updateComplete,this.calciteSegmentedControlChange.emit()),g()&&s&&s.focus()}render(){return this.el.role="radiogroup",c`<div aria-errormessage=${E.validationMessage} .ariaInvalid=${this.status==="invalid"} class=${u($.itemWrapper)}>${C({disabled:this.disabled,children:c`<slot @slotchange=${this.handleDefaultSlotChange}></slot>${D({component:this})}`})}</div>${this.validationMessage&&this.status==="invalid"?U({icon:this.validationIcon,id:E.validationMessage,message:this.validationMessage,scale:this.scale,status:this.status}):null}`}};v("calcite-segmented-control",d);export{d as SegmentedControl};
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.