@oanda/labs-crowd-view-widget 1.0.51 → 1.0.52

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 (88) hide show
  1. package/CHANGELOG.md +212 -0
  2. package/dist/main/CrowdViewWidget/components/Chart/Chart.js +60 -21
  3. package/dist/main/CrowdViewWidget/components/Chart/Chart.js.map +1 -1
  4. package/dist/main/CrowdViewWidget/components/Chart/ChartWithData.js +3 -3
  5. package/dist/main/CrowdViewWidget/components/Chart/ChartWithData.js.map +1 -1
  6. package/dist/main/CrowdViewWidget/components/Chart/chartOptions.js +208 -42
  7. package/dist/main/CrowdViewWidget/components/Chart/chartOptions.js.map +1 -1
  8. package/dist/main/CrowdViewWidget/components/Chart/types.js.map +1 -1
  9. package/dist/main/CrowdViewWidget/components/Chart/useCrowdViewData.js +25 -6
  10. package/dist/main/CrowdViewWidget/components/Chart/useCrowdViewData.js.map +1 -1
  11. package/dist/main/CrowdViewWidget/components/Chart/utils/chartUtils.js +12 -10
  12. package/dist/main/CrowdViewWidget/components/Chart/utils/chartUtils.js.map +1 -1
  13. package/dist/main/CrowdViewWidget/components/Chart/utils/getChartStyles.js +27 -0
  14. package/dist/main/CrowdViewWidget/components/Chart/utils/getChartStyles.js.map +1 -0
  15. package/dist/main/CrowdViewWidget/components/Chart/utils/getGridLines.js +123 -0
  16. package/dist/main/CrowdViewWidget/components/Chart/utils/getGridLines.js.map +1 -0
  17. package/dist/main/CrowdViewWidget/components/Chart/utils/index.js +22 -0
  18. package/dist/main/CrowdViewWidget/components/Chart/utils/index.js.map +1 -1
  19. package/dist/main/CrowdViewWidget/components/Chart/utils/processSentiments.js +28 -0
  20. package/dist/main/CrowdViewWidget/components/Chart/utils/processSentiments.js.map +1 -0
  21. package/dist/main/CrowdViewWidget/components/Legend/Legend.js +1 -1
  22. package/dist/main/CrowdViewWidget/components/Legend/Legend.js.map +1 -1
  23. package/dist/main/CrowdViewWidget/constants.js +13 -3
  24. package/dist/main/CrowdViewWidget/constants.js.map +1 -1
  25. package/dist/main/gql/getSentiments.js +11 -0
  26. package/dist/main/gql/getSentiments.js.map +1 -0
  27. package/dist/main/gql/types/gql.js +2 -1
  28. package/dist/main/gql/types/gql.js.map +1 -1
  29. package/dist/main/gql/types/graphql.js +162 -1
  30. package/dist/main/gql/types/graphql.js.map +1 -1
  31. package/dist/module/CrowdViewWidget/components/Chart/Chart.js +63 -24
  32. package/dist/module/CrowdViewWidget/components/Chart/Chart.js.map +1 -1
  33. package/dist/module/CrowdViewWidget/components/Chart/ChartWithData.js +3 -3
  34. package/dist/module/CrowdViewWidget/components/Chart/ChartWithData.js.map +1 -1
  35. package/dist/module/CrowdViewWidget/components/Chart/chartOptions.js +208 -43
  36. package/dist/module/CrowdViewWidget/components/Chart/chartOptions.js.map +1 -1
  37. package/dist/module/CrowdViewWidget/components/Chart/types.js.map +1 -1
  38. package/dist/module/CrowdViewWidget/components/Chart/useCrowdViewData.js +26 -7
  39. package/dist/module/CrowdViewWidget/components/Chart/useCrowdViewData.js.map +1 -1
  40. package/dist/module/CrowdViewWidget/components/Chart/utils/chartUtils.js +12 -10
  41. package/dist/module/CrowdViewWidget/components/Chart/utils/chartUtils.js.map +1 -1
  42. package/dist/module/CrowdViewWidget/components/Chart/utils/getChartStyles.js +20 -0
  43. package/dist/module/CrowdViewWidget/components/Chart/utils/getChartStyles.js.map +1 -0
  44. package/dist/module/CrowdViewWidget/components/Chart/utils/getGridLines.js +116 -0
  45. package/dist/module/CrowdViewWidget/components/Chart/utils/getGridLines.js.map +1 -0
  46. package/dist/module/CrowdViewWidget/components/Chart/utils/index.js +2 -0
  47. package/dist/module/CrowdViewWidget/components/Chart/utils/index.js.map +1 -1
  48. package/dist/module/CrowdViewWidget/components/Chart/utils/processSentiments.js +21 -0
  49. package/dist/module/CrowdViewWidget/components/Chart/utils/processSentiments.js.map +1 -0
  50. package/dist/module/CrowdViewWidget/components/Legend/Legend.js +1 -1
  51. package/dist/module/CrowdViewWidget/components/Legend/Legend.js.map +1 -1
  52. package/dist/module/CrowdViewWidget/constants.js +12 -2
  53. package/dist/module/CrowdViewWidget/constants.js.map +1 -1
  54. package/dist/module/gql/getSentiments.js +6 -0
  55. package/dist/module/gql/getSentiments.js.map +1 -0
  56. package/dist/module/gql/types/gql.js +2 -1
  57. package/dist/module/gql/types/gql.js.map +1 -1
  58. package/dist/module/gql/types/graphql.js +161 -0
  59. package/dist/module/gql/types/graphql.js.map +1 -1
  60. package/dist/types/CrowdViewWidget/components/Chart/types.d.ts +43 -0
  61. package/dist/types/CrowdViewWidget/components/Chart/utils/chartUtils.d.ts +2 -2
  62. package/dist/types/CrowdViewWidget/components/Chart/utils/getChartStyles.d.ts +10 -0
  63. package/dist/types/CrowdViewWidget/components/Chart/utils/getGridLines.d.ts +97 -0
  64. package/dist/types/CrowdViewWidget/components/Chart/utils/index.d.ts +2 -0
  65. package/dist/types/CrowdViewWidget/components/Chart/utils/processSentiments.d.ts +3 -0
  66. package/dist/types/CrowdViewWidget/constants.d.ts +11 -1
  67. package/dist/types/gql/getSentiments.d.ts +2 -0
  68. package/dist/types/gql/types/gql.d.ts +9 -0
  69. package/dist/types/gql/types/graphql.d.ts +36 -0
  70. package/package.json +3 -3
  71. package/src/CrowdViewWidget/components/Chart/Chart.tsx +86 -34
  72. package/src/CrowdViewWidget/components/Chart/ChartWithData.tsx +3 -3
  73. package/src/CrowdViewWidget/components/Chart/chartOptions.ts +242 -72
  74. package/src/CrowdViewWidget/components/Chart/types.ts +55 -0
  75. package/src/CrowdViewWidget/components/Chart/useCrowdViewData.ts +35 -3
  76. package/src/CrowdViewWidget/components/Chart/utils/chartUtils.ts +33 -14
  77. package/src/CrowdViewWidget/components/Chart/utils/getChartStyles.ts +42 -0
  78. package/src/CrowdViewWidget/components/Chart/utils/getGridLines.ts +148 -0
  79. package/src/CrowdViewWidget/components/Chart/utils/index.ts +2 -0
  80. package/src/CrowdViewWidget/components/Chart/utils/processSentiments.ts +42 -0
  81. package/src/CrowdViewWidget/components/Legend/Legend.tsx +1 -1
  82. package/src/CrowdViewWidget/constants.ts +17 -1
  83. package/src/gql/getSentiments.ts +25 -0
  84. package/src/gql/types/gql.ts +8 -0
  85. package/src/gql/types/graphql.ts +161 -0
  86. package/test/components/Chart/utils/chartUtils.test.ts +76 -2
  87. package/test/components/Chart/utils/getChartStyles.test.ts +64 -0
  88. package/test/components/Chart/utils/processSentiments.test.ts +130 -0
@@ -1 +1 @@
1
- {"version":3,"file":"chartUtils.js","names":["_chromaJs","_interopRequireDefault","require","_graphql","_constants","e","__esModule","default","getLabelData","_ref","xAxisData","isGreaterThanTwoWeeks","filter","record","index","arr","previousTimestamp","currentDate","Date","previousDate","getDate","getMonth","map","item","name","toLocaleDateString","undefined","month","day","xAxis","y","CHART_CONFIG","HEIGHT","silent","emphasis","disabled","label","fontFamily","fontSize","position","align","formatter","exports","isDifferenceGreaterThanTwoWeeks","startDate","endDate","date1","date2","differenceInMs","Math","abs","getTime","TIME_THRESHOLDS","TWO_WEEKS_MS","getTimeSpanForGranularity","granularity","granularityTimeSpanMap","Granularity","M5","TimeSpan","TwoDays","M15","FiveDays","H1","TwentyDays","H4","NinetyDays","getGradientColor","value","startColor","targetColor","startThreshold","BOOKS_THRESHOLDS","MIN","endThreshold","MAX","colorScale","chroma","scale","domain","mode","hex","getRectColor","sentiment","isDark","colorPalette","COLOR_MAP","dark","light","short","long","getTooltipFormatter","_ref2","_booksParam$value","params","buckets","bucketWidth","selectedPrice","precision","bookType","labelCallback","Array","isArray","length","candleParam","booksParam","time","axisValue","candleData","booksData","bucketsIndex","selectedBuckets","matchedBucket","find","_ref3","price","showCandles","concat","toLocaleString","hour","minute","year","timeZoneName","BookType","Order","toFixed","Number","formatXAxisLabel","date","toLocaleTimeString","X_AXIS_DATE_PADDING"],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/utils/chartUtils.ts"],"sourcesContent":["import chroma from 'chroma-js';\n\nimport { BookType, Granularity, TimeSpan } from '../../../../gql/types/graphql';\nimport {\n BOOKS_THRESHOLDS,\n CHART_CONFIG,\n COLOR_MAP,\n TIME_THRESHOLDS,\n} from '../../../constants';\nimport type { Bucket, GetLabelsDataProps } from '../types';\n\nexport const getLabelData = ({\n xAxisData,\n isGreaterThanTwoWeeks,\n}: GetLabelsDataProps) =>\n xAxisData\n .filter((record, index, arr) => {\n if (index === 0) {\n return false;\n }\n const previousTimestamp = arr[index - 1];\n const currentDate = new Date(record);\n const previousDate = new Date(previousTimestamp);\n\n return isGreaterThanTwoWeeks\n ? currentDate.getDate() !== previousDate.getDate()\n : currentDate.getMonth() !== previousDate.getMonth();\n })\n .map((item) => ({\n name: new Date(item).toLocaleDateString(undefined, {\n month: isGreaterThanTwoWeeks ? 'short' : 'long',\n day: isGreaterThanTwoWeeks ? 'numeric' : undefined,\n }),\n xAxis: item,\n y: CHART_CONFIG.HEIGHT - 22,\n silent: true,\n emphasis: {\n disabled: true,\n },\n label: {\n fontFamily: 'Sofia W03',\n fontSize: 10,\n position: 'bottom',\n align: 'center',\n formatter: '{b}',\n },\n }));\n\nexport const isDifferenceGreaterThanTwoWeeks = (\n startDate: string,\n endDate: string\n) => {\n const date1 = new Date(startDate);\n const date2 = new Date(endDate);\n\n const differenceInMs = Math.abs(date2.getTime() - date1.getTime());\n\n return differenceInMs < TIME_THRESHOLDS.TWO_WEEKS_MS;\n};\n\nexport const getTimeSpanForGranularity = (\n granularity: Granularity\n): TimeSpan => {\n const granularityTimeSpanMap: Record<Granularity, TimeSpan> = {\n [Granularity.M5]: TimeSpan.TwoDays,\n [Granularity.M15]: TimeSpan.FiveDays,\n [Granularity.H1]: TimeSpan.TwentyDays,\n [Granularity.H4]: TimeSpan.NinetyDays,\n };\n\n return granularityTimeSpanMap[granularity] || TimeSpan.TwoDays;\n};\n\nconst getGradientColor = (\n value: number,\n startColor: string,\n targetColor: string\n): string => {\n const startThreshold = BOOKS_THRESHOLDS.MIN;\n const endThreshold = BOOKS_THRESHOLDS.MAX;\n\n const colorScale = chroma\n .scale([startColor, targetColor])\n .domain([startThreshold, endThreshold])\n .mode('rgb');\n\n return colorScale(value).hex();\n};\n\nexport const getRectColor = (sentiment: number, isDark: boolean) => {\n const colorPalette = isDark ? COLOR_MAP.dark : COLOR_MAP.light;\n\n return sentiment < 0\n ? getGradientColor(\n sentiment * -1,\n colorPalette.short[0],\n colorPalette.short[1]\n )\n : getGradientColor(sentiment, colorPalette.long[0], colorPalette.long[1]);\n};\n\nexport const getTooltipFormatter = ({\n params,\n buckets,\n bucketWidth,\n selectedPrice,\n precision,\n bookType,\n labelCallback,\n}: {\n params: unknown;\n buckets: Bucket[][];\n bucketWidth: number;\n selectedPrice: number;\n precision: number;\n bookType: BookType;\n labelCallback: (key: string) => string;\n}) => {\n const arr = params as unknown as Array<Record<string, unknown>>;\n if (!arr || !Array.isArray(arr) || arr.length === 0) {\n return undefined;\n }\n const candleParam = arr[0] as {\n axisValue: string;\n value: [number, number, number, number, number];\n };\n const booksParam = arr[1] as { value: [string, number, number] };\n const time = new Date(candleParam.axisValue as string);\n\n const candleData = candleParam.value;\n const booksData = booksParam?.value ?? [];\n const bucketsIndex = booksData[2];\n const selectedBuckets = buckets[bucketsIndex];\n\n const matchedBucket = selectedBuckets?.find(\n ({ price }) => selectedPrice >= price && selectedPrice < price + bucketWidth\n );\n const showCandles =\n !!candleData[1] && !!candleData[2] && !!candleData[3] && !!candleData[4];\n\n if (!showCandles && !matchedBucket) {\n return undefined;\n }\n\n return `<p>${time.toLocaleString(undefined, {\n hour: '2-digit',\n minute: '2-digit',\n year: 'numeric',\n day: 'numeric',\n month: 'numeric',\n timeZoneName: 'short',\n })}</p><br />\n${\n showCandles\n ? `<p><b>${labelCallback('candle')}:</b></p>\n<p>${labelCallback('open_price')}: ${candleData[1]} </p>\n<p>${labelCallback('close_price')}: ${candleData[2]} </p>\n<p>${labelCallback('low')}: ${candleData[3]} </p>\n<p>${labelCallback('high')}: ${candleData[4]} </p>\n`\n : ''\n}\n${\n matchedBucket\n ? `<br /><p><b>${labelCallback(bookType === BookType.Order ? 'orders' : 'positions')}:</b></p>\n<p>${labelCallback('price_range')}: ${matchedBucket.price.toFixed(precision - 1)} - ${Number(matchedBucket.price + bucketWidth).toFixed(precision - 1)} </p>\n<p>${\n matchedBucket.sentiment < 0\n ? labelCallback(\n bookType === BookType.Order\n ? 'sell_overbalance'\n : 'short_overbalance'\n )\n : labelCallback(\n bookType === BookType.Order\n ? 'buy_overbalance'\n : 'long_overbalance'\n )\n }: ${Math.abs(matchedBucket.sentiment)}% </p>`\n : ''\n}`;\n};\n\nexport const formatXAxisLabel = (\n value: unknown,\n isGreaterThanTwoWeeks: boolean\n) => {\n const date = new Date(value as string);\n return isGreaterThanTwoWeeks\n ? `${date.toLocaleTimeString(undefined, {\n hour: '2-digit',\n minute: '2-digit',\n })}`\n : `${CHART_CONFIG.X_AXIS_DATE_PADDING}${date.toLocaleDateString(undefined, {\n day: 'numeric',\n })}${CHART_CONFIG.X_AXIS_DATE_PADDING}`;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"chartUtils.js","names":["_chromaJs","_interopRequireDefault","require","_graphql","_constants","e","__esModule","default","getLabelData","_ref","xAxisData","isGreaterThanTwoWeeks","filter","record","index","arr","previousTimestamp","currentDate","Date","previousDate","getDate","getMonth","map","item","name","toLocaleDateString","undefined","month","day","xAxis","y","CHART_CONFIG","MAIN_HEIGHT","X_LABEL_SIZE","silent","emphasis","disabled","label","fontFamily","fontSize","position","align","formatter","exports","isDifferenceGreaterThanTwoWeeks","startDate","endDate","date1","date2","differenceInMs","Math","abs","getTime","TIME_THRESHOLDS","TWO_WEEKS_MS","getTimeSpanForGranularity","granularity","granularityTimeSpanMap","Granularity","M5","TimeSpan","TwoDays","M15","FiveDays","H1","TwentyDays","H4","NinetyDays","getGradientColor","value","startColor","targetColor","startThreshold","BOOKS_THRESHOLDS","MIN","endThreshold","MAX","colorScale","chroma","scale","domain","mode","hex","getRectColor","sentiment","isDark","colorPalette","COLOR_MAP","dark","light","short","long","getTooltipFormatter","_ref2","params","buckets","bucketWidth","selectedPrice","precision","bookType","labelCallback","Array","isArray","length","candleParam","find","series","seriesId","booksParam","sentimentParam","time","axisValue","candleData","bucketsIndex","selectedBuckets","matchedBucket","_ref3","price","showCandles","showSentiment","concat","toLocaleString","hour","minute","year","timeZoneName","BookType","Order","toFixed","Number","formatXAxisLabel","date","toLocaleTimeString","X_AXIS_DATE_PADDING"],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/utils/chartUtils.ts"],"sourcesContent":["import chroma from 'chroma-js';\n\nimport { BookType, Granularity, TimeSpan } from '../../../../gql/types/graphql';\nimport {\n BOOKS_THRESHOLDS,\n CHART_CONFIG,\n COLOR_MAP,\n TIME_THRESHOLDS,\n} from '../../../constants';\nimport type { Bucket, GetLabelsDataProps, TooltipParam } from '../types';\n\nexport const getLabelData = ({\n xAxisData,\n isGreaterThanTwoWeeks,\n}: GetLabelsDataProps) =>\n xAxisData\n .filter((record, index, arr) => {\n if (index === 0) {\n return false;\n }\n const previousTimestamp = arr[index - 1];\n const currentDate = new Date(record);\n const previousDate = new Date(previousTimestamp);\n\n return isGreaterThanTwoWeeks\n ? currentDate.getDate() !== previousDate.getDate()\n : currentDate.getMonth() !== previousDate.getMonth();\n })\n .map((item) => ({\n name: new Date(item).toLocaleDateString(undefined, {\n month: isGreaterThanTwoWeeks ? 'short' : 'long',\n day: isGreaterThanTwoWeeks ? 'numeric' : undefined,\n }),\n xAxis: item,\n y: CHART_CONFIG.MAIN_HEIGHT + CHART_CONFIG.X_LABEL_SIZE - 22,\n silent: true,\n emphasis: {\n disabled: true,\n },\n label: {\n fontFamily: 'Sofia W03',\n fontSize: 10,\n position: 'bottom',\n align: 'center',\n formatter: '{b}',\n },\n }));\n\nexport const isDifferenceGreaterThanTwoWeeks = (\n startDate: string,\n endDate: string\n) => {\n const date1 = new Date(startDate);\n const date2 = new Date(endDate);\n\n const differenceInMs = Math.abs(date2.getTime() - date1.getTime());\n\n return differenceInMs < TIME_THRESHOLDS.TWO_WEEKS_MS;\n};\n\nexport const getTimeSpanForGranularity = (\n granularity: Granularity\n): TimeSpan => {\n const granularityTimeSpanMap: Record<Granularity, TimeSpan> = {\n [Granularity.M5]: TimeSpan.TwoDays,\n [Granularity.M15]: TimeSpan.FiveDays,\n [Granularity.H1]: TimeSpan.TwentyDays,\n [Granularity.H4]: TimeSpan.NinetyDays,\n };\n\n return granularityTimeSpanMap[granularity] || TimeSpan.TwoDays;\n};\n\nconst getGradientColor = (\n value: number,\n startColor: string,\n targetColor: string\n): string => {\n const startThreshold = BOOKS_THRESHOLDS.MIN;\n const endThreshold = BOOKS_THRESHOLDS.MAX;\n\n const colorScale = chroma\n .scale([startColor, targetColor])\n .domain([startThreshold, endThreshold])\n .mode('rgb');\n\n return colorScale(value).hex();\n};\n\nexport const getRectColor = (sentiment: number, isDark: boolean) => {\n const colorPalette = isDark ? COLOR_MAP.dark : COLOR_MAP.light;\n\n return sentiment < 0\n ? getGradientColor(\n sentiment * -1,\n colorPalette.short[0],\n colorPalette.short[1]\n )\n : getGradientColor(sentiment, colorPalette.long[0], colorPalette.long[1]);\n};\n\nexport const getTooltipFormatter = ({\n params,\n buckets,\n bucketWidth,\n selectedPrice,\n precision,\n bookType,\n labelCallback,\n}: {\n params: TooltipParam[];\n buckets: Bucket[][];\n bucketWidth: number;\n selectedPrice: number;\n precision: number;\n bookType: BookType;\n labelCallback: (key: string) => string;\n}) => {\n if (!params || !Array.isArray(params) || params.length === 0) {\n return undefined;\n }\n const candleParam = params.find(\n (series): series is Extract<TooltipParam, { seriesId: 'candlestick' }> =>\n series.seriesId === 'candlestick'\n );\n const booksParam = params.find(\n (series): series is Extract<TooltipParam, { seriesId: 'heatmap' }> =>\n series.seriesId === 'heatmap'\n );\n const sentimentParam = params.find(\n (series): series is Extract<TooltipParam, { seriesId: 'sentiment' }> =>\n series.seriesId === 'sentiment'\n );\n\n if (!candleParam) {\n return undefined;\n }\n const time = new Date(candleParam.axisValue as string);\n\n const candleData = candleParam.value;\n const bucketsIndex = booksParam?.value[2];\n const selectedBuckets =\n bucketsIndex !== undefined ? buckets[bucketsIndex] : undefined;\n\n const matchedBucket = selectedBuckets?.find(\n ({ price }) => selectedPrice >= price && selectedPrice < price + bucketWidth\n );\n const showCandles =\n !!candleData[1] && !!candleData[2] && !!candleData[3] && !!candleData[4];\n\n if (!showCandles && !matchedBucket) {\n return undefined;\n }\n\n const showSentiment =\n !!sentimentParam?.value[1] && !!sentimentParam?.value[2];\n\n return `<p>${time.toLocaleString(undefined, {\n hour: '2-digit',\n minute: '2-digit',\n year: 'numeric',\n day: 'numeric',\n month: 'numeric',\n timeZoneName: 'short',\n })}</p><br />\n${\n showCandles\n ? `<p><b>${labelCallback('candle')}:</b></p>\n<p>${labelCallback('open_price')}: ${candleData[1]} </p>\n<p>${labelCallback('close_price')}: ${candleData[2]} </p>\n<p>${labelCallback('low')}: ${candleData[3]} </p>\n<p>${labelCallback('high')}: ${candleData[4]} </p>\n`\n : ''\n}\n${\n matchedBucket\n ? `<br /><p><b>${labelCallback(bookType === BookType.Order ? 'orders' : 'positions')}:</b></p>\n<p>${labelCallback('price_range')}: ${matchedBucket.price.toFixed(precision - 1)} - ${Number(matchedBucket.price + bucketWidth).toFixed(precision - 1)} </p>\n<p>${\n matchedBucket.sentiment < 0\n ? labelCallback(\n bookType === BookType.Order\n ? 'sell_overbalance'\n : 'short_overbalance'\n )\n : labelCallback(\n bookType === BookType.Order\n ? 'buy_overbalance'\n : 'long_overbalance'\n )\n }: ${Math.abs(matchedBucket.sentiment)}% </p>`\n : ''\n}${\n showSentiment && sentimentParam\n ? `<br /><p><b>${labelCallback('sentiment')}:</b></p>\n<p>${labelCallback('long')}: ${sentimentParam.value[2].toFixed(2)}% </p>\n<p>${labelCallback('short')}: ${sentimentParam.value[1].toFixed(2)}% </p>`\n : ''\n }`;\n};\n\nexport const formatXAxisLabel = (\n value: unknown,\n isGreaterThanTwoWeeks: boolean\n) => {\n const date = new Date(value as string);\n return isGreaterThanTwoWeeks\n ? `${date.toLocaleTimeString(undefined, {\n hour: '2-digit',\n minute: '2-digit',\n })}`\n : `${CHART_CONFIG.X_AXIS_DATE_PADDING}${date.toLocaleDateString(undefined, {\n day: 'numeric',\n })}${CHART_CONFIG.X_AXIS_DATE_PADDING}`;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getChartStyles = void 0;
7
+ var _labsWidgetCommon = require("@oanda/labs-widget-common");
8
+ const getChartStyles = isDark => {
9
+ const sentimentLongColor = isDark ? _labsWidgetCommon.colorPalette.darkBlue90 : _labsWidgetCommon.colorPalette.lightBlue90;
10
+ const sentimentShortColor = isDark ? _labsWidgetCommon.colorPalette.darkYellow90 : _labsWidgetCommon.colorPalette.lightYellow90;
11
+ const candleLongColor = isDark ? _labsWidgetCommon.colorPalette.bottleGreenDark : _labsWidgetCommon.colorPalette.bottleGreenLight;
12
+ const candleShortColor = isDark ? _labsWidgetCommon.colorPalette.orange : _labsWidgetCommon.colorPalette.raspberryLight;
13
+ const sentimentAreaOpacity = isDark ? 0.5 : 0.2;
14
+ const tooltipLinesColor = isDark ? _labsWidgetCommon.colorPalette.orange : _labsWidgetCommon.colorPalette.bottleGreenLight;
15
+ const sentimentLabelColor = isDark ? _labsWidgetCommon.colorPalette.white : _labsWidgetCommon.colorPalette.black;
16
+ return {
17
+ sentimentLongColor,
18
+ sentimentShortColor,
19
+ candleLongColor,
20
+ candleShortColor,
21
+ sentimentAreaOpacity,
22
+ tooltipLinesColor,
23
+ sentimentLabelColor
24
+ };
25
+ };
26
+ exports.getChartStyles = getChartStyles;
27
+ //# sourceMappingURL=getChartStyles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getChartStyles.js","names":["_labsWidgetCommon","require","getChartStyles","isDark","sentimentLongColor","colorPalette","darkBlue90","lightBlue90","sentimentShortColor","darkYellow90","lightYellow90","candleLongColor","bottleGreenDark","bottleGreenLight","candleShortColor","orange","raspberryLight","sentimentAreaOpacity","tooltipLinesColor","sentimentLabelColor","white","black","exports"],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/utils/getChartStyles.ts"],"sourcesContent":["import { colorPalette } from '@oanda/labs-widget-common';\n\nexport interface ChartStyles {\n sentimentLongColor: string;\n sentimentShortColor: string;\n candleLongColor: string;\n candleShortColor: string;\n sentimentAreaOpacity: number;\n tooltipLinesColor: string;\n sentimentLabelColor: string;\n}\n\nexport const getChartStyles = (isDark: boolean): ChartStyles => {\n const sentimentLongColor = isDark\n ? colorPalette.darkBlue90\n : colorPalette.lightBlue90;\n const sentimentShortColor = isDark\n ? colorPalette.darkYellow90\n : colorPalette.lightYellow90;\n\n const candleLongColor = isDark\n ? colorPalette.bottleGreenDark\n : colorPalette.bottleGreenLight;\n const candleShortColor = isDark\n ? colorPalette.orange\n : colorPalette.raspberryLight;\n const sentimentAreaOpacity = isDark ? 0.5 : 0.2;\n const tooltipLinesColor = isDark\n ? colorPalette.orange\n : colorPalette.bottleGreenLight;\n const sentimentLabelColor = isDark ? colorPalette.white : colorPalette.black;\n\n return {\n sentimentLongColor,\n sentimentShortColor,\n candleLongColor,\n candleShortColor,\n sentimentAreaOpacity,\n tooltipLinesColor,\n sentimentLabelColor,\n };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AAYO,MAAMC,cAAc,GAAIC,MAAe,IAAkB;EAC9D,MAAMC,kBAAkB,GAAGD,MAAM,GAC7BE,8BAAY,CAACC,UAAU,GACvBD,8BAAY,CAACE,WAAW;EAC5B,MAAMC,mBAAmB,GAAGL,MAAM,GAC9BE,8BAAY,CAACI,YAAY,GACzBJ,8BAAY,CAACK,aAAa;EAE9B,MAAMC,eAAe,GAAGR,MAAM,GAC1BE,8BAAY,CAACO,eAAe,GAC5BP,8BAAY,CAACQ,gBAAgB;EACjC,MAAMC,gBAAgB,GAAGX,MAAM,GAC3BE,8BAAY,CAACU,MAAM,GACnBV,8BAAY,CAACW,cAAc;EAC/B,MAAMC,oBAAoB,GAAGd,MAAM,GAAG,GAAG,GAAG,GAAG;EAC/C,MAAMe,iBAAiB,GAAGf,MAAM,GAC5BE,8BAAY,CAACU,MAAM,GACnBV,8BAAY,CAACQ,gBAAgB;EACjC,MAAMM,mBAAmB,GAAGhB,MAAM,GAAGE,8BAAY,CAACe,KAAK,GAAGf,8BAAY,CAACgB,KAAK;EAE5E,OAAO;IACLjB,kBAAkB;IAClBI,mBAAmB;IACnBG,eAAe;IACfG,gBAAgB;IAChBG,oBAAoB;IACpBC,iBAAiB;IACjBC;EACF,CAAC;AACH,CAAC;AAACG,OAAA,CAAApB,cAAA,GAAAA,cAAA","ignoreList":[]}
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getGridLines = void 0;
7
+ var _labsWidgetCommon = require("@oanda/labs-widget-common");
8
+ var _constants = require("../../../constants");
9
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
10
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
11
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
12
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
13
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
14
+ const getGridLines = _ref => {
15
+ let {
16
+ isDark,
17
+ isDesktop
18
+ } = _ref;
19
+ const {
20
+ WIDTH,
21
+ MAIN_HEIGHT,
22
+ MARGIN_BETWEEN,
23
+ SENTIMENT_HEIGHT,
24
+ X_LABEL_SIZE,
25
+ Y_LABEL_SIZE_DESKTOP,
26
+ Y_LABEL_SIZE_MOBILE
27
+ } = _constants.CHART_CONFIG;
28
+ return [_objectSpread(_objectSpread({}, (0, _labsWidgetCommon.getLineCommons)(isDark)), {}, {
29
+ top: -2,
30
+ shape: {
31
+ x1: 0,
32
+ y1: 0,
33
+ x2: WIDTH,
34
+ y2: 0
35
+ }
36
+ }), _objectSpread(_objectSpread({}, (0, _labsWidgetCommon.getLineCommons)(isDark)), {}, {
37
+ right: -2,
38
+ shape: {
39
+ x1: 0,
40
+ y1: 0,
41
+ x2: 0,
42
+ y2: MAIN_HEIGHT + X_LABEL_SIZE + 2
43
+ }
44
+ }), _objectSpread(_objectSpread({}, (0, _labsWidgetCommon.getLineCommons)(isDark)), {}, {
45
+ top: MAIN_HEIGHT - 2,
46
+ shape: {
47
+ x1: 0,
48
+ y1: 0,
49
+ x2: WIDTH,
50
+ y2: 0
51
+ }
52
+ }), _objectSpread(_objectSpread({}, (0, _labsWidgetCommon.getLineCommons)(isDark)), {}, {
53
+ left: -2,
54
+ shape: {
55
+ x1: 0,
56
+ y1: 0,
57
+ x2: 0,
58
+ y2: MAIN_HEIGHT + X_LABEL_SIZE + 2
59
+ }
60
+ }), _objectSpread(_objectSpread({}, (0, _labsWidgetCommon.getLineCommons)(isDark)), {}, {
61
+ right: (isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE) - 2,
62
+ top: -2,
63
+ shape: {
64
+ x1: 0,
65
+ y1: 0,
66
+ x2: 0,
67
+ y2: MAIN_HEIGHT
68
+ }
69
+ }), _objectSpread(_objectSpread({}, (0, _labsWidgetCommon.getLineCommons)(isDark)), {}, {
70
+ top: MAIN_HEIGHT + X_LABEL_SIZE,
71
+ shape: {
72
+ x1: 0,
73
+ y1: 0,
74
+ x2: WIDTH,
75
+ y2: 0
76
+ }
77
+ }), _objectSpread(_objectSpread({}, (0, _labsWidgetCommon.getLineCommons)(isDark)), {}, {
78
+ top: MAIN_HEIGHT + X_LABEL_SIZE + MARGIN_BETWEEN - 2,
79
+ shape: {
80
+ x1: 0,
81
+ y1: 0,
82
+ x2: WIDTH,
83
+ y2: 0
84
+ }
85
+ }), _objectSpread(_objectSpread({}, (0, _labsWidgetCommon.getLineCommons)(isDark)), {}, {
86
+ top: MAIN_HEIGHT + X_LABEL_SIZE + MARGIN_BETWEEN - 2,
87
+ right: -2,
88
+ shape: {
89
+ x1: 0,
90
+ y1: 0,
91
+ x2: 0,
92
+ y2: SENTIMENT_HEIGHT
93
+ }
94
+ }), _objectSpread(_objectSpread({}, (0, _labsWidgetCommon.getLineCommons)(isDark)), {}, {
95
+ top: MAIN_HEIGHT + X_LABEL_SIZE + MARGIN_BETWEEN + SENTIMENT_HEIGHT - 3,
96
+ shape: {
97
+ x1: 0,
98
+ y1: 0,
99
+ x2: WIDTH,
100
+ y2: 0
101
+ }
102
+ }), _objectSpread(_objectSpread({}, (0, _labsWidgetCommon.getLineCommons)(isDark)), {}, {
103
+ top: MAIN_HEIGHT + X_LABEL_SIZE + MARGIN_BETWEEN - 2,
104
+ left: -2,
105
+ shape: {
106
+ x1: 0,
107
+ y1: 0,
108
+ x2: 0,
109
+ y2: SENTIMENT_HEIGHT
110
+ }
111
+ }), _objectSpread(_objectSpread({}, (0, _labsWidgetCommon.getLineCommons)(isDark)), {}, {
112
+ right: (isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE) - 3,
113
+ top: MAIN_HEIGHT + X_LABEL_SIZE + MARGIN_BETWEEN - 2,
114
+ shape: {
115
+ x1: 0,
116
+ y1: 0,
117
+ x2: 0,
118
+ y2: SENTIMENT_HEIGHT
119
+ }
120
+ })];
121
+ };
122
+ exports.getGridLines = getGridLines;
123
+ //# sourceMappingURL=getGridLines.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getGridLines.js","names":["_labsWidgetCommon","require","_constants","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","getGridLines","_ref","isDark","isDesktop","WIDTH","MAIN_HEIGHT","MARGIN_BETWEEN","SENTIMENT_HEIGHT","X_LABEL_SIZE","Y_LABEL_SIZE_DESKTOP","Y_LABEL_SIZE_MOBILE","CHART_CONFIG","getLineCommons","top","shape","x1","y1","x2","y2","right","left","exports"],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/utils/getGridLines.ts"],"sourcesContent":["import { getLineCommons } from '@oanda/labs-widget-common';\n\nimport { CHART_CONFIG } from '../../../constants';\n\nexport const getGridLines = ({\n isDark,\n isDesktop,\n}: {\n isDark: boolean;\n isDesktop: boolean;\n}) => {\n const {\n WIDTH,\n MAIN_HEIGHT,\n MARGIN_BETWEEN,\n SENTIMENT_HEIGHT,\n X_LABEL_SIZE,\n Y_LABEL_SIZE_DESKTOP,\n Y_LABEL_SIZE_MOBILE,\n } = CHART_CONFIG;\n return [\n // Main Top\n {\n ...getLineCommons(isDark),\n top: -2,\n shape: {\n x1: 0,\n y1: 0,\n x2: WIDTH,\n y2: 0,\n },\n },\n // Main Right\n {\n ...getLineCommons(isDark),\n right: -2,\n shape: {\n x1: 0,\n y1: 0,\n x2: 0,\n y2: MAIN_HEIGHT + X_LABEL_SIZE + 2,\n },\n },\n // Main Bottom\n {\n ...getLineCommons(isDark),\n top: MAIN_HEIGHT - 2,\n shape: {\n x1: 0,\n y1: 0,\n x2: WIDTH,\n y2: 0,\n },\n },\n // Main Left\n {\n ...getLineCommons(isDark),\n left: -2,\n shape: {\n x1: 0,\n y1: 0,\n x2: 0,\n y2: MAIN_HEIGHT + X_LABEL_SIZE + 2,\n },\n },\n // Main Y Label\n {\n ...getLineCommons(isDark),\n right: (isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE) - 2,\n top: -2,\n shape: {\n x1: 0,\n y1: 0,\n x2: 0,\n y2: MAIN_HEIGHT,\n },\n },\n // Main X Label\n {\n ...getLineCommons(isDark),\n top: MAIN_HEIGHT + X_LABEL_SIZE,\n shape: {\n x1: 0,\n y1: 0,\n x2: WIDTH,\n y2: 0,\n },\n },\n // Sentiment Top\n {\n ...getLineCommons(isDark),\n top: MAIN_HEIGHT + X_LABEL_SIZE + MARGIN_BETWEEN - 2,\n shape: {\n x1: 0,\n y1: 0,\n x2: WIDTH,\n y2: 0,\n },\n },\n // Sentiment Right\n {\n ...getLineCommons(isDark),\n top: MAIN_HEIGHT + X_LABEL_SIZE + MARGIN_BETWEEN - 2,\n right: -2,\n shape: {\n x1: 0,\n y1: 0,\n x2: 0,\n y2: SENTIMENT_HEIGHT,\n },\n },\n // Sentiment Bottom\n {\n ...getLineCommons(isDark),\n top: MAIN_HEIGHT + X_LABEL_SIZE + MARGIN_BETWEEN + SENTIMENT_HEIGHT - 3,\n shape: {\n x1: 0,\n y1: 0,\n x2: WIDTH,\n y2: 0,\n },\n },\n // Sentiment Left\n {\n ...getLineCommons(isDark),\n top: MAIN_HEIGHT + X_LABEL_SIZE + MARGIN_BETWEEN - 2,\n left: -2,\n shape: {\n x1: 0,\n y1: 0,\n x2: 0,\n y2: SENTIMENT_HEIGHT,\n },\n },\n // Sentiment Y Label\n {\n ...getLineCommons(isDark),\n right: (isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE) - 3,\n top: MAIN_HEIGHT + X_LABEL_SIZE + MARGIN_BETWEEN - 2,\n shape: {\n x1: 0,\n y1: 0,\n x2: 0,\n y2: SENTIMENT_HEIGHT,\n },\n },\n ];\n};\n"],"mappings":"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","ignoreList":[]}
@@ -25,6 +25,17 @@ Object.keys(_chartUtils).forEach(function (key) {
25
25
  }
26
26
  });
27
27
  });
28
+ var _getChartStyles = require("./getChartStyles");
29
+ Object.keys(_getChartStyles).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _getChartStyles[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function () {
35
+ return _getChartStyles[key];
36
+ }
37
+ });
38
+ });
28
39
  var _getTargetBucketWidth = require("./getTargetBucketWidth");
29
40
  Object.keys(_getTargetBucketWidth).forEach(function (key) {
30
41
  if (key === "default" || key === "__esModule") return;
@@ -69,6 +80,17 @@ Object.keys(_processPriceCandles).forEach(function (key) {
69
80
  }
70
81
  });
71
82
  });
83
+ var _processSentiments = require("./processSentiments");
84
+ Object.keys(_processSentiments).forEach(function (key) {
85
+ if (key === "default" || key === "__esModule") return;
86
+ if (key in exports && exports[key] === _processSentiments[key]) return;
87
+ Object.defineProperty(exports, key, {
88
+ enumerable: true,
89
+ get: function () {
90
+ return _processSentiments[key];
91
+ }
92
+ });
93
+ });
72
94
  var _validateData = require("./validateData");
73
95
  Object.keys(_validateData).forEach(function (key) {
74
96
  if (key === "default" || key === "__esModule") return;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_aggregateBuckets","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_chartUtils","_getTargetBucketWidth","_processBuckets","_processOrderPositionBooks","_processPriceCandles","_validateData"],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/utils/index.ts"],"sourcesContent":["export * from './aggregateBuckets';\nexport * from './chartUtils';\nexport * from './getTargetBucketWidth';\nexport * from './processBuckets';\nexport * from './processOrderPositionBooks';\nexport * from './processPriceCandles';\nexport * from './validateData';\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_aggregateBuckets","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_chartUtils","_getChartStyles","_getTargetBucketWidth","_processBuckets","_processOrderPositionBooks","_processPriceCandles","_processSentiments","_validateData"],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/utils/index.ts"],"sourcesContent":["export * from './aggregateBuckets';\nexport * from './chartUtils';\nexport * from './getChartStyles';\nexport * from './getTargetBucketWidth';\nexport * from './processBuckets';\nexport * from './processOrderPositionBooks';\nexport * from './processPriceCandles';\nexport * from './processSentiments';\nexport * from './validateData';\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.processSentiments = void 0;
7
+ const processSentiments = (sentimentsData, xAxisData) => {
8
+ var _sentimentsData$senti;
9
+ if (!(sentimentsData !== null && sentimentsData !== void 0 && (_sentimentsData$senti = sentimentsData.sentiments) !== null && _sentimentsData$senti !== void 0 && (_sentimentsData$senti = _sentimentsData$senti.sentiments) !== null && _sentimentsData$senti !== void 0 && _sentimentsData$senti.length)) {
10
+ return [];
11
+ }
12
+ const sentimentMap = new Map(sentimentsData.sentiments.sentiments.filter(item => {
13
+ var _item$sentiment, _item$sentiment2;
14
+ return (item === null || item === void 0 ? void 0 : item.time) != null && ((_item$sentiment = item.sentiment) === null || _item$sentiment === void 0 ? void 0 : _item$sentiment.shortPercent) != null && ((_item$sentiment2 = item.sentiment) === null || _item$sentiment2 === void 0 ? void 0 : _item$sentiment2.longPercent) != null;
15
+ }).map(item => [item.time, {
16
+ shortPercent: item.sentiment.shortPercent,
17
+ longPercent: item.sentiment.longPercent
18
+ }]));
19
+ return xAxisData.map(time => {
20
+ const sentiment = sentimentMap.get(time);
21
+ if (!sentiment) {
22
+ return undefined;
23
+ }
24
+ return [time, sentiment.shortPercent, sentiment.longPercent];
25
+ }).filter(item => item !== undefined);
26
+ };
27
+ exports.processSentiments = processSentiments;
28
+ //# sourceMappingURL=processSentiments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processSentiments.js","names":["processSentiments","sentimentsData","xAxisData","_sentimentsData$senti","sentiments","length","sentimentMap","Map","filter","item","_item$sentiment","_item$sentiment2","time","sentiment","shortPercent","longPercent","map","get","undefined","exports"],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/utils/processSentiments.ts"],"sourcesContent":["import type { GetSentimentsQuery } from '../../../../gql/types/graphql';\nimport type { ProcessedSentiment } from '../types';\n\nexport const processSentiments = (\n sentimentsData: GetSentimentsQuery | undefined,\n xAxisData: string[]\n): ProcessedSentiment[] => {\n if (!sentimentsData?.sentiments?.sentiments?.length) {\n return [];\n }\n\n const sentimentMap = new Map(\n sentimentsData.sentiments.sentiments\n .filter(\n (item): item is NonNullable<typeof item> =>\n item?.time != null &&\n item.sentiment?.shortPercent != null &&\n item.sentiment?.longPercent != null\n )\n .map((item) => [\n item.time,\n {\n shortPercent: item.sentiment.shortPercent,\n longPercent: item.sentiment.longPercent,\n },\n ])\n );\n\n return xAxisData\n .map((time) => {\n const sentiment = sentimentMap.get(time);\n if (!sentiment) {\n return undefined;\n }\n return [\n time,\n sentiment.shortPercent,\n sentiment.longPercent,\n ] as ProcessedSentiment;\n })\n .filter((item): item is ProcessedSentiment => item !== undefined);\n};\n"],"mappings":";;;;;;AAGO,MAAMA,iBAAiB,GAAGA,CAC/BC,cAA8C,EAC9CC,SAAmB,KACM;EAAA,IAAAC,qBAAA;EACzB,IAAI,EAACF,cAAc,aAAdA,cAAc,gBAAAE,qBAAA,GAAdF,cAAc,CAAEG,UAAU,cAAAD,qBAAA,gBAAAA,qBAAA,GAA1BA,qBAAA,CAA4BC,UAAU,cAAAD,qBAAA,eAAtCA,qBAAA,CAAwCE,MAAM,GAAE;IACnD,OAAO,EAAE;EACX;EAEA,MAAMC,YAAY,GAAG,IAAIC,GAAG,CAC1BN,cAAc,CAACG,UAAU,CAACA,UAAU,CACjCI,MAAM,CACJC,IAAI;IAAA,IAAAC,eAAA,EAAAC,gBAAA;IAAA,OACH,CAAAF,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEG,IAAI,KAAI,IAAI,IAClB,EAAAF,eAAA,GAAAD,IAAI,CAACI,SAAS,cAAAH,eAAA,uBAAdA,eAAA,CAAgBI,YAAY,KAAI,IAAI,IACpC,EAAAH,gBAAA,GAAAF,IAAI,CAACI,SAAS,cAAAF,gBAAA,uBAAdA,gBAAA,CAAgBI,WAAW,KAAI,IAAI;EAAA,CACvC,CAAC,CACAC,GAAG,CAAEP,IAAI,IAAK,CACbA,IAAI,CAACG,IAAI,EACT;IACEE,YAAY,EAAEL,IAAI,CAACI,SAAS,CAACC,YAAY;IACzCC,WAAW,EAAEN,IAAI,CAACI,SAAS,CAACE;EAC9B,CAAC,CACF,CACL,CAAC;EAED,OAAOb,SAAS,CACbc,GAAG,CAAEJ,IAAI,IAAK;IACb,MAAMC,SAAS,GAAGP,YAAY,CAACW,GAAG,CAACL,IAAI,CAAC;IACxC,IAAI,CAACC,SAAS,EAAE;MACd,OAAOK,SAAS;IAClB;IACA,OAAO,CACLN,IAAI,EACJC,SAAS,CAACC,YAAY,EACtBD,SAAS,CAACE,WAAW,CACtB;EACH,CAAC,CAAC,CACDP,MAAM,CAAEC,IAAI,IAAiCA,IAAI,KAAKS,SAAS,CAAC;AACrE,CAAC;AAACC,OAAA,CAAAnB,iBAAA,GAAAA,iBAAA","ignoreList":[]}
@@ -21,7 +21,7 @@ const Legend = _ref => {
21
21
  lang
22
22
  } = (0, _monoI18n.useLocale)();
23
23
  return _react.default.createElement("div", {
24
- className: "lw-mx-auto lw-flex lw-w-full lw-flex-col lw-items-center lw-space-y-4 lw-pb-6 lw-pt-0 sm:lw-max-w-md lg:lw-max-w-xl"
24
+ className: "lw-mx-auto lw-mt-4 lw-flex lw-w-full lw-flex-col lw-items-center lw-space-y-4 lw-pb-6 lw-pt-0 sm:lw-max-w-md lg:lw-max-w-xl"
25
25
  }, _react.default.createElement(_LegendBar.LegendBar, {
26
26
  isDark: isDark,
27
27
  label: lang(bookType === _graphql.BookType.Order ? 'buy' : 'long'),
@@ -1 +1 @@
1
- {"version":3,"file":"Legend.js","names":["_monoI18n","require","_react","_interopRequireDefault","_graphql","_constants","_LegendBar","e","__esModule","default","Legend","_ref","longValues","BOOKS_THRESHOLDS","MIN","MAX","shortValues","bookType","isDark","lang","useLocale","createElement","className","LegendBar","label","BookType","Order","type","values","exports"],"sources":["../../../../../src/CrowdViewWidget/components/Legend/Legend.tsx"],"sourcesContent":["import { useLocale } from '@oanda/mono-i18n';\nimport React from 'react';\n\nimport { BookType } from '../../../gql/types/graphql';\nimport { BOOKS_THRESHOLDS } from '../../constants';\nimport { LegendBar } from './LegendBar';\n\ninterface LegendProps {\n longValues?: [number, number];\n shortValues?: [number, number];\n bookType: BookType;\n isDark: boolean;\n}\n\nexport const Legend = ({\n longValues = [BOOKS_THRESHOLDS.MIN, BOOKS_THRESHOLDS.MAX],\n shortValues = [BOOKS_THRESHOLDS.MIN, BOOKS_THRESHOLDS.MAX],\n bookType,\n isDark,\n}: LegendProps) => {\n const { lang } = useLocale();\n\n return (\n <div className=\"lw-mx-auto lw-flex lw-w-full lw-flex-col lw-items-center lw-space-y-4 lw-pb-6 lw-pt-0 sm:lw-max-w-md lg:lw-max-w-xl\">\n <LegendBar\n isDark={isDark}\n label={lang(bookType === BookType.Order ? 'buy' : 'long')}\n type=\"long\"\n values={longValues}\n />\n <LegendBar\n isDark={isDark}\n label={lang(bookType === BookType.Order ? 'sell' : 'short')}\n type=\"short\"\n values={shortValues}\n />\n </div>\n );\n};\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AACA,IAAAK,UAAA,GAAAL,OAAA;AAAwC,SAAAE,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AASjC,MAAMG,MAAM,GAAGC,IAAA,IAKH;EAAA,IALI;IACrBC,UAAU,GAAG,CAACC,2BAAgB,CAACC,GAAG,EAAED,2BAAgB,CAACE,GAAG,CAAC;IACzDC,WAAW,GAAG,CAACH,2BAAgB,CAACC,GAAG,EAAED,2BAAgB,CAACE,GAAG,CAAC;IAC1DE,QAAQ;IACRC;EACW,CAAC,GAAAP,IAAA;EACZ,MAAM;IAAEQ;EAAK,CAAC,GAAG,IAAAC,mBAAS,EAAC,CAAC;EAE5B,OACElB,MAAA,CAAAO,OAAA,CAAAY,aAAA;IAAKC,SAAS,EAAC;EAAqH,GAClIpB,MAAA,CAAAO,OAAA,CAAAY,aAAA,CAACf,UAAA,CAAAiB,SAAS;IACRL,MAAM,EAAEA,MAAO;IACfM,KAAK,EAAEL,IAAI,CAACF,QAAQ,KAAKQ,iBAAQ,CAACC,KAAK,GAAG,KAAK,GAAG,MAAM,CAAE;IAC1DC,IAAI,EAAC,MAAM;IACXC,MAAM,EAAEhB;EAAW,CACpB,CAAC,EACFV,MAAA,CAAAO,OAAA,CAAAY,aAAA,CAACf,UAAA,CAAAiB,SAAS;IACRL,MAAM,EAAEA,MAAO;IACfM,KAAK,EAAEL,IAAI,CAACF,QAAQ,KAAKQ,iBAAQ,CAACC,KAAK,GAAG,MAAM,GAAG,OAAO,CAAE;IAC5DC,IAAI,EAAC,OAAO;IACZC,MAAM,EAAEZ;EAAY,CACrB,CACE,CAAC;AAEV,CAAC;AAACa,OAAA,CAAAnB,MAAA,GAAAA,MAAA","ignoreList":[]}
1
+ {"version":3,"file":"Legend.js","names":["_monoI18n","require","_react","_interopRequireDefault","_graphql","_constants","_LegendBar","e","__esModule","default","Legend","_ref","longValues","BOOKS_THRESHOLDS","MIN","MAX","shortValues","bookType","isDark","lang","useLocale","createElement","className","LegendBar","label","BookType","Order","type","values","exports"],"sources":["../../../../../src/CrowdViewWidget/components/Legend/Legend.tsx"],"sourcesContent":["import { useLocale } from '@oanda/mono-i18n';\nimport React from 'react';\n\nimport { BookType } from '../../../gql/types/graphql';\nimport { BOOKS_THRESHOLDS } from '../../constants';\nimport { LegendBar } from './LegendBar';\n\ninterface LegendProps {\n longValues?: [number, number];\n shortValues?: [number, number];\n bookType: BookType;\n isDark: boolean;\n}\n\nexport const Legend = ({\n longValues = [BOOKS_THRESHOLDS.MIN, BOOKS_THRESHOLDS.MAX],\n shortValues = [BOOKS_THRESHOLDS.MIN, BOOKS_THRESHOLDS.MAX],\n bookType,\n isDark,\n}: LegendProps) => {\n const { lang } = useLocale();\n\n return (\n <div className=\"lw-mx-auto lw-mt-4 lw-flex lw-w-full lw-flex-col lw-items-center lw-space-y-4 lw-pb-6 lw-pt-0 sm:lw-max-w-md lg:lw-max-w-xl\">\n <LegendBar\n isDark={isDark}\n label={lang(bookType === BookType.Order ? 'buy' : 'long')}\n type=\"long\"\n values={longValues}\n />\n <LegendBar\n isDark={isDark}\n label={lang(bookType === BookType.Order ? 'sell' : 'short')}\n type=\"short\"\n values={shortValues}\n />\n </div>\n );\n};\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AACA,IAAAK,UAAA,GAAAL,OAAA;AAAwC,SAAAE,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AASjC,MAAMG,MAAM,GAAGC,IAAA,IAKH;EAAA,IALI;IACrBC,UAAU,GAAG,CAACC,2BAAgB,CAACC,GAAG,EAAED,2BAAgB,CAACE,GAAG,CAAC;IACzDC,WAAW,GAAG,CAACH,2BAAgB,CAACC,GAAG,EAAED,2BAAgB,CAACE,GAAG,CAAC;IAC1DE,QAAQ;IACRC;EACW,CAAC,GAAAP,IAAA;EACZ,MAAM;IAAEQ;EAAK,CAAC,GAAG,IAAAC,mBAAS,EAAC,CAAC;EAE5B,OACElB,MAAA,CAAAO,OAAA,CAAAY,aAAA;IAAKC,SAAS,EAAC;EAA6H,GAC1IpB,MAAA,CAAAO,OAAA,CAAAY,aAAA,CAACf,UAAA,CAAAiB,SAAS;IACRL,MAAM,EAAEA,MAAO;IACfM,KAAK,EAAEL,IAAI,CAACF,QAAQ,KAAKQ,iBAAQ,CAACC,KAAK,GAAG,KAAK,GAAG,MAAM,CAAE;IAC1DC,IAAI,EAAC,MAAM;IACXC,MAAM,EAAEhB;EAAW,CACpB,CAAC,EACFV,MAAA,CAAAO,OAAA,CAAAY,aAAA,CAACf,UAAA,CAAAiB,SAAS;IACRL,MAAM,EAAEA,MAAO;IACfM,KAAK,EAAEL,IAAI,CAACF,QAAQ,KAAKQ,iBAAQ,CAACC,KAAK,GAAG,MAAM,GAAG,OAAO,CAAE;IAC5DC,IAAI,EAAC,OAAO;IACZC,MAAM,EAAEZ;EAAY,CACrB,CACE,CAAC;AAEV,CAAC;AAACa,OAAA,CAAAnB,MAAA,GAAAA,MAAA","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.TIME_THRESHOLDS = exports.INSTRUMENTS_CONFIG = exports.COLOR_MAP = exports.CHART_CONFIG = exports.BUCKET_CONFIG = exports.BOOKS_THRESHOLDS = void 0;
6
+ exports.TIME_THRESHOLDS = exports.INSTRUMENTS_CONFIG = exports.COLOR_MAP = exports.CHART_CONFIG_CALCULATED = exports.CHART_CONFIG = exports.BUCKET_CONFIG = exports.BOOKS_THRESHOLDS = void 0;
7
7
  var _labsWidgetCommon = require("@oanda/labs-widget-common");
8
8
  var _types = require("./types");
9
9
  const BOOKS_THRESHOLDS = exports.BOOKS_THRESHOLDS = {
@@ -18,14 +18,24 @@ const TIME_THRESHOLDS = exports.TIME_THRESHOLDS = {
18
18
  TWO_WEEKS_MS: 14 * 24 * 60 * 60 * 1000
19
19
  };
20
20
  const CHART_CONFIG = exports.CHART_CONFIG = {
21
- HEIGHT: 425,
21
+ MAIN_HEIGHT: 400,
22
+ MARGIN_BETWEEN: 50,
23
+ SENTIMENT_HEIGHT: 120,
22
24
  WIDTH: 9999,
23
25
  X_LABEL_SIZE: 40,
24
26
  Y_LABEL_SIZE_DESKTOP: 60,
25
27
  Y_LABEL_SIZE_MOBILE: 40,
26
28
  INITIAL_START_ZOOM: 80,
27
29
  INITIAL_END_ZOOM: 100,
28
- X_AXIS_DATE_PADDING: ' '
30
+ X_AXIS_DATE_PADDING: ' ',
31
+ SENTIMENT_MIN: 0,
32
+ SENTIMENT_MAX: 100,
33
+ SENTIMENT_INTERVAL: 25,
34
+ SENTIMENT_TEXT_OFFSET: 16
35
+ };
36
+ const CHART_CONFIG_CALCULATED = exports.CHART_CONFIG_CALCULATED = {
37
+ FULL_HEIGHT: CHART_CONFIG.MAIN_HEIGHT + CHART_CONFIG.MARGIN_BETWEEN + CHART_CONFIG.SENTIMENT_HEIGHT + CHART_CONFIG.X_LABEL_SIZE,
38
+ SENTIMENT_TEXT_POSITION: CHART_CONFIG.SENTIMENT_HEIGHT + CHART_CONFIG.SENTIMENT_TEXT_OFFSET
29
39
  };
30
40
  const COLOR_MAP = exports.COLOR_MAP = {
31
41
  dark: {
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","names":["_labsWidgetCommon","require","_types","BOOKS_THRESHOLDS","exports","MIN","MAX","BUCKET_CONFIG","MULTIPLIER","PRICE_PADDING_MULTIPLIER","TIME_THRESHOLDS","TWO_WEEKS_MS","CHART_CONFIG","HEIGHT","WIDTH","X_LABEL_SIZE","Y_LABEL_SIZE_DESKTOP","Y_LABEL_SIZE_MOBILE","INITIAL_START_ZOOM","INITIAL_END_ZOOM","X_AXIS_DATE_PADDING","COLOR_MAP","dark","long","colorPalette","darkBlue10","darkBlue90","short","darkYellow10","darkYellow90","light","lightBlue10","lightBlue90","lightYellow10","lightYellow90","INSTRUMENTS_CONFIG","InstrumentId","EUR_AUD","mt5name","v20name","precision","defaultBucketWidth","EUR_GBP","EUR_JPY","EUR_USD","EUR_CHF","USD_CHF","USD_JPY","USD_CAD","GBP_USD","GBP_JPY","GBP_CHF","AUD_JPY","AUD_USD","NZD_USD","XAU_USD","XAG_USD"],"sources":["../../../src/CrowdViewWidget/constants.ts"],"sourcesContent":["import { colorPalette } from '@oanda/labs-widget-common';\n\nimport { InstrumentId } from './types';\n\nexport const BOOKS_THRESHOLDS = {\n MIN: 0.15,\n MAX: 0.55,\n} as const;\n\nexport const BUCKET_CONFIG = {\n MULTIPLIER: 4,\n PRICE_PADDING_MULTIPLIER: 2,\n} as const;\n\nexport const TIME_THRESHOLDS = {\n TWO_WEEKS_MS: 14 * 24 * 60 * 60 * 1000,\n} as const;\n\nexport const CHART_CONFIG = {\n HEIGHT: 425,\n WIDTH: 9999,\n X_LABEL_SIZE: 40,\n Y_LABEL_SIZE_DESKTOP: 60,\n Y_LABEL_SIZE_MOBILE: 40,\n INITIAL_START_ZOOM: 80,\n INITIAL_END_ZOOM: 100,\n X_AXIS_DATE_PADDING: ' ',\n} as const;\n\nexport const COLOR_MAP = {\n dark: {\n long: [colorPalette.darkBlue10, colorPalette.darkBlue90],\n short: [colorPalette.darkYellow10, colorPalette.darkYellow90],\n },\n light: {\n long: [colorPalette.lightBlue10, colorPalette.lightBlue90],\n short: [colorPalette.lightYellow10, colorPalette.lightYellow90],\n },\n} as const;\n\nexport const INSTRUMENTS_CONFIG: Record<\n InstrumentId,\n {\n precision: number;\n defaultBucketWidth: number;\n v20name: string;\n mt5name: string;\n }\n> = {\n [InstrumentId.EUR_AUD]: {\n mt5name: 'EURAUD',\n v20name: 'EUR_AUD',\n precision: 5,\n defaultBucketWidth: 0.0005,\n },\n [InstrumentId.EUR_GBP]: {\n mt5name: 'EURGBP',\n v20name: 'EUR_GBP',\n precision: 5,\n defaultBucketWidth: 0.0005,\n },\n [InstrumentId.EUR_JPY]: {\n mt5name: 'EURJPY',\n v20name: 'EUR_JPY',\n precision: 3,\n defaultBucketWidth: 0.05,\n },\n [InstrumentId.EUR_USD]: {\n mt5name: 'EURUSD',\n v20name: 'EUR_USD',\n precision: 5,\n defaultBucketWidth: 0.0005,\n },\n [InstrumentId.EUR_CHF]: {\n mt5name: 'EURCHF',\n v20name: 'EUR_CHF',\n precision: 5,\n defaultBucketWidth: 0.0005,\n },\n [InstrumentId.USD_CHF]: {\n mt5name: 'USDCHF',\n v20name: 'USD_CHF',\n precision: 5,\n defaultBucketWidth: 0.0005,\n },\n [InstrumentId.USD_JPY]: {\n mt5name: 'USDJPY',\n v20name: 'USD_JPY',\n precision: 3,\n defaultBucketWidth: 0.05,\n },\n [InstrumentId.USD_CAD]: {\n mt5name: 'USDCAD',\n v20name: 'USD_CAD',\n precision: 5,\n defaultBucketWidth: 0.0005,\n },\n [InstrumentId.GBP_USD]: {\n mt5name: 'GBPUSD',\n v20name: 'GBP_USD',\n precision: 5,\n defaultBucketWidth: 0.0005,\n },\n [InstrumentId.GBP_JPY]: {\n mt5name: 'GBPJPY',\n v20name: 'GBP_JPY',\n precision: 3,\n defaultBucketWidth: 0.05,\n },\n [InstrumentId.GBP_CHF]: {\n mt5name: 'GBPCHF',\n v20name: 'GBP_CHF',\n precision: 5,\n defaultBucketWidth: 0.0005,\n },\n [InstrumentId.AUD_JPY]: {\n mt5name: 'AUDJPY',\n v20name: 'AUD_JPY',\n precision: 3,\n defaultBucketWidth: 0.05,\n },\n [InstrumentId.AUD_USD]: {\n mt5name: 'AUDUSD',\n v20name: 'AUD_USD',\n precision: 5,\n defaultBucketWidth: 0.0005,\n },\n [InstrumentId.NZD_USD]: {\n mt5name: 'NZDUSD',\n v20name: 'NZD_USD',\n precision: 5,\n defaultBucketWidth: 0.0005,\n },\n [InstrumentId.XAU_USD]: {\n mt5name: 'XAUUSD',\n v20name: 'XAU_USD',\n precision: 3,\n defaultBucketWidth: 0.5,\n },\n [InstrumentId.XAG_USD]: {\n mt5name: 'XAGUSD',\n v20name: 'XAG_USD',\n precision: 5,\n defaultBucketWidth: 0.0005,\n },\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"constants.js","names":["_labsWidgetCommon","require","_types","BOOKS_THRESHOLDS","exports","MIN","MAX","BUCKET_CONFIG","MULTIPLIER","PRICE_PADDING_MULTIPLIER","TIME_THRESHOLDS","TWO_WEEKS_MS","CHART_CONFIG","MAIN_HEIGHT","MARGIN_BETWEEN","SENTIMENT_HEIGHT","WIDTH","X_LABEL_SIZE","Y_LABEL_SIZE_DESKTOP","Y_LABEL_SIZE_MOBILE","INITIAL_START_ZOOM","INITIAL_END_ZOOM","X_AXIS_DATE_PADDING","SENTIMENT_MIN","SENTIMENT_MAX","SENTIMENT_INTERVAL","SENTIMENT_TEXT_OFFSET","CHART_CONFIG_CALCULATED","FULL_HEIGHT","SENTIMENT_TEXT_POSITION","COLOR_MAP","dark","long","colorPalette","darkBlue10","darkBlue90","short","darkYellow10","darkYellow90","light","lightBlue10","lightBlue90","lightYellow10","lightYellow90","INSTRUMENTS_CONFIG","InstrumentId","EUR_AUD","mt5name","v20name","precision","defaultBucketWidth","EUR_GBP","EUR_JPY","EUR_USD","EUR_CHF","USD_CHF","USD_JPY","USD_CAD","GBP_USD","GBP_JPY","GBP_CHF","AUD_JPY","AUD_USD","NZD_USD","XAU_USD","XAG_USD"],"sources":["../../../src/CrowdViewWidget/constants.ts"],"sourcesContent":["import { colorPalette } from '@oanda/labs-widget-common';\n\nimport { InstrumentId } from './types';\n\nexport const BOOKS_THRESHOLDS = {\n MIN: 0.15,\n MAX: 0.55,\n} as const;\n\nexport const BUCKET_CONFIG = {\n MULTIPLIER: 4,\n PRICE_PADDING_MULTIPLIER: 2,\n} as const;\n\nexport const TIME_THRESHOLDS = {\n TWO_WEEKS_MS: 14 * 24 * 60 * 60 * 1000,\n} as const;\n\nexport const CHART_CONFIG = {\n MAIN_HEIGHT: 400,\n MARGIN_BETWEEN: 50,\n SENTIMENT_HEIGHT: 120,\n WIDTH: 9999,\n X_LABEL_SIZE: 40,\n Y_LABEL_SIZE_DESKTOP: 60,\n Y_LABEL_SIZE_MOBILE: 40,\n INITIAL_START_ZOOM: 80,\n INITIAL_END_ZOOM: 100,\n X_AXIS_DATE_PADDING: ' ',\n SENTIMENT_MIN: 0,\n SENTIMENT_MAX: 100,\n SENTIMENT_INTERVAL: 25,\n SENTIMENT_TEXT_OFFSET: 16,\n} as const;\n\nexport const CHART_CONFIG_CALCULATED = {\n FULL_HEIGHT:\n CHART_CONFIG.MAIN_HEIGHT +\n CHART_CONFIG.MARGIN_BETWEEN +\n CHART_CONFIG.SENTIMENT_HEIGHT +\n CHART_CONFIG.X_LABEL_SIZE,\n SENTIMENT_TEXT_POSITION:\n CHART_CONFIG.SENTIMENT_HEIGHT + CHART_CONFIG.SENTIMENT_TEXT_OFFSET,\n};\n\nexport const COLOR_MAP = {\n dark: {\n long: [colorPalette.darkBlue10, colorPalette.darkBlue90],\n short: [colorPalette.darkYellow10, colorPalette.darkYellow90],\n },\n light: {\n long: [colorPalette.lightBlue10, colorPalette.lightBlue90],\n short: [colorPalette.lightYellow10, colorPalette.lightYellow90],\n },\n} as const;\n\nexport const INSTRUMENTS_CONFIG: Record<\n InstrumentId,\n {\n precision: number;\n defaultBucketWidth: number;\n v20name: string;\n mt5name: string;\n }\n> = {\n [InstrumentId.EUR_AUD]: {\n mt5name: 'EURAUD',\n v20name: 'EUR_AUD',\n precision: 5,\n defaultBucketWidth: 0.0005,\n },\n [InstrumentId.EUR_GBP]: {\n mt5name: 'EURGBP',\n v20name: 'EUR_GBP',\n precision: 5,\n defaultBucketWidth: 0.0005,\n },\n [InstrumentId.EUR_JPY]: {\n mt5name: 'EURJPY',\n v20name: 'EUR_JPY',\n precision: 3,\n defaultBucketWidth: 0.05,\n },\n [InstrumentId.EUR_USD]: {\n mt5name: 'EURUSD',\n v20name: 'EUR_USD',\n precision: 5,\n defaultBucketWidth: 0.0005,\n },\n [InstrumentId.EUR_CHF]: {\n mt5name: 'EURCHF',\n v20name: 'EUR_CHF',\n precision: 5,\n defaultBucketWidth: 0.0005,\n },\n [InstrumentId.USD_CHF]: {\n mt5name: 'USDCHF',\n v20name: 'USD_CHF',\n precision: 5,\n defaultBucketWidth: 0.0005,\n },\n [InstrumentId.USD_JPY]: {\n mt5name: 'USDJPY',\n v20name: 'USD_JPY',\n precision: 3,\n defaultBucketWidth: 0.05,\n },\n [InstrumentId.USD_CAD]: {\n mt5name: 'USDCAD',\n v20name: 'USD_CAD',\n precision: 5,\n defaultBucketWidth: 0.0005,\n },\n [InstrumentId.GBP_USD]: {\n mt5name: 'GBPUSD',\n v20name: 'GBP_USD',\n precision: 5,\n defaultBucketWidth: 0.0005,\n },\n [InstrumentId.GBP_JPY]: {\n mt5name: 'GBPJPY',\n v20name: 'GBP_JPY',\n precision: 3,\n defaultBucketWidth: 0.05,\n },\n [InstrumentId.GBP_CHF]: {\n mt5name: 'GBPCHF',\n v20name: 'GBP_CHF',\n precision: 5,\n defaultBucketWidth: 0.0005,\n },\n [InstrumentId.AUD_JPY]: {\n mt5name: 'AUDJPY',\n v20name: 'AUD_JPY',\n precision: 3,\n defaultBucketWidth: 0.05,\n },\n [InstrumentId.AUD_USD]: {\n mt5name: 'AUDUSD',\n v20name: 'AUD_USD',\n precision: 5,\n defaultBucketWidth: 0.0005,\n },\n [InstrumentId.NZD_USD]: {\n mt5name: 'NZDUSD',\n v20name: 'NZD_USD',\n precision: 5,\n defaultBucketWidth: 0.0005,\n },\n [InstrumentId.XAU_USD]: {\n mt5name: 'XAUUSD',\n v20name: 'XAU_USD',\n precision: 3,\n defaultBucketWidth: 0.5,\n },\n [InstrumentId.XAG_USD]: {\n mt5name: 'XAGUSD',\n v20name: 'XAG_USD',\n precision: 5,\n defaultBucketWidth: 0.0005,\n },\n};\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getSentiments = void 0;
7
+ var _client = require("@apollo/client");
8
+ var _templateObject;
9
+ function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
10
+ const getSentiments = exports.getSentiments = (0, _client.gql)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n query GetSentiments(\n $instrument: String!\n $granularity: Granularity!\n $timeSpan: TimeSpan!\n ) {\n sentiments(\n instrument: $instrument\n granularity: $granularity\n timeSpan: $timeSpan\n ) {\n sentiments {\n sentiment {\n longPercent\n shortPercent\n }\n time\n }\n }\n }\n"])));
11
+ //# sourceMappingURL=getSentiments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getSentiments.js","names":["_client","require","_templateObject","_taggedTemplateLiteral","e","t","slice","Object","freeze","defineProperties","raw","value","getSentiments","exports","gql"],"sources":["../../../src/gql/getSentiments.ts"],"sourcesContent":["import { gql } from '@apollo/client';\n\nconst getSentiments = gql`\n query GetSentiments(\n $instrument: String!\n $granularity: Granularity!\n $timeSpan: TimeSpan!\n ) {\n sentiments(\n instrument: $instrument\n granularity: $granularity\n timeSpan: $timeSpan\n ) {\n sentiments {\n sentiment {\n longPercent\n shortPercent\n }\n time\n }\n }\n }\n`;\n\nexport { getSentiments };\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAAqC,IAAAC,eAAA;AAAA,SAAAC,uBAAAC,CAAA,EAAAC,CAAA,WAAAA,CAAA,KAAAA,CAAA,GAAAD,CAAA,CAAAE,KAAA,MAAAC,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAE,gBAAA,CAAAL,CAAA,IAAAM,GAAA,IAAAC,KAAA,EAAAJ,MAAA,CAAAC,MAAA,CAAAH,CAAA;AAErC,MAAMO,aAAa,GAAAC,OAAA,CAAAD,aAAA,OAAGE,WAAG,EAAAZ,eAAA,KAAAA,eAAA,GAAAC,sBAAA,wXAoBxB","ignoreList":[]}
@@ -8,7 +8,8 @@ var types = _interopRequireWildcard(require("./graphql"));
8
8
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
9
9
  const documents = {
10
10
  '\n query GetOrderPositionBooks(\n $instrument: String!\n $bookType: BookType!\n $timeSpan: TimeSpan!\n $granularity: Granularity!\n $maxBookPrice: Float\n $minBookPrice: Float\n ) {\n orderPositionBooks(\n instrument: $instrument\n bookType: $bookType\n timeSpan: $timeSpan\n granularity: $granularity\n maxBookPrice: $maxBookPrice\n minBookPrice: $minBookPrice\n ) {\n bucketWidth\n price\n time\n buckets {\n price\n sentiment\n }\n }\n }\n': types.GetOrderPositionBooksDocument,
11
- '\n query GetPriceCandles(\n $dataSource: DataSource!\n $division: Division!\n $instrument: String!\n $granularity: Granularity!\n $timeSpan: TimeSpan!\n ) {\n priceCandles(\n dataSource: $dataSource\n division: $division\n instrument: $instrument\n granularity: $granularity\n timeSpan: $timeSpan\n ) {\n candle {\n point\n high\n low\n open\n close\n }\n }\n }\n': types.GetPriceCandlesDocument
11
+ '\n query GetPriceCandles(\n $dataSource: DataSource!\n $division: Division!\n $instrument: String!\n $granularity: Granularity!\n $timeSpan: TimeSpan!\n ) {\n priceCandles(\n dataSource: $dataSource\n division: $division\n instrument: $instrument\n granularity: $granularity\n timeSpan: $timeSpan\n ) {\n candle {\n point\n high\n low\n open\n close\n }\n }\n }\n': types.GetPriceCandlesDocument,
12
+ '\n query GetSentiments(\n $instrument: String!\n $granularity: Granularity!\n $timeSpan: TimeSpan!\n ) {\n sentiments(\n instrument: $instrument\n granularity: $granularity\n timeSpan: $timeSpan\n ) {\n sentiments {\n sentiment {\n longPercent\n shortPercent\n }\n time\n }\n }\n }\n': types.GetSentimentsDocument
12
13
  };
13
14
  function graphql(source) {
14
15
  var _source;
@@ -1 +1 @@
1
- {"version":3,"file":"gql.js","names":["types","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","documents","GetOrderPositionBooksDocument","GetPriceCandlesDocument","graphql","source","_source"],"sources":["../../../../src/gql/types/gql.ts"],"sourcesContent":["/* eslint-disable */\nimport * as types from './graphql';\nimport { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';\n\n/**\n * Map of all GraphQL operations in the project.\n *\n * This map has several performance disadvantages:\n * 1. It is not tree-shakeable, so it will include all operations in the project.\n * 2. It is not minifiable, so the string of a GraphQL query will be multiple times inside the bundle.\n * 3. It does not support dead code elimination, so it will add unused operations.\n *\n * Therefore it is highly recommended to use the babel or swc plugin for production.\n */\nconst documents = {\n '\\n query GetOrderPositionBooks(\\n $instrument: String!\\n $bookType: BookType!\\n $timeSpan: TimeSpan!\\n $granularity: Granularity!\\n $maxBookPrice: Float\\n $minBookPrice: Float\\n ) {\\n orderPositionBooks(\\n instrument: $instrument\\n bookType: $bookType\\n timeSpan: $timeSpan\\n granularity: $granularity\\n maxBookPrice: $maxBookPrice\\n minBookPrice: $minBookPrice\\n ) {\\n bucketWidth\\n price\\n time\\n buckets {\\n price\\n sentiment\\n }\\n }\\n }\\n':\n types.GetOrderPositionBooksDocument,\n '\\n query GetPriceCandles(\\n $dataSource: DataSource!\\n $division: Division!\\n $instrument: String!\\n $granularity: Granularity!\\n $timeSpan: TimeSpan!\\n ) {\\n priceCandles(\\n dataSource: $dataSource\\n division: $division\\n instrument: $instrument\\n granularity: $granularity\\n timeSpan: $timeSpan\\n ) {\\n candle {\\n point\\n high\\n low\\n open\\n close\\n }\\n }\\n }\\n':\n types.GetPriceCandlesDocument,\n};\n\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n *\n *\n * @example\n * ```ts\n * const query = graphql(`query GetUser($id: ID!) { user(id: $id) { name } }`);\n * ```\n *\n * The query argument is unknown!\n * Please regenerate the types.\n */\nexport function graphql(source: string): unknown;\n\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(\n source: '\\n query GetOrderPositionBooks(\\n $instrument: String!\\n $bookType: BookType!\\n $timeSpan: TimeSpan!\\n $granularity: Granularity!\\n $maxBookPrice: Float\\n $minBookPrice: Float\\n ) {\\n orderPositionBooks(\\n instrument: $instrument\\n bookType: $bookType\\n timeSpan: $timeSpan\\n granularity: $granularity\\n maxBookPrice: $maxBookPrice\\n minBookPrice: $minBookPrice\\n ) {\\n bucketWidth\\n price\\n time\\n buckets {\\n price\\n sentiment\\n }\\n }\\n }\\n'\n): (typeof documents)['\\n query GetOrderPositionBooks(\\n $instrument: String!\\n $bookType: BookType!\\n $timeSpan: TimeSpan!\\n $granularity: Granularity!\\n $maxBookPrice: Float\\n $minBookPrice: Float\\n ) {\\n orderPositionBooks(\\n instrument: $instrument\\n bookType: $bookType\\n timeSpan: $timeSpan\\n granularity: $granularity\\n maxBookPrice: $maxBookPrice\\n minBookPrice: $minBookPrice\\n ) {\\n bucketWidth\\n price\\n time\\n buckets {\\n price\\n sentiment\\n }\\n }\\n }\\n'];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(\n source: '\\n query GetPriceCandles(\\n $dataSource: DataSource!\\n $division: Division!\\n $instrument: String!\\n $granularity: Granularity!\\n $timeSpan: TimeSpan!\\n ) {\\n priceCandles(\\n dataSource: $dataSource\\n division: $division\\n instrument: $instrument\\n granularity: $granularity\\n timeSpan: $timeSpan\\n ) {\\n candle {\\n point\\n high\\n low\\n open\\n close\\n }\\n }\\n }\\n'\n): (typeof documents)['\\n query GetPriceCandles(\\n $dataSource: DataSource!\\n $division: Division!\\n $instrument: String!\\n $granularity: Granularity!\\n $timeSpan: TimeSpan!\\n ) {\\n priceCandles(\\n dataSource: $dataSource\\n division: $division\\n instrument: $instrument\\n granularity: $granularity\\n timeSpan: $timeSpan\\n ) {\\n candle {\\n point\\n high\\n low\\n open\\n close\\n }\\n }\\n }\\n'];\n\nexport function graphql(source: string) {\n return (documents as any)[source] ?? {};\n}\n\nexport type DocumentType<TDocumentNode extends DocumentNode<any, any>> =\n TDocumentNode extends DocumentNode<infer TType, any> ? TType : never;\n"],"mappings":";;;;;;AACA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAmC,SAAAD,wBAAAE,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAJ,uBAAA,YAAAA,CAAAE,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAanC,MAAMkB,SAAS,GAAG;EAChB,+hBAA+hB,EAC7hBtB,KAAK,CAACuB,6BAA6B;EACrC,8cAA8c,EAC5cvB,KAAK,CAACwB;AACV,CAAC;AA6BM,SAASC,OAAOA,CAACC,MAAc,EAAE;EAAA,IAAAC,OAAA;EACtC,QAAAA,OAAA,GAAQL,SAAS,CAASI,MAAM,CAAC,cAAAC,OAAA,cAAAA,OAAA,GAAI,CAAC,CAAC;AACzC","ignoreList":[]}
1
+ {"version":3,"file":"gql.js","names":["types","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","documents","GetOrderPositionBooksDocument","GetPriceCandlesDocument","GetSentimentsDocument","graphql","source","_source"],"sources":["../../../../src/gql/types/gql.ts"],"sourcesContent":["/* eslint-disable */\nimport * as types from './graphql';\nimport { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';\n\n/**\n * Map of all GraphQL operations in the project.\n *\n * This map has several performance disadvantages:\n * 1. It is not tree-shakeable, so it will include all operations in the project.\n * 2. It is not minifiable, so the string of a GraphQL query will be multiple times inside the bundle.\n * 3. It does not support dead code elimination, so it will add unused operations.\n *\n * Therefore it is highly recommended to use the babel or swc plugin for production.\n */\nconst documents = {\n '\\n query GetOrderPositionBooks(\\n $instrument: String!\\n $bookType: BookType!\\n $timeSpan: TimeSpan!\\n $granularity: Granularity!\\n $maxBookPrice: Float\\n $minBookPrice: Float\\n ) {\\n orderPositionBooks(\\n instrument: $instrument\\n bookType: $bookType\\n timeSpan: $timeSpan\\n granularity: $granularity\\n maxBookPrice: $maxBookPrice\\n minBookPrice: $minBookPrice\\n ) {\\n bucketWidth\\n price\\n time\\n buckets {\\n price\\n sentiment\\n }\\n }\\n }\\n':\n types.GetOrderPositionBooksDocument,\n '\\n query GetPriceCandles(\\n $dataSource: DataSource!\\n $division: Division!\\n $instrument: String!\\n $granularity: Granularity!\\n $timeSpan: TimeSpan!\\n ) {\\n priceCandles(\\n dataSource: $dataSource\\n division: $division\\n instrument: $instrument\\n granularity: $granularity\\n timeSpan: $timeSpan\\n ) {\\n candle {\\n point\\n high\\n low\\n open\\n close\\n }\\n }\\n }\\n':\n types.GetPriceCandlesDocument,\n '\\n query GetSentiments(\\n $instrument: String!\\n $granularity: Granularity!\\n $timeSpan: TimeSpan!\\n ) {\\n sentiments(\\n instrument: $instrument\\n granularity: $granularity\\n timeSpan: $timeSpan\\n ) {\\n sentiments {\\n sentiment {\\n longPercent\\n shortPercent\\n }\\n time\\n }\\n }\\n }\\n':\n types.GetSentimentsDocument,\n};\n\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n *\n *\n * @example\n * ```ts\n * const query = graphql(`query GetUser($id: ID!) { user(id: $id) { name } }`);\n * ```\n *\n * The query argument is unknown!\n * Please regenerate the types.\n */\nexport function graphql(source: string): unknown;\n\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(\n source: '\\n query GetOrderPositionBooks(\\n $instrument: String!\\n $bookType: BookType!\\n $timeSpan: TimeSpan!\\n $granularity: Granularity!\\n $maxBookPrice: Float\\n $minBookPrice: Float\\n ) {\\n orderPositionBooks(\\n instrument: $instrument\\n bookType: $bookType\\n timeSpan: $timeSpan\\n granularity: $granularity\\n maxBookPrice: $maxBookPrice\\n minBookPrice: $minBookPrice\\n ) {\\n bucketWidth\\n price\\n time\\n buckets {\\n price\\n sentiment\\n }\\n }\\n }\\n'\n): (typeof documents)['\\n query GetOrderPositionBooks(\\n $instrument: String!\\n $bookType: BookType!\\n $timeSpan: TimeSpan!\\n $granularity: Granularity!\\n $maxBookPrice: Float\\n $minBookPrice: Float\\n ) {\\n orderPositionBooks(\\n instrument: $instrument\\n bookType: $bookType\\n timeSpan: $timeSpan\\n granularity: $granularity\\n maxBookPrice: $maxBookPrice\\n minBookPrice: $minBookPrice\\n ) {\\n bucketWidth\\n price\\n time\\n buckets {\\n price\\n sentiment\\n }\\n }\\n }\\n'];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(\n source: '\\n query GetPriceCandles(\\n $dataSource: DataSource!\\n $division: Division!\\n $instrument: String!\\n $granularity: Granularity!\\n $timeSpan: TimeSpan!\\n ) {\\n priceCandles(\\n dataSource: $dataSource\\n division: $division\\n instrument: $instrument\\n granularity: $granularity\\n timeSpan: $timeSpan\\n ) {\\n candle {\\n point\\n high\\n low\\n open\\n close\\n }\\n }\\n }\\n'\n): (typeof documents)['\\n query GetPriceCandles(\\n $dataSource: DataSource!\\n $division: Division!\\n $instrument: String!\\n $granularity: Granularity!\\n $timeSpan: TimeSpan!\\n ) {\\n priceCandles(\\n dataSource: $dataSource\\n division: $division\\n instrument: $instrument\\n granularity: $granularity\\n timeSpan: $timeSpan\\n ) {\\n candle {\\n point\\n high\\n low\\n open\\n close\\n }\\n }\\n }\\n'];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(\n source: '\\n query GetSentiments(\\n $instrument: String!\\n $granularity: Granularity!\\n $timeSpan: TimeSpan!\\n ) {\\n sentiments(\\n instrument: $instrument\\n granularity: $granularity\\n timeSpan: $timeSpan\\n ) {\\n sentiments {\\n sentiment {\\n longPercent\\n shortPercent\\n }\\n time\\n }\\n }\\n }\\n'\n): (typeof documents)['\\n query GetSentiments(\\n $instrument: String!\\n $granularity: Granularity!\\n $timeSpan: TimeSpan!\\n ) {\\n sentiments(\\n instrument: $instrument\\n granularity: $granularity\\n timeSpan: $timeSpan\\n ) {\\n sentiments {\\n sentiment {\\n longPercent\\n shortPercent\\n }\\n time\\n }\\n }\\n }\\n'];\n\nexport function graphql(source: string) {\n return (documents as any)[source] ?? {};\n}\n\nexport type DocumentType<TDocumentNode extends DocumentNode<any, any>> =\n TDocumentNode extends DocumentNode<infer TType, any> ? TType : never;\n"],"mappings":";;;;;;AACA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAmC,SAAAD,wBAAAE,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAJ,uBAAA,YAAAA,CAAAE,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAanC,MAAMkB,SAAS,GAAG;EAChB,+hBAA+hB,EAC7hBtB,KAAK,CAACuB,6BAA6B;EACrC,8cAA8c,EAC5cvB,KAAK,CAACwB,uBAAuB;EAC/B,kXAAkX,EAChXxB,KAAK,CAACyB;AACV,CAAC;AAmCM,SAASC,OAAOA,CAACC,MAAc,EAAE;EAAA,IAAAC,OAAA;EACtC,QAAAA,OAAA,GAAQN,SAAS,CAASK,MAAM,CAAC,cAAAC,OAAA,cAAAA,OAAA,GAAI,CAAC,CAAC;AACzC","ignoreList":[]}