@useloops/design-system
Version:
The official React based Loops design system
2 lines (1 loc) • 1.44 kB
JavaScript
"use strict";var e=require("react/jsx-runtime"),i=require("@mui/icons-material"),l=require("@mui/material"),r=require("../../BrandCore/Icon/Icon.js"),s=require("../../BrandCore/primitiveVariables.js");require("../SelectItem/SelectItem.js");var t=require("../Select/Select.js"),a=require("./RankItemContainer.js"),n=require("./RankItemLabel.js");module.exports=({label:o="Placeholder",disabled:c,onChange:d,options:u,fullWidth:m,sizing:g="lg"})=>{const x=l.useTheme(),h=u.map(e=>e.label).indexOf(o);return e.jsx(a,{disabled:c,fullWidth:m,sizing:g,children:e.jsxs(l.Stack,{display:"flex",justifyContent:"space-between",flexDirection:"row",alignItems:"center",sx:{position:"relative",zIndex:1},children:[e.jsxs(l.Box,{display:"flex",alignItems:"center",sx:{"& svg":{fill:x.custom.palette.icon.secondary}},children:[e.jsx(i.DragHandle,{"aria-label":"drag-handle",sx:{width:r.iconSizeMap.lg,height:r.iconSizeMap.lg,mr:x.custom.padding.sm}}),e.jsx(n,{align:"left",disabled:c,children:o})]}),"lg"===g?e.jsx(t,{name:"rank",sizing:"xs",selections:u.map((e,i)=>({label:`${i+1}`,value:`${i}`})),disabled:c,value:`${h}`,onChange:function(e){const i=h,l=Number(e.target.value),r=u;let s=1;const t=r.splice(i,s)[0];s=0,r.splice(l,s,t),d(r)},MenuProps:{anchorOrigin:{vertical:s.space[400],horizontal:"center"}},sx:{[`&.${l.selectClasses.root}`]:{width:6*s.base,textAlign:"center"},[`& .${l.typographyClasses.root}`]:{width:"fit-content"}}}):void 0]})})};