@adyen/adyen-web
Version:
[](https://www.npmjs.com/package/@adyen/adyen-web)
3 lines (2 loc) • 2.41 kB
JavaScript
import{createElement as e,Fragment as t}from"../../../../../external/preact/dist/preact.js";import o from"../../../../../_virtual/index.js";import n from"../../../Img/Img.js";import{useMemo as a}from"../../../../../external/preact/hooks/dist/hooks.js";function d({filterable:t,toggleButtonRef:o,...n}){if(t){const{id:t,...a}=n;return e("div",{...a,ref:o})}return e("button",{id:n.id,"aria-describedby":n.ariaDescribedBy,type:"button",...n,ref:o})}function r(r){const{active:c,selected:i,inputText:l,readonly:s,showList:u,required:_}=r,p=a(()=>{const e=i.selectedOptionName||i.name;return!0!==("string"==typeof e&&""!==e.trim())},[i,r.placeholder]),f=i.selectedOptionName||i.name||r.placeholder||"",m=u?l:f,y=s?null:r.filterable?e=>{e.preventDefault(),document.activeElement===r.filterInputRef.current?r.showList||r.toggleList(e):r.filterInputRef.current&&r.filterInputRef.current.focus()}:r.toggleList,b=s?null:r.onFocus,h=c.id?`listItem-${c.id}`:"";return e(d,{className:o({"adyen-checkout__dropdown__button":!0,"adyen-checkout__dropdown__button--readonly":s,"adyen-checkout__dropdown__button--active":u,"adyen-checkout__dropdown__button--invalid":r.isInvalid,"adyen-checkout__dropdown__button--valid":r.isValid,"adyen-checkout__dropdown__button--disabled":i.disabled}),disabled:r.disabled,filterable:r.filterable,onClick:y,onKeyDown:s?null:r.onButtonKeyDown,toggleButtonRef:r.toggleButtonRef,...r.allowIdOnButton&&r.id&&{id:r.id}},r.filterable?e(t,null,!u&&i.icon&&e(n,{className:"adyen-checkout__dropdown__button__icon",src:i.icon,alt:i.name}),e("input",{value:m,"aria-autocomplete":"list","aria-controls":r.selectListId,"aria-expanded":u,"aria-owns":r.selectListId,autoComplete:"off",className:"adyen-checkout__filter-input",onInput:r.onInput,onFocus:b,ref:r.filterInputRef,role:"combobox","aria-activedescendant":h,type:"text",readOnly:r.readonly,id:r.id,"aria-describedby":r.ariaDescribedBy,required:_}),!u&&i.secondaryText&&e("span",{className:"adyen-checkout__dropdown__button__secondary-text"},i.secondaryText)):e(t,null,i.icon&&e(n,{className:"adyen-checkout__dropdown__button__icon",src:i.icon,alt:i.name}),e("span",{className:o("adyen-checkout__dropdown__button__text",{"adyen-checkout__dropdown__button__text-placeholder":p})},f),i.secondaryText&&e("span",{className:"adyen-checkout__dropdown__button__secondary-text"},i.secondaryText)))}export{r as default};
//# sourceMappingURL=SelectButton.js.map