@oanda/labs-widget-common 1.0.244 → 1.0.245

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 (182) hide show
  1. package/CHANGELOG.md +968 -0
  2. package/dist/main/chart/BaseChart.js +6 -9
  3. package/dist/main/chart/BaseChart.js.map +1 -1
  4. package/dist/main/chart/formatters.js +4 -4
  5. package/dist/main/chart/formatters.js.map +1 -1
  6. package/dist/main/chart/getGridLines.js +14 -12
  7. package/dist/main/chart/getGridLines.js.map +1 -1
  8. package/dist/main/components/Button/Button.js +4 -7
  9. package/dist/main/components/Button/Button.js.map +1 -1
  10. package/dist/main/components/Card/rows/PriceCardRow.js +1 -1
  11. package/dist/main/components/Card/rows/PriceCardRow.js.map +1 -1
  12. package/dist/main/components/Input/NumberInput.js +10 -13
  13. package/dist/main/components/Input/NumberInput.js.map +1 -1
  14. package/dist/main/components/InstrumentRate/InstrumentRate.js +3 -4
  15. package/dist/main/components/InstrumentRate/InstrumentRate.js.map +1 -1
  16. package/dist/main/components/InstrumentRate/InstrumentRateWithChart.js +1 -1
  17. package/dist/main/components/InstrumentRate/InstrumentRateWithChart.js.map +1 -1
  18. package/dist/main/components/InstrumentRate/utils.js +1 -1
  19. package/dist/main/components/InstrumentRate/utils.js.map +1 -1
  20. package/dist/main/components/Label/Label.js +3 -6
  21. package/dist/main/components/Label/Label.js.map +1 -1
  22. package/dist/main/components/LastUpdated/LastUpdated.js +1 -1
  23. package/dist/main/components/LastUpdated/LastUpdated.js.map +1 -1
  24. package/dist/main/components/LineChart/LineChart.js +2 -2
  25. package/dist/main/components/LineChart/LineChart.js.map +1 -1
  26. package/dist/main/components/LineChart/utils.js +2 -2
  27. package/dist/main/components/LineChart/utils.js.map +1 -1
  28. package/dist/main/components/Pagination/Pagination.js +2 -2
  29. package/dist/main/components/Pagination/Pagination.js.map +1 -1
  30. package/dist/main/components/Select/Select.js +2 -2
  31. package/dist/main/components/Select/Select.js.map +1 -1
  32. package/dist/main/components/Sentiment/Sentiment.js +7 -7
  33. package/dist/main/components/Sentiment/Sentiment.js.map +1 -1
  34. package/dist/main/components/Sentiment/SentimentError.js +1 -1
  35. package/dist/main/components/Sentiment/SentimentError.js.map +1 -1
  36. package/dist/main/components/Sentiment/SentimentLoader.js +1 -1
  37. package/dist/main/components/Sentiment/SentimentLoader.js.map +1 -1
  38. package/dist/main/components/Sentiment/utils.js +3 -3
  39. package/dist/main/components/Sentiment/utils.js.map +1 -1
  40. package/dist/main/components/Switch/Switch.js +3 -3
  41. package/dist/main/components/Switch/Switch.js.map +1 -1
  42. package/dist/main/components/Table/TableCell.js +1 -1
  43. package/dist/main/components/Table/TableCell.js.map +1 -1
  44. package/dist/main/components/Table/TableHeader.js +1 -1
  45. package/dist/main/components/Table/TableHeader.js.map +1 -1
  46. package/dist/main/components/TableWidget/CardRecordRow.js +1 -2
  47. package/dist/main/components/TableWidget/CardRecordRow.js.map +1 -1
  48. package/dist/main/components/TableWidget/CardRenderer.js +3 -6
  49. package/dist/main/components/TableWidget/CardRenderer.js.map +1 -1
  50. package/dist/main/components/TableWidget/Cards.js +1 -1
  51. package/dist/main/components/TableWidget/Cards.js.map +1 -1
  52. package/dist/main/components/TableWidget/ColumnRenderer.js +4 -7
  53. package/dist/main/components/TableWidget/ColumnRenderer.js.map +1 -1
  54. package/dist/main/components/TableWidget/TableWidget.js +1 -1
  55. package/dist/main/components/TableWidget/TableWidget.js.map +1 -1
  56. package/dist/main/components/Tabs/Tabs.js +1 -1
  57. package/dist/main/components/Tabs/Tabs.js.map +1 -1
  58. package/dist/main/components/TextInput/TextInput.js +2 -3
  59. package/dist/main/components/TextInput/TextInput.js.map +1 -1
  60. package/dist/main/components/Truncate/Truncate.js +1 -1
  61. package/dist/main/components/Truncate/Truncate.js.map +1 -1
  62. package/dist/main/components/WidgetWrapper/WidgetWrapper.js +2 -2
  63. package/dist/main/components/WidgetWrapper/WidgetWrapper.js.map +1 -1
  64. package/dist/main/hooks/useLiveRatesMessage.js +7 -7
  65. package/dist/main/hooks/useLiveRatesMessage.js.map +1 -1
  66. package/dist/main/hooks/useLiveRatesQuery.js +3 -5
  67. package/dist/main/hooks/useLiveRatesQuery.js.map +1 -1
  68. package/dist/main/hooks/useRecords.js +5 -5
  69. package/dist/main/hooks/useRecords.js.map +1 -1
  70. package/dist/main/hooks/useVisibleLiveDataRecord.js +10 -10
  71. package/dist/main/hooks/useVisibleLiveDataRecord.js.map +1 -1
  72. package/dist/main/providers/LiveRates/LiveRatesProvider.js +20 -24
  73. package/dist/main/providers/LiveRates/LiveRatesProvider.js.map +1 -1
  74. package/dist/main/providers/Widget/WidgetProvider.js +4 -6
  75. package/dist/main/providers/Widget/WidgetProvider.js.map +1 -1
  76. package/dist/main/tailwind/preset.js +3 -7
  77. package/dist/main/tailwind/preset.js.map +1 -1
  78. package/dist/main/tailwind/themes/themeColors.js +5 -7
  79. package/dist/main/tailwind/themes/themeColors.js.map +1 -1
  80. package/dist/main/tailwind/utils.js +3 -7
  81. package/dist/main/tailwind/utils.js.map +1 -1
  82. package/dist/main/testUtils/index.js +2 -2
  83. package/dist/main/testUtils/index.js.map +1 -1
  84. package/dist/main/utils/dateUtils.js +3 -3
  85. package/dist/main/utils/dateUtils.js.map +1 -1
  86. package/dist/main/utils/getLocale.js +1 -1
  87. package/dist/main/utils/getLocale.js.map +1 -1
  88. package/dist/main/utils/liveRates/buildUrl.js +9 -11
  89. package/dist/main/utils/liveRates/buildUrl.js.map +1 -1
  90. package/dist/main/utils/liveRates/calculatePriceChangeFromOpen.js +1 -1
  91. package/dist/main/utils/liveRates/calculatePriceChangeFromOpen.js.map +1 -1
  92. package/dist/module/chart/BaseChart.js +6 -9
  93. package/dist/module/chart/BaseChart.js.map +1 -1
  94. package/dist/module/chart/formatters.js +4 -4
  95. package/dist/module/chart/formatters.js.map +1 -1
  96. package/dist/module/chart/getGridLines.js +14 -12
  97. package/dist/module/chart/getGridLines.js.map +1 -1
  98. package/dist/module/components/Button/Button.js +4 -7
  99. package/dist/module/components/Button/Button.js.map +1 -1
  100. package/dist/module/components/Card/rows/PriceCardRow.js +1 -1
  101. package/dist/module/components/Card/rows/PriceCardRow.js.map +1 -1
  102. package/dist/module/components/Input/NumberInput.js +10 -13
  103. package/dist/module/components/Input/NumberInput.js.map +1 -1
  104. package/dist/module/components/InstrumentRate/InstrumentRate.js +3 -4
  105. package/dist/module/components/InstrumentRate/InstrumentRate.js.map +1 -1
  106. package/dist/module/components/InstrumentRate/InstrumentRateWithChart.js +1 -1
  107. package/dist/module/components/InstrumentRate/InstrumentRateWithChart.js.map +1 -1
  108. package/dist/module/components/InstrumentRate/utils.js +1 -1
  109. package/dist/module/components/InstrumentRate/utils.js.map +1 -1
  110. package/dist/module/components/Label/Label.js +3 -6
  111. package/dist/module/components/Label/Label.js.map +1 -1
  112. package/dist/module/components/LastUpdated/LastUpdated.js +1 -1
  113. package/dist/module/components/LastUpdated/LastUpdated.js.map +1 -1
  114. package/dist/module/components/LineChart/LineChart.js +2 -2
  115. package/dist/module/components/LineChart/LineChart.js.map +1 -1
  116. package/dist/module/components/LineChart/utils.js +2 -2
  117. package/dist/module/components/LineChart/utils.js.map +1 -1
  118. package/dist/module/components/Pagination/Pagination.js +2 -2
  119. package/dist/module/components/Pagination/Pagination.js.map +1 -1
  120. package/dist/module/components/Select/Select.js +2 -2
  121. package/dist/module/components/Select/Select.js.map +1 -1
  122. package/dist/module/components/Sentiment/Sentiment.js +7 -7
  123. package/dist/module/components/Sentiment/Sentiment.js.map +1 -1
  124. package/dist/module/components/Sentiment/SentimentError.js +1 -1
  125. package/dist/module/components/Sentiment/SentimentError.js.map +1 -1
  126. package/dist/module/components/Sentiment/SentimentLoader.js +1 -1
  127. package/dist/module/components/Sentiment/SentimentLoader.js.map +1 -1
  128. package/dist/module/components/Sentiment/utils.js +3 -3
  129. package/dist/module/components/Sentiment/utils.js.map +1 -1
  130. package/dist/module/components/Switch/Switch.js +3 -3
  131. package/dist/module/components/Switch/Switch.js.map +1 -1
  132. package/dist/module/components/Table/TableCell.js +1 -1
  133. package/dist/module/components/Table/TableCell.js.map +1 -1
  134. package/dist/module/components/Table/TableHeader.js +1 -1
  135. package/dist/module/components/Table/TableHeader.js.map +1 -1
  136. package/dist/module/components/TableWidget/CardRecordRow.js +1 -2
  137. package/dist/module/components/TableWidget/CardRecordRow.js.map +1 -1
  138. package/dist/module/components/TableWidget/CardRenderer.js +3 -6
  139. package/dist/module/components/TableWidget/CardRenderer.js.map +1 -1
  140. package/dist/module/components/TableWidget/Cards.js +1 -1
  141. package/dist/module/components/TableWidget/Cards.js.map +1 -1
  142. package/dist/module/components/TableWidget/ColumnRenderer.js +4 -7
  143. package/dist/module/components/TableWidget/ColumnRenderer.js.map +1 -1
  144. package/dist/module/components/TableWidget/TableWidget.js +1 -1
  145. package/dist/module/components/TableWidget/TableWidget.js.map +1 -1
  146. package/dist/module/components/Tabs/Tabs.js +1 -1
  147. package/dist/module/components/Tabs/Tabs.js.map +1 -1
  148. package/dist/module/components/TextInput/TextInput.js +2 -3
  149. package/dist/module/components/TextInput/TextInput.js.map +1 -1
  150. package/dist/module/components/Truncate/Truncate.js +1 -1
  151. package/dist/module/components/Truncate/Truncate.js.map +1 -1
  152. package/dist/module/components/WidgetWrapper/WidgetWrapper.js +2 -2
  153. package/dist/module/components/WidgetWrapper/WidgetWrapper.js.map +1 -1
  154. package/dist/module/hooks/useLiveRatesMessage.js +7 -7
  155. package/dist/module/hooks/useLiveRatesMessage.js.map +1 -1
  156. package/dist/module/hooks/useLiveRatesQuery.js +3 -5
  157. package/dist/module/hooks/useLiveRatesQuery.js.map +1 -1
  158. package/dist/module/hooks/useRecords.js +5 -5
  159. package/dist/module/hooks/useRecords.js.map +1 -1
  160. package/dist/module/hooks/useVisibleLiveDataRecord.js +10 -10
  161. package/dist/module/hooks/useVisibleLiveDataRecord.js.map +1 -1
  162. package/dist/module/providers/LiveRates/LiveRatesProvider.js +20 -24
  163. package/dist/module/providers/LiveRates/LiveRatesProvider.js.map +1 -1
  164. package/dist/module/providers/Widget/WidgetProvider.js +4 -6
  165. package/dist/module/providers/Widget/WidgetProvider.js.map +1 -1
  166. package/dist/module/tailwind/preset.js +3 -7
  167. package/dist/module/tailwind/preset.js.map +1 -1
  168. package/dist/module/tailwind/themes/themeColors.js +5 -7
  169. package/dist/module/tailwind/themes/themeColors.js.map +1 -1
  170. package/dist/module/tailwind/utils.js +3 -7
  171. package/dist/module/tailwind/utils.js.map +1 -1
  172. package/dist/module/testUtils/index.js +2 -2
  173. package/dist/module/testUtils/index.js.map +1 -1
  174. package/dist/module/utils/dateUtils.js +3 -3
  175. package/dist/module/utils/dateUtils.js.map +1 -1
  176. package/dist/module/utils/getLocale.js +1 -1
  177. package/dist/module/utils/getLocale.js.map +1 -1
  178. package/dist/module/utils/liveRates/buildUrl.js +9 -11
  179. package/dist/module/utils/liveRates/buildUrl.js.map +1 -1
  180. package/dist/module/utils/liveRates/calculatePriceChangeFromOpen.js +1 -1
  181. package/dist/module/utils/liveRates/calculatePriceChangeFromOpen.js.map +1 -1
  182. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"Cards.js","names":["_labsWidgetCommon","require","_react","_interopRequireDefault","e","__esModule","default","Cards","_ref","records","isError","emptyCardsCount","renderCard","startIndex","recordsOrEmptyRecords","length","Array","fill","createElement","Card","className","ChartError","Fragment","map","record","index","key","concat","idx","isLast","exports"],"sources":["../../../../src/components/TableWidget/Cards.tsx"],"sourcesContent":["import { Card, ChartError } from '@oanda/labs-widget-common';\nimport React from 'react';\n\nimport type { DataRecord, EmptyRecord } from '../../types';\n\ninterface CardsProps {\n records: DataRecord[];\n isError?: boolean;\n emptyCardsCount?: number;\n startIndex?: number;\n renderCard: ({\n record,\n idx,\n isLast,\n }: {\n record: DataRecord | EmptyRecord;\n idx: number;\n isLast: boolean;\n }) => React.ReactNode;\n}\n\nexport const Cards = ({\n records,\n isError,\n emptyCardsCount,\n renderCard,\n startIndex = 0,\n}: CardsProps) => {\n const recordsOrEmptyRecords: DataRecord[] | EmptyRecord[] =\n records.length > 0 ? records : new Array(emptyCardsCount).fill({});\n\n if (isError) {\n return (\n <Card>\n <div className=\"lw-flex lw-h-[150px] lw-w-full lw-items-center lw-justify-center\">\n <ChartError />\n </div>\n </Card>\n );\n }\n\n return (\n <>\n {recordsOrEmptyRecords.map((record, index) => (\n <div key={`card_${startIndex + index}`}>\n {renderCard({\n record,\n idx: startIndex + index + 1,\n isLast: index + 1 === recordsOrEmptyRecords.length,\n })}\n </div>\n ))}\n </>\n );\n};\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAA0B,SAAAE,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAoBnB,MAAMG,KAAK,GAAGC,IAAA,IAMH;EAAA,IANI;IACpBC,OAAO;IACPC,OAAO;IACPC,eAAe;IACfC,UAAU;IACVC,UAAU,GAAG;EACH,CAAC,GAAAL,IAAA;EACX,MAAMM,qBAAmD,GACvDL,OAAO,CAACM,MAAM,GAAG,CAAC,GAAGN,OAAO,GAAG,IAAIO,KAAK,CAACL,eAAe,CAAC,CAACM,IAAI,CAAC,CAAC,CAAC,CAAC;EAEpE,IAAIP,OAAO,EAAE;IACX,OACER,MAAA,CAAAI,OAAA,CAAAY,aAAA,CAAClB,iBAAA,CAAAmB,IAAI,QACHjB,MAAA,CAAAI,OAAA,CAAAY,aAAA;MAAKE,SAAS,EAAC;IAAkE,GAC/ElB,MAAA,CAAAI,OAAA,CAAAY,aAAA,CAAClB,iBAAA,CAAAqB,UAAU,MAAE,CACV,CACD,CAAC;EAEX;EAEA,OACEnB,MAAA,CAAAI,OAAA,CAAAY,aAAA,CAAAhB,MAAA,CAAAI,OAAA,CAAAgB,QAAA,QACGR,qBAAqB,CAACS,GAAG,CAAC,CAACC,MAAM,EAAEC,KAAK,KACvCvB,MAAA,CAAAI,OAAA,CAAAY,aAAA;IAAKQ,GAAG,UAAAC,MAAA,CAAUd,UAAU,GAAGY,KAAK;EAAG,GACpCb,UAAU,CAAC;IACVY,MAAM;IACNI,GAAG,EAAEf,UAAU,GAAGY,KAAK,GAAG,CAAC;IAC3BI,MAAM,EAAEJ,KAAK,GAAG,CAAC,KAAKX,qBAAqB,CAACC;EAC9C,CAAC,CACE,CACN,CACD,CAAC;AAEP,CAAC;AAACe,OAAA,CAAAvB,KAAA,GAAAA,KAAA","ignoreList":[]}
1
+ {"version":3,"file":"Cards.js","names":["_labsWidgetCommon","require","_react","_interopRequireDefault","e","__esModule","default","Cards","_ref","records","isError","emptyCardsCount","renderCard","startIndex","recordsOrEmptyRecords","length","Array","fill","createElement","Card","className","ChartError","Fragment","map","record","index","key","idx","isLast","exports"],"sources":["../../../../src/components/TableWidget/Cards.tsx"],"sourcesContent":["import { Card, ChartError } from '@oanda/labs-widget-common';\nimport React from 'react';\n\nimport type { DataRecord, EmptyRecord } from '../../types';\n\ninterface CardsProps {\n records: DataRecord[];\n isError?: boolean;\n emptyCardsCount?: number;\n startIndex?: number;\n renderCard: ({\n record,\n idx,\n isLast,\n }: {\n record: DataRecord | EmptyRecord;\n idx: number;\n isLast: boolean;\n }) => React.ReactNode;\n}\n\nexport const Cards = ({\n records,\n isError,\n emptyCardsCount,\n renderCard,\n startIndex = 0,\n}: CardsProps) => {\n const recordsOrEmptyRecords: DataRecord[] | EmptyRecord[] =\n records.length > 0 ? records : new Array(emptyCardsCount).fill({});\n\n if (isError) {\n return (\n <Card>\n <div className=\"lw-flex lw-h-[150px] lw-w-full lw-items-center lw-justify-center\">\n <ChartError />\n </div>\n </Card>\n );\n }\n\n return (\n <>\n {recordsOrEmptyRecords.map((record, index) => (\n <div key={`card_${startIndex + index}`}>\n {renderCard({\n record,\n idx: startIndex + index + 1,\n isLast: index + 1 === recordsOrEmptyRecords.length,\n })}\n </div>\n ))}\n </>\n );\n};\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAA0B,SAAAE,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAoBnB,MAAMG,KAAK,GAAGC,IAAA,IAMH;EAAA,IANI;IACpBC,OAAO;IACPC,OAAO;IACPC,eAAe;IACfC,UAAU;IACVC,UAAU,GAAG;EACH,CAAC,GAAAL,IAAA;EACX,MAAMM,qBAAmD,GACvDL,OAAO,CAACM,MAAM,GAAG,CAAC,GAAGN,OAAO,GAAG,IAAIO,KAAK,CAACL,eAAe,CAAC,CAACM,IAAI,CAAC,CAAC,CAAC,CAAC;EAEpE,IAAIP,OAAO,EAAE;IACX,OACER,MAAA,CAAAI,OAAA,CAAAY,aAAA,CAAClB,iBAAA,CAAAmB,IAAI,QACHjB,MAAA,CAAAI,OAAA,CAAAY,aAAA;MAAKE,SAAS,EAAC;IAAkE,GAC/ElB,MAAA,CAAAI,OAAA,CAAAY,aAAA,CAAClB,iBAAA,CAAAqB,UAAU,MAAE,CACV,CACD,CAAC;EAEX;EAEA,OACEnB,MAAA,CAAAI,OAAA,CAAAY,aAAA,CAAAhB,MAAA,CAAAI,OAAA,CAAAgB,QAAA,QACGR,qBAAqB,CAACS,GAAG,CAAC,CAACC,MAAM,EAAEC,KAAK,KACvCvB,MAAA,CAAAI,OAAA,CAAAY,aAAA;IAAKQ,GAAG,EAAE,QAAQb,UAAU,GAAGY,KAAK;EAAG,GACpCb,UAAU,CAAC;IACVY,MAAM;IACNG,GAAG,EAAEd,UAAU,GAAGY,KAAK,GAAG,CAAC;IAC3BG,MAAM,EAAEH,KAAK,GAAG,CAAC,KAAKX,qBAAqB,CAACC;EAC9C,CAAC,CACE,CACN,CACD,CAAC;AAEP,CAAC;AAACc,OAAA,CAAAtB,KAAA,GAAAA,KAAA","ignoreList":[]}
@@ -41,7 +41,7 @@ const ColumnRenderer = _ref => {
41
41
  isLoading: isLoading
42
42
  }),
43
43
  [_types.DataRecordType.CHART]: () => _react.default.createElement(_Table.ChartColumn, {
44
- chart: chart !== null && chart !== void 0 ? chart : [],
44
+ chart: chart ?? [],
45
45
  isLoading: !!isChartLoading,
46
46
  percentChange: record.dailyPercentChange
47
47
  }),
@@ -87,12 +87,9 @@ const ColumnRenderer = _ref => {
87
87
  loaderSize: _Loader.LoaderSize.sm
88
88
  }, _react.default.createElement("span", null, record.dataSource))
89
89
  };
90
- return activeColumns.map(item => {
91
- var _allColumns$item, _allColumns$item2;
92
- return _react.default.createElement(_react.default.Fragment, {
93
- key: item
94
- }, (_allColumns$item = (_allColumns$item2 = allColumns[item]) === null || _allColumns$item2 === void 0 ? void 0 : _allColumns$item2.call(allColumns)) !== null && _allColumns$item !== void 0 ? _allColumns$item : null);
95
- });
90
+ return activeColumns.map(item => _react.default.createElement(_react.default.Fragment, {
91
+ key: item
92
+ }, allColumns[item]?.() ?? null));
96
93
  };
97
94
  exports.ColumnRenderer = ColumnRenderer;
98
95
  //# sourceMappingURL=ColumnRenderer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnRenderer.js","names":["_react","_interopRequireDefault","require","_types","_Loader","_Table","e","__esModule","default","ColumnRenderer","_ref","record","isLoading","isChartLoading","isError","activeColumns","chart","allColumns","DataRecordType","SELL","createElement","PriceColumn","column","displayPrecision","price","sell","priceMovement","sellPriceMovement","BUY","buy","buyPriceMovement","DAILY_CHANGE","DailyChangeColumn","dailyPercentChange","CHART","ChartColumn","percentChange","SPREAD","SpreadColumn","value","spread","SENTIMENT","SentimentColumn","sentiment","HIGH","TableCell","key","high","undefined","loaderSize","LoaderSize","sm","LOW","low","SYMBOL","md","type","instrument","TRADE_MODE","additionalPaddingRight","tradeMode","DATA_SOURCE","dataSource","map","item","_allColumns$item","_allColumns$item2","Fragment","call","exports"],"sources":["../../../../src/components/TableWidget/ColumnRenderer.tsx"],"sourcesContent":["import React from 'react';\n\nimport { type DataRecord, DataRecordType } from '../../types';\nimport { LoaderSize } from '../Loader';\nimport {\n ChartColumn,\n DailyChangeColumn,\n PriceColumn,\n SentimentColumn,\n SpreadColumn,\n TableCell,\n} from '../Table';\n\ninterface ColumnRendererProps {\n record: DataRecord;\n chart?: number[];\n isLoading: boolean;\n isChartLoading?: boolean;\n isError: boolean;\n activeColumns: DataRecordType[];\n}\n\nexport const ColumnRenderer = ({\n record,\n isLoading,\n isChartLoading,\n isError,\n activeColumns,\n chart,\n}: ColumnRendererProps) => {\n const allColumns: Partial<Record<DataRecordType, () => JSX.Element>> = {\n [DataRecordType.SELL]: () => (\n <PriceColumn\n column={DataRecordType.SELL}\n displayPrecision={record.displayPrecision}\n isError={isError}\n isLoading={isLoading}\n price={record.sell}\n priceMovement={record.sellPriceMovement}\n />\n ),\n [DataRecordType.BUY]: () => (\n <PriceColumn\n column={DataRecordType.BUY}\n displayPrecision={record.displayPrecision}\n isError={isError}\n isLoading={isLoading}\n price={record.buy}\n priceMovement={record.buyPriceMovement}\n />\n ),\n [DataRecordType.DAILY_CHANGE]: () => (\n <DailyChangeColumn\n dailyPercentChange={record.dailyPercentChange}\n isError={isError}\n isLoading={isLoading}\n />\n ),\n [DataRecordType.CHART]: () => (\n <ChartColumn\n chart={chart ?? []}\n isLoading={!!isChartLoading}\n percentChange={record.dailyPercentChange}\n />\n ),\n [DataRecordType.SPREAD]: () => (\n <SpreadColumn\n isError={isError}\n isLoading={isLoading}\n value={record.spread}\n />\n ),\n [DataRecordType.SENTIMENT]: () => (\n <SentimentColumn isLoading={isLoading} sentiment={record.sentiment} />\n ),\n [DataRecordType.HIGH]: () => (\n <TableCell\n key={DataRecordType.SPREAD}\n isError={isError}\n isLoading={isLoading || (record.high === undefined && !isError)}\n loaderSize={LoaderSize.sm}\n >\n <span>{record.high}</span>\n </TableCell>\n ),\n [DataRecordType.LOW]: () => (\n <TableCell\n key={DataRecordType.LOW}\n isError={isError}\n isLoading={isLoading || (record.low === undefined && !isError)}\n loaderSize={LoaderSize.sm}\n >\n <span>{record.low}</span>\n </TableCell>\n ),\n [DataRecordType.SYMBOL]: () => (\n <TableCell\n key={DataRecordType.SYMBOL}\n isError={isError}\n isLoading={isLoading}\n loaderSize={LoaderSize.md}\n type=\"textCentered\"\n >\n <span>{record.instrument}</span>\n </TableCell>\n ),\n [DataRecordType.TRADE_MODE]: () => (\n <TableCell\n key={DataRecordType.TRADE_MODE}\n additionalPaddingRight={true}\n isError={isError}\n isLoading={isLoading}\n loaderSize={LoaderSize.sm}\n >\n <span>{record.tradeMode}</span>\n </TableCell>\n ),\n [DataRecordType.DATA_SOURCE]: () => (\n <TableCell\n key={DataRecordType.TRADE_MODE}\n isError={!record.dataSource}\n isLoading={isLoading}\n loaderSize={LoaderSize.sm}\n >\n <span>{record.dataSource}</span>\n </TableCell>\n ),\n };\n\n return activeColumns.map((item) => (\n <React.Fragment key={item}>{allColumns[item]?.() ?? null}</React.Fragment>\n ));\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ColumnRenderer.js","names":["_react","_interopRequireDefault","require","_types","_Loader","_Table","e","__esModule","default","ColumnRenderer","_ref","record","isLoading","isChartLoading","isError","activeColumns","chart","allColumns","DataRecordType","SELL","createElement","PriceColumn","column","displayPrecision","price","sell","priceMovement","sellPriceMovement","BUY","buy","buyPriceMovement","DAILY_CHANGE","DailyChangeColumn","dailyPercentChange","CHART","ChartColumn","percentChange","SPREAD","SpreadColumn","value","spread","SENTIMENT","SentimentColumn","sentiment","HIGH","TableCell","key","high","undefined","loaderSize","LoaderSize","sm","LOW","low","SYMBOL","md","type","instrument","TRADE_MODE","additionalPaddingRight","tradeMode","DATA_SOURCE","dataSource","map","item","Fragment","exports"],"sources":["../../../../src/components/TableWidget/ColumnRenderer.tsx"],"sourcesContent":["import React from 'react';\n\nimport { type DataRecord, DataRecordType } from '../../types';\nimport { LoaderSize } from '../Loader';\nimport {\n ChartColumn,\n DailyChangeColumn,\n PriceColumn,\n SentimentColumn,\n SpreadColumn,\n TableCell,\n} from '../Table';\n\ninterface ColumnRendererProps {\n record: DataRecord;\n chart?: number[];\n isLoading: boolean;\n isChartLoading?: boolean;\n isError: boolean;\n activeColumns: DataRecordType[];\n}\n\nexport const ColumnRenderer = ({\n record,\n isLoading,\n isChartLoading,\n isError,\n activeColumns,\n chart,\n}: ColumnRendererProps) => {\n const allColumns: Partial<Record<DataRecordType, () => JSX.Element>> = {\n [DataRecordType.SELL]: () => (\n <PriceColumn\n column={DataRecordType.SELL}\n displayPrecision={record.displayPrecision}\n isError={isError}\n isLoading={isLoading}\n price={record.sell}\n priceMovement={record.sellPriceMovement}\n />\n ),\n [DataRecordType.BUY]: () => (\n <PriceColumn\n column={DataRecordType.BUY}\n displayPrecision={record.displayPrecision}\n isError={isError}\n isLoading={isLoading}\n price={record.buy}\n priceMovement={record.buyPriceMovement}\n />\n ),\n [DataRecordType.DAILY_CHANGE]: () => (\n <DailyChangeColumn\n dailyPercentChange={record.dailyPercentChange}\n isError={isError}\n isLoading={isLoading}\n />\n ),\n [DataRecordType.CHART]: () => (\n <ChartColumn\n chart={chart ?? []}\n isLoading={!!isChartLoading}\n percentChange={record.dailyPercentChange}\n />\n ),\n [DataRecordType.SPREAD]: () => (\n <SpreadColumn\n isError={isError}\n isLoading={isLoading}\n value={record.spread}\n />\n ),\n [DataRecordType.SENTIMENT]: () => (\n <SentimentColumn isLoading={isLoading} sentiment={record.sentiment} />\n ),\n [DataRecordType.HIGH]: () => (\n <TableCell\n key={DataRecordType.SPREAD}\n isError={isError}\n isLoading={isLoading || (record.high === undefined && !isError)}\n loaderSize={LoaderSize.sm}\n >\n <span>{record.high}</span>\n </TableCell>\n ),\n [DataRecordType.LOW]: () => (\n <TableCell\n key={DataRecordType.LOW}\n isError={isError}\n isLoading={isLoading || (record.low === undefined && !isError)}\n loaderSize={LoaderSize.sm}\n >\n <span>{record.low}</span>\n </TableCell>\n ),\n [DataRecordType.SYMBOL]: () => (\n <TableCell\n key={DataRecordType.SYMBOL}\n isError={isError}\n isLoading={isLoading}\n loaderSize={LoaderSize.md}\n type=\"textCentered\"\n >\n <span>{record.instrument}</span>\n </TableCell>\n ),\n [DataRecordType.TRADE_MODE]: () => (\n <TableCell\n key={DataRecordType.TRADE_MODE}\n additionalPaddingRight={true}\n isError={isError}\n isLoading={isLoading}\n loaderSize={LoaderSize.sm}\n >\n <span>{record.tradeMode}</span>\n </TableCell>\n ),\n [DataRecordType.DATA_SOURCE]: () => (\n <TableCell\n key={DataRecordType.TRADE_MODE}\n isError={!record.dataSource}\n isLoading={isLoading}\n loaderSize={LoaderSize.sm}\n >\n <span>{record.dataSource}</span>\n </TableCell>\n ),\n };\n\n return activeColumns.map((item) => (\n <React.Fragment key={item}>{allColumns[item]?.() ?? null}</React.Fragment>\n ));\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAOkB,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAWX,MAAMG,cAAc,GAAGC,IAAA,IAOH;EAAA,IAPI;IAC7BC,MAAM;IACNC,SAAS;IACTC,cAAc;IACdC,OAAO;IACPC,aAAa;IACbC;EACmB,CAAC,GAAAN,IAAA;EACpB,MAAMO,UAA8D,GAAG;IACrE,CAACC,qBAAc,CAACC,IAAI,GAAG,MACrBnB,MAAA,CAAAQ,OAAA,CAAAY,aAAA,CAACf,MAAA,CAAAgB,WAAW;MACVC,MAAM,EAAEJ,qBAAc,CAACC,IAAK;MAC5BI,gBAAgB,EAAEZ,MAAM,CAACY,gBAAiB;MAC1CT,OAAO,EAAEA,OAAQ;MACjBF,SAAS,EAAEA,SAAU;MACrBY,KAAK,EAAEb,MAAM,CAACc,IAAK;MACnBC,aAAa,EAAEf,MAAM,CAACgB;IAAkB,CACzC,CACF;IACD,CAACT,qBAAc,CAACU,GAAG,GAAG,MACpB5B,MAAA,CAAAQ,OAAA,CAAAY,aAAA,CAACf,MAAA,CAAAgB,WAAW;MACVC,MAAM,EAAEJ,qBAAc,CAACU,GAAI;MAC3BL,gBAAgB,EAAEZ,MAAM,CAACY,gBAAiB;MAC1CT,OAAO,EAAEA,OAAQ;MACjBF,SAAS,EAAEA,SAAU;MACrBY,KAAK,EAAEb,MAAM,CAACkB,GAAI;MAClBH,aAAa,EAAEf,MAAM,CAACmB;IAAiB,CACxC,CACF;IACD,CAACZ,qBAAc,CAACa,YAAY,GAAG,MAC7B/B,MAAA,CAAAQ,OAAA,CAAAY,aAAA,CAACf,MAAA,CAAA2B,iBAAiB;MAChBC,kBAAkB,EAAEtB,MAAM,CAACsB,kBAAmB;MAC9CnB,OAAO,EAAEA,OAAQ;MACjBF,SAAS,EAAEA;IAAU,CACtB,CACF;IACD,CAACM,qBAAc,CAACgB,KAAK,GAAG,MACtBlC,MAAA,CAAAQ,OAAA,CAAAY,aAAA,CAACf,MAAA,CAAA8B,WAAW;MACVnB,KAAK,EAAEA,KAAK,IAAI,EAAG;MACnBJ,SAAS,EAAE,CAAC,CAACC,cAAe;MAC5BuB,aAAa,EAAEzB,MAAM,CAACsB;IAAmB,CAC1C,CACF;IACD,CAACf,qBAAc,CAACmB,MAAM,GAAG,MACvBrC,MAAA,CAAAQ,OAAA,CAAAY,aAAA,CAACf,MAAA,CAAAiC,YAAY;MACXxB,OAAO,EAAEA,OAAQ;MACjBF,SAAS,EAAEA,SAAU;MACrB2B,KAAK,EAAE5B,MAAM,CAAC6B;IAAO,CACtB,CACF;IACD,CAACtB,qBAAc,CAACuB,SAAS,GAAG,MAC1BzC,MAAA,CAAAQ,OAAA,CAAAY,aAAA,CAACf,MAAA,CAAAqC,eAAe;MAAC9B,SAAS,EAAEA,SAAU;MAAC+B,SAAS,EAAEhC,MAAM,CAACgC;IAAU,CAAE,CACtE;IACD,CAACzB,qBAAc,CAAC0B,IAAI,GAAG,MACrB5C,MAAA,CAAAQ,OAAA,CAAAY,aAAA,CAACf,MAAA,CAAAwC,SAAS;MACRC,GAAG,EAAE5B,qBAAc,CAACmB,MAAO;MAC3BvB,OAAO,EAAEA,OAAQ;MACjBF,SAAS,EAAEA,SAAS,IAAKD,MAAM,CAACoC,IAAI,KAAKC,SAAS,IAAI,CAAClC,OAAS;MAChEmC,UAAU,EAAEC,kBAAU,CAACC;IAAG,GAE1BnD,MAAA,CAAAQ,OAAA,CAAAY,aAAA,eAAOT,MAAM,CAACoC,IAAW,CAChB,CACZ;IACD,CAAC7B,qBAAc,CAACkC,GAAG,GAAG,MACpBpD,MAAA,CAAAQ,OAAA,CAAAY,aAAA,CAACf,MAAA,CAAAwC,SAAS;MACRC,GAAG,EAAE5B,qBAAc,CAACkC,GAAI;MACxBtC,OAAO,EAAEA,OAAQ;MACjBF,SAAS,EAAEA,SAAS,IAAKD,MAAM,CAAC0C,GAAG,KAAKL,SAAS,IAAI,CAAClC,OAAS;MAC/DmC,UAAU,EAAEC,kBAAU,CAACC;IAAG,GAE1BnD,MAAA,CAAAQ,OAAA,CAAAY,aAAA,eAAOT,MAAM,CAAC0C,GAAU,CACf,CACZ;IACD,CAACnC,qBAAc,CAACoC,MAAM,GAAG,MACvBtD,MAAA,CAAAQ,OAAA,CAAAY,aAAA,CAACf,MAAA,CAAAwC,SAAS;MACRC,GAAG,EAAE5B,qBAAc,CAACoC,MAAO;MAC3BxC,OAAO,EAAEA,OAAQ;MACjBF,SAAS,EAAEA,SAAU;MACrBqC,UAAU,EAAEC,kBAAU,CAACK,EAAG;MAC1BC,IAAI,EAAC;IAAc,GAEnBxD,MAAA,CAAAQ,OAAA,CAAAY,aAAA,eAAOT,MAAM,CAAC8C,UAAiB,CACtB,CACZ;IACD,CAACvC,qBAAc,CAACwC,UAAU,GAAG,MAC3B1D,MAAA,CAAAQ,OAAA,CAAAY,aAAA,CAACf,MAAA,CAAAwC,SAAS;MACRC,GAAG,EAAE5B,qBAAc,CAACwC,UAAW;MAC/BC,sBAAsB,EAAE,IAAK;MAC7B7C,OAAO,EAAEA,OAAQ;MACjBF,SAAS,EAAEA,SAAU;MACrBqC,UAAU,EAAEC,kBAAU,CAACC;IAAG,GAE1BnD,MAAA,CAAAQ,OAAA,CAAAY,aAAA,eAAOT,MAAM,CAACiD,SAAgB,CACrB,CACZ;IACD,CAAC1C,qBAAc,CAAC2C,WAAW,GAAG,MAC5B7D,MAAA,CAAAQ,OAAA,CAAAY,aAAA,CAACf,MAAA,CAAAwC,SAAS;MACRC,GAAG,EAAE5B,qBAAc,CAACwC,UAAW;MAC/B5C,OAAO,EAAE,CAACH,MAAM,CAACmD,UAAW;MAC5BlD,SAAS,EAAEA,SAAU;MACrBqC,UAAU,EAAEC,kBAAU,CAACC;IAAG,GAE1BnD,MAAA,CAAAQ,OAAA,CAAAY,aAAA,eAAOT,MAAM,CAACmD,UAAiB,CACtB;EAEf,CAAC;EAED,OAAO/C,aAAa,CAACgD,GAAG,CAAEC,IAAI,IAC5BhE,MAAA,CAAAQ,OAAA,CAAAY,aAAA,CAACpB,MAAA,CAAAQ,OAAK,CAACyD,QAAQ;IAACnB,GAAG,EAAEkB;EAAK,GAAE/C,UAAU,CAAC+C,IAAI,CAAC,GAAG,CAAC,IAAI,IAAqB,CAC1E,CAAC;AACJ,CAAC;AAACE,OAAA,CAAAzD,cAAA,GAAAA,cAAA","ignoreList":[]}
@@ -56,7 +56,7 @@ const TableWidget = _ref => {
56
56
  isError: hasError,
57
57
  records: records,
58
58
  renderRow: (record, index, isScrolled) => _react.default.createElement(_DataRecordRow.DataRecordRow, {
59
- key: "row_".concat(index),
59
+ key: `row_${index}`,
60
60
  activeColumns: activeColumns,
61
61
  hasBackgroundColor: index % 2 === 0,
62
62
  instrumentColumnWidth: instrumentColumnWidth,
@@ -1 +1 @@
1
- {"version":3,"file":"TableWidget.js","names":["_monoI18n","require","_react","_interopRequireDefault","_providers","_tailwind","_types","_LastUpdated","_Table","_Tooltip","_CardRecordRow","_Cards","_DataRecordRow","e","__esModule","default","TableWidget","_ref","testId","toolTipId","PaginationComponent","hasError","TabsComponent","headerColumns","records","target","isLoading","isChartLoading","activeColumns","timestamp","pageNumber","count","viewType","instrumentColumnWidth","lang","useLocale","size","useLayoutProvider","isDesktop","Size","DESKTOP","isTable","createElement","className","Table","headerConfig","isError","renderRow","record","index","isScrolled","DataRecordRow","key","concat","hasBackgroundColor","Cards","renderCard","_ref2","idx","isLast","CardRecordRow","tooltipId","startIndex","cn","Tooltip","id","LastUpdated","labelCallback","exports"],"sources":["../../../../src/components/TableWidget/TableWidget.tsx"],"sourcesContent":["import { useLocale } from '@oanda/mono-i18n';\nimport type { ReactElement } from 'react';\nimport React from 'react';\n\nimport { useLayoutProvider } from '../../providers';\nimport { cn } from '../../tailwind';\nimport type { DataRecord, DataRecordType } from '../../types';\nimport { Size } from '../../types';\nimport { LastUpdated } from '../LastUpdated';\nimport type { Pagination, PaginationProps } from '../Pagination';\nimport type { HeaderColumns } from '../Table';\nimport { Table } from '../Table';\nimport type { Tabs } from '../Tabs';\nimport type { TabsProps } from '../Tabs/types';\nimport { Tooltip } from '../Tooltip';\nimport { CardRecordRow } from './CardRecordRow';\nimport { Cards } from './Cards';\nimport { DataRecordRow } from './DataRecordRow';\n\ninterface TableWidgetProps<TTabs> {\n testId: string;\n toolTipId: string;\n hasError?: boolean;\n TabsComponent?: ReactElement<TabsProps<TTabs>, typeof Tabs<TTabs>>;\n PaginationComponent?: ReactElement<PaginationProps, typeof Pagination>;\n headerColumns: HeaderColumns[];\n records: DataRecord[];\n target: EventTarget | null;\n isLoading: boolean;\n isChartLoading?: boolean;\n activeColumns: DataRecordType[];\n timestamp?: string;\n pageNumber: number;\n count: number;\n viewType?: 'table' | 'cards';\n instrumentColumnWidth?: string;\n}\n\nexport const TableWidget = <TTabs,>({\n testId,\n toolTipId,\n PaginationComponent,\n hasError,\n TabsComponent,\n headerColumns,\n records,\n target,\n isLoading,\n isChartLoading,\n activeColumns,\n timestamp,\n pageNumber,\n count,\n viewType,\n instrumentColumnWidth,\n}: TableWidgetProps<TTabs>) => {\n const { lang } = useLocale();\n const { size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n const isTable = viewType ? viewType === 'table' : isDesktop;\n\n if (!size) {\n return null;\n }\n\n return (\n <div\n className=\"lw-relative lw-text-sm lw-tracking-normal lw-text-text-primary\"\n data-testid={testId}\n >\n {TabsComponent}\n\n {isTable ? (\n <div className=\"lw-border lw-border-solid lw-border-border-primary\">\n <Table<DataRecord>\n headerConfig={headerColumns}\n isError={hasError}\n records={records}\n renderRow={(record, index, isScrolled) => (\n <DataRecordRow\n key={`row_${index}`}\n activeColumns={activeColumns}\n hasBackgroundColor={index % 2 === 0}\n instrumentColumnWidth={instrumentColumnWidth}\n isChartLoading={isChartLoading}\n isLoading={isLoading}\n isScrolled={isScrolled}\n record={record}\n target={target}\n toolTipId={toolTipId}\n />\n )}\n />\n </div>\n ) : (\n <Cards\n isError={hasError}\n records={records}\n renderCard={({ record, idx, isLast }) => (\n <CardRecordRow\n activeColumns={activeColumns}\n index={idx}\n isChartLoading={isChartLoading}\n isLast={isLast}\n isLoading={isLoading}\n record={record}\n target={target}\n tooltipId={toolTipId}\n />\n )}\n startIndex={pageNumber * count}\n />\n )}\n\n {PaginationComponent && !hasError && (\n <div\n className={cn('lw-border-solid lw-border-border-primary', {\n 'lw-border-x lw-border-b': isDesktop,\n })}\n >\n {PaginationComponent}\n </div>\n )}\n\n <Tooltip id={toolTipId} />\n\n {!hasError && timestamp && (\n <div className=\"lw-mt-2 lw-h-8\">\n <LastUpdated labelCallback={lang} timestamp={timestamp} />\n </div>\n )}\n </div>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"TableWidget.js","names":["_monoI18n","require","_react","_interopRequireDefault","_providers","_tailwind","_types","_LastUpdated","_Table","_Tooltip","_CardRecordRow","_Cards","_DataRecordRow","e","__esModule","default","TableWidget","_ref","testId","toolTipId","PaginationComponent","hasError","TabsComponent","headerColumns","records","target","isLoading","isChartLoading","activeColumns","timestamp","pageNumber","count","viewType","instrumentColumnWidth","lang","useLocale","size","useLayoutProvider","isDesktop","Size","DESKTOP","isTable","createElement","className","Table","headerConfig","isError","renderRow","record","index","isScrolled","DataRecordRow","key","hasBackgroundColor","Cards","renderCard","_ref2","idx","isLast","CardRecordRow","tooltipId","startIndex","cn","Tooltip","id","LastUpdated","labelCallback","exports"],"sources":["../../../../src/components/TableWidget/TableWidget.tsx"],"sourcesContent":["import { useLocale } from '@oanda/mono-i18n';\nimport type { ReactElement } from 'react';\nimport React from 'react';\n\nimport { useLayoutProvider } from '../../providers';\nimport { cn } from '../../tailwind';\nimport type { DataRecord, DataRecordType } from '../../types';\nimport { Size } from '../../types';\nimport { LastUpdated } from '../LastUpdated';\nimport type { Pagination, PaginationProps } from '../Pagination';\nimport type { HeaderColumns } from '../Table';\nimport { Table } from '../Table';\nimport type { Tabs } from '../Tabs';\nimport type { TabsProps } from '../Tabs/types';\nimport { Tooltip } from '../Tooltip';\nimport { CardRecordRow } from './CardRecordRow';\nimport { Cards } from './Cards';\nimport { DataRecordRow } from './DataRecordRow';\n\ninterface TableWidgetProps<TTabs> {\n testId: string;\n toolTipId: string;\n hasError?: boolean;\n TabsComponent?: ReactElement<TabsProps<TTabs>, typeof Tabs<TTabs>>;\n PaginationComponent?: ReactElement<PaginationProps, typeof Pagination>;\n headerColumns: HeaderColumns[];\n records: DataRecord[];\n target: EventTarget | null;\n isLoading: boolean;\n isChartLoading?: boolean;\n activeColumns: DataRecordType[];\n timestamp?: string;\n pageNumber: number;\n count: number;\n viewType?: 'table' | 'cards';\n instrumentColumnWidth?: string;\n}\n\nexport const TableWidget = <TTabs,>({\n testId,\n toolTipId,\n PaginationComponent,\n hasError,\n TabsComponent,\n headerColumns,\n records,\n target,\n isLoading,\n isChartLoading,\n activeColumns,\n timestamp,\n pageNumber,\n count,\n viewType,\n instrumentColumnWidth,\n}: TableWidgetProps<TTabs>) => {\n const { lang } = useLocale();\n const { size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n const isTable = viewType ? viewType === 'table' : isDesktop;\n\n if (!size) {\n return null;\n }\n\n return (\n <div\n className=\"lw-relative lw-text-sm lw-tracking-normal lw-text-text-primary\"\n data-testid={testId}\n >\n {TabsComponent}\n\n {isTable ? (\n <div className=\"lw-border lw-border-solid lw-border-border-primary\">\n <Table<DataRecord>\n headerConfig={headerColumns}\n isError={hasError}\n records={records}\n renderRow={(record, index, isScrolled) => (\n <DataRecordRow\n key={`row_${index}`}\n activeColumns={activeColumns}\n hasBackgroundColor={index % 2 === 0}\n instrumentColumnWidth={instrumentColumnWidth}\n isChartLoading={isChartLoading}\n isLoading={isLoading}\n isScrolled={isScrolled}\n record={record}\n target={target}\n toolTipId={toolTipId}\n />\n )}\n />\n </div>\n ) : (\n <Cards\n isError={hasError}\n records={records}\n renderCard={({ record, idx, isLast }) => (\n <CardRecordRow\n activeColumns={activeColumns}\n index={idx}\n isChartLoading={isChartLoading}\n isLast={isLast}\n isLoading={isLoading}\n record={record}\n target={target}\n tooltipId={toolTipId}\n />\n )}\n startIndex={pageNumber * count}\n />\n )}\n\n {PaginationComponent && !hasError && (\n <div\n className={cn('lw-border-solid lw-border-border-primary', {\n 'lw-border-x lw-border-b': isDesktop,\n })}\n >\n {PaginationComponent}\n </div>\n )}\n\n <Tooltip id={toolTipId} />\n\n {!hasError && timestamp && (\n <div className=\"lw-mt-2 lw-h-8\">\n <LastUpdated labelCallback={lang} timestamp={timestamp} />\n </div>\n )}\n </div>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -24,7 +24,7 @@ function Tabs(_ref) {
24
24
  label
25
25
  } = _ref2;
26
26
  return _react.default.createElement(_Tab.Tab, {
27
- key: "".concat(id, "-item"),
27
+ key: `${id}-item`,
28
28
  handleClick: handleClick,
29
29
  id: id,
30
30
  isActive: id === activeTab,
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.js","names":["_react","_interopRequireDefault","require","_Tab","e","__esModule","default","Tabs","_ref","items","activeTab","labelCallback","handleClick","mobileFullWidth","createElement","className","map","_ref2","id","label","Tab","key","concat","isActive"],"sources":["../../../../src/components/Tabs/Tabs.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Tab } from './Tab';\nimport type { TabsProps } from './types';\n\nfunction Tabs<T>({\n items,\n activeTab,\n labelCallback,\n handleClick,\n mobileFullWidth,\n}: TabsProps<T>) {\n return (\n <ul\n className=\"lw-mx-0 lw-mb-8 lw-flex lw-flex-wrap lw-justify-center lw-gap-4 lw-px-px\"\n data-testid=\"tabs\"\n >\n {items.map(({ id, label }) => (\n <Tab\n key={`${id}-item`}\n handleClick={handleClick}\n id={id}\n isActive={id === activeTab}\n label={labelCallback ? labelCallback(label) : label}\n mobileFullWidth={mobileFullWidth}\n />\n ))}\n </ul>\n );\n}\n\nexport { Tabs };\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,IAAA,GAAAD,OAAA;AAA4B,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAG5B,SAASG,IAAIA,CAAAC,IAAA,EAMI;EAAA,IANA;IACfC,KAAK;IACLC,SAAS;IACTC,aAAa;IACbC,WAAW;IACXC;EACY,CAAC,GAAAL,IAAA;EACb,OACER,MAAA,CAAAM,OAAA,CAAAQ,aAAA;IACEC,SAAS,EAAC,0EAA0E;IACpF,eAAY;EAAM,GAEjBN,KAAK,CAACO,GAAG,CAACC,KAAA;IAAA,IAAC;MAAEC,EAAE;MAAEC;IAAM,CAAC,GAAAF,KAAA;IAAA,OACvBjB,MAAA,CAAAM,OAAA,CAAAQ,aAAA,CAACX,IAAA,CAAAiB,GAAG;MACFC,GAAG,KAAAC,MAAA,CAAKJ,EAAE,UAAQ;MAClBN,WAAW,EAAEA,WAAY;MACzBM,EAAE,EAAEA,EAAG;MACPK,QAAQ,EAAEL,EAAE,KAAKR,SAAU;MAC3BS,KAAK,EAAER,aAAa,GAAGA,aAAa,CAACQ,KAAK,CAAC,GAAGA,KAAM;MACpDN,eAAe,EAAEA;IAAgB,CAClC,CAAC;EAAA,CACH,CACC,CAAC;AAET","ignoreList":[]}
1
+ {"version":3,"file":"Tabs.js","names":["_react","_interopRequireDefault","require","_Tab","e","__esModule","default","Tabs","_ref","items","activeTab","labelCallback","handleClick","mobileFullWidth","createElement","className","map","_ref2","id","label","Tab","key","isActive"],"sources":["../../../../src/components/Tabs/Tabs.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Tab } from './Tab';\nimport type { TabsProps } from './types';\n\nfunction Tabs<T>({\n items,\n activeTab,\n labelCallback,\n handleClick,\n mobileFullWidth,\n}: TabsProps<T>) {\n return (\n <ul\n className=\"lw-mx-0 lw-mb-8 lw-flex lw-flex-wrap lw-justify-center lw-gap-4 lw-px-px\"\n data-testid=\"tabs\"\n >\n {items.map(({ id, label }) => (\n <Tab\n key={`${id}-item`}\n handleClick={handleClick}\n id={id}\n isActive={id === activeTab}\n label={labelCallback ? labelCallback(label) : label}\n mobileFullWidth={mobileFullWidth}\n />\n ))}\n </ul>\n );\n}\n\nexport { Tabs };\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,IAAA,GAAAD,OAAA;AAA4B,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAG5B,SAASG,IAAIA,CAAAC,IAAA,EAMI;EAAA,IANA;IACfC,KAAK;IACLC,SAAS;IACTC,aAAa;IACbC,WAAW;IACXC;EACY,CAAC,GAAAL,IAAA;EACb,OACER,MAAA,CAAAM,OAAA,CAAAQ,aAAA;IACEC,SAAS,EAAC,0EAA0E;IACpF,eAAY;EAAM,GAEjBN,KAAK,CAACO,GAAG,CAACC,KAAA;IAAA,IAAC;MAAEC,EAAE;MAAEC;IAAM,CAAC,GAAAF,KAAA;IAAA,OACvBjB,MAAA,CAAAM,OAAA,CAAAQ,aAAA,CAACX,IAAA,CAAAiB,GAAG;MACFC,GAAG,EAAE,GAAGH,EAAE,OAAQ;MAClBN,WAAW,EAAEA,WAAY;MACzBM,EAAE,EAAEA,EAAG;MACPI,QAAQ,EAAEJ,EAAE,KAAKR,SAAU;MAC3BS,KAAK,EAAER,aAAa,GAAGA,aAAa,CAACQ,KAAK,CAAC,GAAGA,KAAM;MACpDN,eAAe,EAAEA;IAAgB,CAClC,CAAC;EAAA,CACH,CACC,CAAC;AAET","ignoreList":[]}
@@ -16,15 +16,14 @@ const TextInput = _ref => {
16
16
  } = _ref;
17
17
  const inputRef = (0, _react.useRef)(null);
18
18
  const handleReset = () => {
19
- var _inputRef$current;
20
- (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.focus();
19
+ inputRef.current?.focus();
21
20
  onChange('');
22
21
  };
23
22
  return _react.default.createElement("div", {
24
23
  className: "lw-text-text-primary"
25
24
  }, label && _react.default.createElement("div", null, _react.default.createElement("span", {
26
25
  className: "lw-text-base lw-font-bold"
27
- }, "".concat(label, ":"))), _react.default.createElement("div", null), _react.default.createElement("div", {
26
+ }, `${label}:`)), _react.default.createElement("div", null), _react.default.createElement("div", {
28
27
  className: "lw-relative"
29
28
  }, _react.default.createElement("input", {
30
29
  ref: inputRef,
@@ -1 +1 @@
1
- {"version":3,"file":"TextInput.js","names":["_react","_interopRequireWildcard","require","_images","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TextInput","_ref","value","onChange","placeholder","label","inputRef","useRef","handleReset","_inputRef$current","current","focus","createElement","className","concat","ref","type","target","length","onClick","CloseIcon","exports"],"sources":["../../../../src/components/TextInput/TextInput.tsx"],"sourcesContent":["import React, { useRef } from 'react';\n\nimport { CloseIcon } from '../../images';\n\ninterface TextInputProps {\n value: string;\n onChange: (val: string) => void;\n placeholder?: string;\n label?: string;\n}\n\nconst TextInput: React.FC<TextInputProps> = ({\n value,\n onChange,\n placeholder = '',\n label,\n}) => {\n const inputRef = useRef<HTMLInputElement>(null);\n\n const handleReset = () => {\n inputRef.current?.focus();\n onChange('');\n };\n return (\n <div className=\"lw-text-text-primary\">\n {label && (\n <div>\n <span className=\"lw-text-base lw-font-bold\">{`${label}:`}</span>\n </div>\n )}\n <div />\n <div className=\"lw-relative\">\n <input\n ref={inputRef}\n className=\"lw-flex lw-h-[50px] lw-w-full lw-items-center lw-justify-between lw-rounded lw-border lw-bg-transparent lw-stroke-text-primary lw-py-2 lw-pl-3 lw-pr-8 focus:lw-outline-primary\"\n data-testid=\"text-input\"\n placeholder={placeholder}\n type=\"text\"\n value={value}\n onChange={(e) => onChange(e.target.value)}\n />\n {value.length > 0 && (\n <button\n className=\"lw-absolute lw-right-1 lw-top-1 lw-h-[42px] lw-cursor-pointer lw-rounded focus:lw-outline-primary [&>svg]:lw-stroke-text-primary\"\n data-testid=\"text-input-clear-button\"\n onClick={handleReset}\n >\n <CloseIcon />\n </button>\n )}\n </div>\n </div>\n );\n};\n\nexport { TextInput };\nexport type { TextInputProps };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"TextInput.js","names":["_react","_interopRequireWildcard","require","_images","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TextInput","_ref","value","onChange","placeholder","label","inputRef","useRef","handleReset","current","focus","createElement","className","ref","type","target","length","onClick","CloseIcon","exports"],"sources":["../../../../src/components/TextInput/TextInput.tsx"],"sourcesContent":["import React, { useRef } from 'react';\n\nimport { CloseIcon } from '../../images';\n\ninterface TextInputProps {\n value: string;\n onChange: (val: string) => void;\n placeholder?: string;\n label?: string;\n}\n\nconst TextInput: React.FC<TextInputProps> = ({\n value,\n onChange,\n placeholder = '',\n label,\n}) => {\n const inputRef = useRef<HTMLInputElement>(null);\n\n const handleReset = () => {\n inputRef.current?.focus();\n onChange('');\n };\n return (\n <div className=\"lw-text-text-primary\">\n {label && (\n <div>\n <span className=\"lw-text-base lw-font-bold\">{`${label}:`}</span>\n </div>\n )}\n <div />\n <div className=\"lw-relative\">\n <input\n ref={inputRef}\n className=\"lw-flex lw-h-[50px] lw-w-full lw-items-center lw-justify-between lw-rounded lw-border lw-bg-transparent lw-stroke-text-primary lw-py-2 lw-pl-3 lw-pr-8 focus:lw-outline-primary\"\n data-testid=\"text-input\"\n placeholder={placeholder}\n type=\"text\"\n value={value}\n onChange={(e) => onChange(e.target.value)}\n />\n {value.length > 0 && (\n <button\n className=\"lw-absolute lw-right-1 lw-top-1 lw-h-[42px] lw-cursor-pointer lw-rounded focus:lw-outline-primary [&>svg]:lw-stroke-text-primary\"\n data-testid=\"text-input-clear-button\"\n onClick={handleReset}\n >\n <CloseIcon />\n </button>\n )}\n </div>\n </div>\n );\n};\n\nexport { TextInput };\nexport type { TextInputProps };\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AAAyC,SAAAD,wBAAAG,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAL,uBAAA,YAAAA,CAAAG,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;AASzC,MAAMkB,SAAmC,GAAGC,IAAA,IAKtC;EAAA,IALuC;IAC3CC,KAAK;IACLC,QAAQ;IACRC,WAAW,GAAG,EAAE;IAChBC;EACF,CAAC,GAAAJ,IAAA;EACC,MAAMK,QAAQ,GAAG,IAAAC,aAAM,EAAmB,IAAI,CAAC;EAE/C,MAAMC,WAAW,GAAGA,CAAA,KAAM;IACxBF,QAAQ,CAACG,OAAO,EAAEC,KAAK,CAAC,CAAC;IACzBP,QAAQ,CAAC,EAAE,CAAC;EACd,CAAC;EACD,OACE1B,MAAA,CAAAc,OAAA,CAAAoB,aAAA;IAAKC,SAAS,EAAC;EAAsB,GAClCP,KAAK,IACJ5B,MAAA,CAAAc,OAAA,CAAAoB,aAAA,cACElC,MAAA,CAAAc,OAAA,CAAAoB,aAAA;IAAMC,SAAS,EAAC;EAA2B,GAAE,GAAGP,KAAK,GAAU,CAC5D,CACN,EACD5B,MAAA,CAAAc,OAAA,CAAAoB,aAAA,YAAM,CAAC,EACPlC,MAAA,CAAAc,OAAA,CAAAoB,aAAA;IAAKC,SAAS,EAAC;EAAa,GAC1BnC,MAAA,CAAAc,OAAA,CAAAoB,aAAA;IACEE,GAAG,EAAEP,QAAS;IACdM,SAAS,EAAC,iLAAiL;IAC3L,eAAY,YAAY;IACxBR,WAAW,EAAEA,WAAY;IACzBU,IAAI,EAAC,MAAM;IACXZ,KAAK,EAAEA,KAAM;IACbC,QAAQ,EAAGtB,CAAC,IAAKsB,QAAQ,CAACtB,CAAC,CAACkC,MAAM,CAACb,KAAK;EAAE,CAC3C,CAAC,EACDA,KAAK,CAACc,MAAM,GAAG,CAAC,IACfvC,MAAA,CAAAc,OAAA,CAAAoB,aAAA;IACEC,SAAS,EAAC,kIAAkI;IAC5I,eAAY,yBAAyB;IACrCK,OAAO,EAAET;EAAY,GAErB/B,MAAA,CAAAc,OAAA,CAAAoB,aAAA,CAAC/B,OAAA,CAAAsC,SAAS,MAAE,CACN,CAEP,CACF,CAAC;AAEV,CAAC;AAACC,OAAA,CAAAnB,SAAA,GAAAA,SAAA","ignoreList":[]}
@@ -35,7 +35,7 @@ const Truncate = exports.Truncate = (0, _react.memo)(_ref => {
35
35
  "data-tooltip-content": text,
36
36
  "data-tooltip-id": isTruncated ? tooltipId : undefined,
37
37
  style: {
38
- maxWidth: "".concat(maxWidth, "px")
38
+ maxWidth: `${maxWidth}px`
39
39
  }
40
40
  }, text);
41
41
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Truncate.js","names":["_classnames","_interopRequireDefault","require","_react","_interopRequireWildcard","_usehooksTs","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Truncate","exports","memo","_ref","maxWidth","text","tooltipId","className","isTruncated","setIsTruncated","useState","ref","useRef","onResize","useDebounceCallback","_ref2","width","useResizeObserver","createElement","classnames","undefined","style","concat","displayName"],"sources":["../../../../src/components/Truncate/Truncate.tsx"],"sourcesContent":["import classnames from 'classnames';\nimport React, { memo, useRef, useState } from 'react';\nimport { useDebounceCallback, useResizeObserver } from 'usehooks-ts';\n\nimport type { TruncateProps } from './types';\n\nconst Truncate = memo(\n ({ maxWidth = 150, text, tooltipId, className }: TruncateProps) => {\n const [isTruncated, setIsTruncated] = useState(false);\n const ref = useRef<HTMLAnchorElement>(null);\n\n const onResize = useDebounceCallback(({ width }) => {\n setIsTruncated(width >= maxWidth);\n }, 50);\n\n useResizeObserver({\n ref,\n onResize,\n });\n\n return (\n <span\n ref={ref}\n className={classnames('lw-block lw-w-max lw-truncate', className)}\n data-testid=\"truncate\"\n data-tooltip-content={text}\n data-tooltip-id={isTruncated ? tooltipId : undefined}\n style={{ maxWidth: `${maxWidth}px` }}\n >\n {text}\n </span>\n );\n }\n);\n\nTruncate.displayName = 'Truncate';\n\nexport { Truncate };\n"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,uBAAA,CAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAAqE,SAAAE,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;AAAA,SAAAN,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAK,UAAA,GAAAL,CAAA,KAAAU,OAAA,EAAAV,CAAA;AAIrE,MAAMmB,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAG,IAAAE,WAAI,EACnBC,IAAA,IAAmE;EAAA,IAAlE;IAAEC,QAAQ,GAAG,GAAG;IAAEC,IAAI;IAAEC,SAAS;IAAEC;EAAyB,CAAC,GAAAJ,IAAA;EAC5D,MAAM,CAACK,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EACrD,MAAMC,GAAG,GAAG,IAAAC,aAAM,EAAoB,IAAI,CAAC;EAE3C,MAAMC,QAAQ,GAAG,IAAAC,+BAAmB,EAACC,KAAA,IAAe;IAAA,IAAd;MAAEC;IAAM,CAAC,GAAAD,KAAA;IAC7CN,cAAc,CAACO,KAAK,IAAIZ,QAAQ,CAAC;EACnC,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAa,6BAAiB,EAAC;IAChBN,GAAG;IACHE;EACF,CAAC,CAAC;EAEF,OACEnC,MAAA,CAAAa,OAAA,CAAA2B,aAAA;IACEP,GAAG,EAAEA,GAAI;IACTJ,SAAS,EAAE,IAAAY,mBAAU,EAAC,+BAA+B,EAAEZ,SAAS,CAAE;IAClE,eAAY,UAAU;IACtB,wBAAsBF,IAAK;IAC3B,mBAAiBG,WAAW,GAAGF,SAAS,GAAGc,SAAU;IACrDC,KAAK,EAAE;MAAEjB,QAAQ,KAAAkB,MAAA,CAAKlB,QAAQ;IAAK;EAAE,GAEpCC,IACG,CAAC;AAEX,CACF,CAAC;AAEDL,QAAQ,CAACuB,WAAW,GAAG,UAAU","ignoreList":[]}
1
+ {"version":3,"file":"Truncate.js","names":["_classnames","_interopRequireDefault","require","_react","_interopRequireWildcard","_usehooksTs","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Truncate","exports","memo","_ref","maxWidth","text","tooltipId","className","isTruncated","setIsTruncated","useState","ref","useRef","onResize","useDebounceCallback","_ref2","width","useResizeObserver","createElement","classnames","undefined","style","displayName"],"sources":["../../../../src/components/Truncate/Truncate.tsx"],"sourcesContent":["import classnames from 'classnames';\nimport React, { memo, useRef, useState } from 'react';\nimport { useDebounceCallback, useResizeObserver } from 'usehooks-ts';\n\nimport type { TruncateProps } from './types';\n\nconst Truncate = memo(\n ({ maxWidth = 150, text, tooltipId, className }: TruncateProps) => {\n const [isTruncated, setIsTruncated] = useState(false);\n const ref = useRef<HTMLAnchorElement>(null);\n\n const onResize = useDebounceCallback(({ width }) => {\n setIsTruncated(width >= maxWidth);\n }, 50);\n\n useResizeObserver({\n ref,\n onResize,\n });\n\n return (\n <span\n ref={ref}\n className={classnames('lw-block lw-w-max lw-truncate', className)}\n data-testid=\"truncate\"\n data-tooltip-content={text}\n data-tooltip-id={isTruncated ? tooltipId : undefined}\n style={{ maxWidth: `${maxWidth}px` }}\n >\n {text}\n </span>\n );\n }\n);\n\nTruncate.displayName = 'Truncate';\n\nexport { Truncate };\n"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,uBAAA,CAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAAqE,SAAAE,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;AAAA,SAAAN,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAK,UAAA,GAAAL,CAAA,KAAAU,OAAA,EAAAV,CAAA;AAIrE,MAAMmB,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAG,IAAAE,WAAI,EACnBC,IAAA,IAAmE;EAAA,IAAlE;IAAEC,QAAQ,GAAG,GAAG;IAAEC,IAAI;IAAEC,SAAS;IAAEC;EAAyB,CAAC,GAAAJ,IAAA;EAC5D,MAAM,CAACK,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EACrD,MAAMC,GAAG,GAAG,IAAAC,aAAM,EAAoB,IAAI,CAAC;EAE3C,MAAMC,QAAQ,GAAG,IAAAC,+BAAmB,EAACC,KAAA,IAAe;IAAA,IAAd;MAAEC;IAAM,CAAC,GAAAD,KAAA;IAC7CN,cAAc,CAACO,KAAK,IAAIZ,QAAQ,CAAC;EACnC,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAa,6BAAiB,EAAC;IAChBN,GAAG;IACHE;EACF,CAAC,CAAC;EAEF,OACEnC,MAAA,CAAAa,OAAA,CAAA2B,aAAA;IACEP,GAAG,EAAEA,GAAI;IACTJ,SAAS,EAAE,IAAAY,mBAAU,EAAC,+BAA+B,EAAEZ,SAAS,CAAE;IAClE,eAAY,UAAU;IACtB,wBAAsBF,IAAK;IAC3B,mBAAiBG,WAAW,GAAGF,SAAS,GAAGc,SAAU;IACrDC,KAAK,EAAE;MAAEjB,QAAQ,EAAE,GAAGA,QAAQ;IAAK;EAAE,GAEpCC,IACG,CAAC;AAEX,CACF,CAAC;AAEDL,QAAQ,CAACsB,WAAW,GAAG,UAAU","ignoreList":[]}
@@ -22,11 +22,11 @@ const WidgetWrapper = _ref => {
22
22
  return _react.default.createElement(_Disclaimer.Disclaimer, {
23
23
  brandingSpace: brandingSpace,
24
24
  fitContent: fitContent,
25
- infoButtonPosition: disclaimer === null || disclaimer === void 0 ? void 0 : disclaimer.position,
25
+ infoButtonPosition: disclaimer?.position,
26
26
  isSlim: isSlim,
27
27
  linkArea: linkArea,
28
28
  logoLink: logoLink,
29
- text: disclaimer === null || disclaimer === void 0 ? void 0 : disclaimer.text
29
+ text: disclaimer?.text
30
30
  }, isParamError ? _react.default.createElement(_Error.WidgetError, null) : children);
31
31
  };
32
32
  exports.WidgetWrapper = WidgetWrapper;
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetWrapper.js","names":["_react","_interopRequireDefault","require","_Disclaimer","_Error","e","__esModule","default","WidgetWrapper","_ref","children","logoLink","linkArea","brandingSpace","fitContent","isParamError","disclaimer","isSlim","createElement","Disclaimer","infoButtonPosition","position","text","WidgetError","exports"],"sources":["../../../../src/components/WidgetWrapper/WidgetWrapper.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from 'react';\nimport React from 'react';\n\nimport type { WidgetLink, WidgetStyling } from '../../types';\nimport { Disclaimer } from '../Disclaimer';\nimport { WidgetError } from '../Error';\n\nexport type WidgetWrapperProps = PropsWithChildren &\n WidgetLink & {\n isParamError?: boolean | undefined;\n disclaimer?: {\n position?: 'left' | 'top';\n text?: string;\n };\n isSlim?: boolean;\n } & Pick<WidgetStyling, 'brandingSpace' | 'fitContent'>;\n\nexport const WidgetWrapper: FC<WidgetWrapperProps> = ({\n children,\n logoLink,\n linkArea,\n brandingSpace,\n fitContent,\n isParamError,\n disclaimer,\n isSlim,\n}) => (\n <Disclaimer\n brandingSpace={brandingSpace}\n fitContent={fitContent}\n infoButtonPosition={disclaimer?.position}\n isSlim={isSlim}\n linkArea={linkArea}\n logoLink={logoLink}\n text={disclaimer?.text}\n >\n {isParamError ? <WidgetError /> : children}\n </Disclaimer>\n);\n"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAAuC,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAYhC,MAAMG,aAAqC,GAAGC,IAAA;EAAA,IAAC;IACpDC,QAAQ;IACRC,QAAQ;IACRC,QAAQ;IACRC,aAAa;IACbC,UAAU;IACVC,YAAY;IACZC,UAAU;IACVC;EACF,CAAC,GAAAR,IAAA;EAAA,OACCT,MAAA,CAAAO,OAAA,CAAAW,aAAA,CAACf,WAAA,CAAAgB,UAAU;IACTN,aAAa,EAAEA,aAAc;IAC7BC,UAAU,EAAEA,UAAW;IACvBM,kBAAkB,EAAEJ,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEK,QAAS;IACzCJ,MAAM,EAAEA,MAAO;IACfL,QAAQ,EAAEA,QAAS;IACnBD,QAAQ,EAAEA,QAAS;IACnBW,IAAI,EAAEN,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEM;EAAK,GAEtBP,YAAY,GAAGf,MAAA,CAAAO,OAAA,CAAAW,aAAA,CAACd,MAAA,CAAAmB,WAAW,MAAE,CAAC,GAAGb,QACxB,CAAC;AAAA,CACd;AAACc,OAAA,CAAAhB,aAAA,GAAAA,aAAA","ignoreList":[]}
1
+ {"version":3,"file":"WidgetWrapper.js","names":["_react","_interopRequireDefault","require","_Disclaimer","_Error","e","__esModule","default","WidgetWrapper","_ref","children","logoLink","linkArea","brandingSpace","fitContent","isParamError","disclaimer","isSlim","createElement","Disclaimer","infoButtonPosition","position","text","WidgetError","exports"],"sources":["../../../../src/components/WidgetWrapper/WidgetWrapper.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from 'react';\nimport React from 'react';\n\nimport type { WidgetLink, WidgetStyling } from '../../types';\nimport { Disclaimer } from '../Disclaimer';\nimport { WidgetError } from '../Error';\n\nexport type WidgetWrapperProps = PropsWithChildren &\n WidgetLink & {\n isParamError?: boolean | undefined;\n disclaimer?: {\n position?: 'left' | 'top';\n text?: string;\n };\n isSlim?: boolean;\n } & Pick<WidgetStyling, 'brandingSpace' | 'fitContent'>;\n\nexport const WidgetWrapper: FC<WidgetWrapperProps> = ({\n children,\n logoLink,\n linkArea,\n brandingSpace,\n fitContent,\n isParamError,\n disclaimer,\n isSlim,\n}) => (\n <Disclaimer\n brandingSpace={brandingSpace}\n fitContent={fitContent}\n infoButtonPosition={disclaimer?.position}\n isSlim={isSlim}\n linkArea={linkArea}\n logoLink={logoLink}\n text={disclaimer?.text}\n >\n {isParamError ? <WidgetError /> : children}\n </Disclaimer>\n);\n"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAAuC,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAYhC,MAAMG,aAAqC,GAAGC,IAAA;EAAA,IAAC;IACpDC,QAAQ;IACRC,QAAQ;IACRC,QAAQ;IACRC,aAAa;IACbC,UAAU;IACVC,YAAY;IACZC,UAAU;IACVC;EACF,CAAC,GAAAR,IAAA;EAAA,OACCT,MAAA,CAAAO,OAAA,CAAAW,aAAA,CAACf,WAAA,CAAAgB,UAAU;IACTN,aAAa,EAAEA,aAAc;IAC7BC,UAAU,EAAEA,UAAW;IACvBM,kBAAkB,EAAEJ,UAAU,EAAEK,QAAS;IACzCJ,MAAM,EAAEA,MAAO;IACfL,QAAQ,EAAEA,QAAS;IACnBD,QAAQ,EAAEA,QAAS;IACnBW,IAAI,EAAEN,UAAU,EAAEM;EAAK,GAEtBP,YAAY,GAAGf,MAAA,CAAAO,OAAA,CAAAW,aAAA,CAACd,MAAA,CAAAmB,WAAW,MAAE,CAAC,GAAGb,QACxB,CAAC;AAAA,CACd;AAACc,OAAA,CAAAhB,aAAA,GAAAA,aAAA","ignoreList":[]}
@@ -53,8 +53,8 @@ const useLiveRatesMessage = (instruments, target) => {
53
53
  extraPrecision,
54
54
  currentAsk: ask,
55
55
  currentBid: bid,
56
- prevAsk: prev === null || prev === void 0 ? void 0 : prev.ask,
57
- prevBid: prev === null || prev === void 0 ? void 0 : prev.bid
56
+ prevAsk: prev?.ask,
57
+ prevBid: prev?.bid
58
58
  });
59
59
  return {
60
60
  symbol,
@@ -97,7 +97,7 @@ const useLiveRatesMessage = (instruments, target) => {
97
97
  let {
98
98
  detail
99
99
  } = _ref;
100
- switch (detail === null || detail === void 0 ? void 0 : detail.messageType) {
100
+ switch (detail?.messageType) {
101
101
  case _constants.LIVE_RATES_EVENT_NAME:
102
102
  {
103
103
  processUpdateMessage(detail);
@@ -116,13 +116,13 @@ const useLiveRatesMessage = (instruments, target) => {
116
116
  }
117
117
  };
118
118
  flatInstruments.forEach(instrument => {
119
- target === null || target === void 0 || target.addEventListener(instrument, listener);
120
- target === null || target === void 0 || target.addEventListener(_constants.LIVE_RATES_CONNECTION_ERROR, listener);
119
+ target?.addEventListener(instrument, listener);
120
+ target?.addEventListener(_constants.LIVE_RATES_CONNECTION_ERROR, listener);
121
121
  });
122
122
  return () => {
123
123
  flatInstruments.forEach(instrument => {
124
- target === null || target === void 0 || target.removeEventListener(instrument, listener);
125
- target === null || target === void 0 || target.removeEventListener(_constants.LIVE_RATES_CONNECTION_ERROR, listener);
124
+ target?.removeEventListener(instrument, listener);
125
+ target?.removeEventListener(_constants.LIVE_RATES_CONNECTION_ERROR, listener);
126
126
  setUpdate(null);
127
127
  setError(null);
128
128
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useLiveRatesMessage.js","names":["_react","require","_constants","_liveRates","useLiveRatesMessage","instruments","target","flatInstruments","concat","update","setUpdate","useState","error","setError","connectionError","setConnectionError","processUpdateMessage","detail","symbol","ask","bid","closingAsk","closingBid","openingAsk","openingBid","pipLocation","extraPrecision","timestamp","low","high","spread","calculateSpread","dailyChange","calculatePriceChange","currentAsk","currentBid","prevAsk","prevBid","percentChangeFromOpen","dailyPercentChangeFromOpen","calculatePriceChangeFromOpen","pipsChangeFromOpen","dailyPipsChangeFromOpen","calculatePipsChangeFromOpen","displayPrecision","Math","max","prev","priceMovement","askPriceMovement","bidPriceMovement","dailyPriceMovement","dailyPipsChange","pipsChange","dailyPercentChange","percentChange","processErrorMessage","errorMessage","processConnectionErrorMessage","useEffect","listener","_ref","messageType","LIVE_RATES_EVENT_NAME","LIVE_RATES_RATE_ERROR","LIVE_RATES_CONNECTION_ERROR","forEach","instrument","addEventListener","removeEventListener","exports"],"sources":["../../../src/hooks/useLiveRatesMessage.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport {\n LIVE_RATES_CONNECTION_ERROR,\n LIVE_RATES_EVENT_NAME,\n LIVE_RATES_RATE_ERROR,\n} from '../constants';\nimport type {\n LiveRatesConnectionErrorMessage,\n LiveRatesErrorMessage,\n LiveRatesHookMessage,\n LiveRatesMessageReturnObject,\n LiveRatesUpdateMessage,\n} from '../types';\nimport {\n calculatePipsChangeFromOpen,\n calculatePriceChange,\n calculatePriceChangeFromOpen,\n calculateSpread,\n} from '../utils/liveRates';\n\nexport const useLiveRatesMessage = (\n instruments: string | string[],\n target: EventTarget | null\n): LiveRatesMessageReturnObject => {\n const flatInstruments = ([] as string[]).concat(instruments);\n const [update, setUpdate] = useState<LiveRatesHookMessage | null>(null);\n const [error, setError] = useState<LiveRatesErrorMessage | null>(null);\n const [connectionError, setConnectionError] = useState(false);\n\n const processUpdateMessage = (detail: LiveRatesUpdateMessage) => {\n const {\n symbol,\n ask,\n bid,\n closingAsk,\n closingBid,\n openingAsk,\n openingBid,\n pipLocation,\n extraPrecision,\n timestamp,\n low,\n high,\n } = detail;\n\n const spread = calculateSpread(ask, bid, pipLocation, extraPrecision);\n\n const dailyChange = calculatePriceChange({\n pipLocation,\n extraPrecision,\n currentAsk: ask,\n currentBid: bid,\n prevAsk: closingAsk,\n prevBid: closingBid,\n });\n const { percentChangeFromOpen: dailyPercentChangeFromOpen } =\n calculatePriceChangeFromOpen(ask, bid, openingAsk, openingBid);\n const { pipsChangeFromOpen: dailyPipsChangeFromOpen } =\n calculatePipsChangeFromOpen(\n ask,\n bid,\n pipLocation,\n extraPrecision,\n openingAsk,\n openingBid\n );\n\n const displayPrecision = Math.max(extraPrecision - pipLocation, 0);\n\n setUpdate((prev) => {\n const { priceMovement, askPriceMovement, bidPriceMovement } =\n calculatePriceChange({\n pipLocation,\n extraPrecision,\n currentAsk: ask,\n currentBid: bid,\n prevAsk: prev?.ask,\n prevBid: prev?.bid,\n });\n\n return {\n symbol,\n ask,\n bid,\n spread,\n pipLocation,\n displayPrecision,\n priceMovement,\n askPriceMovement,\n bidPriceMovement,\n dailyPriceMovement: dailyChange.priceMovement,\n dailyPipsChange: dailyChange.pipsChange,\n dailyPercentChange: dailyChange.percentChange,\n dailyPercentChangeFromOpen,\n dailyPipsChangeFromOpen,\n timestamp,\n high,\n low,\n };\n });\n };\n\n const processErrorMessage = (detail: LiveRatesErrorMessage) => {\n const { symbol, error: errorMessage, timestamp } = detail;\n\n setError({\n symbol,\n error: errorMessage,\n timestamp,\n });\n };\n\n const processConnectionErrorMessage = () => {\n setConnectionError(true);\n };\n\n useEffect(\n () => {\n const listener: EventListener = ({\n detail,\n }: CustomEventInit<\n | LiveRatesUpdateMessage\n | LiveRatesErrorMessage\n | LiveRatesConnectionErrorMessage\n >) => {\n switch (detail?.messageType) {\n case LIVE_RATES_EVENT_NAME: {\n processUpdateMessage(detail as LiveRatesUpdateMessage);\n\n break;\n }\n case LIVE_RATES_RATE_ERROR: {\n processErrorMessage(detail as LiveRatesErrorMessage);\n\n break;\n }\n case LIVE_RATES_CONNECTION_ERROR: {\n processConnectionErrorMessage();\n\n break;\n }\n // No default\n }\n };\n\n flatInstruments.forEach((instrument) => {\n target?.addEventListener(instrument, listener);\n target?.addEventListener(LIVE_RATES_CONNECTION_ERROR, listener);\n });\n\n return () => {\n flatInstruments.forEach((instrument) => {\n target?.removeEventListener(instrument, listener);\n target?.removeEventListener(LIVE_RATES_CONNECTION_ERROR, listener);\n setUpdate(null);\n setError(null);\n });\n };\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [target]\n );\n\n useEffect(() => {\n if ((update || error) && connectionError) {\n setConnectionError(false);\n }\n }, [update, error, connectionError]);\n\n return { connectionError, error, update };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useLiveRatesMessage.js","names":["_react","require","_constants","_liveRates","useLiveRatesMessage","instruments","target","flatInstruments","concat","update","setUpdate","useState","error","setError","connectionError","setConnectionError","processUpdateMessage","detail","symbol","ask","bid","closingAsk","closingBid","openingAsk","openingBid","pipLocation","extraPrecision","timestamp","low","high","spread","calculateSpread","dailyChange","calculatePriceChange","currentAsk","currentBid","prevAsk","prevBid","percentChangeFromOpen","dailyPercentChangeFromOpen","calculatePriceChangeFromOpen","pipsChangeFromOpen","dailyPipsChangeFromOpen","calculatePipsChangeFromOpen","displayPrecision","Math","max","prev","priceMovement","askPriceMovement","bidPriceMovement","dailyPriceMovement","dailyPipsChange","pipsChange","dailyPercentChange","percentChange","processErrorMessage","errorMessage","processConnectionErrorMessage","useEffect","listener","_ref","messageType","LIVE_RATES_EVENT_NAME","LIVE_RATES_RATE_ERROR","LIVE_RATES_CONNECTION_ERROR","forEach","instrument","addEventListener","removeEventListener","exports"],"sources":["../../../src/hooks/useLiveRatesMessage.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport {\n LIVE_RATES_CONNECTION_ERROR,\n LIVE_RATES_EVENT_NAME,\n LIVE_RATES_RATE_ERROR,\n} from '../constants';\nimport type {\n LiveRatesConnectionErrorMessage,\n LiveRatesErrorMessage,\n LiveRatesHookMessage,\n LiveRatesMessageReturnObject,\n LiveRatesUpdateMessage,\n} from '../types';\nimport {\n calculatePipsChangeFromOpen,\n calculatePriceChange,\n calculatePriceChangeFromOpen,\n calculateSpread,\n} from '../utils/liveRates';\n\nexport const useLiveRatesMessage = (\n instruments: string | string[],\n target: EventTarget | null\n): LiveRatesMessageReturnObject => {\n const flatInstruments = ([] as string[]).concat(instruments);\n const [update, setUpdate] = useState<LiveRatesHookMessage | null>(null);\n const [error, setError] = useState<LiveRatesErrorMessage | null>(null);\n const [connectionError, setConnectionError] = useState(false);\n\n const processUpdateMessage = (detail: LiveRatesUpdateMessage) => {\n const {\n symbol,\n ask,\n bid,\n closingAsk,\n closingBid,\n openingAsk,\n openingBid,\n pipLocation,\n extraPrecision,\n timestamp,\n low,\n high,\n } = detail;\n\n const spread = calculateSpread(ask, bid, pipLocation, extraPrecision);\n\n const dailyChange = calculatePriceChange({\n pipLocation,\n extraPrecision,\n currentAsk: ask,\n currentBid: bid,\n prevAsk: closingAsk,\n prevBid: closingBid,\n });\n const { percentChangeFromOpen: dailyPercentChangeFromOpen } =\n calculatePriceChangeFromOpen(ask, bid, openingAsk, openingBid);\n const { pipsChangeFromOpen: dailyPipsChangeFromOpen } =\n calculatePipsChangeFromOpen(\n ask,\n bid,\n pipLocation,\n extraPrecision,\n openingAsk,\n openingBid\n );\n\n const displayPrecision = Math.max(extraPrecision - pipLocation, 0);\n\n setUpdate((prev) => {\n const { priceMovement, askPriceMovement, bidPriceMovement } =\n calculatePriceChange({\n pipLocation,\n extraPrecision,\n currentAsk: ask,\n currentBid: bid,\n prevAsk: prev?.ask,\n prevBid: prev?.bid,\n });\n\n return {\n symbol,\n ask,\n bid,\n spread,\n pipLocation,\n displayPrecision,\n priceMovement,\n askPriceMovement,\n bidPriceMovement,\n dailyPriceMovement: dailyChange.priceMovement,\n dailyPipsChange: dailyChange.pipsChange,\n dailyPercentChange: dailyChange.percentChange,\n dailyPercentChangeFromOpen,\n dailyPipsChangeFromOpen,\n timestamp,\n high,\n low,\n };\n });\n };\n\n const processErrorMessage = (detail: LiveRatesErrorMessage) => {\n const { symbol, error: errorMessage, timestamp } = detail;\n\n setError({\n symbol,\n error: errorMessage,\n timestamp,\n });\n };\n\n const processConnectionErrorMessage = () => {\n setConnectionError(true);\n };\n\n useEffect(\n () => {\n const listener: EventListener = ({\n detail,\n }: CustomEventInit<\n | LiveRatesUpdateMessage\n | LiveRatesErrorMessage\n | LiveRatesConnectionErrorMessage\n >) => {\n switch (detail?.messageType) {\n case LIVE_RATES_EVENT_NAME: {\n processUpdateMessage(detail as LiveRatesUpdateMessage);\n\n break;\n }\n case LIVE_RATES_RATE_ERROR: {\n processErrorMessage(detail as LiveRatesErrorMessage);\n\n break;\n }\n case LIVE_RATES_CONNECTION_ERROR: {\n processConnectionErrorMessage();\n\n break;\n }\n // No default\n }\n };\n\n flatInstruments.forEach((instrument) => {\n target?.addEventListener(instrument, listener);\n target?.addEventListener(LIVE_RATES_CONNECTION_ERROR, listener);\n });\n\n return () => {\n flatInstruments.forEach((instrument) => {\n target?.removeEventListener(instrument, listener);\n target?.removeEventListener(LIVE_RATES_CONNECTION_ERROR, listener);\n setUpdate(null);\n setError(null);\n });\n };\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [target]\n );\n\n useEffect(() => {\n if ((update || error) && connectionError) {\n setConnectionError(false);\n }\n }, [update, error, connectionError]);\n\n return { connectionError, error, update };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAD,OAAA;AAYA,IAAAE,UAAA,GAAAF,OAAA;AAOO,MAAMG,mBAAmB,GAAGA,CACjCC,WAA8B,EAC9BC,MAA0B,KACO;EACjC,MAAMC,eAAe,GAAI,EAAE,CAAcC,MAAM,CAACH,WAAW,CAAC;EAC5D,MAAM,CAACI,MAAM,EAAEC,SAAS,CAAC,GAAG,IAAAC,eAAQ,EAA8B,IAAI,CAAC;EACvE,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAF,eAAQ,EAA+B,IAAI,CAAC;EACtE,MAAM,CAACG,eAAe,EAAEC,kBAAkB,CAAC,GAAG,IAAAJ,eAAQ,EAAC,KAAK,CAAC;EAE7D,MAAMK,oBAAoB,GAAIC,MAA8B,IAAK;IAC/D,MAAM;MACJC,MAAM;MACNC,GAAG;MACHC,GAAG;MACHC,UAAU;MACVC,UAAU;MACVC,UAAU;MACVC,UAAU;MACVC,WAAW;MACXC,cAAc;MACdC,SAAS;MACTC,GAAG;MACHC;IACF,CAAC,GAAGZ,MAAM;IAEV,MAAMa,MAAM,GAAG,IAAAC,0BAAe,EAACZ,GAAG,EAAEC,GAAG,EAAEK,WAAW,EAAEC,cAAc,CAAC;IAErE,MAAMM,WAAW,GAAG,IAAAC,+BAAoB,EAAC;MACvCR,WAAW;MACXC,cAAc;MACdQ,UAAU,EAAEf,GAAG;MACfgB,UAAU,EAAEf,GAAG;MACfgB,OAAO,EAAEf,UAAU;MACnBgB,OAAO,EAAEf;IACX,CAAC,CAAC;IACF,MAAM;MAAEgB,qBAAqB,EAAEC;IAA2B,CAAC,GACzD,IAAAC,uCAA4B,EAACrB,GAAG,EAAEC,GAAG,EAAEG,UAAU,EAAEC,UAAU,CAAC;IAChE,MAAM;MAAEiB,kBAAkB,EAAEC;IAAwB,CAAC,GACnD,IAAAC,sCAA2B,EACzBxB,GAAG,EACHC,GAAG,EACHK,WAAW,EACXC,cAAc,EACdH,UAAU,EACVC,UACF,CAAC;IAEH,MAAMoB,gBAAgB,GAAGC,IAAI,CAACC,GAAG,CAACpB,cAAc,GAAGD,WAAW,EAAE,CAAC,CAAC;IAElEf,SAAS,CAAEqC,IAAI,IAAK;MAClB,MAAM;QAAEC,aAAa;QAAEC,gBAAgB;QAAEC;MAAiB,CAAC,GACzD,IAAAjB,+BAAoB,EAAC;QACnBR,WAAW;QACXC,cAAc;QACdQ,UAAU,EAAEf,GAAG;QACfgB,UAAU,EAAEf,GAAG;QACfgB,OAAO,EAAEW,IAAI,EAAE5B,GAAG;QAClBkB,OAAO,EAAEU,IAAI,EAAE3B;MACjB,CAAC,CAAC;MAEJ,OAAO;QACLF,MAAM;QACNC,GAAG;QACHC,GAAG;QACHU,MAAM;QACNL,WAAW;QACXmB,gBAAgB;QAChBI,aAAa;QACbC,gBAAgB;QAChBC,gBAAgB;QAChBC,kBAAkB,EAAEnB,WAAW,CAACgB,aAAa;QAC7CI,eAAe,EAAEpB,WAAW,CAACqB,UAAU;QACvCC,kBAAkB,EAAEtB,WAAW,CAACuB,aAAa;QAC7ChB,0BAA0B;QAC1BG,uBAAuB;QACvBf,SAAS;QACTE,IAAI;QACJD;MACF,CAAC;IACH,CAAC,CAAC;EACJ,CAAC;EAED,MAAM4B,mBAAmB,GAAIvC,MAA6B,IAAK;IAC7D,MAAM;MAAEC,MAAM;MAAEN,KAAK,EAAE6C,YAAY;MAAE9B;IAAU,CAAC,GAAGV,MAAM;IAEzDJ,QAAQ,CAAC;MACPK,MAAM;MACNN,KAAK,EAAE6C,YAAY;MACnB9B;IACF,CAAC,CAAC;EACJ,CAAC;EAED,MAAM+B,6BAA6B,GAAGA,CAAA,KAAM;IAC1C3C,kBAAkB,CAAC,IAAI,CAAC;EAC1B,CAAC;EAED,IAAA4C,gBAAS,EACP,MAAM;IACJ,MAAMC,QAAuB,GAAGC,IAAA,IAM1B;MAAA,IAN2B;QAC/B5C;MAKF,CAAC,GAAA4C,IAAA;MACC,QAAQ5C,MAAM,EAAE6C,WAAW;QACzB,KAAKC,gCAAqB;UAAE;YAC1B/C,oBAAoB,CAACC,MAAgC,CAAC;YAEtD;UACF;QACA,KAAK+C,gCAAqB;UAAE;YAC1BR,mBAAmB,CAACvC,MAA+B,CAAC;YAEpD;UACF;QACA,KAAKgD,sCAA2B;UAAE;YAChCP,6BAA6B,CAAC,CAAC;YAE/B;UACF;MAEF;IACF,CAAC;IAEDnD,eAAe,CAAC2D,OAAO,CAAEC,UAAU,IAAK;MACtC7D,MAAM,EAAE8D,gBAAgB,CAACD,UAAU,EAAEP,QAAQ,CAAC;MAC9CtD,MAAM,EAAE8D,gBAAgB,CAACH,sCAA2B,EAAEL,QAAQ,CAAC;IACjE,CAAC,CAAC;IAEF,OAAO,MAAM;MACXrD,eAAe,CAAC2D,OAAO,CAAEC,UAAU,IAAK;QACtC7D,MAAM,EAAE+D,mBAAmB,CAACF,UAAU,EAAEP,QAAQ,CAAC;QACjDtD,MAAM,EAAE+D,mBAAmB,CAACJ,sCAA2B,EAAEL,QAAQ,CAAC;QAClElD,SAAS,CAAC,IAAI,CAAC;QACfG,QAAQ,CAAC,IAAI,CAAC;MAChB,CAAC,CAAC;IACJ,CAAC;EACH,CAAC,EAED,CAACP,MAAM,CACT,CAAC;EAED,IAAAqD,gBAAS,EAAC,MAAM;IACd,IAAI,CAAClD,MAAM,IAAIG,KAAK,KAAKE,eAAe,EAAE;MACxCC,kBAAkB,CAAC,KAAK,CAAC;IAC3B;EACF,CAAC,EAAE,CAACN,MAAM,EAAEG,KAAK,EAAEE,eAAe,CAAC,CAAC;EAEpC,OAAO;IAAEA,eAAe;IAAEF,KAAK;IAAEH;EAAO,CAAC;AAC3C,CAAC;AAAC6D,OAAA,CAAAlE,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -9,17 +9,15 @@ var _providers = require("../providers");
9
9
  const useLiveRatesQuery = skip => {
10
10
  const liveRates = (0, _providers.useLiveRatesProvider)(skip);
11
11
  const setQuery = query => {
12
- var _liveRates$target;
13
- liveRates === null || liveRates === void 0 || (_liveRates$target = liveRates.target) === null || _liveRates$target === void 0 || _liveRates$target.dispatchEvent(new CustomEvent(_constants.SET_QUERY_EVENT_NAME, {
12
+ liveRates?.target?.dispatchEvent(new CustomEvent(_constants.SET_QUERY_EVENT_NAME, {
14
13
  detail: query
15
14
  }));
16
15
  };
17
16
  const closeQuery = () => {
18
- var _liveRates$source;
19
- liveRates === null || liveRates === void 0 || (_liveRates$source = liveRates.source) === null || _liveRates$source === void 0 || _liveRates$source.close();
17
+ liveRates?.source?.close();
20
18
  };
21
19
  return {
22
- target: (liveRates === null || liveRates === void 0 ? void 0 : liveRates.target) || null,
20
+ target: liveRates?.target || null,
23
21
  setQuery,
24
22
  closeQuery
25
23
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useLiveRatesQuery.js","names":["_constants","require","_providers","useLiveRatesQuery","skip","liveRates","useLiveRatesProvider","setQuery","query","_liveRates$target","target","dispatchEvent","CustomEvent","SET_QUERY_EVENT_NAME","detail","closeQuery","_liveRates$source","source","close","exports"],"sources":["../../../src/hooks/useLiveRatesQuery.ts"],"sourcesContent":["import { SET_QUERY_EVENT_NAME } from '../constants';\nimport { useLiveRatesProvider } from '../providers';\nimport type {\n LiveRatesProviderQuery,\n LiveRatesTargetHookReturnObject,\n} from '../types';\n\nexport const useLiveRatesQuery = (\n skip?: boolean\n): LiveRatesTargetHookReturnObject => {\n const liveRates = useLiveRatesProvider(skip);\n\n const setQuery = (query: LiveRatesProviderQuery) => {\n liveRates?.target?.dispatchEvent(\n new CustomEvent(SET_QUERY_EVENT_NAME, { detail: query })\n );\n };\n\n const closeQuery = () => {\n liveRates?.source?.close();\n };\n\n return {\n target: liveRates?.target || null,\n setQuery,\n closeQuery,\n };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAMO,MAAME,iBAAiB,GAC5BC,IAAc,IACsB;EACpC,MAAMC,SAAS,GAAG,IAAAC,+BAAoB,EAACF,IAAI,CAAC;EAE5C,MAAMG,QAAQ,GAAIC,KAA6B,IAAK;IAAA,IAAAC,iBAAA;IAClDJ,SAAS,aAATA,SAAS,gBAAAI,iBAAA,GAATJ,SAAS,CAAEK,MAAM,cAAAD,iBAAA,eAAjBA,iBAAA,CAAmBE,aAAa,CAC9B,IAAIC,WAAW,CAACC,+BAAoB,EAAE;MAAEC,MAAM,EAAEN;IAAM,CAAC,CACzD,CAAC;EACH,CAAC;EAED,MAAMO,UAAU,GAAGA,CAAA,KAAM;IAAA,IAAAC,iBAAA;IACvBX,SAAS,aAATA,SAAS,gBAAAW,iBAAA,GAATX,SAAS,CAAEY,MAAM,cAAAD,iBAAA,eAAjBA,iBAAA,CAAmBE,KAAK,CAAC,CAAC;EAC5B,CAAC;EAED,OAAO;IACLR,MAAM,EAAE,CAAAL,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEK,MAAM,KAAI,IAAI;IACjCH,QAAQ;IACRQ;EACF,CAAC;AACH,CAAC;AAACI,OAAA,CAAAhB,iBAAA,GAAAA,iBAAA","ignoreList":[]}
1
+ {"version":3,"file":"useLiveRatesQuery.js","names":["_constants","require","_providers","useLiveRatesQuery","skip","liveRates","useLiveRatesProvider","setQuery","query","target","dispatchEvent","CustomEvent","SET_QUERY_EVENT_NAME","detail","closeQuery","source","close","exports"],"sources":["../../../src/hooks/useLiveRatesQuery.ts"],"sourcesContent":["import { SET_QUERY_EVENT_NAME } from '../constants';\nimport { useLiveRatesProvider } from '../providers';\nimport type {\n LiveRatesProviderQuery,\n LiveRatesTargetHookReturnObject,\n} from '../types';\n\nexport const useLiveRatesQuery = (\n skip?: boolean\n): LiveRatesTargetHookReturnObject => {\n const liveRates = useLiveRatesProvider(skip);\n\n const setQuery = (query: LiveRatesProviderQuery) => {\n liveRates?.target?.dispatchEvent(\n new CustomEvent(SET_QUERY_EVENT_NAME, { detail: query })\n );\n };\n\n const closeQuery = () => {\n liveRates?.source?.close();\n };\n\n return {\n target: liveRates?.target || null,\n setQuery,\n closeQuery,\n };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAMO,MAAME,iBAAiB,GAC5BC,IAAc,IACsB;EACpC,MAAMC,SAAS,GAAG,IAAAC,+BAAoB,EAACF,IAAI,CAAC;EAE5C,MAAMG,QAAQ,GAAIC,KAA6B,IAAK;IAClDH,SAAS,EAAEI,MAAM,EAAEC,aAAa,CAC9B,IAAIC,WAAW,CAACC,+BAAoB,EAAE;MAAEC,MAAM,EAAEL;IAAM,CAAC,CACzD,CAAC;EACH,CAAC;EAED,MAAMM,UAAU,GAAGA,CAAA,KAAM;IACvBT,SAAS,EAAEU,MAAM,EAAEC,KAAK,CAAC,CAAC;EAC5B,CAAC;EAED,OAAO;IACLP,MAAM,EAAEJ,SAAS,EAAEI,MAAM,IAAI,IAAI;IACjCF,QAAQ;IACRO;EACF,CAAC;AACH,CAAC;AAACG,OAAA,CAAAd,iBAAA,GAAAA,iBAAA","ignoreList":[]}
@@ -21,11 +21,11 @@ const useRecords = (record, target) => {
21
21
  setUpdatedRecord({
22
22
  displayName: record.displayName,
23
23
  instrument: record.instrument,
24
- buy: update === null || update === void 0 ? void 0 : update.ask,
25
- buyPriceMovement: update === null || update === void 0 ? void 0 : update.askPriceMovement,
26
- dailyPercentChange: update === null || update === void 0 ? void 0 : update.dailyPercentChangeFromOpen,
27
- dailyPipsChange: update === null || update === void 0 ? void 0 : update.dailyPipsChangeFromOpen,
28
- displayPrecision: update === null || update === void 0 ? void 0 : update.displayPrecision
24
+ buy: update?.ask,
25
+ buyPriceMovement: update?.askPriceMovement,
26
+ dailyPercentChange: update?.dailyPercentChangeFromOpen,
27
+ dailyPipsChange: update?.dailyPipsChangeFromOpen,
28
+ displayPrecision: update?.displayPrecision
29
29
  });
30
30
  setError(liveRatesError);
31
31
  }, [update, record, liveRatesError]);
@@ -1 +1 @@
1
- {"version":3,"file":"useRecords.js","names":["_react","require","_useLiveRatesMessage","useRecords","record","target","updatedRecord","setUpdatedRecord","useState","displayName","instrument","sentiment","error","setError","update","liveRatesError","useLiveRatesMessage","useEffect","buy","ask","buyPriceMovement","askPriceMovement","dailyPercentChange","dailyPercentChangeFromOpen","dailyPipsChange","dailyPipsChangeFromOpen","displayPrecision","exports"],"sources":["../../../src/hooks/useRecords.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport type { DataRecord, LiveRatesErrorMessage } from '../types';\nimport { useLiveRatesMessage } from './useLiveRatesMessage';\n\nconst useRecords = (record: DataRecord, target: EventTarget | null) => {\n const [updatedRecord, setUpdatedRecord] = useState<DataRecord>({\n displayName: record.displayName,\n instrument: record.instrument,\n sentiment: record.sentiment,\n });\n const [error, setError] = useState<LiveRatesErrorMessage | null>(null);\n\n const { update, error: liveRatesError } = useLiveRatesMessage(\n record.instrument,\n target\n );\n\n useEffect(() => {\n setUpdatedRecord({\n displayName: record.displayName,\n instrument: record.instrument,\n buy: update?.ask,\n buyPriceMovement: update?.askPriceMovement,\n dailyPercentChange: update?.dailyPercentChangeFromOpen,\n dailyPipsChange: update?.dailyPipsChangeFromOpen,\n displayPrecision: update?.displayPrecision,\n });\n setError(liveRatesError);\n }, [update, record, liveRatesError]);\n\n return {\n updatedRecord,\n error,\n };\n};\n\nexport { useRecords };\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGA,IAAAC,oBAAA,GAAAD,OAAA;AAEA,MAAME,UAAU,GAAGA,CAACC,MAAkB,EAAEC,MAA0B,KAAK;EACrE,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAC,eAAQ,EAAa;IAC7DC,WAAW,EAAEL,MAAM,CAACK,WAAW;IAC/BC,UAAU,EAAEN,MAAM,CAACM,UAAU;IAC7BC,SAAS,EAAEP,MAAM,CAACO;EACpB,CAAC,CAAC;EACF,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAL,eAAQ,EAA+B,IAAI,CAAC;EAEtE,MAAM;IAAEM,MAAM;IAAEF,KAAK,EAAEG;EAAe,CAAC,GAAG,IAAAC,wCAAmB,EAC3DZ,MAAM,CAACM,UAAU,EACjBL,MACF,CAAC;EAED,IAAAY,gBAAS,EAAC,MAAM;IACdV,gBAAgB,CAAC;MACfE,WAAW,EAAEL,MAAM,CAACK,WAAW;MAC/BC,UAAU,EAAEN,MAAM,CAACM,UAAU;MAC7BQ,GAAG,EAAEJ,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEK,GAAG;MAChBC,gBAAgB,EAAEN,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEO,gBAAgB;MAC1CC,kBAAkB,EAAER,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAES,0BAA0B;MACtDC,eAAe,EAAEV,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEW,uBAAuB;MAChDC,gBAAgB,EAAEZ,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEY;IAC5B,CAAC,CAAC;IACFb,QAAQ,CAACE,cAAc,CAAC;EAC1B,CAAC,EAAE,CAACD,MAAM,EAAEV,MAAM,EAAEW,cAAc,CAAC,CAAC;EAEpC,OAAO;IACLT,aAAa;IACbM;EACF,CAAC;AACH,CAAC;AAACe,OAAA,CAAAxB,UAAA,GAAAA,UAAA","ignoreList":[]}
1
+ {"version":3,"file":"useRecords.js","names":["_react","require","_useLiveRatesMessage","useRecords","record","target","updatedRecord","setUpdatedRecord","useState","displayName","instrument","sentiment","error","setError","update","liveRatesError","useLiveRatesMessage","useEffect","buy","ask","buyPriceMovement","askPriceMovement","dailyPercentChange","dailyPercentChangeFromOpen","dailyPipsChange","dailyPipsChangeFromOpen","displayPrecision","exports"],"sources":["../../../src/hooks/useRecords.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport type { DataRecord, LiveRatesErrorMessage } from '../types';\nimport { useLiveRatesMessage } from './useLiveRatesMessage';\n\nconst useRecords = (record: DataRecord, target: EventTarget | null) => {\n const [updatedRecord, setUpdatedRecord] = useState<DataRecord>({\n displayName: record.displayName,\n instrument: record.instrument,\n sentiment: record.sentiment,\n });\n const [error, setError] = useState<LiveRatesErrorMessage | null>(null);\n\n const { update, error: liveRatesError } = useLiveRatesMessage(\n record.instrument,\n target\n );\n\n useEffect(() => {\n setUpdatedRecord({\n displayName: record.displayName,\n instrument: record.instrument,\n buy: update?.ask,\n buyPriceMovement: update?.askPriceMovement,\n dailyPercentChange: update?.dailyPercentChangeFromOpen,\n dailyPipsChange: update?.dailyPipsChangeFromOpen,\n displayPrecision: update?.displayPrecision,\n });\n setError(liveRatesError);\n }, [update, record, liveRatesError]);\n\n return {\n updatedRecord,\n error,\n };\n};\n\nexport { useRecords };\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGA,IAAAC,oBAAA,GAAAD,OAAA;AAEA,MAAME,UAAU,GAAGA,CAACC,MAAkB,EAAEC,MAA0B,KAAK;EACrE,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAC,eAAQ,EAAa;IAC7DC,WAAW,EAAEL,MAAM,CAACK,WAAW;IAC/BC,UAAU,EAAEN,MAAM,CAACM,UAAU;IAC7BC,SAAS,EAAEP,MAAM,CAACO;EACpB,CAAC,CAAC;EACF,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAL,eAAQ,EAA+B,IAAI,CAAC;EAEtE,MAAM;IAAEM,MAAM;IAAEF,KAAK,EAAEG;EAAe,CAAC,GAAG,IAAAC,wCAAmB,EAC3DZ,MAAM,CAACM,UAAU,EACjBL,MACF,CAAC;EAED,IAAAY,gBAAS,EAAC,MAAM;IACdV,gBAAgB,CAAC;MACfE,WAAW,EAAEL,MAAM,CAACK,WAAW;MAC/BC,UAAU,EAAEN,MAAM,CAACM,UAAU;MAC7BQ,GAAG,EAAEJ,MAAM,EAAEK,GAAG;MAChBC,gBAAgB,EAAEN,MAAM,EAAEO,gBAAgB;MAC1CC,kBAAkB,EAAER,MAAM,EAAES,0BAA0B;MACtDC,eAAe,EAAEV,MAAM,EAAEW,uBAAuB;MAChDC,gBAAgB,EAAEZ,MAAM,EAAEY;IAC5B,CAAC,CAAC;IACFb,QAAQ,CAACE,cAAc,CAAC;EAC1B,CAAC,EAAE,CAACD,MAAM,EAAEV,MAAM,EAAEW,cAAc,CAAC,CAAC;EAEpC,OAAO;IACLT,aAAa;IACbM;EACF,CAAC;AACH,CAAC;AAACe,OAAA,CAAAxB,UAAA,GAAAA,UAAA","ignoreList":[]}
@@ -16,7 +16,7 @@ const useVisibleLiveDataRecord = (record, target) => {
16
16
  });
17
17
  const [error, setError] = (0, _react.useState)(null);
18
18
  const entry = (0, _usehooksTs.useIntersectionObserver)();
19
- const isVisible = !!(entry !== null && entry !== void 0 && entry.isIntersecting);
19
+ const isVisible = !!entry?.isIntersecting;
20
20
  const {
21
21
  update,
22
22
  error: liveRatesError
@@ -28,15 +28,15 @@ const useVisibleLiveDataRecord = (record, target) => {
28
28
  instrument: record.instrument,
29
29
  sentiment: record.sentiment,
30
30
  tradeMode: record.tradeMode,
31
- buy: update === null || update === void 0 ? void 0 : update.ask,
32
- sell: update === null || update === void 0 ? void 0 : update.bid,
33
- buyPriceMovement: update === null || update === void 0 ? void 0 : update.askPriceMovement,
34
- sellPriceMovement: update === null || update === void 0 ? void 0 : update.bidPriceMovement,
35
- dailyPercentChange: update === null || update === void 0 ? void 0 : update.dailyPercentChangeFromOpen,
36
- spread: update === null || update === void 0 ? void 0 : update.spread,
37
- displayPrecision: update === null || update === void 0 ? void 0 : update.displayPrecision,
38
- high: update === null || update === void 0 ? void 0 : update.high,
39
- low: update === null || update === void 0 ? void 0 : update.low,
31
+ buy: update?.ask,
32
+ sell: update?.bid,
33
+ buyPriceMovement: update?.askPriceMovement,
34
+ sellPriceMovement: update?.bidPriceMovement,
35
+ dailyPercentChange: update?.dailyPercentChangeFromOpen,
36
+ spread: update?.spread,
37
+ displayPrecision: update?.displayPrecision,
38
+ high: update?.high,
39
+ low: update?.low,
40
40
  dataSource: record.dataSource
41
41
  });
42
42
  setError(liveRatesError);
@@ -1 +1 @@
1
- {"version":3,"file":"useVisibleLiveDataRecord.js","names":["_react","require","_usehooksTs","_useLiveRatesMessage","useVisibleLiveDataRecord","record","target","updatedRecord","setUpdatedRecord","useState","displayName","instrument","sentiment","tradeMode","error","setError","entry","useIntersectionObserver","isVisible","isIntersecting","update","liveRatesError","useLiveRatesMessage","useEffect","buy","ask","sell","bid","buyPriceMovement","askPriceMovement","sellPriceMovement","bidPriceMovement","dailyPercentChange","dailyPercentChangeFromOpen","spread","displayPrecision","high","low","dataSource","ref","exports"],"sources":["../../../src/hooks/useVisibleLiveDataRecord.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { useIntersectionObserver } from 'usehooks-ts';\n\nimport type { DataRecord, EmptyRecord, LiveRatesErrorMessage } from '../types';\nimport { useLiveRatesMessage } from './useLiveRatesMessage';\n\nexport const useVisibleLiveDataRecord = (\n record: DataRecord | EmptyRecord,\n target: EventTarget | null\n) => {\n const [updatedRecord, setUpdatedRecord] = useState<DataRecord>({\n displayName: record.displayName,\n instrument: record.instrument,\n sentiment: record.sentiment,\n tradeMode: record.tradeMode,\n });\n\n const [error, setError] = useState<LiveRatesErrorMessage | null>(null);\n const entry = useIntersectionObserver();\n const isVisible = !!entry?.isIntersecting;\n\n const { update, error: liveRatesError } = useLiveRatesMessage(\n record.instrument,\n target\n );\n\n useEffect(() => {\n if (isVisible) {\n setUpdatedRecord({\n displayName: record.displayName,\n instrument: record.instrument,\n sentiment: record.sentiment,\n tradeMode: record.tradeMode,\n buy: update?.ask,\n sell: update?.bid,\n buyPriceMovement: update?.askPriceMovement,\n sellPriceMovement: update?.bidPriceMovement,\n dailyPercentChange: update?.dailyPercentChangeFromOpen,\n spread: update?.spread,\n displayPrecision: update?.displayPrecision,\n high: update?.high,\n low: update?.low,\n dataSource: record.dataSource,\n });\n setError(liveRatesError);\n }\n }, [update, record, isVisible, liveRatesError]);\n\n return {\n updatedRecord,\n error,\n ref: entry.ref,\n };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAGA,IAAAE,oBAAA,GAAAF,OAAA;AAEO,MAAMG,wBAAwB,GAAGA,CACtCC,MAAgC,EAChCC,MAA0B,KACvB;EACH,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAC,eAAQ,EAAa;IAC7DC,WAAW,EAAEL,MAAM,CAACK,WAAW;IAC/BC,UAAU,EAAEN,MAAM,CAACM,UAAU;IAC7BC,SAAS,EAAEP,MAAM,CAACO,SAAS;IAC3BC,SAAS,EAAER,MAAM,CAACQ;EACpB,CAAC,CAAC;EAEF,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAN,eAAQ,EAA+B,IAAI,CAAC;EACtE,MAAMO,KAAK,GAAG,IAAAC,mCAAuB,EAAC,CAAC;EACvC,MAAMC,SAAS,GAAG,CAAC,EAACF,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEG,cAAc;EAEzC,MAAM;IAAEC,MAAM;IAAEN,KAAK,EAAEO;EAAe,CAAC,GAAG,IAAAC,wCAAmB,EAC3DjB,MAAM,CAACM,UAAU,EACjBL,MACF,CAAC;EAED,IAAAiB,gBAAS,EAAC,MAAM;IACd,IAAIL,SAAS,EAAE;MACbV,gBAAgB,CAAC;QACfE,WAAW,EAAEL,MAAM,CAACK,WAAW;QAC/BC,UAAU,EAAEN,MAAM,CAACM,UAAU;QAC7BC,SAAS,EAAEP,MAAM,CAACO,SAAS;QAC3BC,SAAS,EAAER,MAAM,CAACQ,SAAS;QAC3BW,GAAG,EAAEJ,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEK,GAAG;QAChBC,IAAI,EAAEN,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEO,GAAG;QACjBC,gBAAgB,EAAER,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAES,gBAAgB;QAC1CC,iBAAiB,EAAEV,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEW,gBAAgB;QAC3CC,kBAAkB,EAAEZ,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEa,0BAA0B;QACtDC,MAAM,EAAEd,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEc,MAAM;QACtBC,gBAAgB,EAAEf,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEe,gBAAgB;QAC1CC,IAAI,EAAEhB,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEgB,IAAI;QAClBC,GAAG,EAAEjB,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEiB,GAAG;QAChBC,UAAU,EAAEjC,MAAM,CAACiC;MACrB,CAAC,CAAC;MACFvB,QAAQ,CAACM,cAAc,CAAC;IAC1B;EACF,CAAC,EAAE,CAACD,MAAM,EAAEf,MAAM,EAAEa,SAAS,EAAEG,cAAc,CAAC,CAAC;EAE/C,OAAO;IACLd,aAAa;IACbO,KAAK;IACLyB,GAAG,EAAEvB,KAAK,CAACuB;EACb,CAAC;AACH,CAAC;AAACC,OAAA,CAAApC,wBAAA,GAAAA,wBAAA","ignoreList":[]}
1
+ {"version":3,"file":"useVisibleLiveDataRecord.js","names":["_react","require","_usehooksTs","_useLiveRatesMessage","useVisibleLiveDataRecord","record","target","updatedRecord","setUpdatedRecord","useState","displayName","instrument","sentiment","tradeMode","error","setError","entry","useIntersectionObserver","isVisible","isIntersecting","update","liveRatesError","useLiveRatesMessage","useEffect","buy","ask","sell","bid","buyPriceMovement","askPriceMovement","sellPriceMovement","bidPriceMovement","dailyPercentChange","dailyPercentChangeFromOpen","spread","displayPrecision","high","low","dataSource","ref","exports"],"sources":["../../../src/hooks/useVisibleLiveDataRecord.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { useIntersectionObserver } from 'usehooks-ts';\n\nimport type { DataRecord, EmptyRecord, LiveRatesErrorMessage } from '../types';\nimport { useLiveRatesMessage } from './useLiveRatesMessage';\n\nexport const useVisibleLiveDataRecord = (\n record: DataRecord | EmptyRecord,\n target: EventTarget | null\n) => {\n const [updatedRecord, setUpdatedRecord] = useState<DataRecord>({\n displayName: record.displayName,\n instrument: record.instrument,\n sentiment: record.sentiment,\n tradeMode: record.tradeMode,\n });\n\n const [error, setError] = useState<LiveRatesErrorMessage | null>(null);\n const entry = useIntersectionObserver();\n const isVisible = !!entry?.isIntersecting;\n\n const { update, error: liveRatesError } = useLiveRatesMessage(\n record.instrument,\n target\n );\n\n useEffect(() => {\n if (isVisible) {\n setUpdatedRecord({\n displayName: record.displayName,\n instrument: record.instrument,\n sentiment: record.sentiment,\n tradeMode: record.tradeMode,\n buy: update?.ask,\n sell: update?.bid,\n buyPriceMovement: update?.askPriceMovement,\n sellPriceMovement: update?.bidPriceMovement,\n dailyPercentChange: update?.dailyPercentChangeFromOpen,\n spread: update?.spread,\n displayPrecision: update?.displayPrecision,\n high: update?.high,\n low: update?.low,\n dataSource: record.dataSource,\n });\n setError(liveRatesError);\n }\n }, [update, record, isVisible, liveRatesError]);\n\n return {\n updatedRecord,\n error,\n ref: entry.ref,\n };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAGA,IAAAE,oBAAA,GAAAF,OAAA;AAEO,MAAMG,wBAAwB,GAAGA,CACtCC,MAAgC,EAChCC,MAA0B,KACvB;EACH,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAC,eAAQ,EAAa;IAC7DC,WAAW,EAAEL,MAAM,CAACK,WAAW;IAC/BC,UAAU,EAAEN,MAAM,CAACM,UAAU;IAC7BC,SAAS,EAAEP,MAAM,CAACO,SAAS;IAC3BC,SAAS,EAAER,MAAM,CAACQ;EACpB,CAAC,CAAC;EAEF,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAN,eAAQ,EAA+B,IAAI,CAAC;EACtE,MAAMO,KAAK,GAAG,IAAAC,mCAAuB,EAAC,CAAC;EACvC,MAAMC,SAAS,GAAG,CAAC,CAACF,KAAK,EAAEG,cAAc;EAEzC,MAAM;IAAEC,MAAM;IAAEN,KAAK,EAAEO;EAAe,CAAC,GAAG,IAAAC,wCAAmB,EAC3DjB,MAAM,CAACM,UAAU,EACjBL,MACF,CAAC;EAED,IAAAiB,gBAAS,EAAC,MAAM;IACd,IAAIL,SAAS,EAAE;MACbV,gBAAgB,CAAC;QACfE,WAAW,EAAEL,MAAM,CAACK,WAAW;QAC/BC,UAAU,EAAEN,MAAM,CAACM,UAAU;QAC7BC,SAAS,EAAEP,MAAM,CAACO,SAAS;QAC3BC,SAAS,EAAER,MAAM,CAACQ,SAAS;QAC3BW,GAAG,EAAEJ,MAAM,EAAEK,GAAG;QAChBC,IAAI,EAAEN,MAAM,EAAEO,GAAG;QACjBC,gBAAgB,EAAER,MAAM,EAAES,gBAAgB;QAC1CC,iBAAiB,EAAEV,MAAM,EAAEW,gBAAgB;QAC3CC,kBAAkB,EAAEZ,MAAM,EAAEa,0BAA0B;QACtDC,MAAM,EAAEd,MAAM,EAAEc,MAAM;QACtBC,gBAAgB,EAAEf,MAAM,EAAEe,gBAAgB;QAC1CC,IAAI,EAAEhB,MAAM,EAAEgB,IAAI;QAClBC,GAAG,EAAEjB,MAAM,EAAEiB,GAAG;QAChBC,UAAU,EAAEjC,MAAM,CAACiC;MACrB,CAAC,CAAC;MACFvB,QAAQ,CAACM,cAAc,CAAC;IAC1B;EACF,CAAC,EAAE,CAACD,MAAM,EAAEf,MAAM,EAAEa,SAAS,EAAEG,cAAc,CAAC,CAAC;EAE/C,OAAO;IACLd,aAAa;IACbO,KAAK;IACLyB,GAAG,EAAEvB,KAAK,CAACuB;EACb,CAAC;AACH,CAAC;AAACC,OAAA,CAAApC,wBAAA,GAAAA,wBAAA","ignoreList":[]}
@@ -10,11 +10,6 @@ var _constants = require("../../constants");
10
10
  var _liveRates = require("../../utils/liveRates");
11
11
  var _LiveRatesContext = require("./LiveRatesContext");
12
12
  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); }
13
- 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; }
14
- 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; }
15
- 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; }
16
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
17
- 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); }
18
13
  const LiveRatesProvider = _ref => {
19
14
  let {
20
15
  url,
@@ -34,10 +29,10 @@ const LiveRatesProvider = _ref => {
34
29
  detail
35
30
  } = _ref2;
36
31
  if (multipleDataSources) {
37
- if ((detail === null || detail === void 0 ? void 0 : detail.dataSource) === _graphql.DataSource.Mt5) {
32
+ if (detail?.dataSource === _graphql.DataSource.Mt5) {
38
33
  setSecondSource(new EventSource((0, _liveRates.buildUrl)(url, detail, options)));
39
34
  }
40
- if ((detail === null || detail === void 0 ? void 0 : detail.dataSource) === _graphql.DataSource.V20) {
35
+ if (detail?.dataSource === _graphql.DataSource.V20) {
41
36
  setSource(new EventSource((0, _liveRates.buildUrl)(url, detail, options)));
42
37
  }
43
38
  } else {
@@ -52,30 +47,31 @@ const LiveRatesProvider = _ref => {
52
47
  error: 'Connection error'
53
48
  } : (0, _liveRates.decodeLiveRateMessage)(e.data);
54
49
  target.dispatchEvent(new CustomEvent(message.symbol, {
55
- detail: _objectSpread({
56
- messageType
57
- }, message)
50
+ detail: {
51
+ messageType,
52
+ ...message
53
+ }
58
54
  }));
59
55
  };
60
- source === null || source === void 0 || source.addEventListener(eventName, listener(eventName));
61
- source === null || source === void 0 || source.addEventListener(_constants.LIVE_RATES_RATE_ERROR, listener(_constants.LIVE_RATES_RATE_ERROR));
62
- source === null || source === void 0 || source.addEventListener('error', listener(_constants.LIVE_RATES_CONNECTION_ERROR));
56
+ source?.addEventListener(eventName, listener(eventName));
57
+ source?.addEventListener(_constants.LIVE_RATES_RATE_ERROR, listener(_constants.LIVE_RATES_RATE_ERROR));
58
+ source?.addEventListener('error', listener(_constants.LIVE_RATES_CONNECTION_ERROR));
63
59
  if (multipleDataSources && secondSource) {
64
- secondSource === null || secondSource === void 0 || secondSource.addEventListener(eventName, listener(eventName));
65
- secondSource === null || secondSource === void 0 || secondSource.addEventListener(_constants.LIVE_RATES_RATE_ERROR, listener(_constants.LIVE_RATES_RATE_ERROR));
66
- secondSource === null || secondSource === void 0 || secondSource.addEventListener('error', listener(_constants.LIVE_RATES_CONNECTION_ERROR));
60
+ secondSource?.addEventListener(eventName, listener(eventName));
61
+ secondSource?.addEventListener(_constants.LIVE_RATES_RATE_ERROR, listener(_constants.LIVE_RATES_RATE_ERROR));
62
+ secondSource?.addEventListener('error', listener(_constants.LIVE_RATES_CONNECTION_ERROR));
67
63
  }
68
64
  return () => {
69
65
  target.removeEventListener(_constants.SET_QUERY_EVENT_NAME, setQueryListener);
70
- source === null || source === void 0 || source.removeEventListener(eventName, listener(eventName));
71
- source === null || source === void 0 || source.removeEventListener(_constants.LIVE_RATES_RATE_ERROR, listener(_constants.LIVE_RATES_RATE_ERROR));
72
- source === null || source === void 0 || source.removeEventListener('error', listener(_constants.LIVE_RATES_CONNECTION_ERROR));
73
- source === null || source === void 0 || source.close();
66
+ source?.removeEventListener(eventName, listener(eventName));
67
+ source?.removeEventListener(_constants.LIVE_RATES_RATE_ERROR, listener(_constants.LIVE_RATES_RATE_ERROR));
68
+ source?.removeEventListener('error', listener(_constants.LIVE_RATES_CONNECTION_ERROR));
69
+ source?.close();
74
70
  if (multipleDataSources && secondSource) {
75
- secondSource === null || secondSource === void 0 || secondSource.removeEventListener(eventName, listener(eventName));
76
- secondSource === null || secondSource === void 0 || secondSource.removeEventListener(_constants.LIVE_RATES_RATE_ERROR, listener(_constants.LIVE_RATES_RATE_ERROR));
77
- secondSource === null || secondSource === void 0 || secondSource.removeEventListener('error', listener(_constants.LIVE_RATES_CONNECTION_ERROR));
78
- secondSource === null || secondSource === void 0 || secondSource.close();
71
+ secondSource?.removeEventListener(eventName, listener(eventName));
72
+ secondSource?.removeEventListener(_constants.LIVE_RATES_RATE_ERROR, listener(_constants.LIVE_RATES_RATE_ERROR));
73
+ secondSource?.removeEventListener('error', listener(_constants.LIVE_RATES_CONNECTION_ERROR));
74
+ secondSource?.close();
79
75
  }
80
76
  };
81
77
  }, [source, target]);