{"version":3,"file":"js/9949-57d316dd37a71d847603.chunk.js","mappings":"yKAOe,MAAMA,EACnBC,YAAYC,GAEVC,KAAKC,GAAKF,EAAQE,GAClBD,KAAKE,OAASF,KAAKC,GAAGE,QAEtBH,KAAKI,WACP,CAEAC,YAAYN,GACV,OAAO,OAASA,EAAS,CACvBO,SAAU,EACVC,QAAQ,GAEZ,CAEAC,kBACE,GAA4C,SAAxCR,KAAKC,GAAGQ,aAAa,eACvB,OAEAT,KAAKC,GAAGS,aAAa,cAAe,QAGtC,MAAMC,QAAa,QAASX,KAAKE,OAAOU,MAAMC,OAE9Cb,KAAKW,KAAOA,EACZX,KAAKW,KAAKG,MAAQd,KAAKW,KAAKG,MAAMC,MAAM,EAAGf,KAAKE,OAAOI,UACvDN,KAAKgB,gBACP,CAEAC,aACEjB,KAAKC,GAAGiB,QAAQ,gBAAgBC,MAAMC,QAAU,MAClD,CAEAJ,iBACE,GAC6B,IAA3BhB,KAAKW,KAAKG,MAAMO,QACY,IAA3BrB,KAAKW,KAAKG,MAAMO,QACfrB,KAAKW,KAAKG,MAAM,GAAGQ,KAAOtB,KAAKE,OAAOqB,OAGxC,YADAvB,KAAKiB,aAIP,MAAMO,EAAY,GAElBxB,KAAKW,KAAKG,MAAMW,SAASC,IACvBA,EAAKC,WAAaD,EAAKJ,MAAQtB,KAAKE,OAAOqB,OAE3CC,EAAUI,KAAK,IAASF,GAAM,IAGhC1B,KAAKC,GAAG4B,UAAYL,EAAUM,KAAK,GACrC,CAEAC,SAAU,E,iBC9DZ,IAAIC,EAAI,EAAQ,MAChBC,EAAOC,QAAU,WAAa,IAAIC,EAAI,IAAIH,EAAEI,SAAS,CAACC,KAAM,SAAUC,EAAEC,EAAEC,GAAK,IAAIC,EAAEzC,KAAmpB,OAA9oByC,EAAEC,EAAEF,EAAEA,GAAG,IAAIC,EAAEC,EAAE,mBAAuBD,EAAEE,EAAEF,EAAEG,EAAE,aAAaN,EAAEC,EAAE,GAAGD,EAAEC,EAAE,EAAE,GAAG,GAAG,WAAUE,EAAEI,GAAGP,EAAEC,GAAE,SAASD,EAAEC,EAAEE,GAAGA,EAAEC,EAAE,sBAAuB,IAAGJ,EAAEQ,OAAOL,EAAEC,EAAE,MAAOD,EAAEC,EAAE,KAAOF,GAAGC,EAAEC,EAAE,eAAgBD,EAAEC,EAAED,EAAEM,EAAEN,EAAEG,EAAE,MAAMN,EAAEC,EAAE,KAAKE,EAAEC,EAAE,4BAA+BD,EAAEC,EAAE,KAAOF,GAAMC,EAAEE,EAAEF,EAAEG,EAAE,cAAcN,EAAEC,EAAE,GAAGD,EAAEC,EAAE,EAAE,IAAI,IAAI,WAAUE,EAAEI,GAAGP,EAAEC,GAAE,SAASD,EAAEC,EAAEE,GAAGA,EAAEC,EAAE,gEAAmED,EAAEC,EAAED,EAAEM,EAAEN,EAAEG,EAAE,cAAcN,EAAEC,EAAE,KAAKE,EAAEC,EAAE,aAAcD,EAAEC,EAAE,KAAOF,EAAG,IAAGF,EAAEQ,OAAOL,EAAEC,EAAE,kCAAoCD,EAAEC,EAAED,EAAEM,EAAEN,EAAEG,EAAE,QAAQN,EAAEC,EAAE,KAAKE,EAAEC,EAAE,UAAUD,EAAEC,EAAE,KAAOF,GAAGC,EAAEC,EAAE,UAAUD,EAAEC,EAAE,KAAOF,GAAGC,EAAEC,EAAE,SAASD,EAAEC,EAAE,MAAaD,EAAEO,IAAM,EAAEC,SAAU,CAAC,EAAGC,KAAM,CAAG,GAAI,+SAA4TlB,GAAG,OAAOG,EAAEJ,OAAOoB,MAAMhB,EAAGiB,UAAY,C","sources":["webpack://endrun/./app/javascript/app/table-of-contents/table-of-contents.js","webpack://endrun/./app/javascript/app/table-of-contents/post-item.mustache"],"sourcesContent":["// packages\nimport defaults from 'underscore/modules/defaults.js';\n\n// local\nimport http from '$shared/http.js';\nimport template from './post-item.mustache';\n\nexport default class TableOfContents {\n constructor(options) {\n /** @type {HTMLElement} */\n this.el = options.el;\n this.config = this.el.dataset;\n\n this.fetchData();\n }\n\n setDefaults(options) {\n return defaults(options, {\n maxPosts: 3,\n loaded: false,\n });\n }\n\n async fetchData() {\n if (this.el.getAttribute('data-loaded') === 'true') {\n return;\n } else {\n this.el.setAttribute('data-loaded', 'true');\n }\n\n const data = await http.get(this.config.path).json();\n\n this.data = data;\n this.data.posts = this.data.posts.slice(0, this.config.maxPosts);\n this.renderTemplate();\n }\n\n hideChrome() {\n this.el.closest('.sidebar-toc').style.display = 'none';\n }\n\n renderTemplate() {\n if (\n this.data.posts.length === 0 ||\n (this.data.posts.length === 1 &&\n this.data.posts[0].id === this.config.postId)\n ) {\n this.hideChrome();\n return;\n }\n\n const listItems = [];\n\n this.data.posts.forEach((post) => {\n post.is_current = post.id === +this.config.postId;\n\n listItems.push(template(post));\n });\n\n this.el.innerHTML = listItems.join('');\n }\n\n render() {}\n}\n","var H = require(\"hogan.js\");\nmodule.exports = function() { var T = new H.Template({code: function (c,p,i) { var t=this;t.b(i=i||\"\");t.b(\"