carbon-react
Version:
A library of reusable React components for easily building user interfaces.
2 lines (1 loc) • 1.05 kB
JavaScript
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime");require("react");var r=require("../loader.style.js"),a=require("../../../../hooks/__internal__/useLocale/useLocale.js");const i=e=>e||.8;exports.default=({inverse:s,size:l,variant:n,hasMotion:o,isTracked:t,animationTime:d,loaderLabel:c,showLabel:u,isSuccess:v,isError:x})=>{const j=a.default(),m=n&&["stacked","inline"].includes(n)?n:"stacked",p=l&&["extra-small","small","large"].includes(l)?l:"medium";return e.jsxs(r.StyledRingLoaderWrapper,{loaderVariant:n,"data-role":"ring-loader-container",children:[e.jsxs(r.StyledRingCircleSvg,{inverse:s,role:"presentation",size:p,variant:m,hasMotion:o,isTracked:t,animationTime:i(d),viewBox:"0 0 24 24",isSuccess:v,isError:x,children:[e.jsx("circle",{"data-role":"outer-arc"}),e.jsx("circle",{"data-role":"inner-arc"})]}),u&&e.jsx(r.StyledLoaderLabel,{inverse:s,"data-role":"loader-label",variant:"span",loaderVariant:m,loaderType:"ring",size:p,children:c||(null==j?void 0:j.loader.loading())})]})};