A customizable button component with animated rainbow gradient border effect.
RainbowButton is an animated button component that features a rotating gradient border effect. It’s built with React Native Reanimated and Expo Linear Gradient, providing a visually appealing interactive element.
The component features a continuous rotation animation of the gradient border, creating a rainbow effect. The animation is powered by React Native Reanimated for smooth performance.
The button automatically integrates with your app’s theme system, adapting its background color based on the current theme mode (light/dark).This component is perfect for creating eye-catching call-to-action buttons or highlighting important interactive elements in your React Native application.
Was this page helpful?
{"docsConfig":{"$schema":"https://mintlify.com/docs.json","theme":"mint","name":"Ship Mobile Fast","colors":{"primary":"#ffce08","light":"#ffce08","dark":"#ffce08"},"favicon":"favicon.png","logo":{"light":"https://mintcdn.com/shipmobilefast-51a499dc/SqmsS_BTqGZZOYdS/logo/light.svg?fit=max\u0026auto=format\u0026n=SqmsS_BTqGZZOYdS\u0026q=85\u0026s=113a35129aa91525f0f6bb795ebee5ed","dark":"https://mintcdn.com/shipmobilefast-51a499dc/SqmsS_BTqGZZOYdS/logo/dark.svg?fit=max\u0026auto=format\u0026n=SqmsS_BTqGZZOYdS\u0026q=85\u0026s=5d80beba9cfe7e0056a6c59a410b9dfd"},"navbar":{"links":[{"label":"Support","href":"mailto:info@shipmobilefast.com"},{"label":"Affiliate (40%)","href":"https://shipmobilefast.com/affiliate"}],"primary":{"type":"button","label":"Get Ship Mobile Fast","href":"https://shipmobilefast.com"}},"footer":{"socials":{"x":"https://x.com/shipmobilefast","github":"https://github.com/shipmobilefast","instagram":"https://instagram.com/shipmobilefast","website":"https://shipmobilefast.com"}},"navigation":{"global":{"anchors":[{"anchor":"Support","href":"https://shipmobilefast.com/contact","icon":"envelope"},{"anchor":"Follow on X","href":"https://x.com/shipmobilefast","icon":"x-twitter"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"shipmobilefast-51a499dc","hasAudioNarration":false,"actualSubdomain":"shipmobilefast-51a499dc","customDomains":["docs.shipmobilefast.com"],"gitSource":{"type":"github","owner":"furkananter","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a21f617a51a213e6e8ae6af","collectionId":"e318e980-09d2-44e7-ae98-a96803ae91ab","schemaVersion":"v2"},"feedback":{"thumbs":true},"entitlements":{},"buildId":"6ae922be64072a14c671ad44:success","clientVersion":"0.0.4074","searchFilterCounts":[{"language":"default","tag":"Documentation","count":71},{"language":"default","tag":"UI Components","count":27},{"language":"default","tag":"Button Components","count":12},{"language":"default","tag":"Authentication","count":9},{"language":"default","tag":"Prebuilt Screens","count":8},{"language":"default","tag":"AI Wrapper","count":7},{"language":"default","tag":"Core Features","count":7},{"language":"default","tag":"Get Started","count":6},{"language":"default","tag":"OAuth","count":5},{"language":"default","tag":"Monetization","count":4}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"components/buttons/rainbow-button","slug":"/components/buttons/rainbow-button","pageMetadata":{"title":"Rainbow Button","version":"v1","description":"A customizable button component with animated rainbow gradient border effect.","href":"/components/buttons/rainbow-button"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"A customizable button component with animated rainbow gradient border effect.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table,Tip}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[_jsx(_components.code,{children:`RainbowButton`}),` is an animated button component that features a rotating gradient border effect. It’s built with React Native Reanimated and Expo Linear Gradient, providing a visually appealing interactive element.`]}),`\n`,_jsx(Heading,{level:`2`,id:`installation`,children:`Installation`}),`\n`,_jsx(_components.p,{children:`Ensure you have the necessary dependencies:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`npm`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` install`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` expo-linear-gradient`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`import`,children:`Import`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`tsx`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`tsx`,children:_jsxs(_components.code,{language:`tsx`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`RainbowButton`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '@/components/common/buttons/rainbow/rainbow-button'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`props`,children:`Props`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Prop`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Required`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`{onPress}`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`() => void`})}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Function to call when button is pressed`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`{style}`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`ViewStyle`})}),_jsx(_components.td,{children:`No`}),_jsx(_components.td,{children:`Custom styles for the container`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`{children}`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`React.ReactNode`})}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Content to display inside the button`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`{colors}`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string[]`})}),_jsx(_components.td,{children:`No`}),_jsxs(_components.td,{children:[`Array of colors for gradient (default: `,_jsx(_components.code,{children:`['#00ff4e', '#000']`}),`)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`{duration}`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`number`})}),_jsx(_components.td,{children:`No`}),_jsx(_components.td,{children:`Animation duration in milliseconds`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`{bgColor}`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{children:`No`}),_jsx(_components.td,{children:`Background color of the button`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`{buttonStyle}`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`ViewStyle`})}),_jsx(_components.td,{children:`No`}),_jsx(_components.td,{children:`Custom styles for the button inner container`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`{height}`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`number`})}),_jsx(_components.td,{children:`No`}),_jsx(_components.td,{children:`Height of the button`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`{borderRadius}`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`number`})}),_jsx(_components.td,{children:`No`}),_jsx(_components.td,{children:`Border radius of the button`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`usage`,children:`Usage`}),`\n`,_jsx(Heading,{level:`3`,id:`basic-usage`,children:`Basic Usage`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`11`,language:`tsx`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`tsx`,children:_jsxs(_components.code,{language:`tsx`,numberOfLines:`11`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` React`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` from`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'react'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Text`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'react-native'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`RainbowButton`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '@/components/common/buttons/rainbow/rainbow-button'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` MyComponent`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` () `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`=>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` return`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#4EC9B0`},children:`RainbowButton`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` onPress`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`{`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`() `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`=>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` console`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`log`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'Pressed!'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`}`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#4EC9B0`},children:`Text`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` style`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`{`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{ `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`color:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'white'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`}`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`Rainbow Button`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#4EC9B0`},children:`Text`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:` \u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#4EC9B0`},children:`RainbowButton`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` );`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`};`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`custom-colors-and-duration`,children:`Custom Colors and Duration`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`14`,language:`tsx`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`tsx`,children:_jsxs(_components.code,{language:`tsx`,numberOfLines:`14`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` CustomRainbowButton`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` () `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`=>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` return`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#4EC9B0`},children:`RainbowButton`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` onPress`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`{`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`() `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`=>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` console`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`log`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'Pressed!'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`}`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` colors`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`{`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'#FF0000'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'#00FF00'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'#000'`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` /* USE DIRECTLYDARK/LIGHT COLOR AT THE END*/`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`}`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` duration`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`{`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`2000`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`}`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` height`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`{`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`50`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`}`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` borderRadius`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`{`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`25`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`}`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` bgColor`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"#FFFFFF\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:` >`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#4EC9B0`},children:`Text`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` style`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`{`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{ `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`color:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'black'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`}`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`Custom Rainbow`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#4EC9B0`},children:`Text`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:` \u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#4EC9B0`},children:`RainbowButton`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` );`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}; `})}),`\n`]})})}),`\n`,_jsx(Tip,{children:_jsx(_components.p,{children:`Hint: Use direct dark/light color at the end of the colors array to make the gradient effect more subtle.`})}),`\n`,_jsx(Heading,{level:`3`,id:`explanation`,children:`Explanation`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`{onPress}`})}),`: Required callback function that executes when the button is pressed`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`{colors}`})}),`: Optional array of colors that define the gradient effect`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`{duration}`})}),`: Optional animation duration in milliseconds for one complete rotation`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`{bgColor}`})}),`: Optional background color of the button’s content area`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`{height}`})}),`: Optional custom height for the button`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`{borderRadius}`})}),`: Optional border radius value for rounded corners`]}),`\n`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`animation`,children:`Animation`}),`\n`,_jsx(_components.p,{children:`The component features a continuous rotation animation of the gradient border, creating a rainbow effect. The animation is powered by React Native Reanimated for smooth performance.`}),`\n`,_jsx(Heading,{level:`3`,id:`theme-integration`,children:`Theme Integration`}),`\n`,_jsx(_components.p,{children:`The button automatically integrates with your app’s theme system, adapting its background color based on the current theme mode (light/dark).`}),`\n`,_jsx(_components.p,{children:`This component is perfect for creating eye-catching call-to-action buttons or highlighting important interactive elements in your React Native application.`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Rainbow Button","version":"v1","description":"A customizable button component with animated rainbow gradient border effect.","href":"/components/buttons/rainbow-button"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Installation","slug":"installation","depth":2,"children":[]},{"title":"Import","slug":"import","depth":2,"children":[]},{"title":"Props","slug":"props","depth":2,"children":[]},{"title":"Usage","slug":"usage","depth":2,"children":[{"title":"Basic Usage","slug":"basic-usage","depth":3,"children":[]},{"title":"Custom Colors and Duration","slug":"custom-colors-and-duration","depth":3,"children":[]},{"title":"Explanation","slug":"explanation","depth":3,"children":[]},{"title":"Animation","slug":"animation","depth":3,"children":[]},{"title":"Theme Integration","slug":"theme-integration","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":[],"subdomain":"shipmobilefast-51a499dc","siteName":"Ship Mobile Fast","title":"Rainbow Button - Ship Mobile Fast","navMaps":{"firstHrefInVersion":{"v2":{"href":"/components/buttons/rainbow-button","matchLevel":0},"v1":{"href":"/components/buttons/rainbow-button","matchLevel":0}},"firstHrefInLanguage":{}},"lastModified":"2026-01-07T04:43:20.207Z","originalFileLocation":"components/buttons/rainbow-button.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"A customizable button component with animated rainbow gradient border effect.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Ship Mobile Fast\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/shipmobilefast-51a499dc/TVuHAC6uZTkokMvn/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/shipmobilefast-51a499dc/TVuHAC6uZTkokMvn/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/shipmobilefast-51a499dc/TVuHAC6uZTkokMvn/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/shipmobilefast-51a499dc/TVuHAC6uZTkokMvn/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/shipmobilefast-51a499dc/TVuHAC6uZTkokMvn/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/shipmobilefast-51a499dc/TVuHAC6uZTkokMvn/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/shipmobilefast-51a499dc/TVuHAC6uZTkokMvn/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/shipmobilefast-51a499dc/TVuHAC6uZTkokMvn/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/shipmobilefast-51a499dc/TVuHAC6uZTkokMvn/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Rainbow Button - Ship Mobile Fast\">\u003cmeta data-mint-head property=\"og:description\" content=\"A customizable button component with animated rainbow gradient border effect.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Ship Mobile Fast\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.shipmobilefast.com/components/buttons/rainbow-button\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://shipmobilefast-51a499dc.mintlify.site/_mintlify/api/og/v2?division=Button+Components\u0026amp;title=Rainbow+Button\u0026amp;description=A+customizable+button+component+with+animated+rainbow+gradient+border+effect.\u0026amp;theme=a58b200d9bca70e944ee1da9\u0026amp;signature=3f3d5a575e50b4459605de7b70853f9b66e500a7b3a4bc9343f0c2ead761f906\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Rainbow Button - Ship Mobile Fast\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"A customizable button component with animated rainbow gradient border effect.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://shipmobilefast-51a499dc.mintlify.site/_mintlify/api/og/v2?division=Button+Components\u0026amp;title=Rainbow+Button\u0026amp;description=A+customizable+button+component+with+animated+rainbow+gradient+border+effect.\u0026amp;theme=a58b200d9bca70e944ee1da9\u0026amp;signature=3f3d5a575e50b4459605de7b70853f9b66e500a7b3a4bc9343f0c2ead761f906\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/shipmobilefast-51a499dc/TVuHAC6uZTkokMvn/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Ship Mobile Fast\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#ffce08\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.shipmobilefast.com/components/buttons/rainbow-button\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/components/buttons/rainbow-button.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.shipmobilefast.com/#organization\",\"name\":\"Ship Mobile Fast\",\"url\":\"https://docs.shipmobilefast.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/shipmobilefast-51a499dc/SqmsS_BTqGZZOYdS/logo/light.svg?fit=max\u0026auto=format\u0026n=SqmsS_BTqGZZOYdS\u0026q=85\u0026s=113a35129aa91525f0f6bb795ebee5ed\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.shipmobilefast.com#website\",\"name\":\"Ship Mobile Fast\",\"url\":\"https://docs.shipmobilefast.com\",\"publisher\":{\"@id\":\"https://docs.shipmobilefast.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.shipmobilefast.com/components/buttons/rainbow-button#webpage\",\"url\":\"https://docs.shipmobilefast.com/components/buttons/rainbow-button\",\"name\":\"Rainbow Button\",\"description\":\"A customizable button component with animated rainbow gradient border effect.\",\"dateModified\":\"2026-01-07T04:43:20.207Z\",\"isPartOf\":{\"@id\":\"https://docs.shipmobilefast.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.shipmobilefast.com/components/buttons/rainbow-button#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.shipmobilefast.com/components/buttons/rainbow-button#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"UI Components\",\"item\":\"https://docs.shipmobilefast.com/components/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Button Components\",\"item\":\"https://docs.shipmobilefast.com/components/buttons/overview\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Rainbow Button\",\"item\":\"https://docs.shipmobilefast.com/components/buttons/rainbow-button\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.shipmobilefast.com/components/buttons/rainbow-button#article\",\"headline\":\"Rainbow Button\",\"name\":\"Rainbow Button\",\"description\":\"A customizable button component with animated rainbow gradient border effect.\",\"url\":\"https://docs.shipmobilefast.com/components/buttons/rainbow-button\",\"mainEntityOfPage\":{\"@id\":\"https://docs.shipmobilefast.com/components/buttons/rainbow-button#webpage\"},\"dateModified\":\"2026-01-07T04:43:20.207Z\",\"publisher\":{\"@id\":\"https://docs.shipmobilefast.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.shipmobilefast.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Ship Mobile Fast\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Ship Mobile Fast","nav":{"global":{"anchors":[{"anchor":"Support","href":"https://shipmobilefast.com/contact","icon":"envelope"},{"anchor":"Follow on X","href":"https://x.com/shipmobilefast","icon":"x-twitter"}]},"versions":[{"version":"v2","default":true,"anchors":[{"anchor":"Documentation","icon":"book-open","groups":[{"group":"Get Started","icon":"rocket","pages":[{"title":"Introduction","href":"/get-started"},{"title":"Environment Setup","href":"/setup"},{"title":"AI Wrapper Quickstart","icon":"fire","version":"v2","href":"/aiwrapper"},{"title":"Quickstart w/ StyleSheet","version":"v2","href":"/quickstart-v2"},{"title":"Quickstart w/ Gluestack","href":"/gluestack"},{"title":"Tech Stack","href":"/tech-stack"}]},{"group":"AI Wrapper","icon":"rocket","pages":[{"title":"1. Expo Setup","version":"v2","href":"/aiwrapper/expo"},{"title":"2. Firebase Setup","version":"v2","href":"/aiwrapper/firebase"},{"title":"3. AI Proxy Backend","version":"v2","href":"/aiwrapper/backend"},{"title":"4. Build your app","version":"v2","href":"/aiwrapper/build"},{"title":"5. Deployment","version":"v2","href":"/aiwrapper/deployment"},{"title":"6. Submit your app","version":"v2","href":"/aiwrapper/submit"},{"title":"Firebase Auth","version":"v2","href":"/aiwrapper/auth"}]},{"group":"Authentication","icon":"lock","pages":[{"title":"Overview","href":"/auth/overview"},{"group":"OAuth","pages":[{"title":"Overview","href":"/auth/oauth/overview"},{"title":"Apple OAuth","href":"/auth/oauth/apple-oauth"},{"group":"Google oAuth","pages":[{"title":"Google OAuth Web","href":"/auth/oauth/google/web"},{"title":"Google OAuth IOS","href":"/auth/oauth/google/ios"},{"title":"Google OAuth Android","href":"/auth/oauth/google/android"}]}]},{"title":"Forgot Password","href":"/auth/forgot-password"},{"title":"Reset Password","href":"/auth/reset-password"},{"title":"Email Verification","href":"/auth/email-verification"}]},{"group":"Monetization","icon":"dollar-sign","pages":[{"title":"AdMob Integration","href":"/monetization/admob"},{"group":"In-App Purchases","pages":[{"title":"Overview","href":"/monetization/in-app-purchases/overview"},{"title":"IOS","href":"/monetization/in-app-purchases/ios"},{"title":"Android","href":"/monetization/in-app-purchases/android"}]}]},{"group":"Core Features","icon":"gear","pages":[{"title":"Backend","href":"/features/backend"},{"title":"Push Notifications","href":"/features/push"},{"title":"Expo Router","href":"/features/expo-router"},{"title":"Redux Toolkit","href":"/features/redux"},{"title":"i18n","href":"/features/i18n"},{"title":"Theming","href":"/features/theming"},{"title":"Fonts","href":"/features/fonts"}]},{"group":"Analytics \u0026 Monitoring","icon":"chart-line","pages":[{"title":"PostHog","href":"/posthog"},{"title":"Sentry","href":"/sentry"}]},{"group":"Prebuilt Screens","icon":"layers","pages":[{"title":"Onboarding","href":"/screens/onboarding"},{"title":"Auth","href":"/screens/auth"},{"title":"Profile","href":"/screens/profile"},{"title":"Search","href":"/screens/search"},{"title":"Paywall","href":"/screens/paywall"},{"title":"Settings","href":"/screens/settings"},{"title":"Social Share","href":"/screens/social-share"},{"title":"Delete Account","href":"/screens/delete-account"}]},{"group":"UI Components","icon":"sidebar","pages":[{"title":"Overview","href":"/components/overview"},{"title":"ThemedView","href":"/components/view"},{"group":"Button Components","pages":[{"title":"Overview","href":"/components/buttons/overview"},{"title":"Button","href":"/components/buttons/button"},{"title":"Animated Border Button","version":"v2","href":"/components/buttons/animated-border-button"},{"title":"Glow Button","version":"v2","href":"/components/buttons/glow-button"},{"title":"PressableOpacity","href":"/components/buttons/pressable-opacity"},{"title":"Radio Button","href":"/components/buttons/radio-button"},{"title":"Ripple Button","href":"/components/buttons/ripple-button"},{"title":"Shiny Button","description":"Button component with animated shine effect","href":"/components/buttons/shiny-button"},{"title":"Rainbow Button","version":"v1","href":"/components/buttons/rainbow-button"},{"title":"Rainbow Button 2","version":"v1","description":"Enhanced button component with customizable gradient border animation","href":"/components/buttons/rainbow-button-2"},{"title":"Rainbow Button 3","version":"v1","href":"/components/buttons/rainbow-button-3"},{"title":"Language Button","href":"/components/buttons/language-button"}]},{"title":"Icons","href":"/components/icons"},{"title":"Images","href":"/components/images"},{"title":"Collapsible","href":"/components/collapsible"},{"title":"Container","href":"/components/container"},{"title":"Typography","href":"/components/typography"},{"title":"Searchbar","href":"/components/searchbar"},{"title":"Input Components","href":"/components/input"},{"title":"Form Field","href":"/components/form-field"},{"title":"Dialog Modal","href":"/components/dialog"},{"title":"Toast","href":"/components/toast"},{"title":"Loader","href":"/components/loader"},{"title":"Styling","href":"/components/styling"},{"title":"Normalization","href":"/components/normalize"}]},{"group":"Troubleshooting","icon":"help-circle","pages":[{"title":"Apple","href":"/troubleshooting"}]}]}]},{"version":"v1","default":null,"anchors":[{"anchor":"Documentation","icon":"book-open","groups":[{"group":"Get Started","icon":"rocket","pages":[{"title":"Introduction","href":"/get-started"},{"title":"Environment Setup","href":"/setup"},{"title":"AI Wrapper Quickstart","icon":"fire","version":"v2","href":"/aiwrapper"},{"title":"Quickstart w/ StyleSheet","version":"v2","href":"/quickstart-v2"},{"title":"Quickstart w/ Gluestack","href":"/gluestack"},{"title":"Tech Stack","href":"/tech-stack"}]},{"group":"AI Wrapper","icon":"rocket","pages":[{"title":"1. Expo Setup","version":"v2","href":"/aiwrapper/expo"},{"title":"2. Firebase Setup","version":"v2","href":"/aiwrapper/firebase"},{"title":"3. AI Proxy Backend","version":"v2","href":"/aiwrapper/backend"},{"title":"4. Build your app","version":"v2","href":"/aiwrapper/build"},{"title":"5. Deployment","version":"v2","href":"/aiwrapper/deployment"},{"title":"6. Submit your app","version":"v2","href":"/aiwrapper/submit"},{"title":"Firebase Auth","version":"v2","href":"/aiwrapper/auth"}]},{"group":"Authentication","icon":"lock","pages":[{"title":"Overview","href":"/auth/overview"},{"group":"OAuth","pages":[{"title":"Overview","href":"/auth/oauth/overview"},{"title":"Apple OAuth","href":"/auth/oauth/apple-oauth"},{"group":"Google oAuth","pages":[{"title":"Google OAuth Web","href":"/auth/oauth/google/web"},{"title":"Google OAuth IOS","href":"/auth/oauth/google/ios"},{"title":"Google OAuth Android","href":"/auth/oauth/google/android"}]}]},{"title":"Forgot Password","href":"/auth/forgot-password"},{"title":"Reset Password","href":"/auth/reset-password"},{"title":"Email Verification","href":"/auth/email-verification"}]},{"group":"Monetization","icon":"dollar-sign","pages":[{"title":"AdMob Integration","href":"/monetization/admob"},{"group":"In-App Purchases","pages":[{"title":"Overview","href":"/monetization/in-app-purchases/overview"},{"title":"IOS","href":"/monetization/in-app-purchases/ios"},{"title":"Android","href":"/monetization/in-app-purchases/android"}]}]},{"group":"Core Features","icon":"gear","pages":[{"title":"Backend","href":"/features/backend"},{"title":"Push Notifications","href":"/features/push"},{"title":"Expo Router","href":"/features/expo-router"},{"title":"Redux Toolkit","href":"/features/redux"},{"title":"i18n","href":"/features/i18n"},{"title":"Theming","href":"/features/theming"},{"title":"Fonts","href":"/features/fonts"}]},{"group":"Analytics \u0026 Monitoring","icon":"chart-line","pages":[{"title":"PostHog","href":"/posthog"},{"title":"Sentry","href":"/sentry"}]},{"group":"Prebuilt Screens","icon":"layers","pages":[{"title":"Onboarding","href":"/screens/onboarding"},{"title":"Auth","href":"/screens/auth"},{"title":"Profile","href":"/screens/profile"},{"title":"Search","href":"/screens/search"},{"title":"Paywall","href":"/screens/paywall"},{"title":"Settings","href":"/screens/settings"},{"title":"Social Share","href":"/screens/social-share"},{"title":"Delete Account","href":"/screens/delete-account"}]},{"group":"UI Components","icon":"sidebar","pages":[{"title":"Overview","href":"/components/overview"},{"title":"ThemedView","href":"/components/view"},{"group":"Button Components","pages":[{"title":"Overview","href":"/components/buttons/overview"},{"title":"Button","href":"/components/buttons/button"},{"title":"Animated Border Button","version":"v2","href":"/components/buttons/animated-border-button"},{"title":"Glow Button","version":"v2","href":"/components/buttons/glow-button"},{"title":"PressableOpacity","href":"/components/buttons/pressable-opacity"},{"title":"Radio Button","href":"/components/buttons/radio-button"},{"title":"Ripple Button","href":"/components/buttons/ripple-button"},{"title":"Shiny Button","description":"Button component with animated shine effect","href":"/components/buttons/shiny-button"},{"title":"Rainbow Button","version":"v1","href":"/components/buttons/rainbow-button"},{"title":"Rainbow Button 2","version":"v1","description":"Enhanced button component with customizable gradient border animation","href":"/components/buttons/rainbow-button-2"},{"title":"Rainbow Button 3","version":"v1","href":"/components/buttons/rainbow-button-3"},{"title":"Language Button","href":"/components/buttons/language-button"}]},{"title":"Icons","href":"/components/icons"},{"title":"Images","href":"/components/images"},{"title":"Collapsible","href":"/components/collapsible"},{"title":"Container","href":"/components/container"},{"title":"Typography","href":"/components/typography"},{"title":"Searchbar","href":"/components/searchbar"},{"title":"Input Components","href":"/components/input"},{"title":"Form Field","href":"/components/form-field"},{"title":"Dialog Modal","href":"/components/dialog"},{"title":"Toast","href":"/components/toast"},{"title":"Loader","href":"/components/loader"},{"title":"Styling","href":"/components/styling"},{"title":"Normalization","href":"/components/normalize"}]},{"group":"Troubleshooting","icon":"help-circle","pages":[{"title":"Apple","href":"/troubleshooting"}]}]}]}]},"basePath":"","title":"Rainbow Button - Ship Mobile Fast","buildId":"dpl_BLQvU86QFwq3AhPofSTw6q8dGWKm","deploymentId":"dpl_BLQvU86QFwq3AhPofSTw6q8dGWKm","dynamics":[],"chunks":[]}