styled-components
Version:
Fast, expressive styling for React.
7 lines (6 loc) • 36.4 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@emotion/is-prop-valid"),t=require("react"),n=require("stylis");function o(e){return e&&e.__esModule?e:{default:e}}function s(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(function(n){if("default"!==n){var o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:function(){return e[n]}})}}),t.default=e,Object.freeze(t)}var r,i,a=/*#__PURE__*/o(e),l=/*#__PURE__*/o(t),c=/*#__PURE__*/s(n);const u="undefined"!=typeof process&&void 0!==process.env&&(process.env.REACT_APP_SC_ATTR||process.env.SC_ATTR)||"data-styled",d="active",h="data-styled-version",p="6.4.1",f="/*!sc*/\n",m="undefined"!=typeof window&&"undefined"!=typeof document;function y(e){if("undefined"!=typeof process&&void 0!==process.env){const t=process.env[e];if(void 0!==t&&""!==t)return"false"!==t}}const g=Boolean("boolean"==typeof SC_DISABLE_SPEEDY?SC_DISABLE_SPEEDY:null!==(i=null!==(r=y("REACT_APP_SC_DISABLE_SPEEDY"))&&void 0!==r?r:y("SC_DISABLE_SPEEDY"))&&void 0!==i?i:"undefined"==typeof process||void 0===process.env||"production"!==process.env.NODE_ENV),S="sc-keyframes-",v={},b="production"!==process.env.NODE_ENV?{1:"Cannot create styled-component for component: %s.\n\n",2:"Can't collect styles once you've consumed a `ServerStyleSheet`'s styles! `ServerStyleSheet` is a one off instance for each server-side render cycle.\n\n- Are you trying to reuse it across renders?\n- Are you accidentally calling collectStyles twice?\n\n",3:"Streaming SSR is only supported in a Node.js environment; Please do not try to call this method in the browser.\n\n",4:"The `StyleSheetManager` expects a valid target or sheet prop!\n\n- Does this error occur on the client and is your target falsy?\n- Does this error occur on the server and is the sheet falsy?\n\n",5:"The clone method cannot be used on the client!\n\n- Are you running in a client-like environment on the server?\n- Are you trying to run SSR on the client?\n\n",6:"Trying to insert a new style tag, but the given Node is unmounted!\n\n- Are you using a custom target that isn't mounted?\n- Does your document not have a valid head element?\n- Have you accidentally removed a style tag manually?\n\n",7:'ThemeProvider: Please return an object from your "theme" prop function, e.g.\n\n```js\ntheme={() => ({})}\n```\n\n',8:'ThemeProvider: Please make your "theme" prop an object.\n\n',9:"Missing document `<head>`\n\n",10:"Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021\n\n",11:"_This error was replaced with a dev-time warning, it will be deleted for v4 final._ [createGlobalStyle] received children which will not be rendered. Please use the component without passing children elements.\n\n",12:"It seems you are interpolating a keyframe declaration (%s) into an untagged string. Please wrap your string in the css\\`\\` helper which ensures the styles are injected correctly. See https://styled-components.com/docs/api#css\n\n",13:"%s is not a styled component and cannot be referred to via component selector. See https://styled-components.com/docs/advanced#referring-to-other-components for more details.\n\n",14:'ThemeProvider: "theme" prop is required.\n\n',15:"A stylis plugin has been supplied that is not named. We need a name for each plugin to be able to prevent styling collisions between different stylis configurations within the same app. Before you pass your plugin to `<StyleSheetManager stylisPlugins={[]}>`, please make sure each plugin is uniquely-named, e.g.\n\n```js\nObject.defineProperty(importedPlugin, 'name', { value: 'some-unique-name' });\n```\n\n",16:"Reached the limit of how many styled components may be created at group %s.\nYou may only create up to 1,073,741,824 components. If you're creating components dynamically,\nas for instance in your render method then you may be running into this limitation.\n\n",17:"CSSStyleSheet could not be found on HTMLStyleElement.\nHas styled-components' style tag been unmounted or altered by another script?\n\n",18:"Accessing `useTheme` hook outside of a `<ThemeProvider>` element.\n\n```jsx\nimport { useTheme } from 'styled-components';\nexport function StyledCompoent({ children }) {\n const theme = useTheme();\n return <div style={{ width: theme.sizes.full }}>{children}</div>;\n}\n\nimport { StyledComponent } from './StyledComponent';\nimport { theme } from './theme';\nexport function App() {\n return (\n <ThemeProvider theme={theme}>\n <StyledComponent />\n </ThemeProvider>\n );\n}\n```\n\nIf you need access to the theme in an uncertain composition scenario, `React.useContext(ThemeContext)` will not emit an error if there is no `ThemeProvider` ancestor.\n"}:{};function w(e,...t){return"production"===process.env.NODE_ENV?new Error(`An error occurred. See https://github.com/styled-components/styled-components/blob/main/packages/styled-components/src/utils/errors.md#${e} for more information.${t.length>0?` Args: ${t.join(", ")}`:""}`):new Error(function(...e){let t=e[0];const n=[];for(let t=1,o=e.length;t<o;t+=1)n.push(e[t]);return n.forEach(e=>{t=t.replace(/%[a-z]/,e)}),t}(b[e],...t).trim())}const C=1<<30;let N=new Map,O=new Map,E=1;const x=e=>{if(N.has(e))return N.get(e);for(;O.has(E);)E++;const t=E++;if("production"!==process.env.NODE_ENV&&((0|t)<0||t>C))throw w(16,`${t}`);return N.set(e,t),O.set(t,e),t},P=e=>O.get(e),_=(e,t)=>{E=t+1,N.set(e,t),O.set(t,e)},A=/invalid hook call/i,I=new Set,j=(e,t)=>{if("production"!==process.env.NODE_ENV){const n=`The component ${e}${t?` with the id of "${t}"`:""} has been created dynamically.\nYou may see this warning because you've called styled inside another component.\nTo resolve this only create new StyledComponents outside of any render method and function component.\nSee https://styled-components.com/docs/basics#define-styled-components-outside-of-the-render-method for more info.\n`,o=console.error;try{let e=!0;console.error=(t,...s)=>{A.test(t)?(e=!1,I.delete(n)):o(t,...s)},"function"==typeof l.default.useState&&l.default.useState(null),e&&!I.has(n)&&(console.warn(n),I.add(n))}catch(e){A.test(e.message)&&I.delete(n)}finally{console.error=o}}},R=Object.freeze([]),$=Object.freeze({});function T(e,t,n=$){return e.theme!==n.theme&&e.theme||t||n.theme}const k=/[!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~-]+/g,D=/(^-|-$)/g;function M(e){return e.replace(k,"-").replace(D,"")}const V=/(a)(d)/gi,G=e=>String.fromCharCode(e+(e>25?39:97));function F(e){let t,n="";for(t=Math.abs(e);t>52;t=t/52|0)n=G(t%52)+n;return(G(t%52)+n).replace(V,"$1-$2")}const z=5381,L=(e,t)=>{let n=t.length;for(;n;)e=33*e^t.charCodeAt(--n);return e},W=e=>L(z,e);function q(e){return F(W(e)>>>0)}function B(e){return"production"!==process.env.NODE_ENV&&"string"==typeof e&&e||e.displayName||e.name||"Component"}function H(e){return"string"==typeof e&&("production"===process.env.NODE_ENV||e.charAt(0)===e.charAt(0).toLowerCase())}function Y(e){return H(e)?`styled.${e}`:`Styled(${B(e)})`}const U=Symbol.for("react.memo"),J=Symbol.for("react.forward_ref"),X={contextType:!0,defaultProps:!0,displayName:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,propTypes:!0,type:!0},K={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},Q={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},Z={[J]:{$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},[U]:Q};function ee(e){return("type"in(t=e)&&t.type.$$typeof)===U?Q:"$$typeof"in e?Z[e.$$typeof]:X;var t}const te=Object.defineProperty,ne=Object.getOwnPropertyNames,oe=Object.getOwnPropertySymbols,se=Object.getOwnPropertyDescriptor,re=Object.getPrototypeOf,ie=Object.prototype;function ae(e,t,n){if("string"!=typeof t){const o=re(t);o&&o!==ie&&ae(e,o,n);const s=ne(t).concat(oe(t)),r=ee(e),i=ee(t);for(let o=0;o<s.length;++o){const a=s[o];if(!(a in K||n&&n[a]||i&&a in i||r&&a in r)){const n=se(t,a);try{te(e,a,n)}catch(e){}}}}return e}function le(e){return"function"==typeof e}function ce(e){return"object"==typeof e&&"styledComponentId"in e}function ue(e,t){return e&&t?e+" "+t:e||t||""}function de(e,t){return e.join(t||"")}function he(e){return null!==e&&"object"==typeof e&&e.constructor.name===Object.name&&!("props"in e&&e.$$typeof)}function pe(e,t,n=!1){if(!n&&!he(e)&&!Array.isArray(e))return t;if(Array.isArray(t))for(let n=0;n<t.length;n++)e[n]=pe(e[n],t[n]);else if(he(t))for(const n in t)e[n]=pe(e[n],t[n]);return e}function fe(e,t){Object.defineProperty(e,"toString",{value:t})}const me=class{constructor(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e,this._cGroup=0,this._cIndex=0}indexOfGroup(e){if(e===this._cGroup)return this._cIndex;let t=this._cIndex;if(e>this._cGroup)for(let n=this._cGroup;n<e;n++)t+=this.groupSizes[n];else for(let n=this._cGroup-1;n>=e;n--)t-=this.groupSizes[n];return this._cGroup=e,this._cIndex=t,t}insertRules(e,t){if(e>=this.groupSizes.length){const t=this.groupSizes,n=t.length;let o=n;for(;e>=o;)if(o<<=1,o<0)throw w(16,`${e}`);this.groupSizes=new Uint32Array(o),this.groupSizes.set(t),this.length=o;for(let e=n;e<o;e++)this.groupSizes[e]=0}let n=this.indexOfGroup(e+1),o=0;for(let s=0,r=t.length;s<r;s++)this.tag.insertRule(n,t[s])&&(this.groupSizes[e]++,n++,o++);o>0&&this._cGroup>e&&(this._cIndex+=o)}clearGroup(e){if(e<this.length){const t=this.groupSizes[e],n=this.indexOfGroup(e),o=n+t;this.groupSizes[e]=0;for(let e=n;e<o;e++)this.tag.deleteRule(n);t>0&&this._cGroup>e&&(this._cIndex-=t)}}getGroup(e){let t="";if(e>=this.length||0===this.groupSizes[e])return t;const n=this.groupSizes[e],o=this.indexOfGroup(e),s=o+n;for(let e=o;e<s;e++)t+=this.tag.getRule(e)+f;return t}},ye=`style[${u}][${h}="${p}"]`,ge=new RegExp(`^${u}\\.g(\\d+)\\[id="([\\w\\d-]+)"\\].*?"([^"]*)`),Se=e=>"undefined"!=typeof ShadowRoot&&e instanceof ShadowRoot||"host"in e&&11===e.nodeType,ve=e=>{if(!e)return document;if(Se(e))return e;if("getRootNode"in e){const t=e.getRootNode();if(Se(t))return t}return document},be=(e,t,n)=>{const o=n.split(",");let s;for(let n=0,r=o.length;n<r;n++)(s=o[n])&&e.registerName(t,s)},we=(e,t)=>{var n;const o=(null!==(n=t.textContent)&&void 0!==n?n:"").split(f),s=[];for(let t=0,n=o.length;t<n;t++){const n=o[t].trim();if(!n)continue;const r=n.match(ge);if(r){const t=0|parseInt(r[1],10),n=r[2];0!==t&&(_(n,t),be(e,n,r[3]),e.getTag().insertRules(t,s)),s.length=0}else s.push(n)}},Ce=e=>{const t=ve(e.options.target).querySelectorAll(ye);for(let n=0,o=t.length;n<o;n++){const o=t[n];o&&o.getAttribute(u)!==d&&(we(e,o),o.parentNode&&o.parentNode.removeChild(o))}};let Ne=!1;function Oe(){if(!1!==Ne)return Ne;if("undefined"!=typeof document){const e=document.head.querySelector('meta[property="csp-nonce"]');if(e)return Ne=e.nonce||e.getAttribute("content")||void 0;const t=document.head.querySelector('meta[name="sc-nonce"]');if(t)return Ne=t.getAttribute("content")||void 0}return Ne="undefined"!=typeof __webpack_nonce__?__webpack_nonce__:void 0}const Ee=(e,t)=>{const n=document.head,o=e||n,s=document.createElement("style"),r=(e=>{const t=Array.from(e.querySelectorAll(`style[${u}]`));return t[t.length-1]})(o),i=void 0!==r?r.nextSibling:null;s.setAttribute(u,d),s.setAttribute(h,p);const a=t||Oe();return a&&s.setAttribute("nonce",a),o.insertBefore(s,i),s},xe=class{constructor(e,t){this.element=Ee(e,t),this.element.appendChild(document.createTextNode("")),this.sheet=(e=>{var t;if(e.sheet)return e.sheet;const n=null!==(t=e.getRootNode().styleSheets)&&void 0!==t?t:document.styleSheets;for(let t=0,o=n.length;t<o;t++){const o=n[t];if(o.ownerNode===e)return o}throw w(17)})(this.element),this.length=0}insertRule(e,t){try{return this.sheet.insertRule(t,e),this.length++,!0}catch(e){return!1}}deleteRule(e){this.sheet.deleteRule(e),this.length--}getRule(e){const t=this.sheet.cssRules[e];return t&&t.cssText?t.cssText:""}},Pe=class{constructor(e,t){this.element=Ee(e,t),this.nodes=this.element.childNodes,this.length=0}insertRule(e,t){if(e<=this.length&&e>=0){const n=document.createTextNode(t);return this.element.insertBefore(n,this.nodes[e]||null),this.length++,!0}return!1}deleteRule(e){this.element.removeChild(this.nodes[e]),this.length--}getRule(e){return e<this.length?this.nodes[e].textContent:""}};let _e=m;const Ae={isServer:!m,useCSSOMInjection:!g};class Ie{static registerId(e){return x(e)}constructor(e=$,t={},n){this.options=Object.assign(Object.assign({},Ae),e),this.gs=t,this.keyframeIds=new Set,this.names=new Map(n),this.server=!!e.isServer,!this.server&&m&&_e&&(_e=!1,Ce(this)),fe(this,()=>(e=>{const t=e.getTag(),{length:n}=t;let o="";for(let s=0;s<n;s++){const n=P(s);if(void 0===n)continue;const r=e.names.get(n);if(void 0===r||!r.size)continue;const i=t.getGroup(s);if(0===i.length)continue;const a=u+".g"+s+'[id="'+n+'"]';let l="";for(const e of r)e.length>0&&(l+=e+",");o+=i+a+'{content:"'+l+'"}'+f}return o})(this))}rehydrate(){!this.server&&m&&Ce(this)}reconstructWithOptions(e,t=!0){const n=new Ie(Object.assign(Object.assign({},this.options),e),this.gs,t&&this.names||void 0);return n.keyframeIds=new Set(this.keyframeIds),!this.server&&m&&e.target!==this.options.target&&ve(this.options.target)!==ve(e.target)&&Ce(n),n}allocateGSInstance(e){return this.gs[e]=(this.gs[e]||0)+1}getTag(){return this.tag||(this.tag=(e=(({useCSSOMInjection:e,target:t,nonce:n})=>e?new xe(t,n):new Pe(t,n))(this.options),new me(e)));var e}hasNameForId(e,t){var n,o;return null!==(o=null===(n=this.names.get(e))||void 0===n?void 0:n.has(t))&&void 0!==o&&o}registerName(e,t){x(e),e.startsWith(S)&&this.keyframeIds.add(e);const n=this.names.get(e);n?n.add(t):this.names.set(e,new Set([t]))}insertRules(e,t,n){this.registerName(e,t),this.getTag().insertRules(x(e),n)}clearNames(e){this.names.has(e)&&this.names.get(e).clear()}clearRules(e){this.getTag().clearGroup(x(e)),this.clearNames(e)}clearTag(){this.tag=void 0}}const je=new WeakSet,Re={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexShrink:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,scale:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1};function $e(e,t){return null==t||"boolean"==typeof t||""===t?"":"number"!=typeof t||0===t||e in Re||e.startsWith("--")?String(t).trim():t+"px"}const Te=47;function ke(e){if(45===e.charCodeAt(0)&&45===e.charCodeAt(1))return e;let t="";for(let n=0;n<e.length;n++){const o=e.charCodeAt(n);t+=o>=65&&o<=90?"-"+String.fromCharCode(o+32):e[n]}return t.startsWith("ms-")?"-"+t:t}const De=Symbol.for("sc-keyframes");function Me(e){return"object"==typeof e&&null!==e&&De in e}function Ve(e){return le(e)&&!(e.prototype&&e.prototype.isReactComponent)}const Ge=e=>null==e||!1===e||""===e,Fe=Symbol.for("react.client.reference");function ze(e){return e.$$typeof===Fe}function Le(e){const t=e.$$id,n=(t&&t.includes("#")?t.split("#").pop():t)||e.name||"unknown";console.warn(`Interpolating a client component (${n}) as a selector is not supported in server components. The component selector pattern requires access to the component's internal class name, which is not available across the server/client boundary. Use a plain CSS class selector instead.`)}function We(e,t){for(const n in e){const o=e[n];e.hasOwnProperty(n)&&!Ge(o)&&(Array.isArray(o)&&je.has(o)||le(o)?t.push(ke(n)+":",o,";"):he(o)?(t.push(n+" {"),We(o,t),t.push("}")):t.push(ke(n)+": "+$e(n,o)+";"))}}function qe(e,t,n,o,s=[]){if(Ge(e))return s;const r=typeof e;if("string"===r)return s.push(e),s;if("function"===r){if(ze(e))return"production"!==process.env.NODE_ENV&&Le(e),s;if(Ve(e)&&t){const r=e(t);return"production"===process.env.NODE_ENV||"object"!=typeof r||Array.isArray(r)||Me(r)||he(r)||null===r||console.error(`${B(e)} is not a styled component and cannot be referred to via component selector. See https://styled-components.com/docs/advanced#referring-to-other-components for more details.`),qe(r,t,n,o,s)}return s.push(e),s}if(Array.isArray(e)){for(let r=0;r<e.length;r++)qe(e[r],t,n,o,s);return s}return ce(e)?(s.push(`.${e.styledComponentId}`),s):Me(e)?(n?(e.inject(n,o),s.push(e.getName(o))):s.push(e),s):ze(e)?("production"!==process.env.NODE_ENV&&Le(e),s):he(e)?(We(e,s),s):(s.push(e.toString()),s)}const Be=W(p);class He{constructor(e,t,n){this.rules=e,this.componentId=t,this.baseHash=L(Be,t),this.baseStyle=n,Ie.registerId(t)}generateAndInjectStyles(e,t,n){let o=this.baseStyle?this.baseStyle.generateAndInjectStyles(e,t,n):"";{let s="";for(let o=0;o<this.rules.length;o++){const r=this.rules[o];if("string"==typeof r)s+=r;else if(r)if(Ve(r)){const o=r(e);"string"==typeof o?s+=o:null!=o&&!1!==o&&("production"===process.env.NODE_ENV||"object"!=typeof o||Array.isArray(o)||Me(o)||he(o)||console.error(`${B(r)} is not a styled component and cannot be referred to via component selector. See https://styled-components.com/docs/advanced#referring-to-other-components for more details.`),s+=de(qe(o,e,t,n)))}else s+=de(qe(r,e,t,n))}if(s){this.dynamicNameCache||(this.dynamicNameCache=new Map);const e=n.hash?n.hash+s:s;let r=this.dynamicNameCache.get(e);if(!r){if(r=F(L(L(this.baseHash,n.hash),s)>>>0),this.dynamicNameCache.size>=200){const e=this.dynamicNameCache.keys().next().value;void 0!==e&&this.dynamicNameCache.delete(e)}this.dynamicNameCache.set(e,r)}if(!t.hasNameForId(this.componentId,r)){const e=n(s,"."+r,void 0,this.componentId);t.insertRules(this.componentId,r,e)}o=ue(o,r)}}return o}}const Ye=/&/g;function Ue(e,t){let n=0;for(;--t>=0&&92===e.charCodeAt(t);)n++;return!(1&~n)}function Je(e){const t=e.length;let n="",o=0,s=0,r=0,i=!1,a=!1;for(let l=0;l<t;l++){const c=e.charCodeAt(l);if(0!==r||i||c!==Te||42!==e.charCodeAt(l+1))if(i)42===c&&e.charCodeAt(l+1)===Te&&(i=!1,l++);else if(34!==c&&39!==c||Ue(e,l)){if(0===r)if(123===c)s++;else if(125===c){if(s--,s<0){a=!0;let n=l+1;for(;n<t;){const t=e.charCodeAt(n);if(59===t||10===t)break;n++}n<t&&59===e.charCodeAt(n)&&n++,s=0,l=n-1,o=n;continue}0===s&&(n+=e.substring(o,l+1),o=l+1)}else 59===c&&0===s&&(n+=e.substring(o,l+1),o=l+1)}else 0===r?r=c:r===c&&(r=0);else i=!0,l++}return a||0!==s||0!==r?(o<t&&0===s&&0===r&&(n+=e.substring(o)),n):e}function Xe(e,t){const n=t+" ",o=","+n;for(let s=0;s<e.length;s++){const r=e[s];if("rule"===r.type){r.value=(n+r.value).replaceAll(",",o);const e=r.props,t=[];for(let o=0;o<e.length;o++)t[o]=n+e[o];r.props=t}Array.isArray(r.children)&&"@keyframes"!==r.type&&Xe(r.children,t)}return e}function Ke({options:e=$,plugins:t=R}=$){let n,o,s;const r=(e,t,s)=>s.startsWith(o)&&s.endsWith(o)&&s.replaceAll(o,"").length>0?`.${n}`:e,i=t.slice();i.push(e=>{e.type===c.RULESET&&e.value.includes("&")&&(s||(s=new RegExp(`\\${o}\\b`,"g")),e.props[0]=e.props[0].replace(Ye,o).replace(s,r))}),e.prefix&&i.push(c.prefixer),i.push(c.stringify);let a=[];const l=c.middleware(i.concat(c.rulesheet(e=>a.push(e)))),u=(t,r="",i="",u="&")=>{n=u,o=r,s=void 0;const d=function(e){const t=-1!==e.indexOf("//"),n=-1!==e.indexOf("}");if(!t&&!n)return e;if(!t)return Je(e);const o=e.length;let s="",r=0,i=0,a=0,l=0,c=0,u=!1;for(;i<o;){const t=e.charCodeAt(i);if(34!==t&&39!==t||Ue(e,i))if(0===a)if(t===Te&&i+1<o&&42===e.charCodeAt(i+1)){for(i+=2;i+1<o&&(42!==e.charCodeAt(i)||e.charCodeAt(i+1)!==Te);)i++;i+=2}else if(40!==t)if(41!==t)if(l>0)i++;else if(42===t&&i+1<o&&e.charCodeAt(i+1)===Te)s+=e.substring(r,i),i+=2,r=i,u=!0;else if(t===Te&&i+1<o&&e.charCodeAt(i+1)===Te){for(s+=e.substring(r,i);i<o&&10!==e.charCodeAt(i);)i++;r=i,u=!0}else 123===t?c++:125===t&&c--,i++;else l>0&&l--,i++;else l++,i++;else i++;else 0===a?a=t:a===t&&(a=0),i++}return u?(r<o&&(s+=e.substring(r)),0===c?s:Je(s)):0===c?e:Je(e)}(t);let h=c.compile(i||r?i+" "+r+" { "+d+" }":d);return e.namespace&&(h=Xe(h,e.namespace)),a=[],c.serialize(h,l),a},d=e;let h=z;for(let e=0;e<t.length;e++)t[e].name||w(15),h=L(h,t[e].name);return(null==d?void 0:d.namespace)&&(h=L(h,d.namespace)),(null==d?void 0:d.prefix)&&(h=L(h,"p")),u.hash=h!==z?h.toString():"",u}const Qe=new Ie,Ze=Ke(),et=l.default.createContext({shouldForwardProp:void 0,styleSheet:Qe,stylis:Ze,stylisPlugins:void 0}),tt=et.Consumer;function nt(){return l.default.useContext(et)}function ot(e){var t;const n=nt(),{styleSheet:o}=n,s=l.default.useMemo(()=>{let t=o;return e.sheet?t=e.sheet:e.target?t=t.reconstructWithOptions(void 0!==e.nonce?{target:e.target,nonce:e.nonce}:{target:e.target},!1):void 0!==e.nonce&&(t=t.reconstructWithOptions({nonce:e.nonce})),e.disableCSSOMInjection&&(t=t.reconstructWithOptions({useCSSOMInjection:!1})),t},[e.disableCSSOMInjection,e.nonce,e.sheet,e.target,o]),r=l.default.useMemo(()=>{var t;return void 0===e.stylisPlugins&&void 0===e.namespace&&void 0===e.enableVendorPrefixes?n.stylis:Ke({options:{namespace:e.namespace,prefix:e.enableVendorPrefixes},plugins:null!==(t=e.stylisPlugins)&&void 0!==t?t:n.stylisPlugins})},[e.enableVendorPrefixes,e.namespace,e.stylisPlugins,n.stylis,n.stylisPlugins]),i="shouldForwardProp"in e?e.shouldForwardProp:n.shouldForwardProp,a=null!==(t=e.stylisPlugins)&&void 0!==t?t:n.stylisPlugins,c=l.default.useMemo(()=>({shouldForwardProp:i,styleSheet:s,stylis:r,stylisPlugins:a}),[i,s,r,a]);return l.default.createElement(et.Provider,{value:c},e.children)}const st=l.default.createContext(void 0),rt=st.Consumer,it=Object.prototype.hasOwnProperty,at={};function lt(e,t){const n="string"!=typeof e?"sc":M(e);at[n]=(at[n]||0)+1;const o=n+"-"+q(p+n+at[n]);return t?t+"-"+o:o}let ct;function ut(e,n,o){const s=ce(e),r=e,i=!H(e),{attrs:c=R,componentId:u=lt(n.displayName,n.parentComponentId),displayName:d=Y(e)}=n,h=n.displayName&&n.componentId?M(n.displayName)+"-"+n.componentId:n.componentId||u,p=s&&r.attrs?r.attrs.concat(c).filter(Boolean):c;let{shouldForwardProp:f}=n;if(s&&r.shouldForwardProp){const e=r.shouldForwardProp;if(n.shouldForwardProp){const t=n.shouldForwardProp;f=(n,o)=>e(n,o)&&t(n,o)}else f=e}const m=new He(o,h,s?r.componentStyle:void 0);function y(e,n){return function(e,n,o){const{attrs:s,componentStyle:r,defaultProps:i,foldedComponentIds:c,styledComponentId:u,target:d}=e,h=l.default.useContext(st),p=nt(),f=e.shouldForwardProp||p.shouldForwardProp;"production"!==process.env.NODE_ENV&&l.default.useDebugValue&&l.default.useDebugValue(u);const m=T(n,h,i)||$;let y,g;{const e=l.default.useRef(null),t=e.current;if(null!==t&&t[1]===m&&t[2]===p.styleSheet&&t[3]===p.stylis&&t[7]===r&&function(e,t,n){const o=e,s=t;let r=0;for(const e in s)if(it.call(s,e)&&(r++,o[e]!==s[e]))return!1;return r===n}(t[0],n,t[4]))y=t[5],g=t[6];else{y=function(e,t,n){const o=Object.assign(Object.assign({},t),{className:void 0,theme:n}),s=e.length>1;for(let n=0;n<e.length;n++){const r=e[n],i=le(r)?r(s?Object.assign({},o):o):r;for(const e in i)"className"===e?o.className=ue(o.className,i[e]):"style"===e?o.style=Object.assign(Object.assign({},o.style),i[e]):e in t&&void 0===t[e]||(o[e]=i[e])}return"className"in t&&"string"==typeof t.className&&(o.className=ue(o.className,t.className)),o}(s,n,m),g=function(e,t,n,o){const s=e.generateAndInjectStyles(t,n,o);return"production"!==process.env.NODE_ENV&&l.default.useDebugValue&&l.default.useDebugValue(s),s}(r,y,p.styleSheet,p.stylis);let t=0;for(const e in n)it.call(n,e)&&t++;e.current=[n,m,p.styleSheet,p.stylis,t,y,g,r]}}"production"!==process.env.NODE_ENV&&e.warnTooManyClasses&&e.warnTooManyClasses(g);const S=y.as||d,v=function(e,t,n,o){const s={};for(const r in e)void 0===e[r]||"$"===r[0]||"as"===r||"theme"===r&&e.theme===n||("forwardedAs"===r?s.as=e.forwardedAs:o&&!o(r,t)||(s[r]=e[r],o||"development"!==process.env.NODE_ENV||a.default(r)||(ct||(ct=new Set)).has(r)||!H(t)||t.includes("-")||(ct.add(r),console.warn(`styled-components: it looks like an unknown prop "${r}" is being sent through to the DOM, which will likely trigger a React console error. If you would like automatic filtering of unknown props, you can opt-into that behavior via \`<StyleSheetManager shouldForwardProp={...}>\` (connect an API like \`@emotion/is-prop-valid\`) or consider using transient props (\`$\` prefix for automatic filtering.)`))));return s}(y,S,m,f);let b=ue(c,u);return g&&(b+=" "+g),y.className&&(b+=" "+y.className),v[H(S)&&S.includes("-")?"class":"className"]=b,o&&(v.ref=o),t.createElement(S,v)}(g,e,n)}y.displayName=d;let g=l.default.forwardRef(y);return g.attrs=p,g.componentStyle=m,g.displayName=d,g.shouldForwardProp=f,g.foldedComponentIds=s?ue(r.foldedComponentIds,r.styledComponentId):"",g.styledComponentId=h,g.target=s?r.target:e,Object.defineProperty(g,"defaultProps",{get(){return this._foldedDefaultProps},set(e){this._foldedDefaultProps=s?function(e,...t){for(const n of t)pe(e,n,!0);return e}({},r.defaultProps,e):e}}),"production"!==process.env.NODE_ENV&&(j(d,h),g.warnTooManyClasses=((e,t)=>{let n={},o=!1;return s=>{!o&&(n[s]=!0,Object.keys(n).length>=200)&&(console.warn(`Over 200 classes were generated for component ${e}${t?` with the id of "${t}"`:""}.\nConsider using the attrs method, together with a style object for frequently changed styles.\nExample:\n const Component = styled.div.attrs(props => ({\n style: {\n background: props.background,\n },\n }))\`width: 100%;\`\n\n <Component />`),o=!0,n={})}})(d,h)),fe(g,()=>`.${g.styledComponentId}`),i&&ae(g,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0}),g}var dt=new Set(["a","abbr","address","area","article","aside","audio","b","bdi","bdo","blockquote","body","button","br","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","map","mark","menu","meter","nav","object","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","slot","small","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","u","ul","var","video","wbr","circle","clipPath","defs","ellipse","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","foreignObject","g","image","line","linearGradient","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","switch","symbol","text","textPath","tspan","use"]);function ht(e,t){const n=[e[0]];for(let o=0,s=t.length;o<s;o+=1)n.push(t[o],e[o+1]);return n}const pt=e=>(je.add(e),e);function ft(e,...t){if(le(e)||he(e))return pt(qe(ht(R,[e,...t])));const n=e;return 0===t.length&&1===n.length&&"string"==typeof n[0]?qe(n):pt(qe(ht(n,t)))}function mt(e,t,n=$){if(!t)throw w(1,t);const o=(o,...s)=>e(t,n,ft(o,...s));return o.attrs=o=>mt(e,t,Object.assign(Object.assign({},n),{attrs:Array.prototype.concat(n.attrs,o).filter(Boolean)})),o.withConfig=o=>mt(e,t,Object.assign(Object.assign({},n),o)),o}const yt=e=>mt(ut,e),gt=yt;dt.forEach(e=>{gt[e]=yt(e)});class St{constructor(e,t){this.instanceRules=new Map,this.rules=e,this.componentId=t,this.isStatic=function(e){for(let t=0;t<e.length;t+=1){const n=e[t];if(le(n)&&!ce(n))return!1}return!0}(e),Ie.registerId(this.componentId)}removeStyles(e,t){this.instanceRules.delete(e),this.rebuildGroup(t)}renderStyles(e,t,n,o){const s=this.componentId;if(this.isStatic){if(n.hasNameForId(s,s+e))this.instanceRules.has(e)||this.computeRules(e,t,n,o);else{const r=this.computeRules(e,t,n,o);n.insertRules(s,r.name,r.rules)}return}const r=this.instanceRules.get(e);if(this.computeRules(e,t,n,o),!n.server&&r){const t=r.rules,n=this.instanceRules.get(e).rules;if(t.length===n.length){let e=!0;for(let o=0;o<t.length;o++)if(t[o]!==n[o]){e=!1;break}if(e)return}}this.rebuildGroup(n)}computeRules(e,t,n,o){const s=de(qe(this.rules,t,n,o)),r={name:this.componentId+e,rules:o(s,"")};return this.instanceRules.set(e,r),r}rebuildGroup(e){const t=this.componentId;e.clearRules(t);for(const n of this.instanceRules.values())e.insertRules(t,n.name,n.rules)}}function vt(e,...t){const n=ft(e,...t),o=`sc-global-${q(JSON.stringify(n))}`,s=new St(n,o);"production"!==process.env.NODE_ENV&&j(o);const r=e=>{const t=nt(),r=l.default.useContext(st);let a;{const e=l.default.useRef(null);null===e.current&&(e.current=t.styleSheet.allocateGSInstance(o)),a=e.current}"production"!==process.env.NODE_ENV&&l.default.Children.count(e.children)&&console.warn(`The global style component ${o} was given child JSX. createGlobalStyle does not render children.`),"production"!==process.env.NODE_ENV&&n.some(e=>"string"==typeof e&&-1!==e.indexOf("@import"))&&console.warn("Please do not use @import CSS syntax in createGlobalStyle at this time, as the CSSOM APIs we use in production do not handle it well. Instead, we recommend using a library such as react-helmet to inject a typical <link> meta tag to the stylesheet, or simply embedding it manually in your index.html <head> section for a simpler app."),t.styleSheet.server&&i(a,e,t.styleSheet,r,t.stylis);{const n=s.isStatic?[a,t.styleSheet,s]:[a,e,t.styleSheet,r,t.stylis,s],c=l.default.useRef(s);l.default.useLayoutEffect(()=>{t.styleSheet.server||(c.current!==s&&(t.styleSheet.clearRules(o),c.current=s),i(a,e,t.styleSheet,r,t.stylis))},n),l.default.useLayoutEffect(()=>()=>{t.styleSheet.server||s.removeStyles(a,t.styleSheet)},[a,t.styleSheet,s])}return t.styleSheet.server&&s.instanceRules.delete(a),null};function i(e,t,n,o,i){if(s.isStatic)s.renderStyles(e,v,n,i);else{const a=Object.assign(Object.assign({},t),{theme:T(t,o,r.defaultProps)});s.renderStyles(e,a,n,i)}}return l.default.memo(r)}function bt(e,t,n,o,s){for(const r in e){const i=e[r],a=s?s+"-"+r:r;if("object"==typeof i&&null!==i){const e={};bt(i,t,e,o,a),n[r]=e}else n[r]=o(a,i,r)}}function wt(e,t,n,o){let s="";for(const r in e){const i=e[r],a=t[r],l=o?o+"-"+r:r;"object"==typeof i&&null!==i?"object"==typeof a&&null!==a&&(s+=wt(i,a,n,l)):void 0!==a&&"function"!=typeof a&&(s+="--"+n+l+":"+a+";")}return s}var Ct;class Nt{constructor(e,t){this[Ct]=!0,this.inject=(e,t=Ze)=>{const n=this.getName(t);if(!e.hasNameForId(this.id,n)){const o=t(this.rules,n,"@keyframes");e.insertRules(this.id,n,o)}},this.name=e,this.id=S+e,this.rules=t,x(this.id),fe(this,()=>{throw w(12,String(this.name))})}getName(e=Ze){return e.hash?this.name+F(+e.hash>>>0):this.name}}Ct=De;const Ot={StyleSheet:Ie,mainSheet:Qe};"production"!==process.env.NODE_ENV&&"undefined"!=typeof navigator&&"ReactNative"===navigator.product&&console.warn("It looks like you've imported 'styled-components' on React Native.\nPerhaps you're looking to import 'styled-components/native'?\nRead more about this at https://styled-components.com/docs/basics#react-native");const Et=`__sc-${u}__`;"production"!==process.env.NODE_ENV&&"test"!==process.env.NODE_ENV&&"undefined"!=typeof window&&(window[Et]||(window[Et]=0),1===window[Et]&&console.warn("It looks like there are several instances of 'styled-components' initialized in this application. This may cause dynamic styles to not render properly, errors during the rehydration process, a missing theme prop, and makes your application bigger without good reason.\n\nSee https://styled-components.com/docs/faqs#why-am-i-getting-a-warning-about-several-instances-of-module-on-the-page for more info."),window[Et]+=1);const xt=/:(?:(first)-child|(last)-child|(only)-child|(nth-child)\(([^()]+)\)|(nth-last-child)\(([^()]+)\))/g,Pt=`:not(style[${u}])`,_t=`style[${u}]`;function At(e){return-1===e.indexOf("-child")?e:(xt.lastIndex=0,e.replace(xt,(e,t,n,o,s,r,i,a)=>t?`:nth-child(1 of ${Pt})`:n?`:nth-last-child(1 of ${Pt})`:o?`:nth-child(1 of ${Pt}):nth-last-child(1 of ${Pt})`:s?-1!==r.indexOf(" of ")?e:`:nth-child(${r} of ${Pt})`:-1!==a.indexOf(" of ")?e:`:nth-last-child(${a} of ${Pt})`))}function It(e,t){if(-1===e.indexOf("+"))return;let n=0,o=0;for(let s=0;s<e.length;s++){const r=e.charCodeAt(s);if(40===r)n++;else if(41===r)n--;else if(91===r)o++;else if(93===r)o--;else if(43===r&&0===n&&0===o&&!Ue(e,s)){const n=e.substring(0,s),o=e.substring(s+1);t.push(n+"+"+_t+"+"+o),t.push(n+"+"+_t+"+"+_t+"+"+o)}}}exports.ServerStyleSheet=class{constructor({nonce:e}={}){this._emitSheetCSS=()=>{const e=this.instance.toString();if(!e)return"";const t=this.instance.options.nonce||Oe();return`<style ${de([t&&`nonce="${t}"`,`${u}="true"`,`${h}="${p}"`].filter(Boolean)," ")}>${e}</style>`},this.getStyleTags=()=>{if(this.sealed)throw w(2);return this._emitSheetCSS()},this.getStyleElement=()=>{if(this.sealed)throw w(2);const e=this.instance.toString();if(!e)return[];const t={[u]:"",[h]:p,dangerouslySetInnerHTML:{__html:e}},n=this.instance.options.nonce||Oe();return n&&(t.nonce=n),[l.default.createElement("style",Object.assign({},t,{key:"sc-0-0"}))]},this.seal=()=>{this.sealed=!0},this.instance=new Ie({isServer:!0,nonce:e}),this.sealed=!1}collectStyles(e){if(this.sealed)throw w(2);return l.default.createElement(ot,{sheet:this.instance},e)}interleaveWithNodeStream(e){throw w(3)}},exports.StyleSheetConsumer=tt,exports.StyleSheetContext=et,exports.StyleSheetManager=ot,exports.ThemeConsumer=rt,exports.ThemeContext=st,exports.ThemeProvider=function(e){const t=l.default.useContext(st),n=l.default.useMemo(()=>function(e,t){if(!e)throw w(14);if(le(e)){const n=e(t);if("production"!==process.env.NODE_ENV&&(null===n||Array.isArray(n)||"object"!=typeof n))throw w(7);return n}if(Array.isArray(e)||"object"!=typeof e)throw w(8);return t?Object.assign(Object.assign({},t),e):e}(e.theme,t),[e.theme,t]);return e.children?l.default.createElement(st.Provider,{value:n},e.children):null},exports.__PRIVATE__=Ot,exports.createGlobalStyle=vt,exports.createTheme=function(e,t){var n,o;const s=(null!==(n=null==t?void 0:t.prefix)&&void 0!==n?n:"sc")+"-",r=null!==(o=null==t?void 0:t.selector)&&void 0!==o?o:":root",i=function(e,t){const n={};return bt(e,t,n,e=>"--"+t+e),n}(e,s),a=function(e,t){const n={};return bt(e,t,n,(e,n)=>{if("production"!==process.env.NODE_ENV){const t=String(n);let o=0;for(let e=0;e<t.length&&(40===t.charCodeAt(e)?o++:41===t.charCodeAt(e)&&o--,!(o<0));e++);0!==o&&console.warn(`createTheme: value "${t}" at "${e}" contains unbalanced parentheses and may break the var() fallback`)}return"var(--"+t+e+", "+n+")"}),n}(e,s),l=vt`
${r} {
${t=>wt(e,t.theme,s)}
}
`;return Object.assign(a,{GlobalStyle:l,raw:e,vars:i,resolve(t){if(!m)throw new Error("createTheme.resolve() is client-only");const n=null!=t?t:document.documentElement;return function(e,t,n){const o={};return bt(e,t,o,(e,o)=>n.getPropertyValue("--"+t+e).trim()||o),o}(e,s,getComputedStyle(n))}})},exports.css=ft,exports.default=gt,exports.isStyledComponent=ce,exports.keyframes=function(e,...t){"production"!==process.env.NODE_ENV&&"undefined"!=typeof navigator&&"ReactNative"===navigator.product&&console.warn("`keyframes` cannot be used on ReactNative, only on the web. To do animation in ReactNative please use Animated.");const n=de(ft(e,...t)),o=q(n);return new Nt(o,n)},exports.styled=gt,exports.stylisPluginRSC=function(e){if(e.type===n.RULESET){const t=e.props,n=[];for(let e=0;e<t.length;e++){const o=At(t[e]);n.push(o),It(o,n)}e.props=n}},exports.useTheme=function(){const e=l.default.useContext(st);if(!e)throw w(18);return e},exports.version=p,exports.withTheme=function(e){const t=l.default.forwardRef((t,n)=>{const o=T(t,l.default.useContext(st),e.defaultProps);return"production"!==process.env.NODE_ENV&&void 0===o&&console.warn(`[withTheme] You are not using a ThemeProvider nor passing a theme prop or a theme in defaultProps in component class "${B(e)}"`),l.default.createElement(e,Object.assign(Object.assign({},t),{theme:o,ref:n}))});return t.displayName=`WithTheme(${B(e)})`,ae(t,e)};
//# sourceMappingURL=styled-components.browser.cjs.js.map