{"version":3,"sources":["https://lively-kernel.org/lively4/lively4-markus/src/external/event-drops/bounds.js"],"names":["config","xScale","selection","margin","bound","format","dateFormat","label","width","labelWidth","line","height","lineHeight","bounds","selectAll","data","d","numberRows","length","exit","remove","boundTextGroup","enter","filter","_","i","append","classed","attr","top","text","domain","range","right"],"mappings":";;;;;;;;;+BAAe,CAACA,MAAD,EAASC,MAAT,KAAoBC,aAAa;AAC5C,sBAAM;AACFC,0BADE;AAEFC,2BAAO,EAAEC,QAAQC,UAAV,EAFL;AAGFC,2BAAO,EAAEC,OAAOC,UAAT,EAHL;AAIFC,0BAAM,EAAEC,QAAQC,UAAV;AAJJ,oBAKFZ,MALJ;;AAOA,sBAAMa,SAASX,UAAUY,SAAV,CAAoB,QAApB,EAA8BC,IAA9B,CAAmCC,KAAKA,CAAxC,CAAf;AACA,sBAAMC,aAAaf,UAAUa,IAAV,GAAiB,CAAjB,EAAoBG,MAAvC;;AAEAL,uBAAOM,IAAP,GAAcC,MAAd;;AAEA,sBAAMC,iBAAiBR,OAClBS,KADkB,GAElBC,MAFkB,CAEX,CAACC,CAAD,EAAIC,CAAJ,KAAU,CAACA,CAFA,EAGlBC,MAHkB,CAGX,GAHW,EAIlBC,OAJkB,CAIV,OAJU,EAID,IAJC,EAKlBC,IALkB,CAMf,WANe,EAOd,aAAYnB,UAAW,KAAIG,aAAaK,UAAb,GAA0Bd,OAAO0B,GAAI,GAPlD,CAAvB;;AAUAR,+BACKK,MADL,CACY,MADZ,EAEKC,OAFL,CAEa,OAFb,EAEsB,IAFtB,EAGKG,IAHL,CAGUxB,WAAWL,OAAO8B,MAAP,GAAgB,CAAhB,CAAX,CAHV;;AAKAV,+BACKK,MADL,CACY,MADZ,EAEKC,OAFL,CAEa,KAFb,EAEoB,IAFpB,EAGKC,IAHL,CAGU,GAHV,EAGe3B,OAAO+B,KAAP,GAAe,CAAf,IAAoB7B,OAAO8B,KAH1C,EAIKL,IAJL,CAIU,aAJV,EAIyB,KAJzB,EAKKE,IALL,CAKUxB,WAAWL,OAAO8B,MAAP,GAAgB,CAAhB,CAAX,CALV;;AAOAlB,uBAAOC,SAAP,CAAiB,mBAAjB,EAAsCgB,IAAtC,CAA2CxB,WAAWL,OAAO8B,MAAP,GAAgB,CAAhB,CAAX,CAA3C;AACAlB,uBAAOC,SAAP,CAAiB,iBAAjB,EAAoCgB,IAApC,CAAyCxB,WAAWL,OAAO8B,MAAP,GAAgB,CAAhB,CAAX,CAAzC;AACH,a","file":"bounds.js","sourcesContent":["export default (config, xScale) => selection => {\n    const {\n        margin,\n        bound: { format: dateFormat },\n        label: { width: labelWidth },\n        line: { height: lineHeight },\n    } = config;\n\n    const bounds = selection.selectAll('.bound').data(d => d);\n    const numberRows = selection.data()[0].length;\n\n    bounds.exit().remove();\n\n    const boundTextGroup = bounds\n        .enter()\n        .filter((_, i) => !i)\n        .append('g')\n        .classed('bound', true)\n        .attr(\n            'transform',\n            `translate(${labelWidth}, ${lineHeight * numberRows + margin.top})`\n        );\n\n    boundTextGroup\n        .append('text')\n        .classed('start', true)\n        .text(dateFormat(xScale.domain()[0]));\n\n    boundTextGroup\n        .append('text')\n        .classed('end', true)\n        .attr('x', xScale.range()[1] - margin.right)\n        .attr('text-anchor', 'end')\n        .text(dateFormat(xScale.domain()[1]));\n\n    bounds.selectAll('.bound text.start').text(dateFormat(xScale.domain()[0]));\n    bounds.selectAll('.bound text.end').text(dateFormat(xScale.domain()[1]));\n};\n"]}