UNPKG

2.81 kBSource Map (JSON)View Raw
1{"version":3,"file":"index-2b9f03ad.js","sources":["../src/providers/PublicUrl/PublicUrl.js"],"sourcesContent":["import React, { useContext } from 'react'\nimport PropTypes from 'prop-types'\nimport getDisplayName from 'react-display-name'\nimport { prefixUrl } from '../../utils/url'\n\nconst PublicUrlContext = React.createContext('')\nconst { Provider, Consumer } = PublicUrlContext\n\nclass PublicUrlProvider extends React.PureComponent {\n static propTypes = {\n url: PropTypes.string.isRequired,\n children: PropTypes.node,\n }\n render() {\n const { url, children } = this.props\n return <Provider value={url}>{children}</Provider>\n }\n}\n\n// HOC wrapper\nconst hocWrap = Component => {\n const HOC = props => (\n <Consumer>{url => <Component {...props} publicUrl={url} />}</Consumer>\n )\n HOC.displayName = `PublicUrlProvider(${getDisplayName(Component)})`\n return HOC\n}\n\n// styled-components utility for URLs\nconst styledUrl = url => ({ publicUrl }) => prefixUrl(url, publicUrl)\n\nconst PublicUrl = props => <Consumer {...props} />\nPublicUrl.Provider = PublicUrlProvider\nPublicUrl.hocWrap = hocWrap\nPublicUrl.styledUrl = styledUrl\n\nfunction usePublicUrl() {\n return useContext(PublicUrlContext)\n}\n\nexport { PublicUrl, Provider, hocWrap, styledUrl, usePublicUrl }\nexport default PublicUrl\n"],"names":["PublicUrlContext","React","createContext","Provider","Consumer","PublicUrlProvider","props","url","children","PureComponent","PropTypes","string","isRequired","node","hocWrap","Component","HOC","displayName","getDisplayName","styledUrl","publicUrl","prefixUrl","PublicUrl","usePublicUrl","useContext"],"mappings":";;;;;;;;;;;;;;;;AAKA,IAAMA,gBAAgB,GAAGC,cAAK,CAACC,aAAN,CAAoB,EAApB,CAAzB;IACQC,WAAuBH,iBAAvBG;IAAUC,WAAaJ,iBAAbI;;IAEZC;;;;;;;;;;;;;6BAKK;AAAA,wBACmB,KAAKC,KADxB;AAAA,UACCC,GADD,eACCA,GADD;AAAA,UACMC,QADN,eACMA,QADN;AAEP,0BAAOP,6BAAC,QAAD;AAAU,QAAA,KAAK,EAAEM;AAAjB,SAAuBC,QAAvB,CAAP;AACD;;;;EAR6BP,cAAK,CAACQ;;;+BAAhCJ,gCACe;AACjBE,EAAAA,GAAG,EAAEG,eAAS,CAACC,MAAV,CAAiBC,UADL;AAEjBJ,EAAAA,QAAQ,EAAEE,eAAS,CAACG;AAFH;;AAWrB,IAAMC,OAAO,GAAG,SAAVA,OAAU,CAAAC,SAAS,EAAI;AAC3B,MAAMC,GAAG,GAAG,SAANA,GAAM,CAAAV,KAAK;AAAA,wBACfL,6BAAC,QAAD,QAAW,UAAAM,GAAG;AAAA,0BAAIN,6BAAC,SAAD,wBAAeK,KAAf;AAAsB,QAAA,SAAS,EAAEC;AAAjC,SAAJ;AAAA,KAAd,CADe;AAAA,GAAjB;;AAGAS,EAAAA,GAAG,CAACC,WAAJ,+BAAuCC,6BAAc,CAACH,SAAD,CAArD;AACA,SAAOC,GAAP;AACD,CAND;;;AASA,IAAMG,SAAS,GAAG,SAAZA,SAAY,CAAAZ,KAAG;AAAA,SAAI;AAAA,QAAGa,SAAH,QAAGA,SAAH;AAAA,WAAmBC,aAAS,CAACd,KAAD,EAAMa,SAAN,CAA5B;AAAA,GAAJ;AAAA,CAArB;;IAEME,SAAS,GAAG,SAAZA,SAAY,CAAAhB,KAAK;AAAA,sBAAIL,6BAAC,QAAD,EAAcK,KAAd,CAAJ;AAAA;;AACvBgB,SAAS,CAACnB,QAAV,GAAqBE,iBAArB;AACAiB,SAAS,CAACR,OAAV,GAAoBA,OAApB;AACAQ,SAAS,CAACH,SAAV,GAAsBA,SAAtB;;AAEA,SAASI,YAAT,GAAwB;AACtB,SAAOC,gBAAU,CAACxB,gBAAD,CAAjB;AACD;;;;;"}
\No newline at end of file