import{f as G,Z as B,r as S,h as I,g as J,D as Q,y as R,s as X,u as d,c as x,o as s,j as c,d as b,b as v,t as ,ドルm as K,n as L,a as Y,K as ee,F as le,k as te,l as ae,P as se}from"./BVo-4L0X.js";import{A as ne,z as ie,D as re,d7 as oe,O as ce,Z as h,aV as M}from"./CfjfYOu4.js";const de=["id"],ue={key:1,class:"s-select__label-text s-text-regular-bold"},pe=["aria-controls","aria-expanded","aria-label","aria-labelledby","aria-activedescendant"],me=["innerHTML"],fe={class:"ml-auto flex items-center pl-[11px]"},xe={class:"s-select__options absolute left-0 top-full z-[11] w-full"},be=["id","tabindex"],ve=["id","tabindex","aria-selected","onClick","onKeydown"],_e=["innerHTML"],he=["id"],ke={key:1,"data-test-id":"s-select__assistive-text",class:"s-select__assistive-text s-text-small mt-[16px] block"},N="s-select",we=G({__name:"SSelect",props:{...ie(),...ne(),options:{type:Array,required:!1,default:()=>[]},selected:{type:Object,required:!1,default:()=>{}},placeholder:{type:String,required:!1,default:"Select an option"},maxHeight:{type:String,required:!1,default:"19rem"},maxHeightLocked:{type:Boolean,required:!1,default:!1},disabled:{type:Boolean,required:!1,default:!1},label:String,labelIcon:String,inputIcon:String,assistiveText:String,required:Boolean,noWrapSelection:Boolean,ariaLabel:String},emits:["selectionChanged"],setup(e,{emit:j}){const u=e,H=B(),k=B(),_=S(null),i=S(null),C=S(!1),E=j,o=S(u.selected);I(()=>u.selected,t=>{o.value=t});const p=S(!1),y=()=>{p.value=!1,C.value=!1},D=t=>{var a;o.value=t,y(),(a=_==null?void 0:_.value)==null||a.focus(),E("selectionChanged",t)},V=J(()=>{const t=u.options.findIndex(a=>{var r;return((r=o.value)==null?void 0:r.name)&&a.name===o.value.name});return`${k}-${t}`}),{themeClasses:O}=re(u,N),{sizeClasses:W}=oe(u,N),F=Q("dropdownPlaceholder",""),P=t=>{var r;const a=t.code??t.key;["ArrowDown","ArrowUp","Space"].includes(a)&&(t.preventDefault(),p.value||(p.value=!0)),["Escape"].includes(a)&&(t.preventDefault(),y(),(r=_==null?void 0:_.value)==null||r.focus())},U=(t,a=0)=>{var g,w,l;const r=t.key||t.code,m=0,f=(g=u==null?void 0:u.options)!=null&&g.length?u.options.length-1:0;let n=a;if(t.shiftKey&&r==="Tab"){y();return}switch(r){case"ArrowUp":t.preventDefault(),n=a-1,nf&&(n=m);break;case"Tab":case"Escape":y();break;default:return}(l=(w=i==null?void 0:i.value)==null?void 0:w[n])==null||l.focus()},Z=()=>{var a,r,m,f;let t=0;if(!C.value&&((a=i==null?void 0:i.value)!=null&&a.length)){for(let n=0;np.value,async t=>{t&&(await X(),Z())}),(t,a)=>{var r,m,f,n,g,w;return R((s(),x("div",{ref:"selectComponentWrapperRef","data-test-id":"s-select__root",class:L(["s-select relative inline-block select-none",[d(O),d(W),{"s-select--max-height-locked":e.maxHeightLocked,"opacity-50":e.disabled}]]),tabindex:"-1",onKeydown:a[1]||(a[1]=l=>P(l))},[e.label?(s(),x("label",{key:0,id:d(H),"data-test-id":"s-select__label",class:"s-select__label mb-[16px] flex items-center"},[e.labelIcon?(s(),v(h,{key:0,name:e.labelIcon,class:"s-select__label-icon mr-[8px]",size:"small","aria-hidden":"true"},null,8,["name"])):c("",!0),e.label?(s(),x("span",ue,$(e.label),1)):c("",!0),e.required?(s(),v(M,{key:2,class:"ml-[8px]",theme:t.theme,required:""},null,8,["theme"])):c("",!0)],8,de)):c("",!0),b("div",{class:L(["s-select-box__wrapper relative w-full",{"h-full":e.maxHeightLocked}])},[b("button",{ref_key:"selectComponentRef",ref:_,"data-test-id":"s-select__box",class:L(["s-select-box flex w-full cursor-pointer items-center justify-between rounded-[10px] border",{"whitespace-nowrap":e.noWrapSelection,"h-full":e.maxHeightLocked,"cursor-pointer":!e.disabled,"cursor-not-allowed":e.disabled}]),"aria-haspopup":"listbox","aria-controls":d(k),"aria-expanded":p.value,"aria-label":e.ariaLabel,"aria-labelledby":e.label?d(H):void 0,"aria-activedescendant":V.value,tabindex:"0",onClick:a[0]||(a[0]=K(l=>e.disabled?null:p.value=!p.value,["prevent"]))},[b("div",{class:L(["s-select__selected-option s-text-regular flex items-center",{active:(r=o.value)==null?void 0:r.name}])},[e.inputIcon?(s(),v(h,{key:0,name:e.inputIcon,class:"s-select__selected-option-icon mr-[8px]",size:"small","aria-hidden":"true"},null,8,["name"])):c("",!0),(m=o.value)!=null&&m.iconLeft?(s(),v(h,{key:1,name:(f=o.value)==null?void 0:f.iconLeft,class:"s-select__selected-option-icon-left mr-[8px]",size:"small","aria-hidden":"true"},null,8,["name"])):c("",!0),b("span",{class:L(["s-select__selected-option__text",{"s-select__selected-option__text--max-height-locked":e.maxHeightLocked}]),innerHTML:((n=o.value)==null?void 0:n.name)||d(F)||e.placeholder},null,10,me),(g=o.value)!=null&&g.iconRight?(s(),v(h,{key:2,name:(w=o.value)==null?void 0:w.iconRight,class:"s-select__selected-option-icon-right ml-[8px]",size:"small","aria-hidden":"true"},null,8,["name"])):c("",!0)],2),b("div",fe,[e.required&&!e.label?(s(),v(M,{key:0,class:"mr-[11px]",theme:t.theme,required:""},null,8,["theme"])):c("",!0),Y(h,{class:"s-select__box__arrow-icon",name:"icon-chevron-down",size:"x-small","aria-hidden":!0})])],10,pe),R(b("div",xe,[e.options.length?(s(),x("ul",{key:0,id:d(k),"data-test-id":"s-select__options-list",class:"m-0 w-full list-none rounded-[10px] border",style:ee(e.maxHeight?`overflow: auto; max-height: ${e.maxHeight};`:""),role:"listbox",tabindex:p.value?"0":"-1"},[(s(!0),x(le,null,te(e.options.filter(l=>l&&l.name.trim()!=""),(l,q)=>{var T,A;return s(),x("li",{id:`${d(k)}-${q}`,ref_for:!0,ref_key:"selectComponentOptionItemRef",ref:i,key:q,role:"option",class:"s-select__option-item s-text-regular cursor-pointer py-[4px] px-[24px]",tabindex:l.name===((T=o.value)==null?void 0:T.name)?"0":"-1","aria-selected":l.name===((A=o.value)==null?void 0:A.name),onClick:K(z=>D(l),["prevent"]),onKeydown:[ae(z=>D(l),["enter"]),z=>U(z,q)]},[l!=null&&l.iconLeft?(s(),v(h,{key:0,name:l==null?void 0:l.iconLeft,class:"s-select__select-option-icon-left mr-[8px]",size:"small","aria-hidden":"true"},null,8,["name"])):c("",!0),b("span",{innerHTML:l.name},null,8,_e),l!=null&&l.iconRight?(s(),v(h,{key:1,name:l==null?void 0:l.iconRight,class:"s-select__select-option-icon-right ml-[8px]",size:"small","aria-hidden":"true"},null,8,["name"])):c("",!0)],40,ve)}),128))],12,be)):(s(),x("ul",{key:1,id:d(k),role:"listbox",tabindex:"-1",class:"m-0 w-full list-none rounded-[10px] border"},a[2]||(a[2]=[b("li",{class:"s-text-regular py-[4px] px-[24px]"}," No options ",-1)]),8,he))],512),[[se,p.value]])],2),e.assistiveText?(s(),x("span",ke,$(e.assistiveText),1)):c("",!0)],34)),[[d(ce),y]])}}});export{we as default};

AltStyle によって変換されたページ (->オリジナル) /