@redsift/charts 11.6.0-muiv5-alpha.11 → 11.6.0-muiv5-alpha.13

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 (244) hide show
  1. package/_internal/Arc.js +2 -0
  2. package/{packages/charts/src/components/Arc/_internal → _internal}/Arc.js.map +1 -1
  3. package/{packages/charts/src/components/Arc/_internal → _internal}/Arc2.js +51 -8
  4. package/_internal/Arc2.js.map +1 -0
  5. package/_internal/Arcs.js +2 -0
  6. package/{packages/charts/src/components/Arcs/_internal → _internal}/Arcs.js.map +1 -1
  7. package/{packages/charts/src/components/Arcs/_internal → _internal}/Arcs2.js +11 -7
  8. package/_internal/Arcs2.js.map +1 -0
  9. package/_internal/Axis.js +2 -0
  10. package/{packages/charts/src/components/Axis/_internal → _internal}/Axis.js.map +1 -1
  11. package/{packages/charts/src/components/Axis/_internal → _internal}/Axis2.js +186 -9
  12. package/_internal/Axis2.js.map +1 -0
  13. package/_internal/Bar.js +2 -0
  14. package/{packages/charts/src/components/Bar/_internal → _internal}/Bar.js.map +1 -1
  15. package/{packages/charts/src/components/Bar/_internal → _internal}/Bar2.js +84 -9
  16. package/_internal/Bar2.js.map +1 -0
  17. package/_internal/BarChart.js +2 -0
  18. package/{packages/charts/src/components/BarChart/_internal → _internal}/BarChart.js.map +1 -1
  19. package/_internal/BarChart2.js +1419 -0
  20. package/_internal/BarChart2.js.map +1 -0
  21. package/_internal/ChartContainer.js +2 -0
  22. package/{packages/charts/src/components/ChartContainer/_internal → _internal}/ChartContainer.js.map +1 -1
  23. package/{packages/charts/src/components/ChartContainer/_internal → _internal}/ChartContainer2.js +104 -5
  24. package/_internal/ChartContainer2.js.map +1 -0
  25. package/_internal/DataPoint.js +2 -0
  26. package/{packages/charts/src/components/DataPoint/_internal → _internal}/DataPoint.js.map +1 -1
  27. package/{packages/charts/src/components/DataPoint/_internal → _internal}/DataPoint2.js +10 -4
  28. package/_internal/DataPoint2.js.map +1 -0
  29. package/_internal/Dot.js +2 -0
  30. package/{packages/charts/src/components/Dot/_internal → _internal}/Dot.js.map +1 -1
  31. package/{packages/charts/src/components/Dot/_internal → _internal}/Dot2.js +60 -5
  32. package/_internal/Dot2.js.map +1 -0
  33. package/_internal/Legend.js +2 -0
  34. package/{packages/charts/src/components/Legend/_internal → _internal}/Legend.js.map +1 -1
  35. package/{packages/charts/src/components/Legend/_internal/Legend2.js → _internal/Legend3.js} +17 -6
  36. package/_internal/Legend3.js.map +1 -0
  37. package/_internal/LegendItem.js +2 -0
  38. package/{packages/charts/src/components/LegendItem/_internal → _internal}/LegendItem.js.map +1 -1
  39. package/{packages/charts/src/components/LegendItem/_internal → _internal}/LegendItem2.js +63 -6
  40. package/_internal/LegendItem2.js.map +1 -0
  41. package/_internal/Line.js +2 -0
  42. package/{packages/charts/src/components/Line/_internal → _internal}/Line.js.map +1 -1
  43. package/{packages/charts/src/components/Line/_internal → _internal}/Line2.js +11 -7
  44. package/_internal/Line2.js.map +1 -0
  45. package/_internal/LineChart.js +2 -0
  46. package/{packages/charts/src/components/LineChart/_internal → _internal}/LineChart.js.map +1 -1
  47. package/{packages/charts/src/components/LineChart/_internal/RenderedLineChart.js → _internal/LineChart2.js} +317 -20
  48. package/_internal/LineChart2.js.map +1 -0
  49. package/_internal/PieChart.js +2 -0
  50. package/{packages/charts/src/components/PieChart/_internal → _internal}/PieChart.js.map +1 -1
  51. package/_internal/PieChart2.js +605 -0
  52. package/_internal/PieChart2.js.map +1 -0
  53. package/_internal/ScatterPlot.js +2 -0
  54. package/{packages/charts/src/components/ScatterPlot/_internal → _internal}/ScatterPlot.js.map +1 -1
  55. package/_internal/ScatterPlot2.js +744 -0
  56. package/_internal/ScatterPlot2.js.map +1 -0
  57. package/{_virtual/_internal → _internal}/_rollupPluginBabelHelpers.js +1 -1
  58. package/_internal/config.js +13 -0
  59. package/_internal/config.js.map +1 -0
  60. package/{packages/charts/src/types/_internal/legend.js → _internal/legend2.js} +2 -2
  61. package/_internal/legend2.js.map +1 -0
  62. package/{packages/charts/src/_internal → _internal}/scheme.js +1 -1
  63. package/_internal/scheme.js.map +1 -0
  64. package/{packages/charts/src/utils/index.js → _internal/theme.js} +37 -2
  65. package/_internal/theme.js.map +1 -0
  66. package/{packages/charts/src/hooks/_internal → _internal}/useFormatCategoricalData.js +3 -4
  67. package/_internal/useFormatCategoricalData.js.map +1 -0
  68. package/index.js +18 -0
  69. package/index.js.map +1 -0
  70. package/index2.js +16 -0
  71. package/index2.js.map +1 -0
  72. package/package.json +2 -2
  73. package/packages/charts/src/_internal/config.js +0 -15
  74. package/packages/charts/src/_internal/config.js.map +0 -1
  75. package/packages/charts/src/_internal/scheme.js.map +0 -1
  76. package/packages/charts/src/components/Arc/_internal/Arc.js +0 -3
  77. package/packages/charts/src/components/Arc/_internal/Arc2.js.map +0 -1
  78. package/packages/charts/src/components/Arc/_internal/styles.js +0 -49
  79. package/packages/charts/src/components/Arc/_internal/styles.js.map +0 -1
  80. package/packages/charts/src/components/Arcs/_internal/Arcs.js +0 -3
  81. package/packages/charts/src/components/Arcs/_internal/Arcs2.js.map +0 -1
  82. package/packages/charts/src/components/Arcs/_internal/styles.js +0 -9
  83. package/packages/charts/src/components/Arcs/_internal/styles.js.map +0 -1
  84. package/packages/charts/src/components/Axis/_internal/Axis.js +0 -4
  85. package/packages/charts/src/components/Axis/_internal/Axis2.js.map +0 -1
  86. package/packages/charts/src/components/Axis/_internal/computeTicks.js +0 -117
  87. package/packages/charts/src/components/Axis/_internal/computeTicks.js.map +0 -1
  88. package/packages/charts/src/components/Axis/_internal/styles.js +0 -51
  89. package/packages/charts/src/components/Axis/_internal/styles.js.map +0 -1
  90. package/packages/charts/src/components/Axis/_internal/types.js +0 -24
  91. package/packages/charts/src/components/Axis/_internal/types.js.map +0 -1
  92. package/packages/charts/src/components/Bar/_internal/Bar.js +0 -4
  93. package/packages/charts/src/components/Bar/_internal/Bar2.js.map +0 -1
  94. package/packages/charts/src/components/Bar/_internal/styles.js +0 -66
  95. package/packages/charts/src/components/Bar/_internal/styles.js.map +0 -1
  96. package/packages/charts/src/components/Bar/_internal/types.js +0 -18
  97. package/packages/charts/src/components/Bar/_internal/types.js.map +0 -1
  98. package/packages/charts/src/components/BarChart/_internal/BarChart.js +0 -4
  99. package/packages/charts/src/components/BarChart/_internal/BarChart2.js +0 -141
  100. package/packages/charts/src/components/BarChart/_internal/BarChart2.js.map +0 -1
  101. package/packages/charts/src/components/BarChart/_internal/BarChartBars.js +0 -168
  102. package/packages/charts/src/components/BarChart/_internal/BarChartBars.js.map +0 -1
  103. package/packages/charts/src/components/BarChart/_internal/BarChartSection.js +0 -139
  104. package/packages/charts/src/components/BarChart/_internal/BarChartSection.js.map +0 -1
  105. package/packages/charts/src/components/BarChart/_internal/EmptyBarChart.js +0 -57
  106. package/packages/charts/src/components/BarChart/_internal/EmptyBarChart.js.map +0 -1
  107. package/packages/charts/src/components/BarChart/_internal/LoadingBarChart.js +0 -18
  108. package/packages/charts/src/components/BarChart/_internal/LoadingBarChart.js.map +0 -1
  109. package/packages/charts/src/components/BarChart/_internal/RenderedLinearBarChart.js +0 -549
  110. package/packages/charts/src/components/BarChart/_internal/RenderedLinearBarChart.js.map +0 -1
  111. package/packages/charts/src/components/BarChart/_internal/RenderedOrdinalBarChart.js +0 -236
  112. package/packages/charts/src/components/BarChart/_internal/RenderedOrdinalBarChart.js.map +0 -1
  113. package/packages/charts/src/components/BarChart/_internal/context.js +0 -13
  114. package/packages/charts/src/components/BarChart/_internal/context.js.map +0 -1
  115. package/packages/charts/src/components/BarChart/_internal/styles.js +0 -71
  116. package/packages/charts/src/components/BarChart/_internal/styles.js.map +0 -1
  117. package/packages/charts/src/components/BarChart/_internal/types.js +0 -17
  118. package/packages/charts/src/components/BarChart/_internal/types.js.map +0 -1
  119. package/packages/charts/src/components/BarChart/_internal/utils.js +0 -69
  120. package/packages/charts/src/components/BarChart/_internal/utils.js.map +0 -1
  121. package/packages/charts/src/components/BarChart/intl/_internal/en-US.js +0 -17
  122. package/packages/charts/src/components/BarChart/intl/_internal/en-US.js.map +0 -1
  123. package/packages/charts/src/components/BarChart/intl/_internal/fr-FR.js +0 -17
  124. package/packages/charts/src/components/BarChart/intl/_internal/fr-FR.js.map +0 -1
  125. package/packages/charts/src/components/BarChart/intl/index.js +0 -10
  126. package/packages/charts/src/components/BarChart/intl/index.js.map +0 -1
  127. package/packages/charts/src/components/ChartContainer/_internal/ChartContainer.js +0 -3
  128. package/packages/charts/src/components/ChartContainer/_internal/ChartContainer2.js.map +0 -1
  129. package/packages/charts/src/components/ChartContainer/_internal/context.js +0 -6
  130. package/packages/charts/src/components/ChartContainer/_internal/context.js.map +0 -1
  131. package/packages/charts/src/components/ChartContainer/_internal/styles.js +0 -76
  132. package/packages/charts/src/components/ChartContainer/_internal/styles.js.map +0 -1
  133. package/packages/charts/src/components/ChartContainer/intl/_internal/en-US.js +0 -14
  134. package/packages/charts/src/components/ChartContainer/intl/_internal/en-US.js.map +0 -1
  135. package/packages/charts/src/components/ChartContainer/intl/_internal/fr-FR.js +0 -14
  136. package/packages/charts/src/components/ChartContainer/intl/_internal/fr-FR.js.map +0 -1
  137. package/packages/charts/src/components/ChartContainer/intl/index.js +0 -10
  138. package/packages/charts/src/components/ChartContainer/intl/index.js.map +0 -1
  139. package/packages/charts/src/components/DataPoint/_internal/DataPoint.js +0 -3
  140. package/packages/charts/src/components/DataPoint/_internal/DataPoint2.js.map +0 -1
  141. package/packages/charts/src/components/DataPoint/_internal/styles.js +0 -10
  142. package/packages/charts/src/components/DataPoint/_internal/styles.js.map +0 -1
  143. package/packages/charts/src/components/Dot/_internal/Dot.js +0 -4
  144. package/packages/charts/src/components/Dot/_internal/Dot2.js.map +0 -1
  145. package/packages/charts/src/components/Dot/_internal/styles.js +0 -49
  146. package/packages/charts/src/components/Dot/_internal/styles.js.map +0 -1
  147. package/packages/charts/src/components/Dot/_internal/types.js +0 -14
  148. package/packages/charts/src/components/Dot/_internal/types.js.map +0 -1
  149. package/packages/charts/src/components/Legend/_internal/Legend.js +0 -3
  150. package/packages/charts/src/components/Legend/_internal/Legend2.js.map +0 -1
  151. package/packages/charts/src/components/Legend/_internal/styles.js +0 -15
  152. package/packages/charts/src/components/Legend/_internal/styles.js.map +0 -1
  153. package/packages/charts/src/components/LegendItem/_internal/LegendItem.js +0 -3
  154. package/packages/charts/src/components/LegendItem/_internal/LegendItem2.js.map +0 -1
  155. package/packages/charts/src/components/LegendItem/_internal/styles.js +0 -63
  156. package/packages/charts/src/components/LegendItem/_internal/styles.js.map +0 -1
  157. package/packages/charts/src/components/Line/_internal/Line.js +0 -3
  158. package/packages/charts/src/components/Line/_internal/Line2.js.map +0 -1
  159. package/packages/charts/src/components/Line/_internal/styles.js +0 -9
  160. package/packages/charts/src/components/Line/_internal/styles.js.map +0 -1
  161. package/packages/charts/src/components/LineChart/_internal/EmptyLineChart.js +0 -58
  162. package/packages/charts/src/components/LineChart/_internal/EmptyLineChart.js.map +0 -1
  163. package/packages/charts/src/components/LineChart/_internal/LineChart.js +0 -4
  164. package/packages/charts/src/components/LineChart/_internal/LineChart2.js +0 -96
  165. package/packages/charts/src/components/LineChart/_internal/LineChart2.js.map +0 -1
  166. package/packages/charts/src/components/LineChart/_internal/LoadingLineChart.js +0 -18
  167. package/packages/charts/src/components/LineChart/_internal/LoadingLineChart.js.map +0 -1
  168. package/packages/charts/src/components/LineChart/_internal/RenderedLineChart.js.map +0 -1
  169. package/packages/charts/src/components/LineChart/_internal/styles.js +0 -53
  170. package/packages/charts/src/components/LineChart/_internal/styles.js.map +0 -1
  171. package/packages/charts/src/components/LineChart/_internal/types.js +0 -17
  172. package/packages/charts/src/components/LineChart/_internal/types.js.map +0 -1
  173. package/packages/charts/src/components/LineChart/_internal/utils.js +0 -67
  174. package/packages/charts/src/components/LineChart/_internal/utils.js.map +0 -1
  175. package/packages/charts/src/components/LineChart/intl/_internal/en-US.js +0 -17
  176. package/packages/charts/src/components/LineChart/intl/_internal/en-US.js.map +0 -1
  177. package/packages/charts/src/components/LineChart/intl/_internal/fr-FR.js +0 -17
  178. package/packages/charts/src/components/LineChart/intl/_internal/fr-FR.js.map +0 -1
  179. package/packages/charts/src/components/LineChart/intl/index.js +0 -10
  180. package/packages/charts/src/components/LineChart/intl/index.js.map +0 -1
  181. package/packages/charts/src/components/PieChart/_internal/EmptyPieChart.js +0 -85
  182. package/packages/charts/src/components/PieChart/_internal/EmptyPieChart.js.map +0 -1
  183. package/packages/charts/src/components/PieChart/_internal/LoadingPieChart.js +0 -18
  184. package/packages/charts/src/components/PieChart/_internal/LoadingPieChart.js.map +0 -1
  185. package/packages/charts/src/components/PieChart/_internal/PieChart.js +0 -4
  186. package/packages/charts/src/components/PieChart/_internal/PieChart2.js +0 -98
  187. package/packages/charts/src/components/PieChart/_internal/PieChart2.js.map +0 -1
  188. package/packages/charts/src/components/PieChart/_internal/RenderedPieChart.js +0 -198
  189. package/packages/charts/src/components/PieChart/_internal/RenderedPieChart.js.map +0 -1
  190. package/packages/charts/src/components/PieChart/_internal/styles.js +0 -168
  191. package/packages/charts/src/components/PieChart/_internal/styles.js.map +0 -1
  192. package/packages/charts/src/components/PieChart/_internal/types.js +0 -27
  193. package/packages/charts/src/components/PieChart/_internal/types.js.map +0 -1
  194. package/packages/charts/src/components/PieChart/_internal/utils.js +0 -37
  195. package/packages/charts/src/components/PieChart/_internal/utils.js.map +0 -1
  196. package/packages/charts/src/components/PieChart/intl/_internal/en-US.js +0 -9
  197. package/packages/charts/src/components/PieChart/intl/_internal/en-US.js.map +0 -1
  198. package/packages/charts/src/components/PieChart/intl/_internal/fr-FR.js +0 -9
  199. package/packages/charts/src/components/PieChart/intl/_internal/fr-FR.js.map +0 -1
  200. package/packages/charts/src/components/PieChart/intl/index.js +0 -10
  201. package/packages/charts/src/components/PieChart/intl/index.js.map +0 -1
  202. package/packages/charts/src/components/ScatterPlot/_internal/EmptyScatterPlot.js +0 -58
  203. package/packages/charts/src/components/ScatterPlot/_internal/EmptyScatterPlot.js.map +0 -1
  204. package/packages/charts/src/components/ScatterPlot/_internal/LoadingScatterPlot.js +0 -18
  205. package/packages/charts/src/components/ScatterPlot/_internal/LoadingScatterPlot.js.map +0 -1
  206. package/packages/charts/src/components/ScatterPlot/_internal/RenderedScatterPlot.js +0 -354
  207. package/packages/charts/src/components/ScatterPlot/_internal/RenderedScatterPlot.js.map +0 -1
  208. package/packages/charts/src/components/ScatterPlot/_internal/ScatterPlot.js +0 -4
  209. package/packages/charts/src/components/ScatterPlot/_internal/ScatterPlot2.js +0 -105
  210. package/packages/charts/src/components/ScatterPlot/_internal/ScatterPlot2.js.map +0 -1
  211. package/packages/charts/src/components/ScatterPlot/_internal/styles.js +0 -53
  212. package/packages/charts/src/components/ScatterPlot/_internal/styles.js.map +0 -1
  213. package/packages/charts/src/components/ScatterPlot/_internal/types.js +0 -24
  214. package/packages/charts/src/components/ScatterPlot/_internal/types.js.map +0 -1
  215. package/packages/charts/src/components/ScatterPlot/_internal/utils.js +0 -70
  216. package/packages/charts/src/components/ScatterPlot/_internal/utils.js.map +0 -1
  217. package/packages/charts/src/components/ScatterPlot/intl/_internal/en-US.js +0 -12
  218. package/packages/charts/src/components/ScatterPlot/intl/_internal/en-US.js.map +0 -1
  219. package/packages/charts/src/components/ScatterPlot/intl/_internal/fr-FR.js +0 -17
  220. package/packages/charts/src/components/ScatterPlot/intl/_internal/fr-FR.js.map +0 -1
  221. package/packages/charts/src/components/ScatterPlot/intl/index.js +0 -10
  222. package/packages/charts/src/components/ScatterPlot/intl/index.js.map +0 -1
  223. package/packages/charts/src/hooks/_internal/useBrush.js +0 -48
  224. package/packages/charts/src/hooks/_internal/useBrush.js.map +0 -1
  225. package/packages/charts/src/hooks/_internal/useColor.js +0 -20
  226. package/packages/charts/src/hooks/_internal/useColor.js.map +0 -1
  227. package/packages/charts/src/hooks/_internal/useFormatCategoricalData.js.map +0 -1
  228. package/packages/charts/src/hooks/_internal/useZoom.js +0 -39
  229. package/packages/charts/src/hooks/_internal/useZoom.js.map +0 -1
  230. package/packages/charts/src/index.js +0 -43
  231. package/packages/charts/src/index.js.map +0 -1
  232. package/packages/charts/src/types/_internal/legend.js.map +0 -1
  233. package/packages/charts/src/types/_internal/size.js +0 -8
  234. package/packages/charts/src/types/_internal/size.js.map +0 -1
  235. package/packages/charts/src/types/_internal/theme.js +0 -13
  236. package/packages/charts/src/types/_internal/theme.js.map +0 -1
  237. package/packages/charts/src/utils/index.js.map +0 -1
  238. package/packages/icons/src/components/mdi/_internal/mdiChevronDown.js +0 -4
  239. package/packages/icons/src/components/mdi/_internal/mdiChevronDown.js.map +0 -1
  240. package/packages/icons/src/components/mdi/_internal/mdiChevronRight.js +0 -4
  241. package/packages/icons/src/components/mdi/_internal/mdiChevronRight.js.map +0 -1
  242. package/packages/icons/src/components/mdi/_internal/mdiMouse.js +0 -4
  243. package/packages/icons/src/components/mdi/_internal/mdiMouse.js.map +0 -1
  244. /package/{_virtual/_internal → _internal}/_rollupPluginBabelHelpers.js.map +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScatterPlot2.js","sources":["../../src/hooks/useBrush.tsx","../../src/hooks/useZoom.tsx","../../src/components/ScatterPlot/types.ts","../../src/components/ScatterPlot/styles.ts","../../src/components/ScatterPlot/LoadingScatterPlot.tsx","../../src/components/ScatterPlot/utils.ts","../../src/components/ScatterPlot/EmptyScatterPlot.tsx","../../src/components/ScatterPlot/intl/index.ts","../../../icons/src/components/mdi/mdiChevronDown.ts","../../../icons/src/components/mdi/mdiChevronRight.ts","../../../icons/src/components/mdi/mdiMouse.ts","../../src/components/ScatterPlot/RenderedScatterPlot.tsx","../../src/components/ScatterPlot/ScatterPlot.tsx"],"sourcesContent":["import { MutableRefObject, useEffect, useRef } from 'react';\nimport {\n BrushBehavior as d3BrushBehavior,\n brush as d3brush,\n ScaleLinear as d3ScaleLinear,\n select as d3select,\n} from 'd3';\n\nexport interface UseBrushProps {\n brushRef: MutableRefObject<d3BrushBehavior<unknown> | undefined>;\n svgRef: MutableRefObject<SVGSVGElement | SVGGElement | undefined>;\n extent?: [[number, number], [number, number]];\n scaleX: d3ScaleLinear<number, number>;\n scaleY: d3ScaleLinear<number, number>;\n isBrushable?: boolean;\n isGridded?: boolean;\n onBrush?: (\n selection: [[number, number], [number, number]] | null,\n scaleX: d3ScaleLinear<number, number>,\n scaleY: d3ScaleLinear<number, number>\n ) => void;\n onBrushEnd?: (\n selection: [[number, number], [number, number]] | null,\n scaleX: d3ScaleLinear<number, number>,\n scaleY: d3ScaleLinear<number, number>\n ) => void;\n}\n\nconst getRoundedIntermediaryPoint = (\n selection: [[number, number], [number, number]],\n scaleX: d3ScaleLinear<number, number>,\n scaleY: d3ScaleLinear<number, number>\n) => {\n if (!selection) {\n return null;\n }\n\n const xTicks = scaleX.ticks(20);\n const xDelta = xTicks[1] - xTicks[0];\n const yTicks = scaleY.ticks(20);\n const yDelta = yTicks[1] - yTicks[0];\n\n return [\n [\n scaleX(\n Math.round(scaleX.invert(selection[0][0]) / xDelta) * xDelta -\n xDelta / 2\n ),\n scaleY(\n Math.round(scaleY.invert(selection[0][1]) / yDelta) * yDelta -\n yDelta / 2\n ),\n ],\n [\n scaleX(\n Math.round(scaleX.invert(selection[1][0]) / xDelta) * xDelta -\n xDelta / 2\n ),\n\n scaleY(\n Math.round(scaleY.invert(selection[1][1]) / yDelta) * yDelta -\n yDelta / 2\n ),\n ],\n ] as [[number, number], [number, number]];\n};\n\nexport const useBrush = ({\n brushRef: propsBrushRef,\n svgRef,\n extent,\n scaleX,\n scaleY,\n isBrushable,\n isGridded,\n onBrush,\n onBrushEnd,\n}: UseBrushProps) => {\n const brushRef = propsBrushRef || useRef<d3BrushBehavior<unknown>>();\n\n useEffect(() => {\n if (svgRef.current && isBrushable) {\n brushRef.current = d3brush()\n .extent(extent!)\n .keyModifiers(false)\n .filter((event) => event.shiftKey)\n .on('brush', (event) => {\n if (!event.sourceEvent || !brushRef.current || !svgRef.current)\n return;\n\n if (isGridded) {\n const selection = getRoundedIntermediaryPoint(\n event.selection,\n scaleX,\n scaleY\n );\n d3select(svgRef.current).call(\n brushRef.current.move as any,\n selection\n );\n onBrush?.(selection, scaleX, scaleY);\n } else {\n onBrush?.(event.selection, scaleX, scaleY);\n }\n })\n .on('end', (event) => {\n if (!event.sourceEvent || !brushRef.current || !svgRef.current)\n return;\n\n onBrushEnd?.(event.selection, scaleX, scaleY);\n });\n d3select(svgRef.current).call(brushRef.current as any);\n }\n });\n};\n","import { MutableRefObject, useEffect, useRef, useState } from 'react';\nimport {\n zoom as d3zoom,\n interpolateRound as d3interpolateRound,\n ScaleLinear as d3ScaleLinear,\n select as d3select,\n} from 'd3';\n\nexport interface UseZoomProps {\n svgRef: MutableRefObject<SVGSVGElement | undefined>;\n scaleX: d3ScaleLinear<number, number>;\n scaleY: d3ScaleLinear<number, number>;\n defaultTransform?: { k: number; x: number; y: number };\n size?: any;\n onZoom?: () => void;\n}\n\nexport const useZoom = ({\n svgRef,\n scaleX,\n scaleY,\n defaultTransform = { k: 1, x: 0, y: 0 },\n size,\n onZoom,\n}: UseZoomProps) => {\n const zx = useRef<d3ScaleLinear<number, number>>(scaleX);\n const zy = useRef<d3ScaleLinear<number, number>>(scaleY);\n const [transform, setTransform] = useState(defaultTransform);\n\n useEffect(() => {\n if (svgRef.current) {\n const zoom = d3zoom()\n .filter((event) => !event.shiftKey)\n .scaleExtent([1 / 2 ** 3, 2 ** 3])\n .on('zoom', (event) => {\n onZoom?.();\n zx.current = event.transform\n .rescaleX(scaleX)\n .interpolate(d3interpolateRound);\n zy.current = event.transform\n .rescaleY(scaleY)\n .interpolate(d3interpolateRound);\n setTransform(event.transform);\n });\n d3select(svgRef.current).call(zoom as any);\n }\n }, [svgRef.current, size]);\n\n return { transform, scaleX: zx.current, scaleY: zy.current };\n};\n","import {\n ChartDimensions,\n ChartSize,\n ChartTheme,\n TooltipVariant,\n DotDatum,\n CoordinatesCategoryData,\n ChartAxesProps,\n MarginProps,\n Statistics,\n} from '../../types';\nimport { Theme, ValueOf } from '@redsift/design-system';\nimport { ChartContainerProps } from '../ChartContainer';\nimport { MutableRefObject, ReactElement, ReactNode } from 'react';\nimport { DotProps } from '../Dot';\nimport { ScaleLinear as d3ScaleLinear } from 'd3';\nimport { LegendProps } from '../Legend';\nimport { SortingMethod } from '../../utils';\nimport { AnchorProps } from '../DataPoint';\n\n/**\n * Component variant.\n */\nexport const ScatterPlotVariant = {\n default: 'default',\n gridded: 'gridded',\n} as const;\nexport type ScatterPlotVariant = ValueOf<typeof ScatterPlotVariant>;\n\n/**\n * Component's labels variant.\n */\nexport const ScatterPlotLegendVariant = {\n none: 'none',\n externalLabel: 'externalLabel',\n externalLabelValue: 'externalLabelValue',\n externalLabelPercent: 'externalLabelPercent',\n custom: 'custom',\n} as const;\nexport type ScatterPlotLegendVariant = ValueOf<typeof ScatterPlotLegendVariant>;\n\ninterface LocaleText {\n emptyChartText: string;\n}\n\nexport type ScatterPlotDimensions = ChartDimensions & {\n fontSize: number;\n};\n\n/**\n * Component props.\n */\nexport interface ScatterPlotProps extends ChartContainerProps, ChartAxesProps {\n /** Dataset to use to generate the chart. */\n data?: CoordinatesCategoryData;\n /** Method used to define the anchor props to use when the dot is a navigation link. */\n getDotAnchorProps?: (datum: DotDatum) => AnchorProps;\n /** Dot role. If an onClick is provided, the dots will have the role `button`. For a navigation link, please use `getDotAnchorProps` instead. */\n dotRole?: DotProps['role'];\n /** Component to use if the chart is empty (replacing the default one). */\n emptyComponent?: ReactNode;\n /** Whether the Control Keys panel is displayed or not. */\n hideControlKeyPanel?: boolean;\n /** Whether the scatter plot dots are selectable using brush or not. */\n isBrushable?: boolean;\n /** Method to determine whether a dot is selected or not. */\n isDotSelected?: (datum: DotDatum) => boolean | undefined;\n /** Method to override the data point labels. */\n labelDecorator?: (\n datum: DotDatum,\n props?: { index?: number; isSelected?: boolean; color?: string }\n ) => string | ReactElement;\n /** Method modifying what's displayed within the legend when the legendVariant is \"custom\". */\n legendDecorator?: (\n datum: DotDatum,\n props?: { index?: number; isSelected?: boolean; color?: string }\n ) => string | ReactElement;\n /** Define whether the labels should be displayed inside or outside the charts and if they should contain raw or percentage values. If set to \"custom\", use `legendDecorator` to customize it. */\n legendVariant?: ScatterPlotLegendVariant;\n /** Props to forward to the Legend block. Can be used to make the legend selectable. */\n legendProps?: Omit<LegendProps, 'data' | 'ref' | 'variant' | 'width'> & {\n extraLegendItems?: Statistics;\n };\n /** Labels and texts. */\n localeText?: LocaleText;\n /** Custom margins, used to give more space for axes labels and legend for instance. */\n margins?: MarginProps;\n /** Method called on brush. */\n onBrush?: (\n selection: [[number, number], [number, number]] | null,\n scaleX: d3ScaleLinear<number, number>,\n scaleY: d3ScaleLinear<number, number>\n ) => void;\n /** Method called on brush end. */\n onBrushEnd?: (\n selection: [[number, number], [number, number]] | null,\n scaleX?: d3ScaleLinear<number, number>,\n scaleY?: d3ScaleLinear<number, number>\n ) => void;\n /** Method to be called on a click on a dot. For a navigation link, please use `getDotAnchorProps` instead. */\n onDotClick?: (datum: DotDatum) => void;\n /** ScatterPlot size. */\n size?: ChartSize | ScatterPlotDimensions;\n /** Define how to sort categories. */\n sortingMethod?: SortingMethod;\n /** Reference to the SVG tag. */\n svgRef?: MutableRefObject<SVGSVGElement>;\n /** Color palette to use. You can choose among the list of available color palette or also choose to use the success/warning/danger theme for which you have to specify which key corresponds to which status. */\n colorTheme?: ChartTheme;\n /** Method modifying what's displayed within the tooltip when the tooltipVariant is \"custom\". */\n tooltipDecorator?: (\n data: DotDatum,\n props?: { index?: number; isSelected?: boolean; color?: string }\n ) => string | ReactElement;\n /** Tooltip variant. */\n tooltipVariant?: TooltipVariant;\n /** Variant. */\n variant?: ScatterPlotVariant;\n /** Theme. */\n theme?: Theme;\n}\n\nexport type StyledScatterPlotProps = ScatterPlotProps & {};\n","import styled from 'styled-components';\nimport { StyledScatterPlotProps } from './types';\nimport { ChartContainer } from '../ChartContainer';\nimport { Theme } from '@redsift/design-system';\n\n/**\n * Component style.\n */\nexport const StyledScatterPlot = styled(ChartContainer)<StyledScatterPlotProps>``;\n\nexport const StyledScatterPlotEmptyText = styled.div<{\n $maxWidth: number;\n $textSize: number;\n $theme: Theme;\n}>`\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n pointer-events: none;\n\n > * {\n max-width: ${({ $maxWidth }) => $maxWidth}px;\n }\n\n > span {\n font-family: var(--redsift-typography-font-family-poppins);\n color: ${({ $theme }) => `var(--redsift-color-${$theme}-components-text-primary)`};\n font-size: ${({ $textSize }) => $textSize}px;\n line-height: ${({ $textSize }) => $textSize}px;\n }\n`;\n","import React, { forwardRef, RefObject } from 'react';\n\nimport { ScatterPlotProps } from './types';\nimport { StyledScatterPlot } from './styles';\n\nexport const LoadingScatterPlot = forwardRef<HTMLDivElement, ScatterPlotProps>(\n (props, ref) => {\n const { className, ...forwardedProps } = props;\n\n return (\n <StyledScatterPlot\n {...forwardedProps}\n className={className}\n ref={ref as RefObject<HTMLDivElement>}\n >\n Loading...\n </StyledScatterPlot>\n );\n }\n);\n","import { ScaleLinear as d3ScaleLinear } from 'd3';\n\nimport { CoordinatesCategoryData, CoordinatesCategoryDatum } from '../../types';\n\nimport { ChartSize } from '../../types';\nimport { ScatterPlotDimensions } from './types';\nimport { SortingMethod, getSortingMethod } from '../../utils';\n\nexport const sizeToDimension = (size: ChartSize | ScatterPlotDimensions): ScatterPlotDimensions => {\n if (typeof size !== 'string') {\n return size;\n }\n\n switch (size) {\n case ChartSize.small:\n return { width: 600, height: 300, fontSize: 30 };\n case ChartSize.medium:\n default:\n return { width: 750, height: 375, fontSize: 34 };\n case ChartSize.large:\n return { width: 900, height: 450, fontSize: 38 };\n }\n};\n\nexport const BASE_NUMBER_OF_TICKS = 20;\n\nexport const getClosestLineIndex = (value: number, scale: d3ScaleLinear<number, number, never>) => {\n const ticks = scale.ticks(BASE_NUMBER_OF_TICKS);\n const delta = ticks[1] - ticks[0];\n const index = Math.round(value / delta);\n const roundValue = index * delta;\n return [index, roundValue];\n};\n\nexport const group = (\n data: CoordinatesCategoryData,\n x: d3ScaleLinear<number, number, never>,\n y: d3ScaleLinear<number, number, never>\n) => {\n const groupDict: Record<\n string,\n {\n category: string;\n x: number;\n y: number;\n data: CoordinatesCategoryDatum;\n points: CoordinatesCategoryData;\n }\n > = {};\n\n data.forEach((d) => {\n const [i, rx] = getClosestLineIndex(d.key[0], x);\n const [j, ry] = getClosestLineIndex(d.key[1], y);\n\n const key = `${i}_${j}_${d.key[2]}`;\n if (!(key in groupDict)) {\n groupDict[key] = {\n category: d.key[2] as string,\n x: rx,\n y: ry,\n data: {\n key: d.key,\n value: 0,\n },\n points: [],\n };\n }\n\n groupDict[key].points.push(d);\n groupDict[key].data.value += 1;\n });\n\n return Object.values(groupDict);\n};\n\nexport const countBy = (arr: CoordinatesCategoryData, sortingMethod: SortingMethod) => {\n const counts = arr.reduce(\n (prev, curr) => ((prev[curr.key[2] as string] = ++(prev[curr.key[2] as string] as number) || 1), prev),\n {} as Record<string, number>\n );\n\n return Object.keys(counts)\n .map((key) => ({ key: key, value: counts[key] as number }))\n .sort(getSortingMethod(sortingMethod));\n};\n","import React, { forwardRef, RefObject, useEffect, useRef } from 'react';\nimport { scaleLinear as d3scaleLinear } from 'd3';\n\nimport { AnyScale, JSONArray } from '../../types';\nimport { ScatterPlotProps } from './types';\nimport { StyledScatterPlot, StyledScatterPlotEmptyText } from './styles';\nimport { Axis } from '../Axis';\nimport { sizeToDimension } from './utils';\nimport { useTheme } from '@redsift/design-system';\n\nexport const EmptyScatterPlot = forwardRef<HTMLDivElement, ScatterPlotProps>((props, ref) => {\n const { className, data: propsData, emptyComponent, localeText, size, ...forwardedProps } = props;\n const theme = useTheme();\n\n const cache = useRef<JSONArray>();\n\n const data = propsData;\n\n useEffect(() => {\n cache.current = data;\n });\n\n const chartDimensions = sizeToDimension(size!);\n const width = chartDimensions.width;\n const height = chartDimensions.height;\n const margins = { top: 16, left: 48, right: 16, bottom: 48 };\n const chartWidth = width - margins.left - margins.right;\n\n return (\n <StyledScatterPlot {...forwardedProps} className={className} ref={ref as RefObject<HTMLDivElement>}>\n {emptyComponent ?? (\n <>\n <StyledScatterPlotEmptyText $maxWidth={width} $textSize={chartDimensions.fontSize / 2} $theme={theme}>\n <span>{localeText?.emptyChartText}</span>\n </StyledScatterPlotEmptyText>\n <svg width={width} height={height}>\n <g transform={`translate(${margins.left},${margins.top})`}>\n <Axis\n position=\"bottom\"\n length={width - 32}\n scale={d3scaleLinear().domain([]).range([0, chartWidth]) as AnyScale}\n x={0}\n y={height}\n tickValues={4}\n />\n </g>\n </svg>\n </>\n )}\n </StyledScatterPlot>\n );\n});\n","import enUS from './en-US.json';\nimport frFR from './fr-FR.json';\n\nexport default {\n 'en-US': enUS,\n 'fr-FR': frFR,\n};\n","export const mdiChevronDown: string =\n 'M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z';\n","export const mdiChevronRight: string =\n 'M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z';\n","export const mdiMouse: string =\n 'M11,1.07C7.05,1.56 4,4.92 4,9H11M4,15A8,8 0 0,0 12,23A8,8 0 0,0 20,15V11H4M13,1.07V9H20C20,4.92 16.94,1.56 13,1.07Z';\n","import React, { forwardRef, RefObject, useEffect, useRef, useState } from 'react';\nimport {\n BrushBehavior as d3BrushBehavior,\n descending as d3descending,\n extent as d3extent,\n max as d3max,\n min as d3min,\n scaleLinear as d3scaleLinear,\n scaleSqrt as d3scaleSqrt,\n select as d3select,\n} from 'd3';\n\nimport { Button, Flexbox, Text, useTheme, useMessageFormatter } from '@redsift/design-system';\nimport intlMessages from './intl';\n\nimport { AnyScale, DotDatum, JSONArray, LegendItemDatum, LegendVariant } from '../../types';\nimport { ScatterPlotLegendVariant, ScatterPlotProps, ScatterPlotVariant } from './types';\nimport { StyledScatterPlot } from './styles';\nimport { useZoom, useColor, useBrush } from '../../hooks';\nimport { Axis, AxisVariant } from '../Axis';\nimport { Legend } from '../Legend';\nimport { Dot } from '../Dot';\nimport { BASE_NUMBER_OF_TICKS, countBy, group, sizeToDimension } from './utils';\nimport { mdiChevronDown, mdiChevronRight, mdiMouse } from '@redsift/icons';\nimport { Popover } from '@redsift/popovers';\nimport { mergeLegends, getSortingMethod } from '../../utils';\n\ninterface RenderedScatterPlotProps extends Required<Pick<ScatterPlotProps, 'data'>>, Omit<ScatterPlotProps, 'data'> {}\n\nexport const RenderedScatterPlot = forwardRef<HTMLDivElement, RenderedScatterPlotProps>((props, ref) => {\n const {\n isBrushable,\n className,\n data: propsData,\n dotRole,\n disableAnimations,\n getDotAnchorProps,\n hideControlKeyPanel,\n id,\n isDotSelected,\n labelDecorator,\n legendDecorator,\n legendVariant,\n legendProps,\n margins: propsMargins,\n onBrush,\n onBrushEnd,\n onDotClick,\n size,\n sortingMethod,\n colorTheme,\n tooltipDecorator,\n tooltipVariant,\n xAxisVariant,\n xAxisPlacement,\n xAxisTickFormat,\n xAxisTickPadding,\n xAxisTickRotation,\n xAxisTickSize,\n xAxisTickValues,\n yAxisVariant,\n yAxisPlacement,\n yAxisTickFormat,\n yAxisTickPadding,\n yAxisTickRotation,\n yAxisTickSize,\n yAxisTickValues,\n variant,\n ...forwardedProps\n } = props;\n\n const cache = useRef<JSONArray>();\n const theme = useTheme();\n\n const format = useMessageFormatter(intlMessages);\n\n const data = propsData.filter(\n (datum) =>\n datum.value &&\n typeof datum.key[0] === 'number' &&\n !Number.isNaN(datum.key[0]) &&\n typeof datum.key[1] === 'number' &&\n !Number.isNaN(datum.key[1])\n );\n\n useEffect(() => {\n cache.current = data;\n });\n\n const chartDimensions = sizeToDimension(size!);\n const width = chartDimensions.width;\n const height = chartDimensions.height;\n const margins = {\n top: xAxisVariant === AxisVariant.default || xAxisVariant === AxisVariant.tickValue ? 24 : 8,\n left: yAxisVariant === AxisVariant.default || yAxisVariant === AxisVariant.tickValue ? 48 : 8,\n right: yAxisVariant === AxisVariant.default || yAxisVariant === AxisVariant.tickValue ? 48 : 8,\n bottom: xAxisVariant === AxisVariant.default || xAxisVariant === AxisVariant.tickValue ? 24 : 8,\n ...propsMargins,\n };\n const chartHeight = height - margins.top - margins.bottom;\n const chartWidth = width - margins.left - margins.right;\n const minSize = d3min([chartWidth, chartHeight]) as number;\n\n const extendedScaleX = (() => {\n const domain = d3extent(data, (d) => d.key[0]) as [number, number];\n const gap = domain[1] - domain[0];\n domain[0] -= gap * 0.1;\n domain[1] += gap * 0.1;\n return d3scaleLinear().domain(domain).range([0, chartWidth]).nice();\n })();\n const extendedScaleY = (() => {\n const domain = d3extent(data, (d) => d.key[1]) as [number, number];\n const gap = domain[1] - domain[0];\n domain[0] -= gap * 0.1;\n domain[1] += gap * 0.1;\n return d3scaleLinear().domain(domain).range([chartHeight, 0]).nice();\n })();\n\n const hasCategory = data[0] && data[0].key.length >= 3 && data[0].key[2] !== null && data[0].key[2] !== undefined;\n const countsByCategory = hasCategory ? countBy(data, sortingMethod!) : undefined;\n const colorScale = useColor({\n data: countsByCategory || data,\n colorTheme: colorTheme!,\n category: 'key',\n theme,\n });\n\n const svgRef = useRef<SVGSVGElement>();\n const brushRef = useRef<d3BrushBehavior<unknown>>();\n const svgBrushRef = useRef<SVGGElement>();\n const { scaleX, scaleY, transform } = useZoom({\n svgRef,\n scaleX: extendedScaleX,\n scaleY: extendedScaleY,\n size,\n onZoom: () => {\n if (brushRef.current && svgBrushRef.current) {\n brushRef.current.clear(d3select(svgBrushRef.current));\n\n onBrushEnd?.(null);\n }\n },\n });\n useBrush({\n brushRef,\n svgRef: svgBrushRef,\n extent: [\n [0, 0],\n [chartWidth, chartHeight],\n ],\n scaleX,\n scaleY,\n isBrushable,\n isGridded: variant === ScatterPlotVariant.gridded,\n onBrush,\n onBrushEnd,\n });\n\n const circles =\n variant === ScatterPlotVariant.gridded\n ? group(data, scaleX, scaleY).sort((a, b) => {\n if (a.y !== b.y) {\n return b.y - a.y;\n }\n if (a.x !== b.x) {\n return a.x - b.x;\n }\n return d3descending(a.points.length, b.points.length);\n })\n : data.map((d) => ({\n category: d.key[2] ?? 'default',\n x: d.key[0],\n y: d.key[1],\n data: {\n key: d.key,\n value: 1,\n },\n points: [d],\n }));\n const globalSize =\n variant === ScatterPlotVariant.gridded\n ? d3scaleSqrt()\n .domain([1, Math.max(d3max(circles, (d) => d.points.length)!, 1)])\n .range([3, minSize / BASE_NUMBER_OF_TICKS / 2])\n : undefined;\n const legendWidth = useRef<string>();\n if (countsByCategory && !legendWidth.current) {\n legendWidth.current = `${\n Math.max(...countsByCategory.map((d) => d.key.length + String(d.value).length)) * 8 + 32\n }px`;\n }\n\n const [isKeyPanelOpen, setIsKeyPanelOpen] = useState(false);\n\n const categories: string[] = [];\n // const pivotedTable = circles.reduce((acc, item) => {\n // const { x, category, y } = item;\n // if (!categories.includes(category)) {\n // categories.push(category);\n // }\n // const formattedKey = xAxisTickFormat ? xAxisTickFormat(x as any) : x.toString();\n\n // let entry = acc.find((e) => e.key === formattedKey);\n // if (!entry) {\n // entry = { key: formattedKey };\n // acc.push(entry);\n // }\n\n // entry[category] = y;\n\n // return acc;\n // }, [] as Array<Record<string, string | number | null | undefined> & { key: string }>);\n\n const { extraLegendItems, ...forwardedLegendProps } = legendProps || {};\n\n return (\n <StyledScatterPlot\n mode={typeof onDotClick === 'function' || typeof getDotAnchorProps === 'function' ? 'interactive' : 'static'}\n definition={\n hasCategory\n ? format('definition-with-categories', {\n categoryLength: categories.length,\n circleLength: circles.length,\n })\n : format('definition', { circleLength: circles.length })\n }\n xAxisDefinition={format('x-axis-definition', {\n numAxis: xAxisPlacement === 'both' ? 2 : 1,\n start: scaleX.domain()[0],\n end: scaleX.domain()[1],\n })}\n yAxisDefinition={format('y-axis-definition', {\n numAxis: yAxisPlacement === 'both' ? 2 : 1,\n start: scaleY.domain()[0],\n end: scaleY.domain()[1],\n })}\n {...forwardedProps}\n id={id}\n className={className}\n ref={ref as RefObject<HTMLDivElement>}\n >\n <Flexbox flexDirection=\"column\" alignItems=\"center\" gap=\"8\">\n {!hideControlKeyPanel ? (\n <Flexbox width={width} position=\"absolute\">\n <Flexbox\n flexDirection=\"column\"\n alignItems=\"flex-end\"\n position=\"absolute\"\n top={`${margins.top + 16}px`}\n right={`${margins.right + 16}px`}\n >\n <Popover placement=\"bottom-end\" isOpen={isKeyPanelOpen} onOpen={setIsKeyPanelOpen}>\n <Popover.Trigger>\n <Button\n variant=\"secondary\"\n leftIcon={mdiMouse}\n rightIcon={isKeyPanelOpen ? mdiChevronDown : mdiChevronRight}\n color=\"grey\"\n style={{\n border: '1px solid var(--redsift-color-neutral-mid-grey)',\n gap: '4px',\n }}\n />\n </Popover.Trigger>\n <Popover.Content>\n <Flexbox flexDirection=\"column\" alignItems=\"flex-start\">\n <Text margin=\"8px 16px 0\" fontSize=\"13px\">\n Zoom - Mouse wheel\n </Text>\n <Text margin=\"0 16px\" fontSize=\"13px\">\n Pan - Left click and drag\n </Text>\n <Text margin=\"0 16px 8px\" fontSize=\"13px\">\n Select - Hold shift, left click and drag\n </Text>\n </Flexbox>\n </Popover.Content>\n </Popover>\n </Flexbox>\n </Flexbox>\n ) : null}\n <svg ref={svgRef as RefObject<SVGSVGElement>} width={width} height={height}>\n <g ref={svgBrushRef as RefObject<SVGGElement>} transform={`translate(${margins.left},${margins.top})`} />\n <g transform={`translate(${margins.left},${margins.top})`}>\n <g>\n {circles.map((circle, index) => {\n const scaleXDomain = scaleX.domain();\n const scaleYDomain = scaleY.domain();\n\n if (\n circle.x! < scaleXDomain[0] ||\n circle.x! > scaleXDomain[1] ||\n circle.y! < scaleYDomain[0] ||\n circle.y! > scaleYDomain[1]\n ) {\n return null;\n }\n\n const to = {\n ...circle,\n data: {\n ...circle.data,\n percent: circle.category\n ? circle.data.value / countsByCategory?.find(({ key }) => key === circle.category)?.value!\n : undefined,\n },\n r:\n variant === ScatterPlotVariant.gridded\n ? globalSize!(circle.points.length) / (transform.k < 1 ? transform.k : 1)\n : 4,\n };\n\n return (\n <Dot\n color={colorScale?.(circle.category!)}\n data={to}\n dataset={circles}\n isSelected={Boolean(isDotSelected?.(to))}\n key={`circle _${index}`}\n labelDecorator={labelDecorator}\n onClick={onDotClick}\n role={dotRole}\n scaleX={scaleX}\n scaleY={scaleY}\n tooltipDecorator={tooltipDecorator}\n tooltipVariant={tooltipVariant}\n />\n );\n })}\n </g>\n </g>\n <g transform={`translate(${margins.left},${margins.top})`}>\n {['bottom', 'both'].includes(xAxisPlacement!) ? (\n <Axis\n disableAnimations={disableAnimations}\n position=\"bottom\"\n length={chartWidth}\n scale={scaleX as AnyScale}\n x={0}\n y={chartHeight}\n tickValues={xAxisTickValues ?? 8}\n tickPadding={xAxisTickPadding}\n tickRotation={xAxisTickRotation}\n tickSize={xAxisTickSize}\n tickFormat={xAxisTickFormat}\n variant={xAxisVariant}\n />\n ) : null}\n {['top', 'both'].includes(xAxisPlacement!) ? (\n <Axis\n disableAnimations={disableAnimations}\n position=\"top\"\n length={chartWidth}\n scale={scaleX as AnyScale}\n x={0}\n y={0}\n tickValues={xAxisTickValues ?? 8}\n tickPadding={xAxisTickPadding}\n tickRotation={xAxisTickRotation}\n tickSize={xAxisTickSize}\n tickFormat={xAxisTickFormat}\n variant={xAxisVariant}\n />\n ) : null}\n {['left', 'both'].includes(yAxisPlacement!) ? (\n <Axis\n disableAnimations={disableAnimations}\n position=\"left\"\n length={chartHeight}\n scale={scaleY as AnyScale}\n x={0}\n y={chartHeight}\n tickValues={yAxisTickValues ?? 8}\n tickPadding={yAxisTickPadding}\n tickRotation={yAxisTickRotation}\n tickSize={yAxisTickSize}\n tickFormat={yAxisTickFormat}\n variant={yAxisVariant}\n />\n ) : null}\n {['right', 'both'].includes(yAxisPlacement!) ? (\n <Axis\n disableAnimations={disableAnimations}\n position=\"right\"\n length={chartHeight}\n scale={scaleY as AnyScale}\n x={chartWidth}\n y={chartHeight}\n tickValues={yAxisTickValues ?? 8}\n tickPadding={yAxisTickPadding}\n tickRotation={yAxisTickRotation}\n tickSize={yAxisTickSize}\n tickFormat={yAxisTickFormat}\n variant={yAxisVariant}\n />\n ) : null}\n </g>\n </svg>\n </Flexbox>\n {hasCategory && legendVariant !== ScatterPlotLegendVariant.none ? (\n <Legend\n data={(extraLegendItems\n ? mergeLegends(extraLegendItems, countsByCategory!).sort(getSortingMethod(sortingMethod!))\n : countsByCategory!\n ).map((d) => ({\n ...d,\n color: colorScale?.(d.key)!,\n }))}\n variant={\n legendVariant === ScatterPlotLegendVariant.externalLabelValue\n ? LegendVariant.value\n : legendVariant === ScatterPlotLegendVariant.externalLabelPercent\n ? LegendVariant.percent\n : legendVariant === ScatterPlotLegendVariant.externalLabel\n ? LegendVariant.label\n : LegendVariant.custom\n }\n width={legendWidth.current}\n legendDecorator={\n legendDecorator\n ? (datum: LegendItemDatum, props) => legendDecorator(datum as unknown as DotDatum, props)\n : undefined\n }\n {...forwardedLegendProps}\n />\n ) : null}\n </StyledScatterPlot>\n );\n});\n","import React, { forwardRef } from 'react';\nimport classNames from 'classnames';\n\nimport { Comp, useId } from '@redsift/design-system';\n\nimport { ChartSize, ColorTheme, TooltipVariant } from '../../types';\nimport { ScatterPlotLegendVariant, ScatterPlotProps, ScatterPlotVariant } from './types';\nimport { LoadingScatterPlot } from './LoadingScatterPlot';\nimport { EmptyScatterPlot } from './EmptyScatterPlot';\nimport { RenderedScatterPlot } from './RenderedScatterPlot';\nimport { AxisVariant } from '../Axis';\n\nconst COMPONENT_NAME = 'ScatterPlot';\nconst CLASSNAME = 'redsift-scatterplot';\n\nexport const ScatterPlot: Comp<ScatterPlotProps, HTMLDivElement> = forwardRef((props, ref) => {\n const {\n className,\n colorTheme = ColorTheme.default,\n data: propsData,\n dotRole,\n emptyComponent,\n hideControlKeyPanel = false,\n id: propsId,\n isDotSelected,\n labelDecorator,\n legendDecorator,\n legendVariant: propsLegendVariant,\n localeText = { emptyChartText: 'No Data' },\n onBrush,\n onBrushEnd,\n onDotClick,\n size = ChartSize.medium,\n sortingMethod = 'desc-value',\n tooltipDecorator,\n tooltipVariant = TooltipVariant.none,\n variant = ScatterPlotVariant.default,\n xAxisPlacement = 'bottom',\n xAxisVariant = AxisVariant.default,\n yAxisPlacement = 'left',\n yAxisVariant = AxisVariant.default,\n ...forwardedProps\n } = props;\n const [_id] = useId();\n const id = propsId ?? _id;\n\n const legendVariant = propsLegendVariant ?? ScatterPlotLegendVariant.externalLabel;\n\n if (propsData === undefined || propsData === null) {\n return <LoadingScatterPlot id={id} {...forwardedProps} ref={ref} />;\n }\n\n if (propsData.length === 0) {\n return (\n <EmptyScatterPlot\n data={propsData}\n emptyComponent={emptyComponent}\n hideControlKeyPanel={hideControlKeyPanel}\n localeText={localeText}\n size={size}\n sortingMethod={sortingMethod}\n xAxisPlacement={xAxisPlacement}\n xAxisVariant={xAxisVariant}\n yAxisPlacement={yAxisPlacement}\n yAxisVariant={yAxisVariant}\n {...forwardedProps}\n ref={ref}\n />\n );\n }\n\n return (\n <RenderedScatterPlot\n className={classNames(ScatterPlot.className, className)}\n colorTheme={colorTheme}\n data={propsData}\n dotRole={dotRole}\n hideControlKeyPanel={hideControlKeyPanel}\n id={id}\n isDotSelected={isDotSelected}\n labelDecorator={labelDecorator}\n legendDecorator={legendDecorator}\n legendVariant={legendVariant}\n localeText={localeText}\n onBrush={onBrush}\n onBrushEnd={onBrushEnd}\n onDotClick={onDotClick}\n size={size}\n sortingMethod={sortingMethod}\n tooltipDecorator={tooltipDecorator}\n tooltipVariant={tooltipVariant}\n variant={variant}\n xAxisPlacement={xAxisPlacement}\n xAxisVariant={xAxisVariant}\n yAxisPlacement={yAxisPlacement}\n yAxisVariant={yAxisVariant}\n {...forwardedProps}\n ref={ref}\n />\n );\n});\nScatterPlot.className = CLASSNAME;\nScatterPlot.displayName = COMPONENT_NAME;\n"],"names":["getRoundedIntermediaryPoint","selection","scaleX","scaleY","xTicks","ticks","xDelta","yTicks","yDelta","Math","round","invert","useBrush","_ref","brushRef","propsBrushRef","svgRef","extent","isBrushable","isGridded","onBrush","onBrushEnd","useRef","useEffect","current","d3brush","keyModifiers","filter","event","shiftKey","on","sourceEvent","d3select","call","move","useZoom","defaultTransform","k","x","y","size","onZoom","zx","zy","transform","setTransform","useState","zoom","d3zoom","scaleExtent","rescaleX","interpolate","d3interpolateRound","rescaleY","ScatterPlotVariant","default","gridded","ScatterPlotLegendVariant","none","externalLabel","externalLabelValue","externalLabelPercent","custom","StyledScatterPlot","styled","ChartContainer","StyledScatterPlotEmptyText","div","$maxWidth","_ref2","$theme","_ref3","$textSize","_ref4","LoadingScatterPlot","forwardRef","props","ref","className","forwardedProps","_objectWithoutProperties","_excluded","React","createElement","_extends","sizeToDimension","ChartSize","small","width","height","fontSize","medium","large","BASE_NUMBER_OF_TICKS","getClosestLineIndex","value","scale","delta","index","roundValue","group","data","groupDict","forEach","d","i","rx","key","j","ry","category","points","push","Object","values","countBy","arr","sortingMethod","counts","reduce","prev","curr","keys","map","sort","getSortingMethod","EmptyScatterPlot","propsData","emptyComponent","localeText","theme","useTheme","cache","chartDimensions","margins","top","left","right","bottom","chartWidth","Fragment","emptyChartText","Axis","position","length","d3scaleLinear","domain","range","tickValues","enUS","frFR","mdiChevronDown","mdiChevronRight","mdiMouse","RenderedScatterPlot","dotRole","disableAnimations","getDotAnchorProps","hideControlKeyPanel","id","isDotSelected","labelDecorator","legendDecorator","legendVariant","legendProps","propsMargins","onDotClick","colorTheme","tooltipDecorator","tooltipVariant","xAxisVariant","xAxisPlacement","xAxisTickFormat","xAxisTickPadding","xAxisTickRotation","xAxisTickSize","xAxisTickValues","yAxisVariant","yAxisPlacement","yAxisTickFormat","yAxisTickPadding","yAxisTickRotation","yAxisTickSize","yAxisTickValues","variant","format","useMessageFormatter","intlMessages","datum","Number","isNaN","_objectSpread","AxisVariant","tickValue","chartHeight","minSize","d3min","extendedScaleX","d3extent","gap","nice","extendedScaleY","hasCategory","undefined","countsByCategory","colorScale","useColor","svgBrushRef","clear","circles","a","b","d3descending","_d$key$","globalSize","d3scaleSqrt","max","d3max","legendWidth","String","isKeyPanelOpen","setIsKeyPanelOpen","categories","extraLegendItems","forwardedLegendProps","_excluded2","mode","definition","categoryLength","circleLength","xAxisDefinition","numAxis","start","end","yAxisDefinition","Flexbox","flexDirection","alignItems","Popover","placement","isOpen","onOpen","Trigger","Button","leftIcon","rightIcon","color","style","border","Content","Text","margin","circle","_countsByCategory$fin","scaleXDomain","scaleYDomain","to","percent","find","r","Dot","dataset","isSelected","Boolean","onClick","role","includes","tickPadding","tickRotation","tickSize","tickFormat","Legend","mergeLegends","LegendVariant","label","COMPONENT_NAME","CLASSNAME","ScatterPlot","ColorTheme","propsId","propsLegendVariant","TooltipVariant","_id","useId","classNames","displayName"],"mappings":"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"}
@@ -89,5 +89,5 @@ function _toPropertyKey(arg) {
89
89
  return typeof key === "symbol" ? key : String(key);
90
90
  }
91
91
 
92
- export { _defineProperty as defineProperty, _extends as extends, _objectSpread2 as objectSpread2, _objectWithoutProperties as objectWithoutProperties, _objectWithoutPropertiesLoose as objectWithoutPropertiesLoose, _toPrimitive as toPrimitive, _toPropertyKey as toPropertyKey };
92
+ export { _objectWithoutProperties as _, _extends as a, _objectSpread2 as b };
93
93
  //# sourceMappingURL=_rollupPluginBabelHelpers.js.map
@@ -0,0 +1,13 @@
1
+ import { L as Lt } from '../index2.js';
2
+
3
+ const config = (() => ({
4
+ config: {
5
+ duration: 700,
6
+ easing: Lt.easeInOutQuad
7
+ },
8
+ reset: true,
9
+ immediate: false
10
+ }))();
11
+
12
+ export { config as c };
13
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sources":["../../src/config.ts"],"sourcesContent":["import { easings } from '@react-spring/web';\n\nexport const config = (() => ({\n config: {\n duration: 700,\n easing: easings.easeInOutQuad,\n },\n reset: true,\n immediate: false,\n}))();\n"],"names":["config","duration","easing","easings","easeInOutQuad","reset","immediate"],"mappings":";;AAEaA,MAAAA,MAAM,GAAG,CAAC,OAAO;AAC5BA,EAAAA,MAAM,EAAE;AACNC,IAAAA,QAAQ,EAAE,GAAG;IACbC,MAAM,EAAEC,EAAO,CAACC,aAAAA;GACjB;AACDC,EAAAA,KAAK,EAAE,IAAI;AACXC,EAAAA,SAAS,EAAE,KAAA;AACb,CAAC,CAAC;;;;"}
@@ -17,5 +17,5 @@ const LegendVariant = {
17
17
  };
18
18
  const LabelVariant = LegendVariant;
19
19
 
20
- export { LabelVariant, LegendVariant, TooltipVariant };
21
- //# sourceMappingURL=legend.js.map
20
+ export { LegendVariant as L, TooltipVariant as T, LabelVariant as a };
21
+ //# sourceMappingURL=legend2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legend2.js","sources":["../../src/types/legend.ts"],"sourcesContent":["import { ValueOf } from '@redsift/design-system';\n\n/** TOOLTIP */\n\nexport const TooltipVariant = {\n none: 'none',\n label: 'label',\n value: 'value',\n percent: 'percent',\n custom: 'custom',\n};\nexport type TooltipVariant = ValueOf<typeof TooltipVariant>;\n\n/** LEGEND */\nexport const LegendVariant = {\n none: 'none',\n label: 'label',\n value: 'value',\n percent: 'percent',\n custom: 'custom',\n} as const;\nexport const LabelVariant = LegendVariant;\nexport type LegendVariant = ValueOf<typeof LegendVariant>;\nexport type LabelVariant = LegendVariant;\n"],"names":["TooltipVariant","none","label","value","percent","custom","LegendVariant","LabelVariant"],"mappings":"AAEA;;AAEO,MAAMA,cAAc,GAAG;AAC5BC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,MAAM,EAAE,QAAA;AACV,EAAC;AAGD;AACO,MAAMC,aAAa,GAAG;AAC3BL,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,MAAM,EAAE,QAAA;AACV,EAAU;AACH,MAAME,YAAY,GAAGD;;;;"}
@@ -43,5 +43,5 @@ const getColorScale = _ref => {
43
43
  return d3colors;
44
44
  };
45
45
 
46
- export { empty, getColorScale, monochrome, scheme, successDangerScheme };
46
+ export { successDangerScheme as a, empty as e, getColorScale as g, monochrome as m, scheme as s };
47
47
  //# sourceMappingURL=scheme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheme.js","sources":["../../src/scheme.ts"],"sourcesContent":["import { scaleOrdinal as d3scaleOrdinal, ScaleOrdinal as d3ScaleOrdinal } from 'd3';\nimport { ChartTheme } from './types';\n\nimport {\n RedsiftColorPresentationAquaDark,\n RedsiftColorPresentationAquaDarker,\n RedsiftColorPresentationAquaDarkerer,\n RedsiftColorPresentationAquaDefault,\n RedsiftColorPresentationAquaLight,\n RedsiftColorPresentationAquaLighter,\n RedsiftColorPresentationAquaLighterer,\n RedsiftColorPresentationBlueDark,\n RedsiftColorPresentationBlueDarker,\n RedsiftColorPresentationBlueDarkerer,\n RedsiftColorPresentationBlueDefault,\n RedsiftColorPresentationBlueLight,\n RedsiftColorPresentationBlueLighter,\n RedsiftColorPresentationBlueLighterer,\n RedsiftColorPresentationBrownDark,\n RedsiftColorPresentationBrownDarker,\n RedsiftColorPresentationBrownDarkerer,\n RedsiftColorPresentationBrownDefault,\n RedsiftColorPresentationBrownLight,\n RedsiftColorPresentationBrownLighter,\n RedsiftColorPresentationBrownLighterer,\n RedsiftColorPresentationGreenDark,\n RedsiftColorPresentationGreenDarker,\n RedsiftColorPresentationGreenDarkerer,\n RedsiftColorPresentationGreenDefault,\n RedsiftColorPresentationGreenLight,\n RedsiftColorPresentationGreenLighter,\n RedsiftColorPresentationGreenLighterer,\n RedsiftColorPresentationGreyDark,\n RedsiftColorPresentationGreyDarker,\n RedsiftColorPresentationGreyDarkerer,\n RedsiftColorPresentationGreyDefault,\n RedsiftColorPresentationGreyLight,\n RedsiftColorPresentationGreyLighter,\n RedsiftColorPresentationGreyLighterer,\n RedsiftColorPresentationOrangeDark,\n RedsiftColorPresentationOrangeDarker,\n RedsiftColorPresentationOrangeDarkerer,\n RedsiftColorPresentationOrangeDefault,\n RedsiftColorPresentationOrangeLight,\n RedsiftColorPresentationOrangeLighter,\n RedsiftColorPresentationOrangeLighterer,\n RedsiftColorPresentationPinkDark,\n RedsiftColorPresentationPinkDarker,\n RedsiftColorPresentationPinkDarkerer,\n RedsiftColorPresentationPinkDefault,\n RedsiftColorPresentationPinkLight,\n RedsiftColorPresentationPinkLighter,\n RedsiftColorPresentationPinkLighterer,\n RedsiftColorPresentationPurpleDark,\n RedsiftColorPresentationPurpleDarker,\n RedsiftColorPresentationPurpleDarkerer,\n RedsiftColorPresentationPurpleDefault,\n RedsiftColorPresentationPurpleLight,\n RedsiftColorPresentationPurpleLighter,\n RedsiftColorPresentationPurpleLighterer,\n RedsiftColorPresentationRedDark,\n RedsiftColorPresentationRedDarker,\n RedsiftColorPresentationRedDarkerer,\n RedsiftColorPresentationRedDefault,\n RedsiftColorPresentationRedLight,\n RedsiftColorPresentationRedLighter,\n RedsiftColorPresentationRedLighterer,\n RedsiftColorPresentationYellowDark,\n RedsiftColorPresentationYellowDarker,\n RedsiftColorPresentationYellowDarkerer,\n RedsiftColorPresentationYellowDefault,\n RedsiftColorPresentationYellowLight,\n RedsiftColorPresentationYellowLighter,\n RedsiftColorPresentationYellowLighterer,\n Theme,\n} from '@redsift/design-system';\n\nexport const monochrome = RedsiftColorPresentationBlueDefault;\nexport const empty = RedsiftColorPresentationGreyDark;\n\nexport const scheme = {\n default: [\n RedsiftColorPresentationBlueDefault,\n RedsiftColorPresentationAquaDefault,\n RedsiftColorPresentationPinkDefault,\n RedsiftColorPresentationGreyDefault,\n RedsiftColorPresentationYellowDefault,\n RedsiftColorPresentationPurpleDefault,\n RedsiftColorPresentationGreenDefault,\n RedsiftColorPresentationBrownDefault,\n RedsiftColorPresentationRedDefault,\n RedsiftColorPresentationOrangeDefault,\n ],\n dark: [\n RedsiftColorPresentationGreenDark,\n RedsiftColorPresentationPinkDark,\n RedsiftColorPresentationAquaDark,\n RedsiftColorPresentationBrownDark,\n RedsiftColorPresentationRedDark,\n RedsiftColorPresentationYellowDark,\n RedsiftColorPresentationPurpleDark,\n RedsiftColorPresentationOrangeDark,\n RedsiftColorPresentationBlueDark,\n RedsiftColorPresentationGreyDark,\n ],\n darker: [\n RedsiftColorPresentationGreenDarker,\n RedsiftColorPresentationPinkDarker,\n RedsiftColorPresentationAquaDarker,\n RedsiftColorPresentationBrownDarker,\n RedsiftColorPresentationRedDarker,\n RedsiftColorPresentationYellowDarker,\n RedsiftColorPresentationPurpleDarker,\n RedsiftColorPresentationOrangeDarker,\n RedsiftColorPresentationBlueDarker,\n RedsiftColorPresentationGreyDarker,\n ],\n darkerer: [\n RedsiftColorPresentationGreenDarkerer,\n RedsiftColorPresentationPinkDarkerer,\n RedsiftColorPresentationAquaDarkerer,\n RedsiftColorPresentationBrownDarkerer,\n RedsiftColorPresentationRedDarkerer,\n RedsiftColorPresentationYellowDarkerer,\n RedsiftColorPresentationPurpleDarkerer,\n RedsiftColorPresentationOrangeDarkerer,\n RedsiftColorPresentationBlueDarkerer,\n RedsiftColorPresentationGreyDarkerer,\n ],\n light: [\n RedsiftColorPresentationGreenLight,\n RedsiftColorPresentationPinkLight,\n RedsiftColorPresentationAquaLight,\n RedsiftColorPresentationBrownLight,\n RedsiftColorPresentationRedLight,\n RedsiftColorPresentationYellowLight,\n RedsiftColorPresentationPurpleLight,\n RedsiftColorPresentationOrangeLight,\n RedsiftColorPresentationBlueLight,\n RedsiftColorPresentationGreyLight,\n ],\n lighter: [\n RedsiftColorPresentationGreenLighter,\n RedsiftColorPresentationPinkLighter,\n RedsiftColorPresentationAquaLighter,\n RedsiftColorPresentationBrownLighter,\n RedsiftColorPresentationRedLighter,\n RedsiftColorPresentationYellowLighter,\n RedsiftColorPresentationPurpleLighter,\n RedsiftColorPresentationOrangeLighter,\n RedsiftColorPresentationBlueLighter,\n RedsiftColorPresentationGreyLighter,\n ],\n lighterer: [\n RedsiftColorPresentationGreenLighterer,\n RedsiftColorPresentationPinkLighterer,\n RedsiftColorPresentationAquaLighterer,\n RedsiftColorPresentationBrownLighterer,\n RedsiftColorPresentationRedLighterer,\n RedsiftColorPresentationYellowLighterer,\n RedsiftColorPresentationPurpleLighterer,\n RedsiftColorPresentationOrangeLighterer,\n RedsiftColorPresentationBlueLighterer,\n RedsiftColorPresentationGreyLighterer,\n ],\n monochrome: [monochrome],\n empty: [empty],\n};\n\nexport const successDangerScheme = {\n success: RedsiftColorPresentationGreenDefault,\n warning: RedsiftColorPresentationOrangeDefault,\n danger: RedsiftColorPresentationRedDefault,\n neutralLight: RedsiftColorPresentationGreyDefault,\n neutralDark: RedsiftColorPresentationGreyDarkerer,\n};\n\nexport const getColorScale = ({\n colorTheme,\n domain,\n isEmpty,\n theme,\n}: {\n colorTheme: ChartTheme;\n domain?: string[];\n isEmpty?: boolean;\n theme: Theme;\n}): d3ScaleOrdinal<string, string> => {\n let d3colors = d3scaleOrdinal(scheme.default);\n\n if (isEmpty) {\n d3colors = d3scaleOrdinal(scheme.empty);\n } else if (typeof colorTheme === 'string') {\n d3colors = d3scaleOrdinal().domain(domain!).range(scheme[colorTheme]).unknown(monochrome) as d3ScaleOrdinal<\n string,\n string\n >;\n } else if (typeof colorTheme === 'object') {\n if (\n Object.keys(colorTheme).includes('success') ||\n Object.keys(colorTheme).includes('danger') ||\n Object.keys(colorTheme).includes('warning')\n ) {\n d3colors = d3scaleOrdinal()\n .domain([\n ...(colorTheme.success ? [colorTheme.success] : []),\n ...(colorTheme.warning ? [colorTheme.warning] : []),\n ...(colorTheme.danger ? [colorTheme.danger] : []),\n ...(colorTheme.neutral ? [colorTheme.neutral] : []),\n ])\n .range([\n ...(colorTheme.success ? [successDangerScheme.success] : []),\n ...(colorTheme.warning ? [successDangerScheme.warning] : []),\n ...(colorTheme.danger ? [successDangerScheme.danger] : []),\n ...(colorTheme.neutral\n ? [theme === Theme.dark ? successDangerScheme.neutralDark : successDangerScheme.neutralLight]\n : []),\n ])\n .unknown(monochrome) as d3ScaleOrdinal<string, string>;\n } else {\n d3colors = d3scaleOrdinal()\n .domain(Object.keys(colorTheme))\n .range(Object.values(colorTheme))\n .unknown(monochrome) as d3ScaleOrdinal<string, string>;\n }\n }\n\n return d3colors;\n};\n"],"names":["monochrome","RedsiftColorPresentationBlueDefault","empty","RedsiftColorPresentationGreyDark","scheme","default","RedsiftColorPresentationAquaDefault","RedsiftColorPresentationPinkDefault","RedsiftColorPresentationGreyDefault","RedsiftColorPresentationYellowDefault","RedsiftColorPresentationPurpleDefault","RedsiftColorPresentationGreenDefault","RedsiftColorPresentationBrownDefault","RedsiftColorPresentationRedDefault","RedsiftColorPresentationOrangeDefault","dark","RedsiftColorPresentationGreenDark","RedsiftColorPresentationPinkDark","RedsiftColorPresentationAquaDark","RedsiftColorPresentationBrownDark","RedsiftColorPresentationRedDark","RedsiftColorPresentationYellowDark","RedsiftColorPresentationPurpleDark","RedsiftColorPresentationOrangeDark","RedsiftColorPresentationBlueDark","darker","RedsiftColorPresentationGreenDarker","RedsiftColorPresentationPinkDarker","RedsiftColorPresentationAquaDarker","RedsiftColorPresentationBrownDarker","RedsiftColorPresentationRedDarker","RedsiftColorPresentationYellowDarker","RedsiftColorPresentationPurpleDarker","RedsiftColorPresentationOrangeDarker","RedsiftColorPresentationBlueDarker","RedsiftColorPresentationGreyDarker","darkerer","RedsiftColorPresentationGreenDarkerer","RedsiftColorPresentationPinkDarkerer","RedsiftColorPresentationAquaDarkerer","RedsiftColorPresentationBrownDarkerer","RedsiftColorPresentationRedDarkerer","RedsiftColorPresentationYellowDarkerer","RedsiftColorPresentationPurpleDarkerer","RedsiftColorPresentationOrangeDarkerer","RedsiftColorPresentationBlueDarkerer","RedsiftColorPresentationGreyDarkerer","light","RedsiftColorPresentationGreenLight","RedsiftColorPresentationPinkLight","RedsiftColorPresentationAquaLight","RedsiftColorPresentationBrownLight","RedsiftColorPresentationRedLight","RedsiftColorPresentationYellowLight","RedsiftColorPresentationPurpleLight","RedsiftColorPresentationOrangeLight","RedsiftColorPresentationBlueLight","RedsiftColorPresentationGreyLight","lighter","RedsiftColorPresentationGreenLighter","RedsiftColorPresentationPinkLighter","RedsiftColorPresentationAquaLighter","RedsiftColorPresentationBrownLighter","RedsiftColorPresentationRedLighter","RedsiftColorPresentationYellowLighter","RedsiftColorPresentationPurpleLighter","RedsiftColorPresentationOrangeLighter","RedsiftColorPresentationBlueLighter","RedsiftColorPresentationGreyLighter","lighterer","RedsiftColorPresentationGreenLighterer","RedsiftColorPresentationPinkLighterer","RedsiftColorPresentationAquaLighterer","RedsiftColorPresentationBrownLighterer","RedsiftColorPresentationRedLighterer","RedsiftColorPresentationYellowLighterer","RedsiftColorPresentationPurpleLighterer","RedsiftColorPresentationOrangeLighterer","RedsiftColorPresentationBlueLighterer","RedsiftColorPresentationGreyLighterer","successDangerScheme","success","warning","danger","neutralLight","neutralDark","getColorScale","_ref","colorTheme","domain","isEmpty","theme","d3colors","d3scaleOrdinal","range","unknown","Object","keys","includes","neutral","Theme","values"],"mappings":"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"}
@@ -1,3 +1,21 @@
1
+ import { useMemo } from 'react';
2
+ import { g as getColorScale } from './scheme.js';
3
+
4
+ const useColor = _ref => {
5
+ let {
6
+ data,
7
+ colorTheme,
8
+ category,
9
+ theme
10
+ } = _ref;
11
+ const colorScale = useMemo(() => getColorScale({
12
+ colorTheme,
13
+ domain: data.map(d => typeof category === 'string' ? d[category] : category(d)),
14
+ theme
15
+ }), [colorTheme]);
16
+ return colorScale;
17
+ };
18
+
1
19
  const getSortingMethod = sortingMethod => {
2
20
  if (sortingMethod === 'asc-key') {
3
21
  return (a, b) => a.key === b.key ? a.value > b.value ? -1 : 1 : a.key < b.key ? -1 : 1;
@@ -40,5 +58,22 @@ const mergeLegends = (arr1, arr2) => {
40
58
  });
41
59
  };
42
60
 
43
- export { getSortingMethod, isValidDate, mergeLegends };
44
- //# sourceMappingURL=index.js.map
61
+ const ChartSize = {
62
+ small: 'small',
63
+ medium: 'medium',
64
+ large: 'large'
65
+ };
66
+
67
+ const ColorTheme = {
68
+ default: 'default',
69
+ dark: 'dark',
70
+ darker: 'darker',
71
+ darkerer: 'darkerer',
72
+ light: 'light',
73
+ lighter: 'lighter',
74
+ lighterer: 'lighterer',
75
+ monochrome: 'monochrome'
76
+ };
77
+
78
+ export { ChartSize as C, ColorTheme as a, getSortingMethod as g, isValidDate as i, mergeLegends as m, useColor as u };
79
+ //# sourceMappingURL=theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.js","sources":["../../src/hooks/useColor.tsx","../../src/utils/index.ts","../../src/types/size.ts","../../src/types/theme.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport { ScaleOrdinal as d3ScaleOrdinal } from 'd3';\nimport { getColorScale } from '../scheme';\nimport { ChartTheme, JSONArray, JSONObject } from '../types';\nimport { Theme } from '@redsift/design-system';\n\nexport interface UseColorProps {\n /** Dataset to use to generate the chart. */\n data: JSONArray;\n /** Color palette to use. */\n colorTheme: ChartTheme;\n /** Name of the field that will be used to categorize the data. */\n category: string | ((d: JSONObject) => string);\n /** Theme */\n theme: Theme;\n}\n\nexport const useColor = ({ data, colorTheme, category, theme }: UseColorProps) => {\n const colorScale = useMemo<d3ScaleOrdinal<string, string>>(\n () =>\n getColorScale({\n colorTheme,\n domain: data.map((d) => (typeof category === 'string' ? (d[category] as string) : category(d))),\n theme,\n }),\n [colorTheme]\n );\n\n return colorScale;\n};\n","import { CategoryDatum, Statistics } from '../types';\n\nexport type SortingMethod =\n | 'none'\n | 'asc-key'\n | 'desc-key'\n | 'asc-value'\n | 'desc-value'\n | string[]\n | ((a: CategoryDatum, b: CategoryDatum) => 1 | -1);\n\nexport const getSortingMethod: (sortingMethod: SortingMethod) => (a: CategoryDatum, b: CategoryDatum) => 1 | -1 = (\n sortingMethod\n) => {\n if (sortingMethod === 'asc-key') {\n return (a: CategoryDatum, b: CategoryDatum) =>\n a.key === b.key ? (a.value > b.value ? -1 : 1) : a.key < b.key ? -1 : 1;\n } else if (sortingMethod === 'desc-key') {\n return (a: CategoryDatum, b: CategoryDatum) =>\n a.key === b.key ? (a.value > b.value ? 1 : -1) : a.key < b.key ? 1 : -1;\n } else if (sortingMethod === 'asc-value') {\n return (a: CategoryDatum, b: CategoryDatum) =>\n a.value === b.value ? (a.key > b.key ? -1 : 1) : a.value < b.value ? -1 : 1;\n } else if (sortingMethod === 'desc-value') {\n return (a: CategoryDatum, b: CategoryDatum) =>\n a.value === b.value ? (a.key > b.key ? 1 : -1) : a.value < b.value ? 1 : -1;\n } else if (typeof sortingMethod === 'function') {\n return sortingMethod;\n } else if (Array.isArray(sortingMethod)) {\n return (a: CategoryDatum, b: CategoryDatum) => {\n if (sortingMethod.indexOf(a.key) === -1) {\n return 1;\n }\n if (sortingMethod.indexOf(b.key) === -1) {\n return -1;\n }\n\n return sortingMethod.indexOf(a.key) === sortingMethod.indexOf(b.key)\n ? a.key > b.key\n ? 1\n : -1\n : sortingMethod.indexOf(a.key) < sortingMethod.indexOf(b.key)\n ? -1\n : 1;\n };\n }\n return () => 1;\n};\n\nexport const isValidDate = (value: string) => {\n const date = new Date(value);\n return !isNaN(date.getTime()) && date.toISOString().startsWith(value);\n};\n\nexport const mergeLegends = (arr1: Statistics, arr2: Statistics) => {\n const map = new Map();\n\n [...arr1, ...arr2].forEach((item) => {\n map.set(item.key, item.value);\n });\n\n return Array.from(map, ([key, value]) => ({ key, value }));\n};\n","import { ValueOf } from '@redsift/design-system';\n\nexport type ChartDimensions = {\n width: number;\n height: number;\n};\n\nexport const ChartSize = {\n small: 'small',\n medium: 'medium',\n large: 'large',\n} as const;\nexport type ChartSize = ValueOf<typeof ChartSize>;\n\nexport type MarginProps = {\n top?: number;\n right?: number;\n bottom?: number;\n left?: number;\n};\n","import { ValueOf } from '@redsift/design-system';\n\nexport const ColorTheme = {\n default: 'default',\n dark: 'dark',\n darker: 'darker',\n darkerer: 'darkerer',\n light: 'light',\n lighter: 'lighter',\n lighterer: 'lighterer',\n monochrome: 'monochrome',\n} as const;\nexport type ColorTheme = ValueOf<typeof ColorTheme>;\n\nexport type SuccessDangerColorTheme = {\n success: string;\n warning: string;\n danger: string;\n neutral?: string;\n};\n\nexport type CustomColorTheme = Record<string, string>;\n\nexport type ChartTheme =\n | ColorTheme\n | SuccessDangerColorTheme\n | CustomColorTheme;\n"],"names":["useColor","_ref","data","colorTheme","category","theme","colorScale","useMemo","getColorScale","domain","map","d","getSortingMethod","sortingMethod","a","b","key","value","Array","isArray","indexOf","isValidDate","date","Date","isNaN","getTime","toISOString","startsWith","mergeLegends","arr1","arr2","Map","forEach","item","set","from","ChartSize","small","medium","large","ColorTheme","default","dark","darker","darkerer","light","lighter","lighterer","monochrome"],"mappings":"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"}
@@ -1,7 +1,6 @@
1
- import { objectSpread2 as _objectSpread2 } from '../../../../../_virtual/_internal/_rollupPluginBabelHelpers.js';
1
+ import { b as _objectSpread2 } from './_rollupPluginBabelHelpers.js';
2
2
  import { useMemo } from 'react';
3
- import { useColor } from './useColor.js';
4
- import { getSortingMethod } from '../../utils/index.js';
3
+ import { g as getSortingMethod, u as useColor } from './theme.js';
5
4
 
6
5
  const useFormatCategoricalData = _ref => {
7
6
  let {
@@ -53,5 +52,5 @@ const useFormatCategoricalData = _ref => {
53
52
  };
54
53
  };
55
54
 
56
- export { useFormatCategoricalData };
55
+ export { useFormatCategoricalData as u };
57
56
  //# sourceMappingURL=useFormatCategoricalData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFormatCategoricalData.js","sources":["../../src/hooks/useFormatCategoricalData.tsx"],"sourcesContent":["import { useMemo } from 'react';\nimport { CategoryData, ChartTheme } from '../types';\nimport { useColor } from './useColor';\nimport { SortingMethod, getSortingMethod } from '../utils';\nimport { Theme } from '@redsift/design-system';\n\nexport interface UseFormatCategoricalDataProps {\n /** Dataset to use to generate the chart, should be a list of objects containing a key and a value. */\n data: CategoryData;\n /** Color palette to use. */\n colorTheme: ChartTheme;\n /** Define how to sort categories. */\n sortingMethod: SortingMethod;\n /** Number of categories to use, the rest being put into a new category called \"Others\". */\n caping?: number;\n /** Whether a category should be displayed for categories that has been removed by the caping option. Optionaly, this prop can be used to change the label of this category. */\n others?: boolean | string;\n /** Theme */\n theme: Theme;\n}\n\nexport const useFormatCategoricalData = ({\n data,\n caping,\n sortingMethod,\n others,\n colorTheme,\n theme,\n}: UseFormatCategoricalDataProps) => {\n const computedData = useMemo(() => {\n let computedData;\n\n if (data === undefined || data === null) {\n return undefined;\n }\n\n computedData = [...data!].sort(getSortingMethod(sortingMethod));\n\n if (caping) {\n if (typeof others === 'boolean' && !others) {\n computedData = computedData.slice(0, caping);\n } else {\n computedData = computedData.reduce<CategoryData>((acc, curr, index) => {\n if (index < caping) {\n acc[index] = curr;\n } else if (index === caping) {\n acc[index] = {\n key: typeof others === 'string' ? others : 'Others',\n value: curr.value,\n };\n } else {\n acc[caping] = {\n ...acc[caping],\n value: acc[caping].value + curr.value,\n };\n }\n return acc;\n }, []);\n }\n }\n\n return computedData;\n }, [data, caping]);\n\n const colorScale = useColor({ data: computedData!, colorTheme, category: 'key', theme });\n\n return { data: computedData as CategoryData, colorScale };\n};\n"],"names":["useFormatCategoricalData","_ref","data","caping","sortingMethod","others","colorTheme","theme","computedData","useMemo","undefined","sort","getSortingMethod","slice","reduce","acc","curr","index","key","value","_objectSpread","colorScale","useColor","category"],"mappings":";;;;AAqBaA,MAAAA,wBAAwB,GAAGC,IAAA,IAOH;EAAA,IAPI;IACvCC,IAAI;IACJC,MAAM;IACNC,aAAa;IACbC,MAAM;IACNC,UAAU;AACVC,IAAAA,KAAAA;AAC6B,GAAC,GAAAN,IAAA,CAAA;AAC9B,EAAA,MAAMO,YAAY,GAAGC,OAAO,CAAC,MAAM;AACjC,IAAA,IAAID,YAAY,CAAA;AAEhB,IAAA,IAAIN,IAAI,KAAKQ,SAAS,IAAIR,IAAI,KAAK,IAAI,EAAE;AACvC,MAAA,OAAOQ,SAAS,CAAA;AAClB,KAAA;AAEAF,IAAAA,YAAY,GAAG,CAAC,GAAGN,IAAK,CAAC,CAACS,IAAI,CAACC,gBAAgB,CAACR,aAAa,CAAC,CAAC,CAAA;AAE/D,IAAA,IAAID,MAAM,EAAE;AACV,MAAA,IAAI,OAAOE,MAAM,KAAK,SAAS,IAAI,CAACA,MAAM,EAAE;QAC1CG,YAAY,GAAGA,YAAY,CAACK,KAAK,CAAC,CAAC,EAAEV,MAAM,CAAC,CAAA;AAC9C,OAAC,MAAM;QACLK,YAAY,GAAGA,YAAY,CAACM,MAAM,CAAe,CAACC,GAAG,EAAEC,IAAI,EAAEC,KAAK,KAAK;UACrE,IAAIA,KAAK,GAAGd,MAAM,EAAE;AAClBY,YAAAA,GAAG,CAACE,KAAK,CAAC,GAAGD,IAAI,CAAA;AACnB,WAAC,MAAM,IAAIC,KAAK,KAAKd,MAAM,EAAE;YAC3BY,GAAG,CAACE,KAAK,CAAC,GAAG;cACXC,GAAG,EAAE,OAAOb,MAAM,KAAK,QAAQ,GAAGA,MAAM,GAAG,QAAQ;cACnDc,KAAK,EAAEH,IAAI,CAACG,KAAAA;aACb,CAAA;AACH,WAAC,MAAM;YACLJ,GAAG,CAACZ,MAAM,CAAC,GAAAiB,cAAA,CAAAA,cAAA,CACNL,EAAAA,EAAAA,GAAG,CAACZ,MAAM,CAAC,CAAA,EAAA,EAAA,EAAA;cACdgB,KAAK,EAAEJ,GAAG,CAACZ,MAAM,CAAC,CAACgB,KAAK,GAAGH,IAAI,CAACG,KAAAA;aACjC,CAAA,CAAA;AACH,WAAA;AACA,UAAA,OAAOJ,GAAG,CAAA;SACX,EAAE,EAAE,CAAC,CAAA;AACR,OAAA;AACF,KAAA;AAEA,IAAA,OAAOP,YAAY,CAAA;AACrB,GAAC,EAAE,CAACN,IAAI,EAAEC,MAAM,CAAC,CAAC,CAAA;EAElB,MAAMkB,UAAU,GAAGC,QAAQ,CAAC;AAAEpB,IAAAA,IAAI,EAAEM,YAAa;IAAEF,UAAU;AAAEiB,IAAAA,QAAQ,EAAE,KAAK;AAAEhB,IAAAA,KAAAA;AAAM,GAAC,CAAC,CAAA;EAExF,OAAO;AAAEL,IAAAA,IAAI,EAAEM,YAA4B;AAAEa,IAAAA,UAAAA;GAAY,CAAA;AAC3D;;;;"}
package/index.js ADDED
@@ -0,0 +1,18 @@
1
+ export { e as empty, g as getColorScale, m as monochrome, s as scheme, a as successDangerScheme } from './_internal/scheme.js';
2
+ export { C as ChartSize, a as ColorTheme, g as getSortingMethod, i as isValidDate, m as mergeLegends, u as useColor } from './_internal/theme.js';
3
+ export { S as ScatterPlot, c as ScatterPlotLegendVariant, b as ScatterPlotVariant, d as StyledScatterPlot, e as StyledScatterPlotEmptyText, u as useBrush, a as useZoom } from './_internal/ScatterPlot2.js';
4
+ export { u as useFormatCategoricalData } from './_internal/useFormatCategoricalData.js';
5
+ export { a as LabelVariant, L as LegendVariant, T as TooltipVariant } from './_internal/legend2.js';
6
+ export { A as Arc, S as StyledArc } from './_internal/Arc2.js';
7
+ export { A as Arcs, S as StyledArcs } from './_internal/Arcs2.js';
8
+ export { A as Axis, b as AxisPosition, a as AxisVariant, S as StyledAxis, g as getAxisType } from './_internal/Axis2.js';
9
+ export { B as Bar, b as BarDirection, a as BarOrientation, S as StyledBar } from './_internal/Bar2.js';
10
+ export { a as BarChart, b as BarChartLegendVariant, B as BaseBarChart, S as StyledBarChart, d as StyledBarChartBars, e as StyledBarChartEmptyText, c as StyledBarChartSection } from './_internal/BarChart2.js';
11
+ export { C as ChartContainer, b as ChartContainerDescription, a as ChartContainerTitle, S as StyledChartContainer, d as StyledChartContainerCaption, c as StyledChartContainerTitle } from './_internal/ChartContainer2.js';
12
+ export { D as DataPoint, S as StyledDataPoint } from './_internal/DataPoint2.js';
13
+ export { D as Dot, a as DotVariant, S as StyledDot } from './_internal/Dot2.js';
14
+ export { L as Legend, S as StyledLegend } from './_internal/Legend3.js';
15
+ export { L as Line, S as StyledLine } from './_internal/Line2.js';
16
+ export { L as LineChart, a as LineChartLegendVariant, S as StyledLineChart, b as StyledLineChartEmptyText } from './_internal/LineChart2.js';
17
+ export { P as PieChart, b as PieChartLegendVariant, a as PieChartVariant, S as StyledPieChart, c as StyledPieChartCenterText, d as StyledPieChartEmptyText } from './_internal/PieChart2.js';
18
+ //# sourceMappingURL=index.js.map
package/index.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
package/index2.js ADDED
@@ -0,0 +1,16 @@
1
+ import * as React from 'react';
2
+ import { useEffect, useLayoutEffect, useState, useRef, forwardRef, useCallback, useContext, useMemo } from 'react';
3
+ import { unstable_batchedUpdates } from 'react-dom';
4
+
5
+ var f$1=r(),n=e=>c$3(e,f$1),m$1=r();n.write=e=>c$3(e,m$1);var d$2=r();n.onStart=e=>c$3(e,d$2);var h$3=r();n.onFrame=e=>c$3(e,h$3);var p$1=r();n.onFinish=e=>c$3(e,p$1);var i=[];n.setTimeout=(e,t)=>{let a=n.now()+t,o=()=>{let F=i.findIndex(z=>z.cancel==o);~F&&i.splice(F,1),u$2-=~F?1:0;},s={time:a,handler:e,cancel:o};return i.splice(w(a),0,s),u$2+=1,v$2(),s};var w=e=>~(~i.findIndex(t=>t.time>e)||~i.length);n.cancel=e=>{d$2.delete(e),h$3.delete(e),p$1.delete(e),f$1.delete(e),m$1.delete(e);};n.sync=e=>{T=!0,n.batchedUpdates(e),T=!1;};n.throttle=e=>{let t;function a(){try{e(...t);}finally{t=null;}}function o(...s){t=s,n.onStart(a);}return o.handler=e,o.cancel=()=>{d$2.delete(a),t=null;},o};var y$3=typeof window<"u"?window.requestAnimationFrame:()=>{};n.use=e=>y$3=e;n.now=typeof performance<"u"?()=>performance.now():Date.now;n.batchedUpdates=e=>e();n.catch=console.error;n.frameLoop="always";n.advance=()=>{n.frameLoop!=="demand"?console.warn("Cannot call the manual advancement of rafz whilst frameLoop is not set as demand"):x$2();};var l$2=-1,u$2=0,T=!1;function c$3(e,t){T?(t.delete(e),e(0)):(t.add(e),v$2());}function v$2(){l$2<0&&(l$2=0,n.frameLoop!=="demand"&&y$3(b$2));}function R(){l$2=-1;}function b$2(){~l$2&&(y$3(b$2),n.batchedUpdates(x$2));}function x$2(){let e=l$2;l$2=n.now();let t=w(l$2);if(t&&(Q$2(i.splice(0,t),a=>a.handler()),u$2-=t),!u$2){R();return}d$2.flush(),f$1.flush(e?Math.min(64,l$2-e):16.667),h$3.flush(),m$1.flush(),p$1.flush();}function r(){let e=new Set,t=e;return {add(a){u$2+=t==e&&!e.has(a)?1:0,e.add(a);},delete(a){return u$2-=t==e&&e.has(a)?1:0,e.delete(a)},flush(a){t.size&&(e=new Set,u$2-=t.size,Q$2(t,o=>o(a)&&e.add(o)),u$2+=e.size,t=e);}}}function Q$2(e,t){e.forEach(a=>{try{t(a);}catch(o){n.catch(o);}});}
6
+
7
+ var ze$1=Object.defineProperty;var Le$2=(e,t)=>{for(var r in t)ze$1(e,r,{get:t[r],enumerable:!0});};var p={};Le$2(p,{assign:()=>U,colors:()=>c$2,createStringInterpolator:()=>k$2,skipAnimation:()=>ee,to:()=>J$1,willAdvance:()=>S});function Y(){}var mt$1=(e,t,r)=>Object.defineProperty(e,t,{value:r,writable:!0,configurable:!0}),l$1={arr:Array.isArray,obj:e=>!!e&&e.constructor.name==="Object",fun:e=>typeof e=="function",str:e=>typeof e=="string",num:e=>typeof e=="number",und:e=>e===void 0};function bt$1(e,t){if(l$1.arr(e)){if(!l$1.arr(t)||e.length!==t.length)return !1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return !1;return !0}return e===t}var Ve=(e,t)=>e.forEach(t);function xt(e,t,r){if(l$1.arr(e)){for(let n=0;n<e.length;n++)t.call(r,e[n],`${n}`);return}for(let n in e)e.hasOwnProperty(n)&&t.call(r,e[n],n);}var ht$1=e=>l$1.und(e)?[]:l$1.arr(e)?e:[e];function Pe$1(e,t){if(e.size){let r=Array.from(e);e.clear(),Ve(r,t);}}var yt$1=(e,...t)=>Pe$1(e,r=>r(...t)),h$2=()=>typeof window>"u"||!window.navigator||/ServerSideRendering|^Deno\//.test(window.navigator.userAgent);var k$2,J$1,c$2=null,ee=!1,S=Y,U=e=>{e.to&&(J$1=e.to),e.now&&(n.now=e.now),e.colors!==void 0&&(c$2=e.colors),e.skipAnimation!=null&&(ee=e.skipAnimation),e.createStringInterpolator&&(k$2=e.createStringInterpolator),e.requestAnimationFrame&&n.use(e.requestAnimationFrame),e.batchedUpdates&&(n.batchedUpdates=e.batchedUpdates),e.willAdvance&&(S=e.willAdvance),e.frameLoop&&(n.frameLoop=e.frameLoop);};var E$1=new Set,u$1=[],H$1=[],A=0,qe$1={get idle(){return !E$1.size&&!u$1.length},start(e){A>e.priority?(E$1.add(e),n.onStart($e)):(te$1(e),n(B));},advance:B,sort(e){if(A)n.onFrame(()=>qe$1.sort(e));else {let t=u$1.indexOf(e);~t&&(u$1.splice(t,1),re(e));}},clear(){u$1=[],E$1.clear();}};function $e(){E$1.forEach(te$1),E$1.clear(),n(B);}function te$1(e){u$1.includes(e)||re(e);}function re(e){u$1.splice(Ge$1(u$1,t=>t.priority>e.priority),0,e);}function B(e){let t=H$1;for(let r=0;r<u$1.length;r++){let n=u$1[r];A=n.priority,n.idle||(S(n),n.advance(e),n.idle||t.push(n));}return A=0,H$1=u$1,H$1.length=0,u$1=t,u$1.length>0}function Ge$1(e,t){let r=e.findIndex(t);return r<0?e.length:r}var ne$2=(e,t,r)=>Math.min(Math.max(r,e),t);var It={transparent:0,aliceblue:4042850303,antiquewhite:4209760255,aqua:16777215,aquamarine:2147472639,azure:4043309055,beige:4126530815,bisque:4293182719,black:255,blanchedalmond:4293643775,blue:65535,blueviolet:2318131967,brown:2771004159,burlywood:3736635391,burntsienna:3934150143,cadetblue:1604231423,chartreuse:2147418367,chocolate:3530104575,coral:4286533887,cornflowerblue:1687547391,cornsilk:4294499583,crimson:3692313855,cyan:16777215,darkblue:35839,darkcyan:9145343,darkgoldenrod:3095792639,darkgray:2846468607,darkgreen:6553855,darkgrey:2846468607,darkkhaki:3182914559,darkmagenta:2332068863,darkolivegreen:1433087999,darkorange:4287365375,darkorchid:2570243327,darkred:2332033279,darksalmon:3918953215,darkseagreen:2411499519,darkslateblue:1211993087,darkslategray:793726975,darkslategrey:793726975,darkturquoise:13554175,darkviolet:2483082239,deeppink:4279538687,deepskyblue:12582911,dimgray:1768516095,dimgrey:1768516095,dodgerblue:512819199,firebrick:2988581631,floralwhite:4294635775,forestgreen:579543807,fuchsia:4278255615,gainsboro:3705462015,ghostwhite:4177068031,gold:4292280575,goldenrod:3668254975,gray:2155905279,green:8388863,greenyellow:2919182335,grey:2155905279,honeydew:4043305215,hotpink:4285117695,indianred:3445382399,indigo:1258324735,ivory:4294963455,khaki:4041641215,lavender:3873897215,lavenderblush:4293981695,lawngreen:2096890111,lemonchiffon:4294626815,lightblue:2916673279,lightcoral:4034953471,lightcyan:3774873599,lightgoldenrodyellow:4210742015,lightgray:3553874943,lightgreen:2431553791,lightgrey:3553874943,lightpink:4290167295,lightsalmon:4288707327,lightseagreen:548580095,lightskyblue:2278488831,lightslategray:2005441023,lightslategrey:2005441023,lightsteelblue:2965692159,lightyellow:4294959359,lime:16711935,limegreen:852308735,linen:4210091775,magenta:4278255615,maroon:2147483903,mediumaquamarine:1724754687,mediumblue:52735,mediumorchid:3126187007,mediumpurple:2473647103,mediumseagreen:1018393087,mediumslateblue:2070474495,mediumspringgreen:16423679,mediumturquoise:1221709055,mediumvioletred:3340076543,midnightblue:421097727,mintcream:4127193855,mistyrose:4293190143,moccasin:4293178879,navajowhite:4292783615,navy:33023,oldlace:4260751103,olive:2155872511,olivedrab:1804477439,orange:4289003775,orangered:4282712319,orchid:3664828159,palegoldenrod:4008225535,palegreen:2566625535,paleturquoise:2951671551,palevioletred:3681588223,papayawhip:4293907967,peachpuff:4292524543,peru:3448061951,pink:4290825215,plum:3718307327,powderblue:2967529215,purple:2147516671,rebeccapurple:1714657791,red:4278190335,rosybrown:3163525119,royalblue:1097458175,saddlebrown:2336560127,salmon:4202722047,sandybrown:4104413439,seagreen:780883967,seashell:4294307583,sienna:2689740287,silver:3233857791,skyblue:2278484991,slateblue:1784335871,slategray:1887473919,slategrey:1887473919,snow:4294638335,springgreen:16744447,steelblue:1182971135,tan:3535047935,teal:8421631,thistle:3636451583,tomato:4284696575,turquoise:1088475391,violet:4001558271,wheat:4125012991,white:4294967295,whitesmoke:4126537215,yellow:4294902015,yellowgreen:2597139199};var d$1="[-+]?\\d*\\.?\\d+",M=d$1+"%";function C$1(...e){return "\\(\\s*("+e.join(")\\s*,\\s*(")+")\\s*\\)"}var oe$1=new RegExp("rgb"+C$1(d$1,d$1,d$1)),fe$1=new RegExp("rgba"+C$1(d$1,d$1,d$1,d$1)),ae$1=new RegExp("hsl"+C$1(d$1,M,M)),ie=new RegExp("hsla"+C$1(d$1,M,M,d$1)),se$1=/^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,ue$1=/^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,le$1=/^#([0-9a-fA-F]{6})$/,ce=/^#([0-9a-fA-F]{8})$/;function be$1(e){let t;return typeof e=="number"?e>>>0===e&&e>=0&&e<=4294967295?e:null:(t=le$1.exec(e))?parseInt(t[1]+"ff",16)>>>0:c$2&&c$2[e]!==void 0?c$2[e]:(t=oe$1.exec(e))?(y$2(t[1])<<24|y$2(t[2])<<16|y$2(t[3])<<8|255)>>>0:(t=fe$1.exec(e))?(y$2(t[1])<<24|y$2(t[2])<<16|y$2(t[3])<<8|me$1(t[4]))>>>0:(t=se$1.exec(e))?parseInt(t[1]+t[1]+t[2]+t[2]+t[3]+t[3]+"ff",16)>>>0:(t=ce.exec(e))?parseInt(t[1],16)>>>0:(t=ue$1.exec(e))?parseInt(t[1]+t[1]+t[2]+t[2]+t[3]+t[3]+t[4]+t[4],16)>>>0:(t=ae$1.exec(e))?(de$1(pe(t[1]),z$1(t[2]),z$1(t[3]))|255)>>>0:(t=ie.exec(e))?(de$1(pe(t[1]),z$1(t[2]),z$1(t[3]))|me$1(t[4]))>>>0:null}function j$1(e,t,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+(t-e)*6*r:r<1/2?t:r<2/3?e+(t-e)*(2/3-r)*6:e}function de$1(e,t,r){let n=r<.5?r*(1+t):r+t-r*t,f=2*r-n,o=j$1(f,n,e+1/3),i=j$1(f,n,e),s=j$1(f,n,e-1/3);return Math.round(o*255)<<24|Math.round(i*255)<<16|Math.round(s*255)<<8}function y$2(e){let t=parseInt(e,10);return t<0?0:t>255?255:t}function pe(e){return (parseFloat(e)%360+360)%360/360}function me$1(e){let t=parseFloat(e);return t<0?0:t>1?255:Math.round(t*255)}function z$1(e){let t=parseFloat(e);return t<0?0:t>100?1:t/100}function D$1(e){let t=be$1(e);if(t===null)return e;t=t||0;let r=(t&4278190080)>>>24,n=(t&16711680)>>>16,f=(t&65280)>>>8,o=(t&255)/255;return `rgba(${r}, ${n}, ${f}, ${o})`}var W$1=(e,t,r)=>{if(l$1.fun(e))return e;if(l$1.arr(e))return W$1({range:e,output:t,extrapolate:r});if(l$1.str(e.output[0]))return k$2(e);let n=e,f=n.output,o=n.range||[0,1],i=n.extrapolateLeft||n.extrapolate||"extend",s=n.extrapolateRight||n.extrapolate||"extend",x=n.easing||(a=>a);return a=>{let F=He$1(a,o);return Ue$1(a,o[F],o[F+1],f[F],f[F+1],x,i,s,n.map)}};function Ue$1(e,t,r,n,f,o,i,s,x){let a=x?x(e):e;if(a<t){if(i==="identity")return a;i==="clamp"&&(a=t);}if(a>r){if(s==="identity")return a;s==="clamp"&&(a=r);}return n===f?n:t===r?e<=t?n:f:(t===-1/0?a=-a:r===1/0?a=a-t:a=(a-t)/(r-t),a=o(a),n===-1/0?a=-a:f===1/0?a=a+n:a=a*(f-n)+n,a)}function He$1(e,t){for(var r=1;r<t.length-1&&!(t[r]>=e);++r);return r-1}var Be=(e,t="end")=>r=>{r=t==="end"?Math.min(r,.999):Math.max(r,.001);let n=r*e,f=t==="end"?Math.floor(n):Math.ceil(n);return ne$2(0,1,f/e)},P=1.70158,L$1=P*1.525,xe$1=P+1,he$1=2*Math.PI/3,ye$1=2*Math.PI/4.5,V$1=e=>e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375,Lt$1={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>1-(1-e)*(1-e),easeInOutQuad:e=>e<.5?2*e*e:1-Math.pow(-2*e+2,2)/2,easeInCubic:e=>e*e*e,easeOutCubic:e=>1-Math.pow(1-e,3),easeInOutCubic:e=>e<.5?4*e*e*e:1-Math.pow(-2*e+2,3)/2,easeInQuart:e=>e*e*e*e,easeOutQuart:e=>1-Math.pow(1-e,4),easeInOutQuart:e=>e<.5?8*e*e*e*e:1-Math.pow(-2*e+2,4)/2,easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>1-Math.pow(1-e,5),easeInOutQuint:e=>e<.5?16*e*e*e*e*e:1-Math.pow(-2*e+2,5)/2,easeInSine:e=>1-Math.cos(e*Math.PI/2),easeOutSine:e=>Math.sin(e*Math.PI/2),easeInOutSine:e=>-(Math.cos(Math.PI*e)-1)/2,easeInExpo:e=>e===0?0:Math.pow(2,10*e-10),easeOutExpo:e=>e===1?1:1-Math.pow(2,-10*e),easeInOutExpo:e=>e===0?0:e===1?1:e<.5?Math.pow(2,20*e-10)/2:(2-Math.pow(2,-20*e+10))/2,easeInCirc:e=>1-Math.sqrt(1-Math.pow(e,2)),easeOutCirc:e=>Math.sqrt(1-Math.pow(e-1,2)),easeInOutCirc:e=>e<.5?(1-Math.sqrt(1-Math.pow(2*e,2)))/2:(Math.sqrt(1-Math.pow(-2*e+2,2))+1)/2,easeInBack:e=>xe$1*e*e*e-P*e*e,easeOutBack:e=>1+xe$1*Math.pow(e-1,3)+P*Math.pow(e-1,2),easeInOutBack:e=>e<.5?Math.pow(2*e,2)*((L$1+1)*2*e-L$1)/2:(Math.pow(2*e-2,2)*((L$1+1)*(e*2-2)+L$1)+2)/2,easeInElastic:e=>e===0?0:e===1?1:-Math.pow(2,10*e-10)*Math.sin((e*10-10.75)*he$1),easeOutElastic:e=>e===0?0:e===1?1:Math.pow(2,-10*e)*Math.sin((e*10-.75)*he$1)+1,easeInOutElastic:e=>e===0?0:e===1?1:e<.5?-(Math.pow(2,20*e-10)*Math.sin((20*e-11.125)*ye$1))/2:Math.pow(2,-20*e+10)*Math.sin((20*e-11.125)*ye$1)/2+1,easeInBounce:e=>1-V$1(1-e),easeOutBounce:V$1,easeInOutBounce:e=>e<.5?(1-V$1(1-2*e))/2:(1+V$1(2*e-1))/2,steps:Be};var g$1=Symbol.for("FluidValue.get"),m=Symbol.for("FluidValue.observers");var Pt=e=>!!(e&&e[g$1]),ve=e=>e&&e[g$1]?e[g$1]():e,qt=e=>e[m]||null;function je(e,t){e.eventObserved?e.eventObserved(t):e(t);}function $t(e,t){let r=e[m];r&&r.forEach(n=>{je(n,t);});}var ge=class{[g$1];[m];constructor(t){if(!t&&!(t=this.get))throw Error("Unknown getter");De$1(this,t);}},De$1=(e,t)=>Ee$1(e,g$1,t);function Gt$1(e,t){if(e[g$1]){let r=e[m];r||Ee$1(e,m,r=new Set),r.has(t)||(r.add(t),e.observerAdded&&e.observerAdded(r.size,t));}return t}function Qt(e,t){let r=e[m];if(r&&r.has(t)){let n=r.size-1;n?r.delete(t):e[m]=null,e.observerRemoved&&e.observerRemoved(n,t);}}var Ee$1=(e,t,r)=>Object.defineProperty(e,t,{value:r,writable:!0,configurable:!0});var O=/[+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,Oe=/(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d\.]+%?\))/gi,K=new RegExp(`(${O.source})(%|[a-z]+)`,"i"),we$1=/rgba\(([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+)\)/gi,b$1=/var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/;var N=e=>{let[t,r]=We(e);if(!t||h$2())return e;let n=window.getComputedStyle(document.documentElement).getPropertyValue(t);if(n)return n.trim();if(r&&r.startsWith("--")){let f=window.getComputedStyle(document.documentElement).getPropertyValue(r);return f||e}else {if(r&&b$1.test(r))return N(r);if(r)return r}return e},We=e=>{let t=b$1.exec(e);if(!t)return [,];let[,r,n]=t;return [r,n]};var _$1,Ke$1=(e,t,r,n,f)=>`rgba(${Math.round(t)}, ${Math.round(r)}, ${Math.round(n)}, ${f})`,Xt=e=>{_$1||(_$1=c$2?new RegExp(`(${Object.keys(c$2).join("|")})(?!\\w)`,"g"):/^\b$/);let t=e.output.map(o=>ve(o).replace(b$1,N).replace(Oe,D$1).replace(_$1,D$1)),r=t.map(o=>o.match(O).map(Number)),f=r[0].map((o,i)=>r.map(s=>{if(!(i in s))throw Error('The arity of each "output" value must be equal');return s[i]})).map(o=>W$1({...e,output:o}));return o=>{let i=!K.test(t[0])&&t.find(x=>K.test(x))?.replace(O,""),s=0;return t[0].replace(O,()=>`${f[s++](o)}${i||""}`).replace(we$1,Ke$1)}};var Z="react-spring: ",Te=e=>{let t=e,r=!1;if(typeof t!="function")throw new TypeError(`${Z}once requires a function parameter`);return (...n)=>{r||(t(...n),r=!0);}},Ne$1=Te(console.warn);function Jt(){Ne$1(`${Z}The "interpolate" function is deprecated in v9 (use "to" instead)`);}var _e$1=Te(console.warn);function er$1(){_e$1(`${Z}Directly calling start instead of using the api object is deprecated in v9 (use ".start" instead), this will be removed in later 0.X.0 versions`);}function or(e){return l$1.str(e)&&(e[0]=="#"||/\d/.test(e)||!h$2()&&b$1.test(e)||e in(c$2||{}))}var Q$1=h$2()?useEffect:useLayoutEffect;var Ce$1=()=>{let e=useRef(!1);return Q$1(()=>(e.current=!0,()=>{e.current=!1;}),[]),e};function Mr(){let e=useState()[1],t=Ce$1();return ()=>{t.current&&e(Math.random());}}function Lr(e,t){let[r]=useState(()=>({inputs:t,result:e()})),n=useRef(),f=n.current,o=f;return o?t&&o.inputs&&it$2(t,o.inputs)||(o={inputs:t,result:e()}):o=r,useEffect(()=>{n.current=o,f==r&&(r.inputs=r.result=void 0);},[o]),o.result}function it$2(e,t){if(e.length!==t.length)return !1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return !1;return !0}var $r=e=>useEffect(e,ut),ut=[];function Ur(e){let t=useRef();return useEffect(()=>{t.current=e;}),t.current}
8
+
9
+ var h$1=Symbol.for("Animated:node"),v$1=e=>!!e&&e[h$1]===e,k$1=e=>e&&e[h$1],D=(e,t)=>mt$1(e,h$1,t),F$1=e=>e&&e[h$1]&&e[h$1].getPayload(),c$1=class{payload;constructor(){D(this,this);}getPayload(){return this.payload||[]}};var l=class extends c$1{constructor(r){super();this._value=r;l$1.num(this._value)&&(this.lastPosition=this._value);}done=!0;elapsedTime;lastPosition;lastVelocity;v0;durationProgress=0;static create(r){return new l(r)}getPayload(){return [this]}getValue(){return this._value}setValue(r,n){return l$1.num(r)&&(this.lastPosition=r,n&&(r=Math.round(r/n)*n,this.done&&(this.lastPosition=r))),this._value===r?!1:(this._value=r,!0)}reset(){let{done:r}=this;this.done=!1,l$1.num(this._value)&&(this.elapsedTime=0,this.durationProgress=0,this.lastPosition=this._value,r&&(this.lastVelocity=null),this.v0=null);}};var d=class extends l{_string=null;_toString;constructor(t){super(0),this._toString=W$1({output:[t,t]});}static create(t){return new d(t)}getValue(){let t=this._string;return t??(this._string=this._toString(this._value))}setValue(t){if(l$1.str(t)){if(t==this._string)return !1;this._string=t,this._value=1;}else if(super.setValue(t))this._string=null;else return !1;return !0}reset(t){t&&(this._toString=W$1({output:[this.getValue(),t]})),this._value=0,super.reset();}};var f={dependencies:null};var u=class extends c$1{constructor(r){super();this.source=r;this.setValue(r);}getValue(r){let n={};return xt(this.source,(a,i)=>{v$1(a)?n[i]=a.getValue(r):Pt(a)?n[i]=ve(a):r||(n[i]=a);}),n}setValue(r){this.source=r,this.payload=this._makePayload(r);}reset(){this.payload&&Ve(this.payload,r=>r.reset());}_makePayload(r){if(r){let n=new Set;return xt(r,this._addToPayload,n),Array.from(n)}}_addToPayload(r){f.dependencies&&Pt(r)&&f.dependencies.add(r);let n=F$1(r);n&&Ve(n,a=>this.add(a));}};var y$1=class extends u{constructor(t){super(t);}static create(t){return new y$1(t)}getValue(){return this.source.map(t=>t.getValue())}setValue(t){let r=this.getPayload();return t.length==r.length?r.map((n,a)=>n.setValue(t[a])).some(Boolean):(super.setValue(t.map(z)),!0)}};function z(e){return (or(e)?d:l).create(e)}function Le$1(e){let t=k$1(e);return t?t.constructor:l$1.arr(e)?y$1:or(e)?d:l}var x$1=(e,t)=>{let r=!l$1.fun(e)||e.prototype&&e.prototype.isReactComponent;return forwardRef((n$1,a)=>{let i=useRef(null),o=r&&useCallback(s=>{i.current=ae(a,s);},[a]),[m,T]=ne$1(n$1,t),W=Mr(),P=()=>{let s=i.current;if(r&&!s)return;(s?t.applyAnimatedValues(s,m.getValue(!0)):!1)===!1&&W();},_=new b(P,T),p=useRef();Q$1(()=>(p.current=_,Ve(T,s=>Gt$1(s,_)),()=>{p.current&&(Ve(p.current.deps,s=>Qt(s,p.current)),n.cancel(p.current.update));})),useEffect(P,[]),$r(()=>()=>{let s=p.current;Ve(s.deps,S=>Qt(S,s));});let $=t.getComponentProps(m.getValue());return React.createElement(e,{...$,ref:o})})},b=class{constructor(t,r){this.update=t;this.deps=r;}eventObserved(t){t.type=="change"&&n.write(this.update);}};function ne$1(e,t){let r=new Set;return f.dependencies=r,e.style&&(e={...e,style:t.createAnimatedStyle(e.style)}),e=new u(e),f.dependencies=null,[e,r]}function ae(e,t){return e&&(l$1.fun(e)?e(t):e.current=t),t}var j=Symbol.for("AnimatedComponent"),Ke=(e,{applyAnimatedValues:t=()=>!1,createAnimatedStyle:r=a=>new u(a),getComponentProps:n=a=>a}={})=>{let a={applyAnimatedValues:t,createAnimatedStyle:r,getComponentProps:n},i=o=>{let m=I$2(o)||"Anonymous";return l$1.str(o)?o=i[o]||(i[o]=x$1(o,a)):o=o[j]||(o[j]=x$1(o,a)),o.displayName=`Animated(${m})`,o};return xt(e,(o,m)=>{l$1.arr(e)&&(m=I$2(o)),i[m]=i(o);}),{animated:i}},I$2=e=>l$1.str(e)?e:e&&l$1.str(e.displayName)?e.displayName:l$1.fun(e)&&e.name||null;
10
+
11
+ function I$1(t,...e){return l$1.fun(t)?t(...e):t}var te=(t,e)=>t===!0||!!(e&&t&&(l$1.fun(t)?t(e):ht$1(t).includes(e))),et=(t,e)=>l$1.obj(t)?e&&t[e]:t;var ke=(t,e)=>t.default===!0?t[e]:t.default?t.default[e]:void 0,nn=t=>t,ne=(t,e=nn)=>{let n=rn;t.default&&t.default!==!0&&(t=t.default,n=Object.keys(t));let r={};for(let o of n){let s=e(t[o],o);l$1.und(s)||(r[o]=s);}return r},rn=["config","onProps","onStart","onChange","onPause","onResume","onRest"],on={config:1,from:1,to:1,ref:1,loop:1,reset:1,pause:1,cancel:1,reverse:1,immediate:1,default:1,delay:1,onProps:1,onStart:1,onChange:1,onPause:1,onResume:1,onRest:1,onResolve:1,items:1,trail:1,sort:1,expires:1,initial:1,enter:1,update:1,leave:1,children:1,onDestroyed:1,keys:1,callId:1,parentId:1};function sn(t){let e={},n=0;if(xt(t,(r,o)=>{on[o]||(e[o]=r,n++);}),n)return e}function de(t){let e=sn(t);if(e){let n={to:e};return xt(t,(r,o)=>o in e||(n[o]=r)),n}return {...t}}function me(t){return t=ve(t),l$1.arr(t)?t.map(me):or(t)?p.createStringInterpolator({range:[0,1],output:[t,t]})(1):t}function Ue(t){for(let e in t)return !0;return !1}function Ee(t){return l$1.fun(t)||l$1.arr(t)&&l$1.obj(t[0])}function xe(t,e){t.ref?.delete(t),e?.delete(t);}function he(t,e){e&&t.ref!==e&&(t.ref?.delete(t),e.add(t),t.ref=e);}var mt={default:{tension:170,friction:26},gentle:{tension:120,friction:14},wobbly:{tension:180,friction:12},stiff:{tension:210,friction:20},slow:{tension:280,friction:60},molasses:{tension:280,friction:120}};var tt={...mt.default,mass:1,damping:1,easing:Lt$1.linear,clamp:!1},we=class{tension;friction;frequency;damping;mass;velocity=0;restVelocity;precision;progress;duration;easing;clamp;bounce;decay;round;constructor(){Object.assign(this,tt);}};function gt(t,e,n){n&&(n={...n},ht(n,e),e={...n,...e}),ht(t,e),Object.assign(t,e);for(let i in tt)t[i]==null&&(t[i]=tt[i]);let{frequency:r,damping:o}=t,{mass:s}=t;return l$1.und(r)||(r<.01&&(r=.01),o<0&&(o=0),t.tension=Math.pow(2*Math.PI/r,2)*s,t.friction=4*Math.PI*o*s/r),t}function ht(t,e){if(!l$1.und(e.decay))t.duration=void 0;else {let n=!l$1.und(e.tension)||!l$1.und(e.friction);(n||!l$1.und(e.frequency)||!l$1.und(e.damping)||!l$1.und(e.mass))&&(t.duration=void 0,t.decay=void 0),n&&(t.frequency=void 0);}}var yt=[],Le=class{changed=!1;values=yt;toValues=null;fromValues=yt;to;from;config=new we;immediate=!1};function Me(t,{key:e,props:n$1,defaultProps:r,state:o,actions:s}){return new Promise((i,a)=>{let u,p$1,f=te(n$1.cancel??r?.cancel,e);if(f)b();else {l$1.und(n$1.pause)||(o.paused=te(n$1.pause,e));let c=r?.pause;c!==!0&&(c=o.paused||te(c,e)),u=I$1(n$1.delay||0,e),c?(o.resumeQueue.add(m),s.pause()):(s.resume(),m());}function d(){o.resumeQueue.add(m),o.timeouts.delete(p$1),p$1.cancel(),u=p$1.time-n.now();}function m(){u>0&&!p.skipAnimation?(o.delayed=!0,p$1=n.setTimeout(b,u),o.pauseQueue.add(d),o.timeouts.add(p$1)):b();}function b(){o.delayed&&(o.delayed=!1),o.pauseQueue.delete(d),o.timeouts.delete(p$1),t<=(o.cancelId||0)&&(f=!0);try{s.start({...n$1,callId:t,cancel:f},i);}catch(c){a(c);}}})}var be=(t,e)=>e.length==1?e[0]:e.some(n=>n.cancelled)?q$1(t.get()):e.every(n=>n.noop)?nt(t.get()):E(t.get(),e.every(n=>n.finished)),nt=t=>({value:t,noop:!0,finished:!0,cancelled:!1}),E=(t,e,n=!1)=>({value:t,finished:e,cancelled:n}),q$1=t=>({value:t,cancelled:!0,finished:!1});function De(t,e,n$1,r){let{callId:o,parentId:s,onRest:i}=e,{asyncTo:a,promise:u}=n$1;return !s&&t===a&&!e.reset?u:n$1.promise=(async()=>{n$1.asyncId=o,n$1.asyncTo=t;let p$1=ne(e,(l,h)=>h==="onRest"?void 0:l),f,d,m=new Promise((l,h)=>(f=l,d=h)),b=l=>{let h=o<=(n$1.cancelId||0)&&q$1(r)||o!==n$1.asyncId&&E(r,!1);if(h)throw l.result=h,d(l),l},c=(l,h)=>{let g=new Ae,x=new Ne;return (async()=>{if(p.skipAnimation)throw oe(n$1),x.result=E(r,!1),d(x),x;b(g);let S=l$1.obj(l)?{...l}:{...h,to:l};S.parentId=o,xt(p$1,(V,_)=>{l$1.und(S[_])&&(S[_]=V);});let A=await r.start(S);return b(g),n$1.paused&&await new Promise(V=>{n$1.resumeQueue.add(V);}),A})()},P;if(p.skipAnimation)return oe(n$1),E(r,!1);try{let l;l$1.arr(t)?l=(async h=>{for(let g of h)await c(g);})(t):l=Promise.resolve(t(c,r.stop.bind(r))),await Promise.all([l.then(f),m]),P=E(r.get(),!0,!1);}catch(l){if(l instanceof Ae)P=l.result;else if(l instanceof Ne)P=l.result;else throw l}finally{o==n$1.asyncId&&(n$1.asyncId=s,n$1.asyncTo=s?a:void 0,n$1.promise=s?u:void 0);}return l$1.fun(i)&&n.batchedUpdates(()=>{i(P,r,r.item);}),P})()}function oe(t,e){Pe$1(t.timeouts,n=>n.cancel()),t.pauseQueue.clear(),t.resumeQueue.clear(),t.asyncId=t.asyncTo=t.promise=void 0,e&&(t.cancelId=e);}var Ae=class extends Error{result;constructor(){super("An async animation has been interrupted. You see this error because you forgot to use `await` or `.catch(...)` on its returned promise.");}},Ne=class extends Error{result;constructor(){super("SkipAnimationSignal");}};var Re=t=>t instanceof X,Sn=1,X=class extends ge{id=Sn++;_priority=0;get priority(){return this._priority}set priority(e){this._priority!=e&&(this._priority=e,this._onPriorityChange(e));}get(){let e=k$1(this);return e&&e.getValue()}to(...e){return p.to(this,e)}interpolate(...e){return Jt(),p.to(this,e)}toJSON(){return this.get()}observerAdded(e){e==1&&this._attach();}observerRemoved(e){e==0&&this._detach();}_attach(){}_detach(){}_onChange(e,n=!1){$t(this,{type:"change",parent:this,value:e,idle:n});}_onPriorityChange(e){this.idle||qe$1.sort(this),$t(this,{type:"priority",parent:this,priority:e});}};var se=Symbol.for("SpringPhase"),bt=1,rt=2,ot=4,qe=t=>(t[se]&bt)>0,Q=t=>(t[se]&rt)>0,ye=t=>(t[se]&ot)>0,st=(t,e)=>e?t[se]|=rt|bt:t[se]&=~rt,it$1=(t,e)=>e?t[se]|=ot:t[se]&=~ot;var ue=class extends X{key;animation=new Le;queue;defaultProps={};_state={paused:!1,delayed:!1,pauseQueue:new Set,resumeQueue:new Set,timeouts:new Set};_pendingCalls=new Set;_lastCallId=0;_lastToId=0;_memoizedDuration=0;constructor(e,n){if(super(),!l$1.und(e)||!l$1.und(n)){let r=l$1.obj(e)?{...e}:{...n,from:e};l$1.und(r.default)&&(r.default=!0),this.start(r);}}get idle(){return !(Q(this)||this._state.asyncTo)||ye(this)}get goal(){return ve(this.animation.to)}get velocity(){let e=k$1(this);return e instanceof l?e.lastVelocity||0:e.getPayload().map(n=>n.lastVelocity||0)}get hasAnimated(){return qe(this)}get isAnimating(){return Q(this)}get isPaused(){return ye(this)}get isDelayed(){return this._state.delayed}advance(e){let n=!0,r=!1,o=this.animation,{toValues:s}=o,{config:i}=o,a=F$1(o.to);!a&&Pt(o.to)&&(s=ht$1(ve(o.to))),o.values.forEach((f,d$1)=>{if(f.done)return;let m=f.constructor==d?1:a?a[d$1].lastPosition:s[d$1],b=o.immediate,c=m;if(!b){if(c=f.lastPosition,i.tension<=0){f.done=!0;return}let P=f.elapsedTime+=e,l=o.fromValues[d$1],h=f.v0!=null?f.v0:f.v0=l$1.arr(i.velocity)?i.velocity[d$1]:i.velocity,g,x=i.precision||(l==m?.005:Math.min(1,Math.abs(m-l)*.001));if(l$1.und(i.duration))if(i.decay){let S=i.decay===!0?.998:i.decay,A=Math.exp(-(1-S)*P);c=l+h/(1-S)*(1-A),b=Math.abs(f.lastPosition-c)<=x,g=h*A;}else {g=f.lastVelocity==null?h:f.lastVelocity;let S=i.restVelocity||x/10,A=i.clamp?0:i.bounce,V=!l$1.und(A),_=l==m?f.v0>0:l<m,v,w=!1,C=1,$=Math.ceil(e/C);for(let L=0;L<$&&(v=Math.abs(g)>S,!(!v&&(b=Math.abs(m-c)<=x,b)));++L){V&&(w=c==m||c>m==_,w&&(g=-g*A,c=m));let N=-i.tension*1e-6*(c-m),y=-i.friction*.001*g,T=(N+y)/i.mass;g=g+T*C,c=c+g*C;}}else {let S=1;i.duration>0&&(this._memoizedDuration!==i.duration&&(this._memoizedDuration=i.duration,f.durationProgress>0&&(f.elapsedTime=i.duration*f.durationProgress,P=f.elapsedTime+=e)),S=(i.progress||0)+P/this._memoizedDuration,S=S>1?1:S<0?0:S,f.durationProgress=S),c=l+i.easing(S)*(m-l),g=(c-f.lastPosition)/e,b=S==1;}f.lastVelocity=g,Number.isNaN(c)&&(console.warn("Got NaN while animating:",this),b=!0);}a&&!a[d$1].done&&(b=!1),b?f.done=!0:n=!1,f.setValue(c,i.round)&&(r=!0);});let u=k$1(this),p=u.getValue();if(n){let f=ve(o.to);(p!==f||r)&&!i.decay?(u.setValue(f),this._onChange(f)):r&&i.decay&&this._onChange(p),this._stop();}else r&&this._onChange(p);}set(e){return n.batchedUpdates(()=>{this._stop(),this._focus(e),this._set(e);}),this}pause(){this._update({pause:!0});}resume(){this._update({pause:!1});}finish(){if(Q(this)){let{to:e,config:n$1}=this.animation;n.batchedUpdates(()=>{this._onStart(),n$1.decay||this._set(e,!1),this._stop();});}return this}update(e){return (this.queue||(this.queue=[])).push(e),this}start(e,n){let r;return l$1.und(e)?(r=this.queue||[],this.queue=[]):r=[l$1.obj(e)?e:{...n,to:e}],Promise.all(r.map(o=>this._update(o))).then(o=>be(this,o))}stop(e){let{to:n$1}=this.animation;return this._focus(this.get()),oe(this._state,e&&this._lastCallId),n.batchedUpdates(()=>this._stop(n$1,e)),this}reset(){this._update({reset:!0});}eventObserved(e){e.type=="change"?this._start():e.type=="priority"&&(this.priority=e.priority+1);}_prepareNode(e){let n=this.key||"",{to:r,from:o}=e;r=l$1.obj(r)?r[n]:r,(r==null||Ee(r))&&(r=void 0),o=l$1.obj(o)?o[n]:o,o==null&&(o=void 0);let s={to:r,from:o};return qe(this)||(e.reverse&&([r,o]=[o,r]),o=ve(o),l$1.und(o)?k$1(this)||this._set(r):this._set(o)),s}_update({...e},n){let{key:r,defaultProps:o}=this;e.default&&Object.assign(o,ne(e,(a,u)=>/^on/.test(u)?et(a,r):a)),_t(this,e,"onProps"),Ie(this,"onProps",e,this);let s=this._prepareNode(e);if(Object.isFrozen(this))throw Error("Cannot animate a `SpringValue` object that is frozen. Did you forget to pass your component to `animated(...)` before animating its props?");let i=this._state;return Me(++this._lastCallId,{key:r,props:e,defaultProps:o,state:i,actions:{pause:()=>{ye(this)||(it$1(this,!0),yt$1(i.pauseQueue),Ie(this,"onPause",E(this,Ce(this,this.animation.to)),this));},resume:()=>{ye(this)&&(it$1(this,!1),Q(this)&&this._resume(),yt$1(i.resumeQueue),Ie(this,"onResume",E(this,Ce(this,this.animation.to)),this));},start:this._merge.bind(this,s)}}).then(a=>{if(e.loop&&a.finished&&!(n&&a.noop)){let u=at(e);if(u)return this._update(u,!0)}return a})}_merge(e,n$1,r){if(n$1.cancel)return this.stop(!0),r(q$1(this));let o=!l$1.und(e.to),s=!l$1.und(e.from);if(o||s)if(n$1.callId>this._lastToId)this._lastToId=n$1.callId;else return r(q$1(this));let{key:i,defaultProps:a,animation:u}=this,{to:p,from:f}=u,{to:d$1=p,from:m=f}=e;s&&!o&&(!n$1.default||l$1.und(d$1))&&(d$1=m),n$1.reverse&&([d$1,m]=[m,d$1]);let b=!bt$1(m,f);b&&(u.from=m),m=ve(m);let c=!bt$1(d$1,p);c&&this._focus(d$1);let P=Ee(n$1.to),{config:l}=u,{decay:h,velocity:g}=l;(o||s)&&(l.velocity=0),n$1.config&&!P&&gt(l,I$1(n$1.config,i),n$1.config!==a.config?I$1(a.config,i):void 0);let x=k$1(this);if(!x||l$1.und(d$1))return r(E(this,!0));let S=l$1.und(n$1.reset)?s&&!n$1.default:!l$1.und(m)&&te(n$1.reset,i),A=S?m:this.get(),V=me(d$1),_=l$1.num(V)||l$1.arr(V)||or(V),v=!P&&(!_||te(a.immediate||n$1.immediate,i));if(c){let L=Le$1(d$1);if(L!==x.constructor)if(v)x=this._set(V);else throw Error(`Cannot animate between ${x.constructor.name} and ${L.name}, as the "to" prop suggests`)}let w=x.constructor,C=Pt(d$1),$=!1;if(!C){let L=S||!qe(this)&&b;(c||L)&&($=bt$1(me(A),V),C=!$),(!bt$1(u.immediate,v)&&!v||!bt$1(l.decay,h)||!bt$1(l.velocity,g))&&(C=!0);}if($&&Q(this)&&(u.changed&&!S?C=!0:C||this._stop(p)),!P&&((C||Pt(p))&&(u.values=x.getPayload(),u.toValues=Pt(d$1)?null:w==d?[1]:ht$1(V)),u.immediate!=v&&(u.immediate=v,!v&&!S&&this._set(p)),C)){let{onRest:L}=u;Ve(_n,y=>_t(this,n$1,y));let N=E(this,Ce(this,p));yt$1(this._pendingCalls,N),this._pendingCalls.add(r),u.changed&&n.batchedUpdates(()=>{u.changed=!S,L?.(N,this),S?I$1(a.onRest,N):u.onStart?.(N,this);});}S&&this._set(A),P?r(De(n$1.to,n$1,this._state,this)):C?this._start():Q(this)&&!c?this._pendingCalls.add(r):r(nt(A));}_focus(e){let n=this.animation;e!==n.to&&(qt(this)&&this._detach(),n.to=e,qt(this)&&this._attach());}_attach(){let e=0,{to:n}=this.animation;Pt(n)&&(Gt$1(n,this),Re(n)&&(e=n.priority+1)),this.priority=e;}_detach(){let{to:e}=this.animation;Pt(e)&&Qt(e,this);}_set(e,n$1=!0){let r=ve(e);if(!l$1.und(r)){let o=k$1(this);if(!o||!bt$1(r,o.getValue())){let s=Le$1(r);!o||o.constructor!=s?D(this,s.create(r)):o.setValue(r),o&&n.batchedUpdates(()=>{this._onChange(r,n$1);});}}return k$1(this)}_onStart(){let e=this.animation;e.changed||(e.changed=!0,Ie(this,"onStart",E(this,Ce(this,e.to)),this));}_onChange(e,n){n||(this._onStart(),I$1(this.animation.onChange,e,this)),I$1(this.defaultProps.onChange,e,this),super._onChange(e,n);}_start(){let e=this.animation;k$1(this).reset(ve(e.to)),e.immediate||(e.fromValues=e.values.map(n=>n.lastPosition)),Q(this)||(st(this,!0),ye(this)||this._resume());}_resume(){p.skipAnimation?this.finish():qe$1.start(this);}_stop(e,n){if(Q(this)){st(this,!1);let r=this.animation;Ve(r.values,s=>{s.done=!0;}),r.toValues&&(r.onChange=r.onPause=r.onResume=void 0),$t(this,{type:"idle",parent:this});let o=n?q$1(this.get()):E(this.get(),Ce(this,e??r.to));yt$1(this._pendingCalls,o),r.changed&&(r.changed=!1,Ie(this,"onRest",o,this));}}};function Ce(t,e){let n=me(e),r=me(t.get());return bt$1(r,n)}function at(t,e=t.loop,n=t.to){let r=I$1(e);if(r){let o=r!==!0&&de(r),s=(o||t).reverse,i=!o||o.reset;return Pe({...t,loop:e,default:!1,pause:void 0,to:!s||Ee(n)?n:void 0,from:i?t.from:void 0,reset:i,...o})}}function Pe(t){let{to:e,from:n}=t=de(t),r=new Set;return l$1.obj(e)&&Vt(e,r),l$1.obj(n)&&Vt(n,r),t.keys=r.size?Array.from(r):null,t}function Ot(t){let e=Pe(t);return l$1.und(e.default)&&(e.default=ne(e)),e}function Vt(t,e){xt(t,(n,r)=>n!=null&&e.add(r));}var _n=["onStart","onRest","onChange","onPause","onResume"];function _t(t,e,n){t.animation[n]=e[n]!==ke(e,n)?et(e[n],t.key):void 0;}function Ie(t,e,...n){t.animation[e]?.(...n),t.defaultProps[e]?.(...n);}var Fn=["onStart","onChange","onRest"],kn=1,le=class{id=kn++;springs={};queue=[];ref;_flush;_initialProps;_lastAsyncId=0;_active=new Set;_changed=new Set;_started=!1;_item;_state={paused:!1,pauseQueue:new Set,resumeQueue:new Set,timeouts:new Set};_events={onStart:new Map,onChange:new Map,onRest:new Map};constructor(e,n){this._onFrame=this._onFrame.bind(this),n&&(this._flush=n),e&&this.start({default:!0,...e});}get idle(){return !this._state.asyncTo&&Object.values(this.springs).every(e=>e.idle&&!e.isDelayed&&!e.isPaused)}get item(){return this._item}set item(e){this._item=e;}get(){let e={};return this.each((n,r)=>e[r]=n.get()),e}set(e){for(let n in e){let r=e[n];l$1.und(r)||this.springs[n].set(r);}}update(e){return e&&this.queue.push(Pe(e)),this}start(e){let{queue:n}=this;return e?n=ht$1(e).map(Pe):this.queue=[],this._flush?this._flush(this,n):(jt(this,n),ze(this,n))}stop(e,n){if(e!==!!e&&(n=e),n){let r=this.springs;Ve(ht$1(n),o=>r[o].stop(!!e));}else oe(this._state,this._lastAsyncId),this.each(r=>r.stop(!!e));return this}pause(e){if(l$1.und(e))this.start({pause:!0});else {let n=this.springs;Ve(ht$1(e),r=>n[r].pause());}return this}resume(e){if(l$1.und(e))this.start({pause:!1});else {let n=this.springs;Ve(ht$1(e),r=>n[r].resume());}return this}each(e){xt(this.springs,e);}_onFrame(){let{onStart:e,onChange:n,onRest:r}=this._events,o=this._active.size>0,s=this._changed.size>0;(o&&!this._started||s&&!this._started)&&(this._started=!0,Pe$1(e,([u,p])=>{p.value=this.get(),u(p,this,this._item);}));let i=!o&&this._started,a=s||i&&r.size?this.get():null;s&&n.size&&Pe$1(n,([u,p])=>{p.value=a,u(p,this,this._item);}),i&&(this._started=!1,Pe$1(r,([u,p])=>{p.value=a,u(p,this,this._item);}));}eventObserved(e){if(e.type=="change")this._changed.add(e.parent),e.idle||this._active.add(e.parent);else if(e.type=="idle")this._active.delete(e.parent);else return;n.onFrame(this._onFrame);}};function ze(t,e){return Promise.all(e.map(n=>wt(t,n))).then(n=>be(t,n))}async function wt(t,e,n$1){let{keys:r,to:o,from:s,loop:i,onRest:a,onResolve:u}=e,p=l$1.obj(e.default)&&e.default;i&&(e.loop=!1),o===!1&&(e.to=null),s===!1&&(e.from=null);let f=l$1.arr(o)||l$1.fun(o)?o:void 0;f?(e.to=void 0,e.onRest=void 0,p&&(p.onRest=void 0)):Ve(Fn,P=>{let l=e[P];if(l$1.fun(l)){let h=t._events[P];e[P]=({finished:g,cancelled:x})=>{let S=h.get(l);S?(g||(S.finished=!1),x&&(S.cancelled=!0)):h.set(l,{value:null,finished:g||!1,cancelled:x||!1});},p&&(p[P]=e[P]);}});let d=t._state;e.pause===!d.paused?(d.paused=e.pause,yt$1(e.pause?d.pauseQueue:d.resumeQueue)):d.paused&&(e.pause=!0);let m=(r||Object.keys(t.springs)).map(P=>t.springs[P].start(e)),b=e.cancel===!0||ke(e,"cancel")===!0;(f||b&&d.asyncId)&&m.push(Me(++t._lastAsyncId,{props:e,state:d,actions:{pause:Y,resume:Y,start(P,l){b?(oe(d,t._lastAsyncId),l(q$1(t))):(P.onRest=a,l(De(f,P,d,t)));}}})),d.paused&&await new Promise(P=>{d.resumeQueue.add(P);});let c=be(t,await Promise.all(m));if(i&&c.finished&&!(n$1&&c.noop)){let P=at(e,i,o);if(P)return jt(t,[P]),wt(t,P,!0)}return u&&n.batchedUpdates(()=>u(c,t,t.item)),c}function _e(t,e){let n={...t.springs};return e&&Ve(ht$1(e),r=>{l$1.und(r.keys)&&(r=Pe(r)),l$1.obj(r.to)||(r={...r,to:void 0}),Mt(n,r,o=>Lt(o));}),pt(t,n),n}function pt(t,e){xt(e,(n,r)=>{t.springs[r]||(t.springs[r]=n,Gt$1(n,t));});}function Lt(t,e){let n=new ue;return n.key=t,e&&Gt$1(n,e),n}function Mt(t,e,n){e.keys&&Ve(e.keys,r=>{(t[r]||(t[r]=n(r)))._prepareNode(e);});}function jt(t,e){Ve(e,n=>{Mt(t.springs,n,r=>Lt(r,t));});}var H=({children:t,...e})=>{let n=useContext(Ge),r=e.pause||!!n.pause,o=e.immediate||!!n.immediate;e=Lr(()=>({pause:r,immediate:o}),[r,o]);let{Provider:s}=Ge;return React.createElement(s,{value:e},t)},Ge=wn(H,{});H.Provider=Ge.Provider;H.Consumer=Ge.Consumer;function wn(t,e){return Object.assign(t,React.createContext(e)),t.Provider._context=t,t.Consumer._context=t,t}var fe=()=>{let t=[],e=function(r){er$1();let o=[];return Ve(t,(s,i)=>{if(l$1.und(r))o.push(s.start());else {let a=n(r,s,i);a&&o.push(s.start(a));}}),o};e.current=t,e.add=function(r){t.includes(r)||t.push(r);},e.delete=function(r){let o=t.indexOf(r);~o&&t.splice(o,1);},e.pause=function(){return Ve(t,r=>r.pause(...arguments)),this},e.resume=function(){return Ve(t,r=>r.resume(...arguments)),this},e.set=function(r){Ve(t,(o,s)=>{let i=l$1.fun(r)?r(s,o):r;i&&o.set(i);});},e.start=function(r){let o=[];return Ve(t,(s,i)=>{if(l$1.und(r))o.push(s.start());else {let a=this._getProps(r,s,i);a&&o.push(s.start(a));}}),o},e.stop=function(){return Ve(t,r=>r.stop(...arguments)),this},e.update=function(r){return Ve(t,(o,s)=>o.update(this._getProps(r,o,s))),this};let n=function(r,o,s){return l$1.fun(r)?r(s,o):r};return e._getProps=n,e};function He(t,e,n){let r=l$1.fun(e)&&e;r&&!n&&(n=[]);let o=useMemo(()=>r||arguments.length==3?fe():void 0,[]),s=useRef(0),i=Mr(),a=useMemo(()=>({ctrls:[],queue:[],flush(h,g){let x=_e(h,g);return s.current>0&&!a.queue.length&&!Object.keys(x).some(A=>!h.springs[A])?ze(h,g):new Promise(A=>{pt(h,x),a.queue.push(()=>{A(ze(h,g));}),i();})}}),[]),u=useRef([...a.ctrls]),p=[],f=Ur(t)||0;useMemo(()=>{Ve(u.current.slice(t,f),h=>{xe(h,o),h.stop(!0);}),u.current.length=t,d(f,t);},[t]),useMemo(()=>{d(0,Math.min(f,t));},n);function d(h,g){for(let x=h;x<g;x++){let S=u.current[x]||(u.current[x]=new le(null,a.flush)),A=r?r(x,S):e[x];A&&(p[x]=Ot(A));}}let m=u.current.map((h,g)=>_e(h,p[g])),b=useContext(H),c=Ur(b),P=b!==c&&Ue(b);Q$1(()=>{s.current++,a.ctrls=u.current;let{queue:h}=a;h.length&&(a.queue=[],Ve(h,g=>g())),Ve(u.current,(g,x)=>{o?.add(g),P&&g.start({default:b});let S=p[x];S&&(he(g,S.ref),g.ref?g.queue.push(S):g.start(S));});}),$r(()=>()=>{Ve(a.ctrls,h=>h.stop(!0));});let l=m.map(h=>({...h}));return o?[l,o]:l}function J(t,e){let n=l$1.fun(t),[[r],o]=He(1,n?t:[t],n?e||[]:e);return n||arguments.length==2?[r,o]:r}function Gt(t,e,n){let r=l$1.fun(e)&&e,{reset:o,sort:s,trail:i=0,expires:a=!0,exitBeforeEnter:u=!1,onDestroyed:p,ref:f,config:d}=r?r():e,m=useMemo(()=>r||arguments.length==3?fe():void 0,[]),b=ht$1(t),c=[],P=useRef(null),l=o?null:P.current;Q$1(()=>{P.current=c;}),$r(()=>(Ve(c,y=>{m?.add(y.ctrl),y.ctrl.ref=m;}),()=>{Ve(P.current,y=>{y.expired&&clearTimeout(y.expirationId),xe(y.ctrl,m),y.ctrl.stop(!0);});}));let h=tr(b,r?r():e,l),g=o&&P.current||[];Q$1(()=>Ve(g,({ctrl:y,item:T,key:F})=>{xe(y,m),I$1(p,T,F);}));let x=[];if(l&&Ve(l,(y,T)=>{y.expired?(clearTimeout(y.expirationId),g.push(y)):(T=x[T]=h.indexOf(y.key),~T&&(c[T]=y));}),Ve(b,(y,T)=>{c[T]||(c[T]={key:h[T],item:y,phase:"mount",ctrl:new le},c[T].ctrl.item=y);}),x.length){let y=-1,{leave:T}=r?r():e;Ve(x,(F,k)=>{let O=l[k];~F?(y=c.indexOf(O),c[y]={...O,item:b[F]}):T&&c.splice(++y,0,O);});}l$1.fun(s)&&c.sort((y,T)=>s(y.item,T.item));let S=-i,A=Mr(),V=ne(e),_=new Map,v=useRef(new Map),w=useRef(!1);Ve(c,(y,T)=>{let F=y.key,k=y.phase,O=r?r():e,U,D,Jt=I$1(O.delay||0,F);if(k=="mount")U=O.enter,D="enter";else {let M=h.indexOf(F)<0;if(k!="leave")if(M)U=O.leave,D="leave";else if(U=O.update)D="update";else return;else if(!M)U=O.enter,D="enter";else return}if(U=I$1(U,y.item,T),U=l$1.obj(U)?de(U):{to:U},!U.config){let M=d||V.config;U.config=I$1(M,y.item,T,D);}S+=i;let Z={...V,delay:Jt+S,ref:f,immediate:O.immediate,reset:!1,...U};if(D=="enter"&&l$1.und(Z.from)){let M=r?r():e,Te=l$1.und(M.initial)||l?M.from:M.initial;Z.from=I$1(Te,y.item,T);}let{onResolve:Wt}=Z;Z.onResolve=M=>{I$1(Wt,M);let Te=P.current,B=Te.find(Fe=>Fe.key===F);if(B&&!(M.cancelled&&B.phase!="update")&&B.ctrl.idle){let Fe=Te.every(ee=>ee.ctrl.idle);if(B.phase=="leave"){let ee=I$1(a,B.item);if(ee!==!1){let Ze=ee===!0?0:ee;if(B.expired=!0,!Fe&&Ze>0){Ze<=2147483647&&(B.expirationId=setTimeout(A,Ze));return}}}Fe&&Te.some(ee=>ee.expired)&&(v.current.delete(B),u&&(w.current=!0),A());}};let ft=_e(y.ctrl,Z);D==="leave"&&u?v.current.set(y,{phase:D,springs:ft,payload:Z}):_.set(y,{phase:D,springs:ft,payload:Z});});let C=useContext(H),$=Ur(C),L=C!==$&&Ue(C);Q$1(()=>{L&&Ve(c,y=>{y.ctrl.start({default:C});});},[C]),Ve(_,(y,T)=>{if(v.current.size){let F=c.findIndex(k=>k.key===T.key);c.splice(F,1);}}),Q$1(()=>{Ve(v.current.size?v.current:_,({phase:y,payload:T},F)=>{let{ctrl:k}=F;F.phase=y,m?.add(k),L&&y=="enter"&&k.start({default:C}),T&&(he(k,T.ref),(k.ref||m)&&!w.current?k.update(T):(k.start(T),w.current&&(w.current=!1)));});},o?void 0:n);let N=y=>React.createElement(React.Fragment,null,c.map((T,F)=>{let{springs:k}=_.get(T)||T.ctrl,O=y({...k},T.item,T,F);return O&&O.type?React.createElement(O.type,{...O.props,key:l$1.str(T.key)||l$1.num(T.key)?T.key:T.ctrl.id,ref:O.ref}):O}));return m?[N,m]:N}var er=1;function tr(t,{key:e,keys:n=e},r){if(n===null){let o=new Set;return t.map(s=>{let i=r&&r.find(a=>a.item===s&&a.phase!=="leave"&&!o.has(a));return i?(o.add(i),i.key):er++})}return l$1.und(n)?t:l$1.fun(n)?t.map(n):ht$1(n)}var W=class extends X{constructor(n,r){super();this.source=n;this.calc=W$1(...r);let o=this._get(),s=Le$1(o);D(this,s.create(o));}key;idle=!0;calc;_active=new Set;advance(n){let r=this._get(),o=this.get();bt$1(r,o)||(k$1(this).setValue(r),this._onChange(r,this.idle)),!this.idle&&Yt(this._active)&&ct(this);}_get(){let n=l$1.arr(this.source)?this.source.map(ve):ht$1(ve(this.source));return this.calc(...n)}_start(){this.idle&&!Yt(this._active)&&(this.idle=!1,Ve(F$1(this),n=>{n.done=!1;}),p.skipAnimation?(n.batchedUpdates(()=>this.advance()),ct(this)):qe$1.start(this));}_attach(){let n=1;Ve(ht$1(this.source),r=>{Pt(r)&&Gt$1(r,this),Re(r)&&(r.idle||this._active.add(r),n=Math.max(n,r.priority+1));}),this.priority=n,this._start();}_detach(){Ve(ht$1(this.source),n=>{Pt(n)&&Qt(n,this);}),this._active.clear(),ct(this);}eventObserved(n){n.type=="change"?n.idle?this.advance():(this._active.add(n.parent),this._start()):n.type=="idle"?this._active.delete(n.parent):n.type=="priority"&&(this.priority=ht$1(this.source).reduce((r,o)=>Math.max(r,(Re(o)?o.priority:0)+1),0));}};function vr(t){return t.idle!==!1}function Yt(t){return !t.size||Array.from(t).every(vr)}function ct(t){t.idle||(t.idle=!0,Ve(F$1(t),e=>{e.done=!0;}),$t(t,{type:"idle",parent:t}));}p.assign({createStringInterpolator:Xt,to:(t,e)=>new W(t,e)});
12
+
13
+ var k=/^--/;function I(t,e){return e==null||typeof e=="boolean"||e===""?"":typeof e=="number"&&e!==0&&!k.test(t)&&!(c.hasOwnProperty(t)&&c[t])?e+"px":(""+e).trim()}var v={};function V(t,e){if(!t.nodeType||!t.setAttribute)return !1;let r=t.nodeName==="filter"||t.parentNode&&t.parentNode.nodeName==="filter",{style:i,children:s,scrollTop:u,scrollLeft:l,viewBox:a,...n}=e,d=Object.values(n),m=Object.keys(n).map(o=>r||t.hasAttribute(o)?o:v[o]||(v[o]=o.replace(/([A-Z])/g,p=>"-"+p.toLowerCase())));s!==void 0&&(t.textContent=s);for(let o in i)if(i.hasOwnProperty(o)){let p=I(o,i[o]);k.test(o)?t.style.setProperty(o,p):t.style[o]=p;}m.forEach((o,p)=>{t.setAttribute(o,d[p]);}),u!==void 0&&(t.scrollTop=u),l!==void 0&&(t.scrollLeft=l),a!==void 0&&t.setAttribute("viewBox",a);}var c={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},F=(t,e)=>t+e.charAt(0).toUpperCase()+e.substring(1),L=["Webkit","Ms","Moz","O"];c=Object.keys(c).reduce((t,e)=>(L.forEach(r=>t[F(r,e)]=t[e]),t),c);var _=/^(matrix|translate|scale|rotate|skew)/,$=/^(translate)/,G=/^(rotate|skew)/,y=(t,e)=>l$1.num(t)&&t!==0?t+e:t,h=(t,e)=>l$1.arr(t)?t.every(r=>h(r,e)):l$1.num(t)?t===e:parseFloat(t)===e,g=class extends u{constructor({x:e,y:r,z:i,...s}){let u=[],l=[];(e||r||i)&&(u.push([e||0,r||0,i||0]),l.push(a=>[`translate3d(${a.map(n=>y(n,"px")).join(",")})`,h(a,0)])),xt(s,(a,n)=>{if(n==="transform")u.push([a||""]),l.push(d=>[d,d===""]);else if(_.test(n)){if(delete s[n],l$1.und(a))return;let d=$.test(n)?"px":G.test(n)?"deg":"";u.push(ht$1(a)),l.push(n==="rotate3d"?([m,o,p,O])=>[`rotate3d(${m},${o},${p},${y(O,d)})`,h(O,0)]:m=>[`${n}(${m.map(o=>y(o,d)).join(",")})`,h(m,n.startsWith("scale")?1:0)]);}}),u.length&&(s.transform=new x(u,l)),super(s);}},x=class extends ge{constructor(r,i){super();this.inputs=r;this.transforms=i;}_value=null;get(){return this._value||(this._value=this._get())}_get(){let r="",i=!0;return Ve(this.inputs,(s,u)=>{let l=ve(s[0]),[a,n]=this.transforms[u](l$1.arr(l)?l:s.map(ve));r+=" "+a,i=i&&n;}),i?"none":r}observerAdded(r){r==1&&Ve(this.inputs,i=>Ve(i,s=>Pt(s)&&Gt$1(s,this)));}observerRemoved(r){r==0&&Ve(this.inputs,i=>Ve(i,s=>Pt(s)&&Qt(s,this)));}eventObserved(r){r.type=="change"&&(this._value=null),$t(this,r);}};var C=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","tspan"];p.assign({batchedUpdates:unstable_batchedUpdates,createStringInterpolator:Xt,colors:It});var q=Ke(C,{applyAnimatedValues:V,createAnimatedStyle:t=>new g(t),getComponentProps:({scrollTop:t,scrollLeft:e,...r})=>r}),it=q.animated;
14
+
15
+ export { Gt as G, J, Lt$1 as L, it as i };
16
+ //# sourceMappingURL=index2.js.map