UNPKG

carbon-react

Version:

A library of reusable React components for easily building user interfaces.

2 lines (1 loc) 2.55 kB
import r,{css as e}from"styled-components";import{margin as t}from"styled-system";import{LOADER_SPINNER_SIZE_PARAMS as a}from"./loader-spinner.config.js";import{Typography as n}from"../typography/typography.component.js";import"react/jsx-runtime";import"react";const o=(r,e)=>{switch(e){case"neutral":return r?"var(--colorsSemanticNeutral500)":"var(--colorsSemanticNeutral200)";case"gradient-grey":return r?"#00D639":"#0000001A";case"gradient-white":return r?"#00D639":"var(--colorsActionMajorYang100)";case"inverse":return"var(--colorsActionMajorYang100)";default:return r?"var(--colorsActionMajor500)":"var(--colorsActionMajor150)"}},i=r.div.withConfig({displayName:"loader-spinner.style__StyledSpinnerWrapper",componentId:"sc-3cab43b4-0"})([""," display:flex;flex-direction:",";"],t,(({size:r})=>"extra-small"===r?"row":"column")),s=r(n).withConfig({displayName:"loader-spinner.style__StyledLabel",componentId:"sc-3cab43b4-1"})(["",""],(({size:r})=>e(["display:flex;justify-content:center;text-align:center;",";"],"extra-small"===r?"margin-left: var(--spacing100)":`margin-top: ${a[r].labelMarginTop}px`))),c=r.svg.withConfig({displayName:"loader-spinner.style__StyledSpinnerCircleSvg",componentId:"sc-3cab43b4-2"})(["",";"],(({size:r,isTracked:t,hasMotion:n,isGradientVariant:i,animationTime:s,variant:c})=>{const d=`${a[r].wrapperDimensions}px`;return r&&e(["height:",";min-height:",';circle[data-role="outer-arc"]{fill:transparent;stroke-width:',"px;stroke:",";",' cx:12px;cy:12px;r:10px;}circle[data-role="inner-arc"]{fill:transparent;stroke-width:',"px;stroke:",";stroke-linecap:round;stroke-dasharray:100px;stroke-dashoffset:80px;transform-origin:12px 12px 0px;cx:12px;cy:12px;r:10px;transform:rotate(270deg);@keyframes gradientAnimation{0%{stroke:#00d639;}33%{stroke:#11afff;}66%{stroke:#8f49fe;}}@keyframes trackedAnimation{from{stroke-dasharray:100;stroke-dashoffset:100;}to{stroke-dasharray:100;stroke-dashoffset:20;}}@keyframes untrackedAnimation{0%{transform:rotate(0deg);stroke-dasharray:100;}40%{stroke-dasharray:80;}80%{stroke-dasharray:100;}100%{transform:rotate(360deg);}}animation-name:",",",";",";animation-timing-function:cubic-bezier(0.2,0.1,0.8,1);animation-iteration-count:",";"],d,d,a[r].strokeWidth,o(!1,c),"inverse"===c&&"stroke-opacity: 0.3;",a[r].strokeWidth,o(!0,c),t&&!i?"trackedAnimation":"untrackedAnimation","gradient-grey"===c||"gradient-white"===c?"gradientAnimation":"none",n&&`animation-duration: ${s}s`,n?"infinite":"none")}));export{s as StyledLabel,c as StyledSpinnerCircleSvg,i as StyledSpinnerWrapper};