UNPKG

@ebay/ui-core-react

Version:

Skin components build off React

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