@oanda/labs-widget-common 1.0.244 → 1.0.246

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 +1940 -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
@@ -9,8 +9,8 @@ export const MockLayoutProvider = _ref => {
9
9
  } = _ref;
10
10
  return React.createElement(LayoutContext.Provider, {
11
11
  value: {
12
- size: size !== null && size !== void 0 ? size : Size.DESKTOP,
13
- isDark: isDark !== null && isDark !== void 0 ? isDark : true,
12
+ size: size ?? Size.DESKTOP,
13
+ isDark: isDark ?? true,
14
14
  theme: Theme.Dark
15
15
  }
16
16
  }, children);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","LayoutContext","Size","Theme","MockLayoutProvider","_ref","children","size","isDark","createElement","Provider","value","DESKTOP","theme","Dark"],"sources":["../../../src/testUtils/index.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from 'react';\nimport React from 'react';\n\nimport type { LayoutContextValue } from '../providers';\nimport { LayoutContext } from '../providers';\nimport { Size, Theme } from '../types';\n\nexport const MockLayoutProvider: FC<\n PropsWithChildren & Partial<LayoutContextValue>\n> = ({ children, size, isDark }) => (\n <LayoutContext.Provider\n value={{\n size: size ?? Size.DESKTOP,\n isDark: isDark ?? true,\n theme: Theme.Dark,\n }}\n >\n {children}\n </LayoutContext.Provider>\n);\n"],"mappings":"AACA,OAAOA,KAAK,MAAM,OAAO;AAGzB,SAASC,aAAa,QAAQ,cAAc;AAC5C,SAASC,IAAI,EAAEC,KAAK,QAAQ,UAAU;AAEtC,OAAO,MAAMC,kBAEZ,GAAGC,IAAA;EAAA,IAAC;IAAEC,QAAQ;IAAEC,IAAI;IAAEC;EAAO,CAAC,GAAAH,IAAA;EAAA,OAC7BL,KAAA,CAAAS,aAAA,CAACR,aAAa,CAACS,QAAQ;IACrBC,KAAK,EAAE;MACLJ,IAAI,EAAEA,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAIL,IAAI,CAACU,OAAO;MAC1BJ,MAAM,EAAEA,MAAM,aAANA,MAAM,cAANA,MAAM,GAAI,IAAI;MACtBK,KAAK,EAAEV,KAAK,CAACW;IACf;EAAE,GAEDR,QACqB,CAAC;AAAA,CAC1B","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","LayoutContext","Size","Theme","MockLayoutProvider","_ref","children","size","isDark","createElement","Provider","value","DESKTOP","theme","Dark"],"sources":["../../../src/testUtils/index.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from 'react';\nimport React from 'react';\n\nimport type { LayoutContextValue } from '../providers';\nimport { LayoutContext } from '../providers';\nimport { Size, Theme } from '../types';\n\nexport const MockLayoutProvider: FC<\n PropsWithChildren & Partial<LayoutContextValue>\n> = ({ children, size, isDark }) => (\n <LayoutContext.Provider\n value={{\n size: size ?? Size.DESKTOP,\n isDark: isDark ?? true,\n theme: Theme.Dark,\n }}\n >\n {children}\n </LayoutContext.Provider>\n);\n"],"mappings":"AACA,OAAOA,KAAK,MAAM,OAAO;AAGzB,SAASC,aAAa,QAAQ,cAAc;AAC5C,SAASC,IAAI,EAAEC,KAAK,QAAQ,UAAU;AAEtC,OAAO,MAAMC,kBAEZ,GAAGC,IAAA;EAAA,IAAC;IAAEC,QAAQ;IAAEC,IAAI;IAAEC;EAAO,CAAC,GAAAH,IAAA;EAAA,OAC7BL,KAAA,CAAAS,aAAA,CAACR,aAAa,CAACS,QAAQ;IACrBC,KAAK,EAAE;MACLJ,IAAI,EAAEA,IAAI,IAAIL,IAAI,CAACU,OAAO;MAC1BJ,MAAM,EAAEA,MAAM,IAAI,IAAI;MACtBK,KAAK,EAAEV,KAAK,CAACW;IACf;EAAE,GAEDR,QACqB,CAAC;AAAA,CAC1B","ignoreList":[]}
@@ -4,11 +4,11 @@ const formatTimezone = timestamp => {
4
4
  const timezoneOffset = date.getTimezoneOffset();
5
5
  const timezoneSymbol = timezoneOffset < 0 ? '+' : '';
6
6
  const timezoneValue = timezoneOffset / -60;
7
- return "(UTC".concat(timezoneSymbol).concat(timezoneOffset ? timezoneValue : '', ")");
7
+ return `(UTC${timezoneSymbol}${timezoneOffset ? timezoneValue : ''})`;
8
8
  };
9
9
  const formatUpdatedTimestampTime = timestamp => {
10
10
  const date = new Date(timestamp);
11
- return "".concat(addLeadingZero(date.getHours()), ":").concat(addLeadingZero(date.getMinutes()), ":").concat(addLeadingZero(date.getSeconds()));
11
+ return `${addLeadingZero(date.getHours())}:${addLeadingZero(date.getMinutes())}:${addLeadingZero(date.getSeconds())}`;
12
12
  };
13
13
  const formatUpdatedTimestampDate = (timestamp, dateLabel) => {
14
14
  const timestampDate = new Date(timestamp);
@@ -16,6 +16,6 @@ const formatUpdatedTimestampDate = (timestamp, dateLabel) => {
16
16
  dateStyle: 'short'
17
17
  });
18
18
  };
19
- const formatUpdatedTimestamp = (timestamp, dateLabel) => timestamp ? "".concat(formatUpdatedTimestampTime(timestamp), ", ").concat(formatUpdatedTimestampDate(timestamp, dateLabel), " ").concat(formatTimezone(timestamp), ".") : '';
19
+ const formatUpdatedTimestamp = (timestamp, dateLabel) => timestamp ? `${formatUpdatedTimestampTime(timestamp)}, ${formatUpdatedTimestampDate(timestamp, dateLabel)} ${formatTimezone(timestamp)}.` : '';
20
20
  export { formatUpdatedTimestamp, formatUpdatedTimestampDate, formatUpdatedTimestampTime };
21
21
  //# sourceMappingURL=dateUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dateUtils.js","names":["addLeadingZero","value","String","padStart","formatTimezone","timestamp","date","Date","timezoneOffset","getTimezoneOffset","timezoneSymbol","timezoneValue","concat","formatUpdatedTimestampTime","getHours","getMinutes","getSeconds","formatUpdatedTimestampDate","dateLabel","timestampDate","toDateString","toLocaleDateString","undefined","dateStyle","formatUpdatedTimestamp"],"sources":["../../../src/utils/dateUtils.ts"],"sourcesContent":["const addLeadingZero = (value: number) => String(value).padStart(2, '0');\n\nconst formatTimezone = (timestamp: string) => {\n const date = new Date(timestamp);\n const timezoneOffset = date.getTimezoneOffset();\n const timezoneSymbol = timezoneOffset < 0 ? '+' : '';\n const timezoneValue = timezoneOffset / -60;\n\n return `(UTC${timezoneSymbol}${timezoneOffset ? timezoneValue : ''})`;\n};\n\nconst formatUpdatedTimestampTime = (timestamp: string) => {\n const date = new Date(timestamp);\n\n return `${addLeadingZero(date.getHours())}:${addLeadingZero(\n date.getMinutes()\n )}:${addLeadingZero(date.getSeconds())}`;\n};\n\nconst formatUpdatedTimestampDate = (timestamp: string, dateLabel: string) => {\n const timestampDate = new Date(timestamp);\n\n return new Date().toDateString() === timestampDate.toDateString()\n ? dateLabel\n : timestampDate.toLocaleDateString(undefined, { dateStyle: 'short' });\n};\n\nconst formatUpdatedTimestamp = (timestamp: string, dateLabel: string) =>\n timestamp\n ? `${formatUpdatedTimestampTime(timestamp)}, ${formatUpdatedTimestampDate(timestamp, dateLabel)} ${formatTimezone(timestamp)}.`\n : '';\n\nexport {\n formatUpdatedTimestamp,\n formatUpdatedTimestampDate,\n formatUpdatedTimestampTime,\n};\n"],"mappings":"AAAA,MAAMA,cAAc,GAAIC,KAAa,IAAKC,MAAM,CAACD,KAAK,CAAC,CAACE,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AAExE,MAAMC,cAAc,GAAIC,SAAiB,IAAK;EAC5C,MAAMC,IAAI,GAAG,IAAIC,IAAI,CAACF,SAAS,CAAC;EAChC,MAAMG,cAAc,GAAGF,IAAI,CAACG,iBAAiB,CAAC,CAAC;EAC/C,MAAMC,cAAc,GAAGF,cAAc,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE;EACpD,MAAMG,aAAa,GAAGH,cAAc,GAAG,CAAC,EAAE;EAE1C,cAAAI,MAAA,CAAcF,cAAc,EAAAE,MAAA,CAAGJ,cAAc,GAAGG,aAAa,GAAG,EAAE;AACpE,CAAC;AAED,MAAME,0BAA0B,GAAIR,SAAiB,IAAK;EACxD,MAAMC,IAAI,GAAG,IAAIC,IAAI,CAACF,SAAS,CAAC;EAEhC,UAAAO,MAAA,CAAUZ,cAAc,CAACM,IAAI,CAACQ,QAAQ,CAAC,CAAC,CAAC,OAAAF,MAAA,CAAIZ,cAAc,CACzDM,IAAI,CAACS,UAAU,CAAC,CAClB,CAAC,OAAAH,MAAA,CAAIZ,cAAc,CAACM,IAAI,CAACU,UAAU,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,MAAMC,0BAA0B,GAAGA,CAACZ,SAAiB,EAAEa,SAAiB,KAAK;EAC3E,MAAMC,aAAa,GAAG,IAAIZ,IAAI,CAACF,SAAS,CAAC;EAEzC,OAAO,IAAIE,IAAI,CAAC,CAAC,CAACa,YAAY,CAAC,CAAC,KAAKD,aAAa,CAACC,YAAY,CAAC,CAAC,GAC7DF,SAAS,GACTC,aAAa,CAACE,kBAAkB,CAACC,SAAS,EAAE;IAAEC,SAAS,EAAE;EAAQ,CAAC,CAAC;AACzE,CAAC;AAED,MAAMC,sBAAsB,GAAGA,CAACnB,SAAiB,EAAEa,SAAiB,KAClEb,SAAS,MAAAO,MAAA,CACFC,0BAA0B,CAACR,SAAS,CAAC,QAAAO,MAAA,CAAKK,0BAA0B,CAACZ,SAAS,EAAEa,SAAS,CAAC,OAAAN,MAAA,CAAIR,cAAc,CAACC,SAAS,CAAC,SAC1H,EAAE;AAER,SACEmB,sBAAsB,EACtBP,0BAA0B,EAC1BJ,0BAA0B","ignoreList":[]}
1
+ {"version":3,"file":"dateUtils.js","names":["addLeadingZero","value","String","padStart","formatTimezone","timestamp","date","Date","timezoneOffset","getTimezoneOffset","timezoneSymbol","timezoneValue","formatUpdatedTimestampTime","getHours","getMinutes","getSeconds","formatUpdatedTimestampDate","dateLabel","timestampDate","toDateString","toLocaleDateString","undefined","dateStyle","formatUpdatedTimestamp"],"sources":["../../../src/utils/dateUtils.ts"],"sourcesContent":["const addLeadingZero = (value: number) => String(value).padStart(2, '0');\n\nconst formatTimezone = (timestamp: string) => {\n const date = new Date(timestamp);\n const timezoneOffset = date.getTimezoneOffset();\n const timezoneSymbol = timezoneOffset < 0 ? '+' : '';\n const timezoneValue = timezoneOffset / -60;\n\n return `(UTC${timezoneSymbol}${timezoneOffset ? timezoneValue : ''})`;\n};\n\nconst formatUpdatedTimestampTime = (timestamp: string) => {\n const date = new Date(timestamp);\n\n return `${addLeadingZero(date.getHours())}:${addLeadingZero(\n date.getMinutes()\n )}:${addLeadingZero(date.getSeconds())}`;\n};\n\nconst formatUpdatedTimestampDate = (timestamp: string, dateLabel: string) => {\n const timestampDate = new Date(timestamp);\n\n return new Date().toDateString() === timestampDate.toDateString()\n ? dateLabel\n : timestampDate.toLocaleDateString(undefined, { dateStyle: 'short' });\n};\n\nconst formatUpdatedTimestamp = (timestamp: string, dateLabel: string) =>\n timestamp\n ? `${formatUpdatedTimestampTime(timestamp)}, ${formatUpdatedTimestampDate(timestamp, dateLabel)} ${formatTimezone(timestamp)}.`\n : '';\n\nexport {\n formatUpdatedTimestamp,\n formatUpdatedTimestampDate,\n formatUpdatedTimestampTime,\n};\n"],"mappings":"AAAA,MAAMA,cAAc,GAAIC,KAAa,IAAKC,MAAM,CAACD,KAAK,CAAC,CAACE,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AAExE,MAAMC,cAAc,GAAIC,SAAiB,IAAK;EAC5C,MAAMC,IAAI,GAAG,IAAIC,IAAI,CAACF,SAAS,CAAC;EAChC,MAAMG,cAAc,GAAGF,IAAI,CAACG,iBAAiB,CAAC,CAAC;EAC/C,MAAMC,cAAc,GAAGF,cAAc,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE;EACpD,MAAMG,aAAa,GAAGH,cAAc,GAAG,CAAC,EAAE;EAE1C,OAAO,OAAOE,cAAc,GAAGF,cAAc,GAAGG,aAAa,GAAG,EAAE,GAAG;AACvE,CAAC;AAED,MAAMC,0BAA0B,GAAIP,SAAiB,IAAK;EACxD,MAAMC,IAAI,GAAG,IAAIC,IAAI,CAACF,SAAS,CAAC;EAEhC,OAAO,GAAGL,cAAc,CAACM,IAAI,CAACO,QAAQ,CAAC,CAAC,CAAC,IAAIb,cAAc,CACzDM,IAAI,CAACQ,UAAU,CAAC,CAClB,CAAC,IAAId,cAAc,CAACM,IAAI,CAACS,UAAU,CAAC,CAAC,CAAC,EAAE;AAC1C,CAAC;AAED,MAAMC,0BAA0B,GAAGA,CAACX,SAAiB,EAAEY,SAAiB,KAAK;EAC3E,MAAMC,aAAa,GAAG,IAAIX,IAAI,CAACF,SAAS,CAAC;EAEzC,OAAO,IAAIE,IAAI,CAAC,CAAC,CAACY,YAAY,CAAC,CAAC,KAAKD,aAAa,CAACC,YAAY,CAAC,CAAC,GAC7DF,SAAS,GACTC,aAAa,CAACE,kBAAkB,CAACC,SAAS,EAAE;IAAEC,SAAS,EAAE;EAAQ,CAAC,CAAC;AACzE,CAAC;AAED,MAAMC,sBAAsB,GAAGA,CAAClB,SAAiB,EAAEY,SAAiB,KAClEZ,SAAS,GACL,GAAGO,0BAA0B,CAACP,SAAS,CAAC,KAAKW,0BAA0B,CAACX,SAAS,EAAEY,SAAS,CAAC,IAAIb,cAAc,CAACC,SAAS,CAAC,GAAG,GAC7H,EAAE;AAER,SACEkB,sBAAsB,EACtBP,0BAA0B,EAC1BJ,0BAA0B","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  import { Locale } from '@oanda/mono-i18n';
2
2
  const validateLocale = locale => {
3
3
  const locales = ['en', 'zh', 'es', 'th', 'fr', 'de', 'pt', 'it', 'zhCN', 'vi', 'ja'];
4
- return locales.includes(locale === null || locale === void 0 ? void 0 : locale.substring(0, 2));
4
+ return locales.includes(locale?.substring(0, 2));
5
5
  };
6
6
  const getLocale = locale => {
7
7
  const languageCodeDictionary = {
@@ -1 +1 @@
1
- {"version":3,"file":"getLocale.js","names":["Locale","validateLocale","locale","locales","includes","substring","getLocale","languageCodeDictionary","en","zh","zhTW","es","th","fr","de","pt","it","zhCN","vi","ja"],"sources":["../../../src/utils/getLocale.ts"],"sourcesContent":["import { Locale } from '@oanda/mono-i18n';\n\nconst validateLocale = (locale?: string) => {\n const locales = [\n 'en',\n 'zh',\n 'es',\n 'th',\n 'fr',\n 'de',\n 'pt',\n 'it',\n 'zhCN',\n 'vi',\n 'ja',\n ];\n\n return locales.includes(locale?.substring(0, 2)!);\n};\n\nconst getLocale = (locale?: string) => {\n const languageCodeDictionary: Record<string, Locale> = {\n en: Locale.en,\n zh: Locale.zhTW,\n es: Locale.es,\n th: Locale.th,\n fr: Locale.fr,\n de: Locale.de,\n pt: Locale.pt,\n it: Locale.it,\n ['zh-CN']: Locale.zhCN,\n vi: Locale.vi,\n ja: Locale.ja,\n };\n\n return languageCodeDictionary[locale!] || languageCodeDictionary.en;\n};\n\nexport { getLocale, validateLocale };\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,kBAAkB;AAEzC,MAAMC,cAAc,GAAIC,MAAe,IAAK;EAC1C,MAAMC,OAAO,GAAG,CACd,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,IAAI,CACL;EAED,OAAOA,OAAO,CAACC,QAAQ,CAACF,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAE,CAAC;AACnD,CAAC;AAED,MAAMC,SAAS,GAAIJ,MAAe,IAAK;EACrC,MAAMK,sBAA8C,GAAG;IACrDC,EAAE,EAAER,MAAM,CAACQ,EAAE;IACbC,EAAE,EAAET,MAAM,CAACU,IAAI;IACfC,EAAE,EAAEX,MAAM,CAACW,EAAE;IACbC,EAAE,EAAEZ,MAAM,CAACY,EAAE;IACbC,EAAE,EAAEb,MAAM,CAACa,EAAE;IACbC,EAAE,EAAEd,MAAM,CAACc,EAAE;IACbC,EAAE,EAAEf,MAAM,CAACe,EAAE;IACbC,EAAE,EAAEhB,MAAM,CAACgB,EAAE;IACb,CAAC,OAAO,GAAGhB,MAAM,CAACiB,IAAI;IACtBC,EAAE,EAAElB,MAAM,CAACkB,EAAE;IACbC,EAAE,EAAEnB,MAAM,CAACmB;EACb,CAAC;EAED,OAAOZ,sBAAsB,CAACL,MAAM,CAAE,IAAIK,sBAAsB,CAACC,EAAE;AACrE,CAAC;AAED,SAASF,SAAS,EAAEL,cAAc","ignoreList":[]}
1
+ {"version":3,"file":"getLocale.js","names":["Locale","validateLocale","locale","locales","includes","substring","getLocale","languageCodeDictionary","en","zh","zhTW","es","th","fr","de","pt","it","zhCN","vi","ja"],"sources":["../../../src/utils/getLocale.ts"],"sourcesContent":["import { Locale } from '@oanda/mono-i18n';\n\nconst validateLocale = (locale?: string) => {\n const locales = [\n 'en',\n 'zh',\n 'es',\n 'th',\n 'fr',\n 'de',\n 'pt',\n 'it',\n 'zhCN',\n 'vi',\n 'ja',\n ];\n\n return locales.includes(locale?.substring(0, 2)!);\n};\n\nconst getLocale = (locale?: string) => {\n const languageCodeDictionary: Record<string, Locale> = {\n en: Locale.en,\n zh: Locale.zhTW,\n es: Locale.es,\n th: Locale.th,\n fr: Locale.fr,\n de: Locale.de,\n pt: Locale.pt,\n it: Locale.it,\n ['zh-CN']: Locale.zhCN,\n vi: Locale.vi,\n ja: Locale.ja,\n };\n\n return languageCodeDictionary[locale!] || languageCodeDictionary.en;\n};\n\nexport { getLocale, validateLocale };\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,kBAAkB;AAEzC,MAAMC,cAAc,GAAIC,MAAe,IAAK;EAC1C,MAAMC,OAAO,GAAG,CACd,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,IAAI,CACL;EAED,OAAOA,OAAO,CAACC,QAAQ,CAACF,MAAM,EAAEG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAE,CAAC;AACnD,CAAC;AAED,MAAMC,SAAS,GAAIJ,MAAe,IAAK;EACrC,MAAMK,sBAA8C,GAAG;IACrDC,EAAE,EAAER,MAAM,CAACQ,EAAE;IACbC,EAAE,EAAET,MAAM,CAACU,IAAI;IACfC,EAAE,EAAEX,MAAM,CAACW,EAAE;IACbC,EAAE,EAAEZ,MAAM,CAACY,EAAE;IACbC,EAAE,EAAEb,MAAM,CAACa,EAAE;IACbC,EAAE,EAAEd,MAAM,CAACc,EAAE;IACbC,EAAE,EAAEf,MAAM,CAACe,EAAE;IACbC,EAAE,EAAEhB,MAAM,CAACgB,EAAE;IACb,CAAC,OAAO,GAAGhB,MAAM,CAACiB,IAAI;IACtBC,EAAE,EAAElB,MAAM,CAACkB,EAAE;IACbC,EAAE,EAAEnB,MAAM,CAACmB;EACb,CAAC;EAED,OAAOZ,sBAAsB,CAACL,MAAM,CAAE,IAAIK,sBAAsB,CAACC,EAAE;AACrE,CAAC;AAED,SAASF,SAAS,EAAEL,cAAc","ignoreList":[]}
@@ -1,21 +1,19 @@
1
- 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; }
2
- 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; }
3
- 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; }
4
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
5
- 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); }
6
1
  export const buildUrl = (url, query, options) => {
7
2
  const [baseUrl, baseQueryString] = url.split('?');
8
3
  if (!query && !baseQueryString) {
9
4
  throw new Error('Instruments query is not provided!');
10
5
  }
11
- const queryParams = query && _objectSpread(_objectSpread({}, query), !query.division && options !== null && options !== void 0 && options.divisionCode ? {
12
- division: options.divisionCode,
13
- dataSource: options.dataSource || query.dataSource
14
- } : {});
6
+ const queryParams = query && {
7
+ ...query,
8
+ ...(!query.division && options?.divisionCode ? {
9
+ division: options.divisionCode,
10
+ dataSource: options.dataSource || query.dataSource
11
+ } : {})
12
+ };
15
13
  const queryString = queryParams ? Object.entries(queryParams).map(_ref => {
16
14
  let [key, value] = _ref;
17
- return Array.isArray(value) ? value && "".concat(key, "=").concat(value.join(',')) : value && "".concat(key, "=").concat(value);
15
+ return Array.isArray(value) ? value && `${key}=${value.join(',')}` : value && `${key}=${value}`;
18
16
  }).filter(Boolean).join('&') : baseQueryString;
19
- return "".concat(baseUrl, "?").concat(queryString);
17
+ return `${baseUrl}?${queryString}`;
20
18
  };
21
19
  //# sourceMappingURL=buildUrl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildUrl.js","names":["buildUrl","url","query","options","baseUrl","baseQueryString","split","Error","queryParams","_objectSpread","division","divisionCode","dataSource","queryString","Object","entries","map","_ref","key","value","Array","isArray","concat","join","filter","Boolean"],"sources":["../../../../src/utils/liveRates/buildUrl.ts"],"sourcesContent":["import type {\n LiveRatesProviderOptions,\n LiveRatesProviderQuery,\n} from '../../types';\n\nexport const buildUrl = (\n url: string,\n query?: LiveRatesProviderQuery,\n options?: LiveRatesProviderOptions\n): string => {\n const [baseUrl, baseQueryString] = url.split('?');\n\n if (!query && !baseQueryString) {\n throw new Error('Instruments query is not provided!');\n }\n\n const queryParams = query && {\n ...query,\n ...(!query.division && options?.divisionCode\n ? {\n division: options.divisionCode,\n dataSource: options.dataSource || query.dataSource,\n }\n : {}),\n };\n\n const queryString = queryParams\n ? Object.entries(queryParams)\n .map(([key, value]) =>\n Array.isArray(value)\n ? value && `${key}=${value.join(',')}`\n : value && `${key}=${value}`\n )\n .filter(Boolean)\n .join('&')\n : baseQueryString;\n\n return `${baseUrl}?${queryString}`;\n};\n"],"mappings":";;;;;AAKA,OAAO,MAAMA,QAAQ,GAAGA,CACtBC,GAAW,EACXC,KAA8B,EAC9BC,OAAkC,KACvB;EACX,MAAM,CAACC,OAAO,EAAEC,eAAe,CAAC,GAAGJ,GAAG,CAACK,KAAK,CAAC,GAAG,CAAC;EAEjD,IAAI,CAACJ,KAAK,IAAI,CAACG,eAAe,EAAE;IAC9B,MAAM,IAAIE,KAAK,CAAC,oCAAoC,CAAC;EACvD;EAEA,MAAMC,WAAW,GAAGN,KAAK,IAAAO,aAAA,CAAAA,aAAA,KACpBP,KAAK,GACJ,CAACA,KAAK,CAACQ,QAAQ,IAAIP,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEQ,YAAY,GACxC;IACED,QAAQ,EAAEP,OAAO,CAACQ,YAAY;IAC9BC,UAAU,EAAET,OAAO,CAACS,UAAU,IAAIV,KAAK,CAACU;EAC1C,CAAC,GACD,CAAC,CAAC,CACP;EAED,MAAMC,WAAW,GAAGL,WAAW,GAC3BM,MAAM,CAACC,OAAO,CAACP,WAAW,CAAC,CACxBQ,GAAG,CAACC,IAAA;IAAA,IAAC,CAACC,GAAG,EAAEC,KAAK,CAAC,GAAAF,IAAA;IAAA,OAChBG,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,GAChBA,KAAK,OAAAG,MAAA,CAAOJ,GAAG,OAAAI,MAAA,CAAIH,KAAK,CAACI,IAAI,CAAC,GAAG,CAAC,CAAE,GACpCJ,KAAK,OAAAG,MAAA,CAAOJ,GAAG,OAAAI,MAAA,CAAIH,KAAK,CAAE;EAAA,CAChC,CAAC,CACAK,MAAM,CAACC,OAAO,CAAC,CACfF,IAAI,CAAC,GAAG,CAAC,GACZlB,eAAe;EAEnB,UAAAiB,MAAA,CAAUlB,OAAO,OAAAkB,MAAA,CAAIT,WAAW;AAClC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"buildUrl.js","names":["buildUrl","url","query","options","baseUrl","baseQueryString","split","Error","queryParams","division","divisionCode","dataSource","queryString","Object","entries","map","_ref","key","value","Array","isArray","join","filter","Boolean"],"sources":["../../../../src/utils/liveRates/buildUrl.ts"],"sourcesContent":["import type {\n LiveRatesProviderOptions,\n LiveRatesProviderQuery,\n} from '../../types';\n\nexport const buildUrl = (\n url: string,\n query?: LiveRatesProviderQuery,\n options?: LiveRatesProviderOptions\n): string => {\n const [baseUrl, baseQueryString] = url.split('?');\n\n if (!query && !baseQueryString) {\n throw new Error('Instruments query is not provided!');\n }\n\n const queryParams = query && {\n ...query,\n ...(!query.division && options?.divisionCode\n ? {\n division: options.divisionCode,\n dataSource: options.dataSource || query.dataSource,\n }\n : {}),\n };\n\n const queryString = queryParams\n ? Object.entries(queryParams)\n .map(([key, value]) =>\n Array.isArray(value)\n ? value && `${key}=${value.join(',')}`\n : value && `${key}=${value}`\n )\n .filter(Boolean)\n .join('&')\n : baseQueryString;\n\n return `${baseUrl}?${queryString}`;\n};\n"],"mappings":"AAKA,OAAO,MAAMA,QAAQ,GAAGA,CACtBC,GAAW,EACXC,KAA8B,EAC9BC,OAAkC,KACvB;EACX,MAAM,CAACC,OAAO,EAAEC,eAAe,CAAC,GAAGJ,GAAG,CAACK,KAAK,CAAC,GAAG,CAAC;EAEjD,IAAI,CAACJ,KAAK,IAAI,CAACG,eAAe,EAAE;IAC9B,MAAM,IAAIE,KAAK,CAAC,oCAAoC,CAAC;EACvD;EAEA,MAAMC,WAAW,GAAGN,KAAK,IAAI;IAC3B,GAAGA,KAAK;IACR,IAAI,CAACA,KAAK,CAACO,QAAQ,IAAIN,OAAO,EAAEO,YAAY,GACxC;MACED,QAAQ,EAAEN,OAAO,CAACO,YAAY;MAC9BC,UAAU,EAAER,OAAO,CAACQ,UAAU,IAAIT,KAAK,CAACS;IAC1C,CAAC,GACD,CAAC,CAAC;EACR,CAAC;EAED,MAAMC,WAAW,GAAGJ,WAAW,GAC3BK,MAAM,CAACC,OAAO,CAACN,WAAW,CAAC,CACxBO,GAAG,CAACC,IAAA;IAAA,IAAC,CAACC,GAAG,EAAEC,KAAK,CAAC,GAAAF,IAAA;IAAA,OAChBG,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,GAChBA,KAAK,IAAI,GAAGD,GAAG,IAAIC,KAAK,CAACG,IAAI,CAAC,GAAG,CAAC,EAAE,GACpCH,KAAK,IAAI,GAAGD,GAAG,IAAIC,KAAK,EAAE;EAAA,CAChC,CAAC,CACAI,MAAM,CAACC,OAAO,CAAC,CACfF,IAAI,CAAC,GAAG,CAAC,GACZhB,eAAe;EAEnB,OAAO,GAAGD,OAAO,IAAIQ,WAAW,EAAE;AACpC,CAAC","ignoreList":[]}
@@ -9,7 +9,7 @@ export const calculatePriceChangeFromOpen = (currentAsk, currentBid, prevAsk, pr
9
9
  const previousAverage = (prevAsk + prevBid) / 2;
10
10
  const percentChange = Math.round((currentAverage - previousAverage) / previousAverage * 10000) / 100;
11
11
  return {
12
- percentChangeFromOpen: percentChange > 0 && "+".concat(percentChange.toFixed(2), "%") || percentChange < 0 && "".concat(percentChange.toFixed(2), "%") || noChange
12
+ percentChangeFromOpen: percentChange > 0 && `+${percentChange.toFixed(2)}%` || percentChange < 0 && `${percentChange.toFixed(2)}%` || noChange
13
13
  };
14
14
  };
15
15
  //# sourceMappingURL=calculatePriceChangeFromOpen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"calculatePriceChangeFromOpen.js","names":["calculatePriceChangeFromOpen","currentAsk","currentBid","prevAsk","prevBid","noChange","percentChangeFromOpen","currentAverage","previousAverage","percentChange","Math","round","concat","toFixed"],"sources":["../../../../src/utils/liveRates/calculatePriceChangeFromOpen.ts"],"sourcesContent":["import type { PriceChangeFromOpen } from '../../types';\n\nexport const calculatePriceChangeFromOpen = (\n currentAsk: number,\n currentBid: number,\n prevAsk?: number,\n prevBid?: number\n): PriceChangeFromOpen => {\n const noChange = '0%';\n\n if (!prevAsk || !prevBid) {\n return { percentChangeFromOpen: noChange };\n }\n\n const currentAverage = (currentAsk + currentBid) / 2;\n const previousAverage = (prevAsk + prevBid) / 2;\n const percentChange =\n Math.round(((currentAverage - previousAverage) / previousAverage) * 10000) /\n 100;\n\n return {\n percentChangeFromOpen:\n (percentChange > 0 && `+${percentChange.toFixed(2)}%`) ||\n (percentChange < 0 && `${percentChange.toFixed(2)}%`) ||\n noChange,\n };\n};\n"],"mappings":"AAEA,OAAO,MAAMA,4BAA4B,GAAGA,CAC1CC,UAAkB,EAClBC,UAAkB,EAClBC,OAAgB,EAChBC,OAAgB,KACQ;EACxB,MAAMC,QAAQ,GAAG,IAAI;EAErB,IAAI,CAACF,OAAO,IAAI,CAACC,OAAO,EAAE;IACxB,OAAO;MAAEE,qBAAqB,EAAED;IAAS,CAAC;EAC5C;EAEA,MAAME,cAAc,GAAG,CAACN,UAAU,GAAGC,UAAU,IAAI,CAAC;EACpD,MAAMM,eAAe,GAAG,CAACL,OAAO,GAAGC,OAAO,IAAI,CAAC;EAC/C,MAAMK,aAAa,GACjBC,IAAI,CAACC,KAAK,CAAE,CAACJ,cAAc,GAAGC,eAAe,IAAIA,eAAe,GAAI,KAAK,CAAC,GAC1E,GAAG;EAEL,OAAO;IACLF,qBAAqB,EAClBG,aAAa,GAAG,CAAC,QAAAG,MAAA,CAAQH,aAAa,CAACI,OAAO,CAAC,CAAC,CAAC,MAAG,IACpDJ,aAAa,GAAG,CAAC,OAAAG,MAAA,CAAOH,aAAa,CAACI,OAAO,CAAC,CAAC,CAAC,MAAI,IACrDR;EACJ,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"calculatePriceChangeFromOpen.js","names":["calculatePriceChangeFromOpen","currentAsk","currentBid","prevAsk","prevBid","noChange","percentChangeFromOpen","currentAverage","previousAverage","percentChange","Math","round","toFixed"],"sources":["../../../../src/utils/liveRates/calculatePriceChangeFromOpen.ts"],"sourcesContent":["import type { PriceChangeFromOpen } from '../../types';\n\nexport const calculatePriceChangeFromOpen = (\n currentAsk: number,\n currentBid: number,\n prevAsk?: number,\n prevBid?: number\n): PriceChangeFromOpen => {\n const noChange = '0%';\n\n if (!prevAsk || !prevBid) {\n return { percentChangeFromOpen: noChange };\n }\n\n const currentAverage = (currentAsk + currentBid) / 2;\n const previousAverage = (prevAsk + prevBid) / 2;\n const percentChange =\n Math.round(((currentAverage - previousAverage) / previousAverage) * 10000) /\n 100;\n\n return {\n percentChangeFromOpen:\n (percentChange > 0 && `+${percentChange.toFixed(2)}%`) ||\n (percentChange < 0 && `${percentChange.toFixed(2)}%`) ||\n noChange,\n };\n};\n"],"mappings":"AAEA,OAAO,MAAMA,4BAA4B,GAAGA,CAC1CC,UAAkB,EAClBC,UAAkB,EAClBC,OAAgB,EAChBC,OAAgB,KACQ;EACxB,MAAMC,QAAQ,GAAG,IAAI;EAErB,IAAI,CAACF,OAAO,IAAI,CAACC,OAAO,EAAE;IACxB,OAAO;MAAEE,qBAAqB,EAAED;IAAS,CAAC;EAC5C;EAEA,MAAME,cAAc,GAAG,CAACN,UAAU,GAAGC,UAAU,IAAI,CAAC;EACpD,MAAMM,eAAe,GAAG,CAACL,OAAO,GAAGC,OAAO,IAAI,CAAC;EAC/C,MAAMK,aAAa,GACjBC,IAAI,CAACC,KAAK,CAAE,CAACJ,cAAc,GAAGC,eAAe,IAAIA,eAAe,GAAI,KAAK,CAAC,GAC1E,GAAG;EAEL,OAAO;IACLF,qBAAqB,EAClBG,aAAa,GAAG,CAAC,IAAI,IAAIA,aAAa,CAACG,OAAO,CAAC,CAAC,CAAC,GAAG,IACpDH,aAAa,GAAG,CAAC,IAAI,GAAGA,aAAa,CAACG,OAAO,CAAC,CAAC,CAAC,GAAI,IACrDP;EACJ,CAAC;AACH,CAAC","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oanda/labs-widget-common",
3
- "version": "1.0.244",
3
+ "version": "1.0.246",
4
4
  "description": "Labs Widget Common",
5
5
  "main": "dist/main/index.js",
6
6
  "module": "dist/module/index.js",
@@ -21,5 +21,5 @@
21
21
  "tailwind-merge": "2.2.2",
22
22
  "usehooks-ts": "3.0.2"
23
23
  },
24
- "gitHead": "ae3293f8fa274180539dc023bbfe668bf068d2c6"
24
+ "gitHead": "aa52e335e64ab47f211df9687ad664d114dd018d"
25
25
  }