UNPKG

@ebay/ui-core-react

Version:

Skin components build off React

2 lines (1 loc) 1.43 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("../tslib.es6-C4EgNkz1.js"),t=require("react"),d=require("classnames"),k=require("../icon-CR8ApQBy.js"),q=require("../range-DOsPN0h5.js"),C=require("../random-id-DlJj_RWH.js"),D=q.range(1,5),s=r=>{let a=parseInt(r,0)||0;return a>5&&(a=0),a},I=r=>{var{value:a=0,a11yText:i,className:m,a11yStarText:l=[],disabled:c,onChange:g=()=>{},onFocus:y=()=>{},onKeyDown:v=()=>{},name:_}=r,b=h.__rest(r,["value","a11yText","className","a11yStarText","disabled","onChange","onFocus","onKeyDown","name"]);const f=C.useRandomId(),p=_||`star-rating-${f}`,[u,o]=t.useState(s(a));t.useEffect(()=>{o(s(a))},[a]);const E=e=>n=>{c||(o(s(e)),v(n,{value:e}))},N=e=>n=>{c||(o(s(e)),g(n,{value:e}))},S=e=>n=>{c||(o(s(e)),y(n,{value:e}))};return t.createElement("div",Object.assign({role:i&&"radiogroup","aria-label":i,className:d("star-rating-select",m)},b),D.map(e=>t.createElement("span",{className:"star-rating-select__radio",key:e},t.createElement("input",{"aria-label":l?.[e-1],className:d("star-rating-select__control",{"star-rating-select__control--filled":e<=u}),type:"radio",name:p,value:e,disabled:c,defaultChecked:u===e,onClick:N(e),onFocus:S(e),onKeyDown:E(e)}),t.createElement("span",{className:"star-rating-select__radio-icon"},t.createElement(k.EbayIcon,{className:"star-rating__icon",name:"starDynamic"})))))};exports.EbayStarRatingSelect=I;