diff options
author | eug-vs <eug-vs@keemail.me> | 2020-04-09 13:29:23 +0000 |
---|---|---|
committer | eug-vs <eug-vs@keemail.me> | 2020-04-09 13:29:23 +0000 |
commit | 0a135cb3e029637d6af073e0e4deb1363c7e3b2e (patch) | |
tree | 67d297a1489f3986ae834f7ef88b3d2e2c6f728f /static/js/main.7792aefb.chunk.js.map | |
parent | f8af466b0fa503dbae1e70f9a7602bcf372cdcc2 (diff) | |
download | react-benzin-0a135cb3e029637d6af073e0e4deb1363c7e3b2e.tar.gz |
Updates
Diffstat (limited to 'static/js/main.7792aefb.chunk.js.map')
-rw-r--r-- | static/js/main.7792aefb.chunk.js.map | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/static/js/main.7792aefb.chunk.js.map b/static/js/main.7792aefb.chunk.js.map new file mode 100644 index 0000000..6008690 --- /dev/null +++ b/static/js/main.7792aefb.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["assets/icon.svg","lib/Window/WindowSurface.tsx","lib/Window/Window.tsx","lib/Header/Header.tsx","lib/ContentSection/ContentSection.tsx","lib/Benzin/Benzin.tsx","lib/Markdown/CodeBlock.tsx","lib/Markdown/SyntacticSpan.tsx","lib/Markdown/Text.tsx","lib/Markdown/Content.tsx","lib/Markdown/Section.tsx","lib/Markdown/Markdown.tsx","index.tsx"],"names":["module","exports","useStyles","makeStyles","theme","surface","position","display","flexDirection","overflowY","scrollbarColor","palette","secondary","dark","light","color","primary","WindowSurface","size","children","classes","Paper","variant","style","className","header","padding","spacing","background","elevation2","Window","type","name","height","bottom","width","left","right","Typography","Divider","root","text","paddingLeft","logo","margin","tab","fontSize","marginRight","marginBottom","Header","contents","page","setPage","AppBar","Toolbar","icon","title","Tabs","onChange","event","newPage","value","Object","keys","map","item","Tab","label","key","content","ContentSection","sectionName","level","component","benzinTheme","createMuiTheme","main","orange","purple","default","paper","elevation1","elevation3","Benzin","ThemeProvider","CssBaseline","overflowX","fontFamily","CodeBlock","rawLines","line","enclosureRegex","e","local","RegExp","global","regex","conceal","rawLink","emoji","bold","italic","code","strikeThrough","splitter","values","pair","source","join","emojiList","emojiLib","forEach","push","char","console","log","borderRadius","image","maxWidth","maxHeight","SyntacticSpan","span","matchConceal","exec","src","alt","Link","href","matchEmoji","match","find","matchCode","matchBold","matchItalic","matchStrikeThrough","textDecoration","Text","split","denotesCodeBlock","denotesDottedList","Content","length","buffer","splice","closeIndex","findIndex","codeBlockLines","slice","dottedListLines","unshift","li","denotesOpenHtml","tag","denotesClosingHtml","htmlLines","dangerouslySetInnerHTML","__html","denotesSelfClosingHtml","before","after","getHeaderLevel","ChildrenSections","reduce","sections","sectionLines","Section","deeperLevelIndex","rawContent","trim","deeperLevel","Markdown","data","url","useState","markdown","setMarkdown","useEffect","axios","get","then","response","window","promoButton","justifyContent","marginTop","Icon","headerContents","home","pageMap","CustomPage","setUrl","inputEl","useRef","TextField","fullWidth","inputRef","onClick","current","LivePreviewPage","setLivePreviewData","multiline","ReactDOM","render","livePreviewData","fileName","lastIndexOf","info","document","getElementById"],"mappings":"sGAAAA,EAAOC,QAAU,IAA0B,kC,oLCarCC,EAAYC,aAAW,SAAAC,GAAK,MAAK,CACrCC,QAAS,CACPC,SAAU,WACVC,QAAS,OACTC,cAAe,SACfC,UAAW,OACXC,eAAe,GAAD,OAAKN,EAAMO,QAAQC,UAAUC,KAA7B,YAAqCT,EAAMO,QAAQC,UAAUE,OAE3E,yBAA0B,CACxBC,MAAOX,EAAMO,QAAQK,QAAQF,YAqBpBG,EAf4B,SAAC,GAAkC,IAAhCC,EAA+B,EAA/BA,KAAMZ,EAAyB,EAAzBA,SAAUa,EAAe,EAAfA,SACtDC,EAAUlB,IAEhB,OACE,kBAACmB,EAAA,EAAD,CACEC,QAAQ,WACRC,MAAK,eAAML,EAAN,GAAeZ,GACpBkB,UAAWJ,EAAQf,SAElBc,ICvBDjB,EAAYC,aAAW,SAAAC,GAAK,MAAK,CACrCqB,OAAQ,CACNC,QAAStB,EAAMuB,QAAQ,EAAG,EAAG,EAAG,GAChCC,WAAYxB,EAAMO,QAAQiB,WAAWC,gBA2C1BC,EAtCqB,SAAC,GAA8B,IAA5BC,EAA2B,EAA3BA,KAAMC,EAAqB,EAArBA,KAAMb,EAAe,EAAfA,SAC3CC,EAAUlB,IAEVgB,EAAoB,CACxBe,OAAQ,QAGJ3B,EAA4B,CAChC4B,OAAQ,OAcV,MAXa,YAATH,GACFb,EAAKiB,MAAQ,OACb7B,EAAS8B,KAAO,OACE,cAATL,GACTb,EAAKiB,MAAQ,OACb7B,EAAS+B,MAAQ,OACC,SAATN,IACTzB,EAAS8B,KAAO,MAChB9B,EAAS+B,MAAQ,OAIjB,kBAAC,EAAD,CACEnB,KAAMA,EACNZ,SAAUA,GAET0B,GACD,6BACE,kBAACM,EAAA,EAAD,CAAYhB,QAAQ,KAAKE,UAAWJ,EAAQK,QAASO,GACrD,kBAACO,EAAA,EAAD,OAGDpB,I,oCC9BDjB,EAAYC,aAAW,SAAAC,GAAK,MAAK,CACrCoC,KAAM,CACJZ,WAAYxB,EAAMO,QAAQiB,WAAWC,WACrCd,MAAOX,EAAMO,QAAQ8B,KAAKzB,QAC1B0B,YAAatC,EAAMuB,QAAQ,IAE7BgB,KAAM,CACJC,OAAQxC,EAAMuB,QAAQ,EAAG,EAAG,EAAG,IAEjCkB,IAAK,CACH,oBAAqB,CACnBnB,QAAStB,EAAMuB,QAAQ,GACvBnB,cAAe,MACfsC,SAAU,YACV,QAAS,CACPC,YAAa3C,EAAMuB,QAAQ,GAC3BqB,aAAc,sBAqCPC,EA9BqB,SAAC,GAAuC,IAArCN,EAAoC,EAApCA,KAAMO,EAA8B,EAA9BA,SAAUC,EAAoB,EAApBA,KAAMC,EAAc,EAAdA,QACrDhC,EAAUlB,IAMhB,OACA,kBAACmD,EAAA,EAAD,CAAQ/C,SAAS,SAASkB,UAAWJ,EAAQoB,MAC3C,kBAACc,EAAA,EAAD,KACGX,EAAKY,KACN,kBAACjB,EAAA,EAAD,CAAYhB,QAAQ,KAAKE,UAAWJ,EAAQuB,KAAM5B,MAAM,WACrD4B,EAAKa,OAER,kBAACC,EAAA,EAAD,CAAMC,SAXW,SAACC,EAA8BC,GAClDR,EAAQQ,IAUwBC,MAAOV,GAClCD,GAAYY,OAAOC,KAAKb,GAAUc,KAAI,SAACC,GAAD,OACrC,kBAACC,EAAA,EAAD,CACEC,MAAOF,EACPV,KAAML,EAASe,GACfJ,MAAOI,EACPzC,UAAWJ,EAAQyB,IACnBuB,IAAKH,WCvDX/D,EAAYC,aAAW,SAAAC,GAAK,MAAK,CACrCiE,QAAS,CACP3C,QAAStB,EAAMuB,QAAQ,EAAG,EAAG,EAAG,GAChCqB,aAAc5C,EAAMuB,QAAQ,GAE5B,oBAAqB,CACnBiB,OAAQxC,EAAMuB,QAAQ,EAAG,EAAG,EAAG,SA2BtB2C,EAtB6B,SAAC,GAA0C,IAAxCC,EAAuC,EAAvCA,YAAapD,EAA0B,EAA1BA,SAA0B,IAAhBqD,aAAgB,MAAR,EAAQ,EAC9EpD,EAAUlB,KAEhBsE,GAAS,GACG,IAAGA,EAAQ,GAGvB,IAAMlD,EAAmB,IAAMkD,EAE/B,OACE,oCACE,kBAAClC,EAAA,EAAD,CAAYhB,QAASA,GAAUiD,GAC/B,kBAAChC,EAAA,EAAD,CAASjB,QAAQ,WACjB,kBAACgB,EAAA,EAAD,CAAYmC,UAAU,MAAMjD,UAAWJ,EAAQiD,SAC5ClD,K,0ECtBHuD,G,MAAcC,YAAe,CACjChE,QAAS,CACPoB,KAAM,OACNf,QAAS,CACP4D,KAAMC,IAAO,MAEfjE,UAAW,CACTgE,KAAME,IAAO,MAEflD,WAAY,CACVmD,QAAS,UACTC,MAAO,UACPC,WAAY,UACZpD,WAAY,UACZqD,WAAY,WAEdzC,KAAM,CACJzB,QAAS,UACTJ,UAAW,gCAcFuE,EARU,SAAC,GAAD,IAAGhE,EAAH,EAAGA,SAAH,OACvB,kBAACiE,EAAA,EAAD,CAAehF,MAAOsE,GACpB,kBAACW,EAAA,EAAD,MACClE,I,iBCtCCjB,EAAYC,aAAW,SAAAC,GAAK,MAAK,CACrCoC,KAAM,CACJZ,WAAYxB,EAAMO,QAAQiB,WAAWmD,QACrCrD,QAAStB,EAAMuB,QAAQ,GACvB2D,UAAW,OACXC,WAAY,YACZ7E,eAAgB,YAaL8E,EAT8B,SAAC,GAAkB,IAAhBC,EAAe,EAAfA,SACxCrE,EAAUlB,IAChB,OACE,kBAACmB,EAAA,EAAD,CAAOC,QAAQ,WAAWE,UAAWJ,EAAQoB,MAC1CiD,EAASzB,KAAI,SAAA0B,GAAI,OAAI,6BAAMA,Q,iBCD5BC,EAAiB,SAACC,GAAD,MAA2B,CAChDC,MAAO,IAAIC,OAAJ,UAAcF,EAAd,cAAqBA,EAArB,cAA4BA,IACnCG,OAAQ,IAAID,OAAJ,WAAeF,EAAf,aAAqBA,EAArB,aAA2BA,EAA3B,QAGJI,EAAmC,CACvCC,QAAS,CACPF,OAAQ,sBACRF,MAAO,wBAETK,QAAS,CACPH,OAAQ,yKACRF,MAAO,MAETM,MAAOR,EAAe,KACtBS,KAAMT,EAAe,UACrBU,OAAQV,EAAe,OACvBW,KAAMX,EAAe,KACrBY,cAAeZ,EAAe,OAG1Ba,EAAW,IAAIV,OAAOhC,OAAO2C,OAAOT,GAAOhC,KAAI,SAAA0C,GAAI,OAAIA,EAAKX,OAAOY,UAAQC,KAAK,MAEhFC,EAAqB,GAC3B/C,OAAOC,KAAK+C,OAAUC,SAAQ,SAAA/E,GAAI,OAAI6E,EAAUG,KAAK,CAAEhF,OAAMiF,KAAMH,MAAS9E,GAAMiF,UAClFC,QAAQC,IAAI,CAACN,cAEb,IAAM3G,EAAYC,aAAW,SAAAC,GAAK,MAAK,CACrCkG,KAAM,CACJ1E,WAAYxB,EAAMO,QAAQiB,WAAWmD,QACrCqC,aAAchH,EAAMuB,QAAQ,IAC5BD,QAAStB,EAAMuB,QAAQ,IACvB4D,WAAY,aAEd8B,MAAO,CACLC,SAAU,OACVC,UAAW,YAuCAC,EAnC4B,SAAC,GAAc,IAAZC,EAAW,EAAXA,KACtCrG,EAAUlB,IAChB,IAAKuH,EAAM,OAAO,KAElB,IAAMC,EAAe1B,EAAMC,QAAQJ,MAAM8B,KAAKF,GAC9C,GAAIC,EACF,MAAgB,MAAZD,EAAK,GAAmB,yBAAKG,IAAKF,EAAa,GAAIG,IAAKH,EAAa,GAAIlG,UAAWJ,EAAQiG,QACzF,kBAACS,EAAA,EAAD,CAAMC,KAAML,EAAa,IAAKA,EAAa,IAGpD,IAAMM,EAAaP,EAAKQ,MAAMjC,EAAMG,MAAMN,OAC1C,GAAImC,EAAY,CACd,IAAM7B,EAAQU,EAAUqB,MAAK,SAAA/B,GAAK,OAAIA,EAAMnE,OAASgG,EAAW,MAChE,OAAO,8BAAO7B,EAAQA,EAAMc,KAAOQ,GAGrC,IAAMU,EAAYV,EAAKQ,MAAMjC,EAAMM,KAAKT,OACxC,GAAIsC,EAAW,OAAO,0BAAM3G,UAAWJ,EAAQkF,MAAO6B,EAAU,IAEhE,IAAMC,EAAYX,EAAKQ,MAAMjC,EAAMI,KAAKP,OACxC,GAAIuC,EAAW,OAAO,2BAAIA,EAAU,IAEpC,IAAMC,EAAcZ,EAAKQ,MAAMjC,EAAMK,OAAOR,OAC5C,GAAIwC,EAAa,OAAO,2BAAIA,EAAY,IAExC,IAAMC,EAAqBb,EAAKQ,MAAMjC,EAAMO,cAAcV,OAC1D,OAAIyC,EAA2B,0BAAM/G,MAAO,CAACgH,eAAgB,iBAAmBD,EAAmB,IAE/Fb,EAAKQ,MAAMjC,EAAME,QAAQH,QAAgB,kBAAC+B,EAAA,EAAD,CAAMC,KAAMN,GAAOA,GAEzD,oCAAGA,IC9EGe,EAJmB,SAAC,GAAc,IAAZ9C,EAAW,EAAXA,KACnC,OAAO,oCAAGA,EAAK+C,MAAMjC,GAAUxC,KAAI,SAAAyD,GAAI,OAAI,kBAAC,EAAD,CAAeA,KAAMA,SCD5DiB,EAAmB,SAAChD,GACxB,OAAiC,OAA1BA,EAAKuC,MAAM,YAGdU,EAAoB,SAACjD,GACzB,OAAkC,OAA3BA,EAAKuC,MAAM,aA+DLW,EA5C4B,SAArCA,EAAsC,GAAkB,IAAhBnD,EAAe,EAAfA,SAC5C,IAAKA,EAASoD,OAAQ,OAAO,KAE7B,IAEIC,EAFEpD,EAAOD,EAASsD,OAAO,EAAG,GAAG,GAGnC,GAAIL,EAAiBhD,GAAO,CAC1B,IAAMsD,EAAavD,EAASwD,WAAU,SAAAvD,GAAI,OAAIgD,EAAiBhD,MACzDwD,EAAiBzD,EAASsD,OAAO,EAAGC,EAAa,GAAGG,MAAM,EAAGH,GACnEF,EAAS,kBAAC,EAAD,CAAWrD,SAAUyD,SACzB,GAAIP,EAAkBjD,GAAO,CAClC,IAAMsD,EAAavD,EAASwD,WAAU,SAAAvD,GAAI,OAAKiD,EAAkBjD,MAC3D0D,EAAkB3D,EAASsD,OAAO,EAAGC,GAAYG,MAAM,EAAGH,GAChEI,EAAgBC,QAAQ3D,GACxBoD,EAAS,4BAAKM,EAAgBpF,KAAI,SAAAsF,GAAE,OAAI,4BAAI,kBAAC,EAAD,CAAM5D,KAAM4D,EAAGH,MAAM,eAC5D,GAAKL,EA/BS,SAACpD,GACtB,IACMuC,EADQ,wBACMN,KAAKjC,GACzB,OAAOuC,EAAQA,EAAM,GAAK,GA4BLsB,CAAgB7D,GAAQ,CAC3C,IAAM8D,EAAMV,EACNE,EAAavD,EAASwD,WAAU,SAAAvD,GAAI,OA3BpB,SAACA,EAAc8D,GACvC,IAAMxD,EAAQ,IAAIF,OAAJ,YAAgB0D,EAAhB,WACd,OAA6B,OAAtB9D,EAAKuC,MAAMjC,GAyB8ByD,CAAmB/D,EAAM8D,MACjEE,EAAYjE,EAASsD,OAAO,EAAGC,EAAa,GAAGG,MAAM,EAAGH,GAC9DU,EAAUL,QAAQ3D,GAClBoD,EAAS,yBAAKa,wBAAyB,CAAEC,OAAQF,EAAU9C,KAAK,cAC3D,GAAgD,QAA3CkC,EA1BiB,SAACpD,GAE9B,OAAOA,EAAKuC,MADE,uBAyBO4B,CAAuBnE,IAAiB,CAC3D,IAAMuC,EAAQa,EAAO,GADsC,EAEnCpD,EAAK+C,MAAMR,GAFwB,mBAEpD6B,EAFoD,KAE5CC,EAF4C,KAG3D7C,QAAQC,IAAI,CAAEzB,OAAMuC,QAAO6B,SAAQC,UACnCjB,EACE,oCACE,kBAAC,EAAD,CAAMpD,KAAMoE,IACZ,yBAAKH,wBAAyB,CAAEC,OAAQ3B,KACxC,kBAAC,EAAD,CAAMvC,KAAMqE,UAIhBjB,EAAS,2BAAG,kBAAC,EAAD,CAAMpD,KAAMA,KAG1B,OACE,oCACIoD,EACF,kBAACF,EAAD,CAASnD,SAAUA,MC7DnBuE,EAAiB,SAACvI,GACtB,IAAKA,EAAQ,OAAO,EAEpB,IADA,IAAI+C,EAAQ,EACY,MAAlB/C,EAAO+C,IAAgBA,IAC7B,OAAOA,GAGHyF,EAAwC,SAAC,GAA6B,IAA3BxE,EAA0B,EAA1BA,SAA0B,IAAhBjB,aAAgB,MAAR,EAAQ,EAQnErD,EAPuBsE,EAASyE,QAAO,SAACC,EAAsBzE,GAKlE,OAJIA,IACEsE,EAAetE,KAAUlB,GAAO2F,EAASnD,KAAK,IAC9CmD,EAAStB,QAAQsB,EAASA,EAAStB,OAAS,GAAG7B,KAAKtB,IAEnDyE,IACN,IACmCnG,KAAI,SAAAoG,GAAY,OAAI,kBAAC,GAAD,CAAS3E,SAAU2E,EAAc5F,MAAOA,OAClG,OAAO,wCAAIrD,EAAJ,MAGHkJ,GAA+B,SAAC,GAA6B,IAA3B5E,EAA0B,EAA1BA,SAA0B,IAAhBjB,aAAgB,MAAR,EAAQ,EAC1D8F,EAAmB7E,EAASwD,WAAU,SAAAvD,GAAI,OAAIA,EAAKuC,MAAL,aAAiBzD,EAAQ,EAAzB,cAC9C+F,EAAa9E,EAASsD,OAAO,EAAIuB,EAAmB,EAAK7E,EAASoD,OAASyB,GAEjF,IAAK9F,EAAO,OAAO,kBAAC,EAAD,CAAkBiB,SAAUA,EAAUjB,MAAOwF,EAAevE,EAAS,MAExF,IAAMlB,EAAcgG,EAAWxB,OAAO,EAAG,GAAG,GAAGI,MAAM3E,GAAOgG,OACtDC,EAAcT,EAAevE,EAAS,IAC5C,OACE,kBAAC,EAAD,CAAgBlB,YAAaA,EAAaC,MAAOA,GAC/C,kBAAC,EAAD,CAASiB,SAAU8E,IACnB,kBAAC,EAAD,CAAkB9E,SAAUA,EAAUjB,MAAOiG,MAKpCJ,MCtBAK,GAZuB,SAAC,GAAmB,IAAjBC,EAAgB,EAAhBA,KAAMC,EAAU,EAAVA,IAAU,EACvBC,mBAAiBF,GAAQ,IADF,mBAChDG,EADgD,KACtCC,EADsC,KAQvD,OALAC,qBAAU,WACHJ,GAAKG,EAAYJ,GAAQ,MAC7B,CAACA,EAAMC,IAENA,GAAKK,IAAMC,IAAIN,GAAKO,MAAK,SAAAC,GAAQ,OAAIL,EAAYK,EAAST,SACvD,kBAAC,GAAD,CAASlF,SAAUqF,EAASrC,MAAM,S,oBCGrCvI,GAAYC,aAAW,SAAAC,GAAK,MAAK,CACrCiL,OAAQ,CACN3J,QAAStB,EAAMuB,QAAQ,IAEzB2J,YAAa,CACX/K,QAAS,OACTgL,eAAgB,SAChBC,UAAWpL,EAAMuB,QAAQ,QAKvB8J,GAAO,yBAAK7D,IAAKrE,KAAMpB,MAAM,OAAOF,OAAO,OAAO4F,IAAI,SAEtD6D,GAAiB,CACrBC,KAAM,KACN,SAAY,KACZ,cAAe,KACf,OAAU,KACV,eAAgB,MAGZC,GAAkC,CACtCD,KAAM,0EACN,SAAY,uEACZ,cAAe,0EAIXE,GAAuB,WAAO,IAAD,EACXhB,mBAAiB,IADN,mBAC1BD,EAD0B,KACrBkB,EADqB,KAE3BC,EAAUC,iBAAyB,MAMzC,OACE,oCACE,kBAAC,EAAD,CAAgBzH,YAAY,kCAAkCC,MAAO,GACnE,mMAIA,2BACE,kBAACyH,EAAA,EAAD,CACEC,WAAS,EACTC,SAAUJ,EACVzK,QAAQ,WACRP,MAAM,YACNoD,MAAM,kBAGV,kBAAC,IAAD,CAAQ7C,QAAQ,YAAYP,MAAM,YAAYqL,QApB7B,WAAa,IAAD,EACjCN,GAAO,UAAAC,EAAQM,eAAR,eAAiBxI,QAAS,MAmB7B,YAIF,kBAAC,GAAD,CAAU+G,IAAKA,MASf0B,GAA2C,SAAC,GAA4B,IAA1BC,EAAyB,EAAzBA,mBAC5CR,EAAUC,iBAAyB,MAMzC,OACE,oCACE,kBAAC,EAAD,CAAgBzH,YAAY,wBAAwBC,MAAO,GACzD,+HAGA,2BACE,kBAACyH,EAAA,EAAD,CACEC,WAAS,EACTM,WAAS,EACTL,SAAUJ,EACVzK,QAAQ,WACRP,MAAM,UACNoD,MAAM,WACNT,SAlBW,WAAa,IAAD,EAC/B6I,GAAmB,UAAAR,EAAQM,eAAR,eAAiBxI,QAAS,WAqGjD4I,IAASC,OAAO,mBA3EM,WACpB,IAAMtL,EAAUlB,KADU,EAEF2K,mBAAiB,QAFf,mBAEnB1H,EAFmB,KAEbC,EAFa,OAGoByH,mBAAiB,IAHrC,mBAGnB8B,EAHmB,KAGFJ,EAHE,KASpB3B,EAAMgB,GAAQzI,GACdyJ,EAAQ,OAAGhC,QAAH,IAAGA,OAAH,EAAGA,EAAKzB,MAAMyB,EAAIiC,YAAY,KAAO,GAC7CC,EAAO,CAAC,iCAAD,OACsBlC,EADtB,kBACmCgC,EADnC,mFAEX,oFACA,yDACA,oIACA,gCACA,MACA,uCACA,6CACA,6EACA,OACAhG,KAAK,MAEP,OACE,kBAAC,EAAD,KACE,kBAAC,EAAD,CACEjE,KAAM,CACJY,KAAMkI,GACNjI,MAAO,UAETN,SAAUwI,GACVvI,KAAMA,EACNC,QAASA,IAEX,kBAAC,EAAD,CAAQrB,KAAK,WACX,yBAAKP,UAAWJ,EAAQiK,QAEV,WAATlI,EACD,kBAAC,GAAD,MAEU,iBAATA,EACD,kBAAC,GAAD,CAAUwH,KAAMgC,GAAmB,wCAEnC,kBAAC,GAAD,CAAU/B,IAAKA,MAIrB,kBAAC,EAAD,CAAQ7I,KAAK,YAAYC,KAAK,mBAC5B,yBAAKR,UAAWJ,EAAQiK,QAEV,iBAATlI,EACD,kBAAC,GAAD,CAAiBoJ,mBAAoBA,IAErC,oCACE,kBAAC,GAAD,CAAU5B,KAAMmC,IAChB,uBAAGtL,UAAWJ,EAAQkK,aACpB,kBAAC,IAAD,CACEhK,QAAQ,YACRP,MAAM,UACNG,KAAK,QACLkL,QAxDY,WAC1BhJ,EAAQ,kBAmDI,2BAkBA,MAAS2J,SAASC,eAAe,W","file":"static/js/main.7792aefb.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/icon.8908a388.svg\";","import React from 'react';\n\nimport { Paper, makeStyles } from '@material-ui/core';\n\nimport { SurfaceSize, SurfacePosition } from './types';\n\n\ninterface PropTypes {\n size: SurfaceSize;\n position: SurfacePosition;\n}\n\n\nconst useStyles = makeStyles(theme => ({\n surface: {\n position: 'absolute',\n display: 'flex',\n flexDirection: 'column',\n overflowY: 'auto',\n scrollbarColor: `${theme.palette.secondary.dark} ${theme.palette.secondary.light}`,\n\n '& a.MuiTypography-root': {\n color: theme.palette.primary.light,\n },\n }\n}));\n\n\nconst WindowSurface: React.FC<PropTypes> = ({ size, position, children }) => {\n const classes = useStyles();\n\n return (\n <Paper\n variant=\"outlined\"\n style={{...size, ...position}}\n className={classes.surface}\n >\n {children}\n </Paper>\n )\n};\n\n\nexport default WindowSurface;\n","import React from 'react';\n\nimport { Typography, Divider, makeStyles } from '@material-ui/core';\n\nimport WindowSurface from './WindowSurface';\nimport { SurfaceSize, SurfacePosition } from './types';\n\n\ninterface PropTypes {\n type: 'primary' | 'secondary' | 'mono';\n name?: string;\n}\n\n\nconst useStyles = makeStyles(theme => ({\n header: {\n padding: theme.spacing(1, 0, 1, 2),\n background: theme.palette.background.elevation2,\n },\n}));\n\n\nconst Window: React.FC<PropTypes> = ({ type, name, children }) => {\n const classes = useStyles();\n\n const size: SurfaceSize = {\n height: '85vh',\n };\n\n const position: SurfacePosition = {\n bottom: '3vh',\n };\n\n if (type === 'primary') {\n size.width = '63vw';\n position.left = '2vw';\n } else if (type === 'secondary') {\n size.width = '31vw';\n position.right = '2vw';\n } else if (type === 'mono') {\n position.left = '2vw';\n position.right = '2vw';\n }\n\n return (\n <WindowSurface\n size={size}\n position={position}\n >\n {name &&\n <div>\n <Typography variant=\"h5\" className={classes.header}>{name}</Typography>\n <Divider />\n </div>\n }\n {children}\n </WindowSurface>\n );\n};\n\nexport default Window;\n","import React from 'react';\n\nimport {\n AppBar,\n Tabs,\n Tab,\n Typography,\n Toolbar,\n} from '@material-ui/core';\n\nimport { makeStyles } from '@material-ui/core/styles';\n\n\ninterface PropTypes {\n logo: {\n icon: React.ReactNode;\n title: string;\n };\n contents: {\n [key: string]: React.ReactNode | null;\n };\n page: string;\n setPage: (newPage: string) => void;\n}\n\nconst useStyles = makeStyles(theme => ({\n root: {\n background: theme.palette.background.elevation2,\n color: theme.palette.text.primary,\n paddingLeft: theme.spacing(3),\n },\n logo: {\n margin: theme.spacing(0, 3, 0, 1),\n },\n tab: {\n '& .MuiTab-wrapper': {\n padding: theme.spacing(2),\n flexDirection: 'row',\n fontSize: '0.8125rem',\n '& svg': {\n marginRight: theme.spacing(1),\n marginBottom: '0 !important',\n }\n }\n }\n}));\n\n\nconst Header: React.FC<PropTypes> = ({ logo, contents, page, setPage }) => {\n const classes = useStyles();\n\n const handleChange = (event: React.ChangeEvent<{}>, newPage: string): void => {\n setPage(newPage);\n };\n\n return (\n <AppBar position=\"sticky\" className={classes.root}>\n <Toolbar>\n {logo.icon}\n <Typography variant=\"h5\" className={classes.logo} color=\"primary\">\n {logo.title}\n </Typography>\n <Tabs onChange={handleChange} value={page}>\n {contents && Object.keys(contents).map((item: string) => (\n <Tab\n label={item}\n icon={contents[item] as JSX.Element}\n value={item}\n className={classes.tab}\n key={item}\n />\n ))}\n </Tabs>\n </Toolbar>\n </AppBar>\n );\n};\n\nexport default Header;\n","import React from 'react';\n\nimport {\n Typography,\n Divider,\n makeStyles\n} from '@material-ui/core';\n\n\ninterface PropTypes {\n sectionName: string;\n level?: number;\n}\n\nconst useStyles = makeStyles(theme => ({\n content: {\n padding: theme.spacing(2, 2, 1, 3),\n marginBottom: theme.spacing(1),\n\n '& .MuiButton-root': {\n margin: theme.spacing(1, 2, 2, 0),\n },\n },\n}));\n\nconst ContentSection: React.FC<PropTypes> = ({ sectionName, children, level = 0 }) => {\n const classes = useStyles();\n\n level += 2; // Make everything smaller\n if (level > 6) level = 6;\n\n type Variant = 'h3' | 'h4' | 'h5' | 'h6';\n const variant: Variant = 'h' + level as Variant;\n\n return (\n <>\n <Typography variant={variant}>{sectionName}</Typography>\n <Divider variant=\"middle\"/>\n <Typography component=\"div\" className={classes.content}>\n {children}\n </Typography>\n </>\n );\n\n};\n\n\nexport default ContentSection;\n","import React from 'react';\nimport orange from '@material-ui/core/colors/orange';\nimport purple from '@material-ui/core/colors/purple';\nimport { createMuiTheme, ThemeProvider } from '@material-ui/core/styles';\nimport { CssBaseline } from '@material-ui/core';\nimport 'typeface-roboto';\n\n\ndeclare module '@material-ui/core/styles/createPalette' {\n interface TypeBackground {\n elevation1: string;\n elevation2: string;\n elevation3: string;\n }\n}\n\n\nconst benzinTheme = createMuiTheme({\n palette: {\n type: 'dark',\n primary: {\n main: orange[400],\n },\n secondary: {\n main: purple[500],\n },\n background: {\n default: '#121212',\n paper: '#1e1e1e',\n elevation1: '#1e1e1e',\n elevation2: '#232323',\n elevation3: '#252525',\n },\n text: {\n primary: '#f4f4f4',\n secondary: 'rgba(255, 255, 255, 0.6)',\n }\n },\n});\n\n\nconst Benzin: React.FC = ({ children }) => (\n <ThemeProvider theme={benzinTheme}>\n <CssBaseline />\n {children}\n </ThemeProvider>\n);\n\n\nexport default Benzin;\n\n","import React from 'react';\nimport { ParserPropTypes } from './types';\nimport { Paper } from '@material-ui/core';\n\nimport { makeStyles } from '@material-ui/core/styles';\n\nconst useStyles = makeStyles(theme => ({\n root: {\n background: theme.palette.background.default,\n padding: theme.spacing(1),\n overflowX: 'auto',\n fontFamily: 'Monospace',\n scrollbarColor: 'auto'\n },\n}));\n\nconst CodeBlock: React.FC<ParserPropTypes> = ({ rawLines }) => {\n const classes = useStyles();\n return (\n <Paper variant=\"outlined\" className={classes.root}>\n {rawLines.map(line => <pre>{line}</pre>)}\n </Paper>\n );\n}\n\nexport default CodeBlock;\n\n","import React from 'react';\nimport { Link, makeStyles } from '@material-ui/core';\n\nimport { lib as emojiLib } from 'emojilib';\n\ninterface PropTypes {\n span: string;\n}\n\ninterface RegexPair {\n global: RegExp;\n local: RegExp;\n}\n\ninterface Emoji {\n name: string;\n char: string;\n}\n\nconst enclosureRegex = (e: string): RegexPair => ({\n local: new RegExp(`${e}([^${e}]+)${e}`),\n global: new RegExp(`(${e}[^${e}]+${e})`)\n});\n\nconst regex: Record<string, RegexPair> = {\n conceal: {\n global: /(!?\\[.+?\\]\\(.+?\\))/g,\n local: /!?\\[(.+?)\\]\\((.+?)\\)/\n },\n rawLink: {\n global: /((?:(?:[A-Za-z]{3,9}:(?:\\/\\/)?)(?:[-;:&=+$,\\w]+@)?[A-Za-z0-9.-]+|(?:www\\.|[-;:&=+$,\\w]+@)[A-Za-z0-9.-]+)(?:(?:\\/[+~%/.\\w-_]*)?\\??(?:[-+=&;%@.\\w_]*)#?(?:[.!/\\\\\\w]*))?)/,\n local: /&^/\n },\n emoji: enclosureRegex(':'),\n bold: enclosureRegex('\\\\*\\\\*'),\n italic: enclosureRegex('\\\\*'),\n code: enclosureRegex('`'),\n strikeThrough: enclosureRegex('~~'),\n}\n\nconst splitter = new RegExp(Object.values(regex).map(pair => pair.global.source).join('|'));\n\nconst emojiList: Emoji[] = [];\nObject.keys(emojiLib).forEach(name => emojiList.push({ name, char: emojiLib[name].char }));\nconsole.log({emojiList})\n\nconst useStyles = makeStyles(theme => ({\n code: {\n background: theme.palette.background.default,\n borderRadius: theme.spacing(.5),\n padding: theme.spacing(.5),\n fontFamily: 'Monospace',\n },\n image: {\n maxWidth: '100%',\n maxHeight: '100%'\n },\n}));\n\nconst SyntacticSpan: React.FC<PropTypes> = ({ span }) => {\n const classes = useStyles();\n if (!span) return null;\n\n const matchConceal = regex.conceal.local.exec(span);\n if (matchConceal) {\n if (span[0] === '!') return <img src={matchConceal[2]} alt={matchConceal[1]} className={classes.image} />;\n return <Link href={matchConceal[2]}>{matchConceal[1]}</Link>;\n }\n\n const matchEmoji = span.match(regex.emoji.local);\n if (matchEmoji) {\n const emoji = emojiList.find(emoji => emoji.name === matchEmoji[1]);\n return <span>{emoji ? emoji.char : span}</span>;\n }\n\n const matchCode = span.match(regex.code.local);\n if (matchCode) return <span className={classes.code}>{matchCode[1]}</span>;\n\n const matchBold = span.match(regex.bold.local);\n if (matchBold) return <b>{matchBold[1]}</b>;\n\n const matchItalic = span.match(regex.italic.local);\n if (matchItalic) return <i>{matchItalic[1]}</i>;\n\n const matchStrikeThrough = span.match(regex.strikeThrough.local);\n if (matchStrikeThrough) return <span style={{textDecoration: 'line-through' }}>{matchStrikeThrough[1]}</span>;\n\n if (span.match(regex.rawLink.global)) return <Link href={span}>{span}</Link>;\n\n return <>{span}</>;\n}\n\n\nexport { splitter };\nexport default SyntacticSpan;\n\n","import React from 'react';\nimport SyntacticSpan, { splitter } from './SyntacticSpan';\n\ninterface PropTypes {\n line: string;\n}\n\nconst Text: React.FC<PropTypes> = ({ line }) => {\n return <>{line.split(splitter).map(span => <SyntacticSpan span={span} />)}</>;\n}\n\nexport default Text;\n\n","import React from 'react';\n\nimport CodeBlock from './CodeBlock';\nimport Text from './Text';\nimport { ParserPropTypes } from './types';\n\n\nconst denotesCodeBlock = (line: string): boolean => {\n return line.match(/^```.*$/) !== null;\n}\n\nconst denotesDottedList = (line: string): boolean => {\n return line.match(/^ ?- .*$/) !== null;\n}\n\nconst denotesOpenHtml= (line: string): string => {\n const regex = /<([^/\\s]*)[^<]*[^/]>/g;\n const match = regex.exec(line);\n return match ? match[1] : '';\n}\n\nconst denotesClosingHtml= (line: string, tag: string): boolean => {\n const regex = new RegExp(`</${tag}[^<]*>`);\n return line.match(regex) !== null;\n}\n\nconst denotesSelfClosingHtml = (line: string): string[] | null => {\n const regex = /(<[^/\\s]*[^<]*\\/>)/g;\n return line.match(regex);\n}\n\nconst Content: React.FC<ParserPropTypes> = ({ rawLines }) => {\n if (!rawLines.length) return null;\n\n const line = rawLines.splice(0, 1)[0];\n\n let buffer;\n if (denotesCodeBlock(line)) {\n const closeIndex = rawLines.findIndex(line => denotesCodeBlock(line));\n const codeBlockLines = rawLines.splice(0, closeIndex + 1).slice(0, closeIndex);\n buffer = <CodeBlock rawLines={codeBlockLines} />\n } else if (denotesDottedList(line)) {\n const closeIndex = rawLines.findIndex(line => !denotesDottedList(line));\n const dottedListLines = rawLines.splice(0, closeIndex).slice(0, closeIndex);\n dottedListLines.unshift(line);\n buffer = <ul>{dottedListLines.map(li => <li><Text line={li.slice(2)} /></li>)}</ul>;\n } else if ((buffer = denotesOpenHtml(line))) {\n const tag = buffer;\n const closeIndex = rawLines.findIndex(line => denotesClosingHtml(line, tag));\n const htmlLines = rawLines.splice(0, closeIndex + 1).slice(0, closeIndex);\n htmlLines.unshift(line);\n buffer = <div dangerouslySetInnerHTML={{ __html: htmlLines.join('\\n') }}></div>;\n } else if ((buffer = denotesSelfClosingHtml(line)) !== null) {\n const match = buffer[0];\n const [before, after] = line.split(match);\n console.log({ line, match, before, after});\n buffer = (\n <>\n <Text line={before} />\n <div dangerouslySetInnerHTML={{ __html: match }}></div>\n <Text line={after} />\n </>\n );\n } else {\n buffer = <p><Text line={line} /></p>\n }\n\n return (\n <>\n { buffer }\n <Content rawLines={rawLines} />\n </>\n );\n}\n\nexport default Content;\n\n","import React from 'react';\nimport ContentSection from '../ContentSection/ContentSection';\nimport Content from './Content';\nimport { ParserPropTypes } from './types';\n\ninterface PropTypes extends ParserPropTypes {\n level?: number;\n}\n\nconst getHeaderLevel = (header: string): number => {\n if (!header) return 0;\n let level = 0;\n while(header[level] === '#') level++;\n return level;\n}\n\nconst ChildrenSections: React.FC<PropTypes> = ({ rawLines, level = 0 }) => {\n const childrenSectionLines = rawLines.reduce((sections: string[][], line: string) => {\n if (line) {\n if (getHeaderLevel(line) === level) sections.push([]);\n if (sections.length) sections[sections.length - 1].push(line);\n }\n return sections;\n }, []);\n const children = childrenSectionLines.map(sectionLines => <Section rawLines={sectionLines} level={level}/>);\n return <> {children} </>;\n}\n\nconst Section: React.FC<PropTypes> = ({ rawLines, level = 0 }) => {\n const deeperLevelIndex = rawLines.findIndex(line => line.match(`^#{${level + 1},} .*$`));\n const rawContent = rawLines.splice(0, (deeperLevelIndex < 0) ? rawLines.length : deeperLevelIndex);\n\n if (!level) return <ChildrenSections rawLines={rawLines} level={getHeaderLevel(rawLines[0])}/>;\n\n const sectionName = rawContent.splice(0, 1)[0].slice(level).trim();\n const deeperLevel = getHeaderLevel(rawLines[0]);\n return (\n <ContentSection sectionName={sectionName} level={level}>\n <Content rawLines={rawContent} />\n <ChildrenSections rawLines={rawLines} level={deeperLevel} />\n </ContentSection>\n );\n}\n\nexport default Section;\n\n","import React, { useState, useEffect } from 'react';\nimport axios from 'axios';\n\nimport Section from './Section';\n\ninterface PropTypes {\n data?: string;\n url?: string;\n}\n\nconst Markdown: React.FC<PropTypes> = ({ data, url }) => {\n const [markdown, setMarkdown] = useState<string>(data || '');\n\n useEffect(() => {\n if (!url) setMarkdown(data || '');\n }, [data, url]);\n\n if (url) axios.get(url).then(response => setMarkdown(response.data));\n return <Section rawLines={markdown.split('\\n')} />\n};\n\n\nexport default Markdown;\n\n","import React, { useState, useRef } from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { makeStyles, TextField, Button } from '@material-ui/core';\n\nimport {\n Benzin,\n Header,\n Window,\n Markdown,\n ContentSection,\n} from './lib';\n\nimport icon from './assets/icon.svg';\n\ninterface RenderPropTypes {\n index: number;\n style: React.CSSProperties;\n}\n\n\nconst useStyles = makeStyles(theme => ({\n window: {\n padding: theme.spacing(4),\n },\n promoButton: {\n display: 'flex',\n justifyContent: 'center',\n marginTop: theme.spacing(4),\n }\n}));\n\n\nconst Icon = <img src={icon} width=\"32px\" height=\"37px\" alt=\"logo\"/>\n\nconst headerContents = {\n home: null,\n 'spacevim': null,\n 'material-ui': null,\n 'custom': null,\n 'live preview': null,\n};\n\nconst pageMap: Record<string, string> = {\n home: 'https://raw.githubusercontent.com/eug-vs/react-benzin/develop/README.md',\n 'spacevim': 'https://raw.githubusercontent.com/spacevim/spacevim/master/README.md',\n 'material-ui': 'https://raw.githubusercontent.com/mui-org/material-ui/master/README.md',\n};\n\n\nconst CustomPage: React.FC = () => {\n const [url, setUrl] = useState<string>('');\n const inputEl = useRef<HTMLInputElement>(null);\n\n const handleParseUrl = (): void => {\n setUrl(inputEl.current?.value || '');\n }\n\n return (\n <>\n <ContentSection sectionName=\"Render custom markdown document\" level={2} >\n <p>\n This should be a link to a valid markdown file. Response should give the file contents.\n If you copy README file from GitHub, make sure you provide link to raw view.\n </p>\n <p>\n <TextField\n fullWidth\n inputRef={inputEl}\n variant=\"outlined\"\n color=\"secondary\"\n label=\"Markdown url\"\n />\n </p>\n <Button variant=\"contained\" color=\"secondary\" onClick={handleParseUrl} >\n Render!\n </Button>\n </ContentSection>\n <Markdown url={url} />\n </>\n );\n}\n\ninterface LivePropTypes {\n setLivePreviewData: (livePreviewData: string) => void;\n}\n\nconst LivePreviewPage: React.FC<LivePropTypes> = ({ setLivePreviewData }) => {\n const inputEl = useRef<HTMLInputElement>(null);\n\n const handleRender = (): void => {\n setLivePreviewData(inputEl.current?.value || '');\n }\n\n return (\n <>\n <ContentSection sectionName=\"Markdown live preview\" level={2} >\n <p>\n Start typing and see your text rendered on the left window! We recommend starting with # Header.\n </p>\n <p>\n <TextField\n fullWidth\n multiline\n inputRef={inputEl}\n variant=\"outlined\"\n color=\"primary\"\n label=\"Markdown\"\n onChange={handleRender}\n />\n </p>\n </ContentSection>\n </>\n )\n}\n\n\nconst App: React.FC = () => {\n const classes = useStyles();\n const [page, setPage] = useState<string>('home');\n const [livePreviewData, setLivePreviewData] = useState<string>('');\n\n const handleGoLivePreview = (): void => {\n setPage('live preview');\n }\n\n const url = pageMap[page];\n const fileName = url?.slice(url.lastIndexOf('/') + 1);\n const info = [\n `## Markdown\\n [Markdown file](${url}) *(...${fileName})* that you can see on the left was parsed and rendered by **BENZIN**! :rocket:`,\n 'Switch between tabs on the header to explore other markdown templates. :recycle: ',\n 'Currently **only core features** of markdown function.',\n 'Templates on the left are being loaded from the [GitHub](https://github.com), though this pane is generated from plaintext. :pen:',\n '## How do I use this feature?',\n '```',\n 'import Markdown from \\'react-benzin\\';',\n 'const data = \\'# Header\\\\nHello, *world!*\\';',\n 'ReactDOM.render(<Markdown data={data}/>, document.getElementById(\\'root\\'));',\n '```',\n ].join('\\n');\n\n return (\n <Benzin>\n <Header\n logo={{\n icon: Icon,\n title: 'BENZIN',\n }}\n contents={headerContents}\n page={page}\n setPage={setPage}\n />\n <Window type=\"primary\">\n <div className={classes.window}>\n {\n (page === 'custom') ?\n <CustomPage />\n :\n (page === 'live preview') ?\n <Markdown data={livePreviewData || '# Start typing in the right window!'} />\n :\n <Markdown url={url} />\n }\n </div>\n </Window>\n <Window type=\"secondary\" name=\"Feature preview\">\n <div className={classes.window}>\n {\n (page === 'live preview') ?\n <LivePreviewPage setLivePreviewData={setLivePreviewData} />\n :\n <>\n <Markdown data={info} />\n <p className={classes.promoButton}>\n <Button\n variant=\"contained\"\n color=\"primary\"\n size=\"large\"\n onClick={handleGoLivePreview}\n >\n Try it yourself!\n </Button>\n </p>\n </>\n }\n </div>\n </Window>\n </Benzin>\n );\n};\n\n\nReactDOM.render(<App />, document.getElementById('root'));\n\n"],"sourceRoot":""}
\ No newline at end of file |