{"componentChunkName":"component---src-templates-post-template-js","path":"/en-US/feedback/spin","result":{"data":{"current":{"frontmatter":{"title":"Spin","order":93,"brief":"Spin is used to inform the user that the content is loading and may take an uncertain period of time.","icon":"doc-spin"},"fields":{"type":"feedback"},"tableOfContents":{"items":[{"url":"#demos","title":"Demos","items":[{"url":"#how-to-import","title":"How to import"},{"url":"#basic-usage","title":"Basic usage"},{"url":"#size","title":"Size"},{"url":"#with-description","title":"With Description"},{"url":"#customized-indicator","title":"Customized Indicator"},{"url":"#delay","title":"Delay"},{"url":"#controlled","title":"Controlled"}]},{"url":"#api-reference","title":"API Reference"},{"url":"#design-tokens","title":"Design Tokens"},{"url":"#content-guidelines","title":"Content Guidelines"},{"url":"#faq","title":"FAQ"}]},"body":"var _excluded = [\"components\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\n/* @jsxRuntime classic */\n/* @jsx mdx */\n\nvar _frontmatter = {\n  \"localeCode\": \"en-US\",\n  \"order\": 93,\n  \"category\": \"Feedback\",\n  \"title\": \"Spin\",\n  \"subTitle\": \"Spin\",\n  \"icon\": \"doc-spin\",\n  \"brief\": \"Spin is used to inform the user that the content is loading and may take an uncertain period of time.\"\n};\nvar makeShortcode = function makeShortcode(name) {\n  return function MDXDefaultShortcode(props) {\n    console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n    return mdx(\"div\", props);\n  };\n};\nvar DesignToken = makeShortcode(\"DesignToken\");\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"section\", null, mdx(\"h2\", {\n    parentName: \"section\"\n  }, \"Demos\"), mdx(\"h3\", {\n    parentName: \"section\"\n  }, \"How to import\"), mdx(\"pre\", {\n    parentName: \"section\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-jsx\"\n  }, \"import { Spin } from '@douyinfe/semi-ui';\\n\")), mdx(\"h3\", {\n    parentName: \"section\"\n  }, \"Basic usage\"), mdx(\"pre\", {\n    parentName: \"section\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-jsx\",\n    \"metastring\": \"live=true\",\n    \"live\": \"true\"\n  }, \"import React from 'react';\\nimport { Spin } from '@douyinfe/semi-ui';\\n\\n() => (\\n    <div style={{ marginLeft: 30 }}>\\n        <div style={{ marginBottom: 10 }}>A basic spin.</div>\\n        <Spin />\\n    </div>\\n);\\n\")), mdx(\"h3\", {\n    parentName: \"section\"\n  }, \"Size\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"Supports three sizes: \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"large\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"medium\"), \" (default), and \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"small\"), \".\"), mdx(\"pre\", {\n    parentName: \"section\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-jsx\",\n    \"metastring\": \"live=true\",\n    \"live\": \"true\"\n  }, \"import React from 'react';\\nimport { Spin } from '@douyinfe/semi-ui';\\n\\n() => (\\n    <div style={{ marginLeft: 30 }}>\\n        <div style={{ marginBottom: 5 }}>size: small</div>\\n        <Spin size=\\\"small\\\" />\\n        <br />\\n        <br />\\n        <div style={{ marginBottom: 10 }}>size: middle</div>\\n        <Spin size=\\\"middle\\\" />\\n        <br />\\n        <br />\\n        <div style={{ marginBottom: 15 }}>size: large</div>\\n        <Spin size=\\\"large\\\" />\\n    </div>\\n);\\n\")), mdx(\"h3\", {\n    parentName: \"section\"\n  }, \"With Description\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"Use \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"tip\"), \" to set the description texts when Spin is used as a wrapping element\"), mdx(\"pre\", {\n    parentName: \"section\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-jsx\",\n    \"metastring\": \"live=true\",\n    \"live\": \"true\"\n  }, \"import React from 'react';\\nimport { Spin } from '@douyinfe/semi-ui';\\n\\n() => (\\n    <div>\\n        <Spin tip=\\\"I am loading...\\\">\\n            <div\\n                style={{\\n                    border: '1px solid var(--semi-color-primary)',\\n                    borderRadius: '4px',\\n                    paddingLeft: '8px',\\n                }}\\n            >\\n                <p>Here are some texts.</p>\\n                <p>And more texts on the way.</p>\\n            </div>\\n        </Spin>\\n    </div>\\n);\\n\")), mdx(\"h3\", {\n    parentName: \"section\"\n  }, \"Customized Indicator\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"Use \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"indicator\"), \" property to customize Spin's indicator style.\"), mdx(\"pre\", {\n    parentName: \"section\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-jsx\",\n    \"metastring\": \"live=true\",\n    \"live\": \"true\"\n  }, \"import React from 'react';\\nimport { Spin } from '@douyinfe/semi-ui';\\nimport { IconLoading } from '@douyinfe/semi-icons';\\n\\n() => (\\n    <div style={{ marginLeft: 30 }}>\\n        <div>A spin with customized indicator.</div>\\n        <Spin indicator={<IconLoading />} />\\n    </div>\\n);\\n\")), mdx(\"h3\", {\n    parentName: \"section\"\n  }, \"Delay\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"Delayed to display Spin.\"), mdx(\"pre\", {\n    parentName: \"section\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-jsx\",\n    \"metastring\": \"live=true hideInDSM\",\n    \"live\": \"true\",\n    \"hideInDSM\": true\n  }, \"import React, { useState } from 'react';\\nimport { Spin, Button } from '@douyinfe/semi-ui';\\n\\n() => {\\n    const [loading, toggleLoading] = useState(false);\\n\\n    const toggle = () => {\\n        toggleLoading(!loading);\\n    };\\n    return (\\n        <div>\\n            <Button onClick={toggle} style={{ marginRight: 20 }}>\\n                Delayed spin\\n            </Button>\\n            <Spin delay={1000} spinning={loading}></Spin>\\n        </div>\\n    );\\n};\\n\")), mdx(\"h3\", {\n    parentName: \"section\"\n  }, \"Controlled\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"Use \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"spinning\"), \" to determine if the component is in loading status\"), mdx(\"pre\", {\n    parentName: \"section\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-jsx\",\n    \"metastring\": \"live=true hideInDSM\",\n    \"live\": \"true\",\n    \"hideInDSM\": true\n  }, \"import React, { useState } from 'react';\\nimport { Spin, Button } from '@douyinfe/semi-ui';\\n\\n() => {\\n    const [loading, toggleLoading] = useState(false);\\n\\n    const toggle = () => {\\n        toggleLoading(!loading);\\n    };\\n    return (\\n        <div>\\n            <Button onClick={toggle} style={{ marginRight: 20 }}>\\n                Controlled Spin\\n            </Button>\\n            <Spin spinning={loading}></Spin>\\n        </div>\\n    );\\n};\\n\"))), mdx(\"section\", null, mdx(\"h2\", {\n    parentName: \"section\"\n  }, \"API Reference\"), mdx(\"table\", {\n    parentName: \"section\"\n  }, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Properties\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Instructions\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"type\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Default\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"childStyle\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Inline style for children element\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"CSSProperties\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"-\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"delay\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Delay timing to display Spin\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"number(ms)\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"0\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"indicator\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Indicators\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"ReactNode\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"-\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"size\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Size, one of \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"small\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"middle\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"large\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"string\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"middle\"))), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"spinning\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Toggle whether it is in loading\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"boolean\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"true\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"style\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Inline style\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"CSSProperties\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"-\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"tip\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Description texts when Spin is used as a wrapping element\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"ReactNode\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"-\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"wrapperClassName\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Class name of wrapping element\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"string\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"-\"))))), mdx(\"section\", null, mdx(\"h2\", {\n    parentName: \"section\"\n  }, \"Design Tokens\"), mdx(DesignToken, {\n    mdxType: \"DesignToken\"\n  })), mdx(\"section\", null, mdx(\"h2\", {\n    parentName: \"section\"\n  }, \"Content Guidelines\"), mdx(\"ul\", {\n    parentName: \"section\"\n  }, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Precisely state the loading status, using words such as \\\"Loading\\\", \\\"Submitting\\\", \\\"Processing\\\", etc.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Use as few words as possible to describe the state\"))), mdx(\"section\", null, mdx(\"h2\", {\n    parentName: \"section\"\n  }, \"FAQ\"), mdx(\"ul\", {\n    parentName: \"section\"\n  }, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"How to modify the color of the spin icon? \")), mdx(\"p\", {\n    parentName: \"li\"\n  }, \"You can override the original color by adding the color property to the .semi-spin-wrapper class (it is recommended to override with a higher weight).\"), mdx(\"pre\", {\n    parentName: \"li\"\n  }, mdx(\"code\", {\n    parentName: \"pre\"\n  }, \".custom .semi-spin-wrapper {\\n  color: red;\\n}\\n\"))))));\n}\n;\nMDXContent.isMDXComponent = true;"}},"pageContext":{"slug":"en-US/feedback/spin","next":{"fields":{"slug":"zh-CN/feedback/spin"},"id":"5ec890d9-17e4-5e83-bc49-504b3952fa3d","frontmatter":{"title":"Spin 加载器","localeCode":"zh-CN","icon":"doc-spin","showNew":null}},"previous":{"fields":{"slug":"zh-CN/feedback/skeleton"},"id":"6c92a6af-7c5f-50ae-99fa-1f29e2b4308f","frontmatter":{"title":"Skeleton 骨架屏","localeCode":"zh-CN","icon":"doc-skeleton","showNew":null}}}},"staticQueryHashes":["1348983216155057","1477422646155057","3245198693155057","417590761155057","63159454155057"]}