{"version":3,"sources":["../../src/Spinner/Spinner.css.ts","../../src/Spinner/Spinner.tsx"],"names":["css","keyframes","spin","sizeToPxMap","spinnerCSS","jsx","Spinner","size","speed","variantMap","__spreadValues"],"mappings":";yVAAA,OAAS,OAAAA,EAAK,aAAAC,MAAiB,iBAI/B,IAAMC,EAAOD;AAAA;AAAA;AAAA;AAAA,EAMAE,EAAc,CACzB,OAAQ,OACR,MAAO,OACP,OAAQ,OACR,MAAO,MACT,EAEaC,EAAaJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAQXE,CAAI;ECQT,cAAAG,MAAA,6BA5BH,IAAMC,EAAU,CAAC,CAAE,KAAAC,EAAO,SAAU,MAAAC,EAAQ,IAAK,IAAoB,CAC1E,IAAMC,EAAa,CACjB,KAAM,CACJ,CAACF,CAAI,EAAG,CACN,iBAAkBJ,EAAYI,CAAI,CACpC,CACF,EACA,MAAO,CACL,kBAAmBC,CACrB,CACF,EAEA,OACEH,EAAC,QACC,MAAOK,IAAA,GACFD,EAAW,KAAKF,CAAI,GACpBE,EAAW,OAEhB,IAAKL,EAEL,SAAAC,EAAC,OACC,MAAM,OACN,OAAO,OACP,QAAQ,YACR,KAAK,OACL,MAAM,6BAEN,SAAAA,EAAC,KACC,SAAAA,EAAC,QACC,EAAE,o7BACF,KAAK,eACP,EACF,EACF,EACF,CAEJ","sourcesContent":["import { css, keyframes } from \"@emotion/react\";\nimport type { NumberPixel } from \"../types\";\nimport type { SpinnerProps } from \"./Spinner.types\";\n\nconst spin = keyframes`\n  100% {\n    transform: rotate(360deg);\n  }\n`;\n\nexport const sizeToPxMap = {\n  xsmall: \"16px\",\n  small: \"24px\",\n  medium: \"32px\",\n  large: \"64px\",\n} satisfies Record<Required<SpinnerProps>[\"size\"], NumberPixel>;\n\nexport const spinnerCSS = css`\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n\n  width: var(--spinner-size);\n  height: var(--spinner-size);\n\n  animation: ${spin} var(--spinner-speed) linear infinite;\n`;\n","/** @jsxImportSource @emotion/react */\n\nimport { sizeToPxMap, spinnerCSS } from \"./Spinner.css\";\nimport type { SpinnerProps } from \"./Spinner.types\";\n\nexport const Spinner = ({ size = \"xsmall\", speed = \"1s\" }: SpinnerProps) => {\n  const variantMap = {\n    size: {\n      [size]: {\n        \"--spinner-size\": sizeToPxMap[size],\n      },\n    } as Record<string, Record<string, string>>,\n    speed: {\n      \"--spinner-speed\": speed,\n    } as Record<string, string>,\n  };\n\n  return (\n    <span\n      style={{\n        ...variantMap.size[size],\n        ...variantMap.speed,\n      }}\n      css={spinnerCSS}\n    >\n      <svg\n        width=\"100%\"\n        height=\"100%\"\n        viewBox=\"0 0 16 16\"\n        fill=\"none\"\n        xmlns=\"http://www.w3.org/2000/svg\"\n      >\n        <g>\n          <path\n            d=\"M14.75 8C15.1642 8 15.5039 7.66338 15.4625 7.25123C15.3501 6.13087 14.9865 5.04679 14.3948 4.08126C13.6721 2.90192 12.6373 1.9454 11.4049 1.31745C10.1725 0.689506 8.79046 0.414598 7.41156 0.52312C6.03265 0.631642 4.71062 1.11937 3.59161 1.93237C2.4726 2.74538 1.60022 3.85199 1.0709 5.12988C0.541588 6.40776 0.375962 7.80712 0.592338 9.17326C0.808713 10.5394 1.39866 11.8191 2.29696 12.8709C3.03239 13.7319 3.95104 14.4128 4.98183 14.8659C5.36102 15.0326 5.78614 14.8136 5.91414 14.4196C6.04214 14.0257 5.82382 13.6068 5.44891 13.4307C4.67966 13.0693 3.99324 12.5473 3.43756 11.8967C2.71893 11.0553 2.24697 10.0315 2.07387 8.93861C1.90077 7.8457 2.03327 6.7262 2.45672 5.7039C2.88017 4.6816 3.57808 3.7963 4.47329 3.1459C5.36849 2.49549 6.42612 2.10531 7.52924 2.0185C8.63237 1.93168 9.73801 2.1516 10.7239 2.65396C11.7099 3.15632 12.5377 3.92153 13.1158 4.86501C13.5629 5.59453 13.8472 6.40866 13.9532 7.25194C14.0048 7.66292 14.3358 8 14.75 8Z\"\n            fill=\"currentColor\"\n          />\n        </g>\n      </svg>\n    </span>\n  );\n};\n"]}