@undp/data-viz 2.1.0 → 2.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/dist/AreaChart.js +3 -3
  2. package/dist/BarGraph.cjs +1 -1
  3. package/dist/BarGraph.cjs.map +1 -1
  4. package/dist/BarGraph.js +1760 -1604
  5. package/dist/BarGraph.js.map +1 -1
  6. package/dist/BeeSwarmChart.js +2 -2
  7. package/dist/BiVariateChoroplethMap.cjs +1 -1
  8. package/dist/BiVariateChoroplethMap.cjs.map +1 -1
  9. package/dist/BiVariateChoroplethMap.js +222 -207
  10. package/dist/BiVariateChoroplethMap.js.map +1 -1
  11. package/dist/BulletChart.cjs +1 -1
  12. package/dist/BulletChart.cjs.map +1 -1
  13. package/dist/BulletChart.d.ts +11 -0
  14. package/dist/BulletChart.js +726 -640
  15. package/dist/BulletChart.js.map +1 -1
  16. package/dist/ButterflyChart.cjs +1 -1
  17. package/dist/ButterflyChart.cjs.map +1 -1
  18. package/dist/ButterflyChart.js +366 -348
  19. package/dist/ButterflyChart.js.map +1 -1
  20. package/dist/ChoroplethMap.cjs +1 -1
  21. package/dist/ChoroplethMap.cjs.map +1 -1
  22. package/dist/ChoroplethMap.js +311 -297
  23. package/dist/ChoroplethMap.js.map +1 -1
  24. package/dist/CirclePackingGraph.js +1 -1
  25. package/dist/DifferenceLineChart.js +3 -3
  26. package/dist/DotDensityMap.cjs +1 -1
  27. package/dist/DotDensityMap.cjs.map +1 -1
  28. package/dist/DotDensityMap.js +219 -203
  29. package/dist/DotDensityMap.js.map +1 -1
  30. package/dist/DualAxisLineChart.js +3 -3
  31. package/dist/DumbbellChart.cjs +1 -1
  32. package/dist/DumbbellChart.cjs.map +1 -1
  33. package/dist/DumbbellChart.js +606 -556
  34. package/dist/DumbbellChart.js.map +1 -1
  35. package/dist/GraphEl-YKUlz-37.cjs +2 -0
  36. package/dist/GraphEl-YKUlz-37.cjs.map +1 -0
  37. package/dist/{GraphEl-ebgfxefq.js → GraphEl-sVZvlyWe.js} +3 -2
  38. package/dist/GraphEl-sVZvlyWe.js.map +1 -0
  39. package/dist/GriddedGraphs.cjs +1 -1
  40. package/dist/GriddedGraphs.js +2 -2
  41. package/dist/HeatMap.js +4 -4
  42. package/dist/Histogram.js +3 -3
  43. package/dist/HybridMap.cjs +1 -1
  44. package/dist/HybridMap.cjs.map +1 -1
  45. package/dist/HybridMap.js +357 -342
  46. package/dist/HybridMap.js.map +1 -1
  47. package/dist/LineChartWithConfidenceInterval.js +3 -3
  48. package/dist/MultiLineAltChart.cjs +1 -1
  49. package/dist/MultiLineAltChart.cjs.map +1 -1
  50. package/dist/MultiLineAltChart.js +453 -425
  51. package/dist/MultiLineAltChart.js.map +1 -1
  52. package/dist/MultiLineChart.js +3 -3
  53. package/dist/ParetoChart.js +2 -2
  54. package/dist/RadarChart.js +1 -1
  55. package/dist/ScatterPlot.cjs +1 -1
  56. package/dist/ScatterPlot.cjs.map +1 -1
  57. package/dist/ScatterPlot.js +471 -452
  58. package/dist/ScatterPlot.js.map +1 -1
  59. package/dist/SimpleLineChart.js +3 -3
  60. package/dist/SingleGraphDashboard.cjs +1 -1
  61. package/dist/SingleGraphDashboard.js +2 -2
  62. package/dist/SingleGraphDashboardThreeDGraphs.cjs +1 -1
  63. package/dist/SingleGraphDashboardThreeDGraphs.js +1 -1
  64. package/dist/SlopeChart.js +1 -1
  65. package/dist/SparkLine.js +3 -3
  66. package/dist/StripChart.js +1 -1
  67. package/dist/ThreeDGlobe.js +2 -2
  68. package/dist/Types.d.ts +1 -0
  69. package/dist/{band-CyHaVft5.js → band-DHUZ2X7J.js} +3 -3
  70. package/dist/{band-CyHaVft5.js.map → band-DHUZ2X7J.js.map} +1 -1
  71. package/dist/ensureCompleteData-DS7gCvVd.js +122 -0
  72. package/dist/ensureCompleteData-DS7gCvVd.js.map +1 -0
  73. package/dist/ensureCompleteData-Oib-vGb0.cjs +2 -0
  74. package/dist/ensureCompleteData-Oib-vGb0.cjs.map +1 -0
  75. package/dist/getSchema.cjs +1 -1
  76. package/dist/getSchema.cjs.map +1 -1
  77. package/dist/getSchema.js +15 -15
  78. package/dist/getSchema.js.map +1 -1
  79. package/dist/{index-BBV4tAeA.js → index-DPGq3eIL.js} +2 -2
  80. package/dist/{index-BBV4tAeA.js.map → index-DPGq3eIL.js.map} +1 -1
  81. package/dist/index.cjs +1 -1
  82. package/dist/index.d.ts +3 -0
  83. package/dist/index.js +3 -3
  84. package/dist/{init-BJFW6EwE.js → init-BhZylTFx.js} +3 -3
  85. package/dist/{init-BJFW6EwE.js.map → init-BhZylTFx.js.map} +1 -1
  86. package/dist/{linear-BwnDd9KF.js → linear-BqltdMeF.js} +2 -2
  87. package/dist/{linear-BwnDd9KF.js.map → linear-BqltdMeF.js.map} +1 -1
  88. package/dist/{ordinal-P77xw8aL.js → ordinal-BJ6O_LC5.js} +2 -2
  89. package/dist/{ordinal-P77xw8aL.js.map → ordinal-BJ6O_LC5.js.map} +1 -1
  90. package/dist/{pow-DE4c7dbW.js → pow-CM2aze4M.js} +3 -3
  91. package/dist/{pow-DE4c7dbW.js.map → pow-CM2aze4M.js.map} +1 -1
  92. package/dist/{threshold-Bgr20hik.js → threshold-DFfqcDMa.js} +2 -2
  93. package/dist/{threshold-Bgr20hik.js.map → threshold-DFfqcDMa.js.map} +1 -1
  94. package/dist/{time-DCCfQk3V.js → time-BUL-dwnK.js} +3 -3
  95. package/dist/{time-DCCfQk3V.js.map → time-BUL-dwnK.js.map} +1 -1
  96. package/dist/transformData.cjs +1 -1
  97. package/dist/transformData.js +2 -2
  98. package/dist/transformDataForAggregation-CYoB5Xsk.cjs +2 -0
  99. package/dist/transformDataForAggregation-CYoB5Xsk.cjs.map +1 -0
  100. package/dist/{transformDataForAggregation-DEU__LUl.js → transformDataForAggregation-j34UL73s.js} +14 -10
  101. package/dist/transformDataForAggregation-j34UL73s.js.map +1 -0
  102. package/dist/{transformDataForGraphFromFile-CzepNVGZ.cjs → transformDataForGraphFromFile-CuXxR8uA.cjs} +2 -2
  103. package/dist/{transformDataForGraphFromFile-CzepNVGZ.cjs.map → transformDataForGraphFromFile-CuXxR8uA.cjs.map} +1 -1
  104. package/dist/{transformDataForGraphFromFile-CSG24iF6.js → transformDataForGraphFromFile-DyP-83Nh.js} +2 -2
  105. package/dist/{transformDataForGraphFromFile-CSG24iF6.js.map → transformDataForGraphFromFile-DyP-83Nh.js.map} +1 -1
  106. package/package.json +4 -4
  107. package/dist/GraphEl-B16EYkko.cjs +0 -2
  108. package/dist/GraphEl-B16EYkko.cjs.map +0 -1
  109. package/dist/GraphEl-ebgfxefq.js.map +0 -1
  110. package/dist/ensureCompleteData-DNKEGRiP.js +0 -102
  111. package/dist/ensureCompleteData-DNKEGRiP.js.map +0 -1
  112. package/dist/ensureCompleteData-I6nYmT8E.cjs +0 -2
  113. package/dist/ensureCompleteData-I6nYmT8E.cjs.map +0 -1
  114. package/dist/sort-BIvMlUH1.js +0 -34
  115. package/dist/sort-BIvMlUH1.js.map +0 -1
  116. package/dist/sort-O96oMZLb.cjs +0 -2
  117. package/dist/sort-O96oMZLb.cjs.map +0 -1
  118. package/dist/transformDataForAggregation-DEU__LUl.js.map +0 -1
  119. package/dist/transformDataForAggregation-XNg0OGYE.cjs +0 -2
  120. package/dist/transformDataForAggregation-XNg0OGYE.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"time-DCCfQk3V.js","sources":["../node_modules/d3-scale/src/nice.js","../node_modules/d3-time/src/interval.js","../node_modules/d3-time/src/millisecond.js","../node_modules/d3-time/src/duration.js","../node_modules/d3-time/src/second.js","../node_modules/d3-time/src/minute.js","../node_modules/d3-time/src/hour.js","../node_modules/d3-time/src/day.js","../node_modules/d3-time/src/week.js","../node_modules/d3-time/src/month.js","../node_modules/d3-time/src/year.js","../node_modules/d3-time/src/ticks.js","../node_modules/d3-time-format/src/locale.js","../node_modules/d3-time-format/src/defaultLocale.js","../node_modules/d3-scale/src/time.js"],"sourcesContent":["export default function nice(domain, interval) {\n domain = domain.slice();\n\n var i0 = 0,\n i1 = domain.length - 1,\n x0 = domain[i0],\n x1 = domain[i1],\n t;\n\n if (x1 < x0) {\n t = i0, i0 = i1, i1 = t;\n t = x0, x0 = x1, x1 = t;\n }\n\n domain[i0] = interval.floor(x0);\n domain[i1] = interval.ceil(x1);\n return domain;\n}\n","const t0 = new Date, t1 = new Date;\n\nexport function timeInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = arguments.length === 0 ? new Date : new Date(+date)), date;\n }\n\n interval.floor = (date) => {\n return floori(date = new Date(+date)), date;\n };\n\n interval.ceil = (date) => {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = (date) => {\n const d0 = interval(date), d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = (date, step) => {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = (start, stop, step) => {\n const range = [];\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n let previous;\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = (test) => {\n return timeInterval((date) => {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, (date, step) => {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = (start, end) => {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = (step) => {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? (d) => field(d) % step === 0\n : (d) => interval.count(0, d) % step === 0);\n };\n }\n\n return interval;\n}\n","import {timeInterval} from \"./interval.js\";\n\nexport const millisecond = timeInterval(() => {\n // noop\n}, (date, step) => {\n date.setTime(+date + step);\n}, (start, end) => {\n return end - start;\n});\n\n// An optimized implementation for this simple case.\nmillisecond.every = (k) => {\n k = Math.floor(k);\n if (!isFinite(k) || !(k > 0)) return null;\n if (!(k > 1)) return millisecond;\n return timeInterval((date) => {\n date.setTime(Math.floor(date / k) * k);\n }, (date, step) => {\n date.setTime(+date + step * k);\n }, (start, end) => {\n return (end - start) / k;\n });\n};\n\nexport const milliseconds = millisecond.range;\n","export const durationSecond = 1000;\nexport const durationMinute = durationSecond * 60;\nexport const durationHour = durationMinute * 60;\nexport const durationDay = durationHour * 24;\nexport const durationWeek = durationDay * 7;\nexport const durationMonth = durationDay * 30;\nexport const durationYear = durationDay * 365;\n","import {timeInterval} from \"./interval.js\";\nimport {durationSecond} from \"./duration.js\";\n\nexport const second = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds());\n}, (date, step) => {\n date.setTime(+date + step * durationSecond);\n}, (start, end) => {\n return (end - start) / durationSecond;\n}, (date) => {\n return date.getUTCSeconds();\n});\n\nexport const seconds = second.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationMinute, durationSecond} from \"./duration.js\";\n\nexport const timeMinute = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond);\n}, (date, step) => {\n date.setTime(+date + step * durationMinute);\n}, (start, end) => {\n return (end - start) / durationMinute;\n}, (date) => {\n return date.getMinutes();\n});\n\nexport const timeMinutes = timeMinute.range;\n\nexport const utcMinute = timeInterval((date) => {\n date.setUTCSeconds(0, 0);\n}, (date, step) => {\n date.setTime(+date + step * durationMinute);\n}, (start, end) => {\n return (end - start) / durationMinute;\n}, (date) => {\n return date.getUTCMinutes();\n});\n\nexport const utcMinutes = utcMinute.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationHour, durationMinute, durationSecond} from \"./duration.js\";\n\nexport const timeHour = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond - date.getMinutes() * durationMinute);\n}, (date, step) => {\n date.setTime(+date + step * durationHour);\n}, (start, end) => {\n return (end - start) / durationHour;\n}, (date) => {\n return date.getHours();\n});\n\nexport const timeHours = timeHour.range;\n\nexport const utcHour = timeInterval((date) => {\n date.setUTCMinutes(0, 0, 0);\n}, (date, step) => {\n date.setTime(+date + step * durationHour);\n}, (start, end) => {\n return (end - start) / durationHour;\n}, (date) => {\n return date.getUTCHours();\n});\n\nexport const utcHours = utcHour.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationDay, durationMinute} from \"./duration.js\";\n\nexport const timeDay = timeInterval(\n date => date.setHours(0, 0, 0, 0),\n (date, step) => date.setDate(date.getDate() + step),\n (start, end) => (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay,\n date => date.getDate() - 1\n);\n\nexport const timeDays = timeDay.range;\n\nexport const utcDay = timeInterval((date) => {\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step);\n}, (start, end) => {\n return (end - start) / durationDay;\n}, (date) => {\n return date.getUTCDate() - 1;\n});\n\nexport const utcDays = utcDay.range;\n\nexport const unixDay = timeInterval((date) => {\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step);\n}, (start, end) => {\n return (end - start) / durationDay;\n}, (date) => {\n return Math.floor(date / durationDay);\n});\n\nexport const unixDays = unixDay.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationMinute, durationWeek} from \"./duration.js\";\n\nfunction timeWeekday(i) {\n return timeInterval((date) => {\n date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);\n date.setHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setDate(date.getDate() + step * 7);\n }, (start, end) => {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;\n });\n}\n\nexport const timeSunday = timeWeekday(0);\nexport const timeMonday = timeWeekday(1);\nexport const timeTuesday = timeWeekday(2);\nexport const timeWednesday = timeWeekday(3);\nexport const timeThursday = timeWeekday(4);\nexport const timeFriday = timeWeekday(5);\nexport const timeSaturday = timeWeekday(6);\n\nexport const timeSundays = timeSunday.range;\nexport const timeMondays = timeMonday.range;\nexport const timeTuesdays = timeTuesday.range;\nexport const timeWednesdays = timeWednesday.range;\nexport const timeThursdays = timeThursday.range;\nexport const timeFridays = timeFriday.range;\nexport const timeSaturdays = timeSaturday.range;\n\nfunction utcWeekday(i) {\n return timeInterval((date) => {\n date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);\n date.setUTCHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step * 7);\n }, (start, end) => {\n return (end - start) / durationWeek;\n });\n}\n\nexport const utcSunday = utcWeekday(0);\nexport const utcMonday = utcWeekday(1);\nexport const utcTuesday = utcWeekday(2);\nexport const utcWednesday = utcWeekday(3);\nexport const utcThursday = utcWeekday(4);\nexport const utcFriday = utcWeekday(5);\nexport const utcSaturday = utcWeekday(6);\n\nexport const utcSundays = utcSunday.range;\nexport const utcMondays = utcMonday.range;\nexport const utcTuesdays = utcTuesday.range;\nexport const utcWednesdays = utcWednesday.range;\nexport const utcThursdays = utcThursday.range;\nexport const utcFridays = utcFriday.range;\nexport const utcSaturdays = utcSaturday.range;\n","import {timeInterval} from \"./interval.js\";\n\nexport const timeMonth = timeInterval((date) => {\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setMonth(date.getMonth() + step);\n}, (start, end) => {\n return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12;\n}, (date) => {\n return date.getMonth();\n});\n\nexport const timeMonths = timeMonth.range;\n\nexport const utcMonth = timeInterval((date) => {\n date.setUTCDate(1);\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCMonth(date.getUTCMonth() + step);\n}, (start, end) => {\n return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12;\n}, (date) => {\n return date.getUTCMonth();\n});\n\nexport const utcMonths = utcMonth.range;\n","import {timeInterval} from \"./interval.js\";\n\nexport const timeYear = timeInterval((date) => {\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setFullYear(date.getFullYear() + step);\n}, (start, end) => {\n return end.getFullYear() - start.getFullYear();\n}, (date) => {\n return date.getFullYear();\n});\n\n// An optimized implementation for this simple case.\ntimeYear.every = (k) => {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : timeInterval((date) => {\n date.setFullYear(Math.floor(date.getFullYear() / k) * k);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setFullYear(date.getFullYear() + step * k);\n });\n};\n\nexport const timeYears = timeYear.range;\n\nexport const utcYear = timeInterval((date) => {\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCFullYear(date.getUTCFullYear() + step);\n}, (start, end) => {\n return end.getUTCFullYear() - start.getUTCFullYear();\n}, (date) => {\n return date.getUTCFullYear();\n});\n\n// An optimized implementation for this simple case.\nutcYear.every = (k) => {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : timeInterval((date) => {\n date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setUTCFullYear(date.getUTCFullYear() + step * k);\n });\n};\n\nexport const utcYears = utcYear.range;\n","import {bisector, tickStep} from \"d3-array\";\nimport {durationDay, durationHour, durationMinute, durationMonth, durationSecond, durationWeek, durationYear} from \"./duration.js\";\nimport {millisecond} from \"./millisecond.js\";\nimport {second} from \"./second.js\";\nimport {timeMinute, utcMinute} from \"./minute.js\";\nimport {timeHour, utcHour} from \"./hour.js\";\nimport {timeDay, unixDay} from \"./day.js\";\nimport {timeSunday, utcSunday} from \"./week.js\";\nimport {timeMonth, utcMonth} from \"./month.js\";\nimport {timeYear, utcYear} from \"./year.js\";\n\nfunction ticker(year, month, week, day, hour, minute) {\n\n const tickIntervals = [\n [second, 1, durationSecond],\n [second, 5, 5 * durationSecond],\n [second, 15, 15 * durationSecond],\n [second, 30, 30 * durationSecond],\n [minute, 1, durationMinute],\n [minute, 5, 5 * durationMinute],\n [minute, 15, 15 * durationMinute],\n [minute, 30, 30 * durationMinute],\n [ hour, 1, durationHour ],\n [ hour, 3, 3 * durationHour ],\n [ hour, 6, 6 * durationHour ],\n [ hour, 12, 12 * durationHour ],\n [ day, 1, durationDay ],\n [ day, 2, 2 * durationDay ],\n [ week, 1, durationWeek ],\n [ month, 1, durationMonth ],\n [ month, 3, 3 * durationMonth ],\n [ year, 1, durationYear ]\n ];\n\n function ticks(start, stop, count) {\n const reverse = stop < start;\n if (reverse) [start, stop] = [stop, start];\n const interval = count && typeof count.range === \"function\" ? count : tickInterval(start, stop, count);\n const ticks = interval ? interval.range(start, +stop + 1) : []; // inclusive stop\n return reverse ? ticks.reverse() : ticks;\n }\n\n function tickInterval(start, stop, count) {\n const target = Math.abs(stop - start) / count;\n const i = bisector(([,, step]) => step).right(tickIntervals, target);\n if (i === tickIntervals.length) return year.every(tickStep(start / durationYear, stop / durationYear, count));\n if (i === 0) return millisecond.every(Math.max(tickStep(start, stop, count), 1));\n const [t, step] = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i];\n return t.every(step);\n }\n\n return [ticks, tickInterval];\n}\n\nconst [utcTicks, utcTickInterval] = ticker(utcYear, utcMonth, utcSunday, unixDay, utcHour, utcMinute);\nconst [timeTicks, timeTickInterval] = ticker(timeYear, timeMonth, timeSunday, timeDay, timeHour, timeMinute);\n\nexport {utcTicks, utcTickInterval, timeTicks, timeTickInterval};\n","import {\n timeDay,\n timeSunday,\n timeMonday,\n timeThursday,\n timeYear,\n utcDay,\n utcSunday,\n utcMonday,\n utcThursday,\n utcYear\n} from \"d3-time\";\n\nfunction localDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);\n date.setFullYear(d.y);\n return date;\n }\n return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);\n}\n\nfunction utcDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));\n date.setUTCFullYear(d.y);\n return date;\n }\n return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));\n}\n\nfunction newDate(y, m, d) {\n return {y: y, m: m, d: d, H: 0, M: 0, S: 0, L: 0};\n}\n\nexport default function formatLocale(locale) {\n var locale_dateTime = locale.dateTime,\n locale_date = locale.date,\n locale_time = locale.time,\n locale_periods = locale.periods,\n locale_weekdays = locale.days,\n locale_shortWeekdays = locale.shortDays,\n locale_months = locale.months,\n locale_shortMonths = locale.shortMonths;\n\n var periodRe = formatRe(locale_periods),\n periodLookup = formatLookup(locale_periods),\n weekdayRe = formatRe(locale_weekdays),\n weekdayLookup = formatLookup(locale_weekdays),\n shortWeekdayRe = formatRe(locale_shortWeekdays),\n shortWeekdayLookup = formatLookup(locale_shortWeekdays),\n monthRe = formatRe(locale_months),\n monthLookup = formatLookup(locale_months),\n shortMonthRe = formatRe(locale_shortMonths),\n shortMonthLookup = formatLookup(locale_shortMonths);\n\n var formats = {\n \"a\": formatShortWeekday,\n \"A\": formatWeekday,\n \"b\": formatShortMonth,\n \"B\": formatMonth,\n \"c\": null,\n \"d\": formatDayOfMonth,\n \"e\": formatDayOfMonth,\n \"f\": formatMicroseconds,\n \"g\": formatYearISO,\n \"G\": formatFullYearISO,\n \"H\": formatHour24,\n \"I\": formatHour12,\n \"j\": formatDayOfYear,\n \"L\": formatMilliseconds,\n \"m\": formatMonthNumber,\n \"M\": formatMinutes,\n \"p\": formatPeriod,\n \"q\": formatQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatSeconds,\n \"u\": formatWeekdayNumberMonday,\n \"U\": formatWeekNumberSunday,\n \"V\": formatWeekNumberISO,\n \"w\": formatWeekdayNumberSunday,\n \"W\": formatWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatYear,\n \"Y\": formatFullYear,\n \"Z\": formatZone,\n \"%\": formatLiteralPercent\n };\n\n var utcFormats = {\n \"a\": formatUTCShortWeekday,\n \"A\": formatUTCWeekday,\n \"b\": formatUTCShortMonth,\n \"B\": formatUTCMonth,\n \"c\": null,\n \"d\": formatUTCDayOfMonth,\n \"e\": formatUTCDayOfMonth,\n \"f\": formatUTCMicroseconds,\n \"g\": formatUTCYearISO,\n \"G\": formatUTCFullYearISO,\n \"H\": formatUTCHour24,\n \"I\": formatUTCHour12,\n \"j\": formatUTCDayOfYear,\n \"L\": formatUTCMilliseconds,\n \"m\": formatUTCMonthNumber,\n \"M\": formatUTCMinutes,\n \"p\": formatUTCPeriod,\n \"q\": formatUTCQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatUTCSeconds,\n \"u\": formatUTCWeekdayNumberMonday,\n \"U\": formatUTCWeekNumberSunday,\n \"V\": formatUTCWeekNumberISO,\n \"w\": formatUTCWeekdayNumberSunday,\n \"W\": formatUTCWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatUTCYear,\n \"Y\": formatUTCFullYear,\n \"Z\": formatUTCZone,\n \"%\": formatLiteralPercent\n };\n\n var parses = {\n \"a\": parseShortWeekday,\n \"A\": parseWeekday,\n \"b\": parseShortMonth,\n \"B\": parseMonth,\n \"c\": parseLocaleDateTime,\n \"d\": parseDayOfMonth,\n \"e\": parseDayOfMonth,\n \"f\": parseMicroseconds,\n \"g\": parseYear,\n \"G\": parseFullYear,\n \"H\": parseHour24,\n \"I\": parseHour24,\n \"j\": parseDayOfYear,\n \"L\": parseMilliseconds,\n \"m\": parseMonthNumber,\n \"M\": parseMinutes,\n \"p\": parsePeriod,\n \"q\": parseQuarter,\n \"Q\": parseUnixTimestamp,\n \"s\": parseUnixTimestampSeconds,\n \"S\": parseSeconds,\n \"u\": parseWeekdayNumberMonday,\n \"U\": parseWeekNumberSunday,\n \"V\": parseWeekNumberISO,\n \"w\": parseWeekdayNumberSunday,\n \"W\": parseWeekNumberMonday,\n \"x\": parseLocaleDate,\n \"X\": parseLocaleTime,\n \"y\": parseYear,\n \"Y\": parseFullYear,\n \"Z\": parseZone,\n \"%\": parseLiteralPercent\n };\n\n // These recursive directive definitions must be deferred.\n formats.x = newFormat(locale_date, formats);\n formats.X = newFormat(locale_time, formats);\n formats.c = newFormat(locale_dateTime, formats);\n utcFormats.x = newFormat(locale_date, utcFormats);\n utcFormats.X = newFormat(locale_time, utcFormats);\n utcFormats.c = newFormat(locale_dateTime, utcFormats);\n\n function newFormat(specifier, formats) {\n return function(date) {\n var string = [],\n i = -1,\n j = 0,\n n = specifier.length,\n c,\n pad,\n format;\n\n if (!(date instanceof Date)) date = new Date(+date);\n\n while (++i < n) {\n if (specifier.charCodeAt(i) === 37) {\n string.push(specifier.slice(j, i));\n if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i);\n else pad = c === \"e\" ? \" \" : \"0\";\n if (format = formats[c]) c = format(date, pad);\n string.push(c);\n j = i + 1;\n }\n }\n\n string.push(specifier.slice(j, i));\n return string.join(\"\");\n };\n }\n\n function newParse(specifier, Z) {\n return function(string) {\n var d = newDate(1900, undefined, 1),\n i = parseSpecifier(d, specifier, string += \"\", 0),\n week, day;\n if (i != string.length) return null;\n\n // If a UNIX timestamp is specified, return it.\n if (\"Q\" in d) return new Date(d.Q);\n if (\"s\" in d) return new Date(d.s * 1000 + (\"L\" in d ? d.L : 0));\n\n // If this is utcParse, never use the local timezone.\n if (Z && !(\"Z\" in d)) d.Z = 0;\n\n // The am-pm flag is 0 for AM, and 1 for PM.\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12;\n\n // If the month was not specified, inherit from the quarter.\n if (d.m === undefined) d.m = \"q\" in d ? d.q : 0;\n\n // Convert day-of-week and week-of-year to day-of-year.\n if (\"V\" in d) {\n if (d.V < 1 || d.V > 53) return null;\n if (!(\"w\" in d)) d.w = 1;\n if (\"Z\" in d) {\n week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();\n week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);\n week = utcDay.offset(week, (d.V - 1) * 7);\n d.y = week.getUTCFullYear();\n d.m = week.getUTCMonth();\n d.d = week.getUTCDate() + (d.w + 6) % 7;\n } else {\n week = localDate(newDate(d.y, 0, 1)), day = week.getDay();\n week = day > 4 || day === 0 ? timeMonday.ceil(week) : timeMonday(week);\n week = timeDay.offset(week, (d.V - 1) * 7);\n d.y = week.getFullYear();\n d.m = week.getMonth();\n d.d = week.getDate() + (d.w + 6) % 7;\n }\n } else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"u\" in d ? d.u % 7 : \"W\" in d ? 1 : 0;\n day = \"Z\" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();\n d.m = 0;\n d.d = \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;\n }\n\n // If a time zone is specified, all fields are interpreted as UTC and then\n // offset according to the specified time zone.\n if (\"Z\" in d) {\n d.H += d.Z / 100 | 0;\n d.M += d.Z % 100;\n return utcDate(d);\n }\n\n // Otherwise, all fields are in local time.\n return localDate(d);\n };\n }\n\n function parseSpecifier(d, specifier, string, j) {\n var i = 0,\n n = specifier.length,\n m = string.length,\n c,\n parse;\n\n while (i < n) {\n if (j >= m) return -1;\n c = specifier.charCodeAt(i++);\n if (c === 37) {\n c = specifier.charAt(i++);\n parse = parses[c in pads ? specifier.charAt(i++) : c];\n if (!parse || ((j = parse(d, string, j)) < 0)) return -1;\n } else if (c != string.charCodeAt(j++)) {\n return -1;\n }\n }\n\n return j;\n }\n\n function parsePeriod(d, string, i) {\n var n = periodRe.exec(string.slice(i));\n return n ? (d.p = periodLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortWeekday(d, string, i) {\n var n = shortWeekdayRe.exec(string.slice(i));\n return n ? (d.w = shortWeekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseWeekday(d, string, i) {\n var n = weekdayRe.exec(string.slice(i));\n return n ? (d.w = weekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortMonth(d, string, i) {\n var n = shortMonthRe.exec(string.slice(i));\n return n ? (d.m = shortMonthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseMonth(d, string, i) {\n var n = monthRe.exec(string.slice(i));\n return n ? (d.m = monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseLocaleDateTime(d, string, i) {\n return parseSpecifier(d, locale_dateTime, string, i);\n }\n\n function parseLocaleDate(d, string, i) {\n return parseSpecifier(d, locale_date, string, i);\n }\n\n function parseLocaleTime(d, string, i) {\n return parseSpecifier(d, locale_time, string, i);\n }\n\n function formatShortWeekday(d) {\n return locale_shortWeekdays[d.getDay()];\n }\n\n function formatWeekday(d) {\n return locale_weekdays[d.getDay()];\n }\n\n function formatShortMonth(d) {\n return locale_shortMonths[d.getMonth()];\n }\n\n function formatMonth(d) {\n return locale_months[d.getMonth()];\n }\n\n function formatPeriod(d) {\n return locale_periods[+(d.getHours() >= 12)];\n }\n\n function formatQuarter(d) {\n return 1 + ~~(d.getMonth() / 3);\n }\n\n function formatUTCShortWeekday(d) {\n return locale_shortWeekdays[d.getUTCDay()];\n }\n\n function formatUTCWeekday(d) {\n return locale_weekdays[d.getUTCDay()];\n }\n\n function formatUTCShortMonth(d) {\n return locale_shortMonths[d.getUTCMonth()];\n }\n\n function formatUTCMonth(d) {\n return locale_months[d.getUTCMonth()];\n }\n\n function formatUTCPeriod(d) {\n return locale_periods[+(d.getUTCHours() >= 12)];\n }\n\n function formatUTCQuarter(d) {\n return 1 + ~~(d.getUTCMonth() / 3);\n }\n\n return {\n format: function(specifier) {\n var f = newFormat(specifier += \"\", formats);\n f.toString = function() { return specifier; };\n return f;\n },\n parse: function(specifier) {\n var p = newParse(specifier += \"\", false);\n p.toString = function() { return specifier; };\n return p;\n },\n utcFormat: function(specifier) {\n var f = newFormat(specifier += \"\", utcFormats);\n f.toString = function() { return specifier; };\n return f;\n },\n utcParse: function(specifier) {\n var p = newParse(specifier += \"\", true);\n p.toString = function() { return specifier; };\n return p;\n }\n };\n}\n\nvar pads = {\"-\": \"\", \"_\": \" \", \"0\": \"0\"},\n numberRe = /^\\s*\\d+/, // note: ignores next directive\n percentRe = /^%/,\n requoteRe = /[\\\\^$*+?|[\\]().{}]/g;\n\nfunction pad(value, fill, width) {\n var sign = value < 0 ? \"-\" : \"\",\n string = (sign ? -value : value) + \"\",\n length = string.length;\n return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n}\n\nfunction requote(s) {\n return s.replace(requoteRe, \"\\\\$&\");\n}\n\nfunction formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(requote).join(\"|\") + \")\", \"i\");\n}\n\nfunction formatLookup(names) {\n return new Map(names.map((name, i) => [name.toLowerCase(), i]));\n}\n\nfunction parseWeekdayNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.w = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekdayNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.u = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.U = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberISO(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.V = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.W = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseFullYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 4));\n return n ? (d.y = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1;\n}\n\nfunction parseZone(d, string, i) {\n var n = /^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(string.slice(i, i + 6));\n return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || \"00\")), i + n[0].length) : -1;\n}\n\nfunction parseQuarter(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.q = n[0] * 3 - 3, i + n[0].length) : -1;\n}\n\nfunction parseMonthNumber(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.m = n[0] - 1, i + n[0].length) : -1;\n}\n\nfunction parseDayOfMonth(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseDayOfYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseHour24(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.H = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMinutes(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.M = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.S = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMilliseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.L = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMicroseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 6));\n return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1;\n}\n\nfunction parseLiteralPercent(d, string, i) {\n var n = percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n}\n\nfunction parseUnixTimestamp(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseUnixTimestampSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.s = +n[0], i + n[0].length) : -1;\n}\n\nfunction formatDayOfMonth(d, p) {\n return pad(d.getDate(), p, 2);\n}\n\nfunction formatHour24(d, p) {\n return pad(d.getHours(), p, 2);\n}\n\nfunction formatHour12(d, p) {\n return pad(d.getHours() % 12 || 12, p, 2);\n}\n\nfunction formatDayOfYear(d, p) {\n return pad(1 + timeDay.count(timeYear(d), d), p, 3);\n}\n\nfunction formatMilliseconds(d, p) {\n return pad(d.getMilliseconds(), p, 3);\n}\n\nfunction formatMicroseconds(d, p) {\n return formatMilliseconds(d, p) + \"000\";\n}\n\nfunction formatMonthNumber(d, p) {\n return pad(d.getMonth() + 1, p, 2);\n}\n\nfunction formatMinutes(d, p) {\n return pad(d.getMinutes(), p, 2);\n}\n\nfunction formatSeconds(d, p) {\n return pad(d.getSeconds(), p, 2);\n}\n\nfunction formatWeekdayNumberMonday(d) {\n var day = d.getDay();\n return day === 0 ? 7 : day;\n}\n\nfunction formatWeekNumberSunday(d, p) {\n return pad(timeSunday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction dISO(d) {\n var day = d.getDay();\n return (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n}\n\nfunction formatWeekNumberISO(d, p) {\n d = dISO(d);\n return pad(timeThursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);\n}\n\nfunction formatWeekdayNumberSunday(d) {\n return d.getDay();\n}\n\nfunction formatWeekNumberMonday(d, p) {\n return pad(timeMonday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction formatYear(d, p) {\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatYearISO(d, p) {\n d = dISO(d);\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatFullYear(d, p) {\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatFullYearISO(d, p) {\n var day = d.getDay();\n d = (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatZone(d) {\n var z = d.getTimezoneOffset();\n return (z > 0 ? \"-\" : (z *= -1, \"+\"))\n + pad(z / 60 | 0, \"0\", 2)\n + pad(z % 60, \"0\", 2);\n}\n\nfunction formatUTCDayOfMonth(d, p) {\n return pad(d.getUTCDate(), p, 2);\n}\n\nfunction formatUTCHour24(d, p) {\n return pad(d.getUTCHours(), p, 2);\n}\n\nfunction formatUTCHour12(d, p) {\n return pad(d.getUTCHours() % 12 || 12, p, 2);\n}\n\nfunction formatUTCDayOfYear(d, p) {\n return pad(1 + utcDay.count(utcYear(d), d), p, 3);\n}\n\nfunction formatUTCMilliseconds(d, p) {\n return pad(d.getUTCMilliseconds(), p, 3);\n}\n\nfunction formatUTCMicroseconds(d, p) {\n return formatUTCMilliseconds(d, p) + \"000\";\n}\n\nfunction formatUTCMonthNumber(d, p) {\n return pad(d.getUTCMonth() + 1, p, 2);\n}\n\nfunction formatUTCMinutes(d, p) {\n return pad(d.getUTCMinutes(), p, 2);\n}\n\nfunction formatUTCSeconds(d, p) {\n return pad(d.getUTCSeconds(), p, 2);\n}\n\nfunction formatUTCWeekdayNumberMonday(d) {\n var dow = d.getUTCDay();\n return dow === 0 ? 7 : dow;\n}\n\nfunction formatUTCWeekNumberSunday(d, p) {\n return pad(utcSunday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction UTCdISO(d) {\n var day = d.getUTCDay();\n return (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n}\n\nfunction formatUTCWeekNumberISO(d, p) {\n d = UTCdISO(d);\n return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);\n}\n\nfunction formatUTCWeekdayNumberSunday(d) {\n return d.getUTCDay();\n}\n\nfunction formatUTCWeekNumberMonday(d, p) {\n return pad(utcMonday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction formatUTCYear(d, p) {\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCYearISO(d, p) {\n d = UTCdISO(d);\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCFullYear(d, p) {\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCFullYearISO(d, p) {\n var day = d.getUTCDay();\n d = (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCZone() {\n return \"+0000\";\n}\n\nfunction formatLiteralPercent() {\n return \"%\";\n}\n\nfunction formatUnixTimestamp(d) {\n return +d;\n}\n\nfunction formatUnixTimestampSeconds(d) {\n return Math.floor(+d / 1000);\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var timeFormat;\nexport var timeParse;\nexport var utcFormat;\nexport var utcParse;\n\ndefaultLocale({\n dateTime: \"%x, %X\",\n date: \"%-m/%-d/%Y\",\n time: \"%-I:%M:%S %p\",\n periods: [\"AM\", \"PM\"],\n days: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n shortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n months: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n shortMonths: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n timeFormat = locale.format;\n timeParse = locale.parse;\n utcFormat = locale.utcFormat;\n utcParse = locale.utcParse;\n return locale;\n}\n","import {timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeTicks, timeTickInterval} from \"d3-time\";\nimport {timeFormat} from \"d3-time-format\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport nice from \"./nice.js\";\n\nfunction date(t) {\n return new Date(t);\n}\n\nfunction number(t) {\n return t instanceof Date ? +t : +new Date(+t);\n}\n\nexport function calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format) {\n var scale = continuous(),\n invert = scale.invert,\n domain = scale.domain;\n\n var formatMillisecond = format(\".%L\"),\n formatSecond = format(\":%S\"),\n formatMinute = format(\"%I:%M\"),\n formatHour = format(\"%I %p\"),\n formatDay = format(\"%a %d\"),\n formatWeek = format(\"%b %d\"),\n formatMonth = format(\"%B\"),\n formatYear = format(\"%Y\");\n\n function tickFormat(date) {\n return (second(date) < date ? formatMillisecond\n : minute(date) < date ? formatSecond\n : hour(date) < date ? formatMinute\n : day(date) < date ? formatHour\n : month(date) < date ? (week(date) < date ? formatDay : formatWeek)\n : year(date) < date ? formatMonth\n : formatYear)(date);\n }\n\n scale.invert = function(y) {\n return new Date(invert(y));\n };\n\n scale.domain = function(_) {\n return arguments.length ? domain(Array.from(_, number)) : domain().map(date);\n };\n\n scale.ticks = function(interval) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], interval == null ? 10 : interval);\n };\n\n scale.tickFormat = function(count, specifier) {\n return specifier == null ? tickFormat : format(specifier);\n };\n\n scale.nice = function(interval) {\n var d = domain();\n if (!interval || typeof interval.range !== \"function\") interval = tickInterval(d[0], d[d.length - 1], interval == null ? 10 : interval);\n return interval ? domain(nice(d, interval)) : scale;\n };\n\n scale.copy = function() {\n return copy(scale, calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format));\n };\n\n return scale;\n}\n\nexport default function time() {\n return initRange.apply(calendar(timeTicks, timeTickInterval, timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]), arguments);\n}\n"],"names":["nice","domain","interval","i0","i1","x0","x1","t","t0","t1","timeInterval","floori","offseti","count","field","date","d0","d1","step","start","stop","range","previous","test","end","d","millisecond","k","durationSecond","durationMinute","durationHour","durationDay","durationWeek","durationMonth","durationYear","second","timeMinute","utcMinute","timeHour","utcHour","timeDay","utcDay","unixDay","timeWeekday","i","timeSunday","timeMonday","timeTuesday","timeWednesday","timeThursday","timeFriday","timeSaturday","utcWeekday","utcSunday","utcMonday","utcTuesday","utcWednesday","utcThursday","utcFriday","utcSaturday","timeMonth","utcMonth","timeYear","utcYear","ticker","year","month","week","day","hour","minute","tickIntervals","ticks","reverse","tickInterval","target","bisector","tickStep","timeTicks","timeTickInterval","localDate","utcDate","newDate","y","m","formatLocale","locale","locale_dateTime","locale_date","locale_time","locale_periods","locale_weekdays","locale_shortWeekdays","locale_months","locale_shortMonths","periodRe","formatRe","periodLookup","formatLookup","weekdayRe","weekdayLookup","shortWeekdayRe","shortWeekdayLookup","monthRe","monthLookup","shortMonthRe","shortMonthLookup","formats","formatShortWeekday","formatWeekday","formatShortMonth","formatMonth","formatDayOfMonth","formatMicroseconds","formatYearISO","formatFullYearISO","formatHour24","formatHour12","formatDayOfYear","formatMilliseconds","formatMonthNumber","formatMinutes","formatPeriod","formatQuarter","formatUnixTimestamp","formatUnixTimestampSeconds","formatSeconds","formatWeekdayNumberMonday","formatWeekNumberSunday","formatWeekNumberISO","formatWeekdayNumberSunday","formatWeekNumberMonday","formatYear","formatFullYear","formatZone","formatLiteralPercent","utcFormats","formatUTCShortWeekday","formatUTCWeekday","formatUTCShortMonth","formatUTCMonth","formatUTCDayOfMonth","formatUTCMicroseconds","formatUTCYearISO","formatUTCFullYearISO","formatUTCHour24","formatUTCHour12","formatUTCDayOfYear","formatUTCMilliseconds","formatUTCMonthNumber","formatUTCMinutes","formatUTCPeriod","formatUTCQuarter","formatUTCSeconds","formatUTCWeekdayNumberMonday","formatUTCWeekNumberSunday","formatUTCWeekNumberISO","formatUTCWeekdayNumberSunday","formatUTCWeekNumberMonday","formatUTCYear","formatUTCFullYear","formatUTCZone","parses","parseShortWeekday","parseWeekday","parseShortMonth","parseMonth","parseLocaleDateTime","parseDayOfMonth","parseMicroseconds","parseYear","parseFullYear","parseHour24","parseDayOfYear","parseMilliseconds","parseMonthNumber","parseMinutes","parsePeriod","parseQuarter","parseUnixTimestamp","parseUnixTimestampSeconds","parseSeconds","parseWeekdayNumberMonday","parseWeekNumberSunday","parseWeekNumberISO","parseWeekdayNumberSunday","parseWeekNumberMonday","parseLocaleDate","parseLocaleTime","parseZone","parseLiteralPercent","newFormat","specifier","string","j","n","c","pad","format","pads","newParse","Z","parseSpecifier","parse","f","p","numberRe","percentRe","requoteRe","value","fill","width","sign","length","requote","s","names","name","dISO","z","dow","UTCdISO","timeFormat","defaultLocale","definition","number","calendar","scale","continuous","invert","formatMillisecond","formatSecond","formatMinute","formatHour","formatDay","formatWeek","tickFormat","_","copy","time","initRange","timeWeek","timeSecond"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]}
1
+ {"version":3,"file":"time-BUL-dwnK.js","sources":["../node_modules/d3-scale/src/nice.js","../node_modules/d3-time/src/interval.js","../node_modules/d3-time/src/millisecond.js","../node_modules/d3-time/src/duration.js","../node_modules/d3-time/src/second.js","../node_modules/d3-time/src/minute.js","../node_modules/d3-time/src/hour.js","../node_modules/d3-time/src/day.js","../node_modules/d3-time/src/week.js","../node_modules/d3-time/src/month.js","../node_modules/d3-time/src/year.js","../node_modules/d3-time/src/ticks.js","../node_modules/d3-time-format/src/locale.js","../node_modules/d3-time-format/src/defaultLocale.js","../node_modules/d3-scale/src/time.js"],"sourcesContent":["export default function nice(domain, interval) {\n domain = domain.slice();\n\n var i0 = 0,\n i1 = domain.length - 1,\n x0 = domain[i0],\n x1 = domain[i1],\n t;\n\n if (x1 < x0) {\n t = i0, i0 = i1, i1 = t;\n t = x0, x0 = x1, x1 = t;\n }\n\n domain[i0] = interval.floor(x0);\n domain[i1] = interval.ceil(x1);\n return domain;\n}\n","const t0 = new Date, t1 = new Date;\n\nexport function timeInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = arguments.length === 0 ? new Date : new Date(+date)), date;\n }\n\n interval.floor = (date) => {\n return floori(date = new Date(+date)), date;\n };\n\n interval.ceil = (date) => {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = (date) => {\n const d0 = interval(date), d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = (date, step) => {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = (start, stop, step) => {\n const range = [];\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n let previous;\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = (test) => {\n return timeInterval((date) => {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, (date, step) => {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = (start, end) => {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = (step) => {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? (d) => field(d) % step === 0\n : (d) => interval.count(0, d) % step === 0);\n };\n }\n\n return interval;\n}\n","import {timeInterval} from \"./interval.js\";\n\nexport const millisecond = timeInterval(() => {\n // noop\n}, (date, step) => {\n date.setTime(+date + step);\n}, (start, end) => {\n return end - start;\n});\n\n// An optimized implementation for this simple case.\nmillisecond.every = (k) => {\n k = Math.floor(k);\n if (!isFinite(k) || !(k > 0)) return null;\n if (!(k > 1)) return millisecond;\n return timeInterval((date) => {\n date.setTime(Math.floor(date / k) * k);\n }, (date, step) => {\n date.setTime(+date + step * k);\n }, (start, end) => {\n return (end - start) / k;\n });\n};\n\nexport const milliseconds = millisecond.range;\n","export const durationSecond = 1000;\nexport const durationMinute = durationSecond * 60;\nexport const durationHour = durationMinute * 60;\nexport const durationDay = durationHour * 24;\nexport const durationWeek = durationDay * 7;\nexport const durationMonth = durationDay * 30;\nexport const durationYear = durationDay * 365;\n","import {timeInterval} from \"./interval.js\";\nimport {durationSecond} from \"./duration.js\";\n\nexport const second = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds());\n}, (date, step) => {\n date.setTime(+date + step * durationSecond);\n}, (start, end) => {\n return (end - start) / durationSecond;\n}, (date) => {\n return date.getUTCSeconds();\n});\n\nexport const seconds = second.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationMinute, durationSecond} from \"./duration.js\";\n\nexport const timeMinute = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond);\n}, (date, step) => {\n date.setTime(+date + step * durationMinute);\n}, (start, end) => {\n return (end - start) / durationMinute;\n}, (date) => {\n return date.getMinutes();\n});\n\nexport const timeMinutes = timeMinute.range;\n\nexport const utcMinute = timeInterval((date) => {\n date.setUTCSeconds(0, 0);\n}, (date, step) => {\n date.setTime(+date + step * durationMinute);\n}, (start, end) => {\n return (end - start) / durationMinute;\n}, (date) => {\n return date.getUTCMinutes();\n});\n\nexport const utcMinutes = utcMinute.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationHour, durationMinute, durationSecond} from \"./duration.js\";\n\nexport const timeHour = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond - date.getMinutes() * durationMinute);\n}, (date, step) => {\n date.setTime(+date + step * durationHour);\n}, (start, end) => {\n return (end - start) / durationHour;\n}, (date) => {\n return date.getHours();\n});\n\nexport const timeHours = timeHour.range;\n\nexport const utcHour = timeInterval((date) => {\n date.setUTCMinutes(0, 0, 0);\n}, (date, step) => {\n date.setTime(+date + step * durationHour);\n}, (start, end) => {\n return (end - start) / durationHour;\n}, (date) => {\n return date.getUTCHours();\n});\n\nexport const utcHours = utcHour.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationDay, durationMinute} from \"./duration.js\";\n\nexport const timeDay = timeInterval(\n date => date.setHours(0, 0, 0, 0),\n (date, step) => date.setDate(date.getDate() + step),\n (start, end) => (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay,\n date => date.getDate() - 1\n);\n\nexport const timeDays = timeDay.range;\n\nexport const utcDay = timeInterval((date) => {\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step);\n}, (start, end) => {\n return (end - start) / durationDay;\n}, (date) => {\n return date.getUTCDate() - 1;\n});\n\nexport const utcDays = utcDay.range;\n\nexport const unixDay = timeInterval((date) => {\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step);\n}, (start, end) => {\n return (end - start) / durationDay;\n}, (date) => {\n return Math.floor(date / durationDay);\n});\n\nexport const unixDays = unixDay.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationMinute, durationWeek} from \"./duration.js\";\n\nfunction timeWeekday(i) {\n return timeInterval((date) => {\n date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);\n date.setHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setDate(date.getDate() + step * 7);\n }, (start, end) => {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;\n });\n}\n\nexport const timeSunday = timeWeekday(0);\nexport const timeMonday = timeWeekday(1);\nexport const timeTuesday = timeWeekday(2);\nexport const timeWednesday = timeWeekday(3);\nexport const timeThursday = timeWeekday(4);\nexport const timeFriday = timeWeekday(5);\nexport const timeSaturday = timeWeekday(6);\n\nexport const timeSundays = timeSunday.range;\nexport const timeMondays = timeMonday.range;\nexport const timeTuesdays = timeTuesday.range;\nexport const timeWednesdays = timeWednesday.range;\nexport const timeThursdays = timeThursday.range;\nexport const timeFridays = timeFriday.range;\nexport const timeSaturdays = timeSaturday.range;\n\nfunction utcWeekday(i) {\n return timeInterval((date) => {\n date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);\n date.setUTCHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step * 7);\n }, (start, end) => {\n return (end - start) / durationWeek;\n });\n}\n\nexport const utcSunday = utcWeekday(0);\nexport const utcMonday = utcWeekday(1);\nexport const utcTuesday = utcWeekday(2);\nexport const utcWednesday = utcWeekday(3);\nexport const utcThursday = utcWeekday(4);\nexport const utcFriday = utcWeekday(5);\nexport const utcSaturday = utcWeekday(6);\n\nexport const utcSundays = utcSunday.range;\nexport const utcMondays = utcMonday.range;\nexport const utcTuesdays = utcTuesday.range;\nexport const utcWednesdays = utcWednesday.range;\nexport const utcThursdays = utcThursday.range;\nexport const utcFridays = utcFriday.range;\nexport const utcSaturdays = utcSaturday.range;\n","import {timeInterval} from \"./interval.js\";\n\nexport const timeMonth = timeInterval((date) => {\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setMonth(date.getMonth() + step);\n}, (start, end) => {\n return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12;\n}, (date) => {\n return date.getMonth();\n});\n\nexport const timeMonths = timeMonth.range;\n\nexport const utcMonth = timeInterval((date) => {\n date.setUTCDate(1);\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCMonth(date.getUTCMonth() + step);\n}, (start, end) => {\n return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12;\n}, (date) => {\n return date.getUTCMonth();\n});\n\nexport const utcMonths = utcMonth.range;\n","import {timeInterval} from \"./interval.js\";\n\nexport const timeYear = timeInterval((date) => {\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setFullYear(date.getFullYear() + step);\n}, (start, end) => {\n return end.getFullYear() - start.getFullYear();\n}, (date) => {\n return date.getFullYear();\n});\n\n// An optimized implementation for this simple case.\ntimeYear.every = (k) => {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : timeInterval((date) => {\n date.setFullYear(Math.floor(date.getFullYear() / k) * k);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setFullYear(date.getFullYear() + step * k);\n });\n};\n\nexport const timeYears = timeYear.range;\n\nexport const utcYear = timeInterval((date) => {\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCFullYear(date.getUTCFullYear() + step);\n}, (start, end) => {\n return end.getUTCFullYear() - start.getUTCFullYear();\n}, (date) => {\n return date.getUTCFullYear();\n});\n\n// An optimized implementation for this simple case.\nutcYear.every = (k) => {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : timeInterval((date) => {\n date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setUTCFullYear(date.getUTCFullYear() + step * k);\n });\n};\n\nexport const utcYears = utcYear.range;\n","import {bisector, tickStep} from \"d3-array\";\nimport {durationDay, durationHour, durationMinute, durationMonth, durationSecond, durationWeek, durationYear} from \"./duration.js\";\nimport {millisecond} from \"./millisecond.js\";\nimport {second} from \"./second.js\";\nimport {timeMinute, utcMinute} from \"./minute.js\";\nimport {timeHour, utcHour} from \"./hour.js\";\nimport {timeDay, unixDay} from \"./day.js\";\nimport {timeSunday, utcSunday} from \"./week.js\";\nimport {timeMonth, utcMonth} from \"./month.js\";\nimport {timeYear, utcYear} from \"./year.js\";\n\nfunction ticker(year, month, week, day, hour, minute) {\n\n const tickIntervals = [\n [second, 1, durationSecond],\n [second, 5, 5 * durationSecond],\n [second, 15, 15 * durationSecond],\n [second, 30, 30 * durationSecond],\n [minute, 1, durationMinute],\n [minute, 5, 5 * durationMinute],\n [minute, 15, 15 * durationMinute],\n [minute, 30, 30 * durationMinute],\n [ hour, 1, durationHour ],\n [ hour, 3, 3 * durationHour ],\n [ hour, 6, 6 * durationHour ],\n [ hour, 12, 12 * durationHour ],\n [ day, 1, durationDay ],\n [ day, 2, 2 * durationDay ],\n [ week, 1, durationWeek ],\n [ month, 1, durationMonth ],\n [ month, 3, 3 * durationMonth ],\n [ year, 1, durationYear ]\n ];\n\n function ticks(start, stop, count) {\n const reverse = stop < start;\n if (reverse) [start, stop] = [stop, start];\n const interval = count && typeof count.range === \"function\" ? count : tickInterval(start, stop, count);\n const ticks = interval ? interval.range(start, +stop + 1) : []; // inclusive stop\n return reverse ? ticks.reverse() : ticks;\n }\n\n function tickInterval(start, stop, count) {\n const target = Math.abs(stop - start) / count;\n const i = bisector(([,, step]) => step).right(tickIntervals, target);\n if (i === tickIntervals.length) return year.every(tickStep(start / durationYear, stop / durationYear, count));\n if (i === 0) return millisecond.every(Math.max(tickStep(start, stop, count), 1));\n const [t, step] = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i];\n return t.every(step);\n }\n\n return [ticks, tickInterval];\n}\n\nconst [utcTicks, utcTickInterval] = ticker(utcYear, utcMonth, utcSunday, unixDay, utcHour, utcMinute);\nconst [timeTicks, timeTickInterval] = ticker(timeYear, timeMonth, timeSunday, timeDay, timeHour, timeMinute);\n\nexport {utcTicks, utcTickInterval, timeTicks, timeTickInterval};\n","import {\n timeDay,\n timeSunday,\n timeMonday,\n timeThursday,\n timeYear,\n utcDay,\n utcSunday,\n utcMonday,\n utcThursday,\n utcYear\n} from \"d3-time\";\n\nfunction localDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);\n date.setFullYear(d.y);\n return date;\n }\n return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);\n}\n\nfunction utcDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));\n date.setUTCFullYear(d.y);\n return date;\n }\n return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));\n}\n\nfunction newDate(y, m, d) {\n return {y: y, m: m, d: d, H: 0, M: 0, S: 0, L: 0};\n}\n\nexport default function formatLocale(locale) {\n var locale_dateTime = locale.dateTime,\n locale_date = locale.date,\n locale_time = locale.time,\n locale_periods = locale.periods,\n locale_weekdays = locale.days,\n locale_shortWeekdays = locale.shortDays,\n locale_months = locale.months,\n locale_shortMonths = locale.shortMonths;\n\n var periodRe = formatRe(locale_periods),\n periodLookup = formatLookup(locale_periods),\n weekdayRe = formatRe(locale_weekdays),\n weekdayLookup = formatLookup(locale_weekdays),\n shortWeekdayRe = formatRe(locale_shortWeekdays),\n shortWeekdayLookup = formatLookup(locale_shortWeekdays),\n monthRe = formatRe(locale_months),\n monthLookup = formatLookup(locale_months),\n shortMonthRe = formatRe(locale_shortMonths),\n shortMonthLookup = formatLookup(locale_shortMonths);\n\n var formats = {\n \"a\": formatShortWeekday,\n \"A\": formatWeekday,\n \"b\": formatShortMonth,\n \"B\": formatMonth,\n \"c\": null,\n \"d\": formatDayOfMonth,\n \"e\": formatDayOfMonth,\n \"f\": formatMicroseconds,\n \"g\": formatYearISO,\n \"G\": formatFullYearISO,\n \"H\": formatHour24,\n \"I\": formatHour12,\n \"j\": formatDayOfYear,\n \"L\": formatMilliseconds,\n \"m\": formatMonthNumber,\n \"M\": formatMinutes,\n \"p\": formatPeriod,\n \"q\": formatQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatSeconds,\n \"u\": formatWeekdayNumberMonday,\n \"U\": formatWeekNumberSunday,\n \"V\": formatWeekNumberISO,\n \"w\": formatWeekdayNumberSunday,\n \"W\": formatWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatYear,\n \"Y\": formatFullYear,\n \"Z\": formatZone,\n \"%\": formatLiteralPercent\n };\n\n var utcFormats = {\n \"a\": formatUTCShortWeekday,\n \"A\": formatUTCWeekday,\n \"b\": formatUTCShortMonth,\n \"B\": formatUTCMonth,\n \"c\": null,\n \"d\": formatUTCDayOfMonth,\n \"e\": formatUTCDayOfMonth,\n \"f\": formatUTCMicroseconds,\n \"g\": formatUTCYearISO,\n \"G\": formatUTCFullYearISO,\n \"H\": formatUTCHour24,\n \"I\": formatUTCHour12,\n \"j\": formatUTCDayOfYear,\n \"L\": formatUTCMilliseconds,\n \"m\": formatUTCMonthNumber,\n \"M\": formatUTCMinutes,\n \"p\": formatUTCPeriod,\n \"q\": formatUTCQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatUTCSeconds,\n \"u\": formatUTCWeekdayNumberMonday,\n \"U\": formatUTCWeekNumberSunday,\n \"V\": formatUTCWeekNumberISO,\n \"w\": formatUTCWeekdayNumberSunday,\n \"W\": formatUTCWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatUTCYear,\n \"Y\": formatUTCFullYear,\n \"Z\": formatUTCZone,\n \"%\": formatLiteralPercent\n };\n\n var parses = {\n \"a\": parseShortWeekday,\n \"A\": parseWeekday,\n \"b\": parseShortMonth,\n \"B\": parseMonth,\n \"c\": parseLocaleDateTime,\n \"d\": parseDayOfMonth,\n \"e\": parseDayOfMonth,\n \"f\": parseMicroseconds,\n \"g\": parseYear,\n \"G\": parseFullYear,\n \"H\": parseHour24,\n \"I\": parseHour24,\n \"j\": parseDayOfYear,\n \"L\": parseMilliseconds,\n \"m\": parseMonthNumber,\n \"M\": parseMinutes,\n \"p\": parsePeriod,\n \"q\": parseQuarter,\n \"Q\": parseUnixTimestamp,\n \"s\": parseUnixTimestampSeconds,\n \"S\": parseSeconds,\n \"u\": parseWeekdayNumberMonday,\n \"U\": parseWeekNumberSunday,\n \"V\": parseWeekNumberISO,\n \"w\": parseWeekdayNumberSunday,\n \"W\": parseWeekNumberMonday,\n \"x\": parseLocaleDate,\n \"X\": parseLocaleTime,\n \"y\": parseYear,\n \"Y\": parseFullYear,\n \"Z\": parseZone,\n \"%\": parseLiteralPercent\n };\n\n // These recursive directive definitions must be deferred.\n formats.x = newFormat(locale_date, formats);\n formats.X = newFormat(locale_time, formats);\n formats.c = newFormat(locale_dateTime, formats);\n utcFormats.x = newFormat(locale_date, utcFormats);\n utcFormats.X = newFormat(locale_time, utcFormats);\n utcFormats.c = newFormat(locale_dateTime, utcFormats);\n\n function newFormat(specifier, formats) {\n return function(date) {\n var string = [],\n i = -1,\n j = 0,\n n = specifier.length,\n c,\n pad,\n format;\n\n if (!(date instanceof Date)) date = new Date(+date);\n\n while (++i < n) {\n if (specifier.charCodeAt(i) === 37) {\n string.push(specifier.slice(j, i));\n if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i);\n else pad = c === \"e\" ? \" \" : \"0\";\n if (format = formats[c]) c = format(date, pad);\n string.push(c);\n j = i + 1;\n }\n }\n\n string.push(specifier.slice(j, i));\n return string.join(\"\");\n };\n }\n\n function newParse(specifier, Z) {\n return function(string) {\n var d = newDate(1900, undefined, 1),\n i = parseSpecifier(d, specifier, string += \"\", 0),\n week, day;\n if (i != string.length) return null;\n\n // If a UNIX timestamp is specified, return it.\n if (\"Q\" in d) return new Date(d.Q);\n if (\"s\" in d) return new Date(d.s * 1000 + (\"L\" in d ? d.L : 0));\n\n // If this is utcParse, never use the local timezone.\n if (Z && !(\"Z\" in d)) d.Z = 0;\n\n // The am-pm flag is 0 for AM, and 1 for PM.\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12;\n\n // If the month was not specified, inherit from the quarter.\n if (d.m === undefined) d.m = \"q\" in d ? d.q : 0;\n\n // Convert day-of-week and week-of-year to day-of-year.\n if (\"V\" in d) {\n if (d.V < 1 || d.V > 53) return null;\n if (!(\"w\" in d)) d.w = 1;\n if (\"Z\" in d) {\n week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();\n week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);\n week = utcDay.offset(week, (d.V - 1) * 7);\n d.y = week.getUTCFullYear();\n d.m = week.getUTCMonth();\n d.d = week.getUTCDate() + (d.w + 6) % 7;\n } else {\n week = localDate(newDate(d.y, 0, 1)), day = week.getDay();\n week = day > 4 || day === 0 ? timeMonday.ceil(week) : timeMonday(week);\n week = timeDay.offset(week, (d.V - 1) * 7);\n d.y = week.getFullYear();\n d.m = week.getMonth();\n d.d = week.getDate() + (d.w + 6) % 7;\n }\n } else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"u\" in d ? d.u % 7 : \"W\" in d ? 1 : 0;\n day = \"Z\" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();\n d.m = 0;\n d.d = \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;\n }\n\n // If a time zone is specified, all fields are interpreted as UTC and then\n // offset according to the specified time zone.\n if (\"Z\" in d) {\n d.H += d.Z / 100 | 0;\n d.M += d.Z % 100;\n return utcDate(d);\n }\n\n // Otherwise, all fields are in local time.\n return localDate(d);\n };\n }\n\n function parseSpecifier(d, specifier, string, j) {\n var i = 0,\n n = specifier.length,\n m = string.length,\n c,\n parse;\n\n while (i < n) {\n if (j >= m) return -1;\n c = specifier.charCodeAt(i++);\n if (c === 37) {\n c = specifier.charAt(i++);\n parse = parses[c in pads ? specifier.charAt(i++) : c];\n if (!parse || ((j = parse(d, string, j)) < 0)) return -1;\n } else if (c != string.charCodeAt(j++)) {\n return -1;\n }\n }\n\n return j;\n }\n\n function parsePeriod(d, string, i) {\n var n = periodRe.exec(string.slice(i));\n return n ? (d.p = periodLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortWeekday(d, string, i) {\n var n = shortWeekdayRe.exec(string.slice(i));\n return n ? (d.w = shortWeekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseWeekday(d, string, i) {\n var n = weekdayRe.exec(string.slice(i));\n return n ? (d.w = weekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortMonth(d, string, i) {\n var n = shortMonthRe.exec(string.slice(i));\n return n ? (d.m = shortMonthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseMonth(d, string, i) {\n var n = monthRe.exec(string.slice(i));\n return n ? (d.m = monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseLocaleDateTime(d, string, i) {\n return parseSpecifier(d, locale_dateTime, string, i);\n }\n\n function parseLocaleDate(d, string, i) {\n return parseSpecifier(d, locale_date, string, i);\n }\n\n function parseLocaleTime(d, string, i) {\n return parseSpecifier(d, locale_time, string, i);\n }\n\n function formatShortWeekday(d) {\n return locale_shortWeekdays[d.getDay()];\n }\n\n function formatWeekday(d) {\n return locale_weekdays[d.getDay()];\n }\n\n function formatShortMonth(d) {\n return locale_shortMonths[d.getMonth()];\n }\n\n function formatMonth(d) {\n return locale_months[d.getMonth()];\n }\n\n function formatPeriod(d) {\n return locale_periods[+(d.getHours() >= 12)];\n }\n\n function formatQuarter(d) {\n return 1 + ~~(d.getMonth() / 3);\n }\n\n function formatUTCShortWeekday(d) {\n return locale_shortWeekdays[d.getUTCDay()];\n }\n\n function formatUTCWeekday(d) {\n return locale_weekdays[d.getUTCDay()];\n }\n\n function formatUTCShortMonth(d) {\n return locale_shortMonths[d.getUTCMonth()];\n }\n\n function formatUTCMonth(d) {\n return locale_months[d.getUTCMonth()];\n }\n\n function formatUTCPeriod(d) {\n return locale_periods[+(d.getUTCHours() >= 12)];\n }\n\n function formatUTCQuarter(d) {\n return 1 + ~~(d.getUTCMonth() / 3);\n }\n\n return {\n format: function(specifier) {\n var f = newFormat(specifier += \"\", formats);\n f.toString = function() { return specifier; };\n return f;\n },\n parse: function(specifier) {\n var p = newParse(specifier += \"\", false);\n p.toString = function() { return specifier; };\n return p;\n },\n utcFormat: function(specifier) {\n var f = newFormat(specifier += \"\", utcFormats);\n f.toString = function() { return specifier; };\n return f;\n },\n utcParse: function(specifier) {\n var p = newParse(specifier += \"\", true);\n p.toString = function() { return specifier; };\n return p;\n }\n };\n}\n\nvar pads = {\"-\": \"\", \"_\": \" \", \"0\": \"0\"},\n numberRe = /^\\s*\\d+/, // note: ignores next directive\n percentRe = /^%/,\n requoteRe = /[\\\\^$*+?|[\\]().{}]/g;\n\nfunction pad(value, fill, width) {\n var sign = value < 0 ? \"-\" : \"\",\n string = (sign ? -value : value) + \"\",\n length = string.length;\n return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n}\n\nfunction requote(s) {\n return s.replace(requoteRe, \"\\\\$&\");\n}\n\nfunction formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(requote).join(\"|\") + \")\", \"i\");\n}\n\nfunction formatLookup(names) {\n return new Map(names.map((name, i) => [name.toLowerCase(), i]));\n}\n\nfunction parseWeekdayNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.w = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekdayNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.u = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.U = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberISO(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.V = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.W = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseFullYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 4));\n return n ? (d.y = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1;\n}\n\nfunction parseZone(d, string, i) {\n var n = /^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(string.slice(i, i + 6));\n return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || \"00\")), i + n[0].length) : -1;\n}\n\nfunction parseQuarter(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.q = n[0] * 3 - 3, i + n[0].length) : -1;\n}\n\nfunction parseMonthNumber(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.m = n[0] - 1, i + n[0].length) : -1;\n}\n\nfunction parseDayOfMonth(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseDayOfYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseHour24(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.H = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMinutes(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.M = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.S = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMilliseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.L = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMicroseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 6));\n return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1;\n}\n\nfunction parseLiteralPercent(d, string, i) {\n var n = percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n}\n\nfunction parseUnixTimestamp(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseUnixTimestampSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.s = +n[0], i + n[0].length) : -1;\n}\n\nfunction formatDayOfMonth(d, p) {\n return pad(d.getDate(), p, 2);\n}\n\nfunction formatHour24(d, p) {\n return pad(d.getHours(), p, 2);\n}\n\nfunction formatHour12(d, p) {\n return pad(d.getHours() % 12 || 12, p, 2);\n}\n\nfunction formatDayOfYear(d, p) {\n return pad(1 + timeDay.count(timeYear(d), d), p, 3);\n}\n\nfunction formatMilliseconds(d, p) {\n return pad(d.getMilliseconds(), p, 3);\n}\n\nfunction formatMicroseconds(d, p) {\n return formatMilliseconds(d, p) + \"000\";\n}\n\nfunction formatMonthNumber(d, p) {\n return pad(d.getMonth() + 1, p, 2);\n}\n\nfunction formatMinutes(d, p) {\n return pad(d.getMinutes(), p, 2);\n}\n\nfunction formatSeconds(d, p) {\n return pad(d.getSeconds(), p, 2);\n}\n\nfunction formatWeekdayNumberMonday(d) {\n var day = d.getDay();\n return day === 0 ? 7 : day;\n}\n\nfunction formatWeekNumberSunday(d, p) {\n return pad(timeSunday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction dISO(d) {\n var day = d.getDay();\n return (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n}\n\nfunction formatWeekNumberISO(d, p) {\n d = dISO(d);\n return pad(timeThursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);\n}\n\nfunction formatWeekdayNumberSunday(d) {\n return d.getDay();\n}\n\nfunction formatWeekNumberMonday(d, p) {\n return pad(timeMonday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction formatYear(d, p) {\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatYearISO(d, p) {\n d = dISO(d);\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatFullYear(d, p) {\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatFullYearISO(d, p) {\n var day = d.getDay();\n d = (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatZone(d) {\n var z = d.getTimezoneOffset();\n return (z > 0 ? \"-\" : (z *= -1, \"+\"))\n + pad(z / 60 | 0, \"0\", 2)\n + pad(z % 60, \"0\", 2);\n}\n\nfunction formatUTCDayOfMonth(d, p) {\n return pad(d.getUTCDate(), p, 2);\n}\n\nfunction formatUTCHour24(d, p) {\n return pad(d.getUTCHours(), p, 2);\n}\n\nfunction formatUTCHour12(d, p) {\n return pad(d.getUTCHours() % 12 || 12, p, 2);\n}\n\nfunction formatUTCDayOfYear(d, p) {\n return pad(1 + utcDay.count(utcYear(d), d), p, 3);\n}\n\nfunction formatUTCMilliseconds(d, p) {\n return pad(d.getUTCMilliseconds(), p, 3);\n}\n\nfunction formatUTCMicroseconds(d, p) {\n return formatUTCMilliseconds(d, p) + \"000\";\n}\n\nfunction formatUTCMonthNumber(d, p) {\n return pad(d.getUTCMonth() + 1, p, 2);\n}\n\nfunction formatUTCMinutes(d, p) {\n return pad(d.getUTCMinutes(), p, 2);\n}\n\nfunction formatUTCSeconds(d, p) {\n return pad(d.getUTCSeconds(), p, 2);\n}\n\nfunction formatUTCWeekdayNumberMonday(d) {\n var dow = d.getUTCDay();\n return dow === 0 ? 7 : dow;\n}\n\nfunction formatUTCWeekNumberSunday(d, p) {\n return pad(utcSunday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction UTCdISO(d) {\n var day = d.getUTCDay();\n return (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n}\n\nfunction formatUTCWeekNumberISO(d, p) {\n d = UTCdISO(d);\n return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);\n}\n\nfunction formatUTCWeekdayNumberSunday(d) {\n return d.getUTCDay();\n}\n\nfunction formatUTCWeekNumberMonday(d, p) {\n return pad(utcMonday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction formatUTCYear(d, p) {\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCYearISO(d, p) {\n d = UTCdISO(d);\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCFullYear(d, p) {\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCFullYearISO(d, p) {\n var day = d.getUTCDay();\n d = (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCZone() {\n return \"+0000\";\n}\n\nfunction formatLiteralPercent() {\n return \"%\";\n}\n\nfunction formatUnixTimestamp(d) {\n return +d;\n}\n\nfunction formatUnixTimestampSeconds(d) {\n return Math.floor(+d / 1000);\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var timeFormat;\nexport var timeParse;\nexport var utcFormat;\nexport var utcParse;\n\ndefaultLocale({\n dateTime: \"%x, %X\",\n date: \"%-m/%-d/%Y\",\n time: \"%-I:%M:%S %p\",\n periods: [\"AM\", \"PM\"],\n days: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n shortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n months: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n shortMonths: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n timeFormat = locale.format;\n timeParse = locale.parse;\n utcFormat = locale.utcFormat;\n utcParse = locale.utcParse;\n return locale;\n}\n","import {timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeTicks, timeTickInterval} from \"d3-time\";\nimport {timeFormat} from \"d3-time-format\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport nice from \"./nice.js\";\n\nfunction date(t) {\n return new Date(t);\n}\n\nfunction number(t) {\n return t instanceof Date ? +t : +new Date(+t);\n}\n\nexport function calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format) {\n var scale = continuous(),\n invert = scale.invert,\n domain = scale.domain;\n\n var formatMillisecond = format(\".%L\"),\n formatSecond = format(\":%S\"),\n formatMinute = format(\"%I:%M\"),\n formatHour = format(\"%I %p\"),\n formatDay = format(\"%a %d\"),\n formatWeek = format(\"%b %d\"),\n formatMonth = format(\"%B\"),\n formatYear = format(\"%Y\");\n\n function tickFormat(date) {\n return (second(date) < date ? formatMillisecond\n : minute(date) < date ? formatSecond\n : hour(date) < date ? formatMinute\n : day(date) < date ? formatHour\n : month(date) < date ? (week(date) < date ? formatDay : formatWeek)\n : year(date) < date ? formatMonth\n : formatYear)(date);\n }\n\n scale.invert = function(y) {\n return new Date(invert(y));\n };\n\n scale.domain = function(_) {\n return arguments.length ? domain(Array.from(_, number)) : domain().map(date);\n };\n\n scale.ticks = function(interval) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], interval == null ? 10 : interval);\n };\n\n scale.tickFormat = function(count, specifier) {\n return specifier == null ? tickFormat : format(specifier);\n };\n\n scale.nice = function(interval) {\n var d = domain();\n if (!interval || typeof interval.range !== \"function\") interval = tickInterval(d[0], d[d.length - 1], interval == null ? 10 : interval);\n return interval ? domain(nice(d, interval)) : scale;\n };\n\n scale.copy = function() {\n return copy(scale, calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format));\n };\n\n return scale;\n}\n\nexport default function time() {\n return initRange.apply(calendar(timeTicks, timeTickInterval, timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]), arguments);\n}\n"],"names":["nice","domain","interval","i0","i1","x0","x1","t","t0","t1","timeInterval","floori","offseti","count","field","date","d0","d1","step","start","stop","range","previous","test","end","d","millisecond","k","durationSecond","durationMinute","durationHour","durationDay","durationWeek","durationMonth","durationYear","second","timeMinute","utcMinute","timeHour","utcHour","timeDay","utcDay","unixDay","timeWeekday","i","timeSunday","timeMonday","timeTuesday","timeWednesday","timeThursday","timeFriday","timeSaturday","utcWeekday","utcSunday","utcMonday","utcTuesday","utcWednesday","utcThursday","utcFriday","utcSaturday","timeMonth","utcMonth","timeYear","utcYear","ticker","year","month","week","day","hour","minute","tickIntervals","ticks","reverse","tickInterval","target","bisector","tickStep","timeTicks","timeTickInterval","localDate","utcDate","newDate","y","m","formatLocale","locale","locale_dateTime","locale_date","locale_time","locale_periods","locale_weekdays","locale_shortWeekdays","locale_months","locale_shortMonths","periodRe","formatRe","periodLookup","formatLookup","weekdayRe","weekdayLookup","shortWeekdayRe","shortWeekdayLookup","monthRe","monthLookup","shortMonthRe","shortMonthLookup","formats","formatShortWeekday","formatWeekday","formatShortMonth","formatMonth","formatDayOfMonth","formatMicroseconds","formatYearISO","formatFullYearISO","formatHour24","formatHour12","formatDayOfYear","formatMilliseconds","formatMonthNumber","formatMinutes","formatPeriod","formatQuarter","formatUnixTimestamp","formatUnixTimestampSeconds","formatSeconds","formatWeekdayNumberMonday","formatWeekNumberSunday","formatWeekNumberISO","formatWeekdayNumberSunday","formatWeekNumberMonday","formatYear","formatFullYear","formatZone","formatLiteralPercent","utcFormats","formatUTCShortWeekday","formatUTCWeekday","formatUTCShortMonth","formatUTCMonth","formatUTCDayOfMonth","formatUTCMicroseconds","formatUTCYearISO","formatUTCFullYearISO","formatUTCHour24","formatUTCHour12","formatUTCDayOfYear","formatUTCMilliseconds","formatUTCMonthNumber","formatUTCMinutes","formatUTCPeriod","formatUTCQuarter","formatUTCSeconds","formatUTCWeekdayNumberMonday","formatUTCWeekNumberSunday","formatUTCWeekNumberISO","formatUTCWeekdayNumberSunday","formatUTCWeekNumberMonday","formatUTCYear","formatUTCFullYear","formatUTCZone","parses","parseShortWeekday","parseWeekday","parseShortMonth","parseMonth","parseLocaleDateTime","parseDayOfMonth","parseMicroseconds","parseYear","parseFullYear","parseHour24","parseDayOfYear","parseMilliseconds","parseMonthNumber","parseMinutes","parsePeriod","parseQuarter","parseUnixTimestamp","parseUnixTimestampSeconds","parseSeconds","parseWeekdayNumberMonday","parseWeekNumberSunday","parseWeekNumberISO","parseWeekdayNumberSunday","parseWeekNumberMonday","parseLocaleDate","parseLocaleTime","parseZone","parseLiteralPercent","newFormat","specifier","string","j","n","c","pad","format","pads","newParse","Z","parseSpecifier","parse","f","p","numberRe","percentRe","requoteRe","value","fill","width","sign","length","requote","s","names","name","dISO","z","dow","UTCdISO","timeFormat","defaultLocale","definition","number","calendar","scale","continuous","invert","formatMillisecond","formatSecond","formatMinute","formatHour","formatDay","formatWeek","tickFormat","_","copy","time","initRange","timeWeek","timeSecond"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./transformDataForAggregation-XNg0OGYE.cjs"),a=require("./fetchAndParseData-l5HGMAEs.cjs"),o=require("./transformDataForGraphFromFile-CzepNVGZ.cjs");exports.transformDataForAggregation=r.transformDataForAggregation;exports.transformDataForGraph=r.transformDataForGraph;exports.transformColumnsToArray=a.transformColumnsToArray;exports.transformDataForGraphFromFile=o.transformDataForGraphFromFile;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./transformDataForAggregation-CYoB5Xsk.cjs"),a=require("./fetchAndParseData-l5HGMAEs.cjs"),o=require("./transformDataForGraphFromFile-CuXxR8uA.cjs");exports.transformDataForAggregation=r.transformDataForAggregation;exports.transformDataForGraph=r.transformDataForGraph;exports.transformColumnsToArray=a.transformColumnsToArray;exports.transformDataForGraphFromFile=o.transformDataForGraphFromFile;
2
2
  //# sourceMappingURL=transformData.cjs.map
@@ -1,6 +1,6 @@
1
- import { t as o, a as t } from "./transformDataForAggregation-DEU__LUl.js";
1
+ import { t as o, a as t } from "./transformDataForAggregation-j34UL73s.js";
2
2
  import { t as s } from "./fetchAndParseData-BpqkBPQL.js";
3
- import { t as n } from "./transformDataForGraphFromFile-CSG24iF6.js";
3
+ import { t as n } from "./transformDataForGraphFromFile-DyP-83Nh.js";
4
4
  export {
5
5
  s as transformColumnsToArray,
6
6
  o as transformDataForAggregation,
@@ -0,0 +1,2 @@
1
+ "use strict";const q=require("./index-BS2TADPj.cjs"),m=require("./checkIfNullOrUndefined-BCW3Y1ML.cjs"),h=require("./getGraphList-CA17dvFB.cjs"),o=require("./index-CSNtgibC.cjs"),g=require("./uniqBy-O05lp2S5.cjs"),c=[{chartID:"barChart",configuration:[{id:"label",required:!0,multiple:!1},{id:"size",required:!0,multiple:!1},{id:"color",required:!1,multiple:!1},{id:"date",required:!1,multiple:!1}]},{chartID:"bulletChart",configuration:[{id:"label",required:!0,multiple:!1},{id:"size",required:!0,multiple:!1},{id:"target",required:!1,multiple:!1},{id:"qualitativeRange",required:!1,multiple:!0},{id:"date",required:!1,multiple:!1}]},{chartID:"radarChart",configuration:[{id:"label",required:!1,multiple:!1},{id:"values",required:!0,multiple:!0},{id:"color",required:!1,multiple:!1}]},{chartID:"stackedBarChart",configuration:[{id:"label",required:!0,multiple:!1},{id:"size",multiple:!0,required:!0},{id:"date",required:!1,multiple:!1}]},{chartID:"groupedBarChart",configuration:[{id:"label",required:!0,multiple:!1},{id:"size",multiple:!0,required:!0},{id:"date",required:!1,multiple:!1}]},{chartID:"lineChart",configuration:[{id:"date",required:!0,multiple:!1},{id:"y",required:!0,multiple:!1}]},{chartID:"dualAxisLineChart",configuration:[{id:"date",required:!0,multiple:!1},{id:"y1",multiple:!1,required:!0},{id:"y2",multiple:!1,required:!0}]},{chartID:"differenceLineChart",configuration:[{id:"date",required:!0,multiple:!1},{id:"y1",multiple:!1,required:!0},{id:"y2",multiple:!1,required:!0}]},{chartID:"multiLineChart",configuration:[{id:"date",required:!0,multiple:!1},{id:"y",multiple:!0,required:!0}]},{chartID:"multiLineAltChart",configuration:[{id:"date",required:!0,multiple:!1},{id:"y",multiple:!1,required:!0},{id:"label",multiple:!1,required:!0},{id:"color",multiple:!1,required:!1}]},{chartID:"stackedAreaChart",configuration:[{id:"date",required:!0,multiple:!1},{id:"y",multiple:!0,required:!0}]},{chartID:"threeDGlobe",configuration:[{id:"id",required:!0,multiple:!1},{id:"x",required:!0,multiple:!1}]},{chartID:"choroplethMap",configuration:[{id:"id",required:!0,multiple:!1},{id:"x",required:!0,multiple:!1},{id:"date",required:!1,multiple:!1}]},{chartID:"biVariateChoroplethMap",configuration:[{id:"id",required:!0,multiple:!1},{id:"x",required:!0,multiple:!1},{id:"y",required:!0,multiple:!1},{id:"date",required:!1,multiple:!1}]},{chartID:"dotDensityMap",configuration:[{id:"lat",required:!0,multiple:!1},{id:"long",required:!0,multiple:!1},{id:"label",multiple:!1,required:!1},{id:"color",multiple:!1,required:!1},{id:"radius",required:!1,multiple:!1},{id:"date",required:!1,multiple:!1}]},{chartID:"hybridMap",configuration:[{id:"id",required:!1,multiple:!1},{id:"x",required:!1,multiple:!1},{id:"lat",required:!1,multiple:!1},{id:"long",required:!1,multiple:!1},{id:"label",multiple:!1,required:!1},{id:"radius",required:!1,multiple:!1},{id:"date",required:!1,multiple:!1}]},{chartID:"donutChart",configuration:[{id:"label",required:!0,multiple:!1},{id:"size",required:!0,multiple:!1}]},{chartID:"slopeChart",configuration:[{id:"label",required:!0,multiple:!1},{id:"y1",required:!0,multiple:!1},{id:"y2",required:!0,multiple:!1},{id:"color",required:!1,multiple:!1}]},{chartID:"scatterPlot",configuration:[{id:"x",required:!0,multiple:!1},{id:"y",required:!0,multiple:!1},{id:"radius",required:!1,multiple:!1},{id:"color",required:!1,multiple:!1},{id:"label",required:!0,multiple:!1},{id:"date",required:!1,multiple:!1}]},{chartID:"dumbbellChart",configuration:[{id:"label",required:!0,multiple:!1},{id:"x",multiple:!0,required:!0},{id:"date",required:!1,multiple:!1}]},{chartID:"treeMap",configuration:[{id:"label",required:!0,multiple:!1},{id:"size",required:!0,multiple:!1},{id:"color",required:!1,multiple:!1}]},{chartID:"circlePacking",configuration:[{id:"label",required:!0,multiple:!1},{id:"size",required:!1,multiple:!1},{id:"color",required:!1,multiple:!1}]},{chartID:"sankeyChart",configuration:[{id:"source",required:!0,multiple:!1},{id:"target",required:!0,multiple:!1},{id:"value",required:!1,multiple:!1}]},{chartID:"heatMap",configuration:[{id:"row",required:!0,multiple:!1},{id:"column",required:!0,multiple:!1},{id:"value",required:!0,multiple:!1}]},{chartID:"stripChart",configuration:[{id:"label",required:!0,multiple:!1},{id:"position",required:!0,multiple:!1},{id:"color",required:!1,multiple:!1}]},{chartID:"statCard",configuration:[{id:"value",required:!0,multiple:!1}]},{chartID:"beeSwarmChart",configuration:[{id:"label",required:!0,multiple:!1},{id:"position",required:!0,multiple:!1},{id:"radius",required:!1,multiple:!1},{id:"color",required:!1,multiple:!1}]},{chartID:"butterflyChart",configuration:[{id:"label",required:!0,multiple:!1},{id:"leftBar",required:!0,multiple:!1},{id:"rightBar",required:!0,multiple:!1},{id:"date",required:!1,multiple:!1}]},{chartID:"lineChartWithConfidenceInterval",configuration:[{id:"date",required:!0,multiple:!1},{id:"y",required:!0,multiple:!1},{id:"yMin",required:!1,multiple:!1},{id:"yMax",required:!1,multiple:!1}]},{chartID:"histogram",configuration:[{id:"value",required:!0,multiple:!1}]},{chartID:"sparkLine",configuration:[{id:"dale",required:!0,multiple:!1},{id:"y",required:!0,multiple:!1}]},{chartID:"paretoChart",configuration:[{id:"label",required:!0,multiple:!1},{id:"bar",required:!0,multiple:!1},{id:"line",required:!0,multiple:!1}]},{chartID:"unitChart",configuration:[{id:"label",required:!0,multiple:!1},{id:"value",required:!0,multiple:!1}]}];function p(l,a){return a.filter(d=>!l.includes(d))}function I(l,a,d){const f=q.flattenDeep(l.map(e=>e.columnId)),u=p(d,f);if(u.length!==0)return{isValid:!1,err:`Key(s) in configuration that don't match keys in the data: ${u.join(", ")}. Possible reason: If you are using 'dataTransform' then the allowed keys (columns) are only the one present in 'aggregationColumnsSetting' array in 'dataTransform' object plus an additional key called 'count'.`};const s=l.map(e=>e.chartConfigId),t=c[c.findIndex(e=>e.chartID===a)].configuration.filter(e=>e.required).map(e=>e.id),i=p(s,t);return{isValid:i.length===0,err:i.length===0?void 0:`Missing required ID(s) in configuration: ${i.join(", ")}`}}function D(l,a,d){if(h.graphList.filter(u=>u.geoHubMapPresentation).map(u=>u.graphID).indexOf(a)!==-1)return l;if(!l)return"Cannot fetch data";if(a==="dataTable"||a==="dataCards"||l.length===0)return l;if(!d)return console.error("Your data configuration is not accurate"),"No graph configuration is provided";const f=I(d,a,Object.keys(l[0]));if(f.isValid){const u=c[c.findIndex(t=>t.chartID===a)].configuration;return l.map(t=>{const i={};return d.filter(e=>e.columnId).forEach(e=>{u[u.findIndex(r=>r.id===e.chartConfigId)].multiple?(i[u[u.findIndex(r=>r.id===e.chartConfigId)].id]=[],e.columnId.forEach(r=>{i[u[u.findIndex(n=>n.id===e.chartConfigId)].id].push(m.checkIfNullOrUndefined(t[r])?null:t[r])})):i[u[u.findIndex(r=>r.id===e.chartConfigId)].id]=m.checkIfNullOrUndefined(t[e.columnId])?null:t[e.columnId],i[`${e.chartConfigId}Columns`]=e.columnId}),i.data=t,i})}return console.error(f.err),f.err}function b(l,a,d){return l.length===0?[]:typeof l[0][a]!="object"?g.uniqBy(l,a).map(t=>{const i={};i[a]=t;const e=l.filter(r=>r[a]===t);return i.count=e.length,i.rollUpData=e,d?.forEach(r=>{i[r.column]=r.aggregationMethod==="average"?parseFloat((o.sum(e.map(n=>n[r.column]))/e.length).toFixed(2)):r.aggregationMethod==="max"?Math.max(...e.map(n=>n[r.column])):r.aggregationMethod==="min"?Math.min(...e.map(n=>n[r.column])):o.sum(e.map(n=>n[r.column]))}),i}):[...new Set(q.flattenDeep(l.map(s=>s[a])))].map(s=>{const t={};t[a]=s;const i=l.filter(e=>e[a].indexOf(s)!==-1);return t.rollUpData=i,t.count=i.length,d?.forEach(e=>{t[e.column]=e.aggregationMethod==="average"?parseFloat((o.sum(i.map(r=>r[e.column]))/i.length).toFixed(2)):e.aggregationMethod==="max"?Math.max(...i.map(r=>r[e.column])):e.aggregationMethod==="min"?Math.min(...i.map(r=>r[e.column])):o.sum(i.map(r=>r[e.column]))}),t})}exports.transformDataForAggregation=b;exports.transformDataForGraph=D;
2
+ //# sourceMappingURL=transformDataForAggregation-CYoB5Xsk.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformDataForAggregation-CYoB5Xsk.cjs","sources":["../src/Utils/transformData/graphConfig.ts","../src/Utils/checkDataValidity.ts","../src/Utils/transformData/transformDataForGraph.ts","../src/Utils/transformData/transformDataForAggregation.ts"],"sourcesContent":["import { GraphType, ThreeDGraphType } from '@/Types';\r\n\r\nexport const ChartConfiguration: {\r\n chartID: GraphType | ThreeDGraphType;\r\n configuration: { id: string; required: boolean; multiple: boolean }[];\r\n}[] = [\r\n {\r\n chartID: 'barChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'bulletChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'target',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'qualitativeRange',\r\n required: false,\r\n multiple: true,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'radarChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'values',\r\n required: true,\r\n multiple: true,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'stackedBarChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n multiple: true,\r\n required: true,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'groupedBarChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n multiple: true,\r\n required: true,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'lineChart',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'dualAxisLineChart',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y1',\r\n multiple: false,\r\n required: true,\r\n },\r\n {\r\n id: 'y2',\r\n multiple: false,\r\n required: true,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'differenceLineChart',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y1',\r\n multiple: false,\r\n required: true,\r\n },\r\n {\r\n id: 'y2',\r\n multiple: false,\r\n required: true,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'multiLineChart',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n multiple: true,\r\n required: true,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'multiLineAltChart',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n multiple: false,\r\n required: true,\r\n },\r\n {\r\n id: 'label',\r\n multiple: false,\r\n required: true,\r\n },\r\n {\r\n id: 'color',\r\n multiple: false,\r\n required: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'stackedAreaChart',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n multiple: true,\r\n required: true,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'threeDGlobe',\r\n configuration: [\r\n {\r\n id: 'id',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'x',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'choroplethMap',\r\n configuration: [\r\n {\r\n id: 'id',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'x',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'biVariateChoroplethMap',\r\n configuration: [\r\n {\r\n id: 'id',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'x',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'dotDensityMap',\r\n configuration: [\r\n {\r\n id: 'lat',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'long',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'label',\r\n multiple: false,\r\n required: false,\r\n },\r\n {\r\n id: 'color',\r\n multiple: false,\r\n required: false,\r\n },\r\n {\r\n id: 'radius',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'hybridMap',\r\n configuration: [\r\n {\r\n id: 'id',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'x',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'lat',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'long',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'label',\r\n multiple: false,\r\n required: false,\r\n },\r\n {\r\n id: 'radius',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'donutChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'slopeChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y1',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y2',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'scatterPlot',\r\n configuration: [\r\n {\r\n id: 'x',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'radius',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'dumbbellChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'x',\r\n multiple: true,\r\n required: true,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'treeMap',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'circlePacking',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'sankeyChart',\r\n configuration: [\r\n {\r\n id: 'source',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'target',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'value',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'heatMap',\r\n configuration: [\r\n {\r\n id: 'row',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'column',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'value',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'stripChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'position',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'statCard',\r\n configuration: [\r\n {\r\n id: 'value',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'beeSwarmChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'position',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'radius',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'butterflyChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'leftBar',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'rightBar',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'lineChartWithConfidenceInterval',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'yMin',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'yMax',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'histogram',\r\n configuration: [\r\n {\r\n id: 'value',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'sparkLine',\r\n configuration: [\r\n {\r\n id: 'dale',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'paretoChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'bar',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'line',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'unitChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'value',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n];\r\n","import flattenDeep from 'lodash.flattendeep';\r\n\r\nimport { ChartConfiguration } from './transformData/graphConfig';\r\n\r\nimport { GraphConfigurationDataType, GraphType, ThreeDGraphType } from '@/Types';\r\n\r\nfunction missingValuesInArray(superset: string[], subset: string[]): string[] {\r\n return subset.filter(value => !superset.includes(value));\r\n}\r\n\r\nexport function checkDataConfigValidity(\r\n dataConfig: GraphConfigurationDataType[],\r\n graph: GraphType | ThreeDGraphType,\r\n dataKeys: string[],\r\n) {\r\n const dataKeyFromDataConfig = flattenDeep(dataConfig.map(d => d.columnId));\r\n const checkDataKeys = missingValuesInArray(dataKeys, dataKeyFromDataConfig);\r\n if (checkDataKeys.length !== 0)\r\n return {\r\n isValid: false,\r\n err: `Key(s) in configuration that don't match keys in the data: ${checkDataKeys.join(\r\n ', ',\r\n )}. Possible reason: If you are using 'dataTransform' then the allowed keys (columns) are only the one present in 'aggregationColumnsSetting' array in 'dataTransform' object plus an additional key called 'count'.`,\r\n };\r\n const ids = dataConfig.map(el => el.chartConfigId);\r\n const requiredIds = ChartConfiguration[\r\n ChartConfiguration.findIndex(el => el.chartID === graph)\r\n ].configuration\r\n .filter(el => el.required)\r\n .map(el => el.id);\r\n const ifRequiredIdsPresent = missingValuesInArray(ids, requiredIds);\r\n return {\r\n isValid: ifRequiredIdsPresent.length === 0,\r\n err:\r\n ifRequiredIdsPresent.length === 0\r\n ? undefined\r\n : `Missing required ID(s) in configuration: ${ifRequiredIdsPresent.join(', ')}`,\r\n };\r\n}\r\n","import { checkDataConfigValidity } from '../checkDataValidity';\r\nimport { checkIfNullOrUndefined } from '../checkIfNullOrUndefined';\r\nimport { graphList } from '../getGraphList';\r\n\r\nimport { ChartConfiguration } from './graphConfig';\r\n\r\nimport { GraphConfigurationDataType, GraphType, ThreeDGraphType } from '@/Types';\r\n/**\r\n * Transforms the input data into a format suitable for graph visualization based on the given graph type and configuration.\r\n *\r\n * The function formats the data according to the specified graph configuration and checks the validity of the configuration.\r\n * It also handles cases for graphs like \"dataTable\" and \"dataCards\" without additional processing, and it processes\r\n * more complex graphs (e.g., charts) with a specific configuration.\r\n *\r\n * @param data - The data to be transformed, typically an array of objects representing rows of data.\r\n * @param graph - The type of graph to transform the data for (e.g., lineChart, barChart, etc.).\r\n * @param config - An optional array of configuration objects that define how the data should be mapped to the graph.\r\n * Each object in the array should define column mappings and how data should be grouped or aggregated.\r\n *\r\n * @returns The transformed data in the format required by the graph. If no valid configuration is provided, or if\r\n * data is invalid, an error message is returned.\r\n * - If the graph type is \"dataTable\" or \"dataCards\", the original data is returned unchanged.\r\n * - If data is invalid, an error message will be returned.\r\n *\r\n * @throws {string} If the configuration is invalid or the data can't be processed, an error message is logged and\r\n * returned.\r\n *\r\n * @example\r\n * const graphData = [\r\n * { category: 'A', value: 10 },\r\n * { category: 'B', value: 15 },\r\n * ];\r\n * const graph = 'barChart';\r\n * const config = [\r\n * { columnId: 'category', chartConfigId: 'label' },\r\n * { columnId: 'value', chartConfigId: 'size' },\r\n * ];\r\n * const transformedData = transformDataForGraph(graphData, graph, config);\r\n * console.log(transformedData);\r\n */\r\nexport function transformDataForGraph(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n data: any,\r\n graph: GraphType | ThreeDGraphType,\r\n config?: GraphConfigurationDataType[],\r\n) {\r\n if (\r\n graphList\r\n .filter(el => el.geoHubMapPresentation)\r\n .map(el => el.graphID)\r\n .indexOf(graph) !== -1\r\n )\r\n return data;\r\n if (!data) return 'Cannot fetch data';\r\n if (graph === 'dataTable' || graph === 'dataCards' || data.length === 0) return data;\r\n if (!config) {\r\n console.error('Your data configuration is not accurate');\r\n return 'No graph configuration is provided';\r\n }\r\n const dataConfigValidity = checkDataConfigValidity(config, graph, Object.keys(data[0]));\r\n if (dataConfigValidity.isValid) {\r\n const chartConfig =\r\n ChartConfiguration[ChartConfiguration.findIndex(d => d.chartID === graph)].configuration;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const dataFormatted = data.map((d: any) => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const obj: any = {};\r\n config\r\n .filter(el => el.columnId)\r\n .forEach(el => {\r\n if (chartConfig[chartConfig.findIndex(k => k.id === el.chartConfigId)].multiple) {\r\n obj[chartConfig[chartConfig.findIndex(k => k.id === el.chartConfigId)].id] = [];\r\n (el.columnId as string[]).forEach(l => {\r\n obj[chartConfig[chartConfig.findIndex(k => k.id === el.chartConfigId)].id].push(\r\n checkIfNullOrUndefined(d[l]) ? null : d[l],\r\n );\r\n });\r\n } else {\r\n obj[chartConfig[chartConfig.findIndex(k => k.id === el.chartConfigId)].id] =\r\n checkIfNullOrUndefined(d[el.columnId as string]) ? null : d[el.columnId as string];\r\n }\r\n obj[`${el.chartConfigId}Columns`] = el.columnId;\r\n });\r\n obj.data = d;\r\n return obj;\r\n });\r\n return dataFormatted;\r\n }\r\n console.error(dataConfigValidity.err);\r\n return dataConfigValidity.err;\r\n}\r\n","import sum from 'lodash.sum';\r\nimport flattenDeep from 'lodash.flattendeep';\r\n\r\nimport { uniqBy } from '../uniqBy';\r\n\r\nimport { AggregationSettingsDataType } from '@/Types';\r\n/**\r\n * Transforms the data for aggregation based on a key column and specified aggregation settings.\r\n * It groups the data by unique values in the key column and applies the aggregation methods to each group.\r\n *\r\n * @param data - The input data to be aggregated. Can be an array of objects, where each object represents a data row.\r\n * @param keyColumn - The name of the column to group the data by (key column).\r\n * @param aggregationSettings - Optional settings for the aggregation, specifying the column and aggregation method (e.g., 'average', 'max', 'min', 'sum').\r\n * Each setting can define a column and a corresponding aggregation method to apply to that column.\r\n *\r\n * @returns An array of objects where each object contains the aggregated values for each unique value in the key column.\r\n * Each object includes the key column value, count of occurrences, and the aggregated values for each specified column.\r\n *\r\n * @example\r\n * const data = [\r\n * { category: 'A', value: 10, amount: 5 },\r\n * { category: 'A', value: 20, amount: 10 },\r\n * { category: 'B', value: 15, amount: 7 },\r\n * ];\r\n * const aggregationSettings = [\r\n * { column: 'value', aggregationMethod: 'average' },\r\n * { column: 'amount', aggregationMethod: 'sum' },\r\n * ];\r\n * const transformedData = transformDataForAggregation(data, 'category', aggregationSettings);\r\n * console.log(transformedData);\r\n * // Output:\r\n * // [\r\n * // { category: 'A', count: 2, value: 15, amount: 15 },\r\n * // { category: 'B', count: 1, value: 15, amount: 7 },\r\n * // ]\r\n */\r\nexport function transformDataForAggregation(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n data: any,\r\n keyColumn: string,\r\n aggregationSettings?: AggregationSettingsDataType[],\r\n) {\r\n if (data.length === 0) return [];\r\n if (typeof data[0][keyColumn] !== 'object') {\r\n const uniqValues = uniqBy(data, keyColumn).map(d => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const dataObj: any = {};\r\n dataObj[keyColumn] = d;\r\n const filteredData = data.filter(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (j: any) => j[keyColumn] === d,\r\n );\r\n dataObj.count = filteredData.length;\r\n dataObj.rollUpData = filteredData;\r\n aggregationSettings?.forEach(el => {\r\n dataObj[el.column] =\r\n el.aggregationMethod === 'average'\r\n ? parseFloat(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (sum(filteredData.map((j: any) => j[el.column])) / filteredData.length).toFixed(2),\r\n )\r\n : el.aggregationMethod === 'max'\r\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n Math.max(...filteredData.map((j: any) => j[el.column]))\r\n : el.aggregationMethod === 'min'\r\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n Math.min(...filteredData.map((j: any) => j[el.column]))\r\n : // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n sum(filteredData.map((j: any) => j[el.column]));\r\n });\r\n return dataObj;\r\n });\r\n return uniqValues;\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const values = [...new Set(flattenDeep(data.map((d: any) => d[keyColumn])))];\r\n const uniqValues = values.map(d => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const dataObj: any = {};\r\n dataObj[keyColumn] = d;\r\n const filteredData = data.filter(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (j: any) => j[keyColumn].indexOf(d) !== -1,\r\n );\r\n dataObj.rollUpData = filteredData;\r\n dataObj.count = filteredData.length;\r\n aggregationSettings?.forEach(el => {\r\n dataObj[el.column] =\r\n el.aggregationMethod === 'average'\r\n ? parseFloat(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (sum(filteredData.map((j: any) => j[el.column])) / filteredData.length).toFixed(2),\r\n )\r\n : el.aggregationMethod === 'max'\r\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n Math.max(...filteredData.map((j: any) => j[el.column]))\r\n : el.aggregationMethod === 'min'\r\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n Math.min(...filteredData.map((j: any) => j[el.column]))\r\n : // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n sum(filteredData.map((j: any) => j[el.column]));\r\n });\r\n return dataObj;\r\n });\r\n return uniqValues;\r\n}\r\n"],"names":["ChartConfiguration","chartID","configuration","id","required","multiple","missingValuesInArray","superset","subset","filter","value","includes","checkDataConfigValidity","dataConfig","graph","dataKeys","dataKeyFromDataConfig","flattenDeep","map","d","columnId","checkDataKeys","length","isValid","err","join","ids","el","chartConfigId","requiredIds","findIndex","ifRequiredIdsPresent","undefined","transformDataForGraph","data","config","graphList","geoHubMapPresentation","graphID","indexOf","console","error","dataConfigValidity","Object","keys","chartConfig","obj","forEach","k","l","push","checkIfNullOrUndefined","transformDataForAggregation","keyColumn","aggregationSettings","uniqBy","dataObj","filteredData","j","count","rollUpData","column","aggregationMethod","parseFloat","sum","toFixed","Math","max","min","Set"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { f as q } from "./index-EArKRVKg.js";
2
2
  import { c } from "./checkIfNullOrUndefined-DmfiKkNw.js";
3
3
  import { g as h } from "./getGraphList-Dxwo9TDb.js";
4
- import { s } from "./index-CeVNqhMO.js";
4
+ import { s as o } from "./index-CeVNqhMO.js";
5
5
  import { u as g } from "./uniqBy-BHy4I8PK.js";
6
6
  const m = [{
7
7
  chartID: "barChart",
@@ -40,6 +40,10 @@ const m = [{
40
40
  id: "qualitativeRange",
41
41
  required: !1,
42
42
  multiple: !0
43
+ }, {
44
+ id: "date",
45
+ required: !1,
46
+ multiple: !1
43
47
  }]
44
48
  }, {
45
49
  chartID: "radarChart",
@@ -531,7 +535,7 @@ function p(l, a) {
531
535
  return a.filter((d) => !l.includes(d));
532
536
  }
533
537
  function I(l, a, d) {
534
- const o = q(l.map((e) => e.columnId)), u = p(d, o);
538
+ const s = q(l.map((e) => e.columnId)), u = p(d, s);
535
539
  if (u.length !== 0) return {
536
540
  isValid: !1,
537
541
  err: `Key(s) in configuration that don't match keys in the data: ${u.join(", ")}. Possible reason: If you are using 'dataTransform' then the allowed keys (columns) are only the one present in 'aggregationColumnsSetting' array in 'dataTransform' object plus an additional key called 'count'.`
@@ -548,8 +552,8 @@ function M(l, a, d) {
548
552
  if (a === "dataTable" || a === "dataCards" || l.length === 0) return l;
549
553
  if (!d)
550
554
  return console.error("Your data configuration is not accurate"), "No graph configuration is provided";
551
- const o = I(d, a, Object.keys(l[0]));
552
- if (o.isValid) {
555
+ const s = I(d, a, Object.keys(l[0]));
556
+ if (s.isValid) {
553
557
  const u = m[m.findIndex((t) => t.chartID === a)].configuration;
554
558
  return l.map((t) => {
555
559
  const i = {};
@@ -560,7 +564,7 @@ function M(l, a, d) {
560
564
  }), i.data = t, i;
561
565
  });
562
566
  }
563
- return console.error(o.err), o.err;
567
+ return console.error(s.err), s.err;
564
568
  }
565
569
  function v(l, a, d) {
566
570
  return l.length === 0 ? [] : typeof l[0][a] != "object" ? g(l, a).map((t) => {
@@ -573,7 +577,7 @@ function v(l, a, d) {
573
577
  return i.count = e.length, i.rollUpData = e, d?.forEach((r) => {
574
578
  i[r.column] = r.aggregationMethod === "average" ? parseFloat(
575
579
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
576
- (s(e.map((n) => n[r.column])) / e.length).toFixed(2)
580
+ (o(e.map((n) => n[r.column])) / e.length).toFixed(2)
577
581
  ) : r.aggregationMethod === "max" ? (
578
582
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
579
583
  Math.max(...e.map((n) => n[r.column]))
@@ -582,7 +586,7 @@ function v(l, a, d) {
582
586
  Math.min(...e.map((n) => n[r.column]))
583
587
  ) : (
584
588
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
585
- s(e.map((n) => n[r.column]))
589
+ o(e.map((n) => n[r.column]))
586
590
  );
587
591
  }), i;
588
592
  }) : [...new Set(q(l.map((f) => f[a])))].map((f) => {
@@ -595,7 +599,7 @@ function v(l, a, d) {
595
599
  return t.rollUpData = i, t.count = i.length, d?.forEach((e) => {
596
600
  t[e.column] = e.aggregationMethod === "average" ? parseFloat(
597
601
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
598
- (s(i.map((r) => r[e.column])) / i.length).toFixed(2)
602
+ (o(i.map((r) => r[e.column])) / i.length).toFixed(2)
599
603
  ) : e.aggregationMethod === "max" ? (
600
604
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
601
605
  Math.max(...i.map((r) => r[e.column]))
@@ -604,7 +608,7 @@ function v(l, a, d) {
604
608
  Math.min(...i.map((r) => r[e.column]))
605
609
  ) : (
606
610
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
607
- s(i.map((r) => r[e.column]))
611
+ o(i.map((r) => r[e.column]))
608
612
  );
609
613
  }), t;
610
614
  });
@@ -613,4 +617,4 @@ export {
613
617
  M as a,
614
618
  v as t
615
619
  };
616
- //# sourceMappingURL=transformDataForAggregation-DEU__LUl.js.map
620
+ //# sourceMappingURL=transformDataForAggregation-j34UL73s.js.map